jtlt 0.16.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 +16 -0
- package/README.md +2 -1
- package/dist/JSONPathTransformerContext.d.ts +64 -3
- package/dist/JSONPathTransformerContext.d.ts.map +1 -1
- package/dist/XPathTransformerContext.d.ts +60 -1
- package/dist/XPathTransformerContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/JSONPathTransformerContext.js +160 -16
- package/src/XPathTransformerContext.js +149 -1
package/.gitignore
ADDED
package/.npmignore
ADDED
package/CHANGES.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
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
|
+
|
|
13
|
+
## 0.17.0
|
|
14
|
+
|
|
15
|
+
- feat: `this.if('$name', ...)` (and `choose()`/`assert()`) test a parameter
|
|
16
|
+
— local, with-param, or `config.params` runtime — when passed a bare
|
|
17
|
+
`$name` reference rather than a path expression
|
|
18
|
+
|
|
3
19
|
## 0.16.0
|
|
4
20
|
|
|
5
21
|
- feat: `this.param(name, default)` (`xsl:param`) declares a parameter whose
|
package/README.md
CHANGED
|
@@ -206,7 +206,7 @@ const out = await jtlt({
|
|
|
206
206
|
If you just want to run a single, non-recursive query (similar to an XQuery "for … where … return …"), you can skip defining templates and use `forQuery` to seed a root function that iterates a JSONPath and emits results.
|
|
207
207
|
|
|
208
208
|
- `forQuery` takes the same arguments you’d pass to `this.forEach(select, cb)`: an absolute JSONPath selector and a callback invoked for each match.
|
|
209
|
-
- The callback runs once per match with `this` bound to that match, so use plain JavaScript `if` for conditions
|
|
209
|
+
- The callback runs once per match with `this` bound to that match, so use plain JavaScript `if` for conditions.
|
|
210
210
|
|
|
211
211
|
Example: collect item names whose price is at least 10.
|
|
212
212
|
|
|
@@ -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
|
|
|
@@ -850,6 +850,18 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
|
|
|
850
850
|
* to a truthy scalar or a non-empty result set (node set analogue).
|
|
851
851
|
* Mirrors XSLT's xsl:if semantics where a non-empty node set is truthy.
|
|
852
852
|
*
|
|
853
|
+
* A bare `$name` reference (not `$.path`) tests a parameter — one declared
|
|
854
|
+
* with `param()`, supplied via `withParam()`, or provided at runtime as
|
|
855
|
+
* `config.params` — rather than a JSONPath expression.
|
|
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
|
+
*
|
|
853
865
|
* Truthiness rules:
|
|
854
866
|
* - If the selection (with wrap) yields an array with length > 0, the
|
|
855
867
|
* condition passes.
|
|
@@ -863,13 +875,62 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
|
|
|
863
875
|
*/
|
|
864
876
|
if(select: string, cb: (this: JSONPathTransformerContext<T>) => void): this;
|
|
865
877
|
/**
|
|
866
|
-
*
|
|
867
|
-
*
|
|
868
|
-
*
|
|
878
|
+
* Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
|
|
879
|
+
* value: a non-empty result set (or single non-empty item) is truthy, a
|
|
880
|
+
* scalar is coerced with `Boolean()`.
|
|
881
|
+
* @param {any} val
|
|
882
|
+
* @returns {boolean}
|
|
883
|
+
* @private
|
|
884
|
+
*/
|
|
885
|
+
private _isTruthyResult;
|
|
886
|
+
/**
|
|
887
|
+
* Internal helper: determine if `select` passes the truthiness test. A
|
|
888
|
+
* bare `$name` reference resolves against the parameter scope (local
|
|
889
|
+
* with-param then runtime `config.params`); anything else is evaluated as
|
|
890
|
+
* a JSONPath expression.
|
|
869
891
|
* @param {string} select
|
|
870
892
|
* @returns {boolean}
|
|
871
893
|
*/
|
|
872
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;
|
|
873
934
|
/**
|
|
874
935
|
* Like `if()`, but also supports an optional fallback callback executed
|
|
875
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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"}
|
|
@@ -730,6 +730,17 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
|
|
|
730
730
|
* Conditionally execute a callback when an XPath evaluates to a truthy
|
|
731
731
|
* scalar or a non-empty node set (akin to xsl:if semantics).
|
|
732
732
|
*
|
|
733
|
+
* A bare `$name` reference tests a parameter — one declared with `param()`,
|
|
734
|
+
* supplied via `withParam()`, or provided at runtime as `config.params` —
|
|
735
|
+
* rather than an XPath expression.
|
|
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
|
+
*
|
|
733
744
|
* Truthiness rules:
|
|
734
745
|
* - Node set: length > 0 passes.
|
|
735
746
|
* - Scalar: Boolean(value) must be true.
|
|
@@ -741,11 +752,59 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
|
|
|
741
752
|
*/
|
|
742
753
|
if(select: string, cb: (this: XPathTransformerContext) => void): XPathTransformerContext;
|
|
743
754
|
/**
|
|
744
|
-
*
|
|
755
|
+
* Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
|
|
756
|
+
* value: a non-empty node set (array) is truthy, a scalar is coerced with
|
|
757
|
+
* `Boolean()`.
|
|
758
|
+
* @param {any} val
|
|
759
|
+
* @returns {boolean}
|
|
760
|
+
* @private
|
|
761
|
+
*/
|
|
762
|
+
private _isTruthyResult;
|
|
763
|
+
/**
|
|
764
|
+
* Internal helper: evaluate XPath truthiness like if(). A bare `$name`
|
|
765
|
+
* reference resolves against the parameter scope (local with-param then
|
|
766
|
+
* runtime `config.params`); anything else is evaluated as XPath.
|
|
745
767
|
* @param {string} select
|
|
746
768
|
* @returns {boolean}
|
|
747
769
|
*/
|
|
748
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;
|
|
749
808
|
/**
|
|
750
809
|
* Conditional with optional fallback (like choose/otherwise).
|
|
751
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":"AAsBG,YAAkB,6BAA6B,GAC/C;;;;IAAqB,IAAI,AAAzB,CACA,EADW,OAAO,CAClB;;;;IAAoB,YAAY,AAAhC,CACA,EADW,MAAM,CACjB;;;;IACsB,kBAAkB,EAD7B,OAAO,YAAY,EAC5B,kBAAkB,CACpB;IAAqB,oBAAoB,AAAzC,CACA,EADW,OAAO,CAClB;;;;;IAAqB,IAAI,AAAzB,CAEA,EAFW,OAAO,CAElB;;;;;IAAqB,WAAW,AAAhC,CAEA,EAFW,OAAO,CAElB;IAAsC,2BAA2B,AAAjE,CACA,EADW,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CACnC;;;;;;IAAqC,MAAM,AAA3C,CAGA,EAHW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGlC;;;;;IAGI,UAAU,AAHd,CAKF,EALa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAC/C,OAAW,8BAA8B,EAAE,OAAO,GAClD,OAAW,yBAAyB,EAAE,iBAAiB,CACpD,CAEH;CAAA,CAAA;AApBD;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;GAcG;AACH,cAAM,uBAAuB,CAHf,CAAC,GAAC,KAAM,EACR,CAAC,GAAC,gBAAgB,GAAC,OAAQ;IAuDhC,OAAO;IACP,UAAU;IAIf,oCAAoC;IAC/B,YAAY,EADN,QAAQ,GAAC,OAAO,GAAC,IAAI;IACP,SAAS;IAOlC,sCAAsC;IACjC,IAAI,EADE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAElC,sDAAsD;IACjD,YAAY,EADN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD,2DAA2D;IACtD,IAAI,EADE,MAAM,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;IAEvD;;;OAGG;IACE,cAAc,EAHT,MAAM,CAAC,MAAM,EACtB,OAAW,iCAAiC,EAAE,oBAAoB,CAAC;IAGpE,gCAAgC;IAC3B,YAAY,EADN,OAAO,GAAC,SAAS;IAE5B,+BAA+B;IAC1B,SAAS,EADH,MAAM,GAAC,SAAS;IAE3B,8CAA8C;IACzC,OAAO,EADD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;IAE1C;;;;;OAKG;IACE,cAAc,EAFT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAGjC;;;;OAIG;IACE,cAAc,EAFT;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,EAAE,GAAG,SAAS;IAGxE,uBAAuB;IAClB,sBAAsB,EADhB,MAAM,EAAE;IAEnB,uBAAuB;IAClB,mBAAmB,EADb,MAAM,EAAE;IA/FrB,MAAM,CAAC,oBAAoB;QACzB,aAAa;YACX;;;;;eAKG;YACH,QAAQ,OALE,uBAAuB,QACtB,OAAO,OACP;gBAAC,IAAI,EAAC,MAAM,CAAA;aAAC,GACX,IAAI;;QAMnB,iBAAiB;YACf;;;;;eAKG;YACH,QAAQ,OALE,uBAAuB,QACtB,OAAO,OACP;gBAAC,IAAI,CAAC,EAAC,MAAM,CAAA;aAAC,GACZ,IAAI;;QAMnB,kBAAkB;YAChB;;;eAGG;YACH,QAAQ,OAHG;gBAAC,SAAS,EAAC,MAAM,CAAA;aAAC,GAChB,MAAM;;QAMrB,gBAAgB;YACd;;;eAGG;YACH,QAAQ,OAHE,uBAAuB,GACpB,uBAAuB;;MAMtC;IAGF;;;;OAIG;IACH,YAAa,MAAM,EAJR,6BAIQ,EAAE,SAAS,EAHnB,OAAO,YAAY,EACzB,mBAAmB,CAAC,GAAG,CAAC,EAEC,EAmD7B;IAED,gEAAgE;IAChE,sBAAsB,IADR,OAAO,YAAY,EAAE,yBAAyB,CAQ3D;IAED;;;;OAIG;IACH,iBAAiB,CAAE,IAAI,EAHZ,IAGY,GAFV,OAAO,CAiBnB;IAED;;;;;OAKG;IACH,wBAAwB,CAAE,IAAI,EAHnB,IAGmB,GAFjB,IAAI,CAgDhB;IAED;;;;OAIG;IACH,wBAAwB,IAFX,IAAI,CAQhB;IAED;;;;;OAKG;IACH,UAAU,CAAE,IAAI,EAJL,MAIK,EAAE,OAAO,AAHtB,CACA,EADQ,OAGc,GAFZ,OAAO,CA2GnB;IAED;;;;OAIG;IACH,YAAY,CAAE,IAAI,EAHP,OAGO,GAFL,uBAAuB,CAQnC;IAED,yBAAyB;IACzB,SAAS,IADK,OAAO,CAGpB;IAED;;;;;OAKG;IACH,GAAG,CAAE,MAAM,EAJA,MAIA,EAAE,OAAO,AAHjB,CACA,EADQ,OAGS,GAFP,IAAI,EAAE,CAIlB;IAED;;;;;OAKG;IACH,GAAG,CAAE,CAAC,EAHK,QAAQ,GAAC,OAAO,GAAC,IAGtB,GAFO,uBAAuB,CAKnC;IAED;;;;;OAKG;IACH,cAAc,CAAE,MAAM,AAJnB,CACA,EADQ,MAIW,EAAE,IAAI,AAHzB,CACA,EADQ,MAGiB,GAFf,uBAAuB,CA+QnC;IAED;;;;;;OAMG;IACH,YAAY,CAAE,IAAI,EANP,MAAM,GAChB;QAAK,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAA;KAKnB,EAAE,UAAU,AAH3B,CACA,EADQ,GAAG,EAGgB,GAFjB,IAAI,CAqDhB;IAGD;;;;;;;OAOG;IACH,OAAO,CAAE,MAAM,EANJ,MAMI,EAAE,EAAE,EALR,CAAC,IAAI,EAAE,uBAAuB,EACpC,IAAI,EAAE,IAAI,KACT,IAGa,GAFN,uBAAuB,CAoBnC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAE,MAAM,EAjBT,MAiBS,EAAE,OAAO,EAf1B;QAAyB,OAAO,AAAhC,CACA,EADQ,MAAM,CACd;QAAyB,aAAa,AAAtC,CAEA,EAFQ,MAAM,CAEd;QAAyB,iBAAiB,AAA1C,CAEA,EAFQ,MAAM,CAEd;QAAyB,eAAe,AAAxC,CAEA,EAFQ,MAAM,CAEd;KAQ0B,EAAE,EAAE,EARtB,CACN,IAAI,EAAE,uBAAuB,EAC7B,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE,uBAAuB,KACzB,IAGyB,GAFpB,IAAI,CAsNhB;IAED;;;OAGG;IACH,YAAY,IAFC,IAAI,EAAE,GAAC,SAAS,CAI5B;IAED;;;OAGG;IACH,kBAAkB,IAFL,OAAO,CAInB;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAE,MAAM,EALN,MAKM,EAAE,SAAS,EAJjB,MAIiB,EAAE,OAAO,AAHlC,CACA,EADQ,OAAO,gBAAgB,EAAE,YAGC,GAFxB,OAAO,CAAC,OAAO,EAAE,CAAC,CAU9B;IAED;;;;;;OAMG;IACG,qBAAqB,CAAE,SAAS,EAH3B,MAG2B,GAFzB,OAAO,CAAC,uBAAuB,CAAC,CAQ5C;IAED;;;;OAIG;IACH,OAAO,CAAE,MAAM,AAHZ,CACA,EADQ,MAAM,GAAC,MAGH,GAFF,uBAAuB,CAgPnC;IAED;;;;;OAKG;IACH,MAAM,CAAE,MAAM,AAHX,CACA,EADQ,MAGG,GAFD,uBAAuB,CA2DnC;IAED;;;;;OAKG;IACH,IAAI,CAAE,aAAa,AAHhB,CACA,EADQ,MAAM,EAGE,GAFN,uBAAuB,CAgBnC;IAED;;;;;OAKG;IACH,QAAQ,CAAE,IAAI,EAJH,MAIG,EAAE,MAAM,EAHX,MAGW,GAFT,uBAAuB,CAKnC;IAED;;;;;;;OAOG;YAEH,UAAU;IAWV;;;;;;;OAOG;YACH,YAAY;IAUZ;;;;;;;;OAQG;YACH,aAAa;IAab;;;;;;;OAOG;YACH,mBAAmB;IAWnB;;;;;;;;;;OAUG;IACH,KAAK,CAAE,IAAI,EANA,MAMA,EAAE,MAAM,AALhB,CAGA,EAHQ,MAAM,GAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAK/B,GAFN,uBAAuB,CAYnC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAE,IAAI,EALJ,MAKI,EAAE,MAAM,AAJpB,CAEA,EAFQ,MAAM,GAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAI3B,GAFV,uBAAuB,CAMnC;IAED;;;;OAIG;IAEH,OAAO,CAAE,IAAI,EAJF,OAIE,GAHA,IAAI,CAMhB;IACD;;;;;OAKG;IACH,MAAM,CAAE,GAAG,EAJA,MAIA,EAAE,EAAE,AAHZ,CACA,EADQ,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAG/B,GAFF,uBAAuB,CAOnC;IACD;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAE,GAAG,EAZA,MAAM,GAAC,MAAM,GAAC;QACpB,KAAK,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,QAAQ,GAAC,UAAU,GAAC,KAAK,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;KAIf,GAFE,uBAAuB,CAiFnC;IAED;;;;;;OAMG;YACH,kBAAkB;IA6ClB;;;;;;OAMG;YACH,qBAAqB;IAiCrB;;;;;;;;;;OAUG;YACH,aAAa;IAuGb;;;;;OAKG;YAEH,QAAQ;IAoBR;;;;;;OAMG;YAEH,aAAa;IAgBb;;;;OAIG;IACH,SAAS,CAAE,GAAG,EAHH,MAGG,GAFD,uBAAuB,CAKnC;IACD;;;;;OAKG;IACH,SAAS,CAAE,IAAI,EAJJ,MAII,EAAE,GAAG,EAHT,GAGS,GAFP,uBAAuB,CAKnC;IACD;;;;;OAKG;IACH,QAAQ,CAAE,IAAI,EAJH,MAIG,EAAE,GAAG,EAHR,GAGQ,GAFN,uBAAuB,CAInC;IACD;;;;;OAKG;IACH,aAAa,CAAE,QAAQ,EAHZ,MAAM,GAAC,MAAM,EAGD,GAFV,uBAAuB,CAMnC;IACD;;;;;;OAMG;IACH,UAAU,CAAE,QAAQ,EAHT,MAAM,GAAC,MAAM,EAGJ,GAFP,uBAAuB,CAWnC;IACD;;;;;;;;;;;OAWG;IACH,MAAM,CAAE,OAAO,EAVJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,CAAK,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAS9B,EAAE,mBAAmB,AARjC,CAEA,EAFQ,CAAC,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC,GACnD,GAAO,EAO4B,EAAE,yBAAyB,AAN5D,CAGA,EAHQ,GAAG,EAAE,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAKoC,EAAE,QAAQ,AAHtE,CACA,EADQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAGwC,GAF5D,uBAAuB,CASnC;IACD;;;;;;;;;;;OAWG;IACH,GAAG,CAAE,OAAO,EAVD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,CAAK,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CASjC,EAAE,mBAAmB,AAR9B,CAEA,EAFQ,CAAC,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAAC,GACnD,GAAO,EAOyB,EAAE,yBAAyB,AANzD,CAGA,EAHQ,GAAG,EAAE,GACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAKiC,EAAE,QAAQ,AAHnE,CACA,EADQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAGqC,GAFzD,uBAAuB,CAMnC;IACD;;;;;;;OAOG;IACH,KAAK,CAAE,OAAO,AANX,CAGA,EAHQ,GAAG,EAAE,GACf,CAAK,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,CAK/B,EAAE,EAAE,AAHf,CACA,EADQ,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAG5B,GAFL,uBAAuB,CAQnC;IAED;;;;OAIG;IACH,MAAM,CAAE,GAAG,EAHA,OAAO,+BAA+B,EAAE,YAGxC,GAFE,uBAAuB,CAKnC;IAED;;;;;;;;;;OAUG;IACH,IAAI,CAAE,GAAG,EATE;QACN,eAAe,CAAC,EAAE,UAAU,GAAC,MAAM,CAAC;QACpC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,SAAS,CAAC,EAAE,cAAc,GAAC,WAAW,GAAC,MAAM,GAAC,iBAAiB,GACnE,cAAoB,GAAC,WAAW,GAAC,gBAAgB,CAAC;QAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAItB,GAFI,IAAI,CAKhB;IAED;;;;;OAKG;IACH,YAAY,CAAE,IAAI,EALP,MAKO,EAAE,gBAAgB,EAJzB,OAAO,iCAAiC,EAC9C,gBAG+B,GAFvB,IAAI,CAKhB;IAED;;;;OAIG;IACH,YAAY,CAAE,IAAI,EAJP,MAIO,EAAE,UAAU,EAHnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAGF,GAFjB,IAAI,CAKhB;IAED;;;;OAIG;IACH,cAAc,CAAE,gBAAgB,EAJrB,MAIqB,EAAE,YAAY,EAHnC,MAGmC,GAFjC,IAAI,CAOhB;IAED;;;;;;;;OAQG;IACH,UAAU,CAAE,GAAG,EALJ;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KAItB,GAFF,IAAI,CAKhB;IAED;;;;;;OAMG;IACH,SAAS,CAAE,GAAG,EALH;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KAIvB,GAFD,IAAI,CAIhB;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAE,GAAG,EATF;QACN,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,KAAK,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;QAC5C,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;KAIT,GAFA,IAAI,CAyKhB;IAED;;;;;OAKG;IACH,qBAAqB,CAAE,IAAI,EAJhB,MAIgB,EAAE,IAAI,GAHtB,OAAO,EAGoB,GAFzB,OAAO,CAInB;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,IAAI,EAXF,MAWE,EAAE,IAAI,AAVhB,CAGA,EAHQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,GAAG,EAAE,GACtC,CAAK,CAAC,IAAI,EAAE,uBAAuB,KAAG,IAAI,CASxB,EAAE,QAAQ,AAP1B,CAGA,EAHQ,GAAG,EAAE,GACf,CAAK,CAAC,IAAI,EAAE,uBAAuB,KAAG,IAAI,CAMd,EAAE,EAAE,AAJ9B,CACA,EADQ,CAAC,IAAI,EAAE,uBAAuB,KAAG,IAIX,EAAE,gBAAgB,AAHhD,CACA,EADQ,MAAM,EAGkC,GAFtC,uBAAuB,CAOnC;IAED;;;;;;;OAOG;IACH,SAAS,CAAE,MAAM,EAJN,MAIM,EAAE,YAAY,EAHpB,MAGoB,GAFlB,IAAI,CAOhB;IAED;;;;;;;;;;OAUG;IACH,aAAa,CAAE,aAAa,EAPjB,MAAM,GAAC,OAAO,iCAAiC,EACrD,oBAMuB,EAAE,OAAO,AAJlC,CAEA,EAFQ,OAAO,iCAAiC,EAC9C,oBAGgC,GAFxB,IAAI,CAWhB;IAED;;;;;;OAMG;IACH,SAAS,CAAE,IAAI,EALJ,MAKI,EAAE,GAAG,EAJT,MAAM,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAIpB,EAAE,KAAK,AAHxB,CACA,EADQ,OAGgB,GAFd,uBAAuB,CAanC;IACD;;;;OAIG;IACH,IAAI,CAAE,GAAG,EAHE,MAGF,GAFI,uBAAuB,CAKnC;IAED;;;;OAIG;IACH,OAAO,CAAE,IAAI,EAHF,MAGE,GAFA,uBAAuB,CAQnC;IAED;;;;;OAKG;IACH,qBAAqB,CAAE,MAAM,EAJlB,MAIkB,EAAE,IAAI,EAHxB,MAGwB,GAFtB,uBAAuB,CAQnC;IAED;;;;;;OAMG;IACH,WAAW,CAAE,IAAI,EALN,MAKM,EAAE,GAAG,EAJX,MAAM,CAAC,MAAM,EAAE,OAAO,CAIX,EAAE,GAAG,AAHxB,CACA,EADQ,MAAM,EAGU,GAFd,uBAAuB,CAcnC;IACD;;;;;OAKG;IACH,gBAAgB,CAAE,GAAG,EAJV,MAAM,CAAC,MAAM,EAAE,OAAO,CAIZ,EAAE,IAAI,EAHhB,MAGgB,GAFd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAInC;IACD;;;;;OAKG;IACH,MAAM,CAAE,IAAI,EAJD,MAIC,EAAE,KAAK,EAHR,GAGQ,GAFN,GAAG,CAoBf;IACD;;;;;;OAMG;IACH,GAAG,CAAE,IAAI,EALE,MAKF,EAAE,KAAK,EAJL,MAIK,EAAE,GAAG,EAHV,MAGU,GAFR,uBAAuB,CAKnC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,EAAE,CAAE,MAAM,EALC,MAKD,EAAE,EAAE,EAJH,CAAC,IAAI,EAAE,uBAAuB,KACjC,IAGM,GAFD,uBAAuB,CAQnC;IAED;;;;;;;OAOG;YAEH,eAAe;IAUf;;;;;;OAMG;IACH,SAAS,CAAE,MAAM,EAHN,MAGM,GAFJ,OAAO,CA8DnB;IAED;;;;;;;;;OASG;YACH,gBAAgB;IAchB;;;;;;;OAOG;YAEH,aAAa;IAyBb;;;;;;OAMG;YACH,iBAAiB;IASjB;;;;;;;OAOG;YAEH,cAAc;IAiBd;;;;;;;;;OASG;IACH,MAAM,CAAE,MAAM,EAPH,MAOG,EAAE,MAAM,EANX,CAAC,IAAI,EAAE,uBAAuB,KACjC,IAKc,EAAE,WAAW,AAJhC,CAEA,EAFQ,CAAC,IAAI,EAAE,uBAAuB,KACjC,IAG2B,GAFtB,uBAAuB,CAYnC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAE,IAAI,EALD,MAKC,EAAE,OAAO,AAJlB,CACA,EADQ,MAIU,GAHR,uBAAuB,CAYnC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAE,GAAG,EAjBP,MAiBO,EAAE,KAAK,EAhBd,MAAM,GAAC,MAgBO,EAAE,OAAO,GAfvB;QACN,iBAAiB,CAAC,EAAE,CAClB,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,KAC9B,IAAI,CAAC;QACV,oBAAoB,CAAC,EAAE,CACrB,IAAI,EAAE,uBAAuB,EAC7B,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;KAIoB,GAF1B,uBAAuB,CAoHnC;CACF;eAEc,uBAAuB"}
|
package/package.json
CHANGED
|
@@ -2549,6 +2549,18 @@ class JSONPathTransformerContext {
|
|
|
2549
2549
|
* to a truthy scalar or a non-empty result set (node set analogue).
|
|
2550
2550
|
* Mirrors XSLT's xsl:if semantics where a non-empty node set is truthy.
|
|
2551
2551
|
*
|
|
2552
|
+
* A bare `$name` reference (not `$.path`) tests a parameter — one declared
|
|
2553
|
+
* with `param()`, supplied via `withParam()`, or provided at runtime as
|
|
2554
|
+
* `config.params` — rather than a JSONPath expression.
|
|
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
|
+
*
|
|
2552
2564
|
* Truthiness rules:
|
|
2553
2565
|
* - If the selection (with wrap) yields an array with length > 0, the
|
|
2554
2566
|
* condition passes.
|
|
@@ -2569,35 +2581,167 @@ class JSONPathTransformerContext {
|
|
|
2569
2581
|
}
|
|
2570
2582
|
|
|
2571
2583
|
/**
|
|
2572
|
-
*
|
|
2573
|
-
*
|
|
2574
|
-
*
|
|
2575
|
-
* @param {
|
|
2584
|
+
* Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
|
|
2585
|
+
* value: a non-empty result set (or single non-empty item) is truthy, a
|
|
2586
|
+
* scalar is coerced with `Boolean()`.
|
|
2587
|
+
* @param {any} val
|
|
2576
2588
|
* @returns {boolean}
|
|
2589
|
+
* @private
|
|
2577
2590
|
*/
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
if (wrapped.length === 0) {
|
|
2591
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2592
|
+
_isTruthyResult (val) {
|
|
2593
|
+
if (Array.isArray(val)) {
|
|
2594
|
+
if (val.length === 0) {
|
|
2583
2595
|
return false;
|
|
2584
2596
|
}
|
|
2585
|
-
if (
|
|
2597
|
+
if (val.length > 1) {
|
|
2586
2598
|
// Multiple matches (node set analogue) => truthy
|
|
2587
2599
|
return true;
|
|
2588
2600
|
}
|
|
2589
2601
|
// Single item; apply scalar truthiness
|
|
2590
|
-
const single =
|
|
2591
|
-
// Objects (arrays) always truthy; primitives use Boolean()
|
|
2602
|
+
const single = val[0];
|
|
2592
2603
|
if (single && typeof single === 'object') {
|
|
2593
2604
|
return true;
|
|
2594
2605
|
}
|
|
2595
2606
|
return Boolean(single);
|
|
2596
2607
|
}
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
return Boolean(
|
|
2608
|
+
if (val && typeof val === 'object') {
|
|
2609
|
+
return true;
|
|
2610
|
+
}
|
|
2611
|
+
return Boolean(val);
|
|
2612
|
+
}
|
|
2613
|
+
|
|
2614
|
+
/**
|
|
2615
|
+
* Internal helper: determine if `select` passes the truthiness test. A
|
|
2616
|
+
* bare `$name` reference resolves against the parameter scope (local
|
|
2617
|
+
* with-param then runtime `config.params`); anything else is evaluated as
|
|
2618
|
+
* a JSONPath expression.
|
|
2619
|
+
* @param {string} select
|
|
2620
|
+
* @returns {boolean}
|
|
2621
|
+
*/
|
|
2622
|
+
_passesIf (select) {
|
|
2623
|
+
if (typeof select === 'string') {
|
|
2624
|
+
const trimmed = select.trim();
|
|
2625
|
+
const paramRef = trimmed.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2626
|
+
if (paramRef && paramRef.groups) {
|
|
2627
|
+
const param = this._lookupParam(paramRef.groups.name);
|
|
2628
|
+
if (param.has) {
|
|
2629
|
+
return this._isTruthyResult(param.value);
|
|
2630
|
+
}
|
|
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
|
+
}
|
|
2638
|
+
}
|
|
2639
|
+
// Evaluate with wrapping to detect non-empty match sets
|
|
2640
|
+
return this._isTruthyResult(this.get(select, true));
|
|
2641
|
+
}
|
|
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 */
|
|
2601
2745
|
}
|
|
2602
2746
|
|
|
2603
2747
|
/**
|
|
@@ -2465,6 +2465,17 @@ class XPathTransformerContext {
|
|
|
2465
2465
|
* Conditionally execute a callback when an XPath evaluates to a truthy
|
|
2466
2466
|
* scalar or a non-empty node set (akin to xsl:if semantics).
|
|
2467
2467
|
*
|
|
2468
|
+
* A bare `$name` reference tests a parameter — one declared with `param()`,
|
|
2469
|
+
* supplied via `withParam()`, or provided at runtime as `config.params` —
|
|
2470
|
+
* rather than an XPath expression.
|
|
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
|
+
*
|
|
2468
2479
|
* Truthiness rules:
|
|
2469
2480
|
* - Node set: length > 0 passes.
|
|
2470
2481
|
* - Scalar: Boolean(value) must be true.
|
|
@@ -2483,11 +2494,48 @@ class XPathTransformerContext {
|
|
|
2483
2494
|
}
|
|
2484
2495
|
|
|
2485
2496
|
/**
|
|
2486
|
-
*
|
|
2497
|
+
* Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
|
|
2498
|
+
* value: a non-empty node set (array) is truthy, a scalar is coerced with
|
|
2499
|
+
* `Boolean()`.
|
|
2500
|
+
* @param {any} val
|
|
2501
|
+
* @returns {boolean}
|
|
2502
|
+
* @private
|
|
2503
|
+
*/
|
|
2504
|
+
// eslint-disable-next-line class-methods-use-this -- pure helper
|
|
2505
|
+
_isTruthyResult (val) {
|
|
2506
|
+
if (Array.isArray(val)) {
|
|
2507
|
+
return val.length > 0;
|
|
2508
|
+
}
|
|
2509
|
+
if (val && typeof val === 'object') {
|
|
2510
|
+
return true;
|
|
2511
|
+
}
|
|
2512
|
+
return Boolean(val);
|
|
2513
|
+
}
|
|
2514
|
+
|
|
2515
|
+
/**
|
|
2516
|
+
* Internal helper: evaluate XPath truthiness like if(). A bare `$name`
|
|
2517
|
+
* reference resolves against the parameter scope (local with-param then
|
|
2518
|
+
* runtime `config.params`); anything else is evaluated as XPath.
|
|
2487
2519
|
* @param {string} select
|
|
2488
2520
|
* @returns {boolean}
|
|
2489
2521
|
*/
|
|
2490
2522
|
_passesIf (select) {
|
|
2523
|
+
if (typeof select === 'string') {
|
|
2524
|
+
const trimmed = select.trim();
|
|
2525
|
+
const paramRef = trimmed.match(/^\$(?<name>[\w\-]+)$/v);
|
|
2526
|
+
if (paramRef && paramRef.groups) {
|
|
2527
|
+
const param = this._lookupParam(paramRef.groups.name);
|
|
2528
|
+
if (param.has) {
|
|
2529
|
+
return this._isTruthyResult(param.value);
|
|
2530
|
+
}
|
|
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
|
+
}
|
|
2538
|
+
}
|
|
2491
2539
|
let passes = false;
|
|
2492
2540
|
// Try scalar evaluation first (handles boolean/comparison expressions)
|
|
2493
2541
|
try {
|
|
@@ -2533,6 +2581,106 @@ class XPathTransformerContext {
|
|
|
2533
2581
|
return passes;
|
|
2534
2582
|
}
|
|
2535
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
|
+
|
|
2536
2684
|
/**
|
|
2537
2685
|
* Conditional with optional fallback (like choose/otherwise).
|
|
2538
2686
|
* Truthiness same as `if()`.
|