mod collect;
mod model;
mod render;
pub use collect::Api;
pub use model::{TsDecl, TsInterfaceDef, TsKind, TsParam, TsType};
pub use render::dts;
macro_rules! declare {
($decl:literal) => {
::inventory::submit! {
$crate::script::js::tsgen::TsType { decl: $decl }
}
};
}
pub(crate) use declare;
#[cfg(test)]
mod tests {
use super::{Api, dts};
#[test]
fn committed_dts_is_up_to_date() {
let committed = include_str!("../../../../../../docs/src/ringo-flow/ringo-flow.d.ts");
let generated = dts(&Api::collect(), super::super::DTS_HEADER);
assert_eq!(
generated, committed,
"ringo-flow.d.ts is stale — regenerate with \
`ringo-flow definitions --lang js`",
);
}
}