freemarker 0.1.1

Apache FreeMarker 语义兼容的 Rust 模板引擎(freemarker-core 迁移)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! 对应 Java `freemarker.template.TemplateDirectiveModel`
//! (一文件一 Java 对象拆分:原 template_model.rs 合并存放 → 独立文件)

use crate::core::Environment;
use crate::error::Result;
use crate::template::TModel;
use crate::template::TemplateDirectiveBody;
use std::collections::HashMap;

pub trait TemplateDirectiveModel {
    fn execute(
        &self,
        env: &mut Environment,
        params: &HashMap<String, TModel>,
        loop_vars: &mut [TModel],
        body: Option<&dyn TemplateDirectiveBody>,
    ) -> Result<()>;
}