pub mod idl_prog {
use candid_parser::{
types::{Dec, IDLType, IDLTypes},
IDLProg,
};
#[deprecated(since = "0.8.6", note = "Please use `get_type()` instead.")]
pub fn get(prog: &IDLProg, key: &str) -> Option<IDLType> {
get_type(prog, key)
}
pub fn get_type(prog: &IDLProg, key: &str) -> Option<IDLType> {
prog.decs.iter().find_map(|x| {
if let Dec::TypD(y) = x {
if y.id == key {
return Some(y.typ.clone());
}
}
None
})
}
pub fn get_init_arg_type(prog: &IDLProg) -> Option<IDLTypes> {
if let Some(IDLType::ClassT(args, _)) = &prog.actor {
Some(IDLTypes { args: args.clone() })
} else {
None
}
}
}