TemplateEngine

Struct TemplateEngine 

Source
pub struct TemplateEngine<'a> { /* private fields */ }
Expand description

Template engine for code generation.

Wraps Handlebars and provides pre-registered templates for generating TypeScript code from MCP tool schemas using progressive loading.

§Thread Safety

This type is Send and Sync, allowing it to be used across thread boundaries safely.

Implementations§

Source§

impl<'a> TemplateEngine<'a>

Source

pub fn new() -> Result<Self>

Creates a new template engine with registered templates.

Registers all built-in progressive loading templates.

§Errors

Returns error if template registration fails (should not happen with valid built-in templates).

§Examples
use mcp_execution_codegen::template_engine::TemplateEngine;

let engine = TemplateEngine::new().unwrap();
Source

pub fn render<T: Serialize>( &self, template_name: &str, context: &T, ) -> Result<String>

Renders a template with the given context.

§Errors

Returns error if:

  • Template name is not registered
  • Context cannot be serialized
  • Template rendering fails
§Examples
use mcp_execution_codegen::template_engine::TemplateEngine;
use serde_json::json;

let engine = TemplateEngine::new()?;
let context = json!({"name": "test", "description": "A test tool"});
let result = engine.render("progressive/tool", &context)?;
Source

pub fn register_template_string( &mut self, name: &str, template: &str, ) -> Result<()>

Registers a custom template.

Allows registering additional templates at runtime.

§Errors

Returns error if template string is invalid.

§Examples
use mcp_execution_codegen::template_engine::TemplateEngine;

let mut engine = TemplateEngine::new().unwrap();
engine.register_template_string(
    "custom",
    "// Custom template: {{name}}"
).unwrap();

Trait Implementations§

Source§

impl<'a> Debug for TemplateEngine<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> Default for TemplateEngine<'a>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for TemplateEngine<'a>

§

impl<'a> !RefUnwindSafe for TemplateEngine<'a>

§

impl<'a> Send for TemplateEngine<'a>

§

impl<'a> Sync for TemplateEngine<'a>

§

impl<'a> Unpin for TemplateEngine<'a>

§

impl<'a> !UnwindSafe for TemplateEngine<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more