1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
use std::fmt;
use std::sync;

use liquid_error::Result;

use super::Renderable;

/// Available partial-templates for including.
pub trait PartialStore: fmt::Debug {
    /// Check if partial-template exists.
    fn contains(&self, name: &str) -> bool;

    /// Enumerate all partial-templates.
    fn names(&self) -> Vec<&str>;

    /// Access a partial-template.
    fn try_get(&self, name: &str) -> Option<sync::Arc<Renderable>>;

    /// Access a .partial-template
    fn get(&self, name: &str) -> Result<sync::Arc<Renderable>>;
}