jtlt 0.11.0 → 0.13.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 -0
- package/README.md +9 -5
- package/demo/calltemplate-params-demo.js +19 -15
- package/demo/codemirror.esm.js +140 -70
- package/demo/codemirror.js +9 -5
- package/demo/index.js +2 -1
- package/demo/vendor/fontoxpath/dist/fontoxpath.esm.js +508 -499
- package/demo/vendor/jamilih/dist/jml.mjs +516 -225
- package/demo/vendor/jsonpath-plus/dist/index-browser-esm.js +11 -5
- package/dist/AbstractJoiningTransformer.d.ts +20 -24
- package/dist/AbstractJoiningTransformer.d.ts.map +1 -1
- package/dist/DOMJoiningTransformer.d.ts +502 -19
- package/dist/DOMJoiningTransformer.d.ts.map +1 -1
- package/dist/JSONJoiningTransformer.d.ts +41 -25
- package/dist/JSONJoiningTransformer.d.ts.map +1 -1
- package/dist/JSONPathTransformer.d.ts +20 -20
- package/dist/JSONPathTransformer.d.ts.map +1 -1
- package/dist/JSONPathTransformerContext.d.ts +107 -82
- package/dist/JSONPathTransformerContext.d.ts.map +1 -1
- package/dist/StringJoiningTransformer.d.ts +42 -28
- package/dist/StringJoiningTransformer.d.ts.map +1 -1
- package/dist/XPathTransformer.d.ts +11 -11
- package/dist/XPathTransformer.d.ts.map +1 -1
- package/dist/XPathTransformerContext.d.ts +51 -47
- package/dist/XPathTransformerContext.d.ts.map +1 -1
- package/dist/XSLTStyleJSONPathResolver.d.ts +1 -1
- package/dist/XSLTStyleJSONPathResolver.d.ts.map +1 -1
- package/dist/index-browser.d.ts +2 -2
- package/dist/index-browser.d.ts.map +1 -1
- package/dist/index-node.d.ts +2 -2
- package/dist/index-node.d.ts.map +1 -1
- package/dist/index.d.ts +126 -167
- package/dist/index.d.ts.map +1 -1
- package/docs/API.expanded.md +6 -4
- package/docs/API.md +1 -1
- package/docs/TO-DO.md +4 -2
- package/eslint.config.js +17 -1
- package/package.json +23 -22
- package/pnpm-workspace.yaml +32 -4
- package/rollup.config.js +42 -0
- package/src/AbstractJoiningTransformer.js +36 -4
- package/src/DOMJoiningTransformer.js +56 -27
- package/src/JSONJoiningTransformer.js +64 -44
- package/src/JSONPathTransformer.js +86 -85
- package/src/JSONPathTransformerContext.js +139 -45
- package/src/StringJoiningTransformer.js +48 -23
- package/src/XPathTransformer.js +18 -14
- package/src/XPathTransformerContext.js +286 -114
- package/src/index-browser.js +1 -0
- package/src/index-node.js +2 -0
- package/src/index.js +125 -68
- package/test.html +17 -0
- package/test.js +45 -0
- package/tsconfig-prod.json +1 -0
- package/tsconfig.json +3 -2
- package/dist/types.d.ts +0 -204
- package/dist/types.d.ts.map +0 -1
|
@@ -1203,9 +1203,10 @@ const plugin = {
|
|
|
1203
1203
|
// register plugins
|
|
1204
1204
|
jsep.plugins.register(index, plugin);
|
|
1205
1205
|
jsep.addUnaryOp('typeof');
|
|
1206
|
+
jsep.addUnaryOp('void');
|
|
1206
1207
|
jsep.addLiteral('null', null);
|
|
1207
1208
|
jsep.addLiteral('undefined', undefined);
|
|
1208
|
-
const BLOCKED_PROTO_PROPERTIES = new Set(['constructor', '__proto__', '__defineGetter__', '__defineSetter__']);
|
|
1209
|
+
const BLOCKED_PROTO_PROPERTIES = new Set(['constructor', '__proto__', '__defineGetter__', '__defineSetter__', '__lookupGetter__', '__lookupSetter__']);
|
|
1209
1210
|
const SafeEval = {
|
|
1210
1211
|
/**
|
|
1211
1212
|
* @param {jsep.Expression} ast
|
|
@@ -1324,7 +1325,9 @@ const SafeEval = {
|
|
|
1324
1325
|
'~': a => ~SafeEval.evalAst(a, subs),
|
|
1325
1326
|
// eslint-disable-next-line no-implicit-coercion -- API
|
|
1326
1327
|
'+': a => +SafeEval.evalAst(a, subs),
|
|
1327
|
-
typeof: a => typeof SafeEval.evalAst(a, subs)
|
|
1328
|
+
typeof: a => typeof SafeEval.evalAst(a, subs),
|
|
1329
|
+
// eslint-disable-next-line no-void, sonarjs/void-use -- feature
|
|
1330
|
+
void: a => void SafeEval.evalAst(a, subs)
|
|
1328
1331
|
}[ast.operator](ast.argument);
|
|
1329
1332
|
return result;
|
|
1330
1333
|
},
|
|
@@ -1334,9 +1337,12 @@ const SafeEval = {
|
|
|
1334
1337
|
evalCallExpression(ast, subs) {
|
|
1335
1338
|
const args = ast.arguments.map(arg => SafeEval.evalAst(arg, subs));
|
|
1336
1339
|
const func = SafeEval.evalAst(ast.callee, subs);
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
+
/* c8 ignore start */
|
|
1341
|
+
if (func === Function) {
|
|
1342
|
+
// unreachable since BLOCKED_PROTO_PROPERTIES includes 'constructor'
|
|
1343
|
+
throw new Error('Function constructor is disabled');
|
|
1344
|
+
}
|
|
1345
|
+
/* c8 ignore end */
|
|
1340
1346
|
return func(...args);
|
|
1341
1347
|
},
|
|
1342
1348
|
evalAssignmentExpression(ast, subs) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export default AbstractJoiningTransformer;
|
|
2
1
|
export type OutputCharacters = {
|
|
3
2
|
character: string;
|
|
4
3
|
string: string;
|
|
@@ -8,28 +7,20 @@ export type BaseTransformerConfig = {
|
|
|
8
7
|
JHTMLForJSON?: boolean;
|
|
9
8
|
mode?: "JSON" | "JavaScript";
|
|
10
9
|
};
|
|
11
|
-
/**
|
|
12
|
-
* When exposeDocuments is true, get() returns an array of XMLDocument
|
|
13
|
-
* objects (one per root element) instead of a DocumentFragment.
|
|
14
|
-
*/
|
|
15
10
|
export type DOMJoiningTransformerConfig = BaseTransformerConfig & {
|
|
16
11
|
document: Document;
|
|
17
12
|
exposeDocuments?: boolean;
|
|
18
13
|
};
|
|
19
14
|
export type JSONJoiningTransformerConfig = {
|
|
20
|
-
requireSameChildren?: boolean
|
|
21
|
-
unwrapSingleResult?: boolean
|
|
15
|
+
requireSameChildren?: boolean;
|
|
16
|
+
unwrapSingleResult?: boolean;
|
|
22
17
|
/**
|
|
23
18
|
* - When true, get() returns an array
|
|
24
19
|
* of document wrapper objects (one per root element) instead of the raw array.
|
|
25
20
|
*/
|
|
26
|
-
exposeDocuments?: boolean
|
|
27
|
-
mode?: "JSON" | "JavaScript"
|
|
21
|
+
exposeDocuments?: boolean;
|
|
22
|
+
mode?: "JSON" | "JavaScript";
|
|
28
23
|
};
|
|
29
|
-
/**
|
|
30
|
-
* When exposeDocuments is true, get() returns an array of document
|
|
31
|
-
* strings (one per root element) instead of a single concatenated string.
|
|
32
|
-
*/
|
|
33
24
|
export type StringJoiningTransformerConfig = BaseTransformerConfig & {
|
|
34
25
|
xmlElements?: boolean;
|
|
35
26
|
preEscapedAttributes?: boolean;
|
|
@@ -95,10 +86,6 @@ export type JoiningTransformerConfig<T> = T extends "string" ? StringJoiningTran
|
|
|
95
86
|
* @template T
|
|
96
87
|
*/
|
|
97
88
|
declare class AbstractJoiningTransformer<T> {
|
|
98
|
-
/**
|
|
99
|
-
* @param {JoiningTransformerConfig<T>} [cfg] - Configuration object
|
|
100
|
-
*/
|
|
101
|
-
constructor(cfg?: JoiningTransformerConfig<T>);
|
|
102
89
|
_cfg: JoiningTransformerConfig<T>;
|
|
103
90
|
/** @type {Record<string, OutputCharacters>} */
|
|
104
91
|
_characterMap: Record<string, OutputCharacters>;
|
|
@@ -152,7 +139,8 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
152
139
|
* @type {Map<string, {
|
|
153
140
|
* name: string,
|
|
154
141
|
* params: Array<{name: string, as?: string}>,
|
|
155
|
-
* body
|
|
142
|
+
* body?: (...args: any[]) => any,
|
|
143
|
+
* sequence?: string,
|
|
156
144
|
* returnType?: string
|
|
157
145
|
* }>}
|
|
158
146
|
*/
|
|
@@ -162,9 +150,16 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
162
150
|
name: string;
|
|
163
151
|
as?: string;
|
|
164
152
|
}>;
|
|
165
|
-
body
|
|
153
|
+
body?: (...args: any[]) => any;
|
|
154
|
+
sequence?: string;
|
|
166
155
|
returnType?: string;
|
|
167
156
|
}>;
|
|
157
|
+
_outputConfig: import("./StringJoiningTransformer.js").OutputConfig | undefined;
|
|
158
|
+
mediaType: string | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* @param {JoiningTransformerConfig<T>} [cfg] - Configuration object
|
|
161
|
+
*/
|
|
162
|
+
constructor(cfg?: JoiningTransformerConfig<T>);
|
|
168
163
|
/**
|
|
169
164
|
* @param {JoiningTransformerConfig<T>} cfg - Configuration object
|
|
170
165
|
* @returns {void}
|
|
@@ -174,9 +169,7 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
174
169
|
* @param {import('./StringJoiningTransformer.js').OutputConfig} cfg
|
|
175
170
|
* @returns {this}
|
|
176
171
|
*/
|
|
177
|
-
output(cfg: import(
|
|
178
|
-
_outputConfig: import("./StringJoiningTransformer.js").OutputConfig | undefined;
|
|
179
|
-
mediaType: string | undefined;
|
|
172
|
+
output(cfg: import('./StringJoiningTransformer.js').OutputConfig): this;
|
|
180
173
|
/**
|
|
181
174
|
* Configure mode behavior (similar to xsl:mode).
|
|
182
175
|
* @param {{
|
|
@@ -223,7 +216,8 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
223
216
|
* name: string,
|
|
224
217
|
* params?: Array<{name: string, as?: string}>,
|
|
225
218
|
* as?: string,
|
|
226
|
-
* body
|
|
219
|
+
* body?: (...args: any[]) => any,
|
|
220
|
+
* sequence?: string
|
|
227
221
|
* }} cfg - Function configuration
|
|
228
222
|
* @returns {this}
|
|
229
223
|
*/
|
|
@@ -234,7 +228,8 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
234
228
|
as?: string;
|
|
235
229
|
}>;
|
|
236
230
|
as?: string;
|
|
237
|
-
body
|
|
231
|
+
body?: (...args: any[]) => any;
|
|
232
|
+
sequence?: string;
|
|
238
233
|
}): this;
|
|
239
234
|
/**
|
|
240
235
|
* Invoke a registered stylesheet function with positional arguments.
|
|
@@ -309,4 +304,5 @@ declare class AbstractJoiningTransformer<T> {
|
|
|
309
304
|
*/
|
|
310
305
|
config(prop: string, val: any, cb?: (this: AbstractJoiningTransformer<T>) => void): void;
|
|
311
306
|
}
|
|
307
|
+
export default AbstractJoiningTransformer;
|
|
312
308
|
//# sourceMappingURL=AbstractJoiningTransformer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/AbstractJoiningTransformer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractJoiningTransformer.d.ts","sourceRoot":"","sources":["../src/AbstractJoiningTransformer.js"],"names":[],"mappings":"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"}
|