paramdef 0.2.0

Type-safe parameter definition system
Documentation
[package]

name = "paramdef"

version = "0.2.0"

edition = "2024"

rust-version = "1.85"

license = "MIT OR Apache-2.0"

description = "Type-safe parameter definition system"

repository = "https://github.com/vanyastaff/paramdef"

documentation = "https://vanyastaff.github.io/paramdef"

keywords = ["parameters", "schema", "forms", "validation", "ui"]

categories = ["data-structures", "gui", "config"]

readme = "README.md"



[package.metadata.docs.rs]

all-features = true

rustdoc-args = ["--cfg", "docsrs"]



[lints.rust]

unexpected_cfgs = { level = "warn", check-cfg = ['cfg(codspeed)'] }



[features]

default = []

visibility = []

validation = ["dep:regex"]

serde = ["dep:serde", "dep:serde_json", "dep:base64", "smartstring/serde", "indexmap/serde"]

events = ["dep:tokio"]

i18n = ["dep:fluent"]

chrono = ["dep:chrono"]

full = ["visibility", "validation", "serde", "events", "i18n", "chrono"]



[dependencies]

smartstring = "1.0.1"

smallvec = "1.13"

thiserror = "2.0"

bitflags = "2.10"

rustc-hash = "2.1"

indexmap = "2.7"



serde = { version = "1.0", optional = true, features = ["derive"] }

serde_json = { version = "1.0", optional = true }

base64 = { version = "0.22", optional = true }

tokio = { version = "1.43", optional = true, features = ["sync"] }

fluent = { version = "0.17", optional = true }

chrono = { version = "0.4", optional = true, default-features = false, features = ["std"] }

regex = { version = "1.11", optional = true }



[dev-dependencies]

tokio = { version = "1.43", features = ["rt-multi-thread", "macros"] }

criterion = { version = "0.7", features = ["html_reports"] }

codspeed-criterion-compat = "2.8"



[[bench]]

name = "parameters"

harness = false



[[bench]]

name = "value"

harness = false



[[bench]]

name = "schema_context"

harness = false



[[bench]]

name = "runtime"

harness = false



[[bench]]

name = "core_types"

harness = false



[[bench]]

name = "containers"

harness = false