axioval_ir/contract/
values.rs1#![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}