use crate::types::{BasicFunctionTerm, Name, NameLiteral, Number};
#[derive(Debug, Clone, PartialEq)]
pub enum InitElement {
Literal(NameLiteral),
At(Number, NameLiteral),
IsValue(BasicFunctionTerm, Number),
IsObject(BasicFunctionTerm, Name),
}
impl InitElement {
pub const fn new_literal(name: NameLiteral) -> Self {
Self::Literal(name)
}
pub const fn new_at(time: Number, name: NameLiteral) -> Self {
Self::At(time, name)
}
pub const fn new_is_value(term: BasicFunctionTerm, value: Number) -> Self {
Self::IsValue(term, value)
}
pub const fn new_is_object(term: BasicFunctionTerm, value: Name) -> Self {
Self::IsObject(term, value)
}
}