1pub mod go;
2pub mod kotlin;
3pub mod swift;
4pub mod typescript;
5
6pub use go::GoType;
7pub use kotlin::KotlinType;
8pub use swift::SwiftType;
9pub use typescript::TypeScriptType;
10
11mod tabify;
12
13mod prelude {
14 pub use std::fmt::{self, Write};
15
16 pub use indenter::indented;
17 pub use indoc::writedoc;
18
19 macro_rules! writeln_for {
20 ($f:expr, $p:pat in $e:expr, $($arg:tt)*) => {{
21 #[allow(unused_mut)]
22 let mut f = $f;
23 for $p in $e {
24 writeln!(f, $($arg)*)?;
25 }
26 }}
27 }
28
29 macro_rules! writedoc_for {
30 ($f:expr, $p:pat in $e:expr, $($arg:tt)*) => {{
31 #[allow(unused_mut)]
32 let mut f = $f;
33 for $p in $e {
34 writedoc!(f, $($arg)*)?;
35 }
36 }}
37 }
38
39 pub(super) use writedoc_for;
40 pub(super) use writeln_for;
41}