Trait value_trait::ValueAccess

source ·
pub trait ValueAccess: Sized {
    type Target: ValueAccess;
    type Key: Hash + Eq;
    type Array: Array<Element = Self::Target>;
    type Object: Object<Key = Self::Key, Element = Self::Target>;

Show 39 methods // Required methods fn as_bool(&self) -> Option<bool>; fn as_i64(&self) -> Option<i64>; fn as_u64(&self) -> Option<u64>; fn as_f64(&self) -> Option<f64>; fn as_str(&self) -> Option<&str>; fn as_array(&self) -> Option<&Self::Array>; fn as_object(&self) -> Option<&Self::Object>; // Provided methods fn get<Q>(&self, k: &Q) -> Option<&Self::Target> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn contains_key<Q>(&self, k: &Q) -> bool where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_idx(&self, i: usize) -> Option<&Self::Target> { ... } fn get_bool<Q>(&self, k: &Q) -> Option<bool> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_i128(&self) -> Option<i128> { ... } fn get_i128<Q>(&self, k: &Q) -> Option<i128> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_i64<Q>(&self, k: &Q) -> Option<i64> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_i32(&self) -> Option<i32> { ... } fn get_i32<Q>(&self, k: &Q) -> Option<i32> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_i16(&self) -> Option<i16> { ... } fn get_i16<Q>(&self, k: &Q) -> Option<i16> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_i8(&self) -> Option<i8> { ... } fn get_i8<Q>(&self, k: &Q) -> Option<i8> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_u128(&self) -> Option<u128> { ... } fn get_u128<Q>(&self, k: &Q) -> Option<u128> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_u64<Q>(&self, k: &Q) -> Option<u64> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_usize(&self) -> Option<usize> { ... } fn get_usize<Q>(&self, k: &Q) -> Option<usize> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_u32(&self) -> Option<u32> { ... } fn get_u32<Q>(&self, k: &Q) -> Option<u32> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_u16(&self) -> Option<u16> { ... } fn get_u16<Q>(&self, k: &Q) -> Option<u16> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_u8(&self) -> Option<u8> { ... } fn get_u8<Q>(&self, k: &Q) -> Option<u8> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_f64<Q>(&self, k: &Q) -> Option<f64> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn cast_f64(&self) -> Option<f64> { ... } fn as_f32(&self) -> Option<f32> { ... } fn get_f32<Q>(&self, k: &Q) -> Option<f32> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn as_char(&self) -> Option<char> { ... } fn get_str<Q>(&self, k: &Q) -> Option<&str> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_array<Q>( &self, k: &Q, ) -> Option<&<<Self as ValueAccess>::Target as ValueAccess>::Array> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... } fn get_object<Q>( &self, k: &Q, ) -> Option<&<<Self as ValueAccess>::Target as ValueAccess>::Object> where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized { ... }
}
Expand description

Trait to allow accessing data inside a Value

Required Associated Types§

source

type Target: ValueAccess

The target for nested lookups

source

type Key: Hash + Eq

The type for Objects

source

type Array: Array<Element = Self::Target>

The array structure

source

type Object: Object<Key = Self::Key, Element = Self::Target>

The object structure

Required Methods§

source

fn as_bool(&self) -> Option<bool>

Tries to represent the value as a bool

source

fn as_i64(&self) -> Option<i64>

Tries to represent the value as an i64

source

fn as_u64(&self) -> Option<u64>

Tries to represent the value as an u64

source

fn as_f64(&self) -> Option<f64>

Tries to represent the value as a f64

source

fn as_str(&self) -> Option<&str>

Tries to represent the value as a &str

source

fn as_array(&self) -> Option<&Self::Array>

Tries to represent the value as an array and returns a refference to it

source

fn as_object(&self) -> Option<&Self::Object>

Tries to represent the value as an object and returns a refference to it

Provided Methods§

source

fn get<Q>(&self, k: &Q) -> Option<&Self::Target>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Gets a ref to a value based on a key, returns None if the current Value isn’t an Object or doesn’t contain the key it was asked for.

source

fn contains_key<Q>(&self, k: &Q) -> bool
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Checks if a Value contains a given key. This will return flase if Value isn’t an object

source

fn get_idx(&self, i: usize) -> Option<&Self::Target>

Gets a ref to a value based on n index, returns None if the current Value isn’t an Array or doesn’t contain the index it was asked for.

source

fn get_bool<Q>(&self, k: &Q) -> Option<bool>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a bool

source

fn as_i128(&self) -> Option<i128>

Tries to represent the value as an i128

source

fn get_i128<Q>(&self, k: &Q) -> Option<i128>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a i128

source

fn get_i64<Q>(&self, k: &Q) -> Option<i64>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a i64

source

fn as_i32(&self) -> Option<i32>

Tries to represent the value as an i32

source

fn get_i32<Q>(&self, k: &Q) -> Option<i32>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a i32

source

fn as_i16(&self) -> Option<i16>

Tries to represent the value as an i16

source

fn get_i16<Q>(&self, k: &Q) -> Option<i16>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a i16

source

fn as_i8(&self) -> Option<i8>

Tries to represent the value as an i8

source

fn get_i8<Q>(&self, k: &Q) -> Option<i8>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a i8

source

fn as_u128(&self) -> Option<u128>

Tries to represent the value as an u128

source

fn get_u128<Q>(&self, k: &Q) -> Option<u128>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a u128

source

fn get_u64<Q>(&self, k: &Q) -> Option<u64>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a u64

source

fn as_usize(&self) -> Option<usize>

Tries to represent the value as an usize

source

fn get_usize<Q>(&self, k: &Q) -> Option<usize>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a usize

source

fn as_u32(&self) -> Option<u32>

Tries to represent the value as an u32

source

fn get_u32<Q>(&self, k: &Q) -> Option<u32>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a u32

source

fn as_u16(&self) -> Option<u16>

Tries to represent the value as an u16

source

fn get_u16<Q>(&self, k: &Q) -> Option<u16>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a u16

source

fn as_u8(&self) -> Option<u8>

Tries to represent the value as an u8

source

fn get_u8<Q>(&self, k: &Q) -> Option<u8>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a u8

source

fn get_f64<Q>(&self, k: &Q) -> Option<f64>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a f64

source

fn cast_f64(&self) -> Option<f64>

Casts the current value to a f64 if possible, this will turn integer values into floats.

source

fn as_f32(&self) -> Option<f32>

Tries to represent the value as a f32

source

fn get_f32<Q>(&self, k: &Q) -> Option<f32>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a f32

source

fn as_char(&self) -> Option<char>

Tries to represent the value as a Char

source

fn get_str<Q>(&self, k: &Q) -> Option<&str>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a str

source

fn get_array<Q>( &self, k: &Q, ) -> Option<&<<Self as ValueAccess>::Target as ValueAccess>::Array>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a array

source

fn get_object<Q>( &self, k: &Q, ) -> Option<&<<Self as ValueAccess>::Target as ValueAccess>::Object>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Tries to get an element of an object as a object

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<V> ValueAccess for Option<V>
where V: ValueAccess,

§

type Target = <V as ValueAccess>::Target

§

type Key = <V as ValueAccess>::Key

§

type Array = <V as ValueAccess>::Array

§

type Object = <V as ValueAccess>::Object

source§

fn as_bool(&self) -> Option<bool>

source§

fn as_i64(&self) -> Option<i64>

source§

fn as_u64(&self) -> Option<u64>

source§

fn as_f64(&self) -> Option<f64>

source§

fn as_str(&self) -> Option<&str>

source§

fn as_array(&self) -> Option<&Self::Array>

source§

fn as_object(&self) -> Option<&Self::Object>

source§

impl<V> ValueAccess for &V
where V: ValueAccess,

§

type Target = <V as ValueAccess>::Target

§

type Key = <V as ValueAccess>::Key

§

type Array = <V as ValueAccess>::Array

§

type Object = <V as ValueAccess>::Object

source§

fn as_bool(&self) -> Option<bool>

source§

fn as_i64(&self) -> Option<i64>

source§

fn as_u64(&self) -> Option<u64>

source§

fn as_f64(&self) -> Option<f64>

source§

fn as_str(&self) -> Option<&str>

source§

fn as_array(&self) -> Option<&Self::Array>

source§

fn as_object(&self) -> Option<&Self::Object>

source§

impl<V, E> ValueAccess for Result<V, E>
where V: ValueAccess,

§

type Target = <V as ValueAccess>::Target

§

type Key = <V as ValueAccess>::Key

§

type Array = <V as ValueAccess>::Array

§

type Object = <V as ValueAccess>::Object

source§

fn as_bool(&self) -> Option<bool>

source§

fn as_i64(&self) -> Option<i64>

source§

fn as_u64(&self) -> Option<u64>

source§

fn as_f64(&self) -> Option<f64>

source§

fn as_str(&self) -> Option<&str>

source§

fn as_array(&self) -> Option<&Self::Array>

source§

fn as_object(&self) -> Option<&Self::Object>

Implementors§