[dependencies.anyhow]
default-features = false
optional = true
version = "1"
[dependencies.chrono]
default-features = false
optional = true
version = "0.4"
[dependencies.getrandom]
default-features = false
optional = true
version = "0.3"
[dependencies.num]
default-features = false
version = "0.4"
[dependencies.num-traits]
default-features = false
version = "0.2"
[dependencies.paste]
version = "1"
[dependencies.rand]
default-features = false
optional = true
version = "0.9"
[dependencies.rand_distr]
default-features = false
optional = true
version = "0.5"
[dependencies.serde]
default-features = false
features = ["derive"]
optional = true
version = "1"
[dependencies.serde_derive]
optional = true
version = "1"
[dependencies.serde_json]
default-features = false
optional = true
version = "1"
[dependencies.smart-default]
version = "0.7"
[dependencies.strum]
default-features = false
features = ["derive"]
version = "0.27"
[dependencies.thiserror]
default-features = false
version = "2"
[dependencies.time]
default-features = false
optional = true
version = "0.3"
[dependencies.tracing]
default-features = false
features = ["attributes"]
optional = true
version = "0.1"
[dependencies.uuid]
default-features = false
optional = true
version = "1"
[dependencies.wasm-bindgen]
default-features = false
optional = true
version = "0.2"
[dev-dependencies.anyhow]
default-features = false
version = "1"
[dev-dependencies.approx]
version = "0.5"
[features]
alloc = ["chrono?/alloc", "num/alloc", "serde?/alloc", "serde_json?/alloc", "time?/alloc"]
anyhow = ["dep:anyhow"]
chrono = ["dep:chrono", "chrono?/clock", "time"]
default = ["std"]
full = ["default", "anyhow", "chrono", "json", "rand", "serde", "time", "tracing"]
json = ["dep:serde_json", "alloc", "serde"]
rand = ["dep:rand", "dep:rand_distr", "num/rand", "rng"]
rng = ["dep:getrandom", "rand?/small_rng", "rand?/thread_rng", "uuid?/rng", "uuid?/v4"]
serde = ["dep:serde", "dep:serde_derive", "chrono?/serde", "num/serde", "rand?/serde", "uuid?/serde", "time?/serde"]
std = ["alloc", "anyhow?/std", "num/std", "num-traits/std", "rand?/std", "rand?/std_rng", "serde?/std", "strum/std", "thiserror/std", "time?/std", "tracing?/std", "uuid?/std"]
time = ["dep:time"]
tracing = ["dep:tracing"]
uuid = ["dep:uuid", "uuid?/v3"]
wasi = []
wasm = ["getrandom?/wasm_js", "uuid?/js", "wasm-bindgen"]
wasm-bindgen = ["dep:wasm-bindgen", "chrono?/wasmbind", "time?/wasm-bindgen"]
[lib]
bench = false
crate-type = ["cdylib", "rlib", "staticlib"]
doc = true
doctest = true
name = "scsys_core"
path = "src/lib.rs"
test = true
[package]
authors = ["FL03 <jo3mccain@icloud.com> (https://github.com/FL03)", "Scattered-Systems <support@scsys.io> (https://github.com/scattered-systems)"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = []
description = "scsys is a collection of primitives and utilities for use throughout the ecosystem."
edition = "2024"
homepage = "https://github.com/scattered-systems/scsys/wiki"
keywords = ["primitives", "scsys", "toolkit", "utilities"]
license = "Apache-2.0"
name = "scsys-core"
readme = "README.md"
repository = "https://github.com/scattered-systems/scsys.git"
rust-version = "1.85.0"
version = "0.2.6"
[package.metadata.docs.rs]
all-features = false
features = ["full"]
rustc-args = ["--cfg", "docsrs"]
version = "v{{version}}"
[package.metadata.release]
no-dev-version = true
tag-name = "{{version}}"
[[test]]
name = "default"
path = "tests/default.rs"
[[test]]
name = "macros"
path = "tests/macros.rs"
[[test]]
name = "state"
path = "tests/state.rs"
required-features = ["std"]
[[test]]
name = "time"
path = "tests/time.rs"
required-features = ["std", "time"]