2023-10-22 17:37:27 -04:00
|
|
|
use crate::error::CustomError;
|
|
|
|
|
2023-10-22 16:26:43 -04:00
|
|
|
use super::renderer_integration::RendererIntegration;
|
2023-10-22 16:40:58 -04:00
|
|
|
use duster::renderer::DustRenderer;
|
|
|
|
use serde::Serialize;
|
2023-10-22 16:26:43 -04:00
|
|
|
|
|
|
|
pub(crate) struct DusterRenderer {}
|
|
|
|
|
2023-10-22 17:31:12 -04:00
|
|
|
impl DusterRenderer {
|
|
|
|
pub(crate) fn new() -> DusterRenderer {
|
|
|
|
DusterRenderer {}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-10-22 16:26:43 -04:00
|
|
|
impl RendererIntegration for DusterRenderer {
|
2023-10-22 17:37:27 -04:00
|
|
|
fn load_template<N, C>(&mut self, name: N, contents: C) -> Result<(), CustomError>
|
2023-10-22 16:26:43 -04:00
|
|
|
where
|
2023-10-22 17:31:12 -04:00
|
|
|
N: Into<String>,
|
2023-10-22 17:37:27 -04:00
|
|
|
C: AsRef<str>,
|
2023-10-22 16:26:43 -04:00
|
|
|
{
|
2023-10-22 17:37:27 -04:00
|
|
|
let compiled_template = duster::renderer::compile_template(contents.as_ref())?;
|
2023-10-22 16:40:58 -04:00
|
|
|
Ok(())
|
2023-10-22 16:26:43 -04:00
|
|
|
}
|
|
|
|
|
2023-10-22 17:37:27 -04:00
|
|
|
fn render<C>(&self, context: C) -> Result<String, CustomError>
|
2023-10-22 16:26:43 -04:00
|
|
|
where
|
2023-10-22 16:40:58 -04:00
|
|
|
C: Serialize,
|
2023-10-22 16:26:43 -04:00
|
|
|
{
|
2023-10-22 16:40:58 -04:00
|
|
|
let mut dust_renderer = DustRenderer::new();
|
|
|
|
println!("{}", serde_json::to_string(&context)?);
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
Ok("".to_owned())
|
2023-10-22 16:26:43 -04:00
|
|
|
}
|
|
|
|
}
|