pub enum PyroType<'a> {
Null,
PrimitiveScalar(PrimitiveDataType),
Str,
Timestamp,
PrimitiveList(PrimitiveDataType),
PrimitiveFixedList(PrimitiveDataType, usize),
List(Box<PyroType<'a>>, bool),
Group(Cow<'a, [PyroField<'a>]>),
Map {
key: Box<PyroType<'a>>,
value: Box<PyroType<'a>>,
},
}Expand description
A data type enum that mirrors the variants of [PyroValue] exactly.
This is intentionally much smaller than arrow::datatypes::DataType.
Every variant here has a 1:1 correspondence with a PyroValue discriminant.
Variants§
Null
No value / unknown type (corresponds to PyroValue::Null).
PrimitiveScalar(PrimitiveDataType)
Scalar primitive (Bool, Int, Float).
Str
UTF-8 string (corresponds to PyroValue::Str).
Timestamp
Day + millisecond interval (corresponds to PyroValue::Timestamp).
PrimitiveList(PrimitiveDataType)
Homogeneous list of a single primitive type (corresponds to PyroValue::PrimitiveList).
PrimitiveFixedList(PrimitiveDataType, usize)
Fixed-size homogeneous list of a single primitive type.
List(Box<PyroType<'a>>, bool)
Heterogeneous list of arbitrary pyro values (corresponds to PyroValue::List).
Fields: (element_type, element_nullable).
Group(Cow<'a, [PyroField<'a>]>)
Named struct / row (corresponds to PyroValue::Group).
Map
Key-value map (corresponds to PyroValue::MapInternal).