[package] name = "schema_analysis" version = "0.5.0" authors = ["QuartzLibrary"] license = "MIT OR Apache-2.0" edition = "2018" 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" [features] json_typegen = [ "json_typegen_shared" ] schemars_integration = [ "schemars", "serde_json" ] [dependencies] # Serde is the heart of this libary, it provides the common interfaces that # allows a single Visitor implementation to infer the shape of any format # with a self-describing schema. serde = { version = "1.0", features = [ "serde_derive" ] } regex = "1.5" # Used to detect interesting strings once_cell = "1.8" # For global constants that require allocation ordered-float = { version = "3.4", features = [ "serde" ] } # To save sets of floats # These are used to allow the users of the library to run # custom analysis on the nodes. Check src/context/aggregators.rs # and src/traits.rs for more info. downcast-rs = "1.2" dyn-clonable = "0.9" # Schemars integration allows the generation of json schemas. schemars = { version = "0.8", optional = true } serde_json = { version = "1.0", optional = true } # json_typegen integration allows the generation of types in several languages and json schemas. json_typegen_shared = { version = "0.7", optional = true, default-features = false } [dev-dependencies] maplit = "1.0" # Ergonomic macros to write maps. linked-hash-map = "0.5" # Used by json_typegen for structs. # The following are the formats that have been tested. 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" # Used to ensure the doc url is up-to-date [package.metadata.docs.rs] all-features = true