Enum jmespath::Variable
[−]
[src]
pub enum Variable { Null, String(String), Bool(bool), Number(f64), Array(Vec<Rcvar>), Object(BTreeMap<String, Rcvar>), Expref(Ast), }
JMESPath variable.
Variants
Null
String(String)
Bool(bool)
Number(f64)
Array(Vec<Rcvar>)
Object(BTreeMap<String, Rcvar>)
Expref(Ast)
Methods
impl Variable
[src]
fn from_json(s: &str) -> Result<Self, String>
Create a JMESPath Variable from a JSON encoded string.
fn is_array(&self) -> bool
Returns true if the Variable is an Array. Returns false otherwise.
fn as_array(&self) -> Option<&Vec<Rcvar>>
If the Variable value is an Array, returns the associated vector. Returns None otherwise.
fn is_object(&self) -> bool
Returns true if the value is an Object.
fn as_object(&self) -> Option<&BTreeMap<String, Rcvar>>
If the value is an Object, returns the associated BTreeMap. Returns None otherwise.
fn is_string(&self) -> bool
Returns true if the value is a String. Returns false otherwise.
fn as_string(&self) -> Option<&String>
If the value is a String, returns the associated str. Returns None otherwise.
fn is_number(&self) -> bool
Returns true if the value is a Number. Returns false otherwise.
fn as_number(&self) -> Option<f64>
If the value is a number, return or cast it to a f64. Returns None otherwise.
fn is_boolean(&self) -> bool
Returns true if the value is a Boolean. Returns false otherwise.
fn as_boolean(&self) -> Option<bool>
If the value is a Boolean, returns the associated bool. Returns None otherwise.
fn is_null(&self) -> bool
Returns true if the value is a Null. Returns false otherwise.
fn as_null(&self) -> Option<()>
If the value is a Null, returns (). Returns None otherwise.
fn is_expref(&self) -> bool
Returns true if the value is an expression reference. Returns false otherwise.
fn as_expref(&self) -> Option<&Ast>
If the value is an expression reference, returns the associated Ast node. Returns None otherwise.
fn get_field(&self, key: &str) -> Rcvar
If the value is an object, returns the value associated with the provided key. Otherwise, returns Null.
fn get_index(&self, index: usize) -> Rcvar
If the value is an array, then gets an array value by index. Otherwise returns Null.
fn get_negative_index(&self, index: usize) -> Rcvar
Retrieves an index from the end of an array.
Returns Null if not an array or if the index is not present. The formula for determining the index position is length - index (i.e., an index of 0 or 1 is treated as the end of the array).
fn is_truthy(&self) -> bool
Returns true or false based on if the Variable value is considered truthy.
fn get_type(&self) -> JmespathType
Returns the JMESPath type name of a Variable value.
fn compare(&self, cmp: &Comparator, value: &Variable) -> Option<bool>
Compares two Variable values using a comparator.
fn slice(
&self,
start: &Option<i32>,
stop: &Option<i32>,
step: i32
) -> Option<Vec<Rcvar>>
&self,
start: &Option<i32>,
stop: &Option<i32>,
step: i32
) -> Option<Vec<Rcvar>>
Returns a slice of the variable if the variable is an array.
Trait Implementations
impl Clone for Variable
[src]
fn clone(&self) -> Variable
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for Variable
[src]
impl Eq for Variable
[src]
impl PartialEq for Variable
[src]
Implement PartialEq for looser floating point comparisons.
fn eq(&self, other: &Variable) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl PartialOrd<Variable> for Variable
[src]
Implement PartialOrd so that Ast can be in the PartialOrd of Variable.
fn partial_cmp(&self, other: &Variable) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Variable) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Variable) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Variable) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Variable) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Ord for Variable
[src]
fn cmp(&self, other: &Self) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl Display for Variable
[src]
Write the JSON representation of a value, converting expref to a JSON string containing the debug dump of the expref variable.
fn fmt(&self, fmt: &mut Formatter) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<'a> From<&'a Value> for Variable
[src]
Convert a borrowed Value to a Variable.
impl From<Value> for Variable
[src]
Slightly optimized method for converting from an owned Value.
impl Deserialize for Variable
[src]
Serde deserialization for Variable
fn deserialize<D>(deserializer: &mut D) -> Result<Variable, D::Error> where
D: Deserializer,
D: Deserializer,
Deserialize this value given this Deserializer
.
impl Serialize for Variable
[src]
fn serialize<S>(&self, serializer: &mut S) -> Result<(), S::Error> where
S: Serializer,
S: Serializer,
Serializes this value into this serializer.