| Crates.io | scru128 |
| lib.rs | scru128 |
| version | 3.1.0 |
| created_at | 2021-10-09 02:33:02.527002+00 |
| updated_at | 2024-09-07 10:34:02.124104+00 |
| description | SCRU128: Sortable, Clock and Random number-based Unique identifier |
| homepage | |
| repository | https://github.com/scru128/rust |
| max_upload_size | |
| id | 462621 |
| size | 74,952 |
SCRU128 ID is yet another attempt to supersede UUID for the users who need decentralized, globally unique time-ordered identifiers. SCRU128 is inspired by ULID and KSUID and has the following features:
// generate a new identifier object
let x = scru128::new();
println!("{}", x); // e.g., "036z951mhjikzik2gsl81gr7l"
println!("{}", x.to_u128()); // as a 128-bit unsigned integer
// generate a textual representation directly
println!("{}", scru128::new_string()); // e.g., "036z951mhzx67t63mq9xe6q0j"
See SCRU128 Specification for details.
Default features:
std configures Scru128Generator with the system clock. Without std, this
crate provides basic SCRU128 primitives available under no_std environments.rand enables an adapter for rand::RngCore to use rand and any other
conforming random number generators with Scru128Generator.default_rng (implies std) provides the default random number generator for
Scru128Generator and enables the Scru128Generator::new() constructor.global_gen (implies default_rng) provides the process-wide default SCRU128
generator and enables the new() and new_string() functions.Optional features:
serde enables serialization/deserialization of Scru128Id via serde.Licensed under the Apache License, Version 2.0.