pub enum CanonicalValue {
Null,
Boolean(bool),
Integer(i64),
Number(f64),
String(String),
Bytes(Vec<u8>),
List(Vec<CanonicalValue>),
Object(BTreeMap<String, CanonicalValue>),
}Expand description
Deterministic runtime value representation used throughout Runlet.
Variants§
Null
Absence of a value.
Boolean(bool)
Boolean value.
Integer(i64)
Signed 64-bit integer.
Number(f64)
Finite binary64 number.
String(String)
Unicode string.
Bytes(Vec<u8>)
Opaque byte sequence.
List(Vec<CanonicalValue>)
Ordered list of values.
Object(BTreeMap<String, CanonicalValue>)
String-keyed object kept in lexical key order.
Implementations§
Source§impl CanonicalValue
impl CanonicalValue
Sourcepub fn number(value: f64) -> Result<Self, ValueError>
pub fn number(value: f64) -> Result<Self, ValueError>
Creates a finite number, normalizing negative zero.
Sourcepub fn digest(&self) -> Result<[u8; 32], ValueError>
pub fn digest(&self) -> Result<[u8; 32], ValueError>
Returns the SHA-256 digest of the version-1 canonical encoding.
Sourcepub fn digest_hex(&self) -> Result<String, ValueError>
pub fn digest_hex(&self) -> Result<String, ValueError>
Returns the canonical digest as lowercase hexadecimal.
Sourcepub fn presentation_json(&self) -> Result<String, ValueError>
pub fn presentation_json(&self) -> Result<String, ValueError>
Serializes the value as deterministic, compact presentation JSON.
Raw byte values return ValueError::NotJsonRepresentable.
Trait Implementations§
Source§impl Clone for CanonicalValue
impl Clone for CanonicalValue
Source§fn clone(&self) -> CanonicalValue
fn clone(&self) -> CanonicalValue
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CanonicalValue
impl Debug for CanonicalValue
Source§impl<'de> Deserialize<'de> for CanonicalValue
impl<'de> Deserialize<'de> for CanonicalValue
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
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 From<&str> for CanonicalValue
impl From<&str> for CanonicalValue
Source§impl From<String> for CanonicalValue
impl From<String> for CanonicalValue
Source§impl From<bool> for CanonicalValue
impl From<bool> for CanonicalValue
Source§impl From<i64> for CanonicalValue
impl From<i64> for CanonicalValue
Source§impl PartialEq for CanonicalValue
impl PartialEq for CanonicalValue
Source§impl Serialize for CanonicalValue
impl Serialize for CanonicalValue
impl StructuralPartialEq for CanonicalValue
Auto Trait Implementations§
impl Freeze for CanonicalValue
impl RefUnwindSafe for CanonicalValue
impl Send for CanonicalValue
impl Sync for CanonicalValue
impl Unpin for CanonicalValue
impl UnsafeUnpin for CanonicalValue
impl UnwindSafe for CanonicalValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more