Enum Error

Source
#[non_exhaustive]
pub enum Error {
Show 63 variants S0101UnterminatedStringLiteral(usize), S0102LexedNumberOutOfRange(usize, String), S0103UnsupportedEscape(usize, char), S0104InvalidUnicodeEscape(usize), S0105UnterminatedQuoteProp(usize), S0106UnterminatedComment(usize), S0201SyntaxError(usize, String), S0202UnexpectedToken(usize, String, String), S0204UnknownOperator(usize, String), S0203ExpectedTokenBeforeEnd(usize, String), S0208InvalidFunctionParam(usize, String), S0209InvalidPredicate(usize), S0210MultipleGroupBy(usize), S0211InvalidUnary(usize, String), S0212ExpectedVarLeft(usize), S0213InvalidStep(usize, String), S0214ExpectedVarRight(usize, String), S0215BindingAfterPredicates(usize), S0216BindingAfterSort(usize), S0301EmptyRegex(usize), S0302UnterminatedRegex(usize), S0303InvalidRegex(usize, String), D1001NumberOfOutRange(f64), D1002NegatingNonNumeric(usize, String), D1004ZeroLengthMatch(usize), D1009MultipleKeys(usize, String), D2014RangeOutOfBounds(usize, isize), D3001StringNotFinite(usize), D3010EmptyPattern(usize), D3011NegativeLimit(usize), D3012InvalidReplacementType(usize), D3020NegativeLimit(usize), D3030NonNumericCast(usize, String), D3050SecondArguement(String), D3060SqrtNegative(usize, String), D3061PowUnrepresentable(usize, String, String), D3070InvalidDefaultSort(usize), D3141Assert(String), D3137Error(String), D3138Error(String), D3139Error(String), D3133PictureStringNameModifierError(String), D3134TooManyTzDigits(String), D3135PictureStringNoClosingBracketError(String), T0410ArgumentNotValid(usize, usize, String), T0412ArgumentMustBeArrayOfType(usize, usize, String, String), T1003NonStringKey(usize, String), T1005InvokedNonFunctionSuggest(usize, String), T1006InvokedNonFunction(usize), T2001LeftSideNotNumber(usize, String), T2002RightSideNotNumber(usize, String), T2003LeftSideNotInteger(usize), T2004RightSideNotInteger(usize), T2006RightSideNotFunction(usize), T2007CompareTypeMismatch(usize, String, String), T2008InvalidOrderBy(usize), T2009BinaryOpMismatch(usize, String, String, String), T2010BinaryOpTypes(usize, String), T2011UpdateNotObject(usize, String), T2012DeleteNotStrings(usize, String), T2013BadClone(usize), U1001StackOverflow, U1001Timeout,
}
Expand description

User-facing error codes and messages. These codes are defined in the Javascript implementation here: https://github.com/jsonata-js/jsonata/blob/9e6b8e6d081e34fbd72fe24ccd703afa9248fec5/src/jsonata.js#L1941

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

S0101UnterminatedStringLiteral(usize)

§

S0102LexedNumberOutOfRange(usize, String)

§

S0103UnsupportedEscape(usize, char)

§

S0104InvalidUnicodeEscape(usize)

§

S0105UnterminatedQuoteProp(usize)

§

S0106UnterminatedComment(usize)

§

S0201SyntaxError(usize, String)

§

S0202UnexpectedToken(usize, String, String)

§

S0204UnknownOperator(usize, String)

§

S0203ExpectedTokenBeforeEnd(usize, String)

§

S0208InvalidFunctionParam(usize, String)

§

S0209InvalidPredicate(usize)

§

S0210MultipleGroupBy(usize)

§

S0211InvalidUnary(usize, String)

§

S0212ExpectedVarLeft(usize)

§

S0213InvalidStep(usize, String)

§

S0214ExpectedVarRight(usize, String)

§

S0215BindingAfterPredicates(usize)

§

S0216BindingAfterSort(usize)

§

S0301EmptyRegex(usize)

§

S0302UnterminatedRegex(usize)

§

S0303InvalidRegex(usize, String)

§

D1001NumberOfOutRange(f64)

§

D1002NegatingNonNumeric(usize, String)

§

D1004ZeroLengthMatch(usize)

§

D1009MultipleKeys(usize, String)

§

D2014RangeOutOfBounds(usize, isize)

§

D3001StringNotFinite(usize)

§

D3010EmptyPattern(usize)

§

D3011NegativeLimit(usize)

§

D3012InvalidReplacementType(usize)

§

D3020NegativeLimit(usize)

§

D3030NonNumericCast(usize, String)

§

D3050SecondArguement(String)

§

D3060SqrtNegative(usize, String)

§

D3061PowUnrepresentable(usize, String, String)

§

D3070InvalidDefaultSort(usize)

§

D3141Assert(String)

§

D3137Error(String)

§

D3138Error(String)

§

D3139Error(String)

§

D3133PictureStringNameModifierError(String)

§

D3134TooManyTzDigits(String)

§

D3135PictureStringNoClosingBracketError(String)

§

T0410ArgumentNotValid(usize, usize, String)

§

T0412ArgumentMustBeArrayOfType(usize, usize, String, String)

§

T1003NonStringKey(usize, String)

§

T1005InvokedNonFunctionSuggest(usize, String)

§

T1006InvokedNonFunction(usize)

§

T2001LeftSideNotNumber(usize, String)

§

T2002RightSideNotNumber(usize, String)

§

T2003LeftSideNotInteger(usize)

§

T2004RightSideNotInteger(usize)

§

T2006RightSideNotFunction(usize)

§

T2007CompareTypeMismatch(usize, String, String)

§

T2008InvalidOrderBy(usize)

§

T2009BinaryOpMismatch(usize, String, String, String)

§

T2010BinaryOpTypes(usize, String)

§

T2011UpdateNotObject(usize, String)

§

T2012DeleteNotStrings(usize, String)

§

T2013BadClone(usize)

§

U1001StackOverflow

§

U1001Timeout

Implementations§

Source§

impl Error

Source

pub fn code(&self) -> &str

Error codes

Sxxxx - Static errors (compile time) Txxxx - Type errors Dxxxx - Dynamic errors (evaluate time) 01xx - tokenizer 02xx - parser 03xx - regex parser 04xx - function signature parser/evaluator 10xx - evaluator 20xx - operators 3xxx - functions (blocks of 10 for each function)

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for Error

Source§

fn eq(&self, other: &Error) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V