ellie_core 0.7.3

Core modules for ellie
Documentation
use crate::{
    alloc::{boxed::Box, vec::Vec},
    definite::{definers::DefinerCollecting, types},
    defs,
};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
pub enum ConditionType {
    If,
    ElseIf,
    Else,
}

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
pub struct ConditionChain {
    pub rtype: ConditionType,
    pub condition: Box<types::Types>,
    pub inner_page_id: usize,
    pub keyword_pos: defs::Cursor,
}

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
pub struct Condition {
    pub hash: usize,
    pub chains: Vec<ConditionChain>,
    pub returns: Option<DefinerCollecting>,
    pub pos: defs::Cursor,
}