Skip to main content

Options

Struct Options 

Source
pub struct Options {
    pub exclude_values: bool,
    pub unordered_arrays: bool,
    pub unordered_sets: bool,
    pub unordered_objects: bool,
}
Expand description

The choices that change the canonical bytes, mirroring the reference’s options.

Options::default is what the reference does when nothing is passed, so a digest computed with the default options matches one the reference computes with no options.

The reference’s respectType is deliberately absent. It is on by default there and makes every plain object carry a preamble describing Node’s prototype chain, which is a fact about the JavaScript runtime rather than about the value. This crate always encodes the respectType: false form; if the other side hashes plain objects with the default, hash them as Value::Map there or turn respectType off.

Fields§

§exclude_values: bool

Write only the keys of an object, ignoring the values.

This is the reference’s excludeValues, and its keys and keysMD5 helpers. It applies to Value::Object only; a Value::Map keeps its values, as the reference’s does.

§unordered_arrays: bool

Sort an array’s entries, so its order stops mattering.

This is the reference’s unorderedArrays, off by default.

§unordered_sets: bool

Sort a set’s entries.

This is the reference’s unorderedSets, on by default, and the reason a set is unordered at all.

§unordered_objects: bool

Sort an object’s keys.

This is the reference’s unorderedObjects, on by default.

Implementations§

Source§

impl Options

Source

pub fn keys() -> Self

The reference’s keys and keysMD5: hash an object’s keys, not its values.

Source

pub fn unordered_arrays(self) -> Self

The reference’s unorderedArrays: true: ignore an array’s order.

Trait Implementations§

Source§

impl Clone for Options

Source§

fn clone(&self) -> Self

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 Copy for Options

Source§

impl Debug for Options

Source§

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

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

impl Default for Options

Source§

fn default() -> Self

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

impl Eq for Options

Source§

impl PartialEq for Options

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Options

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<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 = !

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

fn try_from(value: U) -> Result<T, !>

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.