pub enum SchemaValue {
Show 36 variants
Bool(bool),
S8(i8),
S16(i16),
S32(i32),
S64(i64),
U8(u8),
U16(u16),
U32(u32),
U64(u64),
F32(f32),
F64(f64),
Char(char),
String(String),
Record {
fields: Vec<SchemaValue>,
},
Variant(VariantValuePayload),
Enum {
case: u32,
},
Flags {
bits: Vec<bool>,
},
Tuple {
elements: Vec<SchemaValue>,
},
List {
elements: Vec<SchemaValue>,
},
FixedList {
elements: Vec<SchemaValue>,
},
Map {
entries: Vec<(SchemaValue, SchemaValue)>,
},
Option {
inner: Option<Box<SchemaValue>>,
},
Result(ResultValuePayload),
Text(TextValuePayload),
Binary(BinaryValuePayload),
Path {
path: String,
},
Url {
url: String,
},
Uuid(Uuid),
Datetime {
value: DateTime<Utc>,
},
Duration(DurationValuePayload),
Quantity(QuantityValue),
Union(UnionValuePayload),
Secret(GuestSecretHandle),
QuotaToken(GuestQuotaTokenHandle),
PermissionCard(GuestPermissionCardHandle),
Stream(SchemaValueStream),
}Expand description
One node in the recursive in-memory schema-value tree.
Always travels paired with a super::SchemaGraph (see
super::TypedSchemaValue). The value tree is structurally driven by the
schema: record-value payload order matches the schema’s field order,
variant-value carries a case index, enum-value carries a case index,
union-value carries the discriminator’s literal tag. The value side does
not redundantly carry field names, case names, or named-ref identifiers —
those come from the schema.
Variants§
Bool(bool)
S8(i8)
S16(i16)
S32(i32)
S64(i64)
U8(u8)
U16(u16)
U32(u32)
U64(u64)
F32(f32)
F64(f64)
Char(char)
String(String)
Record
Fields
§
fields: Vec<SchemaValue>Variant(VariantValuePayload)
Enum
Flags
Tuple
Fields
§
elements: Vec<SchemaValue>List
Fields
§
elements: Vec<SchemaValue>FixedList
Fields
§
elements: Vec<SchemaValue>Map
Fields
§
entries: Vec<(SchemaValue, SchemaValue)>Option
Fields
§
inner: Option<Box<SchemaValue>>Result(ResultValuePayload)
Text(TextValuePayload)
Binary(BinaryValuePayload)
Path
Url
Uuid(Uuid)
Datetime
Duration(DurationValuePayload)
Quantity(QuantityValue)
Union(UnionValuePayload)
Secret(GuestSecretHandle)
QuotaToken(GuestQuotaTokenHandle)
PermissionCard(GuestPermissionCardHandle)
Stream(SchemaValueStream)
Trait Implementations§
Source§impl Clone for SchemaValue
impl Clone for SchemaValue
Source§fn clone(&self) -> SchemaValue
fn clone(&self) -> SchemaValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SchemaValue
impl Debug for SchemaValue
Source§impl<'de> Deserialize<'de> for SchemaValue
impl<'de> Deserialize<'de> for SchemaValue
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SchemaValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SchemaValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FromSchema for SchemaValue
impl FromSchema for SchemaValue
fn from_value(value: &SchemaValue) -> Result<SchemaValue, FromSchemaError>
Source§impl IntoSchema for SchemaValue
impl IntoSchema for SchemaValue
fn type_id() -> TypeId
fn register_in(builder: &mut SchemaBuilder) -> SchemaType
fn to_value(&self) -> SchemaValue
Source§impl PartialEq for SchemaValue
impl PartialEq for SchemaValue
Source§impl Serialize for SchemaValue
impl Serialize for SchemaValue
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for SchemaValue
Auto Trait Implementations§
impl Freeze for SchemaValue
impl RefUnwindSafe for SchemaValue
impl Send for SchemaValue
impl Sync for SchemaValue
impl Unpin for SchemaValue
impl UnsafeUnpin for SchemaValue
impl UnwindSafe for SchemaValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more