Skip to main content

Crate forge_codegen

Crate forge_codegen 

Source
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:

  1. Parser (parser.rs) — Extracts schema definitions from Rust AST.
  2. Binding IR (binding.rs) — Pre-computes all function binding facts once.
  3. 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.