Skip to main content

nominal_api/conjure/objects/scout/compute/api/
context.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 Context {
13    #[builder(
14        default,
15        map(key(type = super::VariableName), value(type = super::VariableValue))
16    )]
17    #[serde(
18        rename = "variables",
19        skip_serializing_if = "std::collections::BTreeMap::is_empty",
20        default
21    )]
22    variables: std::collections::BTreeMap<super::VariableName, super::VariableValue>,
23    #[builder(default, into)]
24    #[serde(
25        rename = "functionVariables",
26        skip_serializing_if = "Option::is_none",
27        default
28    )]
29    function_variables: Option<
30        std::collections::BTreeMap<super::FunctionReference, super::FunctionVariables>,
31    >,
32    #[builder(
33        default,
34        map(key(type = super::DatasetReferenceName), value(type = super::Dataset))
35    )]
36    #[serde(
37        rename = "datasetReferences",
38        skip_serializing_if = "std::collections::BTreeMap::is_empty",
39        default
40    )]
41    dataset_references: std::collections::BTreeMap<
42        super::DatasetReferenceName,
43        super::Dataset,
44    >,
45    #[builder(default, into)]
46    #[serde(
47        rename = "frameReferences",
48        skip_serializing_if = "Option::is_none",
49        default
50    )]
51    frame_references: Option<
52        std::collections::BTreeMap<super::DatasetReferenceName, super::Dataset>,
53    >,
54}
55impl Context {
56    /// Constructs a new instance of the type.
57    #[inline]
58    pub fn new() -> Self {
59        Self::builder().build()
60    }
61    #[inline]
62    pub fn variables(
63        &self,
64    ) -> &std::collections::BTreeMap<super::VariableName, super::VariableValue> {
65        &self.variables
66    }
67    #[deprecated(
68        note = "This field is deprecated and will be removed in a future version.\n"
69    )]
70    #[inline]
71    pub fn function_variables(
72        &self,
73    ) -> Option<
74        &std::collections::BTreeMap<super::FunctionReference, super::FunctionVariables>,
75    > {
76        self.function_variables.as_ref().map(|o| &*o)
77    }
78    /// Named datasets looked up by `DatasetReference` nodes in the compute tree.
79    #[inline]
80    pub fn dataset_references(
81        &self,
82    ) -> &std::collections::BTreeMap<super::DatasetReferenceName, super::Dataset> {
83        &self.dataset_references
84    }
85    /// Named datasets looked up by `DatasetReference` nodes in the compute tree.
86    #[deprecated(note = "use datasetReferences instead.")]
87    #[inline]
88    pub fn frame_references(
89        &self,
90    ) -> Option<
91        &std::collections::BTreeMap<super::DatasetReferenceName, super::Dataset>,
92    > {
93        self.frame_references.as_ref().map(|o| &*o)
94    }
95}