jtlt 0.9.0 → 0.11.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 +9 -1
- package/README.md +2 -4
- package/dist/AbstractJoiningTransformer.d.ts +106 -0
- package/dist/AbstractJoiningTransformer.d.ts.map +1 -1
- package/dist/DOMJoiningTransformer.d.ts +1 -1
- package/dist/DOMJoiningTransformer.d.ts.map +1 -1
- package/dist/JSONJoiningTransformer.d.ts +1 -1
- package/dist/JSONJoiningTransformer.d.ts.map +1 -1
- package/dist/JSONPathTransformerContext.d.ts +48 -0
- package/dist/JSONPathTransformerContext.d.ts.map +1 -1
- package/dist/StringJoiningTransformer.d.ts +1 -1
- package/dist/StringJoiningTransformer.d.ts.map +1 -1
- package/dist/XPathTransformerContext.d.ts +48 -0
- package/dist/XPathTransformerContext.d.ts.map +1 -1
- package/docs/TO-DO.md +2 -2
- package/package.json +1 -1
- package/src/AbstractJoiningTransformer.js +163 -0
- package/src/DOMJoiningTransformer.js +41 -3
- package/src/JSONJoiningTransformer.js +55 -4
- package/src/JSONPathTransformerContext.js +90 -0
- package/src/StringJoiningTransformer.js +40 -3
- package/src/XPathTransformerContext.js +195 -0
package/CHANGES.md
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# jtlt CHANGES
|
|
2
2
|
|
|
3
|
-
## 0.
|
|
3
|
+
## 0.11.0
|
|
4
|
+
|
|
5
|
+
- feat: change `this.function` to `outputFunction` and add new `this.function`
|
|
6
|
+
|
|
7
|
+
## 0.10.0
|
|
8
|
+
|
|
9
|
+
- feat: add `stylesheet` (and `transform` alias)
|
|
10
|
+
|
|
11
|
+
## 0.9.0
|
|
4
12
|
|
|
5
13
|
- feat: add `match` as alias to our `path`
|
|
6
14
|
- feat: `mode()` (`onMultipleMatch`, `warningOnMultipleMatch`,
|
package/README.md
CHANGED
|
@@ -421,10 +421,8 @@ equivalence with XSLT (to the extent JTLT and JSONPath implement
|
|
|
421
421
|
what could possibly be transferred to JSON-based transformations
|
|
422
422
|
from XSLT):
|
|
423
423
|
|
|
424
|
-
1.
|
|
425
|
-
|
|
426
|
-
preference to the last template (unlike XSLT which makes it an
|
|
427
|
-
error by default).
|
|
424
|
+
1. The method `this.stylesheet()` (or `this.transform()`) is used similarly to XSLT for configuration, but it does not call for including the templates within it as nested content.
|
|
425
|
+
2. JTLT adds `path` as an alias for `match` on templates.
|
|
428
426
|
|
|
429
427
|
## To-dos
|
|
430
428
|
|
|
@@ -121,6 +121,50 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
121
121
|
onNoMatch?: "shallow-copy" | "deep-copy" | "fail" | "apply-templates" | "shallow-skip" | "deep-skip" | "text-only-copy";
|
|
122
122
|
warningOnNoMatch?: boolean;
|
|
123
123
|
} | undefined;
|
|
124
|
+
/** @type {Set<string>} */
|
|
125
|
+
_excludeResultPrefixes: Set<string>;
|
|
126
|
+
/** @type {Set<string>} */
|
|
127
|
+
_usedNamespacePrefixes: Set<string>;
|
|
128
|
+
/**
|
|
129
|
+
* Pending namespace declarations that may be excluded.
|
|
130
|
+
* @type {Array<{
|
|
131
|
+
* prefix: string,
|
|
132
|
+
* namespaceURI: string,
|
|
133
|
+
* callback: () => void
|
|
134
|
+
* }>}
|
|
135
|
+
*/
|
|
136
|
+
_pendingNamespaces: Array<{
|
|
137
|
+
prefix: string;
|
|
138
|
+
namespaceURI: string;
|
|
139
|
+
callback: () => void;
|
|
140
|
+
}>;
|
|
141
|
+
/**
|
|
142
|
+
* Track which prefixes have pending namespace declarations.
|
|
143
|
+
* @type {Map<string, {prefix: string, namespaceURI: string}>}
|
|
144
|
+
*/
|
|
145
|
+
_pendingNamespaceMap: Map<string, {
|
|
146
|
+
prefix: string;
|
|
147
|
+
namespaceURI: string;
|
|
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
|
+
* returnType?: string
|
|
157
|
+
* }>}
|
|
158
|
+
*/
|
|
159
|
+
_registeredFunctions: Map<string, {
|
|
160
|
+
name: string;
|
|
161
|
+
params: Array<{
|
|
162
|
+
name: string;
|
|
163
|
+
as?: string;
|
|
164
|
+
}>;
|
|
165
|
+
body: (...args: any[]) => any;
|
|
166
|
+
returnType?: string;
|
|
167
|
+
}>;
|
|
124
168
|
/**
|
|
125
169
|
* @param {JoiningTransformerConfig<T>} cfg - Configuration object
|
|
126
170
|
* @returns {void}
|
|
@@ -150,6 +194,55 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
150
194
|
onNoMatch?: "shallow-copy" | "deep-copy" | "fail" | "apply-templates" | "shallow-skip" | "deep-skip" | "text-only-copy";
|
|
151
195
|
warningOnNoMatch?: boolean;
|
|
152
196
|
}): this;
|
|
197
|
+
/**
|
|
198
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
199
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
200
|
+
* nested content.
|
|
201
|
+
* @param {{
|
|
202
|
+
* excludeResultPrefixes?: string[]
|
|
203
|
+
* }} cfg - Stylesheet configuration
|
|
204
|
+
* @returns {this}
|
|
205
|
+
*/
|
|
206
|
+
stylesheet(cfg: {
|
|
207
|
+
excludeResultPrefixes?: string[];
|
|
208
|
+
}): this;
|
|
209
|
+
/**
|
|
210
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
211
|
+
* @param {{
|
|
212
|
+
* excludeResultPrefixes?: string[]
|
|
213
|
+
* }} cfg - Stylesheet configuration
|
|
214
|
+
* @returns {this}
|
|
215
|
+
*/
|
|
216
|
+
transform(cfg: {
|
|
217
|
+
excludeResultPrefixes?: string[];
|
|
218
|
+
}): this;
|
|
219
|
+
/**
|
|
220
|
+
* Register a stylesheet function (similar to xsl:function).
|
|
221
|
+
* Functions must have namespaced names and are invoked positionally.
|
|
222
|
+
* @param {{
|
|
223
|
+
* name: string,
|
|
224
|
+
* params?: Array<{name: string, as?: string}>,
|
|
225
|
+
* as?: string,
|
|
226
|
+
* body: (...args: any[]) => any
|
|
227
|
+
* }} cfg - Function configuration
|
|
228
|
+
* @returns {this}
|
|
229
|
+
*/
|
|
230
|
+
function(cfg: {
|
|
231
|
+
name: string;
|
|
232
|
+
params?: Array<{
|
|
233
|
+
name: string;
|
|
234
|
+
as?: string;
|
|
235
|
+
}>;
|
|
236
|
+
as?: string;
|
|
237
|
+
body: (...args: any[]) => any;
|
|
238
|
+
}): this;
|
|
239
|
+
/**
|
|
240
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
241
|
+
* @param {string} name - Function name (with namespace)
|
|
242
|
+
* @param {any[]} args - Positional arguments
|
|
243
|
+
* @returns {any} Function return value
|
|
244
|
+
*/
|
|
245
|
+
invokeFunctionByArity(name: string, args?: any[]): any;
|
|
153
246
|
/**
|
|
154
247
|
* @param {string} name
|
|
155
248
|
* @param {OutputCharacters} outputCharacters
|
|
@@ -183,6 +276,19 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
183
276
|
* @returns {string}
|
|
184
277
|
*/
|
|
185
278
|
_replaceNamespaceAliasInElement(elemName: string): string;
|
|
279
|
+
/**
|
|
280
|
+
* Output a pending namespace declaration if it exists.
|
|
281
|
+
* This method should be overridden by subclasses.
|
|
282
|
+
* @param {string} _prefix
|
|
283
|
+
* @returns {void}
|
|
284
|
+
*/
|
|
285
|
+
_flushPendingNamespace(_prefix: string): void;
|
|
286
|
+
/**
|
|
287
|
+
* Track attribute name prefix usage.
|
|
288
|
+
* @param {string} attrName
|
|
289
|
+
* @returns {void}
|
|
290
|
+
*/
|
|
291
|
+
_trackAttributePrefix(attrName: string): void;
|
|
186
292
|
/**
|
|
187
293
|
* @param {string} str
|
|
188
294
|
* @returns {string}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"AbstractJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/AbstractJoiningTransformer.js"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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":";8DAMa,IAAI;AAHjB;;;;GAIG;AAEH;;;;;;;;GAQG;AACH;IACE;;;;OAIG;IACH,eAJW,gBAAgB,GAAC,OAAO,OACxB,OAAO,iCAAiC,EAC9C,2BAA2B,EAa/B;IATC,iCAAsD;IACtD,kBAAkB;IAClB,UADW,GAAG,CACW;IACzB,4BAA4B;IAC5B,OADW,WAAW,EAAE,CACT;IACf,4EAA4E;IAC5E,kBADW,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,WAAW,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAC9C;IAC1B,sCAAsC;IACtC,cADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACZ;IAGxB;;;OAGG;IACH,gBAHW,IAAI,GACF,IAAI,CAIhB;IAED;;;;OAIG;IACH,oBAHW,GAAG,GACD,qBAAqB,CAKjC;IAED;;;OAGG;IACH,aAHW,MAAM,GAAC,IAAI,GACT,IAAI,CAIhB;IAED;;OAEG;IACH,OAFa,gBAAgB,GAAC,OAAO,GAAC,WAAW,EAAE,CAOlD;IAED;;;;OAIG;IACH,gBAJW,MAAM,OACN,GAAG,GACD,IAAI,CAKhB;IAED;;;;;OAKG;IACH,eAJW,MAAM,OACN,GAAG,GACD,IAAI,CAIhB;IAED;;;;;;OAMG;IACH,YANW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OACvB,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,oBACrC,GAAG,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrB,qBAAqB,CAuBjC;IAED;;;;;;;OAOG;IACH,SANW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OACvB,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,oBACrC,GAAG,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrB,qBAAqB,CAIjC;IAED;;;;OAIG;IACH,WAJW,GAAG,EAAE,GAAC,OAAO,OACb,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,GACnC,qBAAqB,CAWjC;IAED;;;;;OAKG;IACH,YALW,MAAM,OACN,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,GAEnC,qBAAqB,CAMjC;IAED;;;OAGG;IACH,YAHW,MAAM,GACJ,qBAAqB,CAKjC;IAED;;;OAGG;IACH,cAHW,OAAO,GACL,qBAAqB,CAKjC;IAED;;OAEG;IACH,QAFa,qBAAqB,CAKjC;IAED;;OAEG;IACH,aAFa,qBAAqB,CAUjC;IAED;;;OAGG;IACH,qBAHW,MAAM,GACJ,qBAAqB,CAUjC;IAED;;;OAGG;IACH,
|
|
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
|
-
|
|
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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"}
|
|
@@ -547,6 +547,54 @@ declare class JSONPathTransformerContext<T = "json"> {
|
|
|
547
547
|
* @returns {this}
|
|
548
548
|
*/
|
|
549
549
|
namespaceAlias(stylesheetPrefix: string, resultPrefix: string): this;
|
|
550
|
+
/**
|
|
551
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
552
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
553
|
+
* nested content.
|
|
554
|
+
* @param {{
|
|
555
|
+
* excludeResultPrefixes?: string[]
|
|
556
|
+
* }} cfg - Stylesheet configuration
|
|
557
|
+
* @returns {this}
|
|
558
|
+
*/
|
|
559
|
+
stylesheet(cfg: {
|
|
560
|
+
excludeResultPrefixes?: string[];
|
|
561
|
+
}): this;
|
|
562
|
+
/**
|
|
563
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
564
|
+
* @param {{
|
|
565
|
+
* excludeResultPrefixes?: string[]
|
|
566
|
+
* }} cfg - Stylesheet configuration
|
|
567
|
+
* @returns {this}
|
|
568
|
+
*/
|
|
569
|
+
transform(cfg: {
|
|
570
|
+
excludeResultPrefixes?: string[];
|
|
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
|
+
* }} cfg - Function configuration
|
|
580
|
+
* @returns {this}
|
|
581
|
+
*/
|
|
582
|
+
function(cfg: {
|
|
583
|
+
name: string;
|
|
584
|
+
params?: Array<{
|
|
585
|
+
name: string;
|
|
586
|
+
as?: string;
|
|
587
|
+
}>;
|
|
588
|
+
as?: string;
|
|
589
|
+
body: (...args: any[]) => any;
|
|
590
|
+
}): this;
|
|
591
|
+
/**
|
|
592
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
593
|
+
* @param {string} name - Function name (with namespace)
|
|
594
|
+
* @param {any[]} args - Positional arguments
|
|
595
|
+
* @returns {any} Function return value
|
|
596
|
+
*/
|
|
597
|
+
invokeFunctionByArity(name: string, args?: any[]): any;
|
|
550
598
|
/**
|
|
551
599
|
* Create an element. Mirrors the joining transformer API so templates can
|
|
552
600
|
* 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":"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"}
|
|
@@ -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
|
-
|
|
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":";2BAKa;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,GAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;iEAMS,IAAI;;;;;gCAyBJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CAC7B;AANJ;;;;;;;GAOG;AAEH;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IACE;;;;OAIG;IACH,eAJW,MAAM,QACN,OAAO,iCAAiC,EAC9C,8BAA8B,EA8BlC;IAzBC,aAAmB;IACnB,kBAAkB;IAClB,UADW,GAAG,CACW;IACzB,kBAAkB;IAClB,cADW,GAAG,CACe;IAC7B,kCAAkC;IAClC,eADW,OAAO,GAAG,SAAS,CACA;IAC9B,kCAAkC;IAClC,eADW,OAAO,GAAG,SAAS,CACA;IAC9B,kCAAkC;IAClC,eADW,OAAO,GAAG,SAAS,CACA;IAC9B,kBAAkB;IAClB,MADW,GAAG,CACO;IACrB,oBAAoB;IACpB,MADW,GAAG,EAAE,CACF;IACd,iCAAiC;IACjC,UADW,MAAM,GAAG,SAAS,CACJ;IACzB,sCAAsC;IACtC,cADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACZ;IACtB,uBAAuB;IACvB,OADW,MAAM,EAAE,CACJ;IACf,sBAAsB;IACtB,iBADW,OAAO,CACU;IAC5B,uEAAuE;IACvE,kBADW,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CACzC;IAG5B;;;;OAIG;IACH,oBAHW,GAAG,GACD,wBAAwB,CAKpC;IAED;;;OAGG;IACH,UAHW,MAAM,GAAC,GAAG,GACR,wBAAwB,CAqBpC;IAED;;OAEG;IACH,OAFa,MAAM,GAAC,MAAM,EAAE,CAa3B;IAED;;;;OAIG;IACH,gBAJW,MAAM,OACN,GAAG,GACD,wBAAwB,CAUpC;IAED;;;;;OAKG;IACH,eAJW,MAAM,OACN,GAAG,GACD,wBAAwB,CAIpC;IAED;;;;OAIG;IACH,eAJW,MAAM,MACN,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,GACtC,wBAAwB,CAuBpC;IAED;;;;;;OAMG;IACH,YANW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,OAAO,MAC/B,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,oBACxC,GAAG,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrB,wBAAwB,CAkDpC;IAED;;;;;;;OAOG;IACH,SANW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,OAAO,MAC/B,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,oBACxC,GAAG,EAAE,aACL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrB,wBAAwB,CAIpC;IAED;;;;OAIG;IACH,YAJW,GAAG,EAAE,GAAC,OAAO,OACb,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,GACtC,wBAAwB,CA2CpC;IAED;;;;;OAKG;IACH,YALW,MAAM,GAAC,OAAO,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,OAEtC,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,GACtC,wBAAwB,CA6BpC;IAED;;;;OAIG;IACH,YAJW,MAAM,GAAC,OAAO,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAEpC,wBAAwB,CAWpC;IAED;;;;OAIG;IACH,cAJW,OAAO,GAAC,OAAO,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAErC,wBAAwB,CAWpC;IAED;;OAEG;IACH,QAFa,wBAAwB,CAMpC;IAED;;OAEG;IACH,aAFa,wBAAwB,CAWpC;IAED;;;OAGG;IACH,qBAHW,MAAM,GAAC,OAAO,GACZ,wBAAwB,CAgBpC;IAED;;;OAGG;IACH,qBAHW,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAC,OAAO,GAC/B,wBAAwB,CAgBpC;IAED;;;;;;;OAOG;IACH,cAPW,MAAM,GAAC,OAAO,SACd,iBAAiB,eACjB,GAAG,EAAE,OACL,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,qBACxC,MAAM,EAAE,GACN,wBAAwB,CAqJpC;IA9IG,mBAA0B;IAsB1B,UAAkB;IA0HtB;;;;OAIG;IACH,kBAJW,MAAM,gBACN,MAAM,GACJ,wBAAwB,CA0BpC;IAkBD;;;;;;;OAOG;IACH,gBAPW,MAAM,OACN,MAAM,GAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,MAAU,EAAE,EAAE,mBACJ,OAAO,GAEL,wBAAwB,CAiEpC;IAED;;;OAGG;IACH,UAHW,MAAM,GACJ,wBAAwB,CAepC;IAED;;;OAGG;IACH,cAHW,MAAM,GACJ,wBAAwB,CAKpC;IAED;;;;OAIG;IACH,8BAJW,MAAM,QACN,MAAM,GACJ,wBAAwB,CAKpC;IAED;;;;;;OAMG;IACH,eAHW,MAAM,GACJ,wBAAwB,CAMpC;IAED;;;OAGG;IACH,eAHW,MAAM,GACJ,wBAAwB,CAQpC;IAED;;;;;;;;;;;OAWG;IACH,aANW,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,QAExC,YAAY,GAEV,wBAAwB,CA0CpC;IAED;;;;;;;;;;;;OAYG;IACH,qBAPW,MAAM,MACN,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,QAExC,YAAY,GAEV,wBAAwB,CA4CpC;IAED;;;;;OAKG;IACH,sBAJW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UACvB,MAAM,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWnC;CACF;uCAz6BsC,iCAAiC"}
|
|
@@ -442,6 +442,54 @@ declare class XPathTransformerContext {
|
|
|
442
442
|
* @returns {this}
|
|
443
443
|
*/
|
|
444
444
|
namespaceAlias(stylesheetPrefix: string, resultPrefix: string): this;
|
|
445
|
+
/**
|
|
446
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
447
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
448
|
+
* nested content.
|
|
449
|
+
* @param {{
|
|
450
|
+
* excludeResultPrefixes?: string[]
|
|
451
|
+
* }} cfg - Stylesheet configuration
|
|
452
|
+
* @returns {this}
|
|
453
|
+
*/
|
|
454
|
+
stylesheet(cfg: {
|
|
455
|
+
excludeResultPrefixes?: string[];
|
|
456
|
+
}): this;
|
|
457
|
+
/**
|
|
458
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
459
|
+
* @param {{
|
|
460
|
+
* excludeResultPrefixes?: string[]
|
|
461
|
+
* }} cfg - Stylesheet configuration
|
|
462
|
+
* @returns {this}
|
|
463
|
+
*/
|
|
464
|
+
transform(cfg: {
|
|
465
|
+
excludeResultPrefixes?: string[];
|
|
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
|
+
* }} cfg - Function configuration
|
|
475
|
+
* @returns {this}
|
|
476
|
+
*/
|
|
477
|
+
function(cfg: {
|
|
478
|
+
name: string;
|
|
479
|
+
params?: Array<{
|
|
480
|
+
name: string;
|
|
481
|
+
as?: string;
|
|
482
|
+
}>;
|
|
483
|
+
as?: string;
|
|
484
|
+
body: (...args: any[]) => any;
|
|
485
|
+
}): this;
|
|
486
|
+
/**
|
|
487
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
488
|
+
* @param {string} name - Function name (with namespace)
|
|
489
|
+
* @param {any[]} args - Positional arguments
|
|
490
|
+
* @returns {any} Function return value
|
|
491
|
+
*/
|
|
492
|
+
invokeFunctionByArity(name: string, args?: any[]): any;
|
|
445
493
|
/**
|
|
446
494
|
* Append element.
|
|
447
495
|
* @param {string} name Tag name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XPathTransformerContext.d.ts","sourceRoot":"","sources":["../src/XPathTransformerContext.js"],"names":[],"mappings":";;;;;WAOc,OAAO;;;;;;;;wBAEP,OAAO,YAAY,EAC5B,kBAAkB;;0CAEF,MAAM,KAAK,MAAM;;AAPtC;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH;
|
|
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
|
@@ -88,6 +88,40 @@ class AbstractJoiningTransformer {
|
|
|
88
88
|
* }|undefined}
|
|
89
89
|
*/
|
|
90
90
|
this._modeConfig = undefined;
|
|
91
|
+
|
|
92
|
+
/** @type {Set<string>} */
|
|
93
|
+
this._excludeResultPrefixes = new Set();
|
|
94
|
+
|
|
95
|
+
/** @type {Set<string>} */
|
|
96
|
+
this._usedNamespacePrefixes = new Set();
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Pending namespace declarations that may be excluded.
|
|
100
|
+
* @type {Array<{
|
|
101
|
+
* prefix: string,
|
|
102
|
+
* namespaceURI: string,
|
|
103
|
+
* callback: () => void
|
|
104
|
+
* }>}
|
|
105
|
+
*/
|
|
106
|
+
this._pendingNamespaces = [];
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Track which prefixes have pending namespace declarations.
|
|
110
|
+
* @type {Map<string, {prefix: string, namespaceURI: string}>}
|
|
111
|
+
*/
|
|
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
|
+
* returnType?: string
|
|
122
|
+
* }>}
|
|
123
|
+
*/
|
|
124
|
+
this._registeredFunctions = new Map();
|
|
91
125
|
}
|
|
92
126
|
|
|
93
127
|
/**
|
|
@@ -128,6 +162,101 @@ class AbstractJoiningTransformer {
|
|
|
128
162
|
return this;
|
|
129
163
|
}
|
|
130
164
|
|
|
165
|
+
/**
|
|
166
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
167
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
168
|
+
* nested content.
|
|
169
|
+
* @param {{
|
|
170
|
+
* excludeResultPrefixes?: string[]
|
|
171
|
+
* }} cfg - Stylesheet configuration
|
|
172
|
+
* @returns {this}
|
|
173
|
+
*/
|
|
174
|
+
stylesheet (cfg) {
|
|
175
|
+
if (cfg.excludeResultPrefixes) {
|
|
176
|
+
for (const prefix of cfg.excludeResultPrefixes) {
|
|
177
|
+
// Normalize empty string to internal #default representation
|
|
178
|
+
this._excludeResultPrefixes.add(prefix === '' ? '#default' : prefix);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
186
|
+
* @param {{
|
|
187
|
+
* excludeResultPrefixes?: string[]
|
|
188
|
+
* }} cfg - Stylesheet configuration
|
|
189
|
+
* @returns {this}
|
|
190
|
+
*/
|
|
191
|
+
transform (cfg) {
|
|
192
|
+
return this.stylesheet(cfg);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Register a stylesheet function (similar to xsl:function).
|
|
197
|
+
* Functions must have namespaced names and are invoked positionally.
|
|
198
|
+
* @param {{
|
|
199
|
+
* name: string,
|
|
200
|
+
* params?: Array<{name: string, as?: string}>,
|
|
201
|
+
* as?: string,
|
|
202
|
+
* body: (...args: any[]) => any
|
|
203
|
+
* }} cfg - Function configuration
|
|
204
|
+
* @returns {this}
|
|
205
|
+
*/
|
|
206
|
+
function (cfg) {
|
|
207
|
+
const {name, params = [], as: returnType, body} = cfg;
|
|
208
|
+
|
|
209
|
+
// Validate name has namespace
|
|
210
|
+
if (!name.includes(':') && !name.startsWith('Q{')) {
|
|
211
|
+
throw new Error(
|
|
212
|
+
`Function name "${name}" must be in a namespace ` +
|
|
213
|
+
`(use prefix:name or Q{uri}name)`
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Create function key with arity
|
|
218
|
+
const arity = params.length;
|
|
219
|
+
const functionKey = `${name}#${arity}`;
|
|
220
|
+
|
|
221
|
+
// Check for duplicates
|
|
222
|
+
if (this._registeredFunctions.has(functionKey)) {
|
|
223
|
+
throw new Error(
|
|
224
|
+
`Function "${name}" with arity ${arity} is already registered`
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
// Store function definition
|
|
229
|
+
this._registeredFunctions.set(functionKey, {
|
|
230
|
+
name,
|
|
231
|
+
params,
|
|
232
|
+
body,
|
|
233
|
+
returnType
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
return this;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
241
|
+
* @param {string} name - Function name (with namespace)
|
|
242
|
+
* @param {any[]} args - Positional arguments
|
|
243
|
+
* @returns {any} Function return value
|
|
244
|
+
*/
|
|
245
|
+
invokeFunctionByArity (name, args = []) {
|
|
246
|
+
const arity = args.length;
|
|
247
|
+
const functionKey = `${name}#${arity}`;
|
|
248
|
+
|
|
249
|
+
const functionDef = this._registeredFunctions.get(functionKey);
|
|
250
|
+
if (!functionDef) {
|
|
251
|
+
throw new Error(
|
|
252
|
+
`Function "${name}" with arity ${arity} not found`
|
|
253
|
+
);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Invoke function body with arguments
|
|
257
|
+
return functionDef.body(...args);
|
|
258
|
+
}
|
|
259
|
+
|
|
131
260
|
/**
|
|
132
261
|
* @param {string} name
|
|
133
262
|
* @param {OutputCharacters} outputCharacters
|
|
@@ -198,6 +327,12 @@ class AbstractJoiningTransformer {
|
|
|
198
327
|
const prefix = colonIdx === -1 ? '#default' : elemName.slice(0, colonIdx);
|
|
199
328
|
const alias = this._getNamespaceAlias(prefix);
|
|
200
329
|
|
|
330
|
+
// Track that this prefix (after aliasing) is actually used
|
|
331
|
+
this._usedNamespacePrefixes.add(alias);
|
|
332
|
+
|
|
333
|
+
// If this prefix was buffered, output it now
|
|
334
|
+
this._flushPendingNamespace(alias);
|
|
335
|
+
|
|
201
336
|
if (colonIdx === -1) {
|
|
202
337
|
if (alias === '#default') {
|
|
203
338
|
return elemName;
|
|
@@ -211,6 +346,34 @@ class AbstractJoiningTransformer {
|
|
|
211
346
|
) + elemName.slice(colonIdx + 1);
|
|
212
347
|
}
|
|
213
348
|
|
|
349
|
+
/**
|
|
350
|
+
* Output a pending namespace declaration if it exists.
|
|
351
|
+
* This method should be overridden by subclasses.
|
|
352
|
+
* @param {string} _prefix
|
|
353
|
+
* @returns {void}
|
|
354
|
+
*/
|
|
355
|
+
// eslint-disable-next-line class-methods-use-this -- Abstract
|
|
356
|
+
_flushPendingNamespace (_prefix) {
|
|
357
|
+
// Default implementation does nothing - subclasses override
|
|
358
|
+
// Using _prefix to indicate unused parameter
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
/**
|
|
362
|
+
* Track attribute name prefix usage.
|
|
363
|
+
* @param {string} attrName
|
|
364
|
+
* @returns {void}
|
|
365
|
+
*/
|
|
366
|
+
_trackAttributePrefix (attrName) {
|
|
367
|
+
const colonIdx = attrName.indexOf(':');
|
|
368
|
+
if (colonIdx !== -1 && !attrName.startsWith('xmlns')) {
|
|
369
|
+
const prefix = attrName.slice(0, colonIdx);
|
|
370
|
+
this._usedNamespacePrefixes.add(prefix);
|
|
371
|
+
|
|
372
|
+
// If this prefix was buffered, output it now
|
|
373
|
+
this._flushPendingNamespace(prefix);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
|
|
214
377
|
/**
|
|
215
378
|
* @param {string} str
|
|
216
379
|
* @returns {string}
|
|
@@ -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
|
-
|
|
221
|
+
outputFunction (func) {
|
|
222
222
|
if (this._cfg.mode !== 'JavaScript') {
|
|
223
223
|
throw new Error(
|
|
224
|
-
'
|
|
224
|
+
'outputFunction is not allowed unless added in JavaScript mode'
|
|
225
225
|
);
|
|
226
226
|
}
|
|
227
227
|
this.append(func.toString());
|
|
@@ -479,7 +479,24 @@ class DOMJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
479
479
|
* @returns {DOMJoiningTransformer}
|
|
480
480
|
*/
|
|
481
481
|
namespace (prefix, namespaceURI) {
|
|
482
|
-
|
|
482
|
+
let alias = this._getNamespaceAlias(prefix);
|
|
483
|
+
|
|
484
|
+
// Normalize empty string or undefined/null to #default
|
|
485
|
+
if (!alias) {
|
|
486
|
+
alias = '#default';
|
|
487
|
+
}
|
|
488
|
+
const normalizedPrefix = alias;
|
|
489
|
+
|
|
490
|
+
// If this prefix is excluded, buffer it instead of outputting immediately
|
|
491
|
+
if (this._excludeResultPrefixes.has(normalizedPrefix)) {
|
|
492
|
+
this._pendingNamespaceMap.set(normalizedPrefix, {
|
|
493
|
+
prefix: alias,
|
|
494
|
+
namespaceURI
|
|
495
|
+
});
|
|
496
|
+
return this;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
// Not excluded, output immediately
|
|
483
500
|
/** @type {Element} */
|
|
484
501
|
(this._dom).setAttributeNS(
|
|
485
502
|
'http://www.w3.org/2000/xmlns/',
|
|
@@ -489,6 +506,23 @@ class DOMJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
489
506
|
return this;
|
|
490
507
|
}
|
|
491
508
|
|
|
509
|
+
/**
|
|
510
|
+
* @param {string} prefix
|
|
511
|
+
* @returns {void}
|
|
512
|
+
* @override
|
|
513
|
+
*/
|
|
514
|
+
_flushPendingNamespace (prefix) {
|
|
515
|
+
const pending = this._pendingNamespaceMap.get(prefix);
|
|
516
|
+
if (pending) {
|
|
517
|
+
/** @type {Element} */
|
|
518
|
+
(this._dom).setAttributeNS(
|
|
519
|
+
'http://www.w3.org/2000/xmlns/',
|
|
520
|
+
pending.prefix === '#default' ? 'xmlns' : 'xmlns:' + pending.prefix,
|
|
521
|
+
this._replaceCharacterMaps(pending.namespaceURI)
|
|
522
|
+
);
|
|
523
|
+
this._pendingNamespaceMap.delete(prefix);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
492
526
|
/**
|
|
493
527
|
* @param {string} name
|
|
494
528
|
* @param {string} val
|
|
@@ -499,6 +533,10 @@ class DOMJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
499
533
|
this._dom.nodeType !== 1) {
|
|
500
534
|
throw new Error('You may only set an attribute on an element');
|
|
501
535
|
}
|
|
536
|
+
|
|
537
|
+
// Track attribute prefix usage for namespace exclusion
|
|
538
|
+
this._trackAttributePrefix(name);
|
|
539
|
+
|
|
502
540
|
(/** @type {Element} */ (this._dom)).setAttribute(
|
|
503
541
|
this._replaceNamespaceAliasInNamespaceDeclaration(name),
|
|
504
542
|
this._replaceCharacterMaps(val)
|
|
@@ -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
|
-
|
|
360
|
+
outputFunction (func) {
|
|
361
361
|
if (this._cfg.mode !== 'JavaScript') {
|
|
362
362
|
throw new Error(
|
|
363
|
-
'
|
|
363
|
+
'outputFunction is not allowed unless added in JavaScript mode'
|
|
364
364
|
);
|
|
365
365
|
}
|
|
366
366
|
this.append(func);
|
|
@@ -551,6 +551,25 @@ class JSONJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
551
551
|
// No-op outside an element() callback (JSON joiner semantics)
|
|
552
552
|
return this;
|
|
553
553
|
}
|
|
554
|
+
|
|
555
|
+
let alias = this._getNamespaceAlias(prefix);
|
|
556
|
+
|
|
557
|
+
// Normalize empty string or undefined/null to #default
|
|
558
|
+
if (!alias) {
|
|
559
|
+
alias = '#default';
|
|
560
|
+
}
|
|
561
|
+
const normalizedPrefix = alias;
|
|
562
|
+
|
|
563
|
+
// If this prefix is excluded, buffer it instead of outputting immediately
|
|
564
|
+
if (this._excludeResultPrefixes.has(normalizedPrefix)) {
|
|
565
|
+
this._pendingNamespaceMap.set(normalizedPrefix, {
|
|
566
|
+
prefix: alias,
|
|
567
|
+
namespaceURI
|
|
568
|
+
});
|
|
569
|
+
return this;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
// Not excluded, output immediately
|
|
554
573
|
const top = /** @type {ElementInfo} */ (this._elementStack.at(-1));
|
|
555
574
|
const {attsObj} = top;
|
|
556
575
|
|
|
@@ -558,7 +577,6 @@ class JSONJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
558
577
|
attsObj.xmlns = {};
|
|
559
578
|
}
|
|
560
579
|
|
|
561
|
-
const alias = this._getNamespaceAlias(prefix);
|
|
562
580
|
/** @type {Record<string, string>} */
|
|
563
581
|
(attsObj.xmlns)[alias === '#default' ? '' : alias] =
|
|
564
582
|
this._replaceCharacterMaps(namespaceURI);
|
|
@@ -566,6 +584,32 @@ class JSONJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
566
584
|
return this;
|
|
567
585
|
}
|
|
568
586
|
|
|
587
|
+
/**
|
|
588
|
+
* @param {string} prefix
|
|
589
|
+
* @returns {void}
|
|
590
|
+
* @override
|
|
591
|
+
*/
|
|
592
|
+
_flushPendingNamespace (prefix) {
|
|
593
|
+
if (!this._elementStack.length) {
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
const pending = this._pendingNamespaceMap.get(prefix);
|
|
598
|
+
if (pending) {
|
|
599
|
+
const top = /** @type {ElementInfo} */ (this._elementStack.at(-1));
|
|
600
|
+
const {attsObj} = top;
|
|
601
|
+
|
|
602
|
+
if (!attsObj.xmlns) {
|
|
603
|
+
attsObj.xmlns = {};
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
/** @type {Record<string, string>} */
|
|
607
|
+
(attsObj.xmlns)[pending.prefix === '#default' ? '' : pending.prefix] =
|
|
608
|
+
this._replaceCharacterMaps(pending.namespaceURI);
|
|
609
|
+
|
|
610
|
+
this._pendingNamespaceMap.delete(prefix);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
569
613
|
/**
|
|
570
614
|
* Adds/updates an attribute for the most recently open element built via
|
|
571
615
|
* a callback-driven element(). When not in an element callback context,
|
|
@@ -599,11 +643,18 @@ class JSONJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
599
643
|
if (name === '$a' && Array.isArray(val)) {
|
|
600
644
|
val.forEach((pair) => {
|
|
601
645
|
if (Array.isArray(pair) && pair.length > 1) {
|
|
602
|
-
|
|
646
|
+
const attrName = String(pair[0]);
|
|
647
|
+
// Track each ordered attribute
|
|
648
|
+
this._trackAttributePrefix(attrName);
|
|
649
|
+
attsObj[attrName] = this._replaceCharacterMaps(pair[1]);
|
|
603
650
|
}
|
|
604
651
|
});
|
|
605
652
|
return this;
|
|
606
653
|
}
|
|
654
|
+
|
|
655
|
+
// Track attribute prefix usage for namespace exclusion
|
|
656
|
+
this._trackAttributePrefix(name);
|
|
657
|
+
|
|
607
658
|
attsObj[this._replaceNamespaceAliasInNamespaceDeclaration(name)] =
|
|
608
659
|
this._replaceCharacterMaps(/** @type {string} */ (val));
|
|
609
660
|
return this;
|
|
@@ -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);
|
|
@@ -1902,6 +1942,56 @@ class JSONPathTransformerContext {
|
|
|
1902
1942
|
return this;
|
|
1903
1943
|
}
|
|
1904
1944
|
|
|
1945
|
+
/**
|
|
1946
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
1947
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
1948
|
+
* nested content.
|
|
1949
|
+
* @param {{
|
|
1950
|
+
* excludeResultPrefixes?: string[]
|
|
1951
|
+
* }} cfg - Stylesheet configuration
|
|
1952
|
+
* @returns {this}
|
|
1953
|
+
*/
|
|
1954
|
+
stylesheet (cfg) {
|
|
1955
|
+
this._getJoiningTransformer().stylesheet(cfg);
|
|
1956
|
+
return this;
|
|
1957
|
+
}
|
|
1958
|
+
|
|
1959
|
+
/**
|
|
1960
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
1961
|
+
* @param {{
|
|
1962
|
+
* excludeResultPrefixes?: string[]
|
|
1963
|
+
* }} cfg - Stylesheet configuration
|
|
1964
|
+
* @returns {this}
|
|
1965
|
+
*/
|
|
1966
|
+
transform (cfg) {
|
|
1967
|
+
return this.stylesheet(cfg);
|
|
1968
|
+
}
|
|
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
|
+
* }} cfg - Function configuration
|
|
1978
|
+
* @returns {this}
|
|
1979
|
+
*/
|
|
1980
|
+
function (cfg) {
|
|
1981
|
+
/** @type {any} */ (this._getJoiningTransformer()).function(cfg);
|
|
1982
|
+
return this;
|
|
1983
|
+
}
|
|
1984
|
+
|
|
1985
|
+
/**
|
|
1986
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
1987
|
+
* @param {string} name - Function name (with namespace)
|
|
1988
|
+
* @param {any[]} args - Positional arguments
|
|
1989
|
+
* @returns {any} Function return value
|
|
1990
|
+
*/
|
|
1991
|
+
invokeFunctionByArity (name, args = []) {
|
|
1992
|
+
return this._getJoiningTransformer().invokeFunctionByArity(name, args);
|
|
1993
|
+
}
|
|
1994
|
+
|
|
1905
1995
|
/**
|
|
1906
1996
|
* Create an element. Mirrors the joining transformer API so templates can
|
|
1907
1997
|
* 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
|
-
|
|
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
|
-
'
|
|
461
|
+
'outputFunction is not allowed unless added in JavaScript mode'
|
|
462
462
|
);
|
|
463
463
|
}
|
|
464
464
|
if (_isElement(func)) {
|
|
@@ -633,7 +633,24 @@ class StringJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
633
633
|
* @returns {StringJoiningTransformer}
|
|
634
634
|
*/
|
|
635
635
|
namespace (prefix, namespaceURI) {
|
|
636
|
-
|
|
636
|
+
let alias = this._getNamespaceAlias(prefix);
|
|
637
|
+
|
|
638
|
+
// Normalize empty string or undefined/null to #default
|
|
639
|
+
if (!alias) {
|
|
640
|
+
alias = '#default';
|
|
641
|
+
}
|
|
642
|
+
const normalizedPrefix = alias;
|
|
643
|
+
|
|
644
|
+
// If this prefix is excluded, buffer it instead of outputting immediately
|
|
645
|
+
if (this._excludeResultPrefixes.has(normalizedPrefix)) {
|
|
646
|
+
this._pendingNamespaceMap.set(normalizedPrefix, {
|
|
647
|
+
prefix: alias,
|
|
648
|
+
namespaceURI
|
|
649
|
+
});
|
|
650
|
+
return this;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
// Not excluded, output immediately
|
|
637
654
|
this.append(' ' + (
|
|
638
655
|
alias === '#default' ? 'xmlns' : 'xmlns:' + alias
|
|
639
656
|
) + '="' +
|
|
@@ -641,6 +658,22 @@ class StringJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
641
658
|
return this;
|
|
642
659
|
}
|
|
643
660
|
|
|
661
|
+
/**
|
|
662
|
+
* @param {string} prefix
|
|
663
|
+
* @returns {void}
|
|
664
|
+
* @override
|
|
665
|
+
*/
|
|
666
|
+
_flushPendingNamespace (prefix) {
|
|
667
|
+
const pending = this._pendingNamespaceMap.get(prefix);
|
|
668
|
+
if (pending) {
|
|
669
|
+
this.append(' ' + (
|
|
670
|
+
pending.prefix === '#default' ? 'xmlns' : 'xmlns:' + pending.prefix
|
|
671
|
+
) + '="' +
|
|
672
|
+
this._replaceCharacterMaps(pending.namespaceURI) + '"');
|
|
673
|
+
this._pendingNamespaceMap.delete(prefix);
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
|
|
644
677
|
/**
|
|
645
678
|
* @param {string} name - Attribute name
|
|
646
679
|
* @param {string|Record<string, unknown>|
|
|
@@ -703,6 +736,10 @@ class StringJoiningTransformer extends AbstractJoiningTransformer {
|
|
|
703
736
|
val = (this._cfg.preEscapedAttributes || avoidAttEscape)
|
|
704
737
|
? valStr
|
|
705
738
|
: valStr.replaceAll('&', '&').replaceAll('"', '"');
|
|
739
|
+
|
|
740
|
+
// Track attribute prefix usage for namespace exclusion
|
|
741
|
+
this._trackAttributePrefix(name);
|
|
742
|
+
|
|
706
743
|
this.append(
|
|
707
744
|
' ' + this._replaceNamespaceAliasInNamespaceDeclaration(name) + '="' +
|
|
708
745
|
this._replaceCharacterMaps(val) + '"'
|
|
@@ -877,6 +877,107 @@ 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
|
+
jt.append(result);
|
|
971
|
+
return this;
|
|
972
|
+
}
|
|
973
|
+
/* c8 ignore start -- Error handler for malformed function calls */
|
|
974
|
+
} catch (err) {
|
|
975
|
+
// Fall through to normal XPath evaluation
|
|
976
|
+
// This allows fontoxpath registered functions to work natively
|
|
977
|
+
}
|
|
978
|
+
/* c8 ignore stop */
|
|
979
|
+
}
|
|
980
|
+
|
|
880
981
|
// Check for format-number() function call
|
|
881
982
|
if (selectStr && selectStr.includes('format-number(')) {
|
|
882
983
|
const match = (/format-number\((?<value>[^,\)]+)(?:,\s*["'](?<format>[^"']+)["'])?(?:,\s*["'](?<decimalFormat>[^"']*)["'])?\)/v).exec(selectStr);
|
|
@@ -1599,6 +1700,100 @@ class XPathTransformerContext {
|
|
|
1599
1700
|
return this;
|
|
1600
1701
|
}
|
|
1601
1702
|
|
|
1703
|
+
/**
|
|
1704
|
+
* Configure stylesheet behavior (similar to xsl:stylesheet).
|
|
1705
|
+
* Unlike xsl:stylesheet, this is a directive method and does not contain
|
|
1706
|
+
* nested content.
|
|
1707
|
+
* @param {{
|
|
1708
|
+
* excludeResultPrefixes?: string[]
|
|
1709
|
+
* }} cfg - Stylesheet configuration
|
|
1710
|
+
* @returns {this}
|
|
1711
|
+
*/
|
|
1712
|
+
stylesheet (cfg) {
|
|
1713
|
+
this._getJoiningTransformer().stylesheet(cfg);
|
|
1714
|
+
return this;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
/**
|
|
1718
|
+
* Alias for stylesheet() method (XSLT compatibility).
|
|
1719
|
+
* @param {{
|
|
1720
|
+
* excludeResultPrefixes?: string[]
|
|
1721
|
+
* }} cfg - Stylesheet configuration
|
|
1722
|
+
* @returns {this}
|
|
1723
|
+
*/
|
|
1724
|
+
transform (cfg) {
|
|
1725
|
+
return this.stylesheet(cfg);
|
|
1726
|
+
}
|
|
1727
|
+
|
|
1728
|
+
/**
|
|
1729
|
+
* Register a stylesheet function (similar to xsl:function).
|
|
1730
|
+
* @param {{
|
|
1731
|
+
* name: string,
|
|
1732
|
+
* params?: Array<{name: string, as?: string}>,
|
|
1733
|
+
* as?: string,
|
|
1734
|
+
* body: (...args: any[]) => any
|
|
1735
|
+
* }} cfg - Function configuration
|
|
1736
|
+
* @returns {this}
|
|
1737
|
+
*/
|
|
1738
|
+
function (cfg) {
|
|
1739
|
+
const {name, params = [], as: returnType, body} = cfg;
|
|
1740
|
+
/** @type {any} */ (this._getJoiningTransformer()).function(cfg);
|
|
1741
|
+
|
|
1742
|
+
// Register with fontoxpath for native XPath 3.1 support
|
|
1743
|
+
const version = this._config.xpathVersion ?? 1;
|
|
1744
|
+
if (version === 3.1) {
|
|
1745
|
+
try {
|
|
1746
|
+
// Parse namespace from name
|
|
1747
|
+
let namespaceURI, localName;
|
|
1748
|
+
if (name.startsWith('Q{')) {
|
|
1749
|
+
// Q{uri}name format - extract manually
|
|
1750
|
+
const closeBrace = name.indexOf('}', 2);
|
|
1751
|
+
if (closeBrace > 2) {
|
|
1752
|
+
namespaceURI = name.slice(2, closeBrace);
|
|
1753
|
+
localName = name.slice(closeBrace + 1);
|
|
1754
|
+
}
|
|
1755
|
+
} else if (name.includes(':')) {
|
|
1756
|
+
// prefix:name format - use prefix as pseudo-namespace
|
|
1757
|
+
// (caller should use proper namespace resolver in XPath)
|
|
1758
|
+
const parts = name.split(':');
|
|
1759
|
+
namespaceURI = `urn:${parts[0]}`;
|
|
1760
|
+
localName = parts[1];
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
if (namespaceURI && localName) {
|
|
1764
|
+
// Map XSLT type names to XPath type names for signature
|
|
1765
|
+
const signature = params.map((p) => p.as || 'item()*');
|
|
1766
|
+
const returnTypeStr = returnType || 'item()*';
|
|
1767
|
+
|
|
1768
|
+
// eslint-disable-next-line import/no-named-as-default-member -- OK
|
|
1769
|
+
fontoxpath.registerCustomXPathFunction(
|
|
1770
|
+
{namespaceURI, localName},
|
|
1771
|
+
signature,
|
|
1772
|
+
returnTypeStr,
|
|
1773
|
+
(dynamicContext, ...args) => body(...args)
|
|
1774
|
+
);
|
|
1775
|
+
}
|
|
1776
|
+
/* c8 ignore start -- Error handler for fontoxpath failures */
|
|
1777
|
+
} catch (err) {
|
|
1778
|
+
// Ignore fontoxpath registration errors (e.g., if duplicate)
|
|
1779
|
+
// Function still available via invokeFunctionByArity
|
|
1780
|
+
}
|
|
1781
|
+
/* c8 ignore stop */
|
|
1782
|
+
}
|
|
1783
|
+
|
|
1784
|
+
return this;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
/**
|
|
1788
|
+
* Invoke a registered stylesheet function with positional arguments.
|
|
1789
|
+
* @param {string} name - Function name (with namespace)
|
|
1790
|
+
* @param {any[]} args - Positional arguments
|
|
1791
|
+
* @returns {any} Function return value
|
|
1792
|
+
*/
|
|
1793
|
+
invokeFunctionByArity (name, args = []) {
|
|
1794
|
+
return this._getJoiningTransformer().invokeFunctionByArity(name, args);
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1602
1797
|
/**
|
|
1603
1798
|
* Append element.
|
|
1604
1799
|
* @param {string} name Tag name
|