-
Notifications
You must be signed in to change notification settings - Fork 52
Adds jsonPath to error messages, so errors can be pinpointed. #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The jsonPath can be used to provide better error messages to users trying to create valid jsonLogic expressions Also: Fixes some exception messages to use the right operator. ("none", "or"). Aligns behavior to reference implementation for sums of unparseable strings, as well as for between comparisons of > and >=, and for comparison operators with arrays of more than three values.
When presented with an array parameter, jsonlogic.com uses the first value for + and * expressions.
src/main/java/io/github/jamsesso/jsonlogic/evaluator/expressions/LogicExpression.java
Outdated
Show resolved
Hide resolved
src/test/java/io/github/jamsesso/jsonlogic/ParseErrorTests.java
Outdated
Show resolved
Hide resolved
Also fixes a bug in the jsonPath calculation for and/or.
b78405f
to
887f9a4
Compare
Can you bump the version to |
1.1.0 was published to maven central. Thanks for the contribution :) |
Sorry to bother you, but did you see the bugfix PR? |
Heads up, this was a backwards incompatible change and broke when we attempted to pull it in. open-feature/java-sdk-contrib#1373 |
Yes. JsonLogicException now requires a JsonPath to pinpoint where in the JSON object the error originates. |
In the future, it would be awesome if the major version was updated instead to indicate the backwards incompatibility. |
The jsonPath can be used to provide better error messages to users trying
to create valid jsonLogic expressions
Also:
Fixes some exception messages to use the right operator. ("none", "or").
Aligns behavior to reference implementation for sums of unparseable strings,
as well as for between comparisons of > and >=, and for comparison operators
with arrays of more than three values.
Handles edge cases of + and * the way jsonlogic.com does