jtlt 0.12.0 → 0.14.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.
Files changed (68) hide show
  1. package/CHANGES.md +15 -0
  2. package/README.md +100 -82
  3. package/demo/calltemplate-params-demo.js +29 -34
  4. package/demo/codemirror.esm.js +140 -70
  5. package/demo/codemirror.js +9 -5
  6. package/demo/index.js +2 -1
  7. package/demo/vendor/fontoxpath/dist/fontoxpath.esm.js +508 -499
  8. package/demo/vendor/jamilih/dist/jml.mjs +516 -225
  9. package/demo/vendor/jhtml/src/SAJJ/SAJJ.ObjectArrayDelegator.js +17 -17
  10. package/demo/vendor/jhtml/src/SAJJ/SAJJ.js +60 -61
  11. package/demo/vendor/jhtml/src/jhtml-browser.js +1 -0
  12. package/demo/vendor/jhtml/src/jhtml-node.js +1 -0
  13. package/demo/vendor/jhtml/src/jhtml.js +18 -15
  14. package/demo/vendor/jsonpath-plus/dist/index-browser-esm.js +11 -5
  15. package/dist/AbstractJoiningTransformer.d.ts +17 -25
  16. package/dist/AbstractJoiningTransformer.d.ts.map +1 -1
  17. package/dist/DOMJoiningTransformer.d.ts +502 -19
  18. package/dist/DOMJoiningTransformer.d.ts.map +1 -1
  19. package/dist/JSONJoiningTransformer.d.ts +41 -25
  20. package/dist/JSONJoiningTransformer.d.ts.map +1 -1
  21. package/dist/JSONPathTransformer.d.ts +30 -29
  22. package/dist/JSONPathTransformer.d.ts.map +1 -1
  23. package/dist/JSONPathTransformerContext.d.ts +152 -99
  24. package/dist/JSONPathTransformerContext.d.ts.map +1 -1
  25. package/dist/StringJoiningTransformer.d.ts +42 -28
  26. package/dist/StringJoiningTransformer.d.ts.map +1 -1
  27. package/dist/XPathTransformer.d.ts +20 -13
  28. package/dist/XPathTransformer.d.ts.map +1 -1
  29. package/dist/XPathTransformerContext.d.ts +92 -53
  30. package/dist/XPathTransformerContext.d.ts.map +1 -1
  31. package/dist/XSLTStyleJSONPathResolver.d.ts +1 -1
  32. package/dist/XSLTStyleJSONPathResolver.d.ts.map +1 -1
  33. package/dist/index-browser.d.ts +2 -2
  34. package/dist/index-browser.d.ts.map +1 -1
  35. package/dist/index-node.d.ts +2 -2
  36. package/dist/index-node.d.ts.map +1 -1
  37. package/dist/index.d.ts +224 -171
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/indexedDB.d.ts +107 -0
  40. package/dist/indexedDB.d.ts.map +1 -0
  41. package/dist/maybeAsync.d.ts +15 -0
  42. package/dist/maybeAsync.d.ts.map +1 -0
  43. package/docs/API.expanded.md +74 -22
  44. package/docs/API.md +34 -4
  45. package/docs/TO-DO.md +5 -3
  46. package/eslint.config.js +28 -4
  47. package/package.json +25 -22
  48. package/pnpm-workspace.yaml +41 -4
  49. package/rollup.config.js +42 -0
  50. package/src/AbstractJoiningTransformer.js +11 -4
  51. package/src/DOMJoiningTransformer.js +56 -27
  52. package/src/JSONJoiningTransformer.js +64 -44
  53. package/src/JSONPathTransformer.js +124 -85
  54. package/src/JSONPathTransformerContext.js +252 -70
  55. package/src/StringJoiningTransformer.js +48 -23
  56. package/src/XPathTransformer.js +50 -14
  57. package/src/XPathTransformerContext.js +309 -139
  58. package/src/index-browser.js +1 -0
  59. package/src/index-node.js +2 -0
  60. package/src/index.js +206 -72
  61. package/src/indexedDB.js +530 -0
  62. package/src/maybeAsync.js +44 -0
  63. package/test.html +17 -0
  64. package/test.js +45 -0
  65. package/tsconfig-prod.json +1 -0
  66. package/tsconfig.json +3 -2
  67. package/dist/types.d.ts +0 -204
  68. package/dist/types.d.ts.map +0 -1
@@ -1,49 +1,45 @@
1
- export default JSONPathTransformerContext;
2
- /**
3
- * Decimal format symbols for number formatting.
4
- */
5
1
  export type DecimalFormatSymbols = {
6
2
  /**
7
3
  * - Character for decimal point
8
4
  */
9
- decimalSeparator?: string | undefined;
5
+ decimalSeparator?: string;
10
6
  /**
11
7
  * - Character for thousands
12
8
  */
13
- groupingSeparator?: string | undefined;
9
+ groupingSeparator?: string;
14
10
  /**
15
11
  * - Character for percent
16
12
  */
17
- percent?: string | undefined;
13
+ percent?: string;
18
14
  /**
19
15
  * - Character for per-mille
20
16
  */
21
- perMille?: string | undefined;
17
+ perMille?: string;
22
18
  /**
23
19
  * - Character for zero
24
20
  */
25
- zeroDigit?: string | undefined;
21
+ zeroDigit?: string;
26
22
  /**
27
23
  * - Character for digit placeholder
28
24
  */
29
- digit?: string | undefined;
25
+ digit?: string;
30
26
  /**
31
27
  * - Character separating
32
28
  * positive/negative patterns
33
29
  */
34
- patternSeparator?: string | undefined;
30
+ patternSeparator?: string;
35
31
  /**
36
32
  * - Character for minus sign
37
33
  */
38
- minusSign?: string | undefined;
34
+ minusSign?: string;
39
35
  /**
40
36
  * - String for infinity
41
37
  */
42
- infinity?: string | undefined;
38
+ infinity?: string;
43
39
  /**
44
40
  * - String for NaN
45
41
  */
46
- NaN?: string | undefined;
42
+ NaN?: string;
47
43
  };
48
44
  export type NumberValue = number | string | {
49
45
  value?: number | string;
@@ -55,25 +51,31 @@ export type NumberValue = number | string | {
55
51
  lang?: string;
56
52
  letterValue?: string;
57
53
  };
58
- /**
59
- * Sort spec types used by applyTemplates() and forEach().
60
- */
61
- export type SortObject = {
54
+ export type SortObject<V = unknown> = {
62
55
  select?: string;
63
- order?: "ascending" | "descending";
64
- type?: "text" | "number";
56
+ order?: 'ascending' | 'descending';
57
+ type?: 'text' | 'number';
65
58
  locale?: string;
66
59
  localeOptions?: unknown;
67
60
  };
68
- /**
69
- * Sort spec types used by applyTemplates() and forEach().
70
- */
71
- export type SortComparator = (a: unknown, b: unknown, ctx: JSONPathTransformerContext) => number;
72
- /**
73
- * Sort spec types used by applyTemplates() and forEach().
74
- */
75
- export type SortSpec = string | SortObject | SortComparator | Array<string | SortObject>;
76
- export type JSONPathTransformerContextConfig<T = "json"> = {
61
+ export type SortComparator<V = unknown> = (a: V, b: V, ctx: JSONPathTransformerContext) => number;
62
+ export type SortSpec<V = unknown> = string | SortObject | SortComparator | Array<string | SortObject> | null;
63
+ export type JoiningTransformerMap = {
64
+ json: import('./JSONJoiningTransformer.js').default;
65
+ string: import('./StringJoiningTransformer.js').default;
66
+ dom: import('./DOMJoiningTransformer.js').default;
67
+ };
68
+ export type AppendItemMap = {
69
+ json: unknown;
70
+ string: string | unknown;
71
+ dom: string | Node;
72
+ };
73
+ export type ElementAttsMap = {
74
+ json: import('./JSONJoiningTransformer.js').ElementAttributes;
75
+ string: import('./StringJoiningTransformer.js').ElementAttributes;
76
+ dom: Record<string, string>;
77
+ };
78
+ export type JSONPathTransformerContextConfig<T extends "json" | "string" | "dom" = "json"> = {
77
79
  /**
78
80
  * - Data to transform
79
81
  */
@@ -81,30 +83,39 @@ export type JSONPathTransformerContextConfig<T = "json"> = {
81
83
  /**
82
84
  * - Parent object
83
85
  */
84
- parent?: object | undefined;
86
+ parent?: object;
85
87
  /**
86
88
  * - Parent property name
87
89
  */
88
- parentProperty?: string | undefined;
90
+ parentProperty?: string;
89
91
  /**
90
92
  * - Whether to error on
91
93
  * equal priority
92
94
  */
93
- errorOnEqualPriority?: boolean | undefined;
95
+ errorOnEqualPriority?: boolean;
96
+ /**
97
+ * - Output type
98
+ */
99
+ outputType?: T;
94
100
  /**
95
101
  * - Joining transformer
96
102
  */
97
- joiningTransformer: T extends "json" ? import("./JSONJoiningTransformer.js").default : T extends "string" ? import("./StringJoiningTransformer.js").default : import("./DOMJoiningTransformer.js").default;
103
+ joiningTransformer: JoiningTransformerMap[T];
98
104
  /**
99
105
  * - Whether to prevent eval in
100
106
  * JSONPath
101
107
  */
102
- preventEval?: boolean | undefined;
108
+ preventEval?: boolean;
109
+ /**
110
+ * - When true, throw if a template returns a
111
+ * Promise instead of awaiting it (disables `indexedDB()`)
112
+ */
113
+ sync?: boolean;
103
114
  /**
104
115
  * Priority resolver function
105
116
  */
106
- specificityPriorityResolver?: ((path: string) => number) | undefined;
107
- templates?: import("./index.js").JSONPathTemplateObject<T>[] | undefined;
117
+ specificityPriorityResolver?: (path: string) => number;
118
+ templates?: import('./index.js').JSONPathTemplateObject<T>[] | import('./index.js').JSONPathTemplateArray<T>[];
108
119
  };
109
120
  /**
110
121
  * Decimal format symbols for number formatting.
@@ -142,29 +153,49 @@ export type JSONPathTransformerContextConfig<T = "json"> = {
142
153
  * locale?: string,
143
154
  * localeOptions?: unknown
144
155
  * }} SortObject
145
- * @typedef {(a: unknown, b: unknown,
156
+ * @template [V=unknown]
157
+ * @typedef {(a: V, b: V,
146
158
  * ctx: JSONPathTransformerContext
147
159
  * ) => number} SortComparator
148
160
  * @typedef {string | SortObject | SortComparator |
149
- * Array<string|SortObject>} SortSpec
161
+ * Array<string|SortObject> | null} SortSpec
162
+ */
163
+ /**
164
+ * @typedef {object} JoiningTransformerMap
165
+ * @property {import('./JSONJoiningTransformer.js').default} json
166
+ * @property {import('./StringJoiningTransformer.js').default} string
167
+ * @property {import('./DOMJoiningTransformer.js').default} dom
168
+ */
169
+ /**
170
+ * @typedef {object} AppendItemMap
171
+ * @property {unknown} json
172
+ * @property {string|unknown} string
173
+ * @property {string|Node} dom
150
174
  */
151
175
  /**
152
- * @template [T = "json"]
176
+ * @typedef {object} ElementAttsMap
177
+ * @property {import('./JSONJoiningTransformer.js').ElementAttributes} json
178
+ * @property {import('./StringJoiningTransformer.js').ElementAttributes} string
179
+ * @property {Record<string, string>} dom
180
+ */
181
+ /**
182
+ * @template {"json"|"string"|"dom"} [T="json"]
153
183
  * @typedef {object} JSONPathTransformerContextConfig
154
184
  * @property {null|boolean|number|string|object} data - Data to transform
155
185
  * @property {object} [parent] - Parent object
156
186
  * @property {string} [parentProperty] - Parent property name
157
187
  * @property {boolean} [errorOnEqualPriority] - Whether to error on
158
188
  * equal priority
159
- * @property {T extends "json" ? import('./JSONJoiningTransformer.js').
160
- * default : T extends "string" ? import('./StringJoiningTransformer.js').
161
- * default : import('./DOMJoiningTransformer.js').
162
- * default} joiningTransformer - Joining transformer
189
+ * @property {T} [outputType] - Output type
190
+ * @property {JoiningTransformerMap[T]} joiningTransformer - Joining transformer
163
191
  * @property {boolean} [preventEval] - Whether to prevent eval in
164
192
  * JSONPath
193
+ * @property {boolean} [sync] - When true, throw if a template returns a
194
+ * Promise instead of awaiting it (disables `indexedDB()`)
165
195
  * @property {(path: string) => number} [specificityPriorityResolver]
166
196
  * Priority resolver function
167
- * @property {import('./index.js').JSONPathTemplateObject<T>[]} [templates]
197
+ * @property {import('./index.js').JSONPathTemplateObject<T>[]|
198
+ * import('./index.js').JSONPathTemplateArray<T>[]} [templates]
168
199
  */
169
200
  /**
170
201
  * Execution context for JSONPath-driven template application.
@@ -173,22 +204,10 @@ export type JSONPathTransformerContextConfig<T = "json"> = {
173
204
  * running templates. Exposes helper methods that mirror the underlying
174
205
  * joining transformer (e.g., string(), object(), array()) so templates can
175
206
  * emit results without referencing the joiner directly.
176
- * @template [T = "json"]
207
+ * @template {"json"|"string"|"dom"} [T="json"]
208
+ * @template [V=unknown]
177
209
  */
178
- declare class JSONPathTransformerContext<T = "json"> {
179
- /**
180
- * @param {JSONPathTransformerContextConfig<T>} config
181
- * @param {import('./index.js').JSONPathTemplateObject<T>[]} templates - Array
182
- * of template objects
183
- */
184
- constructor(config: JSONPathTransformerContextConfig<T>, templates: import("./index.js").JSONPathTemplateObject<T>[]);
185
- /**
186
- * Holds the current iteration state (for position calculations).
187
- * @type {{ index?: number } | undefined}
188
- */
189
- iterationState: {
190
- index?: number;
191
- } | undefined;
210
+ declare class JSONPathTransformerContext<T extends "json" | "string" | "dom" = "json", V = unknown> {
192
211
  _config: JSONPathTransformerContextConfig<T>;
193
212
  _templates: import("./index.js").JSONPathTemplateObject<T>[];
194
213
  _contextObj: string | number | boolean | object | null;
@@ -216,6 +235,19 @@ declare class JSONPathTransformerContext<T = "json"> {
216
235
  _preserveSpaceElements: string[];
217
236
  /** @type {string[]} */
218
237
  _stripSpaceElements: string[];
238
+ /**
239
+ * Holds the current iteration state (for position calculations).
240
+ * @type {{ index?: number } | undefined}
241
+ */
242
+ iterationState: {
243
+ index?: number;
244
+ } | undefined;
245
+ /**
246
+ * @param {JSONPathTransformerContextConfig<T>} config
247
+ * @param {import('./index.js').JSONPathTemplateObject<T>[]} templates - Array
248
+ * of template objects
249
+ */
250
+ constructor(config: JSONPathTransformerContextConfig<T>, templates: import('./index.js').JSONPathTemplateObject<T>[]);
219
251
  /**
220
252
  * Triggers an error if equal priority templates are found.
221
253
  * @returns {void}
@@ -229,22 +261,19 @@ declare class JSONPathTransformerContext<T = "json"> {
229
261
  _shouldStripSpace(elementName: string): boolean;
230
262
  /**
231
263
  * Gets the joining transformer from config.
232
- * @returns {T extends "json" ? import('./JSONJoiningTransformer.js').
233
- * default : T extends "string" ? import('./StringJoiningTransformer.js').
234
- * default : import('./DOMJoiningTransformer.js').
235
- * default} The joining transformer
264
+ * @returns {JoiningTransformerMap[T]} The joining transformer
236
265
  */
237
- _getJoiningTransformer(): T extends "json" ? import("./JSONJoiningTransformer.js").default : T extends "string" ? import("./StringJoiningTransformer.js").default : import("./DOMJoiningTransformer.js").default;
266
+ _getJoiningTransformer(): JoiningTransformerMap[T];
238
267
  /**
239
- * @param {string | Node} item - Item to append to output
268
+ * @param {AppendItemMap[T]} item - Item to append to output
240
269
  * @returns {this}
241
270
  */
242
- appendOutput(item: string | Node): this;
271
+ appendOutput(item: AppendItemMap[T]): this;
243
272
  /**
244
273
  * Gets the current output.
245
- * @returns {any} The output from the joining transformer
274
+ * @returns {unknown} The output from the joining transformer
246
275
  */
247
- getOutput(): any;
276
+ getOutput(): unknown;
248
277
  /**
249
278
  * Get() and set() are provided as a convenience method for templates, but
250
279
  * it should typically not be used (use valueOf or the copy methods to add
@@ -255,10 +284,10 @@ declare class JSONPathTransformerContext<T = "json"> {
255
284
  */
256
285
  get(select: string, wrap: boolean): any;
257
286
  /**
258
- * @param {any} v - Value to set
287
+ * @param {unknown} v - Value to set
259
288
  * @returns {this}
260
289
  */
261
- set(v: any): this;
290
+ set(v: unknown): this;
262
291
  /**
263
292
  * Apply matching templates to nodes selected by JSONPath, optionally sorted.
264
293
  *
@@ -273,13 +302,13 @@ declare class JSONPathTransformerContext<T = "json"> {
273
302
  * {mode?: string, select?: string}
274
303
  * } [select] - JSONPath selector or options object
275
304
  * @param {string} [mode] - Mode to apply
276
- * @param {SortSpec} [sort] - Sort spec
305
+ * @param {SortSpec<V>} [sort] - Sort spec
277
306
  * @returns {this}
278
307
  */
279
308
  applyTemplates(select?: string | null | {
280
309
  mode?: string;
281
310
  select?: string;
282
- }, mode?: string, sort?: SortSpec): this;
311
+ }, mode?: string, sort?: SortSpec<V>): this;
283
312
  /**
284
313
  * @param {string|
285
314
  * {name: string, withParam?: any[]}} name - Template name or
@@ -297,12 +326,12 @@ declare class JSONPathTransformerContext<T = "json"> {
297
326
  * Sort parameter forms are the same as applyTemplates().
298
327
  * @param {string} select - JSONPath selector
299
328
  * @param {(this: JSONPathTransformerContext<T>,
300
- * value: any
329
+ * value: unknown
301
330
  * ) => void} cb - Callback function
302
- * @param {SortSpec} [sort] - Sort spec
331
+ * @param {SortSpec<V>} [sort] - Sort spec
303
332
  * @returns {this}
304
333
  */
305
- forEach(select: string, cb: (this: JSONPathTransformerContext<T>, value: any) => void, sort?: SortSpec): this;
334
+ forEach(select: string, cb: (this: JSONPathTransformerContext<T>, value: unknown) => void, sort?: SortSpec<V>): this;
306
335
  /**
307
336
  * Groups items and executes callback for each group.
308
337
  * Equivalent to XSLT's xsl:for-each-group.
@@ -315,19 +344,22 @@ declare class JSONPathTransformerContext<T = "json"> {
315
344
  * expression matches
316
345
  * @param {string} [options.groupEndingWith] - Ends group when expression
317
346
  * matches
318
- * @param {any} [options.sort] - Sort specification (same as forEach)
347
+ * @param {SortSpec<V>} [options.sort] - Sort specification (same as forEach)
319
348
  * @param {(
320
- * this: JSONPathTransformerContext<T>, key: any, items: any[], ctx: any
349
+ * this: JSONPathTransformerContext<T>,
350
+ * key: unknown,
351
+ * items: unknown[],
352
+ * ctx: JSONPathTransformerContext<T>
321
353
  * ) => void} cb - Callback receives (groupingKey, groupItems, context)
322
354
  * @returns {this}
323
355
  */
324
356
  forEachGroup(select: string, options: {
325
- groupBy?: string | undefined;
326
- groupAdjacent?: string | undefined;
327
- groupStartingWith?: string | undefined;
328
- groupEndingWith?: string | undefined;
329
- sort?: any;
330
- }, cb: (this: JSONPathTransformerContext<T>, key: any, items: any[], ctx: any) => void): this;
357
+ groupBy?: string;
358
+ groupAdjacent?: string;
359
+ groupStartingWith?: string;
360
+ groupEndingWith?: string;
361
+ sort?: SortSpec<V>;
362
+ }, cb: (this: JSONPathTransformerContext<T>, key: unknown, items: unknown[], ctx: JSONPathTransformerContext<T>) => void): this;
331
363
  /**
332
364
  * Helper to build comparator for sorting.
333
365
  * @param {any} sortSpec
@@ -338,14 +370,34 @@ declare class JSONPathTransformerContext<T = "json"> {
338
370
  private _buildComparator;
339
371
  /**
340
372
  * Returns the current group (for use within forEachGroup callback).
341
- * @returns {any[]|undefined}
373
+ * @returns {unknown[]|undefined}
342
374
  */
343
- currentGroup(): any[] | undefined;
375
+ currentGroup(): unknown[] | undefined;
344
376
  /**
345
377
  * Returns the current grouping key (for use within forEachGroup callback).
346
- * @returns {any}
378
+ * @returns {unknown}
379
+ */
380
+ currentGroupingKey(): unknown;
381
+ /**
382
+ * Directly query IndexedDB from within a template, e.g.
383
+ * `await this.indexedDB('myDB', 'myStore', {index: 'byAge'})`.
384
+ *
385
+ * Since IndexedDB access is asynchronous, this is unavailable when JTLT is
386
+ * configured with `sync: true`.
387
+ * @param {string} dbName - Database name
388
+ * @param {string} storeName - Object store name
389
+ * @param {import('./indexedDB.js').QueryOptions} [options] - Query options
390
+ * @returns {Promise<unknown[]>} The matching records
347
391
  */
348
- currentGroupingKey(): any;
392
+ indexedDB(dbName: string, storeName: string, options?: import('./indexedDB.js').QueryOptions): Promise<unknown[]>;
393
+ /**
394
+ * Await a parsed `indexedDB(...)` expression and append its (stringified)
395
+ * value to the output. Used by {@link valueOf}. Callers reject `config.sync`.
396
+ * @param {import('./indexedDB.js').ParsedIndexedDBExpression} parsed
397
+ * @param {any} results - The joining transformer
398
+ * @returns {Promise<this>}
399
+ */
400
+ _appendIndexedDBValue(parsed: import('./indexedDB.js').ParsedIndexedDBExpression, results: any): Promise<this>;
349
401
  /**
350
402
  * @param {string|object} [select] - JSONPath selector
351
403
  * @returns {this}
@@ -407,7 +459,7 @@ declare class JSONPathTransformerContext<T = "json"> {
407
459
  * string content
408
460
  * @returns {this}
409
461
  */
410
- string(str: string, cb?: import("./JSONJoiningTransformer.js").SimpleCallback<T>): this;
462
+ string(str: string, cb?: import('./JSONJoiningTransformer.js').SimpleCallback<T>): this;
411
463
  /**
412
464
  * Append a number to JSON output with xsl:number-like formatting.
413
465
  * @param {NumberValue} num - Number value, "position()" string, or
@@ -510,7 +562,7 @@ declare class JSONPathTransformerContext<T = "json"> {
510
562
  * @param {import('./StringJoiningTransformer.js').OutputConfig} cfg Text
511
563
  * @returns {this}
512
564
  */
513
- output(cfg: import("./StringJoiningTransformer.js").OutputConfig): this;
565
+ output(cfg: import('./StringJoiningTransformer.js').OutputConfig): this;
514
566
  /**
515
567
  * Configure mode behavior (similar to xsl:mode).
516
568
  * @param {{
@@ -534,7 +586,7 @@ declare class JSONPathTransformerContext<T = "json"> {
534
586
  * OutputCharacters} outputCharacters
535
587
  * @returns {this}
536
588
  */
537
- characterMap(name: string, outputCharacters: import("./AbstractJoiningTransformer.js").OutputCharacters): this;
589
+ characterMap(name: string, outputCharacters: import('./AbstractJoiningTransformer.js').OutputCharacters): this;
538
590
  /**
539
591
  * @param {string} name
540
592
  * @param {Record<string, string>} attributes
@@ -593,15 +645,15 @@ declare class JSONPathTransformerContext<T = "json"> {
593
645
  /**
594
646
  * Invoke a registered stylesheet function with positional arguments.
595
647
  * @param {string} name - Function name (with namespace)
596
- * @param {any[]} args - Positional arguments
597
- * @returns {any} Function return value
648
+ * @param {unknown[]} args - Positional arguments
649
+ * @returns {unknown} Function return value
598
650
  */
599
- invokeFunctionByArity(name: string, args?: any[]): any;
651
+ invokeFunctionByArity(name: string, args?: unknown[]): unknown;
600
652
  /**
601
653
  * Create an element. Mirrors the joining transformer API so templates can
602
654
  * call `this.element()`.
603
- * @param {string} name - Element name
604
- * @param {Record<string, string>|any[]|
655
+ * @param {string|Node} name - Element name or Node (if DOM)
656
+ * @param {ElementAttsMap[T]|any[]|
605
657
  * ((this: JSONPathTransformerContext<T>) => void)} [atts] -
606
658
  * Attributes object or children or callback
607
659
  * @param {any[]|
@@ -612,7 +664,7 @@ declare class JSONPathTransformerContext<T = "json"> {
612
664
  * @param {string[]} [useAttributeSets] - Attribute set names to apply
613
665
  * @returns {this}
614
666
  */
615
- element(name: string, atts?: Record<string, string> | any[] | ((this: JSONPathTransformerContext<T>) => void), children?: any[] | ((this: JSONPathTransformerContext<T>) => void), cb?: (this: JSONPathTransformerContext<T>) => void, useAttributeSets?: string[]): this;
667
+ element(name: string | Node, atts?: ElementAttsMap[T] | any[] | ((this: JSONPathTransformerContext<T>) => void), children?: any[] | ((this: JSONPathTransformerContext<T>) => void), cb?: (this: JSONPathTransformerContext<T>) => void, useAttributeSets?: string[]): this;
616
668
  /**
617
669
  * Adds a prefixed namespace declaration to the most recently opened
618
670
  * element. Mirrors the joining
@@ -680,10 +732,10 @@ declare class JSONPathTransformerContext<T = "json"> {
680
732
  _usePropertySets(obj: Record<string, unknown>, name: string): Record<string, unknown>;
681
733
  /**
682
734
  * @param {string} name - Key name
683
- * @param {any} value - Value to match
684
- * @returns {any}
735
+ * @param {unknown} value - Value to match
736
+ * @returns {unknown}
685
737
  */
686
- getKey(name: string, value: any): any;
738
+ getKey(name: string, value: unknown): unknown;
687
739
  /**
688
740
  * @param {string} name - Key name
689
741
  * @param {string} match - Match expression
@@ -738,4 +790,5 @@ declare class JSONPathTransformerContext<T = "json"> {
738
790
  */
739
791
  assert(test: string, message?: string): this;
740
792
  }
793
+ export default JSONPathTransformerContext;
741
794
  //# sourceMappingURL=JSONPathTransformerContext.d.ts.map
@@ -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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"}