jtlt 0.15.0 → 0.17.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/CHANGES.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # jtlt CHANGES
2
2
 
3
+ ## 0.17.0
4
+
5
+ - feat: `this.if('$name', ...)` (and `choose()`/`assert()`) test a parameter
6
+ — local, with-param, or `config.params` runtime — when passed a bare
7
+ `$name` reference rather than a path expression
8
+
9
+ ## 0.16.0
10
+
11
+ - feat: `this.param(name, default)` (`xsl:param`) declares a parameter whose
12
+ default is overridden by a caller's with-param or by a `config.params`
13
+ runtime value; `this.withParam(name, value)` (`xsl:with-param`) stages
14
+ values for the next `callTemplate()`/`applyTemplates()`; `config.params`
15
+ runtime values are also visible as `$name` in any template
16
+
3
17
  ## 0.15.0
4
18
 
5
19
  - feat: allow custom extensions
package/README.md CHANGED
@@ -91,7 +91,7 @@ callback). Under the hood JTLT has two layers:
91
91
 
92
92
  - Engine (template application):
93
93
  - JSONPathTransformer: Applies templates to JSON by matching JSONPath selectors (and optional modes), resolving priority, and invoking the winning template. Falls back to built‑in default rules when no user template matches.
94
- - JSONPathTransformerContext: The execution context passed to templates. It mirrors the joiner API (e.g., string(), object(), array()) so templates can emit results. It also provides helpers like applyTemplates(), callTemplate(), valueOf(), variable(), and forEach().
94
+ - JSONPathTransformerContext: The execution context passed to templates. It mirrors the joiner API (e.g., string(), object(), array()) so templates can emit results. It also provides helpers like applyTemplates(), callTemplate(), valueOf(), variable(), param(), withParam(), and forEach().
95
95
  - XPathTransformer (experimental): Applies templates to
96
96
  XML/HTML DOM by matching XPath selectors (and optional modes).
97
97
  Supports three evaluation modes: version `1` (native
@@ -99,8 +99,9 @@ callback). Under the hood JTLT has two layers:
99
99
  fontoxpath). Falls back to built‑in default rules when no template
100
100
  matches.
101
101
  - XPathTransformerContext (experimental): Execution context for
102
- XPath. Offers get(), forEach(), valueOf(), variable(), key()
103
- and the same joiner helpers as the JSONPath context.
102
+ XPath. Offers get(), forEach(), valueOf(), variable(), param(),
103
+ withParam(), key() and the same joiner helpers as the JSONPath
104
+ context.
104
105
 
105
106
  - Joiners (output builders):
106
107
  - StringJoiningTransformer: Builds a string. Context‑aware append() routes into objects/arrays when inside object()/array() scopes, otherwise concatenates to a buffer. Includes element(), attribute(), and text() helpers for HTML/XML emission.
@@ -205,7 +206,7 @@ const out = await jtlt({
205
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.
206
207
 
207
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.
208
- - The callback runs once per match with `this` bound to that match, so use plain JavaScript `if` for conditions (there is no dedicated `this.if`).
209
+ - The callback runs once per match with `this` bound to that match, so use plain JavaScript `if` for conditions.
209
210
 
210
211
  Example: collect item names whose price is at least 10.
211
212
 
@@ -417,7 +418,7 @@ Advantages (strong parallels with XSLT):
417
418
  - Template matching by path and mode: templates use JSONPath selectors and optional `mode`, with priority resolution and an option to error on equal priority.
418
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.
419
420
  - applyTemplates/forEach and sorting: `applyTemplates(select, mode, sort)` and `forEach(select, cb, sort)` mirror `xsl:apply-templates`/`xsl:for-each` and `xsl:sort`.
420
- - Named templates and parameters: `callTemplate(name, withParam)` reflects `xsl:call-template` + `xsl:with-param`.
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}`.
421
422
  - Keys and lookups: `key(name, match, use)` + `getKey(name, value)` provide `xsl:key`-style indexing for joins and fast lookups.
422
423
  - Multiple output forms: string, DOM, and JSON builders ("joiners") allow emitting different result trees like XSLT’s result tree model.
423
424
 
@@ -116,6 +116,12 @@ export type JSONPathTransformerContextConfig<T extends "json" | "string" | "dom"
116
116
  */
117
117
  specificityPriorityResolver?: (path: string) => number;
118
118
  templates?: import('./index.js').JSONPathTemplateObject<T>[] | import('./index.js').JSONPathTemplateArray<T>[];
119
+ /**
120
+ * Runtime parameter values
121
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
122
+ * matching name uses this value instead of its declared default
123
+ */
124
+ params?: Record<string, unknown>;
119
125
  /**
120
126
  * Extra methods/values
121
127
  * merged onto this context so templates can call `this.myHelper()`
@@ -201,6 +207,9 @@ export type JSONPathTransformerContextConfig<T extends "json" | "string" | "dom"
201
207
  * Priority resolver function
202
208
  * @property {import('./index.js').JSONPathTemplateObject<T>[]|
203
209
  * import('./index.js').JSONPathTemplateArray<T>[]} [templates]
210
+ * @property {Record<string, unknown>} [params] Runtime parameter values
211
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
212
+ * matching name uses this value instead of its declared default
204
213
  * @property {Record<string, unknown> & ThisType<
205
214
  * import('./JSONPathTransformerContext.js').default<T> &
206
215
  * import('./context-extensions.js').ContextExtensions
@@ -241,6 +250,23 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
241
250
  _currPath: string | undefined;
242
251
  /** @type {Record<string, any> | undefined} */
243
252
  _params: Record<string, any> | undefined;
253
+ /**
254
+ * Parameter values supplied at runtime via `config.params`, mirroring the
255
+ * stylesheet parameters an XSLT processor is handed. A `param()` whose
256
+ * name appears here takes this value instead of its declared default.
257
+ * @type {Record<string, unknown>}
258
+ */
259
+ _runtimeParams: Record<string, unknown>;
260
+ /**
261
+ * Parameters staged by `withParam()` and consumed (then cleared) by the
262
+ * next `callTemplate()` or `applyTemplates()` call.
263
+ * @type {{name: string, select?: string, value?: unknown}[] | undefined}
264
+ */
265
+ _pendingParams: {
266
+ name: string;
267
+ select?: string;
268
+ value?: unknown;
269
+ }[] | undefined;
244
270
  /** @type {string[]} */
245
271
  _preserveSpaceElements: string[];
246
272
  /** @type {string[]} */
@@ -457,6 +483,72 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
457
483
  * @returns {this}
458
484
  */
459
485
  variable(name: string, select: string): this;
486
+ /**
487
+ * Normalize a `param()`/`withParam()` default/value argument to `{select}`
488
+ * or `{value}`: a bare string is a JSONPath expression, `{value}` is a
489
+ * literal, and `{select}` (or an omitted argument) is an expression.
490
+ * @param {string|{select?: string, value?: unknown}|undefined} arg
491
+ * @returns {{select?: string, value?: unknown}}
492
+ * @private
493
+ */
494
+ private _paramSpec;
495
+ /**
496
+ * Look up a parameter by name across the active with-param scope and the
497
+ * runtime `config.params`, so runtime-supplied params act like XSLT global
498
+ * parameters (visible to every template and expression).
499
+ * @param {string} name
500
+ * @returns {{has: boolean, value: any}}
501
+ * @private
502
+ */
503
+ private _lookupParam;
504
+ /**
505
+ * Resolve a `{select}` or `{value}` parameter spec to its value in the
506
+ * current context.
507
+ * @param {{select?: string, value?: unknown}} spec
508
+ * @returns {any}
509
+ * @private
510
+ */
511
+ private _resolveParam;
512
+ /**
513
+ * Resolve staged `withParam()` entries into `target` (in the calling
514
+ * context) and clear the staged set. Shared by `callTemplate()` and
515
+ * `applyTemplates()`.
516
+ * @param {Record<string, unknown>} target
517
+ * @returns {void}
518
+ * @private
519
+ */
520
+ private _drainPendingParams;
521
+ /**
522
+ * Declare a template parameter, equivalent to `xsl:param`. Binds `name` to
523
+ * the given default, unless a value was supplied by the caller (via
524
+ * `this.withParam()` or `callTemplate`'s `withParam`) or at runtime (via
525
+ * `config.params`), in which case the supplied value wins.
526
+ * @param {string} name - Parameter name
527
+ * @param {string|{select: string}|{value: unknown}} [select] - The default:
528
+ * a JSONPath expression string, an explicit `{select}`, or a literal
529
+ * `{value}`. Omitted means a default of `undefined`.
530
+ * @returns {this}
531
+ */
532
+ param(name: string, select?: string | {
533
+ select: string;
534
+ } | {
535
+ value: unknown;
536
+ }): this;
537
+ /**
538
+ * Stage a parameter for the next `callTemplate()` or `applyTemplates()`
539
+ * call, equivalent to `xsl:with-param`. The staged set is consumed and
540
+ * cleared by that call; entries are evaluated in the current (calling)
541
+ * context.
542
+ * @param {string} name - Parameter name
543
+ * @param {string|{select: string}|{value: unknown}} [select] - A JSONPath
544
+ * expression string, an explicit `{select}`, or a literal `{value}`.
545
+ * @returns {this}
546
+ */
547
+ withParam(name: string, select?: string | {
548
+ select: string;
549
+ } | {
550
+ value: unknown;
551
+ }): this;
460
552
  /**
461
553
  * @param {unknown} json - JSON data to log
462
554
  * @returns {void}
@@ -758,6 +850,10 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
758
850
  * to a truthy scalar or a non-empty result set (node set analogue).
759
851
  * Mirrors XSLT's xsl:if semantics where a non-empty node set is truthy.
760
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
+ *
761
857
  * Truthiness rules:
762
858
  * - If the selection (with wrap) yields an array with length > 0, the
763
859
  * condition passes.
@@ -771,9 +867,19 @@ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "
771
867
  */
772
868
  if(select: string, cb: (this: JSONPathTransformerContext<T>) => void): this;
773
869
  /**
774
- * Internal helper: determine if `select` passes truthiness test.
775
- * Non-empty wrapped results => true; single item: objects truthy,
776
- * primitives coerced via Boolean().
870
+ * Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
871
+ * value: a non-empty result set (or single non-empty item) is truthy, a
872
+ * scalar is coerced with `Boolean()`.
873
+ * @param {any} val
874
+ * @returns {boolean}
875
+ * @private
876
+ */
877
+ private _isTruthyResult;
878
+ /**
879
+ * Internal helper: determine if `select` passes the truthiness test. A
880
+ * bare `$name` reference resolves against the parameter scope (local
881
+ * with-param then runtime `config.params`); anything else is evaluated as
882
+ * a JSONPath expression.
777
883
  * @param {string} select
778
884
  * @returns {boolean}
779
885
  */
@@ -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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"}
@@ -23,6 +23,12 @@ export type XPathTransformerContextConfig = {
23
23
  */
24
24
  preventEval?: boolean;
25
25
  specificityPriorityResolver?: (path: string) => number;
26
+ /**
27
+ * Runtime parameter values
28
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
29
+ * matching name uses this value instead of its declared default
30
+ */
31
+ params?: Record<string, unknown>;
26
32
  /**
27
33
  * Extra methods/values
28
34
  * merged onto this context so templates can call `this.myHelper()`
@@ -41,6 +47,9 @@ export type XPathTransformerContextConfig = {
41
47
  * @property {boolean} [preventEval] - Whether to prevent eval in the JSONPath
42
48
  * trailing segment of an `indexedDB(...)` expression
43
49
  * @property {(path: string) => number} [specificityPriorityResolver]
50
+ * @property {Record<string, unknown>} [params] Runtime parameter values
51
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
52
+ * matching name uses this value instead of its declared default
44
53
  * @property {Record<string, unknown> & ThisType<
45
54
  * import('./XPathTransformerContext.js').default &
46
55
  * import('./context-extensions.js').ContextExtensions
@@ -88,6 +97,23 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
88
97
  _currPath: string | undefined;
89
98
  /** @type {Record<string, any> | undefined} */
90
99
  _params: Record<string, any> | undefined;
100
+ /**
101
+ * Parameter values supplied at runtime via `config.params`, mirroring the
102
+ * stylesheet parameters an XSLT processor is handed. A `param()` whose
103
+ * name appears here takes this value instead of its declared default.
104
+ * @type {Record<string, unknown>}
105
+ */
106
+ _runtimeParams: Record<string, unknown>;
107
+ /**
108
+ * Parameters staged by `withParam()` and consumed (then cleared) by the
109
+ * next `callTemplate()` or `applyTemplates()` call.
110
+ * @type {{name: string, select?: string, value?: unknown}[] | undefined}
111
+ */
112
+ _pendingParams: {
113
+ name: string;
114
+ select?: string;
115
+ value?: unknown;
116
+ }[] | undefined;
91
117
  /** @type {string[]} */
92
118
  _preserveSpaceElements: string[];
93
119
  /** @type {string[]} */
@@ -298,6 +324,74 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
298
324
  * @returns {XPathTransformerContext}
299
325
  */
300
326
  variable(name: string, select: string): XPathTransformerContext;
327
+ /**
328
+ * Normalize a `param()`/`withParam()` default/value argument to `{select}`
329
+ * or `{value}`: a bare string is an XPath expression, `{value}` is a
330
+ * literal, and `{select}` (or an omitted argument) is an expression.
331
+ * @param {string|{select?: string, value?: unknown}|undefined} arg
332
+ * @returns {{select?: string, value?: unknown}}
333
+ * @private
334
+ */
335
+ private _paramSpec;
336
+ /**
337
+ * Look up a parameter by name across the active with-param scope and the
338
+ * runtime `config.params`, so runtime-supplied params act like XSLT global
339
+ * parameters (visible to every template and expression).
340
+ * @param {string} name
341
+ * @returns {{has: boolean, value: any}}
342
+ * @private
343
+ */
344
+ private _lookupParam;
345
+ /**
346
+ * Resolve a `{select}` or `{value}` parameter spec to its value in the
347
+ * current context. An XPath `select` is resolved to a first/atomic value
348
+ * (as `callTemplate`'s `withParam` already does), so `$name` references
349
+ * render as a string rather than a node object.
350
+ * @param {{select?: string, value?: unknown}} spec
351
+ * @returns {any}
352
+ * @private
353
+ */
354
+ private _resolveParam;
355
+ /**
356
+ * Resolve staged `withParam()` entries into `target` (in the calling
357
+ * context) and clear the staged set. Shared by `callTemplate()` and
358
+ * `applyTemplates()`.
359
+ * @param {Record<string, unknown>} target
360
+ * @returns {void}
361
+ * @private
362
+ */
363
+ private _drainPendingParams;
364
+ /**
365
+ * Declare a template parameter, equivalent to `xsl:param`. Binds `name` to
366
+ * the given default, unless a value was supplied by the caller (via
367
+ * `this.withParam()` or `callTemplate`'s `withParam`) or at runtime (via
368
+ * `config.params`), in which case the supplied value wins.
369
+ * @param {string} name - Parameter name
370
+ * @param {string|{select: string}|{value: unknown}} [select] - The default:
371
+ * an XPath expression string, an explicit `{select}`, or a literal
372
+ * `{value}`. Omitted means a default of `undefined`.
373
+ * @returns {XPathTransformerContext}
374
+ */
375
+ param(name: string, select?: string | {
376
+ select: string;
377
+ } | {
378
+ value: unknown;
379
+ }): XPathTransformerContext;
380
+ /**
381
+ * Stage a parameter for the next `callTemplate()` or `applyTemplates()`
382
+ * call, equivalent to `xsl:with-param`. The staged set is consumed and
383
+ * cleared by that call; entries are evaluated in the current (calling)
384
+ * context.
385
+ * @param {string} name - Parameter name
386
+ * @param {string|{select: string}|{value: unknown}} [select] - An XPath
387
+ * expression string, an explicit `{select}`, or a literal `{value}`.
388
+ * @returns {XPathTransformerContext}
389
+ */
390
+ withParam(name: string, select?: string | {
391
+ select: string;
392
+ } | {
393
+ value: unknown;
394
+ }): XPathTransformerContext;
301
395
  /**
302
396
  * Log a message (for debugging).
303
397
  * @param {unknown} json Any value
@@ -636,6 +730,10 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
636
730
  * Conditionally execute a callback when an XPath evaluates to a truthy
637
731
  * scalar or a non-empty node set (akin to xsl:if semantics).
638
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
+ *
639
737
  * Truthiness rules:
640
738
  * - Node set: length > 0 passes.
641
739
  * - Scalar: Boolean(value) must be true.
@@ -647,7 +745,18 @@ declare class XPathTransformerContext<T = "dom", V = DocumentFragment | Element>
647
745
  */
648
746
  if(select: string, cb: (this: XPathTransformerContext) => void): XPathTransformerContext;
649
747
  /**
650
- * Internal helper: evaluate XPath truthiness like if().
748
+ * Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
749
+ * value: a non-empty node set (array) is truthy, a scalar is coerced with
750
+ * `Boolean()`.
751
+ * @param {any} val
752
+ * @returns {boolean}
753
+ * @private
754
+ */
755
+ private _isTruthyResult;
756
+ /**
757
+ * Internal helper: evaluate XPath truthiness like if(). A bare `$name`
758
+ * reference resolves against the parameter scope (local with-param then
759
+ * runtime `config.params`); anything else is evaluated as XPath.
651
760
  * @param {string} select
652
761
  * @returns {boolean}
653
762
  */
@@ -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/dist/index.d.ts CHANGED
@@ -165,6 +165,14 @@ export type BaseJTLTOptions<T, E extends boolean | undefined = false> = {
165
165
  * Parent property name for context
166
166
  */
167
167
  parentProperty?: string;
168
+ /**
169
+ * Parameter values supplied at
170
+ * runtime, mirroring the stylesheet parameters an XSLT processor is handed.
171
+ * A `this.param(name, default)` declaration whose name appears here resolves
172
+ * to this value instead of its default, and `$name` references such a
173
+ * parameter from any template.
174
+ */
175
+ params?: Record<string, unknown>;
168
176
  };
169
177
  export type JSONPathJTLTOptions<T extends "json" | "string" | "dom" = "json", E extends boolean | undefined = false> = BaseJTLTOptions<T, E> & {
170
178
  templates?: JSONPathTemplateArray<T>[] | TemplateFunction<T, "json", import('./JSONPathTransformerContext.js').default<T>>;
@@ -377,6 +385,11 @@ export type JTLTOptions<E extends boolean | undefined = boolean | undefined> = J
377
385
  * transformer.
378
386
  * @property {object} [parent] Parent object for context
379
387
  * @property {string} [parentProperty] Parent property name for context
388
+ * @property {Record<string, unknown>} [params] Parameter values supplied at
389
+ * runtime, mirroring the stylesheet parameters an XSLT processor is handed.
390
+ * A `this.param(name, default)` declaration whose name appears here resolves
391
+ * to this value instead of its default, and `$name` references such a
392
+ * parameter from any template.
380
393
  */
381
394
  /**
382
395
  * JSONPath engine options with context-aware template typing.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jtlt",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "type": "module",
5
5
  "author": "Brett Zamir",
6
6
  "contributors": [],
@@ -99,6 +99,9 @@ const escapeRegexReplacement = (string) => {
99
99
  * Priority resolver function
100
100
  * @property {import('./index.js').JSONPathTemplateObject<T>[]|
101
101
  * import('./index.js').JSONPathTemplateArray<T>[]} [templates]
102
+ * @property {Record<string, unknown>} [params] Runtime parameter values
103
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
104
+ * matching name uses this value instead of its declared default
102
105
  * @property {Record<string, unknown> & ThisType<
103
106
  * import('./JSONPathTransformerContext.js').default<T> &
104
107
  * import('./context-extensions.js').ContextExtensions
@@ -151,6 +154,19 @@ class JSONPathTransformerContext {
151
154
  this._currPath = undefined;
152
155
  /** @type {Record<string, any> | undefined} */
153
156
  this._params = undefined;
157
+ /**
158
+ * Parameter values supplied at runtime via `config.params`, mirroring the
159
+ * stylesheet parameters an XSLT processor is handed. A `param()` whose
160
+ * name appears here takes this value instead of its declared default.
161
+ * @type {Record<string, unknown>}
162
+ */
163
+ this._runtimeParams = /** @type {any} */ (config).params || {};
164
+ /**
165
+ * Parameters staged by `withParam()` and consumed (then cleared) by the
166
+ * next `callTemplate()` or `applyTemplates()` call.
167
+ * @type {{name: string, select?: string, value?: unknown}[] | undefined}
168
+ */
169
+ this._pendingParams = undefined;
154
170
  /** @type {string[]} */
155
171
  this._preserveSpaceElements = [];
156
172
  /** @type {string[]} */
@@ -273,6 +289,12 @@ class JSONPathTransformerContext {
273
289
  mode = select.mode ?? mode;
274
290
  select = select.select ?? select;
275
291
  }
292
+ // Resolve params staged via `this.withParam()` in the calling context,
293
+ // once, before iterating; each matched template receives them
294
+ // (`xsl:apply-templates` / `xsl:with-param`).
295
+ /** @type {Record<string, unknown>} */
296
+ const appliedParams = {};
297
+ this._drainPendingParams(appliedParams);
276
298
  if (!this._initialized) {
277
299
  select ||= '$';
278
300
  this._currPath = '$';
@@ -589,7 +611,7 @@ class JSONPathTransformerContext {
589
611
 
590
612
  // Set up parameter context for valueOf() access in templates
591
613
  const prevTemplateParams = that._params;
592
- that._params = {0: value};
614
+ that._params = {0: value, ...appliedParams};
593
615
 
594
616
  /**
595
617
  * The template may return synchronously or return a Promise (e.g. from
@@ -710,6 +732,10 @@ class JSONPathTransformerContext {
710
732
  const params = {};
711
733
  this._params = params;
712
734
 
735
+ // Params staged via `this.withParam()` seed the set; explicit `withParam`
736
+ // entries below override any of the same name (`xsl:with-param`).
737
+ this._drainPendingParams(params);
738
+
713
739
  withParams.forEach((withParam, index) => {
714
740
  const value = withParam.value !== undefined
715
741
  ? withParam.value
@@ -1320,9 +1346,8 @@ class JSONPathTransformerContext {
1320
1346
  // Check if it's a parameter reference ($param, not $.jsonpath)
1321
1347
  if (trimmed.startsWith('$') && !trimmed.startsWith('$.')) {
1322
1348
  const paramName = trimmed.slice(1);
1323
- return this._params && Object.hasOwn(this._params, paramName)
1324
- ? this._params[paramName]
1325
- : undefined;
1349
+ const {has, value} = this._lookupParam(paramName);
1350
+ return has ? value : undefined;
1326
1351
  }
1327
1352
  // Check if it's a string literal
1328
1353
  if ((trimmed.startsWith("'") && trimmed.endsWith("'")) ||
@@ -1361,9 +1386,8 @@ class JSONPathTransformerContext {
1361
1386
  !valueExpr.includes('.') && !valueExpr.includes('[')) {
1362
1387
  // Parameter reference (no path components)
1363
1388
  const paramName = valueExpr.trim().slice(1);
1364
- numValue = this._params && Object.hasOwn(this._params, paramName)
1365
- ? this._params[paramName]
1366
- : 0;
1389
+ const {has, value} = this._lookupParam(paramName);
1390
+ numValue = has ? value : 0;
1367
1391
  } else {
1368
1392
  // Try to parse as number or evaluate as JSONPath
1369
1393
  const trimmed = valueExpr.trim();
@@ -1391,8 +1415,9 @@ class JSONPathTransformerContext {
1391
1415
  // Check if this is a parameter reference (starts with $)
1392
1416
  if (selectStr && selectStr.startsWith('$')) {
1393
1417
  const paramName = selectStr.slice(1);
1394
- result = (this._params && Object.hasOwn(this._params, paramName))
1395
- ? this._params[paramName]
1418
+ const {has, value} = this._lookupParam(paramName);
1419
+ result = has
1420
+ ? value
1396
1421
  : this.get(/** @type {string} */ (selectStr), false);
1397
1422
  } else {
1398
1423
  result = this.get(/** @type {string} */ (select), false);
@@ -1629,6 +1654,116 @@ class JSONPathTransformerContext {
1629
1654
  return this;
1630
1655
  }
1631
1656
 
1657
+ /**
1658
+ * Normalize a `param()`/`withParam()` default/value argument to `{select}`
1659
+ * or `{value}`: a bare string is a JSONPath expression, `{value}` is a
1660
+ * literal, and `{select}` (or an omitted argument) is an expression.
1661
+ * @param {string|{select?: string, value?: unknown}|undefined} arg
1662
+ * @returns {{select?: string, value?: unknown}}
1663
+ * @private
1664
+ */
1665
+ // eslint-disable-next-line class-methods-use-this -- pure helper
1666
+ _paramSpec (arg) {
1667
+ if (typeof arg === 'string') {
1668
+ return {select: arg};
1669
+ }
1670
+ if (arg && 'value' in arg) {
1671
+ return {value: arg.value};
1672
+ }
1673
+ // `{select}` object, or omitted (a default of `undefined`).
1674
+ return {select: arg && arg.select};
1675
+ }
1676
+
1677
+ /**
1678
+ * Look up a parameter by name across the active with-param scope and the
1679
+ * runtime `config.params`, so runtime-supplied params act like XSLT global
1680
+ * parameters (visible to every template and expression).
1681
+ * @param {string} name
1682
+ * @returns {{has: boolean, value: any}}
1683
+ * @private
1684
+ */
1685
+ _lookupParam (name) {
1686
+ if (this._params && Object.hasOwn(this._params, name)) {
1687
+ return {has: true, value: this._params[name]};
1688
+ }
1689
+ if (Object.hasOwn(this._runtimeParams, name)) {
1690
+ return {has: true, value: this._runtimeParams[name]};
1691
+ }
1692
+ return {has: false, value: undefined};
1693
+ }
1694
+
1695
+ /**
1696
+ * Resolve a `{select}` or `{value}` parameter spec to its value in the
1697
+ * current context.
1698
+ * @param {{select?: string, value?: unknown}} spec
1699
+ * @returns {any}
1700
+ * @private
1701
+ */
1702
+ _resolveParam (spec) {
1703
+ if ('value' in spec) {
1704
+ return spec.value;
1705
+ }
1706
+ return spec.select === undefined ? undefined : this.get(spec.select, false);
1707
+ }
1708
+
1709
+ /**
1710
+ * Resolve staged `withParam()` entries into `target` (in the calling
1711
+ * context) and clear the staged set. Shared by `callTemplate()` and
1712
+ * `applyTemplates()`.
1713
+ * @param {Record<string, unknown>} target
1714
+ * @returns {void}
1715
+ * @private
1716
+ */
1717
+ _drainPendingParams (target) {
1718
+ const pending = this._pendingParams;
1719
+ this._pendingParams = undefined;
1720
+ if (!pending) {
1721
+ return;
1722
+ }
1723
+ for (const entry of pending) {
1724
+ target[entry.name] = this._resolveParam(entry);
1725
+ }
1726
+ }
1727
+
1728
+ /**
1729
+ * Declare a template parameter, equivalent to `xsl:param`. Binds `name` to
1730
+ * the given default, unless a value was supplied by the caller (via
1731
+ * `this.withParam()` or `callTemplate`'s `withParam`) or at runtime (via
1732
+ * `config.params`), in which case the supplied value wins.
1733
+ * @param {string} name - Parameter name
1734
+ * @param {string|{select: string}|{value: unknown}} [select] - The default:
1735
+ * a JSONPath expression string, an explicit `{select}`, or a literal
1736
+ * `{value}`. Omitted means a default of `undefined`.
1737
+ * @returns {this}
1738
+ */
1739
+ param (name, select) {
1740
+ this._params ||= {};
1741
+ const supplied = this._lookupParam(name);
1742
+ // A caller's with-param or a `config.params` value overrides the default.
1743
+ const resolved = supplied.has
1744
+ ? supplied.value
1745
+ : this._resolveParam(this._paramSpec(select));
1746
+ this._params[name] = resolved;
1747
+ this.vars[name] = resolved;
1748
+ return this;
1749
+ }
1750
+
1751
+ /**
1752
+ * Stage a parameter for the next `callTemplate()` or `applyTemplates()`
1753
+ * call, equivalent to `xsl:with-param`. The staged set is consumed and
1754
+ * cleared by that call; entries are evaluated in the current (calling)
1755
+ * context.
1756
+ * @param {string} name - Parameter name
1757
+ * @param {string|{select: string}|{value: unknown}} [select] - A JSONPath
1758
+ * expression string, an explicit `{select}`, or a literal `{value}`.
1759
+ * @returns {this}
1760
+ */
1761
+ withParam (name, select) {
1762
+ this._pendingParams ||= [];
1763
+ this._pendingParams.push({name, ...this._paramSpec(select)});
1764
+ return this;
1765
+ }
1766
+
1632
1767
  /**
1633
1768
  * @param {unknown} json - JSON data to log
1634
1769
  * @returns {void}
@@ -2414,6 +2549,10 @@ class JSONPathTransformerContext {
2414
2549
  * to a truthy scalar or a non-empty result set (node set analogue).
2415
2550
  * Mirrors XSLT's xsl:if semantics where a non-empty node set is truthy.
2416
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
+ *
2417
2556
  * Truthiness rules:
2418
2557
  * - If the selection (with wrap) yields an array with length > 0, the
2419
2558
  * condition passes.
@@ -2434,35 +2573,56 @@ class JSONPathTransformerContext {
2434
2573
  }
2435
2574
 
2436
2575
  /**
2437
- * Internal helper: determine if `select` passes truthiness test.
2438
- * Non-empty wrapped results => true; single item: objects truthy,
2439
- * primitives coerced via Boolean().
2440
- * @param {string} select
2576
+ * Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
2577
+ * value: a non-empty result set (or single non-empty item) is truthy, a
2578
+ * scalar is coerced with `Boolean()`.
2579
+ * @param {any} val
2441
2580
  * @returns {boolean}
2581
+ * @private
2442
2582
  */
2443
- _passesIf (select) {
2444
- // Evaluate with wrapping to detect non-empty match sets
2445
- /** @type {any} */ const wrapped = this.get(select, true);
2446
- if (Array.isArray(wrapped)) {
2447
- if (wrapped.length === 0) {
2583
+ // eslint-disable-next-line class-methods-use-this -- pure helper
2584
+ _isTruthyResult (val) {
2585
+ if (Array.isArray(val)) {
2586
+ if (val.length === 0) {
2448
2587
  return false;
2449
2588
  }
2450
- if (wrapped.length > 1) {
2589
+ if (val.length > 1) {
2451
2590
  // Multiple matches (node set analogue) => truthy
2452
2591
  return true;
2453
2592
  }
2454
2593
  // Single item; apply scalar truthiness
2455
- const single = wrapped[0];
2456
- // Objects (arrays) always truthy; primitives use Boolean()
2594
+ const single = val[0];
2457
2595
  if (single && typeof single === 'object') {
2458
2596
  return true;
2459
2597
  }
2460
2598
  return Boolean(single);
2461
2599
  }
2462
- /* c8 ignore next 3 -- unreachable defensive non-array branch:
2463
- * jsonpath-plus with wrap:true always returns arrays. */
2464
- // Fallback if library behavior changed in future
2465
- return Boolean(wrapped);
2600
+ if (val && typeof val === 'object') {
2601
+ return true;
2602
+ }
2603
+ return Boolean(val);
2604
+ }
2605
+
2606
+ /**
2607
+ * Internal helper: determine if `select` passes the truthiness test. A
2608
+ * bare `$name` reference resolves against the parameter scope (local
2609
+ * with-param then runtime `config.params`); anything else is evaluated as
2610
+ * a JSONPath expression.
2611
+ * @param {string} select
2612
+ * @returns {boolean}
2613
+ */
2614
+ _passesIf (select) {
2615
+ if (typeof select === 'string') {
2616
+ const paramRef = select.trim().match(/^\$(?<name>[\w\-]+)$/v);
2617
+ if (paramRef && paramRef.groups) {
2618
+ const param = this._lookupParam(paramRef.groups.name);
2619
+ if (param.has) {
2620
+ return this._isTruthyResult(param.value);
2621
+ }
2622
+ }
2623
+ }
2624
+ // Evaluate with wrapping to detect non-empty match sets
2625
+ return this._isTruthyResult(this.get(select, true));
2466
2626
  }
2467
2627
 
2468
2628
  /**
@@ -31,6 +31,9 @@ const escapeRegexReplacement = (string) => {
31
31
  * @property {boolean} [preventEval] - Whether to prevent eval in the JSONPath
32
32
  * trailing segment of an `indexedDB(...)` expression
33
33
  * @property {(path: string) => number} [specificityPriorityResolver]
34
+ * @property {Record<string, unknown>} [params] Runtime parameter values
35
+ * (like an XSLT processor's stylesheet parameters); a `param()` with a
36
+ * matching name uses this value instead of its declared default
34
37
  * @property {Record<string, unknown> & ThisType<
35
38
  * import('./XPathTransformerContext.js').default &
36
39
  * import('./context-extensions.js').ContextExtensions
@@ -136,6 +139,19 @@ class XPathTransformerContext {
136
139
  this._currPath = undefined; // XPath string of current context
137
140
  /** @type {Record<string, any> | undefined} */
138
141
  this._params = undefined;
142
+ /**
143
+ * Parameter values supplied at runtime via `config.params`, mirroring the
144
+ * stylesheet parameters an XSLT processor is handed. A `param()` whose
145
+ * name appears here takes this value instead of its declared default.
146
+ * @type {Record<string, unknown>}
147
+ */
148
+ this._runtimeParams = /** @type {any} */ (config).params || {};
149
+ /**
150
+ * Parameters staged by `withParam()` and consumed (then cleared) by the
151
+ * next `callTemplate()` or `applyTemplates()` call.
152
+ * @type {{name: string, select?: string, value?: unknown}[] | undefined}
153
+ */
154
+ this._pendingParams = undefined;
139
155
  /** @type {string[]} */
140
156
  this._preserveSpaceElements = [];
141
157
  /** @type {string[]} */
@@ -411,6 +427,12 @@ class XPathTransformerContext {
411
427
  } else {
412
428
  select ||= '*';
413
429
  }
430
+ // Resolve params staged via `this.withParam()` in the calling context,
431
+ // once, before iterating; each matched template receives them
432
+ // (`xsl:apply-templates` / `xsl:with-param`).
433
+ /** @type {Record<string, unknown>} */
434
+ const appliedParams = {};
435
+ this._drainPendingParams(appliedParams);
414
436
  const nodesResult = this._evalXPath(select, true);
415
437
  const nodes = /** @type {Node[]} */ (nodesResult);
416
438
  const modeMatched = this._templates.filter((t) => {
@@ -595,7 +617,7 @@ class XPathTransformerContext {
595
617
 
596
618
  // Set up parameter context for valueOf() access in templates
597
619
  const prevTemplateParams = this._params;
598
- this._params = {0: node};
620
+ this._params = {0: node, ...appliedParams};
599
621
 
600
622
  /**
601
623
  * The template may return synchronously or return a Promise (e.g. from
@@ -688,6 +710,10 @@ class XPathTransformerContext {
688
710
  const params = {};
689
711
  this._params = params;
690
712
 
713
+ // Params staged via `this.withParam()` seed the set; explicit `withParam`
714
+ // entries below override any of the same name (`xsl:with-param`).
715
+ this._drainPendingParams(params);
716
+
691
717
  withParams.forEach((withParam, index) => {
692
718
  const value = withParam.value !== undefined
693
719
  ? withParam.value
@@ -1152,9 +1178,8 @@ class XPathTransformerContext {
1152
1178
  // Parameter reference
1153
1179
  if (arg.startsWith('$')) {
1154
1180
  const paramName = arg.slice(1);
1155
- return this._params && Object.hasOwn(this._params, paramName)
1156
- ? this._params[paramName]
1157
- : undefined;
1181
+ const {has, value} = this._lookupParam(paramName);
1182
+ return has ? value : undefined;
1158
1183
  }
1159
1184
  // XPath expression - evaluate it
1160
1185
  return this._evalXPath(arg, false);
@@ -1193,9 +1218,8 @@ class XPathTransformerContext {
1193
1218
  if (valueExpr.trimStart().startsWith('$')) {
1194
1219
  // Parameter reference
1195
1220
  const paramName = valueExpr.trim().slice(1);
1196
- numValue = this._params && Object.hasOwn(this._params, paramName)
1197
- ? this._params[paramName]
1198
- : 0;
1221
+ const {has, value} = this._lookupParam(paramName);
1222
+ numValue = has ? value : 0;
1199
1223
  } else {
1200
1224
  // Try to parse as number or evaluate as XPath
1201
1225
  const trimmed = valueExpr.trim();
@@ -1221,8 +1245,9 @@ class XPathTransformerContext {
1221
1245
  // Check if this is a parameter reference (starts with $)
1222
1246
  if (selectStr && selectStr.startsWith('$')) {
1223
1247
  const paramName = selectStr.slice(1);
1224
- if (this._params && Object.hasOwn(this._params, paramName)) {
1225
- val = this._params[paramName];
1248
+ const paramLookup = this._lookupParam(paramName);
1249
+ if (paramLookup.has) {
1250
+ val = paramLookup.value;
1226
1251
  // If val is a Node, extract its text content
1227
1252
  if (val && typeof val === 'object' && 'nodeType' in val) {
1228
1253
  if (val.nodeType === 3) {
@@ -1381,6 +1406,125 @@ class XPathTransformerContext {
1381
1406
  this.vars[name] = this.get(select, true);
1382
1407
  return this;
1383
1408
  }
1409
+
1410
+ /**
1411
+ * Normalize a `param()`/`withParam()` default/value argument to `{select}`
1412
+ * or `{value}`: a bare string is an XPath expression, `{value}` is a
1413
+ * literal, and `{select}` (or an omitted argument) is an expression.
1414
+ * @param {string|{select?: string, value?: unknown}|undefined} arg
1415
+ * @returns {{select?: string, value?: unknown}}
1416
+ * @private
1417
+ */
1418
+ // eslint-disable-next-line class-methods-use-this -- pure helper
1419
+ _paramSpec (arg) {
1420
+ if (typeof arg === 'string') {
1421
+ return {select: arg};
1422
+ }
1423
+ if (arg && 'value' in arg) {
1424
+ return {value: arg.value};
1425
+ }
1426
+ // `{select}` object, or omitted (a default of `undefined`).
1427
+ return {select: arg && arg.select};
1428
+ }
1429
+
1430
+ /**
1431
+ * Look up a parameter by name across the active with-param scope and the
1432
+ * runtime `config.params`, so runtime-supplied params act like XSLT global
1433
+ * parameters (visible to every template and expression).
1434
+ * @param {string} name
1435
+ * @returns {{has: boolean, value: any}}
1436
+ * @private
1437
+ */
1438
+ _lookupParam (name) {
1439
+ if (this._params && Object.hasOwn(this._params, name)) {
1440
+ return {has: true, value: this._params[name]};
1441
+ }
1442
+ if (Object.hasOwn(this._runtimeParams, name)) {
1443
+ return {has: true, value: this._runtimeParams[name]};
1444
+ }
1445
+ return {has: false, value: undefined};
1446
+ }
1447
+
1448
+ /**
1449
+ * Resolve a `{select}` or `{value}` parameter spec to its value in the
1450
+ * current context. An XPath `select` is resolved to a first/atomic value
1451
+ * (as `callTemplate`'s `withParam` already does), so `$name` references
1452
+ * render as a string rather than a node object.
1453
+ * @param {{select?: string, value?: unknown}} spec
1454
+ * @returns {any}
1455
+ * @private
1456
+ */
1457
+ _resolveParam (spec) {
1458
+ if ('value' in spec) {
1459
+ return spec.value;
1460
+ }
1461
+ if (spec.select === undefined) {
1462
+ return undefined;
1463
+ }
1464
+ const resolved = this.get(spec.select, false);
1465
+ // A node-set `select` yields an array; bind the first node so a `$name`
1466
+ // reference renders as its string-value (XSLT behavior).
1467
+ return Array.isArray(resolved) ? resolved[0] : resolved;
1468
+ }
1469
+
1470
+ /**
1471
+ * Resolve staged `withParam()` entries into `target` (in the calling
1472
+ * context) and clear the staged set. Shared by `callTemplate()` and
1473
+ * `applyTemplates()`.
1474
+ * @param {Record<string, unknown>} target
1475
+ * @returns {void}
1476
+ * @private
1477
+ */
1478
+ _drainPendingParams (target) {
1479
+ const pending = this._pendingParams;
1480
+ this._pendingParams = undefined;
1481
+ if (!pending) {
1482
+ return;
1483
+ }
1484
+ for (const entry of pending) {
1485
+ target[entry.name] = this._resolveParam(entry);
1486
+ }
1487
+ }
1488
+
1489
+ /**
1490
+ * Declare a template parameter, equivalent to `xsl:param`. Binds `name` to
1491
+ * the given default, unless a value was supplied by the caller (via
1492
+ * `this.withParam()` or `callTemplate`'s `withParam`) or at runtime (via
1493
+ * `config.params`), in which case the supplied value wins.
1494
+ * @param {string} name - Parameter name
1495
+ * @param {string|{select: string}|{value: unknown}} [select] - The default:
1496
+ * an XPath expression string, an explicit `{select}`, or a literal
1497
+ * `{value}`. Omitted means a default of `undefined`.
1498
+ * @returns {XPathTransformerContext}
1499
+ */
1500
+ param (name, select) {
1501
+ this._params ||= {};
1502
+ const supplied = this._lookupParam(name);
1503
+ // A caller's with-param or a `config.params` value overrides the default.
1504
+ const resolved = supplied.has
1505
+ ? supplied.value
1506
+ : this._resolveParam(this._paramSpec(select));
1507
+ this._params[name] = resolved;
1508
+ this.vars[name] = resolved;
1509
+ return this;
1510
+ }
1511
+
1512
+ /**
1513
+ * Stage a parameter for the next `callTemplate()` or `applyTemplates()`
1514
+ * call, equivalent to `xsl:with-param`. The staged set is consumed and
1515
+ * cleared by that call; entries are evaluated in the current (calling)
1516
+ * context.
1517
+ * @param {string} name - Parameter name
1518
+ * @param {string|{select: string}|{value: unknown}} [select] - An XPath
1519
+ * expression string, an explicit `{select}`, or a literal `{value}`.
1520
+ * @returns {XPathTransformerContext}
1521
+ */
1522
+ withParam (name, select) {
1523
+ this._pendingParams ||= [];
1524
+ this._pendingParams.push({name, ...this._paramSpec(select)});
1525
+ return this;
1526
+ }
1527
+
1384
1528
  /**
1385
1529
  * Log a message (for debugging).
1386
1530
  * @param {unknown} json Any value
@@ -2321,6 +2465,10 @@ class XPathTransformerContext {
2321
2465
  * Conditionally execute a callback when an XPath evaluates to a truthy
2322
2466
  * scalar or a non-empty node set (akin to xsl:if semantics).
2323
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
+ *
2324
2472
  * Truthiness rules:
2325
2473
  * - Node set: length > 0 passes.
2326
2474
  * - Scalar: Boolean(value) must be true.
@@ -2339,11 +2487,41 @@ class XPathTransformerContext {
2339
2487
  }
2340
2488
 
2341
2489
  /**
2342
- * Internal helper: evaluate XPath truthiness like if().
2490
+ * Apply `if()`/`choose()`/`assert()` truthiness to an already-resolved
2491
+ * value: a non-empty node set (array) is truthy, a scalar is coerced with
2492
+ * `Boolean()`.
2493
+ * @param {any} val
2494
+ * @returns {boolean}
2495
+ * @private
2496
+ */
2497
+ // eslint-disable-next-line class-methods-use-this -- pure helper
2498
+ _isTruthyResult (val) {
2499
+ if (Array.isArray(val)) {
2500
+ return val.length > 0;
2501
+ }
2502
+ if (val && typeof val === 'object') {
2503
+ return true;
2504
+ }
2505
+ return Boolean(val);
2506
+ }
2507
+
2508
+ /**
2509
+ * Internal helper: evaluate XPath truthiness like if(). A bare `$name`
2510
+ * reference resolves against the parameter scope (local with-param then
2511
+ * runtime `config.params`); anything else is evaluated as XPath.
2343
2512
  * @param {string} select
2344
2513
  * @returns {boolean}
2345
2514
  */
2346
2515
  _passesIf (select) {
2516
+ if (typeof select === 'string') {
2517
+ const paramRef = select.trim().match(/^\$(?<name>[\w\-]+)$/v);
2518
+ if (paramRef && paramRef.groups) {
2519
+ const param = this._lookupParam(paramRef.groups.name);
2520
+ if (param.has) {
2521
+ return this._isTruthyResult(param.value);
2522
+ }
2523
+ }
2524
+ }
2347
2525
  let passes = false;
2348
2526
  // Try scalar evaluation first (handles boolean/comparison expressions)
2349
2527
  try {
package/src/index.js CHANGED
@@ -218,6 +218,11 @@ export const setWindow = (win) => {
218
218
  * transformer.
219
219
  * @property {object} [parent] Parent object for context
220
220
  * @property {string} [parentProperty] Parent property name for context
221
+ * @property {Record<string, unknown>} [params] Parameter values supplied at
222
+ * runtime, mirroring the stylesheet parameters an XSLT processor is handed.
223
+ * A `this.param(name, default)` declaration whose name appears here resolves
224
+ * to this value instead of its default, and `$name` references such a
225
+ * parameter from any template.
221
226
  */
222
227
 
223
228
  /**