use entid::{Prefix, UlidEntityId, UuidEntityId};
struct User;
impl Prefix for User {
fn prefix() -> &'static str {
"user"
}
}
struct Post;
impl Prefix for Post {
fn prefix() -> &'static str {
"post"
}
fn delimiter() -> &'static str {
"-"
}
}
fn main() {
let user_id = UuidEntityId::<User>::generate();
println!("UUID-based User ID: {}", user_id);
let post_id = UlidEntityId::<Post>::generate();
println!("ULID-based Post ID: {}", post_id);
let user_id_str = user_id.as_str();
let parsed_user_id = UuidEntityId::<User>::new(user_id_str).unwrap();
println!("Parsed User ID: {}", parsed_user_id);
if let Some(timestamp_ms) = post_id.timestamp_ms() {
println!("Post ID created at: {} ms since epoch", timestamp_ms);
}
}