[package]
name = "dms-rs"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "DMS data-syntax parser (Rust reference implementation)"
readme = "README.md"
keywords = ["dms", "config", "parser"]
categories = ["parser-implementations", "config"]

[lib]
name = "dms"
path = "src/lib.rs"

[dependencies]
indexmap.workspace = true
ryu = "1"
unicode-normalization = "0.1"
foldhash = { version = "0.2", optional = true }

[dev-dependencies]
criterion = "0.5"

[[bench]]
name = "tier1_decode"
harness = false

[[bench]]
name = "tier1_encode"
harness = false

[[bench]]
name = "tier1_pipeline"
harness = false

[features]
# Swaps the IndexMap hasher used for `Value::Table` and the front-matter
# meta table from std siphash to foldhash. Mirrors toml-rs's `fast_hash`
# feature. Off by default — turning it on changes the public type of
# `Value::Table` (different hasher generic), so it's a feature
# downstream callers opt into deliberately.
fast_hash = ["dep:foldhash"]
