3 unstable releases
0.2.0 | May 22, 2023 |
---|---|
0.1.1 | May 20, 2023 |
0.1.0 | May 20, 2023 |
#207 in Parser tooling
273 downloads per month
17KB
274 lines
rusty-snowflake
This library is a Snowflake ID generator and parser written entirely in Rust.
Features
- Generate unique snowflake IDs based on timestamp, worker ID, and sequence number.
- Parse snowflake IDs to retrieve timestamp, worker ID, and sequence number.
Installation
Add the following dependency to your Cargo.toml
file:
[dependencies]
rusty-snowflake = "0.2.0"
Or run the following in your project directory
cargo add rusty-snowflake
Usage
use rusty_snowflake::SnowflakeGenerator;
fn main() {
// Create a new snowflake generator with custom worker ID of 123
let mut generator = SnowflakeGenerator::new(123);
// Generate a new snowflake ID
let snowflake = generator.next();
println!("Generated snowflake id: {}", snowflake);
// Parse the snowflake ID
let parsed_snowflake = Snowflake::parse(snowflake.to_id());
println!("Parsed snowflake: {:?}", parsed_snowflake);
}
Contributions
Contributions and feedback are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.
License
This project is licensed under the MIT License.