stock-trek 0.7.2

Stock Trek time-series analysis
Documentation
use crate::{
    error::result::StockTrekResult, resolved_context::ResolvedContext,
    resolvers::resolveable::Resolvable, values::value::NumberValue,
};
use serde::{Deserialize, Serialize};
use strum::Display;

#[derive(Debug, Display, Clone, Hash, Serialize, Deserialize)]
pub enum OrderQuantity<N> {
    OfBase(N),
    OfQuote(N),
}

impl Resolvable<OrderQuantity<f64>> for OrderQuantity<NumberValue> {
    fn try_resolve(&self, context: &ResolvedContext) -> StockTrekResult<OrderQuantity<f64>> {
        match self {
            OrderQuantity::OfBase(q) => Ok(OrderQuantity::OfBase(q.number(context)?)),
            OrderQuantity::OfQuote(q) => Ok(OrderQuantity::OfQuote(q.number(context)?)),
        }
    }
}