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 to avoid
coupling the plugin API to razeri-design. Concrete implementations
can deserialize this into the Design struct if needed.
Required Methods§
Sourcefn render_design(&self, design: &Value) -> Result<String, LanguageError>
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".