[package]
name = "schema_analysis"
version = "0.6.0"
authors = ["QuartzLibrary"]
license = "MIT OR Apache-2.0"
edition = "2024"
description = "Analyze the schema of any self describing format"
homepage = "https://schema-analysis.com/"
repository = "https://github.com/QuartzLibrary/schema_analysis"
keywords = [ "schema", "analysis", "json", "xml", "serde" ]
readme = "README.md"
[[bin]]
name = "schema_analysis"
path = "src/main.rs"
required-features = ["cli"]
[features]
cli = [
"json_typegen",
"schemars_integration",
"dep:clap",
"dep:anyhow",
"dep:serde_json",
"dep:serde_yaml",
"dep:serde_cbor",
"dep:toml",
"dep:bson",
"dep:quick-xml",
]
json_typegen = ["dep:json_typegen_shared"]
schemars_integration = ["dep:schemars", "dep:serde_json"]
[dependencies]
serde = { version = "1.0", features = [ "serde_derive" ] }
regex = "1.5"
once_cell = "1.8"
ordered-float = { version = "3.4", features = [ "serde" ] }
ordermap = { version = "0.5", features = [ "serde" ] }
downcast-rs = "1.2"
dyn-clonable = "0.9"
schemars = { version = "0.8", optional = true }
serde_json = { version = "1.0", optional = true }
json_typegen_shared = { version = "0.7", optional = true, default-features = false }
clap = { version = "4", features = ["derive"], optional = true }
anyhow = { version = "1", optional = true }
serde_yaml = { version = "0.9", optional = true }
serde_cbor = { version = "0.11", optional = true }
toml = { version = "0.5", optional = true }
bson = { version = "2.0", optional = true }
quick-xml = { version = "0.26", features = ["serialize"], optional = true }
[dev-dependencies]
maplit = "1.0"
linked-hash-map = "0.5"
serde_json = "1.0"
serde_yaml = "0.9"
serde_cbor = "0.11"
toml = "0.5"
bson = "2.0"
quick-xml = {version = "0.26", features = ["serialize"]}
version-sync = "0.9"
assert_cmd = "2"
predicates = "3"
[package.metadata.docs.rs]
all-features = true