stock-trek 0.5.3

Stock Trek time-series analysis
Documentation
use crate::{
    order::order_factory::OrderFactory,
    predicates::predicates_factory::PredicatesFactory,
    resolvers::resolvers_factory::ResolversFactory,
    values::values_factory::{
        CalculationValuesFactory, LiteralValuesFactory, PortfolioValuesFactory,
        ScratchPadValuesFactory,
    },
};

pub struct ResolverContext {
    pub calculations: CalculationValuesFactory,
    pub literals: LiteralValuesFactory,
    pub orders: OrderFactory,
    pub portfolio: PortfolioValuesFactory,
    pub predicates: PredicatesFactory,
    pub resolvers: ResolversFactory,
    pub scratch_pad: ScratchPadValuesFactory,
}

impl ResolverContext {
    pub fn new() -> Self {
        Self {
            calculations: CalculationValuesFactory {},
            literals: LiteralValuesFactory {},
            orders: OrderFactory {},
            portfolio: PortfolioValuesFactory {},
            predicates: PredicatesFactory {},
            resolvers: ResolversFactory {},
            scratch_pad: ScratchPadValuesFactory {},
        }
    }
}

impl Default for ResolverContext {
    fn default() -> Self {
        Self::new()
    }
}