Expand description
FORGE binding generation system.
Generates type-safe frontend bindings from Rust source code. Supports two targets: SvelteKit (TypeScript) and Dioxus (Rust).
§Architecture
The system has three layers:
- Parser (
parser.rs) — Extracts schema definitions from Rust AST. - Binding IR (
binding.rs) — Pre-computes all function binding facts once. - Emitters (
emit.rs,typescript/,dioxus/) — Generate target code using shared type mapping functions, eliminating duplication.
The key design principle: every type mapping and utility function exists in
exactly one place (emit.rs), so edge cases can’t diverge between targets.
Re-exports§
pub use dioxus::DioxusGenerator;pub use parser::parse_project;pub use typescript::Error;pub use typescript::GenerateOptions;pub use typescript::RUNES_SVELTE_TS;pub use typescript::TypeScriptGenerator;
Modules§
- dioxus
- Dioxus (Rust frontend) code generation.
- parser
- Rust source code parser for extracting FORGE schema definitions.
- typescript
- TypeScript code generation for SvelteKit frontends.