cuid/
lib.rs

1//! # cuid-rust
2//!
3//! CUID generation in rust
4//!
5//! ```rust
6//! use cuid;
7//!
8//! // Get a v1 CUID
9//! println!("{}", cuid::cuid1().unwrap());
10//!
11//! // Get a v2 CUID
12//! println!("{}", cuid::cuid2());
13//! ```
14//!
15//! Note that this crate also provides a very simple, single purpose
16//! commandline interface:
17//!
18//! ```sh
19//! $> cuid
20//! ckfritrvg0000kdtwc766fful
21//! ```
22//!
23//! You can generate v2 CUIDs via the commandline like so:
24//!
25//! ```sh
26//! $> cuid --v2
27//! ```
28//!
29//! See the [original v1 implementation] and [original v2 implementation] for
30//! more details on CUIDs in general.
31//!
32//! [original v1 implementation]: https://github.com/ericelliott/cuid
33//! [original v2 implementation]: https://github.com/paralleldrive/cuid2
34//!
35
36mod cuid1;
37mod error;
38mod text;
39mod time;
40
41#[allow(deprecated)]
42pub use cuid1::{cuid, cuid1, cuid1_slug, is_cuid, is_cuid1, is_cuid1_slug, is_slug, slug};
43#[doc(hidden)]
44pub use cuid1::{one_off_cuid1, one_off_cuid1_slug};
45
46pub use cuid2::{
47    cuid as cuid2, is_cuid2, is_slug as is_cuid2_slug, slug as cuid2_slug,
48    CuidConstructor as Cuid2Constructor,
49};
50pub use error::CuidError;
51
52const BASE: u8 = 36;