1#![forbid(unsafe_code)]
2
3pub mod error;
4use error::Error;
5pub mod config;
6pub mod docgen;
7
8pub(crate) mod codegen_go;
9pub(crate) mod codegen_py;
10pub(crate) mod codegen_rust;
11
12pub(crate) mod decode_py;
13pub(crate) mod decode_rust;
14
15pub(crate) mod encode_py;
16pub(crate) mod encode_rust;
17
18pub(crate) mod gen;
19mod loader;
20pub(crate) mod model;
21pub mod render;
22pub(crate) mod validate;
23pub mod writer;
24pub use gen::{templates_from_dir, Generator};
25pub(crate) use loader::sources_to_paths;
26pub use loader::{sources_to_model, weld_cache_dir};
27pub use rust_build::{rust_build, rust_build_into};
28
29pub mod format;
30mod rust_build;
31
32#[allow(dead_code)]
33pub(crate) mod wasmbus_model {
34 include!("./wasmbus_model.rs");
35}
36
37pub mod generators {
39 pub use crate::codegen_go::GoCodeGen;
40 pub use crate::codegen_rust::RustCodeGen;
41 pub use crate::gen::CodeGen;
42}
43
44pub use bytes::Bytes;
46pub(crate) use bytes::BytesMut;
47
48pub(crate) type TomlValue = toml::Value;
50pub(crate) type JsonValue = serde_json::Value;
51pub(crate) type JsonMap = serde_json::Map<String, JsonValue>;
52pub(crate) type ParamMap = std::collections::BTreeMap<String, serde_json::Value>;
53
54pub(crate) mod strings {
55 pub use inflector::cases::{
57 camelcase::to_camel_case, pascalcase::to_pascal_case, snakecase::to_snake_case,
58 };
59}