You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ACCEPTED_PROPOSALS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,3 +7,4 @@ Define JSON Logic on the JSON Data Model | - Defines JSON Logic on the data mode
7
7
`val` and context replacements | - Deprecates `var`, `missing` and `missing_some` to the legacy extension <br/> <br/> - Defines `val`, `exists` and `??` | https://github.com/orgs/json-logic/discussions/18 | [`val.json`](tests/val.json), [`exists.json`](tests/exists.json), [`coalesce.json`](tests/coalesce.json) | 1
8
8
Amend Test Specification / Error Handling | - Defines that errors like `NaN` should bubble up the AST and halt execution, unless handled. <br/><br/> - Extends the test specification to be able to test for errors. <br/><br/> - Introduces two new operators, `throw` and `try` <br/><br/> - Defines that division by zero results in a `NaN` error. | https://github.com/orgs/json-logic/discussions/20 | [`throw.json`](tests/throw.json), [`try.json`](tests/try.json) | 1
9
9
Linear Time Ruling | - Establishes a guideline for selecting enabled by default JSON Logic operators. <br/><br/> - All JSON Logic Core operators must be definable to run in a worst case Linear Time; ≤ Θ(n).<br/><br/> - Community Extensions may be recognized with operators that exceed this, but they must not be recommended for enablement by default. <br /><br/> - This is not an implementation mandate, rather a guideline for TC and Organization members to select JSON Logic operators in a way that mitigates denial of service attacks when rules are executed from an untrusted source. | https://github.com/orgs/json-logic/discussions/24 | N/A | 3
10
+
Arithmetic Operators | - The first proposal of several to evaluate existing operators and define any ambiguous behavior / improve consistency of the operators. <br/><br/> - Defined various `NaN` error states (invalid string coercions, divisions by zero) <br/><br/> - Defined Zero Argument and Single Argument and Variadic behavior for each operator (`+`, `-`, `*`, `/`, `%`) <br/><br/> - The variadic operators are treated as `foldLeft` <br/> <br/> - Defined numeric coercion rules. | https://github.com/orgs/json-logic/discussions/21 | [plus.json](tests/plus.json), [minus.json](tests/minus.json), [multiply.json](tests/multiply.json), [divide.json](tests/divide.json), [modulo.json](tests/modulo.json) | 1
0 commit comments