pub enum Value {
Scalar(ScalarCow<'static>),
Array(Vec<Value>),
Object(Object),
State(State),
Nil,
}
Expand description
An enum to represent different value types
Variants§
Scalar(ScalarCow<'static>)
A scalar value.
Array(Vec<Value>)
A sequence of Value
s.
Object(Object)
A sequence of key/Value
pairs.
State(State)
Query symbol.
Nil
Nothing.
Implementations§
Source§impl Value
impl Value
Sourcepub fn array<I>(iter: I) -> Valuewhere
I: IntoIterator<Item = Value>,
pub fn array<I>(iter: I) -> Valuewhere
I: IntoIterator<Item = Value>,
Create as an Array
.
Sourcepub fn into_scalar(self) -> Option<ScalarCow<'static>>
pub fn into_scalar(self) -> Option<ScalarCow<'static>>
Extracts the scalar value if it is a scalar.
Sourcepub fn into_array(self) -> Option<Vec<Value>>
pub fn into_array(self) -> Option<Vec<Value>>
Extracts the array value if it is an array.
Sourcepub fn as_array_mut(&mut self) -> Option<&mut Vec<Value>>
pub fn as_array_mut(&mut self) -> Option<&mut Vec<Value>>
Extracts the array value as mutable if it is a object.
Sourcepub fn into_object(self) -> Option<Object>
pub fn into_object(self) -> Option<Object>
Extracts the object value if it is a object.
Sourcepub fn as_object_mut(&mut self) -> Option<&mut Object>
pub fn as_object_mut(&mut self) -> Option<&mut Object>
Extracts the object value as mutable if it is a object.
Sourcepub fn into_state(self) -> Option<State>
pub fn into_state(self) -> Option<State>
Extracts the state if it is one
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Value, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Value, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'s> PartialEq<KStringCowBase<'s>> for Value
impl<'s> PartialEq<KStringCowBase<'s>> for Value
Source§impl<'s> PartialEq<KStringRef<'s>> for Value
impl<'s> PartialEq<KStringRef<'s>> for Value
Source§impl<'v> PartialEq<ValueViewCmp<'v>> for Value
impl<'v> PartialEq<ValueViewCmp<'v>> for Value
Source§impl PartialOrd for Value
impl PartialOrd for Value
Source§impl Serialize for Value
impl Serialize for Value
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl ValueView for Value
impl ValueView for Value
Source§fn render(&self) -> DisplayCow<'_>
fn render(&self) -> DisplayCow<'_>
A
Display
for a BoxedValue
rendered for the user.Source§fn source(&self) -> DisplayCow<'_>
fn source(&self) -> DisplayCow<'_>
A
Display
for a Value
as source code.Source§fn query_state(&self, state: State) -> bool
fn query_state(&self, state: State) -> bool
Query the value’s state
Source§fn to_kstr(&self) -> KStringCowBase<'_>
fn to_kstr(&self) -> KStringCowBase<'_>
Interpret as a string.
Source§fn as_object(&self) -> Option<&dyn ObjectView>
fn as_object(&self) -> Option<&dyn ObjectView>
Extracts the object value if it is a object.
impl Eq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more