Skip to main content

nominal_api/conjure/objects/scout/compute/resolved/api/
arithmetic_series_node.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    conjure_object::private::DeriveWith
7)]
8#[serde(crate = "conjure_object::serde")]
9#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
10#[conjure_object::private::staged_builder::staged_builder]
11#[builder(crate = conjure_object::private::staged_builder, update, inline)]
12pub struct ArithmeticSeriesNode {
13    #[builder(
14        default,
15        map(
16            key(type = super::super::super::api::LocalVariableName),
17            value(type = super::NumericSeriesNode)
18        )
19    )]
20    #[serde(
21        rename = "inputs",
22        skip_serializing_if = "std::collections::BTreeMap::is_empty",
23        default
24    )]
25    inputs: std::collections::BTreeMap<
26        super::super::super::api::LocalVariableName,
27        super::NumericSeriesNode,
28    >,
29    #[builder(into)]
30    #[serde(rename = "expression")]
31    expression: String,
32    #[builder(custom(type = super::FillStrategy, convert = Box::new))]
33    #[serde(rename = "fillStrategy")]
34    fill_strategy: Box<super::FillStrategy>,
35}
36impl ArithmeticSeriesNode {
37    /// Constructs a new instance of the type.
38    #[inline]
39    pub fn new(
40        expression: impl Into<String>,
41        fill_strategy: super::FillStrategy,
42    ) -> Self {
43        Self::builder().expression(expression).fill_strategy(fill_strategy).build()
44    }
45    #[inline]
46    pub fn inputs(
47        &self,
48    ) -> &std::collections::BTreeMap<
49        super::super::super::api::LocalVariableName,
50        super::NumericSeriesNode,
51    > {
52        &self.inputs
53    }
54    #[inline]
55    pub fn expression(&self) -> &str {
56        &*self.expression
57    }
58    #[inline]
59    pub fn fill_strategy(&self) -> &super::FillStrategy {
60        &*self.fill_strategy
61    }
62}