[package]
name = "candid_parser"
version = "0.3.2"
edition = "2021"
rust-version.workspace = true
authors = ["DFINITY Team"]
description = "Candid is an interface description language (IDL) for interacting with canisters running on the Internet Computer. This crate contains the parser and the binding generator for Candid."
homepage = "https://internetcomputer.org/docs/current/developer-docs/build/candid/candid-concepts"
documentation = "https://docs.rs/candid_parser"
repository = "https://github.com/dfinity/candid"
license = "Apache-2.0"
readme = "README.md"
categories = ["encoding", "parsing", "wasm"]
keywords = ["internet-computer", "idl", "candid", "dfinity", "parser"]
include = ["src", "Cargo.toml", "build.rs", "LICENSE", "README.md"]
build = "build.rs"
[build-dependencies]
lalrpop = "0.20.0"
[dependencies]
candid = { path = "../candid", version = "0.10.16", features = ["all"] }
codespan-reporting = "0.11"
hex.workspace = true
num-bigint.workspace = true
pretty.workspace = true
thiserror.workspace = true
anyhow.workspace = true
serde.workspace = true
lalrpop-util = "0.20.0"
logos = "0.14"
convert_case = "0.6"
handlebars = "6.0"
toml = { version = "0.8", default-features = false, features = ["parse"] }
arbitrary = { workspace = true, optional = true }
fake = { version = "2.4", optional = true }
rand = { version = "0.8", optional = true }
num-traits = { workspace = true, optional = true }
dialoguer = { version = "0.11", default-features = false, features = ["editor", "completion"], optional = true }
ctrlc = { version = "3.4", optional = true }
console = { workspace = true, optional = true }
[dev-dependencies]
goldenfile = "1.1.0"
test-generator = "0.3.0"
rand.workspace = true
[features]
random = ["dep:arbitrary", "dep:fake", "dep:rand", "dep:num-traits"]
assist = ["dep:dialoguer", "dep:console", "dep:ctrlc"]
all = ["random", "assist"]
[package.metadata.docs.rs]
features = ["all"]
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true