plotnik_compiler/typegen/typescript/mod.rs
1//! TypeScript type emitter from bytecode Module.
2//!
3//! Converts compiled bytecode back to TypeScript declarations.
4//! Used as a test oracle and for generating types from .ptkq files.
5
6mod analysis;
7mod config;
8mod convert;
9mod emitter;
10mod naming;
11mod render;
12
13pub use config::{Config, VoidType};
14pub use emitter::Emitter;
15
16use plotnik_bytecode::Module;
17
18/// Emit TypeScript from a bytecode module.
19pub fn emit(module: &Module) -> String {
20 Emitter::new(module, Config::default()).emit()
21}
22
23/// Emit TypeScript from a bytecode module with custom config.
24pub fn emit_with_config(module: &Module, config: Config) -> String {
25 Emitter::new(module, config).emit()
26}