Expand description
TypeScript file generation for ferro-type
This crate provides utilities for generating TypeScript definition files
from Rust types that implement the TS trait.
§Example
ⓘ
use ferro_type::TS;
use ferro_type_gen::{Config, Generator, ExportStyle};
#[derive(TS)]
struct User {
id: String,
name: String,
}
let mut generator = Generator::new(
Config::new()
.output("types.ts")
.export_style(ExportStyle::Named)
);
generator.register::<User>();
generator.write().expect("Failed to write TypeScript");§build.rs Integration
ⓘ
// build.rs
use ferro_type_gen::{Config, Generator};
fn main() {
let mut generator = Generator::new(
Config::new().output("../frontend/src/types/api.ts")
);
generator.register::<api::User>()
.register::<api::Post>();
generator.write_if_changed()
.expect("TypeScript generation failed");
}Structs§
Enums§
- Export
Style - How to export types in the generated file
Constants§
- PRETTIFY_
TYPE - The Prettify utility type flattens intersection types for better readability.
- PRETTIFY_
TYPE_ EXPORTED - Exported version of the Prettify utility type (with export keyword)
Functions§
- export_
to_ file - Export types from a registry to a file
- generate
- Generate TypeScript for a single type