#![warn(missing_docs)]
#![deny(clippy::panic)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::expect_used)]
#![deny(clippy::unimplemented)]
mod bytes;
pub mod candid_types;
pub mod polyfill;
mod typed_conversion;
mod untyped_conversion;
use candid_parser::types::IDLProg;
pub use serde_json::Value as JsonValue;
pub use typed_conversion::{idl2json_with_weak_names, idl_args2json_with_weak_names};
pub use untyped_conversion::{idl2json, idl_args2json};
#[cfg(test)]
mod test;
#[derive(Default)]
pub struct Idl2JsonOptions {
pub bytes_as: Option<BytesFormat>,
pub long_bytes_as: Option<(usize, BytesFormat)>,
pub prog: Vec<IDLProg>,
pub compact: bool,
}
#[derive(Copy, Clone, Eq, PartialEq, Default, Debug)]
#[cfg_attr(feature = "clap", derive(clap::ArgEnum))]
#[cfg_attr(feature = "clap", clap(rename_all = "kebab_case"))]
pub enum BytesFormat {
#[default]
Numbers,
Hex,
#[cfg(feature = "crypto")]
Sha256,
}