Struct toml_edit::Document

source ·
pub struct Document { /* private fields */ }
Expand description

Type representing a TOML document

Implementations§

source§

impl Document

source

pub fn new() -> Self

Creates an empty document

source

pub fn as_item(&self) -> &Item

Returns a reference to the root item.

source

pub fn as_item_mut(&mut self) -> &mut Item

Returns a mutable reference to the root item.

source

pub fn as_table(&self) -> &Table

Returns a reference to the root table.

source

pub fn as_table_mut(&mut self) -> &mut Table

Returns a mutable reference to the root table.

source

pub fn iter(&self) -> Iter<'_>

Returns an iterator over the root table.

source

pub fn set_trailing(&mut self, trailing: impl Into<RawString>)

Set whitespace after last element

source

pub fn trailing(&self) -> &RawString

Whitespace after last element

Methods from Deref<Target = Table>§

source

pub fn get_values(&self) -> Vec<(Vec<&Key>, &Value)>

Get key/values for values that are visually children of this table

For example, this will return dotted keys

source

pub fn fmt(&mut self)

Auto formats the table.

source

pub fn sort_values(&mut self)

Sorts Key/Value Pairs of the table.

Doesn’t affect subtables or subarrays.

source

pub fn sort_values_by<F>(&mut self, compare: F)
where F: FnMut(&Key, &Item, &Key, &Item) -> Ordering,

Sort Key/Value Pairs of the table using the using the comparison function compare.

The comparison function receives two key and value pairs to compare (you can sort by keys or values or their combination as needed).

source

pub fn set_implicit(&mut self, implicit: bool)

If a table has no key/value pairs and implicit, it will not be displayed.

§Examples
[target."x86_64/windows.json".dependencies]

In the document above, tables target and target."x86_64/windows.json" are implicit.

use toml_edit::Document;
let mut doc = "[a]\n[a.b]\n".parse::<Document>().expect("invalid toml");

doc["a"].as_table_mut().unwrap().set_implicit(true);
assert_eq!(doc.to_string(), "[a.b]\n");
source

pub fn is_implicit(&self) -> bool

If a table has no key/value pairs and implicit, it will not be displayed.

source

pub fn set_dotted(&mut self, yes: bool)

Change this table’s dotted status

source

pub fn is_dotted(&self) -> bool

Check if this is a wrapper for dotted keys, rather than a standard table

source

pub fn set_position(&mut self, doc_position: usize)

Sets the position of the Table within the Document.

source

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

The position of the Table within the Document.

Returns None if the Table was created manually (i.e. not via parsing) in which case its position is set automatically. This can be overridden with Table::set_position.

source

pub fn decor_mut(&mut self) -> &mut Decor

Returns the surrounding whitespace

source

pub fn decor(&self) -> &Decor

Returns the decor associated with a given key of the table.

source

pub fn key_decor_mut(&mut self, key: &str) -> Option<&mut Decor>

Returns the decor associated with a given key of the table.

source

pub fn key_decor(&self, key: &str) -> Option<&Decor>

Returns the decor associated with a given key of the table.

source

pub fn iter(&self) -> Iter<'_>

Returns an iterator over all key/value pairs, including empty.

source

pub fn iter_mut(&mut self) -> IterMut<'_>

Returns an mutable iterator over all key/value pairs, including empty.

source

pub fn len(&self) -> usize

Returns the number of non-empty items in the table.

source

pub fn is_empty(&self) -> bool

Returns true if the table is empty.

source

pub fn clear(&mut self)

Clears the table, removing all key-value pairs. Keeps the allocated memory for reuse.

source

pub fn entry<'a>(&'a mut self, key: &str) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.

source

pub fn entry_format<'a>(&'a mut self, key: &Key) -> Entry<'a>

Gets the given key’s corresponding entry in the Table for in-place manipulation.

source

pub fn get<'a>(&'a self, key: &str) -> Option<&'a Item>

Returns an optional reference to an item given the key.

source

pub fn get_mut<'a>(&'a mut self, key: &str) -> Option<&'a mut Item>

Returns an optional mutable reference to an item given the key.

source

pub fn get_key_value<'a>(&'a self, key: &str) -> Option<(&'a Key, &'a Item)>

Return references to the key-value pair stored for key, if it is present, else None.

source

pub fn get_key_value_mut<'a>( &'a mut self, key: &str, ) -> Option<(KeyMut<'a>, &'a mut Item)>

Return mutable references to the key-value pair stored for key, if it is present, else None.

source

pub fn contains_key(&self, key: &str) -> bool

Returns true if the table contains an item with the given key.

source

pub fn contains_table(&self, key: &str) -> bool

Returns true if the table contains a table with the given key.

source

pub fn contains_value(&self, key: &str) -> bool

Returns true if the table contains a value with the given key.

source

pub fn contains_array_of_tables(&self, key: &str) -> bool

Returns true if the table contains an array of tables with the given key.

source

pub fn insert(&mut self, key: &str, item: Item) -> Option<Item>

Inserts a key-value pair into the map.

source

pub fn insert_formatted(&mut self, key: &Key, item: Item) -> Option<Item>

Inserts a key-value pair into the map.

source

pub fn remove(&mut self, key: &str) -> Option<Item>

Removes an item given the key.

source

pub fn remove_entry(&mut self, key: &str) -> Option<(Key, Item)>

Removes a key from the map, returning the stored key and value if the key was previously in the map.

source

pub fn retain<F>(&mut self, keep: F)
where F: FnMut(&str, &mut Item) -> bool,

Retains only the elements specified by the keep predicate.

In other words, remove all pairs (key, item) for which keep(&key, &mut item) returns false.

The elements are visited in iteration order.

Trait Implementations§

source§

impl Clone for Document

source§

fn clone(&self) -> Document

Returns a copy 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 Document

source§

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

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

impl Default for Document

source§

fn default() -> Self

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

impl Deref for Document

§

type Target = Table

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl DerefMut for Document

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
source§

impl Display for Document

source§

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

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

impl From<Table> for Document

source§

fn from(root: Table) -> Self

Converts to this type from the input type.
source§

impl FromStr for Document

source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a document from a &str

§

type Err = TomlError

The associated error which can be returned from parsing.
source§

impl<'s> Index<&'s str> for Document

§

type Output = Item

The returned type after indexing.
source§

fn index(&self, key: &'s str) -> &Item

Performs the indexing (container[index]) operation. Read more
source§

impl<'s> IndexMut<&'s str> for Document

source§

fn index_mut(&mut self, key: &'s str) -> &mut Item

Performs the mutable indexing (container[index]) operation. Read more
source§

impl<'de> IntoDeserializer<'de, Error> for Document

§

type Deserializer = Deserializer

The type of the deserializer being converted into.
source§

fn into_deserializer(self) -> Self::Deserializer

Convert this value into a deserializer.

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§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

§

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§

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

§

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

§

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.