jtlt 0.10.0 → 0.12.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,13 @@
1
1
  # jtlt CHANGES
2
2
 
3
+ ## 0.12.0
4
+
5
+ - feat: allow `sequence` for this.function
6
+
7
+ ## 0.11.0
8
+
9
+ - feat: change `this.function` to `outputFunction` and add new `this.function`
10
+
3
11
  ## 0.10.0
4
12
 
5
13
  - feat: add `stylesheet` (and `transform` alias)
@@ -146,6 +146,27 @@ declare class AbstractJoiningTransformer<T> {
146
146
  prefix: string;
147
147
  namespaceURI: string;
148
148
  }>;
149
+ /**
150
+ * Registered stylesheet functions (similar to xsl:function).
151
+ * Key format: "namespace:localName#arity".
152
+ * @type {Map<string, {
153
+ * name: string,
154
+ * params: Array<{name: string, as?: string}>,
155
+ * body?: (...args: any[]) => any,
156
+ * sequence?: string,
157
+ * returnType?: string
158
+ * }>}
159
+ */
160
+ _registeredFunctions: Map<string, {
161
+ name: string;
162
+ params: Array<{
163
+ name: string;
164
+ as?: string;
165
+ }>;
166
+ body?: (...args: any[]) => any;
167
+ sequence?: string;
168
+ returnType?: string;
169
+ }>;
149
170
  /**
150
171
  * @param {JoiningTransformerConfig<T>} cfg - Configuration object
151
172
  * @returns {void}
@@ -197,6 +218,35 @@ declare class AbstractJoiningTransformer<T> {
197
218
  transform(cfg: {
198
219
  excludeResultPrefixes?: string[];
199
220
  }): this;
221
+ /**
222
+ * Register a stylesheet function (similar to xsl:function).
223
+ * Functions must have namespaced names and are invoked positionally.
224
+ * @param {{
225
+ * name: string,
226
+ * params?: Array<{name: string, as?: string}>,
227
+ * as?: string,
228
+ * body?: (...args: any[]) => any,
229
+ * sequence?: string
230
+ * }} cfg - Function configuration
231
+ * @returns {this}
232
+ */
233
+ function(cfg: {
234
+ name: string;
235
+ params?: Array<{
236
+ name: string;
237
+ as?: string;
238
+ }>;
239
+ as?: string;
240
+ body?: (...args: any[]) => any;
241
+ sequence?: string;
242
+ }): this;
243
+ /**
244
+ * Invoke a registered stylesheet function with positional arguments.
245
+ * @param {string} name - Function name (with namespace)
246
+ * @param {any[]} args - Positional arguments
247
+ * @returns {any} Function return value
248
+ */
249
+ invokeFunctionByArity(name: string, args?: any[]): any;
200
250
  /**
201
251
  * @param {string} name
202
252
  * @param {OutputCharacters} outputCharacters
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/AbstractJoiningTransformer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/AbstractJoiningTransformer.js"],"names":[],"mappings":";+BAKa;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,EAAE;oCAIrC;IACR,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,GAAC,YAAY,CAAA;CAC3B;;;;;0CAIS,qBAAqB,GAAG;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;;;;;;;;;;;;;;;6CAaS,qBAAqB,GAAG;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;qCAKS,CAAC,IACD,CAAC,SAAS,QAAQ,GAAG,8BAA8B,GAC3D,CAAC,SAAS,KAAK,GAAG,2BAA2B,GAC7C,CAAC,SAAS,MAAM,GAAG,4BAA4B,GAAG,KAAK;AAzC5D;;GAEG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AACH;;;;;;;GAOG;AACH;;;;;;;;GAQG;AACH;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,yCAFa,CAAC;IAGZ;;OAEG;IACH,kBAFW,wBAAwB,CAAC,CAAC,CAAC,EA0DrC;IAtDC,kCAAkE;IAClE,+CAA+C;IAC/C,eADW,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CACpB;IACvB,qDAAqD;IACrD,eADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC1B;IAEvB,kCAAkC;IAClC,mBADW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACI;IAElC;;;;;;;;OAQG;IACH,aARU;QACL,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;KAC3B,GAAC,SAAS,CAEc;IAE5B,0BAA0B;IAC1B,wBADW,GAAG,CAAC,MAAM,CAAC,CACiB;IAEvC,0BAA0B;IAC1B,wBADW,GAAG,CAAC,MAAM,CAAC,CACiB;IAEvC;;;;;;;OAOG;IACH,oBANU,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;KACrB,CAAC,CAEuB;IAE5B;;;OAGG;IACH,sBAFU,GAAG,CAAC,MAAM,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,CAAC,CAExB;IAErC;;;;;;;;;;OAUG;IACH,sBARU,GAAG,CAAC,MAAM,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAC,CAEgC;IAGvC;;;OAGG;IACH,eAHW,wBAAwB,CAAC,CAAC,CAAC,GACzB,IAAI,CAIhB;IAED;;;OAGG;IACH,YAHW,OAAO,+BAA+B,EAAE,YAAY,GAClD,IAAI,CAUhB;IALC,gFAAwB;IAGxB,8BAA8B;IAIhC;;;;;;;;;;OAUG;IACH,UATW;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;KAC3B,GACS,IAAI,CAKhB;IAED;;;;;;;;OAQG;IACH,gBALW;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KACjC,GACS,IAAI,CAUhB;IAED;;;;;;OAMG;IACH,eALW;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KACjC,GACS,IAAI,CAIhB;IAED;;;;;;;;;;;OAWG;IACH,cATW;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;KAClB,GACS,IAAI,CAgDhB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,SACN,GAAG,EAAE,GACH,GAAG,CAuBf;IAED;;;;OAIG;IACH,mBAJW,MAAM,oBACN,gBAAgB,GACd,IAAI,CAIhB;IAED;;;;OAIG;IACH,mBAJW,MAAM,cACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,iCAJW,MAAM,gBACN,MAAM,GACJ,IAAI,CAMhB;IAED;;;OAGG;IACH,2BAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;OAGG;IACH,sDAHW,MAAM,GACJ,MAAM,CAclB;IAED;;;OAGG;IACH,0CAHW,MAAM,GACJ,MAAM,CAyBlB;IAED;;;;;OAKG;IAEH,gCAJW,MAAM,GACJ,IAAI,CAMhB;IAED;;;;OAIG;IACH,gCAHW,MAAM,GACJ,IAAI,CAWhB;IAED;;;OAGG;IACH,2BAHW,MAAM,GACJ,MAAM,CASlB;IAED;;;;OAIG;IACH,2BAJW,MAAM,aACN,MAAM,GACJ,IAAI,CAUhB;IAED;;;;;;OAMG;IACH,aANW,MAAM,OACN,GAAG,OACH,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,GAE3C,IAAI,CAUhB;CACF"}
@@ -124,7 +124,7 @@ declare class DOMJoiningTransformer extends AbstractJoiningTransformer<"dom"> {
124
124
  * @param {(...args: any[]) => any} func - Function to stringify
125
125
  * @returns {DOMJoiningTransformer}
126
126
  */
127
- function(func: (...args: any[]) => any): DOMJoiningTransformer;
127
+ outputFunction(func: (...args: any[]) => any): DOMJoiningTransformer;
128
128
  /**
129
129
  * @overload
130
130
  * @param {Element|string} elName
@@ -1 +1 @@
1
- {"version":3,"file":"DOMJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/DOMJoiningTransformer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DOMJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/DOMJoiningTransformer.js"],"names":[],"mappings":"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"}
@@ -191,7 +191,7 @@ declare class JSONJoiningTransformer extends AbstractJoiningTransformer<"json">
191
191
  * @param {(...args: any[]) => any} func Function to append.
192
192
  * @returns {JSONJoiningTransformer}
193
193
  */
194
- function(func: (...args: any[]) => any): JSONJoiningTransformer;
194
+ outputFunction(func: (...args: any[]) => any): JSONJoiningTransformer;
195
195
  /**
196
196
  * Build a Jamilih-style element JSON array and append to current container.
197
197
  * Result form: ['tag', {attr: 'val'}, child1, child2, ...]
@@ -1 +1 @@
1
- {"version":3,"file":"JSONJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/JSONJoiningTransformer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JSONJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/JSONJoiningTransformer.js"],"names":[],"mappings":"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"}
@@ -569,6 +569,34 @@ declare class JSONPathTransformerContext<T = "json"> {
569
569
  transform(cfg: {
570
570
  excludeResultPrefixes?: string[];
571
571
  }): this;
572
+ /**
573
+ * Register a stylesheet function (similar to xsl:function).
574
+ * @param {{
575
+ * name: string,
576
+ * params?: Array<{name: string, as?: string}>,
577
+ * as?: string,
578
+ * body?: (...args: any[]) => any,
579
+ * sequence?: string
580
+ * }} cfg - Function configuration
581
+ * @returns {this}
582
+ */
583
+ function(cfg: {
584
+ name: string;
585
+ params?: Array<{
586
+ name: string;
587
+ as?: string;
588
+ }>;
589
+ as?: string;
590
+ body?: (...args: any[]) => any;
591
+ sequence?: string;
592
+ }): this;
593
+ /**
594
+ * Invoke a registered stylesheet function with positional arguments.
595
+ * @param {string} name - Function name (with namespace)
596
+ * @param {any[]} args - Positional arguments
597
+ * @returns {any} Function return value
598
+ */
599
+ invokeFunctionByArity(name: string, args?: any[]): any;
572
600
  /**
573
601
  * Create an element. Mirrors the joining transformer API so templates can
574
602
  * call `this.element()`.
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAoBa,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;;;;yBAKS;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;;;;6BACS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAC/B,GAAG,EAAE,0BAA0B,KAC5B,MAAM;;;;uBACD,MAAM,GAAG,UAAU,GAAG,cAAc,GAC5C,KAAK,CAAC,MAAM,GAAC,UAAU,CAAC;6CAIf,CAAC;;;;UAED,IAAI,GAAC,OAAO,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM;;;;;;;;;;;;;;;;;wBAKjC,CAAC,SAAS,MAAM,GAAG,OAAO,6BAA6B,EAChE,OAAO,GAAG,CAAC,SAAS,QAAQ,GAAG,OAAO,+BAA+B,EACrE,OAAO,GAAG,OAAO,4BAA4B,EAC7C,OAAO;;;;;;;;;0CAGS,MAAM,KAAK,MAAM;;;AA3DtC;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;GAQG;AACH,yCAFc,CAAC;IAQb;;;;OAIG;IACH,oBAJW,gCAAgC,CAAC,CAAC,CAAC,aACnC,OAAO,YAAY,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAAE,EA+B1D;IAtCD;;;OAGG;IACH,gBAFU;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEzB;IAOb,6CAAqB;IACrB,6DAA2B;IAC3B,uDAA8C;IAA3B,oDAA2B;IAC9C,gBAA4C;IAC5C,wBAAsD;IAKtD,sCAAsC;IACtC,MADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACpB;IACd,sDAAsD;IACtD,cADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC5B;IACtB,2DAA2D;IAC3D,MADW,MAAM,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC,CACzC;IACd,mDAAmD;IACnD,gBADW,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACvB;IACxB,kCAAkC;IAClC,cADW,OAAO,GAAG,SAAS,CACD;IAC7B,iCAAiC;IACjC,WADW,MAAM,GAAG,SAAS,CACH;IAC1B,8CAA8C;IAC9C,SADW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAClB;IACxB,uBAAuB;IACvB,wBADW,MAAM,EAAE,CACa;IAChC,uBAAuB;IACvB,qBADW,MAAM,EAAE,CACU;IAG/B;;;OAGG;IACH,8BAFa,IAAI,CAShB;IAED;;;;OAIG;IACH,+BAHW,MAAM,GACJ,OAAO,CAanB;IAED;;;;;;OAMG;IACH,0BALa,CAAC,SAAS,MAAM,GAAG,OAAO,6BAA6B,EAC/D,OAAO,GAAG,CAAC,SAAS,QAAQ,GAAG,OAAO,+BAA+B,EACrE,OAAO,GAAG,OAAO,4BAA4B,EAC7C,OAAO,CAIX;IAED;;;OAGG;IACH,mBAHW,MAAM,GAAG,IAAI,GACX,IAAI,CAKhB;IAED;;;OAGG;IACH,aAFa,GAAG,CAIf;IAED;;;;;;;OAOG;IACH,YAJW,MAAM,QACN,OAAO,GACL,GAAG,CAWf;IAED;;;OAGG;IACH,OAHW,GAAG,GACD,IAAI,CAOhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,wBAPW,MAAM,GAAC,IAAI,GACrB;QAAK,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,SAE1B,MAAM,SACN,QAAQ,GACN,IAAI,CA4WhB;IAED;;;;;;OAMG;IACH,mBANW,MAAM,GAChB;QAAK,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAA;KAAC,eAE3B,GAAG,EAAE,GACH,IAAI,CAgDhB;IAED;;;;;;;;;;OAUG;IACH,gBAPW,MAAM,MACN,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAC1C,KAAK,EAAE,GAAG,KACP,IAAI,SACD,QAAQ,GACN,IAAI,CAgIhB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,qBAfW,MAAM,WAEd;QAAyB,OAAO;QACP,aAAa;QAEb,iBAAiB;QAEjB,eAAe;QAElB,IAAI,GAAlB,GAAG;KACX,MAAQ,CACN,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAClE,IAAI,GACC,IAAI,CA6NhB;IAED;;;;;;OAMG;IACH,yBA8EC;IAED;;;OAGG;IACH,gBAFa,GAAG,EAAE,GAAC,SAAS,CAI3B;IAED;;;OAGG;IACH,sBAFa,GAAG,CAIf;IAED;;;OAGG;IACH,iBAHW,MAAM,GAAC,MAAM,GACX,IAAI,CAgHhB;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,mBAjBW,MAAM,SACN,MAAM,GAAC,MAAM,YACb;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;KACf,GACS,IAAI,CAuHhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GACJ,IAAI,CA2ChB;IAED;;;;OAIG;IACH,oBAHW,MAAM,EAAE,GACN,IAAI,CAsBhB;IAED;;;;OAIG;IACH,eAJW,MAAM,UACN,MAAM,GACJ,IAAI,CAKhB;IAED;;;OAGG;IAEH,cAJW,OAAO,GACL,IAAI,CAMhB;IAED;;;;;;OAMG;IACH,YANW,MAAM,OACN,OAAO,6BAA6B,EAC1C,cAAc,CAAC,CAAC,CAAC,GAET,IAAI,CAKhB;IAED;;;;;OAKG;IACH,YAJW,WAAW,GAET,IAAI,CAiHhB;IAED;;;;OAIG;IACH,0BAHW,MAAM,GACJ,MAAM,CA8BlB;IAED;;;;;;;;;OASG;IACH,mBARW,MAAM,UACN,MAAM,sBACN,MAAM,iBACN,MAAM,sBACN,MAAM,WACN,MAAM,GACJ,MAAM,CA6FlB;IAED;;;;;OAKG;IAEH,iBAkBC;IAED;;;;;;OAMG;IAEH,sBAeC;IAED;;;;;;OAMG;IACH,eAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;;;OAMG;IACH,gBAJW,MAAM,OACN,GAAG,GACD,IAAI,CAKhB;IAED;;;;;OAKG;IACH,eAJW,MAAM,OACN,GAAG,GACD,IAAI,CAIhB;IAED;;;;;OAKG;IACH,wBAHW,MAAM,GAAC,MAAM,EAAE,GACb,IAAI,CAMhB;IAED;;;;;OAKG;IACH,qBAHW,MAAM,GAAC,MAAM,EAAE,GACb,IAAI,CAMhB;IAED;;;;;;OAMG;IACH,gBAHc,GAAG,EAAA,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,aAHc,GAAG,EAAA,GACJ,IAAI,CAIhB;IAED;;;;;OAKG;IACH,eAHc,GAAG,EAAA,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,YAHW,OAAO,+BAA+B,EAAE,YAAY,GAClD,IAAI,CAKhB;IAED;;;;;;;;;;OAUG;IACH,UATW;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;KAC3B,GACS,IAAI,CAKhB;IAED;;;;;OAKG;IACH,mBALW,MAAM,oBACN,OAAO,iCAAiC,EAC9C,gBAAgB,GACR,IAAI,CAKhB;IAED;;;;OAIG;IACH,mBAJW,MAAM,cACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpB,IAAI,CAKhB;IAED;;;;OAIG;IACH,iCAJW,MAAM,gBACN,MAAM,GACJ,IAAI,CAOhB;IAED;;;;;;;;OAQG;IACH,gBALW;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KACjC,GACS,IAAI,CAKhB;IAED;;;;;;OAMG;IACH,eALW;QACN,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;KACjC,GACS,IAAI,CAIhB;IAED;;;;;;;;;;OAUG;IACH,cATW;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;KAClB,GACS,IAAI,CAmDhB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,SACN,GAAG,EAAE,GACH,GAAG,CAIf;IAED;;;;;;;;;;;;;;OAcG;IACH,cAZW,MAAM,SACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,GAAG,EAAE,GACtC,CAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,aAEzC,GAAG,EAAE,GACf,CAAK,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAEzC,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KAAK,IAAI,qBAE7C,MAAM,EAAE,GACN,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,kBAJW,MAAM,gBACN,MAAM,GACJ,IAAI,CAOhB;IAED;;;;;;;;OAQG;IACH,6BALW,MAAM,GAAC,oBAAoB,YAE3B,oBAAoB,GAClB,IAAI,CAWhB;IAED;;;;;;;;OAQG;IACH,gBANW,MAAM,OACN,MAAM,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAC9B,OAAO,GAEL,IAAI,CAWhB;IAED;;;;;OAKG;IACH,UAHW,MAAM,GACJ,IAAI,CAKhB;IAED;;;;;OAKG;IACH,cAHW,MAAM,GACJ,IAAI,CAOhB;IAED;;;;;;;OAOG;IACH,8BAJW,MAAM,QACN,MAAM,GACJ,IAAI,CAOhB;IAED;;;;;OAKG;IACH,kBALW,MAAM,kBACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBACvB,GAAG,EAAE,GACH,IAAI,CAchB;IAED;;;;OAIG;IACH,sBAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QACvB,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAInC;IAED;;;;OAIG;IACH,aAJW,MAAM,SACN,GAAG,GACD,GAAG,CAYf;IAED;;;;;OAKG;IACH,UALW,MAAM,SACN,MAAM,OACN,MAAM,GACJ,IAAI,CAKhB;IAED;;;;;;;;;;;;;;;OAeG;IACH,WALW,MAAM,MACN,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAAI,GACC,IAAI,CAQhB;IAED;;;;;;OAMG;IACH,kBAHW,MAAM,GACJ,OAAO,CAyBnB;IAED;;;;;;;;;OASG;IACH,eAPW,MAAM,UACN,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAAI,gBACD,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,CAAC,KACvC,IAAI,GACC,IAAI,CAYhB;IAED;;;;;;;;OAQG;IACH,aALW,MAAM,YACN,MAAM,GACJ,IAAI,CAYhB;CACF"}
@@ -189,7 +189,7 @@ declare class StringJoiningTransformer extends AbstractJoiningTransformer<"strin
189
189
  * @param {((...args: any[]) => any)|Element} func - Function to stringify
190
190
  * @returns {StringJoiningTransformer}
191
191
  */
192
- function(func: ((...args: any[]) => any) | Element): StringJoiningTransformer;
192
+ outputFunction(func: ((...args: any[]) => any) | Element): StringJoiningTransformer;
193
193
  /**
194
194
  * @param {string|Element} elem - Element name or element object
195
195
  * @param {ElementAttributes} [atts] - Element attributes
@@ -1 +1 @@
1
- {"version":3,"file":"StringJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/StringJoiningTransformer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StringJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/StringJoiningTransformer.js"],"names":[],"mappings":"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"}
@@ -464,6 +464,34 @@ declare class XPathTransformerContext {
464
464
  transform(cfg: {
465
465
  excludeResultPrefixes?: string[];
466
466
  }): this;
467
+ /**
468
+ * Register a stylesheet function (similar to xsl:function).
469
+ * @param {{
470
+ * name: string,
471
+ * params?: Array<{name: string, as?: string}>,
472
+ * as?: string,
473
+ * body?: (...args: any[]) => any,
474
+ * sequence?: string
475
+ * }} cfg - Function configuration
476
+ * @returns {this}
477
+ */
478
+ function(cfg: {
479
+ name: string;
480
+ params?: Array<{
481
+ name: string;
482
+ as?: string;
483
+ }>;
484
+ as?: string;
485
+ body?: (...args: any[]) => any;
486
+ sequence?: string;
487
+ }): this;
488
+ /**
489
+ * Invoke a registered stylesheet function with positional arguments.
490
+ * @param {string} name - Function name (with namespace)
491
+ * @param {any[]} args - Positional arguments
492
+ * @returns {any} Function return value
493
+ */
494
+ invokeFunctionByArity(name: string, args?: any[]): any;
467
495
  /**
468
496
  * Append element.
469
497
  * @param {string} name Tag name
@@ -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/docs/TO-DO.md CHANGED
@@ -100,7 +100,6 @@
100
100
  xsl:expose
101
101
  "xsl:fallback",
102
102
  xsl:fork
103
- "xsl:function",
104
103
  xsl:global-context-item
105
104
  "xsl:import",
106
105
  "xsl:import-schema",
@@ -117,7 +116,6 @@
117
116
  xsl:on-non-empty
118
117
  xsl:override
119
118
  xsl:package
120
- "xsl:param",
121
119
  "xsl:perform-sort",
122
120
  "xsl:sequence",
123
121
  xsl:source-document
@@ -141,6 +139,7 @@
141
139
  ~~"xsl:element",~~
142
140
  ~~"xsl:for-each",~~
143
141
  ~~"xsl:for-each-group",~~
142
+ ~~"xsl:function",~~
144
143
  ~~"xsl:if",~~
145
144
  ~~"xsl:key",~~
146
145
  ~~xsl:map~~
@@ -155,6 +154,7 @@
155
154
  ~~"xsl:otherwise",~~
156
155
  ~~"xsl:output",~~
157
156
  ~~"xsl:output-character",~~
157
+ ~~"xsl:param",~~
158
158
  ~~"xsl:preserve-space",~~
159
159
  ~~"xsl:processing-instruction",~~
160
160
  ~~"xsl:result-document",~~
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jtlt",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "author": "Brett Zamir",
6
6
  "contributors": [],
@@ -110,6 +110,19 @@ class AbstractJoiningTransformer {
110
110
  * @type {Map<string, {prefix: string, namespaceURI: string}>}
111
111
  */
112
112
  this._pendingNamespaceMap = new Map();
113
+
114
+ /**
115
+ * Registered stylesheet functions (similar to xsl:function).
116
+ * Key format: "namespace:localName#arity".
117
+ * @type {Map<string, {
118
+ * name: string,
119
+ * params: Array<{name: string, as?: string}>,
120
+ * body?: (...args: any[]) => any,
121
+ * sequence?: string,
122
+ * returnType?: string
123
+ * }>}
124
+ */
125
+ this._registeredFunctions = new Map();
113
126
  }
114
127
 
115
128
  /**
@@ -180,6 +193,95 @@ class AbstractJoiningTransformer {
180
193
  return this.stylesheet(cfg);
181
194
  }
182
195
 
196
+ /**
197
+ * Register a stylesheet function (similar to xsl:function).
198
+ * Functions must have namespaced names and are invoked positionally.
199
+ * @param {{
200
+ * name: string,
201
+ * params?: Array<{name: string, as?: string}>,
202
+ * as?: string,
203
+ * body?: (...args: any[]) => any,
204
+ * sequence?: string
205
+ * }} cfg - Function configuration
206
+ * @returns {this}
207
+ */
208
+ function (cfg) {
209
+ const {name, params = [], as: returnType, body, sequence} = cfg;
210
+
211
+ // Validate name has namespace
212
+ if (!name.includes(':') && !name.startsWith('Q{')) {
213
+ throw new Error(
214
+ `Function name "${name}" must be in a namespace ` +
215
+ `(use prefix:name or Q{uri}name)`
216
+ );
217
+ }
218
+
219
+ // Validate that either body or sequence is provided, but not both
220
+ /* c8 ignore start -- Defensive validation; child contexts validate first */
221
+ if (body && sequence) {
222
+ throw new Error(
223
+ `Function "${name}" cannot have both 'body' and 'sequence' attributes`
224
+ );
225
+ }
226
+ if (!body && !sequence) {
227
+ throw new Error(
228
+ `Function "${name}" must have either 'body' or 'sequence' attribute`
229
+ );
230
+ }
231
+ /* c8 ignore stop */
232
+
233
+ // Create function key with arity
234
+ const arity = params.length;
235
+ const functionKey = `${name}#${arity}`;
236
+
237
+ // Check for duplicates
238
+ if (this._registeredFunctions.has(functionKey)) {
239
+ throw new Error(
240
+ `Function "${name}" with arity ${arity} is already registered`
241
+ );
242
+ }
243
+
244
+ // Store function definition
245
+ this._registeredFunctions.set(functionKey, {
246
+ name,
247
+ params,
248
+ body,
249
+ sequence,
250
+ returnType
251
+ });
252
+
253
+ return this;
254
+ }
255
+
256
+ /**
257
+ * Invoke a registered stylesheet function with positional arguments.
258
+ * @param {string} name - Function name (with namespace)
259
+ * @param {any[]} args - Positional arguments
260
+ * @returns {any} Function return value
261
+ */
262
+ invokeFunctionByArity (name, args = []) {
263
+ const arity = args.length;
264
+ const functionKey = `${name}#${arity}`;
265
+
266
+ const functionDef = this._registeredFunctions.get(functionKey);
267
+ if (!functionDef) {
268
+ throw new Error(
269
+ `Function "${name}" with arity ${arity} not found`
270
+ );
271
+ }
272
+
273
+ // Invoke function body with arguments
274
+ /* c8 ignore start -- Defensive check; actualBody always set */
275
+ if (!functionDef.body) {
276
+ throw new Error(
277
+ `Function '${name}' has no body (sequence may not be ` +
278
+ `supported in this context)`
279
+ );
280
+ }
281
+ /* c8 ignore stop */
282
+ return functionDef.body(...args);
283
+ }
284
+
183
285
  /**
184
286
  * @param {string} name
185
287
  * @param {OutputCharacters} outputCharacters
@@ -218,10 +218,10 @@ class DOMJoiningTransformer extends AbstractJoiningTransformer {
218
218
  * @param {(...args: any[]) => any} func - Function to stringify
219
219
  * @returns {DOMJoiningTransformer}
220
220
  */
221
- function (func) {
221
+ outputFunction (func) {
222
222
  if (this._cfg.mode !== 'JavaScript') {
223
223
  throw new Error(
224
- 'function is not allowed unless added in JavaScript mode'
224
+ 'outputFunction is not allowed unless added in JavaScript mode'
225
225
  );
226
226
  }
227
227
  this.append(func.toString());
@@ -357,10 +357,10 @@ class JSONJoiningTransformer extends AbstractJoiningTransformer {
357
357
  * @param {(...args: any[]) => any} func Function to append.
358
358
  * @returns {JSONJoiningTransformer}
359
359
  */
360
- function (func) {
360
+ outputFunction (func) {
361
361
  if (this._cfg.mode !== 'JavaScript') {
362
362
  throw new Error(
363
- 'function is not allowed unless added in JavaScript mode'
363
+ 'outputFunction is not allowed unless added in JavaScript mode'
364
364
  );
365
365
  }
366
366
  this.append(func);
@@ -1139,6 +1139,46 @@ class JSONPathTransformerContext {
1139
1139
  ? /** @type {{select?: string}} */ (select).select
1140
1140
  : select;
1141
1141
 
1142
+ // Check for custom stylesheet function calls (namespace:name(...))
1143
+ if (selectStr && (/^[^:]+:[^\(]+\(/v).test(selectStr)) {
1144
+ const match = (/^(?<name>[^:]+:[^\(]+)\((?<args>.*)\)$/v).exec(
1145
+ selectStr
1146
+ );
1147
+ if (match && match.groups) {
1148
+ const {name, args: argsStr} = match.groups;
1149
+ // Parse arguments - simple comma-separated values
1150
+ const args = argsStr
1151
+ ? argsStr.split(',').map((arg) => {
1152
+ const trimmed = arg.trim();
1153
+ // Check if it's a parameter reference ($param, not $.jsonpath)
1154
+ if (trimmed.startsWith('$') && !trimmed.startsWith('$.')) {
1155
+ const paramName = trimmed.slice(1);
1156
+ return this._params && paramName in this._params
1157
+ ? this._params[paramName]
1158
+ : undefined;
1159
+ }
1160
+ // Check if it's a string literal
1161
+ if ((trimmed.startsWith("'") && trimmed.endsWith("'")) ||
1162
+ (trimmed.startsWith('"') && trimmed.endsWith('"'))) {
1163
+ return trimmed.slice(1, -1);
1164
+ }
1165
+ // Try to parse as number
1166
+ const num = Number(trimmed);
1167
+ if (!Number.isNaN(num)) {
1168
+ return num;
1169
+ }
1170
+ // Otherwise evaluate as JSONPath
1171
+ return this.get(trimmed, false);
1172
+ })
1173
+ : [];
1174
+
1175
+ // Call the function via invokeFunctionByArity
1176
+ result = this.invokeFunctionByArity(name, args);
1177
+ /** @type {any} */ (results).text(String(result));
1178
+ return this;
1179
+ }
1180
+ }
1181
+
1142
1182
  // Check for format-number() function call
1143
1183
  if (selectStr && selectStr.includes('format-number(')) {
1144
1184
  const match = (/format-number\((?<value>[^,\)]+)(?:,\s*["'](?<format>[^"']+)["'])?(?:,\s*["'](?<decimalFormat>[^"']*)["'])?\)/v).exec(selectStr);
@@ -1927,6 +1967,78 @@ class JSONPathTransformerContext {
1927
1967
  return this.stylesheet(cfg);
1928
1968
  }
1929
1969
 
1970
+ /**
1971
+ * Register a stylesheet function (similar to xsl:function).
1972
+ * @param {{
1973
+ * name: string,
1974
+ * params?: Array<{name: string, as?: string}>,
1975
+ * as?: string,
1976
+ * body?: (...args: any[]) => any,
1977
+ * sequence?: string
1978
+ * }} cfg - Function configuration
1979
+ * @returns {this}
1980
+ */
1981
+ function (cfg) {
1982
+ const {name, params = [], as: returnType, body, sequence} = cfg;
1983
+
1984
+ // Validate body/sequence mutual exclusion
1985
+ if (body && sequence) {
1986
+ throw new Error(
1987
+ `Function '${name}' cannot have both 'body' and 'sequence' attributes`
1988
+ );
1989
+ }
1990
+ if (!body && !sequence) {
1991
+ throw new Error(
1992
+ `Function '${name}' must have either 'body' or 'sequence' attribute`
1993
+ );
1994
+ }
1995
+
1996
+ // If sequence is provided, create a body function that evaluates it
1997
+ let actualBody = body;
1998
+ if (sequence) {
1999
+ actualBody = (...args) => {
2000
+ // Build variables object from parameters
2001
+ /** @type {Record<string, any>} */
2002
+ const variables = {};
2003
+ params.forEach((param, index) => {
2004
+ if (index < args.length) {
2005
+ variables[param.name] = args[index];
2006
+ }
2007
+ });
2008
+
2009
+ // Evaluate the JSONPath expression with bound variables
2010
+ // Temporarily set _params so expressions can access them
2011
+ const oldParams = this._params;
2012
+ this._params = variables;
2013
+ try {
2014
+ return this.get(sequence, false);
2015
+ } finally {
2016
+ this._params = oldParams;
2017
+ }
2018
+ };
2019
+ }
2020
+
2021
+ // Register with the modified config
2022
+ const modifiedCfg = {
2023
+ name,
2024
+ params,
2025
+ as: returnType,
2026
+ body: actualBody
2027
+ };
2028
+ /** @type {any} */ (this._getJoiningTransformer()).function(modifiedCfg);
2029
+ return this;
2030
+ }
2031
+
2032
+ /**
2033
+ * Invoke a registered stylesheet function with positional arguments.
2034
+ * @param {string} name - Function name (with namespace)
2035
+ * @param {any[]} args - Positional arguments
2036
+ * @returns {any} Function return value
2037
+ */
2038
+ invokeFunctionByArity (name, args = []) {
2039
+ return this._getJoiningTransformer().invokeFunctionByArity(name, args);
2040
+ }
2041
+
1930
2042
  /**
1931
2043
  * Create an element. Mirrors the joining transformer API so templates can
1932
2044
  * call `this.element()`.
@@ -454,11 +454,11 @@ class StringJoiningTransformer extends AbstractJoiningTransformer {
454
454
  * @param {((...args: any[]) => any)|Element} func - Function to stringify
455
455
  * @returns {StringJoiningTransformer}
456
456
  */
457
- function (func) {
457
+ outputFunction (func) {
458
458
  // Appends function source (only in JavaScript mode).
459
459
  if (this._cfg.mode !== 'JavaScript') {
460
460
  throw new Error(
461
- 'function is not allowed unless added in JavaScript mode'
461
+ 'outputFunction is not allowed unless added in JavaScript mode'
462
462
  );
463
463
  }
464
464
  if (_isElement(func)) {
@@ -877,6 +877,111 @@ class XPathTransformerContext {
877
877
  ? /** @type {{select?: string}} */ (select).select
878
878
  : select;
879
879
 
880
+ // Check if select is a custom function call: prefix:name(...)
881
+ // Try to parse and invoke registered function
882
+ if (selectStr && (/^[^:]+:[^\(]+\(/v).test(selectStr)) {
883
+ try {
884
+ // Extract function name and arguments
885
+ const match = (/^(?<func>[^:]+:[^\(]+)\((?<args>.*)\)$/sv).exec(
886
+ selectStr.trim()
887
+ );
888
+ if (match?.groups) {
889
+ const funcName = match.groups.func;
890
+ const argsStr = match.groups.args;
891
+
892
+ // Parse arguments - supports $params, 'strings', numbers, XPath
893
+ const args = [];
894
+ if (argsStr.trim()) {
895
+ // Simple argument parser
896
+ let current = '';
897
+ let inString = false;
898
+ let stringChar = null;
899
+ let depth = 0;
900
+
901
+ for (let i = 0; i < argsStr.length; i++) {
902
+ const char = argsStr[i];
903
+ if (!inString) {
904
+ switch (char) {
905
+ case '"':
906
+ case "'":
907
+ inString = true;
908
+ stringChar = char;
909
+ current += char;
910
+ break;
911
+ case '(':
912
+ case '[':
913
+ depth++;
914
+ current += char;
915
+ break;
916
+ case ')':
917
+ case ']':
918
+ depth--;
919
+ current += char;
920
+ break;
921
+ case ',':
922
+ if (depth === 0) {
923
+ args.push(current.trim());
924
+ current = '';
925
+ } else {
926
+ current += char;
927
+ }
928
+ break;
929
+ default:
930
+ current += char;
931
+ }
932
+ } else {
933
+ current += char;
934
+ if (char === stringChar && argsStr[i - 1] !== '\\') {
935
+ inString = false;
936
+ stringChar = null;
937
+ }
938
+ }
939
+ }
940
+ if (current.trim()) {
941
+ args.push(current.trim());
942
+ }
943
+ }
944
+
945
+ // Evaluate each argument
946
+ const evaluatedArgs = args.map((arg) => {
947
+ // String literal
948
+ if ((/^["'].*["']$/v).test(arg)) {
949
+ return arg.slice(1, -1);
950
+ }
951
+ // Number
952
+ if ((/^-?\d+(?:\.\d+)?$/v).test(arg)) {
953
+ return Number(arg);
954
+ }
955
+ // Parameter reference
956
+ if (arg.startsWith('$')) {
957
+ const paramName = arg.slice(1);
958
+ return this._params && paramName in this._params
959
+ ? this._params[paramName]
960
+ : undefined;
961
+ }
962
+ // XPath expression - evaluate it
963
+ return this._evalXPath(arg, false);
964
+ });
965
+
966
+ // Invoke the function
967
+ const result = jt.invokeFunctionByArity(funcName, evaluatedArgs);
968
+
969
+ // Append result to output
970
+ // Handle arrays from XPath sequences - join with spaces
971
+ const resultToAppend = Array.isArray(result)
972
+ ? result.join(' ')
973
+ : result;
974
+ jt.append(resultToAppend);
975
+ return this;
976
+ }
977
+ /* c8 ignore start -- Error handler for malformed function calls */
978
+ } catch (err) {
979
+ // Fall through to normal XPath evaluation
980
+ // This allows fontoxpath registered functions to work natively
981
+ }
982
+ /* c8 ignore stop */
983
+ }
984
+
880
985
  // Check for format-number() function call
881
986
  if (selectStr && selectStr.includes('format-number(')) {
882
987
  const match = (/format-number\((?<value>[^,\)]+)(?:,\s*["'](?<format>[^"']+)["'])?(?:,\s*["'](?<decimalFormat>[^"']*)["'])?\)/v).exec(selectStr);
@@ -971,8 +1076,13 @@ class XPathTransformerContext {
971
1076
  }
972
1077
  // Ensure val is not null before appending
973
1078
  if (val !== null) {
1079
+ // Handle arrays from XPath sequences - join with spaces
1080
+ /* c8 ignore next 2 -- valueOf only returns first value, not arrays */
1081
+ const stringVal = Array.isArray(val)
1082
+ ? val.join(' ')
1083
+ : String(val);
974
1084
  // Use text() method to properly close open tags and escape HTML
975
- jt.text(String(val));
1085
+ jt.text(stringVal);
976
1086
  }
977
1087
  return this;
978
1088
  }
@@ -1624,6 +1734,188 @@ class XPathTransformerContext {
1624
1734
  return this.stylesheet(cfg);
1625
1735
  }
1626
1736
 
1737
+ /**
1738
+ * Register a stylesheet function (similar to xsl:function).
1739
+ * @param {{
1740
+ * name: string,
1741
+ * params?: Array<{name: string, as?: string}>,
1742
+ * as?: string,
1743
+ * body?: (...args: any[]) => any,
1744
+ * sequence?: string
1745
+ * }} cfg - Function configuration
1746
+ * @returns {this}
1747
+ */
1748
+ function (cfg) {
1749
+ const {name, params = [], as: returnType, body, sequence} = cfg;
1750
+
1751
+ // Validate body/sequence mutual exclusion
1752
+ if (body && sequence) {
1753
+ throw new Error(
1754
+ `Function '${name}' cannot have both 'body' and 'sequence' attributes`
1755
+ );
1756
+ }
1757
+ /* c8 ignore start -- Defensive; always has body or sequence from above */
1758
+ if (!body && !sequence) {
1759
+ throw new Error(
1760
+ `Function '${name}' must have either 'body' or 'sequence' attribute`
1761
+ );
1762
+ }
1763
+ /* c8 ignore stop */
1764
+
1765
+ // If sequence is provided, create a body function that evaluates it
1766
+ let actualBody = body;
1767
+ if (sequence) {
1768
+ actualBody = (...args) => {
1769
+ // Build variables object from parameters
1770
+ /** @type {Record<string, any>} */
1771
+ const variables = {};
1772
+ params.forEach((param, index) => {
1773
+ if (index < args.length) {
1774
+ let value = args[index];
1775
+ // Convert numbers to integers if they're whole numbers
1776
+ // to avoid xs:double vs xs:integer type mismatches in XPath
1777
+ if (typeof value === 'number' && Number.isInteger(value)) {
1778
+ value = Math.floor(value);
1779
+ }
1780
+ variables[param.name] = value;
1781
+ }
1782
+ });
1783
+
1784
+ // Evaluate the XPath expression with bound variables
1785
+ const version = this._config.xpathVersion /* c8 ignore next */ ?? 1;
1786
+ if (version === 3.1) {
1787
+ // Use fontoxpath for XPath 3.1
1788
+ // Create namespace resolver for function prefixes
1789
+ /** @param {string} prefix */
1790
+ const namespaceResolver = (prefix) => {
1791
+ // Map common prefixes to URN namespaces
1792
+ if (prefix) {
1793
+ return `urn:${prefix}`;
1794
+ }
1795
+ return null;
1796
+ };
1797
+ // eslint-disable-next-line import/no-named-as-default-member -- OK
1798
+ const result = fontoxpath.evaluateXPath(
1799
+ sequence,
1800
+ null,
1801
+ null,
1802
+ variables,
1803
+ // eslint-disable-next-line @stylistic/max-len -- Long
1804
+ // eslint-disable-next-line import/no-named-as-default-member -- Only as default
1805
+ fontoxpath.evaluateXPath.ALL_RESULTS_TYPE,
1806
+ {namespaceResolver}
1807
+ );
1808
+ // Fontoxpath expects item()* returns to be arrays
1809
+ // Return result as-is (already an array from fontoxpath)
1810
+ return result;
1811
+ }
1812
+ // For XPath 1.0/2.0, temporarily set _params and use _evalXPath
1813
+ const prevParams = this._params;
1814
+ this._params = variables;
1815
+ try {
1816
+ const result = this._evalXPath(sequence, false);
1817
+ return result;
1818
+ } finally {
1819
+ this._params = prevParams;
1820
+ }
1821
+ };
1822
+ }
1823
+
1824
+ // Register with the modified config
1825
+ const modifiedCfg = {
1826
+ name,
1827
+ params,
1828
+ as: returnType,
1829
+ body: actualBody
1830
+ };
1831
+ /** @type {any} */ (this._getJoiningTransformer()).function(modifiedCfg);
1832
+
1833
+ // Register with fontoxpath for native XPath 3.1 support
1834
+ const version = this._config.xpathVersion ?? 1;
1835
+ if (version === 3.1) {
1836
+ try {
1837
+ // Parse namespace from name
1838
+ let namespaceURI, localName;
1839
+ if (name.startsWith('Q{')) {
1840
+ // Q{uri}name format - extract manually
1841
+ const closeBrace = name.indexOf('}', 2);
1842
+ if (closeBrace > 2) {
1843
+ namespaceURI = name.slice(2, closeBrace);
1844
+ localName = name.slice(closeBrace + 1);
1845
+ }
1846
+ } else if (name.includes(':')) {
1847
+ // prefix:name format - use prefix as pseudo-namespace
1848
+ // (caller should use proper namespace resolver in XPath)
1849
+ const parts = name.split(':');
1850
+ namespaceURI = `urn:${parts[0]}`;
1851
+ localName = parts[1];
1852
+ }
1853
+
1854
+ if (namespaceURI && localName) {
1855
+ // Map XSLT type names to XPath type names for signature
1856
+ const signature = params.map((p) => p.as || 'item()*');
1857
+ const returnTypeStr = returnType || 'item()*';
1858
+
1859
+ // Check if return type expects a sequence (ends with * or +)
1860
+ const returnsSequence = (/[*+]$/v).test(returnTypeStr);
1861
+
1862
+ // eslint-disable-next-line import/no-named-as-default-member -- OK
1863
+ fontoxpath.registerCustomXPathFunction(
1864
+ {namespaceURI, localName},
1865
+ signature,
1866
+ returnTypeStr,
1867
+ (dynamicContext, ...args) => {
1868
+ /* c8 ignore start -- Defensive; actualBody always set */
1869
+ if (!actualBody) {
1870
+ throw new Error(`Function body not defined for ${name}`);
1871
+ }
1872
+ /* c8 ignore stop */
1873
+ // For sequence functions, unwrap/wrap arrays as needed
1874
+ // For regular body functions, pass through as-is
1875
+ if (sequence) {
1876
+ /* c8 ignore start -- Callback tested but may not be invoked
1877
+ by fontoxpath in test environment */
1878
+ // Unwrap single-item arrays from fontoxpath for sequence params
1879
+ const unwrappedArgs = args.map((arg) => {
1880
+ return Array.isArray(arg) && arg.length === 1
1881
+ ? arg[0]
1882
+ : arg;
1883
+ });
1884
+ const result = actualBody(...unwrappedArgs);
1885
+ // Fontoxpath expects sequences (item()*) to be arrays
1886
+ // But scalar types (xs:integer, xs:string) should be scalars
1887
+ if (returnsSequence && !Array.isArray(result)) {
1888
+ return [result];
1889
+ }
1890
+ return result;
1891
+ /* c8 ignore stop */
1892
+ }
1893
+ // Regular body function - pass through
1894
+ return actualBody(...args);
1895
+ }
1896
+ );
1897
+ }
1898
+ /* c8 ignore start -- Error handler for fontoxpath failures */
1899
+ } catch (err) {
1900
+ // Ignore fontoxpath registration errors (e.g., if duplicate)
1901
+ // Function still available via invokeFunctionByArity
1902
+ }
1903
+ /* c8 ignore stop */
1904
+ }
1905
+
1906
+ return this;
1907
+ }
1908
+
1909
+ /**
1910
+ * Invoke a registered stylesheet function with positional arguments.
1911
+ * @param {string} name - Function name (with namespace)
1912
+ * @param {any[]} args - Positional arguments
1913
+ * @returns {any} Function return value
1914
+ */
1915
+ invokeFunctionByArity (name, args = []) {
1916
+ return this._getJoiningTransformer().invokeFunctionByArity(name, args);
1917
+ }
1918
+
1627
1919
  /**
1628
1920
  * Append element.
1629
1921
  * @param {string} name Tag name