Skip to main content

Format

Enum Format 

Source
pub enum Format {
    Json,
    Json5,
    Jsonc,
    Yaml,
    Toon,
    Toml,
    Ini,
}
Expand description

Supported textual formats for the value-model disassembler.

Variants§

§

Json

§

Json5

§

Jsonc

§

Yaml

§

Toon

§

Toml

TOML is intentionally isolated from the JSON-value formats: TOML’s syntactic constraints (no nulls, no array root, bare keys must precede tables) mean conversions through TOML can reorder or fail to represent values produced by JSON/JSON5/JSONC/YAML/TOON. TOML files can therefore only be split into TOML files and reassembled into TOML.

§

Ini

INI uses the same table-document split layout as TOML, but is even narrower: section values are strings (or valueless keys) and deeper nesting/arrays cannot be represented without inventing an encoding.

Implementations§

Source§

impl Format

Source

pub const ALL: &'static [Format]

All formats handled by the value-model disassembler.

Source

pub fn extension(self) -> &'static str

Canonical file extension (without the leading dot).

Source

pub fn canonical_name(self) -> &'static str

Canonical lower-case name used in CLI and metadata.

Source

pub fn display_name(self) -> &'static str

Human-facing display name.

Source

pub fn aliases(self) -> &'static [&'static str]

Accepted names for CLI parsing.

Source

pub fn extensions(self) -> &'static [&'static str]

File extensions that identify this format.

Source

pub fn family(self) -> FormatFamily

The conversion family this format belongs to.

Source

pub fn compatible_formats(self) -> &'static [Format]

Formats that can safely convert to/from this format.

Source

pub fn allows_format_overrides(self) -> bool

Whether CLI --input-format / --output-format flags are useful for this subcommand.

Source

pub fn is_cross_format_compatible(self) -> bool

Whether this format participates in cross-format conversions.

Source

pub fn can_convert_to(self, output: Format) -> bool

Whether this format can be converted into output.

Source

pub fn ensure_can_convert_to( self, output: Format, operation: ConversionOperation, ) -> Result<()>

Return a clear error if a conversion edge is not allowed.

Source

pub fn from_path(path: &Path) -> Result<Self>

Best-effort detection of a format from a file path’s extension.

Source

pub fn parse(self, input: &str) -> Result<Value>

Parse a string in this format into a generic Value.

Source

pub fn serialize(self, value: &Value) -> Result<String>

Serialize a Value in this format. The output is always pretty-printed with newline-terminated content.

Source

pub fn load(self, path: &Path) -> Result<Value>

Read and parse a file in this format.

Source

pub fn wrap_split_payload(self, key: &str, value: &Value) -> Value

Prepare a per-key split payload for this format.

Most formats can write the payload value directly. TOML wraps the payload under its parent key so every split file remains a valid TOML table document.

Source

pub fn unwrap_split_payload( self, key: &str, filename: &str, loaded: Value, ) -> Result<Value>

Reverse Format::wrap_split_payload while reassembling.

Source

pub fn supported_format_list() -> String

Canonical CLI names for all registered formats.

Trait Implementations§

Source§

impl Clone for Format

Source§

fn clone(&self) -> Format

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 Format

Source§

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

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

impl<'de> Deserialize<'de> for Format

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for Format

Source§

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

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

impl FromStr for Format

Source§

type Err = Error

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

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

Parses a string s to return a value of this type. Read more
Source§

impl PartialEq for Format

Source§

fn eq(&self, other: &Format) -> 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 Serialize for Format

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for Format

Source§

impl Eq for Format

Source§

impl StructuralPartialEq for Format

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

Source§

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

Compare self to key and return true if they are equal.
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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,