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 ADDED
@@ -0,0 +1,3 @@
1
+ node_modules
2
+ coverage
3
+ .idea
package/.npmignore ADDED
@@ -0,0 +1,3 @@
1
+ test
2
+ coverage
3
+ .idea
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":"AAkBG,YAAkB,oBAAoB,GACtC;;;;IAAoB,gBAAgB,AAApC,CACA,EADW,MAAM,CACjB;;;;IAAoB,iBAAiB,AAArC,CACA,EADW,MAAM,CACjB;;;;IAAoB,OAAO,AAA3B,CACA,EADW,MAAM,CACjB;;;;IAAoB,QAAQ,AAA5B,CACA,EADW,MAAM,CACjB;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAoB,KAAK,AAAzB,CACA,EADW,MAAM,CACjB;;;;;IAAoB,gBAAgB,AAApC,CAEA,EAFW,MAAM,CAEjB;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAoB,QAAQ,AAA5B,CACA,EADW,MAAM,CACjB;;;;IAAoB,GAAG,AAAvB,CACF,EADa,MAAM,CACnB;CAAA,CAAA;AAGE,YASG,WAAW,GATJ,MAAM,GAAC,MAAM,GAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAa;AAKd,YAMG,UAAU,CACF,CAAC,GAAC,OAAQ,IAPX;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAC,QAAQ,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAY;AAEb,YAEa,cAAc,CAHhB,CAAC,GAAC,OAAQ,IACX,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnB,GAAG,EAAE,0BAA0B,KAC5B,MAAM,CAAgB;AAC3B,YACmC,QAAQ,CALhC,CAAC,GAAC,OAAQ,IAIX,MAAM,GAAG,UAAU,GAAG,cAAc,GAC5C,KAAK,CAAC,MAAM,GAAC,UAAU,CAAC,GAAG,IAAI,CAAU;AAI3C,YAAkB,qBAAqB,GACvC;IAA0D,IAAI,EAAnD,OAAO,6BAA6B,EAAE,OAAO,CACxD;IAA4D,MAAM,EAAvD,OAAO,+BAA+B,EAAE,OAAO,CAC1D;IAAyD,GAAG,EAAjD,OAAO,4BAA4B,EAAE,OAAO,CACzD;CAAA,CAAA;AAGE,YAAkB,aAAa,GAC/B;IAAoB,IAAI,EAAb,OAAO,CAClB;IAA2B,MAAM,EAAtB,MAAM,GAAC,OAAO,CACzB;IAAwB,GAAG,EAAhB,MAAM,GAAC,IAAI,CACxB;CAAA,CAAA;AAGE,YAAkB,cAAc,GAChC;IAAoE,IAAI,EAA7D,OAAO,6BAA6B,EAAE,iBAAiB,CAClE;IAAsE,MAAM,EAAjE,OAAO,+BAA+B,EAAE,iBAAiB,CACpE;IAAmC,GAAG,EAA3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CACnC;CAAA,CAAA;AAIE,YAAkB,gCAAgC,CADf,CAAC,SAAzB,MAAM,GAAC,QAAQ,GAAC,KAAK,GAAK,MAAO,IAE5C;;;;IAA8C,IAAI,EAAvC,IAAI,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAC5C;;;;IAAoB,MAAM,AAA1B,CACA,EADW,MAAM,CACjB;;;;IAAoB,cAAc,AAAlC,CACA,EADW,MAAM,CACjB;;;;;IAAqB,oBAAoB,AAAzC,CAEA,EAFW,OAAO,CAElB;;;;IAAe,UAAU,AAAzB,CACA,EADW,CAAC,CACZ;;;;IAAqC,kBAAkB,EAA5C,qBAAqB,CAAC,CAAC,CAAC,CACnC;;;;;IAAqB,WAAW,AAAhC,CAEA,EAFW,OAAO,CAElB;;;;;IAAqB,IAAI,AAAzB,CAEA,EAFW,OAAO,CAElB;;;;IAAsC,2BAA2B,AAAjE,CAEA,EAFW,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAEnC;IACoD,SAAS,AAD7D,CAEA,EAFW,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,GAC7D,OAAW,YAAY,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,CACjD;;;;;;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,iCAAiC,EAAE,OAAO,CAAC,CAAC,CAAC,GACxD,OAAW,yBAAyB,EAAE,iBAAiB,CACpD,CAEH;CAAA,CAAA;AA7FD;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;GASG;AACH,cAAM,0BAA0B,CAHM,CAAC,SAAzB,MAAM,GAAC,QAAQ,GAAC,KAAK,GAAK,MAAO,EACjC,CAAC,GAAC,OAAQ;IAcf,OAAO;IACP,UAAU;IACV,WAAW;IAAQ,QAAQ;IAC3B,OAAO;IACP,eAAe;IAKpB,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,mDAAmD;IAC9C,cAAc,EADR,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAE/C,kCAAkC;IAC7B,YAAY,EADN,OAAO,GAAG,SAAS;IAE9B,iCAAiC;IAC5B,SAAS,EADH,MAAM,GAAG,SAAS;IAE7B,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;IAjDrB;;;OAGG;IACH,cAAc,EAFJ;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEzB;IACf;;;;OAIG;IACH,YAAa,MAAM,EAJR,gCAAgC,CAAC,CAAC,CAI1B,EAAE,SAAS,EAHnB,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAG3B,EA4C7B;IAED;;;OAGG;IACH,0BAA0B,IAFb,IAAI,CAShB;IAED;;;;OAIG;IACH,iBAAiB,CAAE,WAAW,EAHnB,MAGmB,GAFjB,OAAO,CAanB;IAED;;;OAGG;IACH,sBAAsB,IAFT,qBAAqB,CAAC,CAAC,CAAC,CAIpC;IAED;;;OAGG;IACH,YAAY,CAAE,IAAI,EAHP,aAAa,CAAC,CAAC,CAGR,GAFL,IAAI,CAKhB;IAED;;;OAGG;IACH,SAAS,IAFI,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,GAAG,CAAE,MAAM,EAJA,MAIA,EAAE,IAAI,EAHN,OAGM,GAFJ,GAAG,CAWf;IAED;;;OAGG;IACH,GAAG,CAAE,CAAC,EAHK,OAGL,GAFO,IAAI,CAOhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAE,MAAM,AAPnB,CAGA,EAHQ,MAAM,GAAC,IAAI,GACrB;QAAK,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAMd,EAAE,IAAI,AAJzB,CACA,EADQ,MAIiB,EAAE,IAAI,AAH/B,CACA,EADQ,QAAQ,CAAC,CAAC,CAGa,GAFrB,IAAI,CAgbhB;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,CAwDhB;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAE,MAAM,EAPJ,MAOI,EAAE,EAAE,EANR,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAC1C,KAAK,EAAE,OAAO,KACX,IAIW,EAAE,IAAI,AAHtB,CACA,EADQ,QAAQ,CAAC,CAAC,CAGI,GAFZ,IAAI,CAgIhB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,YAAY,CAAE,MAAM,EAlBT,MAkBS,EAAE,OAAO,EAhB1B;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;QAA8B,IAAI,AAAlC,CACA,EADQ,QAAQ,CAAC,CAAC,CAAC,CACnB;KAQ0B,EAAE,EAAE,EARtB,CACN,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,EACnC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,OAAO,EAAE,EAChB,GAAG,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAC/B,IAGyB,GAFpB,IAAI,CA6NhB;IAED;;;;;;OAMG;YACH,gBAAgB;IAgFhB;;;OAGG;IACH,YAAY,IAFC,OAAO,EAAE,GAAC,SAAS,CAI/B;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,MAAM,EAJxB,OAAO,gBAAgB,EAAE,yBAID,EAAE,OAAO,EAHjC,GAGiC,GAF/B,OAAO,CAAC,IAAI,CAAC,CAQzB;IAED;;;OAGG;IACH,OAAO,CAAE,MAAM,AAHZ,CACA,EADQ,MAAM,GAAC,MAGH,GAFF,IAAI,CAmIhB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAE,GAAG,EAjBP,MAiBO,EAAE,KAAK,EAhBd,MAAM,GAAC,MAgBO,EAAE,OAAO,GAfvB;QACN,iBAAiB,CAAC,EAAE,CAClB,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,EACnC,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,0BAA0B,CAAC,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;KAIoB,GAF1B,IAAI,CAuHhB;IAED;;;;OAIG;IACH,MAAM,CAAE,MAAM,AAHX,CACA,EADQ,MAGG,GAFD,IAAI,CA2ChB;IAED;;;;OAIG;IACH,IAAI,CAAE,YAAY,AAHf,CACA,EADQ,MAAM,EAGC,GAFL,IAAI,CAsBhB;IAED;;;;OAIG;IACH,QAAQ,CAAE,IAAI,EAJH,MAIG,EAAE,MAAM,EAHX,MAGW,GAFT,IAAI,CAKhB;IAED;;;;;;;OAOG;YAEH,UAAU;IAWV;;;;;;;OAOG;YACH,YAAY;IAUZ;;;;;;OAMG;YACH,aAAa;IAOb;;;;;;;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,IAAI,CAYhB;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,IAAI,CAMhB;IAED;;;OAGG;IAEH,OAAO,CAAE,IAAI,EAJF,OAIE,GAHA,IAAI,CAMhB;IAED;;;;;;OAMG;IACH,MAAM,CAAE,GAAG,EANA,MAMA,EAAE,EAAE,AALZ,CAGA,EAHQ,OAAO,6BAA6B,EAC1C,cAAc,CAAC,CAAC,CAIN,GAFF,IAAI,CAKhB;IAED;;;;;OAKG;IACH,MAAM,CAAE,GAAG,EAJA,WAIA,GAFE,IAAI,CAiHhB;IAED;;;;OAIG;IACH,iBAAiB,CAAE,KAAK,AAHrB,CACA,EADQ,MAGa,GAFX,MAAM,CA8BlB;IAED;;;;;;;;;OASG;IACH,aAAa,CACX,GAAG,EATM,MASN,EACH,MAAM,EATG,MASH,EACN,iBAAiB,AAThB,CACA,EADQ,MASQ,EACjB,YAAY,AATX,CACA,EADQ,MASG,EACZ,iBAAiB,AAThB,CACA,EADQ,MASQ,EACjB,MAAM,AATL,CACA,EADQ,MASI,GARF,MAAM,CA4GlB;IAED;;;;;OAKG;YAEH,QAAQ;IAoBR;;;;;;OAMG;YAEH,aAAa;IAiBb;;;;;;OAMG;IACH,SAAS,CAAE,GAAG,EAHH,MAGG,GAFD,IAAI,CAKhB;IAED;;;;;;OAMG;IACH,SAAS,CAAE,IAAI,EAJJ,MAII,EAAE,GAAG,EAHT,GAGS,GAFP,IAAI,CAKhB;IAED;;;;;OAKG;IACH,QAAQ,CAAE,IAAI,EAJH,MAIG,EAAE,GAAG,EAHR,GAGQ,GAFN,IAAI,CAIhB;IAED;;;;;OAKG;IACH,aAAa,CAAE,QAAQ,EAHZ,MAAM,GAAC,MAAM,EAGD,GAFV,IAAI,CAMhB;IAED;;;;;OAKG;IACH,UAAU,CAAE,QAAQ,EAHT,MAAM,GAAC,MAAM,EAGJ,GAFP,IAAI,CAMhB;IAED;;;;;;OAMG;IACH,MAAM,CAAE,GAAG,IAAI,EAHD,GAAG,EAGF,GAFF,IAAI,CAKhB;IAED;;;;OAIG;IACH,GAAG,CAAE,GAAG,IAAI,EAHE,GAAG,EAGL,GAFC,IAAI,CAIhB;IAED;;;;;OAKG;IACH,KAAK,CAAE,GAAG,IAAI,EAHA,GAAG,EAGH,GAFD,IAAI,CAKhB;IAED;;;;OAIG;IACH,MAAM,CAAE,GAAG,EAHA,OAAO,+BAA+B,EAAE,YAGxC,GAFE,IAAI,CAKhB;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,CAuDhB;IAED;;;;;OAKG;IACH,qBAAqB,CAAE,IAAI,EAJhB,MAIgB,EAAE,IAAI,GAHtB,OAAO,EAGoB,GAFzB,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAE,IAAI,EAZF,MAAM,GAAC,IAYL,EAAE,IAAI,AAXhB,CAGA,EAHQ,cAAc,CAAC,CAAC,CAAC,GAAC,GAAG,EAAE,GACjC,CAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAUhC,EAAE,QAAQ,AAR1B,CAGA,EAHQ,GAAG,EAAE,GACf,CAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAOtB,EAAE,EAAE,AAL9B,CAEA,EAFQ,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAKnB,EAAE,gBAAgB,AAHhD,CACA,EADQ,MAAM,EAGkC,GAFtC,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,SAAS,CAAE,MAAM,EAJN,MAIM,EAAE,YAAY,EAHpB,MAGoB,GAFlB,IAAI,CAOhB;IAED;;;;;;;;OAQG;IACH,aAAa,CAAE,aAAa,EALjB,MAAM,GAAC,oBAKU,EAAE,OAAO,AAHlC,CACA,EADQ,oBAG0B,GAFxB,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,SAAS,CAAE,IAAI,EANJ,MAMI,EAAE,GAAG,EALT,MAAM,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAKpB,EAAE,KAAK,AAJxB,CAEA,EAFQ,OAIgB,GAFd,IAAI,CAWhB;IAED;;;;;OAKG;IACH,IAAI,CAAE,GAAG,EAHE,MAGF,GAFI,IAAI,CAKhB;IAED;;;;;OAKG;IACH,OAAO,CAAE,IAAI,EAHF,MAGE,GAFA,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,qBAAqB,CAAE,MAAM,EAJlB,MAIkB,EAAE,IAAI,EAHxB,MAGwB,GAFtB,IAAI,CAOhB;IAED;;;;;OAKG;IACH,WAAW,CAAE,IAAI,EALN,MAKM,EAAE,cAAc,EAJtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAIA,EAAE,eAAe,AAH/C,CACA,EADQ,GAAG,EAGoC,GAFrC,IAAI,CAchB;IAED;;;;OAIG;IACH,gBAAgB,CAAE,GAAG,EAJV,MAAM,CAAC,MAAM,EAAE,OAAO,CAIZ,EAAE,IAAI,EAHhB,MAGgB,GAFd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAInC;IAED;;;;OAIG;IACH,MAAM,CAAE,IAAI,EAJD,MAIC,EAAE,KAAK,EAHR,OAGQ,GAFN,OAAO,CAuBnB;IAED;;;;;OAKG;IACH,GAAG,CAAE,IAAI,EALE,MAKF,EAAE,KAAK,EAJL,MAIK,EAAE,GAAG,EAHV,MAGU,GAFR,IAAI,CAKhB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,EAAE,CAAE,MAAM,EALC,MAKD,EAAE,EAAE,EAJH,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAGM,GAFD,IAAI,CAQhB;IAED;;;;;;;OAOG;YAEH,eAAe;IAsBf;;;;;;;OAOG;IACH,SAAS,CAAE,MAAM,EAHN,MAGM,GAFJ,OAAO,CAqBnB;IAED;;;;;;;;;;OAUG;YACH,gBAAgB;IAchB;;;;;;;OAOG;YAEH,aAAa;IAyBb;;;;;;;OAOG;YACH,iBAAiB;IAWjB;;;;;;;OAOG;YAEH,cAAc;IAiBd;;;;;;;;;OASG;IACH,MAAM,CAAE,MAAM,EAPH,MAOG,EAAE,MAAM,EANX,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAKc,EAAE,WAAW,AAJhC,CAEA,EAFQ,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAG2B,GAFtB,IAAI,CAYhB;IAED;;;;;;;;OAQG;IACH,MAAM,CAAE,IAAI,EALD,MAKC,EAAE,OAAO,AAJlB,CACA,EADQ,MAIU,GAHR,IAAI,CAYhB;CACF;eAEc,0BAA0B"}
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jtlt",
3
- "version": "0.17.0",
3
+ "version": "0.18.0",
4
4
  "type": "module",
5
5
  "author": "Brett Zamir",
6
6
  "contributors": [],
@@ -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 paramRef = select.trim().match(/^\$(?<name>[\w\-]+)$/v);
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 paramRef = select.trim().match(/^\$(?<name>[\w\-]+)$/v);
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()`.