[[bench]]
harness = false
name = "bench"
path = "benches/bench.rs"
[dependencies.crossbeam-utils]
default-features = false
optional = true
version = "0.8"
[dependencies.futures]
default-features = false
optional = true
version = "0.3"
[dependencies.parking_lot]
default-features = false
optional = true
version = "0.12"
[dependencies.portable-atomic]
default-features = false
version = "1.13"
[dependencies.rand]
default-features = false
features = ["thread_rng"]
optional = true
version = "0.9"
[dependencies.serde]
default-features = false
features = ["derive"]
optional = true
version = "1.0"
[dependencies.smol]
default-features = false
optional = true
version = "2.0"
[dependencies.tokio]
default-features = false
features = ["time"]
optional = true
version = "1.48"
[dependencies.tracing]
default-features = false
features = ["attributes"]
optional = true
version = "0.1"
[dev-dependencies.criterion]
default-features = false
features = ["async_tokio", "async_smol"]
version = "0.7"
[dev-dependencies.futures]
default-features = false
features = ["alloc"]
version = "0.3"
[dev-dependencies.serde_json]
default-features = false
version = "1.0"
[dev-dependencies.tokio]
default-features = false
features = ["rt-multi-thread", "macros", "sync"]
version = "1.48"
[features]
all = ["std", "alloc", "snowflake", "ulid", "thread-local", "basic", "lock", "atomic", "base32", "async-tokio", "async-smol", "serde"]
alloc = []
async-smol = ["std", "alloc", "futures", "dep:smol"]
async-tokio = ["std", "alloc", "futures", "dep:tokio"]
atomic = []
base32 = []
basic = []
cache-padded = ["dep:crossbeam-utils"]
default = []
futures = ["dep:futures"]
lock = ["std", "alloc"]
parking-lot = ["std", "alloc", "dep:parking_lot"]
serde = ["dep:serde"]
snowflake = []
std = ["dep:rand"]
thread-local = ["std", "alloc", "ulid", "basic"]
tracing = ["dep:tracing"]
ulid = []
[lib]
crate-type = ["rlib"]
name = "ferroid"
path = "src/lib.rs"
[package]
authors = ["Nick Angelou <angelou.nick@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["data-structures", "encoding", "asynchronous", "no-std", "development-tools"]
description = "High-performance ULID and Snowflake-style IDs. Unique, monotonic, and lexicographically sortable IDs optimized for low-latency services and async workloads."
documentation = "https://docs.rs/ferroid"
edition = "2024"
keywords = ["no_std", "id", "snowflake", "ulid", "monotonic"]
license = "MIT OR Apache-2.0"
name = "ferroid"
readme = "README.md"
repository = "https://github.com/s0l0ist/ferroid/blob/main/crates/ferroid"
rust-version = "1.85.1"
version = "1.0.0"
[package.metadata.docs.rs]
features = ["all"]
no-default-features = true
[target.wasm32-unknown-unknown.dependencies.web-time]
default-features = false
version = "1.1"