freemarker 0.1.1

Apache FreeMarker 语义兼容的 Rust 模板引擎(freemarker-core 迁移)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
//! 简单集合 —— 对应 Java `freemarker.template.SimpleCollection`
//! (一次性迭代语义:TemplateCollectionModel 的 iterator 只能消费一次)

use crate::error::Result;
use crate::template::TModel;
use crate::template::TemplateCollectionModel;

pub struct SimpleCollection(pub Vec<TModel>);
impl TemplateCollectionModel for SimpleCollection {
    fn iterator(&self) -> Result<Box<dyn Iterator<Item = Result<TModel>>>> {
        Ok(Box::new(self.0.clone().into_iter().map(Ok)))
    }
}