nominal_api/conjure/objects/scout/compute/api/
product_series.rs1#[derive(
5 Debug,
6 Clone,
7 conjure_object::serde::Serialize,
8 conjure_object::serde::Deserialize,
9 conjure_object::private::DeriveWith
10)]
11#[serde(crate = "conjure_object::serde")]
12#[derive_with(PartialEq, Eq, PartialOrd, Ord, Hash)]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct ProductSeries {
16 #[builder(default, list(item(type = super::NumericSeries)))]
17 #[serde(rename = "inputs", skip_serializing_if = "Vec::is_empty", default)]
18 inputs: Vec<super::NumericSeries>,
19 #[builder(
20 default,
21 custom(
22 type = impl
23 Into<Option<super::InterpolationConfiguration>>,
24 convert = |v|v.into().map(Box::new)
25 )
26 )]
27 #[serde(
28 rename = "interpolationConfiguration",
29 skip_serializing_if = "Option::is_none",
30 default
31 )]
32 interpolation_configuration: Option<Box<super::InterpolationConfiguration>>,
33}
34impl ProductSeries {
35 #[inline]
37 pub fn new() -> Self {
38 Self::builder().build()
39 }
40 #[inline]
42 pub fn inputs(&self) -> &[super::NumericSeries] {
43 &*self.inputs
44 }
45 #[deprecated(
47 note = "Setting interpolation on this node is deprecated. Interpolation will be configured at the series level\n"
48 )]
49 #[inline]
50 pub fn interpolation_configuration(
51 &self,
52 ) -> Option<&super::InterpolationConfiguration> {
53 self.interpolation_configuration.as_ref().map(|o| &**o)
54 }
55}