1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::fmt::{
    Error,
    Write,
};

use thiserror::Error;

use crate::model::value::Values;

// =============================================================================
// Expand
// =============================================================================

// Traits

pub trait Expand {
    fn expand(&self, values: &Values, write: &mut impl Write) -> Result<(), ExpandError>;
}

// -----------------------------------------------------------------------------

// Errors

#[allow(clippy::module_name_repetitions)]
#[derive(Debug, Error)]
pub enum ExpandError {
    #[error("formatting failed")]
    Format(#[from] Error),
}