fhirpathrs 0.1.0

Fhirpath implementation in Rust
Documentation
use super::{expression::Expression, identifier::Identifier};

#[derive(Debug)]
pub struct InvocationTerm {
    pub children: Vec<Box<Invocation>>,
}

#[derive(Debug)]
pub enum Invocation {
    MemberInvocation(Box<MemberInvocation>),
    FunctionInvocation(Box<FunctionInvocation>),
    ThisInvocation(Box<ThisInvocation>),
    IndexInvocation(Box<IndexInvocation>),
    TotalInvocation(Box<TotalInvocation>),
}

#[derive(Debug)]
pub struct MemberInvocation {
    pub children: Vec<Box<Identifier>>,
}

#[derive(Debug)]
pub struct ParamList {
    pub children: Vec<Box<Expression>>,
}

#[derive(Debug)]
pub enum IdentifierAndParamList {
    Identifier(Box<Identifier>),
    ParamList(Box<ParamList>),
}

#[derive(Debug)]
pub struct FunctionInvocation {
    pub children: Vec<Box<IdentifierAndParamList>>,
}

#[derive(Debug)]
pub struct ThisInvocation {
    pub text: String,
}

#[derive(Debug)]
pub struct IndexInvocation {
    pub text: String,
}

#[derive(Debug)]
pub struct TotalInvocation {
    pub text: String,
}