Provides support for universally unique identifiers that confirm to the ULID spec.
You can generate ULIDs as String or u128. You can convert ULIDs between String and u128.
``` use oysterpackuid::{ ulid, ulidu128, ulidu128intostring, ulidstrintou128 };
// generates a new ULID as a string let idstr = ulid(); // generates a new ULID as u128 let idu128 = ulid_u128();
// conversions between string and u128 ULIDs let ulidstr = ulidu128intostring(idu128); asserteq!(ulidstrintou128(&ulidstr).unwrap(), id_u128); ```
You can define type safe ULID based unique identifiers (Uid):
rust
use oysterpack_uid::Uid;
struct User;
type UserId = Uid<User>;
let id = UserId::new();
rust
use oysterpack_uid::Uid;
trait Foo{}
TypedULID
TypedULID
type FooId = Uid<dyn Foo + Send + Sync>;
let id = FooId::new();
By default, Uiddefault-features = false
.