Skip to main content

basic/
basic.rs

1//! Minimal example: generate one of each ID type.
2//!
3//! Run with: `cargo run --example basic`
4
5use id_forge::{nanoid, snowflake::Snowflake, ulid::Ulid, uuid::Uuid};
6
7fn main() {
8    let v4 = Uuid::v4();
9    println!("UUID v4:    {v4} (version={})", v4.version());
10    println!("UUID v7:    {}", Uuid::v7());
11    println!("UUID nil:   {}", Uuid::nil());
12    println!("ULID:       {}", Ulid::new());
13
14    let gen = Snowflake::new(1);
15    println!("Snowflake:  {}", gen.next_id());
16
17    println!("NanoID 21:  {}", nanoid::generate());
18    println!("NanoID 8:   {}", nanoid::with_length(8));
19
20    let round_tripped = Uuid::parse_str(&v4.to_string()).unwrap();
21    assert_eq!(v4, round_tripped);
22}