compiling templates in the same manner as the shim
This commit is contained in:
6
src/renderer/mod.rs
Normal file
6
src/renderer/mod.rs
Normal file
@@ -0,0 +1,6 @@
|
||||
//! This module contains a renderer for a rust implementation of LinkedIn Dust
|
||||
|
||||
mod renderer;
|
||||
|
||||
pub use renderer::compile_template;
|
||||
pub use renderer::CompiledTemplate;
|
||||
19
src/renderer/renderer.rs
Normal file
19
src/renderer/renderer.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
use crate::parser::template;
|
||||
use crate::parser::Template;
|
||||
use nom::IResult;
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
pub struct CompiledTemplate<'a> {
|
||||
template: Template<'a>,
|
||||
name: String,
|
||||
}
|
||||
|
||||
pub fn compile_template<'a>(source: &'a str, name: String) -> CompiledTemplate<'a> {
|
||||
// TODO: Make this function return a result with a custom error type. Break the nom IResult chain
|
||||
// TODO: Make this all consuming
|
||||
let (_remaining, parsed_template) = template(source).expect("Failed to compile template");
|
||||
CompiledTemplate {
|
||||
template: parsed_template,
|
||||
name: name,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user