axioval_ir/contract/
values.rs

1#![allow(missing_docs)]
2use super::Selector;
3use serde::{Deserialize, Serialize};
4#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
5#[serde(tag = "type", rename_all = "camelCase", deny_unknown_fields)]
6pub enum ParameterValue {
7    String {
8        value: String,
9    },
10    Boolean {
11        value: bool,
12    },
13    Integer {
14        value: i64,
15    },
16    Number {
17        value: f64,
18    },
19    Quantity {
20        value: f64,
21        unit: String,
22    },
23    Enum {
24        value: String,
25    },
26    Reference {
27        value: String,
28    },
29    ObjectTypeReference {
30        #[serde(rename = "objectType")]
31        object_type: String,
32        #[serde(rename = "includeSubtypes", default = "yes")]
33        include_subtypes: bool,
34    },
35    PropertyReference {
36        property: String,
37        #[serde(rename = "propertySet")]
38        property_set: Option<String>,
39    },
40    Selector {
41        value: Box<Selector>,
42    },
43    StringList {
44        value: Vec<String>,
45    },
46    ReferenceList {
47        value: Vec<String>,
48    },
49}
50const fn yes() -> bool {
51    true
52}