Skip to main content

LanguageRenderer

Trait LanguageRenderer 

Source
pub trait LanguageRenderer: Send + Sync {
    // Required methods
    fn language(&self) -> &str;
    fn render_design(&self, design: &Value) -> Result<String, LanguageError>;
}
Expand description

Renders Razeri designs into code for a specific programming language.

The design is passed as a serialized serde_json::Value so the plugin API does not depend on Razeri’s design model. Concrete implementations can deserialize this into the Design struct if needed.

Required Methods§

Source

fn language(&self) -> &str

Language identifier (e.g., “kotlin”, “go”, “csharp”).

Source

fn render_design(&self, design: &Value) -> Result<String, LanguageError>

Render a serialized design document into source code.

§Errors

Returns an error if the operation fails.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§