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::InterpolationConfiguration, convert = Box::new))]
33    #[serde(rename = "interpolationConfiguration")]
34    interpolation_configuration: Box<super::InterpolationConfiguration>,
35}
36impl ArithmeticSeriesNode {
37    /// Constructs a new instance of the type.
38    #[inline]
39    pub fn new(
40        expression: impl Into<String>,
41        interpolation_configuration: super::InterpolationConfiguration,
42    ) -> Self {
43        Self::builder()
44            .expression(expression)
45            .interpolation_configuration(interpolation_configuration)
46            .build()
47    }
48    #[inline]
49    pub fn inputs(
50        &self,
51    ) -> &std::collections::BTreeMap<
52        super::super::super::api::LocalVariableName,
53        super::NumericSeriesNode,
54    > {
55        &self.inputs
56    }
57    #[inline]
58    pub fn expression(&self) -> &str {
59        &*self.expression
60    }
61    #[inline]
62    pub fn interpolation_configuration(&self) -> &super::InterpolationConfiguration {
63        &*self.interpolation_configuration
64    }
65}