use crate::e173_types;
e173_types! {
#[serde(rename_all = "camelCase")]
#[cfg_attr(target_arch = "wasm32", tsify(string_enum))]
#[derive(PartialEq, Eq, Hash)]
pub enum ParameterAccess {
ReadActual,
ReadTarget,
Write,
}
#[serde(rename_all = "camelCase")]
#[cfg_attr(target_arch = "wasm32", tsify(string_enum))]
#[derive(PartialEq, Eq, Hash)]
pub enum Access {
Read,
Write
}
#[serde(rename_all = "lowercase")]
#[cfg_attr(target_arch = "wasm32", tsify(string_enum))]
pub enum Lifetime {
Static,
Persistent,
Runtime,
}
#[derive(PartialEq)]
#[serde(rename_all = "kebab-case")]
#[cfg_attr(target_arch = "wasm32", tsify(string_enum))]
pub enum DataType {
Number,
Enum,
String,
Binary,
Boolean,
Uuid,
}
#[derive(PartialEq)]
pub struct Unit {
name: UnitName,
#[serde(skip_serializing_if = "Option::is_none")]
exponent: Option<i32>,
}
#[derive(PartialEq)]
#[serde(rename_all = "kebab-case")]
#[cfg_attr(target_arch = "wasm32", tsify(string_enum))]
pub enum UnitName {
Ampere,
Candela,
Kelvin,
Kilogram,
Meter,
Second,
DegreeCelsius,
Hertz,
Joule,
Lumen,
Lux,
Newton,
NewtonMeter,
Ohm,
Pascal,
Radian,
RadianPerSecond,
RadianPerSecondSquared,
Steradian,
Volt,
Watt,
CubicMeter,
MeterPerSecond,
MeterPerSecondSquared,
SquareMeter,
AmpHours,
Byte,
BytePerSecond,
Degree,
Ratio,
LogDb,
Rpm,
Other,
None,
}
pub struct EnumChoice {
pub id: String,
#[serde(rename = "@name")]
pub name: String,
}
pub struct EnumInstanceChoices {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub excluded: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub additional: Vec<EnumChoice>,
}
}