Expand description
yeast-rs is a rust implementation for the yeast
JS package.
yeast is a tiny but linear growing unique id generator.
§Usage
let id :String = yeast().to_string();
§Example
Using the function:
let first_id :Yeast = yeast();
let second_id :Yeast = yeast();
sleep(Duration::from_millis(1));
let third_id :Yeast = yeast();
// Based on the same timestamp but different values
assert_ne!(first_id.to_string(), second_id.to_string());
assert_eq!(first_id.timestamp_millis(), second_id.timestamp_millis());
// Different Timestamps
assert_ne!(first_id.timestamp_millis(), third_id.timestamp_millis());
// Can be converted back
let third_id_converted: Yeast = third_id.to_string().try_into().unwrap();
assert_eq!(third_id_converted.timestamp_millis(), third_id.timestamp_millis());
§Cargo features
This crate provides these cargo features:
async-std-runtime
: include an async version of yeast built on the async-std runtime.tokio-runtime
: include an async version of yeast built on the tokio runtime.
Modules§
Structs§
- Yeast
- A unique id, based on timestamp.
Functions§
- yeast
- Returns a A unique id.