[package] name = "jrsonnet-parser" description = "jsonnet language parser and AST" version.workspace = true repository.workspace = true authors = ["Yaroslav Bolyukin "] license = "MIT" edition = "2021" [features] default = [] exp-destruct = [] exp-null-coaelse = [] # Implement serialization of AST using structdump # # Structdump generates code, which exactly replicated passed AST # Contrary to serde, has no code bloat problem, and is recommended # # The only limitation is serialized form is only useable if built from build script structdump = ["dep:structdump", "jrsonnet-interner/structdump"] # Implement serialization of AST using serde # # Warning: as serde doesn't deduplicate strings, `Source` struct will bloat # output binary with repeating source code. To resolve this issue, you should either # override serialization of this struct using custom `Serializer`/`Deserializer`, # not rely on Source, and fill its `source_code` with empty value, or use `structdump` # instead serde = ["dep:serde"] [dependencies] jrsonnet-interner.workspace = true jrsonnet-gcmodule.workspace = true static_assertions = "1.1" peg = "0.8.1" serde = { version = "1.0", features = ["derive", "rc"], optional = true } structdump = { version = "0.2.0", features = ["derive"], optional = true }