Skip to main content

MappingEntry

Struct MappingEntry 

Source
pub struct MappingEntry(/* private fields */);
Expand description

A key-value pair in a YAML mapping

Note: This type uses interior mutability through the rowan library. Mutation methods work even when called through &self. See the crate-level documentation for details on the mutability model.

Implementations§

Source§

impl MappingEntry

Source

pub fn key_matches(&self, key: impl AsYaml) -> bool

Return true if the key of this entry matches key.

Uses semantic YAML equality, so quoting style differences are ignored: "foo", 'foo', and foo all match the scalar "foo". Returns false if this entry has no key node.

Source

pub fn key_node(&self) -> Option<YamlNode>

Get the key of this entry as a YamlNode.

Returns None for malformed entries that have no key.

Source

pub fn value_node(&self) -> Option<YamlNode>

Get the value of this entry as a YamlNode.

Returns None for malformed entries that have no value.

Source

pub fn new( key: impl AsYaml, value: impl AsYaml, flow_context: bool, use_explicit_key: bool, ) -> Self

Create a new mapping entry (key-value pair) not yet attached to any mapping.

The entry is built as a standalone CST node; attach it to a mapping with one of the insert_* methods. Block-style values (mappings, sequences) are indented with 2 spaces relative to the key.

Source

pub fn set_value(&self, new_value: impl AsYaml, flow_context: bool)

Replace the value of this entry in place, preserving the key and surrounding whitespace.

Source

pub fn discard(self)

Detach this entry from its parent mapping, effectively removing it.

The entry node is detached from the tree; the MappingEntry value is consumed. To retrieve the removed entry from a mapping (and get back a MappingEntry you can inspect), use Mapping::remove instead.

Source

pub fn remove(self)

Remove this entry from its parent mapping.

This is a convenience method that calls discard internally. It’s useful when you have a MappingEntry (e.g., from find_all_entries_by_key) and want to remove it without retrieving it from the mapping again.

Consumes self and detaches the entry from the parent mapping.

Trait Implementations§

Source§

impl AstNode for MappingEntry

Source§

type Language = Lang

Source§

fn can_cast(kind: SyntaxKind) -> bool

Source§

fn cast(syntax: SyntaxNode<Lang>) -> Option<Self>

Source§

fn syntax(&self) -> &SyntaxNode<Lang>

Source§

fn clone_for_update(&self) -> Self
where Self: Sized,

Source§

fn clone_subtree(&self) -> Self
where Self: Sized,

Source§

impl Clone for MappingEntry

Source§

fn clone(&self) -> MappingEntry

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MappingEntry

Source§

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

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

impl Display for MappingEntry

Source§

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

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

impl Hash for MappingEntry

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for MappingEntry

Source§

fn eq(&self, other: &MappingEntry) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Eq for MappingEntry

Source§

impl StructuralPartialEq for MappingEntry

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> 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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.