loose_liquid_core/runtime/partials.rs
1use std::fmt;
2use std::sync;
3
4use crate::error::Result;
5
6use super::Renderable;
7
8/// Available partial-templates for including.
9pub trait PartialStore: fmt::Debug {
10 /// Check if partial-template exists.
11 fn contains(&self, name: &str) -> bool;
12
13 /// Enumerate all partial-templates.
14 fn names(&self) -> Vec<&str>;
15
16 /// Access a partial-template.
17 fn try_get(&self, name: &str) -> Option<sync::Arc<dyn Renderable>>;
18
19 /// Access a .partial-template
20 fn get(&self, name: &str) -> Result<sync::Arc<dyn Renderable>>;
21}