Skip to main content

Event

Enum Event 

Source
pub enum Event<'input> {
    Nothing,
    StreamStart,
    StreamEnd,
    DocumentStart(bool),
    DocumentEnd,
    Alias(usize),
    Comment(Cow<'input, str>, Placement),
    Scalar(Cow<'input, str>, ScalarStyle, usize, Option<Cow<'input, Tag>>),
    SequenceStart(StructureStyle, usize, Option<Cow<'input, Tag>>),
    SequenceEnd,
    MappingStart(StructureStyle, usize, Option<Cow<'input, Tag>>),
    MappingEnd,
}
Expand description

An event generated by the YAML parser.

Events are used in the low-level event-based API (push parser). The API entrypoint is the EventReceiver trait.

Variants§

§

Nothing

Reserved for internal use.

§

StreamStart

Event generated at the very beginning of parsing.

§

StreamEnd

Last event that will be generated by the parser. Signals EOF.

§

DocumentStart(bool)

The start of a YAML document.

When the boolean is true, it is an explicit document start directive (---).

When the boolean is false, it is an implicit document start (without ---).

§

DocumentEnd

The end of a YAML document.

This event is emitted for both explicit document end markers (...) and implicit document ends.

§

Alias(usize)

A YAML alias.

Tuple Fields

§0: usize

The anchor ID the alias refers to.

§

Comment(Cow<'input, str>, Placement)

A YAML source comment.

Comments are presentation metadata, not YAML data nodes. The payload is the raw text exactly after #, excluding only the line break. The placement is a best-effort hint for correlating the comment with nearby YAML presentation. The companion parser Span covers the whole source comment, including # and excluding the line break.

Tuple Fields

§0: Cow<'input, str>

Raw comment payload exactly after #, excluding only the line break.

§1: Placement

Best-effort placement relative to nearby YAML content.

§

Scalar(Cow<'input, str>, ScalarStyle, usize, Option<Cow<'input, Tag>>)

A YAML scalar value.

Tuple Fields

§0: Cow<'input, str>

The scalar value after YAML escape processing.

§1: ScalarStyle

The source notation used for the scalar.

§2: usize

The anchor ID defined on this scalar, or 0 if it has no anchor.

§3: Option<Cow<'input, Tag>>

The resolved tag attached to this scalar, if any.

§

SequenceStart(StructureStyle, usize, Option<Cow<'input, Tag>>)

The start of a YAML sequence (array).

Tuple Fields

§0: StructureStyle

The notation style used for the sequence.

§1: usize

The anchor ID defined on this sequence, or 0 if it has no anchor.

§2: Option<Cow<'input, Tag>>

The resolved tag attached to this sequence, if any.

§

SequenceEnd

The end of a YAML sequence (array).

§

MappingStart(StructureStyle, usize, Option<Cow<'input, Tag>>)

The start of a YAML mapping (object, hash).

Tuple Fields

§0: StructureStyle

The notation style used for the mapping (Flow or Block).

§1: usize

The anchor ID defined on this mapping, or 0 if it has no anchor.

§2: Option<Cow<'input, Tag>>

The resolved tag attached to this mapping, if any.

§

MappingEnd

The end of a YAML mapping (object, hash).

Implementations§

Source§

impl<'input> Event<'input>

Source

pub fn anchor_id(&self) -> Option<usize>

Return the anchor ID defined by this event, if any.

Returns Some(id) when this event defines an anchor on a scalar, sequence, or mapping node. Returns None for all other events, including Alias (which references an anchor rather than defining one; use Self::alias_id to obtain the target anchor ID).

Source

pub fn alias_id(&self) -> Option<usize>

Return the target anchor ID referenced by this alias event, if this event is an alias.

Source

pub fn tag(&self) -> Option<&Tag>

Return the resolved tag carried by this node event, if any.

Source

pub fn scalar(&self) -> Option<(&str, ScalarStyle)>

Return the scalar value and style, if this event is a scalar.

Source

pub fn is_node(&self) -> bool

Return whether this event represents a YAML node (value).

Returns true for scalars, collection starts, and aliases — all events that produce a value in the document tree. Returns false for structural events such as StreamStart, DocumentStart, collection ends, etc.

Trait Implementations§

Source§

impl<'input> Clone for Event<'input>

Source§

fn clone(&self) -> Event<'input>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'input> Debug for Event<'input>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'input> PartialEq for Event<'input>

Source§

fn eq(&self, other: &Event<'input>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'input> Eq for Event<'input>

Source§

impl<'input> StructuralPartialEq for Event<'input>

Auto Trait Implementations§

§

impl<'input> Freeze for Event<'input>

§

impl<'input> RefUnwindSafe for Event<'input>

§

impl<'input> Send for Event<'input>

§

impl<'input> Sync for Event<'input>

§

impl<'input> Unpin for Event<'input>

§

impl<'input> UnsafeUnpin for Event<'input>

§

impl<'input> UnwindSafe for Event<'input>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.