Expand description
Mercury - Rust to PureScript Type Generator
Mercury automatically generates PureScript type definitions and Argonaut JSON
codecs from Rust types annotated with #[mercury].
§Overview
This library provides the core functionality for:
- Scanning Rust source files for
#[mercury]annotations - Parsing Rust type definitions using the
syncrate - Analyzing and mapping Rust types to PureScript equivalents
- Generating PureScript type definitions and JSON codecs
- Writing organized multi-module output
§Example
ⓘ
use mercury::generate;
// Generate PureScript from annotated Rust types
let result = generate(".")?;
println!("Generated {} types in {} modules", result.type_count, result.module_count);Re-exports§
pub use error::MercuryError;pub use error::Result;
Modules§
- analyzer
- Type analyzer and mapper
- codec_
gen - Argonaut JSON codec generator for PureScript
- codegen
- PureScript code generator
- error
- Error types for Mercury code generation
- parser
- Rust AST parser using syn
- scanner
- File scanner for finding #[mercury] annotations
- serde_
attrs - Serde attribute parsing and handling
- types
- Internal representation types for Mercury code generation
- writer
- File writer for generated PureScript code
Structs§
- Generation
Result - Result of a successful code generation run
Functions§
- generate
- Main entry point for code generation