Strongly typed IDs which optionally satisfy the TypeID specification.
A StrongId is any type which implements StrongId<T: Id>.
The Id trait is implemented for u8, u16, u32, u64, u128, usize and when the "uuid" feature is enabled,
Uuid.
Examples
Dynamic StrongIds
ID with a prefix
use ;
let user_id = new.unwrap;
println!; // user_0343
let user_id = "user_0343"..unwrap;
println!;
// DynamicStrongId {
// prefix: Some(
// Prefix {
// inner: "user",
// ,
// ),
// suffix: 3203,
// }
ID without a prefix
use ;
let id = new_plain;
println!; // 0343
let id = "0343"..unwrap;
println!;
// DynamicStrongId {
// prefix: None,
// suffix: 3203,
// }
TypeId with a prefix
use ;
use Uuid;
let user_id = now_v7.unwrap;
println!; // user_01h536gfwffx2rm6pa0xg63337
let user_id = "user_01h536gfwffx2rm6pa0xg63337"
.
.unwrap;
println!;
// DynamicStrongId {
// prefix: Some(
// Prefix {
// inner: "user",
// },
// ),
// suffix: 01894668-3f8f-7f45-8a1a-ca0760618c67,
// }
TypeId without a prefix
use ;
use Uuid;
let id = now_v7_plain;
println!; // 01h536gfwffx2rm6pa0xg63337
let id = "01h536gfwffx2rm6pa0xg63337"
.
.unwrap;
println!;
// DynamicStrongId {
// prefix: None,
// suffix: 01894668-3f8f-7f45-8a1a-ca0760618c67,
// }
Generated StrongIds
ID with a prefix
use strong_id;
strong_id!;
let user_id = from;
println!; // user_0343
let user_id = "user_0343"..unwrap;
println!;
// UserId {
// suffix: 3203,
// }
ID without a prefix
use strong_id;
strong_id!;
let id = from;
println!; // user_0343
let id = "0343"..unwrap;
println!;
// Id {
// suffix: 3203,
// }
Generated TypeId with a prefix
use ;
strong_uuid!;
let user_id = now_v7;
println!; // user_01h536z8abez196j2nzz06y8c8
let user_id = "user_01h536z8abez196j2nzz06y8c8"..unwrap;
println!;
// UserId {
// suffix: 0189466f-a14b-77c2-9348-55ffc06f2188,
// }
Generated TypeId without a prefix
use ;
strong_uuid!