[package]
name = "substrate-data"
version = { workspace = true }
edition = { workspace = true }
rust-version = { workspace = true }
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
readme = "README.md"
documentation = "https://docs.rs/substrate-data"
description = "One data model, text syntax, binary form, packed frames and schema system — for any program's files, saves and wire messages."
keywords = ["serialization", "schema", "binary", "json5", "format"]
categories = ["encoding", "parser-implementations"]
[dependencies]
substrate-data-derive = { workspace = true }
base64 = { workspace = true }
memchr = { workspace = true, features = ["std"] }
zmij = { workspace = true }
bumpalo = { workspace = true }
toml = { workspace = true, features = ["std", "parse", "preserve_order"], optional = true }
serde_spanned = { workspace = true, optional = true }
simdutf8 = { workspace = true, features = ["std"], optional = true }
serde_json = { workspace = true, optional = true }
tokio = { workspace = true, features = ["io-util"], optional = true }
[features]
tokio = ["dep:tokio"]
toml = ["dep:toml", "dep:serde_spanned"]
json = ["dep:serde_json"]
simd-utf8 = ["dep:simdutf8"]
[dev-dependencies]
criterion = { workspace = true, features = ["cargo_bench_support"] }
serde_json = { workspace = true }
serde = { workspace = true }
serde_bytes = { workspace = true }
ciborium = { workspace = true }
rmp-serde = { workspace = true }
postcard = { workspace = true }
bincode = { workspace = true }
simdutf8 = { workspace = true, features = ["std"] }
tokio = { workspace = true, features = ["rt", "macros", "io-util", "time"] }
iai-callgrind = { workspace = true }
[[bench]]
name = "data"
harness = false
[[bench]]
name = "messages"
harness = false
[[bench]]
name = "lanes"
harness = false
[[bench]]
name = "text"
harness = false
[[bench]]
name = "binary"
harness = false
[[bench]]
name = "frame"
harness = false
[[bench]]
name = "io"
harness = false
[[bench]]
name = "io_async"
harness = false
required-features = ["tokio"]
[[bench]]
name = "schema"
harness = false
[[bench]]
name = "stream_decode"
harness = false
[[bench]]
name = "model"
harness = false
[[bench]]
name = "names"
harness = false
[[bench]]
name = "reader"
harness = false
[[bench]]
name = "scan"
harness = false
[[bench]]
name = "compare"
harness = false
[[bench]]
name = "iai"
harness = false
[lints]
workspace = true