pub enum ParseEvent<'de> {
StructStart(ContainerKind),
StructEnd,
FieldKey(FieldKey<'de>),
OrderedField,
SequenceStart(ContainerKind),
SequenceEnd,
Scalar(ScalarValue<'de>),
VariantTag(Option<&'de str>),
}Expand description
Event emitted by a format parser while streaming through input.
Variants§
StructStart(ContainerKind)
Beginning of a struct/object/node.
StructEnd
End of a struct/object/node.
FieldKey(FieldKey<'de>)
Encountered a field key (for self-describing formats like JSON/YAML).
OrderedField
Next field value in struct field order (for non-self-describing formats like postcard).
The driver tracks the current field index and uses the schema to determine which field this value belongs to. This allows formats without field names in the wire format to still support Tier-0 deserialization.
SequenceStart(ContainerKind)
Beginning of a sequence/array/tuple.
SequenceEnd
End of a sequence/array/tuple.
Scalar(ScalarValue<'de>)
Scalar literal.
VariantTag(Option<&'de str>)
Tagged value from a self-describing format with native tagged union syntax.
This is used by formats like Styx that have explicit tag syntax (e.g., @tag(value)).
Most formats (JSON, TOML, etc.) don’t need this - they represent enums as
{"variant_name": value} which goes through the struct/field path instead.
None represents a unit tag (bare @ in Styx) with no name.
Trait Implementations§
Source§impl<'de> Clone for ParseEvent<'de>
impl<'de> Clone for ParseEvent<'de>
Source§fn clone(&self) -> ParseEvent<'de>
fn clone(&self) -> ParseEvent<'de>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more