Skip to main content

Crate cargo_mercury

Crate cargo_mercury 

Source
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 syn crate
  • 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§

GenerationResult
Result of a successful code generation run

Functions§

generate
Main entry point for code generation