Skip to main content

BasicComposer

Struct BasicComposer 

Source
pub struct BasicComposer {
    parser: BasicParser,
    position: Position,
    anchors: HashMap<String, Value>,
    limits: Limits,
    resource_tracker: ResourceTracker,
    alias_expansion_stack: Vec<String>,
    current_depth: usize,
    tag_resolver: TagResolver,
    yaml_version: YamlVersion,
}
Expand description

A basic composer implementation for converting events to nodes

Fields§

§parser: BasicParser§position: Position§anchors: HashMap<String, Value>§limits: Limits§resource_tracker: ResourceTracker§alias_expansion_stack: Vec<String>§current_depth: usize§tag_resolver: TagResolver§yaml_version: YamlVersion

Active YAML spec version for the current document, set from the %YAML directive (when present) on each DocumentStart event. Defaults to YamlVersion::V1_2.

Implementations§

Source§

impl BasicComposer

Source

pub fn new(input: String) -> Self

Create a new composer from input string

Source

pub fn with_limits(input: String, limits: Limits) -> Self

Create a new composer with custom limits

Source

pub fn new_eager(input: String) -> Self

Create a new composer with eager parsing (for compatibility)

Source

pub fn new_eager_with_limits(input: String, limits: Limits) -> Self

Create a new composer with eager parsing and custom limits

Source

fn compose_node(&mut self) -> Result<Option<Value>>

Compose a node from events (recursive)

Source

fn compose_scalar( &self, value: String, style: ScalarStyle, position: Position, ) -> Result<Value>

Compose a scalar value.

Single- and double-quoted scalars always become Value::String. Plain, literal, and folded scalars go through the shared resolve_plain_scalar helper so the YAML version (1.1 vs 1.2) governs which boolean forms are recognized.

position is the scalar’s source position, used only to anchor the error returned for the YAML 1.1 !!value (=) tag.

Source

fn compose_tagged_scalar( &mut self, value: String, tag_str: String, ) -> Result<Value>

Compose a tagged scalar value

Source

fn compose_sequence(&mut self) -> Result<Option<Value>>

Compose a sequence

Source

fn compose_mapping(&mut self) -> Result<Option<Value>>

Compose a mapping

Source

fn process_merge_key( &self, mapping: &mut IndexMap<Value, Value>, merge_value: &Value, ) -> Result<()>

Process a merge key by merging values into the current mapping The merge_value should already be resolved by compose_node()

Trait Implementations§

Source§

impl Composer for BasicComposer

Source§

fn check_document(&self) -> bool

Check if there are more documents available
Source§

fn compose_document(&mut self) -> Result<Option<Value>>

Compose the next document Read more
Source§

fn position(&self) -> Position

Get the current position in the stream
Source§

fn reset(&mut self)

Reset the composer state
Source§

impl Debug for BasicComposer

Source§

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

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

impl Default for BasicComposer

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> 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, 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.