jtlt 0.17.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore +3 -0
- package/.npmignore +3 -0
- package/CHANGES.md +10 -0
- package/README.md +1 -0
- package/dist/JSONPathTransformerContext.d.ts +47 -0
- package/dist/JSONPathTransformerContext.d.ts.map +1 -1
- package/dist/XPathTransformerContext.d.ts +44 -0
- package/dist/XPathTransformerContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/JSONPathTransformerContext.js +120 -1
- package/src/XPathTransformerContext.js +115 -1
package/.gitignore
ADDED
package/.npmignore
ADDED
package/CHANGES.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# jtlt CHANGES
|
|
2
2
|
|
|
3
|
+
## 0.18.0
|
|
4
|
+
|
|
5
|
+
- feat: `this.if()` / `choose()` / `assert()` accept a simple, non-`eval`
|
|
6
|
+
binary comparison as their test, e.g. `this.if('$name === "x"')` or
|
|
7
|
+
`this.if('$count < 50')` — a bare `$name` parameter (or, for the JSONPath
|
|
8
|
+
engine, a plain dotted/indexed `$...` path) on the left, one of
|
|
9
|
+
`===` / `!==` / `==` / `!=` / `<` / `<=` / `>` / `>=`, and a string,
|
|
10
|
+
number, boolean, `null`, or `undefined` literal on the right; anything
|
|
11
|
+
more complex is left to the JSONPath/XPath engine
|
|
12
|
+
|
|
3
13
|
## 0.17.0
|
|
4
14
|
|
|
5
15
|
- feat: `this.if('$name', ...)` (and `choose()`/`assert()`) test a parameter
|
package/README.md
CHANGED
|
@@ -419,6 +419,7 @@ Advantages (strong parallels with XSLT):
|
|
|
419
419
|
- Built‑in default rules: when no template matches, defaults traverse and render objects, arrays, scalars, property names, and functions, similar to XSLT’s built‑in templates.
|
|
420
420
|
- applyTemplates/forEach and sorting: `applyTemplates(select, mode, sort)` and `forEach(select, cb, sort)` mirror `xsl:apply-templates`/`xsl:for-each` and `xsl:sort`.
|
|
421
421
|
- Named templates and parameters: `callTemplate(name, withParam)` reflects `xsl:call-template` + `xsl:with-param`. `this.param(name, default)` mirrors `xsl:param` — the declared default is used unless the caller supplied a value (via `this.withParam(name, value)` before the call, or `callTemplate`'s `withParam` array) or a runtime value was passed as `config.params` (like an XSLT processor's stylesheet parameters). `this.withParam(name, value)` stages a parameter for the next `callTemplate()`/`applyTemplates()`, which consumes and clears the staged set. `config.params` values are also readable as `$name` from any template. In each of `param()`/`withParam()`, the value argument is a selector expression string (or `{select}`), or a literal `{value}`.
|
|
422
|
+
- Conditionals: `this.if(test, cb)`, `this.choose(test, whenCb, otherwiseCb)`, and `this.assert(test, message)` mirror `xsl:if`, `xsl:choose`, and `xsl:assert`. `test` is a JSONPath/XPath expression (a non-empty result set is truthy), a bare `$name` parameter reference, or a simple non-`eval` comparison such as `'$name === "x"'` or `'$count < 50'` — a `$name` parameter (or, for the JSONPath engine, a plain dotted/indexed `$...` path) on the left, one of `===` / `!==` / `==` / `!=` / `<` / `<=` / `>` / `>=`, and a string, number, boolean, `null`, or `undefined` literal on the right.
|
|
422
423
|
- Keys and lookups: `key(name, match, use)` + `getKey(name, value)` provide `xsl:key`-style indexing for joins and fast lookups.
|
|
423
424
|
- Multiple output forms: string, DOM, and JSON builders ("joiners") allow emitting different result trees like XSLT’s result tree model.
|
|
424
425
|
|
|
@@ -854,6 +854,14 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
|
|
|
854
854
|
* with `param()`, supplied via `withParam()`, or provided at runtime as
|
|
855
855
|
* `config.params` — rather than a JSONPath expression.
|
|
856
856
|
*
|
|
857
|
+
* The test may also be a simple binary comparison of a reference against a
|
|
858
|
+
* literal, evaluated without `eval`, e.g. `this.if('$name === "x"')` or
|
|
859
|
+
* `this.if('$.count < 50')`. The left side is a bare `$name` parameter or a
|
|
860
|
+
* plain dotted/indexed `$...` path; the operator is one of `===`, `!==`,
|
|
861
|
+
* `==`, `!=`, `<`, `<=`, `>`, `>=`; the right side is a string, number,
|
|
862
|
+
* boolean, `null`, or `undefined` literal. Anything more complex (filter
|
|
863
|
+
* expressions, function calls) is left to the JSONPath engine.
|
|
864
|
+
*
|
|
857
865
|
* Truthiness rules:
|
|
858
866
|
* - If the selection (with wrap) yields an array with length > 0, the
|
|
859
867
|
* condition passes.
|
|
@@ -884,6 +892,45 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
|
|
|
884
892
|
* @returns {boolean}
|
|
885
893
|
*/
|
|
886
894
|
_passesIf(select: string): boolean;
|
|
895
|
+
/**
|
|
896
|
+
* Parse a simple `<ref> <op> <literal>` comparison test (no `eval`), such
|
|
897
|
+
* as `$name === "x"` or `$.a.b < 50`. The left side must be a bare `$name`
|
|
898
|
+
* parameter reference or a plain dotted/indexed `$...` path — no filter
|
|
899
|
+
* expressions or function calls; the right side a string, number, boolean,
|
|
900
|
+
* `null`, or `undefined` literal. Returns `null` when the string is not
|
|
901
|
+
* such a comparison, so richer JSONPath expressions fall through untouched.
|
|
902
|
+
* @param {string} str
|
|
903
|
+
* @returns {{left: string, op: string, right: unknown}|null}
|
|
904
|
+
* @private
|
|
905
|
+
*/
|
|
906
|
+
private _parseComparison;
|
|
907
|
+
/**
|
|
908
|
+
* Parse a JSON-ish scalar literal: a double- or single-quoted string, a
|
|
909
|
+
* number, or `true` / `false` / `null` / `undefined`. Returns `null` when
|
|
910
|
+
* `str` is none of these.
|
|
911
|
+
* @param {string} str
|
|
912
|
+
* @returns {{value: unknown}|null}
|
|
913
|
+
* @private
|
|
914
|
+
*/
|
|
915
|
+
private _parseLiteral;
|
|
916
|
+
/**
|
|
917
|
+
* Resolve the left side of a simple comparison: a bare `$name` parameter
|
|
918
|
+
* reference (local, with-param, then runtime `config.params`), otherwise a
|
|
919
|
+
* plain `$...` path evaluated (unwrapped) in the current context.
|
|
920
|
+
* @param {string} ref
|
|
921
|
+
* @returns {unknown}
|
|
922
|
+
* @private
|
|
923
|
+
*/
|
|
924
|
+
private _resolveComparand;
|
|
925
|
+
/**
|
|
926
|
+
* Apply a comparison operator to two already-resolved values.
|
|
927
|
+
* @param {any} a - Left operand
|
|
928
|
+
* @param {string} op - One of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`
|
|
929
|
+
* @param {any} b - Right operand
|
|
930
|
+
* @returns {boolean}
|
|
931
|
+
* @private
|
|
932
|
+
*/
|
|
933
|
+
private _compareValues;
|
|
887
934
|
/**
|
|
888
935
|
* Like `if()`, but also supports an optional fallback callback executed
|
|
889
936
|
* when the test does not pass (similar to xsl:choose/xsl:otherwise).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONPathTransformerContext.d.ts","sourceRoot":"","sources":["../src/JSONPathTransformerContext.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JSONPathTransformerContext.d.ts","sourceRoot":"","sources":["../src/JSONPathTransformerContext.js"],"names":[],"mappings":"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"}
|
|
@@ -734,6 +734,13 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
|
|
|
734
734
|
* supplied via `withParam()`, or provided at runtime as `config.params` —
|
|
735
735
|
* rather than an XPath expression.
|
|
736
736
|
*
|
|
737
|
+
* The test may also be a simple binary comparison of a `$name` parameter
|
|
738
|
+
* against a literal, evaluated without `eval`, e.g.
|
|
739
|
+
* `this.if('$name === "x"')` or `this.if('$count < 50')`. The operator is
|
|
740
|
+
* one of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`; the right side is
|
|
741
|
+
* a string, number, boolean, `null`, or `undefined` literal. Anything else
|
|
742
|
+
* is left to the XPath engine.
|
|
743
|
+
*
|
|
737
744
|
* Truthiness rules:
|
|
738
745
|
* - Node set: length > 0 passes.
|
|
739
746
|
* - Scalar: Boolean(value) must be true.
|
|
@@ -761,6 +768,43 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
|
|
|
761
768
|
* @returns {boolean}
|
|
762
769
|
*/
|
|
763
770
|
_passesIf(select: string): boolean;
|
|
771
|
+
/**
|
|
772
|
+
* Parse a simple `$name <op> <literal>` comparison test (no `eval`), such
|
|
773
|
+
* as `$name === "x"` or `$count < 50`. The left side must be a bare `$name`
|
|
774
|
+
* parameter reference; the right side a string, number, boolean, `null`,
|
|
775
|
+
* or `undefined` literal. Returns `null` when the string is not such a
|
|
776
|
+
* comparison, so richer XPath expressions fall through untouched.
|
|
777
|
+
* @param {string} str
|
|
778
|
+
* @returns {{left: string, op: string, right: unknown}|null}
|
|
779
|
+
* @private
|
|
780
|
+
*/
|
|
781
|
+
private _parseComparison;
|
|
782
|
+
/**
|
|
783
|
+
* Parse a JSON-ish scalar literal: a double- or single-quoted string, a
|
|
784
|
+
* number, or `true` / `false` / `null` / `undefined`. Returns `null` when
|
|
785
|
+
* `str` is none of these.
|
|
786
|
+
* @param {string} str
|
|
787
|
+
* @returns {{value: unknown}|null}
|
|
788
|
+
* @private
|
|
789
|
+
*/
|
|
790
|
+
private _parseLiteral;
|
|
791
|
+
/**
|
|
792
|
+
* Resolve the left side of a simple comparison: a bare `$name` parameter
|
|
793
|
+
* reference (local, with-param, then runtime `config.params`).
|
|
794
|
+
* @param {string} ref
|
|
795
|
+
* @returns {unknown}
|
|
796
|
+
* @private
|
|
797
|
+
*/
|
|
798
|
+
private _resolveComparand;
|
|
799
|
+
/**
|
|
800
|
+
* Apply a comparison operator to two already-resolved values.
|
|
801
|
+
* @param {any} a - Left operand
|
|
802
|
+
* @param {string} op - One of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`
|
|
803
|
+
* @param {any} b - Right operand
|
|
804
|
+
* @returns {boolean}
|
|
805
|
+
* @private
|
|
806
|
+
*/
|
|
807
|
+
private _compareValues;
|
|
764
808
|
/**
|
|
765
809
|
* Conditional with optional fallback (like choose/otherwise).
|
|
766
810
|
* Truthiness same as `if()`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XPathTransformerContext.d.ts","sourceRoot":"","sources":["../src/XPathTransformerContext.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"XPathTransformerContext.d.ts","sourceRoot":"","sources":["../src/XPathTransformerContext.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2553,6 +2553,14 @@ class JSONPathTransformerContext {
|
|
|
2553
2553
|
* with `param()`, supplied via `withParam()`, or provided at runtime as
|
|
2554
2554
|
* `config.params` — rather than a JSONPath expression.
|
|
2555
2555
|
*
|
|
2556
|
+
* The test may also be a simple binary comparison of a reference against a
|
|
2557
|
+
* literal, evaluated without `eval`, e.g. `this.if('$name === "x"')` or
|
|
2558
|
+
* `this.if('$.count < 50')`. The left side is a bare `$name` parameter or a
|
|
2559
|
+
* plain dotted/indexed `$...` path; the operator is one of `===`, `!==`,
|
|
2560
|
+
* `==`, `!=`, `<`, `<=`, `>`, `>=`; the right side is a string, number,
|
|
2561
|
+
* boolean, `null`, or `undefined` literal. Anything more complex (filter
|
|
2562
|
+
* expressions, function calls) is left to the JSONPath engine.
|
|
2563
|
+
*
|
|
2556
2564
|
* Truthiness rules:
|
|
2557
2565
|
* - If the selection (with wrap) yields an array with length > 0, the
|
|
2558
2566
|
* condition passes.
|
|
@@ -2613,18 +2621,129 @@ class JSONPathTransformerContext {
|
|
|
2613
2621
|
*/
|
|
2614
2622
|
_passesIf (select) {
|
|
2615
2623
|
if (typeof select === 'string') {
|
|
2616
|
-
const
|
|
2624
|
+
const trimmed = select.trim();
|
|
2625
|
+
const paramRef = trimmed.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2617
2626
|
if (paramRef && paramRef.groups) {
|
|
2618
2627
|
const param = this._lookupParam(paramRef.groups.name);
|
|
2619
2628
|
if (param.has) {
|
|
2620
2629
|
return this._isTruthyResult(param.value);
|
|
2621
2630
|
}
|
|
2622
2631
|
}
|
|
2632
|
+
const cmp = this._parseComparison(trimmed);
|
|
2633
|
+
if (cmp) {
|
|
2634
|
+
return this._compareValues(
|
|
2635
|
+
this._resolveComparand(cmp.left), cmp.op, cmp.right
|
|
2636
|
+
);
|
|
2637
|
+
}
|
|
2623
2638
|
}
|
|
2624
2639
|
// Evaluate with wrapping to detect non-empty match sets
|
|
2625
2640
|
return this._isTruthyResult(this.get(select, true));
|
|
2626
2641
|
}
|
|
2627
2642
|
|
|
2643
|
+
/**
|
|
2644
|
+
* Parse a simple `<ref> <op> <literal>` comparison test (no `eval`), such
|
|
2645
|
+
* as `$name === "x"` or `$.a.b < 50`. The left side must be a bare `$name`
|
|
2646
|
+
* parameter reference or a plain dotted/indexed `$...` path — no filter
|
|
2647
|
+
* expressions or function calls; the right side a string, number, boolean,
|
|
2648
|
+
* `null`, or `undefined` literal. Returns `null` when the string is not
|
|
2649
|
+
* such a comparison, so richer JSONPath expressions fall through untouched.
|
|
2650
|
+
* @param {string} str
|
|
2651
|
+
* @returns {{left: string, op: string, right: unknown}|null}
|
|
2652
|
+
* @private
|
|
2653
|
+
*/
|
|
2654
|
+
_parseComparison (str) {
|
|
2655
|
+
const m = str.match(
|
|
2656
|
+
/^(?<left>\$[\w$\-]*(?:\.[\w$\-]+|\[\d+\]|\['[^']*'\]|\["[^"]*"\])*)\s*(?<op>===|!==|==|!=|<=|>=|<|>)\s*(?<right>.+)$/v
|
|
2657
|
+
);
|
|
2658
|
+
if (!m || !m.groups) {
|
|
2659
|
+
return null;
|
|
2660
|
+
}
|
|
2661
|
+
const right = this._parseLiteral(m.groups.right.trim());
|
|
2662
|
+
if (!right) {
|
|
2663
|
+
return null;
|
|
2664
|
+
}
|
|
2665
|
+
return {left: m.groups.left, op: m.groups.op, right: right.value};
|
|
2666
|
+
}
|
|
2667
|
+
|
|
2668
|
+
/**
|
|
2669
|
+
* Parse a JSON-ish scalar literal: a double- or single-quoted string, a
|
|
2670
|
+
* number, or `true` / `false` / `null` / `undefined`. Returns `null` when
|
|
2671
|
+
* `str` is none of these.
|
|
2672
|
+
* @param {string} str
|
|
2673
|
+
* @returns {{value: unknown}|null}
|
|
2674
|
+
* @private
|
|
2675
|
+
*/
|
|
2676
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2677
|
+
_parseLiteral (str) {
|
|
2678
|
+
if ((/^"(?:[^"\\]|\\.)*"$/v).test(str)) {
|
|
2679
|
+
return {value: JSON.parse(str)};
|
|
2680
|
+
}
|
|
2681
|
+
if ((/^'(?:[^'\\]|\\.)*'$/v).test(str)) {
|
|
2682
|
+
return {value: str.slice(1, -1).replaceAll(/\\(?=['\\])/gv, '')};
|
|
2683
|
+
}
|
|
2684
|
+
if ((/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+\-]?\d+)?$/v).test(str)) {
|
|
2685
|
+
return {value: Number(str)};
|
|
2686
|
+
}
|
|
2687
|
+
if (str === 'true') {
|
|
2688
|
+
return {value: true};
|
|
2689
|
+
}
|
|
2690
|
+
if (str === 'false') {
|
|
2691
|
+
return {value: false};
|
|
2692
|
+
}
|
|
2693
|
+
if (str === 'null') {
|
|
2694
|
+
return {value: null};
|
|
2695
|
+
}
|
|
2696
|
+
if (str === 'undefined') {
|
|
2697
|
+
return {value: undefined};
|
|
2698
|
+
}
|
|
2699
|
+
return null;
|
|
2700
|
+
}
|
|
2701
|
+
|
|
2702
|
+
/**
|
|
2703
|
+
* Resolve the left side of a simple comparison: a bare `$name` parameter
|
|
2704
|
+
* reference (local, with-param, then runtime `config.params`), otherwise a
|
|
2705
|
+
* plain `$...` path evaluated (unwrapped) in the current context.
|
|
2706
|
+
* @param {string} ref
|
|
2707
|
+
* @returns {unknown}
|
|
2708
|
+
* @private
|
|
2709
|
+
*/
|
|
2710
|
+
_resolveComparand (ref) {
|
|
2711
|
+
const paramRef = ref.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2712
|
+
if (paramRef && paramRef.groups) {
|
|
2713
|
+
const param = this._lookupParam(paramRef.groups.name);
|
|
2714
|
+
if (param.has) {
|
|
2715
|
+
return param.value;
|
|
2716
|
+
}
|
|
2717
|
+
}
|
|
2718
|
+
return this.get(ref, false);
|
|
2719
|
+
}
|
|
2720
|
+
|
|
2721
|
+
/**
|
|
2722
|
+
* Apply a comparison operator to two already-resolved values.
|
|
2723
|
+
* @param {any} a - Left operand
|
|
2724
|
+
* @param {string} op - One of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`
|
|
2725
|
+
* @param {any} b - Right operand
|
|
2726
|
+
* @returns {boolean}
|
|
2727
|
+
* @private
|
|
2728
|
+
*/
|
|
2729
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2730
|
+
_compareValues (a, op, b) {
|
|
2731
|
+
/* eslint-disable eqeqeq -- `==`/`!=` are deliberately offered */
|
|
2732
|
+
switch (op) {
|
|
2733
|
+
case '===': return a === b;
|
|
2734
|
+
case '!==': return a !== b;
|
|
2735
|
+
case '==': return a == b;
|
|
2736
|
+
case '!=': return a != b;
|
|
2737
|
+
case '<': return a < b;
|
|
2738
|
+
case '<=': return a <= b;
|
|
2739
|
+
case '>': return a > b;
|
|
2740
|
+
case '>=': return a >= b;
|
|
2741
|
+
/* c8 ignore next -- the regex only yields the operators handled above */
|
|
2742
|
+
default: return false;
|
|
2743
|
+
}
|
|
2744
|
+
/* eslint-enable eqeqeq -- restore */
|
|
2745
|
+
}
|
|
2746
|
+
|
|
2628
2747
|
/**
|
|
2629
2748
|
* Like `if()`, but also supports an optional fallback callback executed
|
|
2630
2749
|
* when the test does not pass (similar to xsl:choose/xsl:otherwise).
|
|
@@ -2469,6 +2469,13 @@ class XPathTransformerContext {
|
|
|
2469
2469
|
* supplied via `withParam()`, or provided at runtime as `config.params` —
|
|
2470
2470
|
* rather than an XPath expression.
|
|
2471
2471
|
*
|
|
2472
|
+
* The test may also be a simple binary comparison of a `$name` parameter
|
|
2473
|
+
* against a literal, evaluated without `eval`, e.g.
|
|
2474
|
+
* `this.if('$name === "x"')` or `this.if('$count < 50')`. The operator is
|
|
2475
|
+
* one of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`; the right side is
|
|
2476
|
+
* a string, number, boolean, `null`, or `undefined` literal. Anything else
|
|
2477
|
+
* is left to the XPath engine.
|
|
2478
|
+
*
|
|
2472
2479
|
* Truthiness rules:
|
|
2473
2480
|
* - Node set: length > 0 passes.
|
|
2474
2481
|
* - Scalar: Boolean(value) must be true.
|
|
@@ -2514,13 +2521,20 @@ class XPathTransformerContext {
|
|
|
2514
2521
|
*/
|
|
2515
2522
|
_passesIf (select) {
|
|
2516
2523
|
if (typeof select === 'string') {
|
|
2517
|
-
const
|
|
2524
|
+
const trimmed = select.trim();
|
|
2525
|
+
const paramRef = trimmed.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2518
2526
|
if (paramRef && paramRef.groups) {
|
|
2519
2527
|
const param = this._lookupParam(paramRef.groups.name);
|
|
2520
2528
|
if (param.has) {
|
|
2521
2529
|
return this._isTruthyResult(param.value);
|
|
2522
2530
|
}
|
|
2523
2531
|
}
|
|
2532
|
+
const cmp = this._parseComparison(trimmed);
|
|
2533
|
+
if (cmp) {
|
|
2534
|
+
return this._compareValues(
|
|
2535
|
+
this._resolveComparand(cmp.left), cmp.op, cmp.right
|
|
2536
|
+
);
|
|
2537
|
+
}
|
|
2524
2538
|
}
|
|
2525
2539
|
let passes = false;
|
|
2526
2540
|
// Try scalar evaluation first (handles boolean/comparison expressions)
|
|
@@ -2567,6 +2581,106 @@ class XPathTransformerContext {
|
|
|
2567
2581
|
return passes;
|
|
2568
2582
|
}
|
|
2569
2583
|
|
|
2584
|
+
/**
|
|
2585
|
+
* Parse a simple `$name <op> <literal>` comparison test (no `eval`), such
|
|
2586
|
+
* as `$name === "x"` or `$count < 50`. The left side must be a bare `$name`
|
|
2587
|
+
* parameter reference; the right side a string, number, boolean, `null`,
|
|
2588
|
+
* or `undefined` literal. Returns `null` when the string is not such a
|
|
2589
|
+
* comparison, so richer XPath expressions fall through untouched.
|
|
2590
|
+
* @param {string} str
|
|
2591
|
+
* @returns {{left: string, op: string, right: unknown}|null}
|
|
2592
|
+
* @private
|
|
2593
|
+
*/
|
|
2594
|
+
_parseComparison (str) {
|
|
2595
|
+
const m = str.match(
|
|
2596
|
+
/^(?<left>\$[\w\-]+)\s*(?<op>===|!==|==|!=|<=|>=|<|>)\s*(?<right>.+)$/v
|
|
2597
|
+
);
|
|
2598
|
+
if (!m || !m.groups) {
|
|
2599
|
+
return null;
|
|
2600
|
+
}
|
|
2601
|
+
const right = this._parseLiteral(m.groups.right.trim());
|
|
2602
|
+
if (!right) {
|
|
2603
|
+
return null;
|
|
2604
|
+
}
|
|
2605
|
+
return {left: m.groups.left, op: m.groups.op, right: right.value};
|
|
2606
|
+
}
|
|
2607
|
+
|
|
2608
|
+
/**
|
|
2609
|
+
* Parse a JSON-ish scalar literal: a double- or single-quoted string, a
|
|
2610
|
+
* number, or `true` / `false` / `null` / `undefined`. Returns `null` when
|
|
2611
|
+
* `str` is none of these.
|
|
2612
|
+
* @param {string} str
|
|
2613
|
+
* @returns {{value: unknown}|null}
|
|
2614
|
+
* @private
|
|
2615
|
+
*/
|
|
2616
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2617
|
+
_parseLiteral (str) {
|
|
2618
|
+
if ((/^"(?:[^"\\]|\\.)*"$/v).test(str)) {
|
|
2619
|
+
return {value: JSON.parse(str)};
|
|
2620
|
+
}
|
|
2621
|
+
if ((/^'(?:[^'\\]|\\.)*'$/v).test(str)) {
|
|
2622
|
+
return {value: str.slice(1, -1).replaceAll(/\\(?=['\\])/gv, '')};
|
|
2623
|
+
}
|
|
2624
|
+
if ((/^-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+\-]?\d+)?$/v).test(str)) {
|
|
2625
|
+
return {value: Number(str)};
|
|
2626
|
+
}
|
|
2627
|
+
if (str === 'true') {
|
|
2628
|
+
return {value: true};
|
|
2629
|
+
}
|
|
2630
|
+
if (str === 'false') {
|
|
2631
|
+
return {value: false};
|
|
2632
|
+
}
|
|
2633
|
+
if (str === 'null') {
|
|
2634
|
+
return {value: null};
|
|
2635
|
+
}
|
|
2636
|
+
if (str === 'undefined') {
|
|
2637
|
+
return {value: undefined};
|
|
2638
|
+
}
|
|
2639
|
+
return null;
|
|
2640
|
+
}
|
|
2641
|
+
|
|
2642
|
+
/**
|
|
2643
|
+
* Resolve the left side of a simple comparison: a bare `$name` parameter
|
|
2644
|
+
* reference (local, with-param, then runtime `config.params`).
|
|
2645
|
+
* @param {string} ref
|
|
2646
|
+
* @returns {unknown}
|
|
2647
|
+
* @private
|
|
2648
|
+
*/
|
|
2649
|
+
_resolveComparand (ref) {
|
|
2650
|
+
const paramRef = ref.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2651
|
+
/* c8 ignore next 3 -- `_parseComparison` only yields a `$name` left side */
|
|
2652
|
+
if (!paramRef || !paramRef.groups) {
|
|
2653
|
+
return undefined;
|
|
2654
|
+
}
|
|
2655
|
+
return this._lookupParam(paramRef.groups.name).value;
|
|
2656
|
+
}
|
|
2657
|
+
|
|
2658
|
+
/**
|
|
2659
|
+
* Apply a comparison operator to two already-resolved values.
|
|
2660
|
+
* @param {any} a - Left operand
|
|
2661
|
+
* @param {string} op - One of `===`, `!==`, `==`, `!=`, `<`, `<=`, `>`, `>=`
|
|
2662
|
+
* @param {any} b - Right operand
|
|
2663
|
+
* @returns {boolean}
|
|
2664
|
+
* @private
|
|
2665
|
+
*/
|
|
2666
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2667
|
+
_compareValues (a, op, b) {
|
|
2668
|
+
/* eslint-disable eqeqeq -- `==`/`!=` are deliberately offered */
|
|
2669
|
+
switch (op) {
|
|
2670
|
+
case '===': return a === b;
|
|
2671
|
+
case '!==': return a !== b;
|
|
2672
|
+
case '==': return a == b;
|
|
2673
|
+
case '!=': return a != b;
|
|
2674
|
+
case '<': return a < b;
|
|
2675
|
+
case '<=': return a <= b;
|
|
2676
|
+
case '>': return a > b;
|
|
2677
|
+
case '>=': return a >= b;
|
|
2678
|
+
/* c8 ignore next -- the regex only yields the operators handled above */
|
|
2679
|
+
default: return false;
|
|
2680
|
+
}
|
|
2681
|
+
/* eslint-enable eqeqeq -- restore */
|
|
2682
|
+
}
|
|
2683
|
+
|
|
2570
2684
|
/**
|
|
2571
2685
|
* Conditional with optional fallback (like choose/otherwise).
|
|
2572
2686
|
* Truthiness same as `if()`.
|