[package] name = "shortguid" version = "0.7.0" edition = "2021" license = "EUPL-1.2" description = "Short URL-safe Base64 encoded UUIDs" repository = "https://github.com/nyris/shortguid-rs" authors = ["Markus Mayer "] keywords = ["guid", "uuid", "unique"] categories = ["data-structures"] readme = "README.md" rust-version = "1.67.1" [features] default = ["fast-rng"] arbitrary = ["uuid/arbitrary", "arbitrary/derive"] # Add support for arbitrary types random = ["uuid/v4"] # Create random ShortGuid IDs fast-rng = ["random", "uuid/fast-rng"] # Use a faster (but still sufficiently random) RNG serde = ["dep:serde", "uuid/serde"] # Serialization and deserialization support # zerocopy = ["dep:zerocopy", "uuid/zerocopy"] # Zerocopy support bytemuck = ["dep:bytemuck", "uuid/bytemuck"] # Bytemuck support borsh = ["dep:borsh", "dep:borsh-derive", "uuid/borsh"] # Borsh support [[example]] name = "shortguid" path = "examples/shortguid.rs" [[test]] name = "serde" path = "tests/serde.rs" required-features = ["serde"] [dependencies] arbitrary = { version = "1.3.2", optional = true } base64 = "0.22.1" borsh = { version = "1.5.0", optional = true, features = ["derive"] } borsh-derive = { version = "1.5.0", optional = true } bytemuck = { version = "1.15.0", optional = true, features = ["derive"] } serde = { version = "1.0.200", optional = true } uuid = "1.8.0" zerocopy = { version = "0.7.33", optional = true, features = ["derive"] } [dev-dependencies] hex = "0.4.3" clap = "4.5.4" serde_test = "1.0.176" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]