Struct dsntk_feel::context::FeelContext
source · pub struct FeelContext(/* private fields */);Expand description
The FEEL context.
Implementations§
source§impl FeelContext
impl FeelContext
sourcepub fn contains_entry(&self, name: &Name) -> bool
pub fn contains_entry(&self, name: &Name) -> bool
Returns true if context contains an entry specified by name.
sourcepub fn contains_entries(&self, qname: &QualifiedName) -> bool
pub fn contains_entries(&self, qname: &QualifiedName) -> bool
Returns true if this FeelContext contains an entry specified by QualifiedName.
sourcepub fn get_entry(&self, name: &Name) -> Option<&Value>
pub fn get_entry(&self, name: &Name) -> Option<&Value>
Returns a value of an entry with specified name.
sourcepub fn remove_entry(&mut self, name: &Name) -> Option<Value>
pub fn remove_entry(&mut self, name: &Name) -> Option<Value>
Removes a value of an entry with specified name.
sourcepub fn get_entries(&self) -> Vec<(&Name, &Value)>
pub fn get_entries(&self) -> Vec<(&Name, &Value)>
Returns a list of all FeelContext entries.
sourcepub fn iter(&self) -> Iter<'_, Name, Value>
pub fn iter(&self) -> Iter<'_, Name, Value>
Returns an iterator over all entries in FeelContext.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of entries in FeelContext.
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if FeelContext is empty.
sourcepub fn is_context(&self, name: &Name) -> bool
pub fn is_context(&self, name: &Name) -> bool
Returns true if FeelContext contains an entry with specified name, and the value is context.
sourcepub fn zip(&mut self, other: &FeelContext)
pub fn zip(&mut self, other: &FeelContext)
sourcepub fn overwrite(&mut self, other: &FeelContext)
pub fn overwrite(&mut self, other: &FeelContext)
pub fn move_entry(&mut self, name: Name, parent: Name)
sourcepub fn create_entry(&mut self, qname: &QualifiedName, value: Value)
pub fn create_entry(&mut self, qname: &QualifiedName, value: Value)
Creates an entry with a value for specified QualifiedName. All non existing intermediary contexts will be created.
sourcepub fn search_entry<'a>(&'a self, qname: &'a QualifiedName) -> Option<&'a Value>
pub fn search_entry<'a>(&'a self, qname: &'a QualifiedName) -> Option<&'a Value>
Searches for a value of an entry pointed by specified qualified name.
sourcepub fn contains_deep(&self, names: &[Name]) -> bool
pub fn contains_deep(&self, names: &[Name]) -> bool
Deep check for a value pointed by slice of names.
sourcepub fn create_entries(&mut self, names: &[Name], value: Value)
pub fn create_entries(&mut self, names: &[Name], value: Value)
Creates entries with intermediary contexts when needed.
sourcepub fn search_deep(&self, names: &[Name]) -> Option<&Value>
pub fn search_deep(&self, names: &[Name]) -> Option<&Value>
Deep search for a value pointed by names.
Methods from Deref<Target = BTreeMap<Name, Value>>§
1.0.0 · sourcepub fn get<Q>(&self, key: &Q) -> Option<&V>
pub fn get<Q>(&self, key: &Q) -> Option<&V>
Returns a reference to the value corresponding to the key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get(&1), Some(&"a"));
assert_eq!(map.get(&2), None);1.40.0 · sourcepub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
Returns the key-value pair corresponding to the supplied key.
The supplied key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get_key_value(&1), Some((&1, &"a")));
assert_eq!(map.get_key_value(&2), None);1.66.0 · sourcepub fn first_key_value(&self) -> Option<(&K, &V)>where
K: Ord,
pub fn first_key_value(&self) -> Option<(&K, &V)>where
K: Ord,
Returns the first key-value pair in the map. The key in this pair is the minimum key in the map.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
assert_eq!(map.first_key_value(), None);
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.first_key_value(), Some((&1, &"b")));1.66.0 · sourcepub fn last_key_value(&self) -> Option<(&K, &V)>where
K: Ord,
pub fn last_key_value(&self) -> Option<(&K, &V)>where
K: Ord,
Returns the last key-value pair in the map. The key in this pair is the maximum key in the map.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.last_key_value(), Some((&2, &"a")));1.0.0 · sourcepub fn contains_key<Q>(&self, key: &Q) -> bool
pub fn contains_key<Q>(&self, key: &Q) -> bool
Returns true if the map contains a value for the specified key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.contains_key(&1), true);
assert_eq!(map.contains_key(&2), false);1.17.0 · sourcepub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
Constructs a double-ended iterator over a sub-range of elements in the map.
The simplest way is to use the range syntax min..max, thus range(min..max) will
yield elements from min (inclusive) to max (exclusive).
The range may also be entered as (Bound<T>, Bound<T>), so for example
range((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive
range from 4 to 10.
Panics
Panics if range start > end.
Panics if range start == end and both bounds are Excluded.
Examples
use std::collections::BTreeMap;
use std::ops::Bound::Included;
let mut map = BTreeMap::new();
map.insert(3, "a");
map.insert(5, "b");
map.insert(8, "c");
for (&key, &value) in map.range((Included(&4), Included(&8))) {
println!("{key}: {value}");
}
assert_eq!(Some((&5, &"b")), map.range(4..).next());1.0.0 · sourcepub fn iter(&self) -> Iter<'_, K, V>
pub fn iter(&self) -> Iter<'_, K, V>
Gets an iterator over the entries of the map, sorted by key.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(3, "c");
map.insert(2, "b");
map.insert(1, "a");
for (key, value) in map.iter() {
println!("{key}: {value}");
}
let (first_key, first_value) = map.iter().next().unwrap();
assert_eq!((*first_key, *first_value), (1, "a"));1.0.0 · sourcepub fn keys(&self) -> Keys<'_, K, V>
pub fn keys(&self) -> Keys<'_, K, V>
Gets an iterator over the keys of the map, in sorted order.
Examples
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
a.insert(2, "b");
a.insert(1, "a");
let keys: Vec<_> = a.keys().cloned().collect();
assert_eq!(keys, [1, 2]);1.0.0 · sourcepub fn values(&self) -> Values<'_, K, V>
pub fn values(&self) -> Values<'_, K, V>
Gets an iterator over the values of the map, in order by key.
Examples
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
a.insert(1, "hello");
a.insert(2, "goodbye");
let values: Vec<&str> = a.values().cloned().collect();
assert_eq!(values, ["hello", "goodbye"]);1.0.0 · sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of elements in the map.
Examples
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
assert_eq!(a.len(), 0);
a.insert(1, "a");
assert_eq!(a.len(), 1);1.0.0 · sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if the map contains no elements.
Examples
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
assert!(a.is_empty());
a.insert(1, "a");
assert!(!a.is_empty());sourcepub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
🔬This is a nightly-only experimental API. (btree_cursors)
pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
btree_cursors)Returns a Cursor pointing at the first element that is above the
given bound.
If no such element exists then a cursor pointing at the “ghost” non-element is returned.
Passing Bound::Unbounded will return a cursor pointing at the first
element of the map.
Examples
#![feature(btree_cursors)]
use std::collections::BTreeMap;
use std::ops::Bound;
let mut a = BTreeMap::new();
a.insert(1, "a");
a.insert(2, "b");
a.insert(3, "c");
a.insert(4, "c");
let cursor = a.lower_bound(Bound::Included(&2));
assert_eq!(cursor.key(), Some(&2));
let cursor = a.lower_bound(Bound::Excluded(&2));
assert_eq!(cursor.key(), Some(&3));sourcepub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
🔬This is a nightly-only experimental API. (btree_cursors)
pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
btree_cursors)Returns a Cursor pointing at the last element that is below the
given bound.
If no such element exists then a cursor pointing at the “ghost” non-element is returned.
Passing Bound::Unbounded will return a cursor pointing at the last
element of the map.
Examples
#![feature(btree_cursors)]
use std::collections::BTreeMap;
use std::ops::Bound;
let mut a = BTreeMap::new();
a.insert(1, "a");
a.insert(2, "b");
a.insert(3, "c");
a.insert(4, "c");
let cursor = a.upper_bound(Bound::Included(&3));
assert_eq!(cursor.key(), Some(&3));
let cursor = a.upper_bound(Bound::Excluded(&3));
assert_eq!(cursor.key(), Some(&2));Trait Implementations§
source§impl Clone for FeelContext
impl Clone for FeelContext
source§fn clone(&self) -> FeelContext
fn clone(&self) -> FeelContext
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for FeelContext
impl Debug for FeelContext
source§impl Default for FeelContext
impl Default for FeelContext
source§fn default() -> FeelContext
fn default() -> FeelContext
source§impl Deref for FeelContext
impl Deref for FeelContext
source§impl Display for FeelContext
impl Display for FeelContext
source§impl From<FeelContext> for FeelScope
impl From<FeelContext> for FeelScope
source§fn from(ctx: FeelContext) -> Self
fn from(ctx: FeelContext) -> Self
Creates a FeelScope from FeelContext.
source§impl From<FeelContext> for Value
impl From<FeelContext> for Value
source§fn from(ctx: FeelContext) -> Self
fn from(ctx: FeelContext) -> Self
Converts FeelContext to Value.
source§impl Jsonify for FeelContext
impl Jsonify for FeelContext
source§fn jsonify(&self) -> String
fn jsonify(&self) -> String
Converts FeelContext to JSON string.
source§impl PartialEq for FeelContext
impl PartialEq for FeelContext
source§fn eq(&self, other: &FeelContext) -> bool
fn eq(&self, other: &FeelContext) -> bool
self and other values to be equal, and is used
by ==.source§impl ToFeelString for FeelContext
impl ToFeelString for FeelContext
source§fn to_feel_string(&self) -> String
fn to_feel_string(&self) -> String
Converts FeelContext to FEEL string.