pub struct ExplainResult {
pub expression: String,
pub steps: Vec<ExplainStep>,
pub functions_used: Vec<String>,
pub complexity: String,
}Expand description
Step-by-step breakdown of a JMESPath expression.
Returned by JpxEngine::explain.
§Example
use jpx_engine::JpxEngine;
let engine = JpxEngine::new();
let result = engine.explain("users[?age > `30`].name | sort(@)").unwrap();
assert!(!result.steps.is_empty());
assert!(result.functions_used.contains(&"sort".to_string()));Fields§
§expression: StringThe original expression.
steps: Vec<ExplainStep>Ordered steps describing what the expression does.
functions_used: Vec<String>All function names used in the expression.
complexity: StringRough complexity label: “simple”, “moderate”, or “complex”.
Trait Implementations§
Source§impl Clone for ExplainResult
impl Clone for ExplainResult
Source§fn clone(&self) -> ExplainResult
fn clone(&self) -> ExplainResult
Returns a duplicate of the value. Read more
1.0.0 · 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 ExplainResult
impl Debug for ExplainResult
Source§impl<'de> Deserialize<'de> for ExplainResult
impl<'de> Deserialize<'de> for ExplainResult
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
Auto Trait Implementations§
impl Freeze for ExplainResult
impl RefUnwindSafe for ExplainResult
impl Send for ExplainResult
impl Sync for ExplainResult
impl Unpin for ExplainResult
impl UnwindSafe for ExplainResult
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