@pdfme/common 5.3.8-dev.3 → 5.3.8-dev.36

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 (52) hide show
  1. package/dist/cjs/__tests__/dynamicTemplate.test.js +9 -9
  2. package/dist/cjs/__tests__/dynamicTemplate.test.js.map +1 -1
  3. package/dist/cjs/__tests__/expression.test.js +45 -45
  4. package/dist/cjs/__tests__/expression.test.js.map +1 -1
  5. package/dist/cjs/__tests__/helper.test.js +46 -47
  6. package/dist/cjs/__tests__/helper.test.js.map +1 -1
  7. package/dist/cjs/src/dynamicTemplate.js +4 -4
  8. package/dist/cjs/src/dynamicTemplate.js.map +1 -1
  9. package/dist/cjs/src/index.js +34 -34
  10. package/dist/cjs/src/index.js.map +1 -1
  11. package/dist/esm/__tests__/dynamicTemplate.test.js +1 -1
  12. package/dist/esm/__tests__/dynamicTemplate.test.js.map +1 -1
  13. package/dist/esm/__tests__/expression.test.js +1 -1
  14. package/dist/esm/__tests__/expression.test.js.map +1 -1
  15. package/dist/esm/__tests__/helper.test.js +2 -3
  16. package/dist/esm/__tests__/helper.test.js.map +1 -1
  17. package/dist/esm/src/dynamicTemplate.js +1 -1
  18. package/dist/esm/src/dynamicTemplate.js.map +1 -1
  19. package/dist/esm/src/index.js +5 -5
  20. package/dist/esm/src/index.js.map +1 -1
  21. package/dist/node/__tests__/dynamicTemplate.test.js +13 -38
  22. package/dist/node/__tests__/dynamicTemplate.test.js.map +1 -1
  23. package/dist/node/__tests__/expression.test.js +45 -47
  24. package/dist/node/__tests__/expression.test.js.map +1 -1
  25. package/dist/node/__tests__/helper.test.js +50 -76
  26. package/dist/node/__tests__/helper.test.js.map +1 -1
  27. package/dist/node/src/constants.js +7 -10
  28. package/dist/node/src/constants.js.map +1 -1
  29. package/dist/node/src/dynamicTemplate.js +5 -9
  30. package/dist/node/src/dynamicTemplate.js.map +1 -1
  31. package/dist/node/src/expression.js +2 -29
  32. package/dist/node/src/expression.js.map +1 -1
  33. package/dist/node/src/helper.js +42 -66
  34. package/dist/node/src/helper.js.map +1 -1
  35. package/dist/node/src/index.js +6 -37
  36. package/dist/node/src/index.js.map +1 -1
  37. package/dist/node/src/schema.js +145 -148
  38. package/dist/node/src/schema.js.map +1 -1
  39. package/dist/node/src/types.js +1 -2
  40. package/dist/node/src/version.js +1 -4
  41. package/dist/node/src/version.js.map +1 -1
  42. package/dist/types/src/dynamicTemplate.d.ts +1 -1
  43. package/dist/types/src/expression.d.ts +1 -1
  44. package/dist/types/src/helper.d.ts +1 -1
  45. package/dist/types/src/index.d.ts +6 -6
  46. package/package.json +2 -1
  47. package/set-version.js +9 -4
  48. package/src/dynamicTemplate.ts +2 -2
  49. package/src/expression.ts +1 -1
  50. package/src/helper.ts +1 -1
  51. package/src/index.ts +6 -6
  52. package/tsconfig.esm.json +2 -1
@@ -1,26 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const expression_1 = require("../src/expression");
1
+ import { replacePlaceholders } from '../src/expression.js';
4
2
  describe('replacePlaceholders', () => {
5
3
  it('should return content as is if there are no placeholders', () => {
6
4
  const content = 'Hello, world!';
7
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
5
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
8
6
  expect(result).toBe(content);
9
7
  });
10
8
  it('should replace placeholders with variables', () => {
11
9
  const content = 'Hello, {name}!';
12
10
  const variables = { name: 'Alice' };
13
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas: [] });
11
+ const result = replacePlaceholders({ content, variables, schemas: [] });
14
12
  expect(result).toBe('Hello, Alice!');
15
13
  });
16
14
  it('should evaluate expressions within placeholders', () => {
17
15
  const content = 'The sum is {1 + 2}.';
18
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
16
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
19
17
  expect(result).toBe('The sum is 3.');
20
18
  });
21
19
  it('should handle date and dateTime placeholders', () => {
22
20
  const content = 'Today is {date} and now is {dateTime}.';
23
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
21
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
24
22
  const date = new Date();
25
23
  const padZero = (num) => String(num).padStart(2, '0');
26
24
  const formattedDate = `${date.getFullYear()}/${padZero(date.getMonth() + 1)}/${padZero(date.getDate())}`;
@@ -40,7 +38,7 @@ describe('replacePlaceholders', () => {
40
38
  },
41
39
  ],
42
40
  ];
43
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas });
41
+ const result = replacePlaceholders({ content, variables, schemas });
44
42
  expect(result).toBe('Schema content: SchemaName');
45
43
  });
46
44
  it('should prioritize variables over schemas', () => {
@@ -56,7 +54,7 @@ describe('replacePlaceholders', () => {
56
54
  },
57
55
  ],
58
56
  ];
59
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas });
57
+ const result = replacePlaceholders({ content, variables, schemas });
60
58
  expect(result).toBe('Name: VariableName');
61
59
  });
62
60
  it('should handle nested placeholders in variables', () => {
@@ -72,28 +70,28 @@ describe('replacePlaceholders', () => {
72
70
  },
73
71
  ],
74
72
  ];
75
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas });
73
+ const result = replacePlaceholders({ content, variables, schemas });
76
74
  expect(result).toBe('Nested variable: Hello, Bob!');
77
75
  });
78
76
  it('should return content unchanged when placeholders are invalid', () => {
79
77
  const content = 'Invalid placeholder: {name';
80
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
78
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
81
79
  expect(result).toBe('Invalid placeholder: {name');
82
80
  });
83
81
  it('should evaluate expressions even if they result in Infinity', () => {
84
82
  const content = 'Divide by zero: {1 / 0}';
85
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
83
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
86
84
  expect(result).toBe('Divide by zero: Infinity');
87
85
  });
88
86
  it('should handle complex expressions', () => {
89
87
  const content = 'Result: {Math.max(1, 2, 3)}';
90
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
88
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
91
89
  expect(result).toBe('Result: 3');
92
90
  });
93
91
  it('should parse JSON strings in variables', () => {
94
92
  const content = 'Data: {data.value}';
95
93
  const variables = { data: '{"value": "42"}' };
96
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas: [] });
94
+ const result = replacePlaceholders({ content, variables, schemas: [] });
97
95
  expect(result).toBe('Data: 42');
98
96
  });
99
97
  it('should handle variables of different types', () => {
@@ -104,7 +102,7 @@ describe('replacePlaceholders', () => {
104
102
  arr: ['first', 'second'],
105
103
  obj: { key: 'value' },
106
104
  };
107
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas: [] });
105
+ const result = replacePlaceholders({ content, variables, schemas: [] });
108
106
  expect(result).toBe('Number: 42, Boolean: true, Array: first, Object: value');
109
107
  });
110
108
  it('should use content from readOnly schemas', () => {
@@ -120,7 +118,7 @@ describe('replacePlaceholders', () => {
120
118
  },
121
119
  ],
122
120
  ];
123
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas });
121
+ const result = replacePlaceholders({ content, variables, schemas });
124
122
  expect(result).toBe('Content: ReadOnlyContent');
125
123
  });
126
124
  it('should use empty string for non-readOnly schema content', () => {
@@ -136,12 +134,12 @@ describe('replacePlaceholders', () => {
136
134
  },
137
135
  ],
138
136
  ];
139
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas });
137
+ const result = replacePlaceholders({ content, variables, schemas });
140
138
  expect(result).toBe('Content: ');
141
139
  });
142
140
  it('should allow method chaining on permitted global objects', () => {
143
141
  const content = 'Chained: {Math.random().toString()}';
144
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
142
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
145
143
  // Math.random() generates a random number, which is then converted to a string using toString()
146
144
  const regex = /^Chained: \d+\.\d+$/;
147
145
  expect(regex.test(result)).toBe(true);
@@ -150,86 +148,86 @@ describe('replacePlaceholders', () => {
150
148
  describe('replacePlaceholders - Security Tests', () => {
151
149
  it('should prevent access to __proto__ property', () => {
152
150
  const content = 'Proto: {__proto__}';
153
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
151
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
154
152
  // Since __proto__ access is prohibited, the placeholder should remain unchanged
155
153
  expect(result).toBe('Proto: {__proto__}');
156
154
  });
157
155
  it('should prevent access to constructor property', () => {
158
156
  const content = 'Constructor: {constructor}';
159
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
157
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
160
158
  // 'constructor' is allowed if defined in context or globals; assuming it's not, placeholder remains
161
159
  expect(result).toBe('Constructor: {constructor}');
162
160
  });
163
161
  it('should prevent access to prototype property', () => {
164
162
  const content = 'Prototype: {prototype}';
165
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
163
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
166
164
  // 'prototype' access is prohibited
167
165
  expect(result).toBe('Prototype: {prototype}');
168
166
  });
169
167
  it('should prevent access to nested prohibited properties', () => {
170
168
  const content = 'Nested: {user.__proto__.polluted}';
171
169
  const variables = { user: {} };
172
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas: [] });
170
+ const result = replacePlaceholders({ content, variables, schemas: [] });
173
171
  // Access to '__proto__' is prohibited; placeholder remains unchanged
174
172
  expect(result).toBe('Nested: {user.__proto__.polluted}');
175
173
  });
176
174
  it('should prevent use of Function constructor', () => {
177
175
  const content = 'Function: {Function("return 42")()}';
178
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
176
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
179
177
  // Use of Function constructor is not allowed; placeholder remains unchanged
180
178
  expect(result).toBe('Function: {Function("return 42")()}');
181
179
  });
182
180
  it('should prevent access to disallowed global variables', () => {
183
181
  const content = 'Process: {process.env}';
184
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
182
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
185
183
  // 'process' is not in allowedGlobals; placeholder remains unchanged
186
184
  expect(result).toBe('Process: {process.env}');
187
185
  });
188
186
  it('should prevent prototype pollution via JSON.parse', () => {
189
187
  const content = 'Polluted: {JSON.parse(\'{"__proto__":{"polluted":true}}\').polluted}';
190
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
188
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
191
189
  // Even if 'polluted' is accessed, the prototype is not polluted, so undefined is returned.
192
190
  expect(result).toBe('Polluted: undefined');
193
191
  });
194
192
  it('should prevent accessing nested prohibited properties in functions', () => {
195
193
  const content = 'Access: {( () => { return this.constructor } )()}';
196
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
194
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
197
195
  // Attempting to access 'constructor' via 'this' should be prohibited; placeholder remains unchanged
198
196
  expect(result).toBe('Access: {( () => { return this.constructor } )()}');
199
197
  });
200
198
  it('should prevent accessing global objects not in allowedGlobals', () => {
201
199
  const content = 'Global: {global}';
202
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
200
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
203
201
  // 'global' is not in allowedGlobals; placeholder remains unchanged
204
202
  expect(result).toBe('Global: {global}');
205
203
  });
206
204
  it('should prevent accessing Object constructor via allowed globals', () => {
207
205
  const content = 'ObjectConstructor: {Object.constructor}';
208
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
206
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
209
207
  // Accessing 'constructor' of 'Object' is prohibited
210
208
  expect(result).toBe('ObjectConstructor: {Object.constructor}');
211
209
  });
212
210
  it('should prevent accessing Function from allowed globals', () => {
213
211
  const content = 'FunctionAccess: {Function("return 42")()}';
214
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
212
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
215
213
  // 'Function' is not in allowedGlobals, so this should fail
216
214
  expect(result).toBe('FunctionAccess: {Function("return 42")()}');
217
215
  });
218
216
  it('should prevent accessing nested properties via allowed globals', () => {
219
217
  const content = 'NestedAccess: {Math.__proto__.polluted}';
220
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
218
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
221
219
  // Accessing '__proto__' of allowed global 'Math' is prohibited
222
220
  expect(result).toBe('NestedAccess: {Math.__proto__.polluted}');
223
221
  });
224
222
  it('should prevent execution of arbitrary code via ternary operator', () => {
225
223
  const content = 'ArbitraryCode: {true ? (() => { return "Hacked" })() : "Safe"}';
226
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
224
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
227
225
  // Execution of arbitrary functions is not allowed; placeholder remains unchanged
228
226
  expect(result).toBe('ArbitraryCode: {true ? (() => { return "Hacked" })() : "Safe"}');
229
227
  });
230
228
  it('should handle attempts to override context variables', () => {
231
229
  const content = 'Override: {date = "Hacked"} {date}';
232
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
230
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
233
231
  // Assignment operations are not supported; placeholders remain unchanged
234
232
  const date = new Date();
235
233
  const padZero = (num) => String(num).padStart(2, '0');
@@ -238,32 +236,32 @@ describe('replacePlaceholders - Security Tests', () => {
238
236
  });
239
237
  it('should prevent using eval-like expressions', () => {
240
238
  const content = 'Eval: {eval("2 + 2")';
241
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
239
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
242
240
  // 'eval' is not in allowedGlobals; placeholder remains unchanged
243
241
  expect(result).toBe('Eval: {eval("2 + 2")');
244
242
  });
245
243
  it('should prevent accessing undefined variables', () => {
246
244
  const content = 'Undefined: {undefinedVar}';
247
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
245
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
248
246
  // 'undefinedVar' is not defined; placeholder remains unchanged
249
247
  expect(result).toBe('Undefined: {undefinedVar}');
250
248
  });
251
249
  it('should prevent accessing nested properties of undefined variables', () => {
252
250
  const content = 'NestedUndefined: {user.name}';
253
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
251
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
254
252
  // 'user' is undefined; accessing 'name' should fail and placeholder remains unchanged
255
253
  expect(result).toBe('NestedUndefined: {user.name}');
256
254
  });
257
255
  it('should prevent accessing nested prohibited properties in objects', () => {
258
256
  const content = 'Nested: {user.__proto__.polluted}';
259
257
  const variables = { user: {} };
260
- const result = (0, expression_1.replacePlaceholders)({ content, variables, schemas: [] });
258
+ const result = replacePlaceholders({ content, variables, schemas: [] });
261
259
  // Since access to '__proto__' is prohibited, the placeholder remains unchanged.
262
260
  expect(result).toBe('Nested: {user.__proto__.polluted}');
263
261
  });
264
262
  it('should prevent using Function constructor', () => {
265
263
  const content = 'Function: {Function("return 42")()}';
266
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
264
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
267
265
  // Since 'Function' is not included in allowedGlobals, the placeholder remains unchanged.
268
266
  expect(result).toBe('Function: {Function("return 42")()}');
269
267
  });
@@ -271,52 +269,52 @@ describe('replacePlaceholders - Security Tests', () => {
271
269
  describe('replacePlaceholders - Comparison Operators Tests', () => {
272
270
  it('should evaluate expressions with == operator', () => {
273
271
  const content = 'Equals: {1 == 1}';
274
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
272
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
275
273
  expect(result).toBe('Equals: true');
276
274
  });
277
275
  it('should evaluate expressions with != operator', () => {
278
276
  const content = 'NotEquals: {1 != 2}';
279
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
277
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
280
278
  expect(result).toBe('NotEquals: true');
281
279
  });
282
280
  it('should evaluate expressions with === operator', () => {
283
281
  const content = 'StrictEquals: {1 === 1}';
284
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
282
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
285
283
  expect(result).toBe('StrictEquals: true');
286
284
  });
287
285
  it('should evaluate expressions with !== operator', () => {
288
286
  const content = 'StrictNotEquals: {1 !== "1"}';
289
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
287
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
290
288
  expect(result).toBe('StrictNotEquals: true');
291
289
  });
292
290
  it('should evaluate expressions with < operator', () => {
293
291
  const content = 'LessThan: {1 < 2}';
294
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
292
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
295
293
  expect(result).toBe('LessThan: true');
296
294
  });
297
295
  it('should evaluate expressions with > operator', () => {
298
296
  const content = 'GreaterThan: {2 > 1}';
299
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
297
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
300
298
  expect(result).toBe('GreaterThan: true');
301
299
  });
302
300
  it('should evaluate expressions with <= operator', () => {
303
301
  const content = 'LessThanOrEquals: {1 <= 1}';
304
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
302
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
305
303
  expect(result).toBe('LessThanOrEquals: true');
306
304
  });
307
305
  it('should evaluate expressions with >= operator', () => {
308
306
  const content = 'GreaterThanOrEquals: {2 >= 1}';
309
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
307
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
310
308
  expect(result).toBe('GreaterThanOrEquals: true');
311
309
  });
312
310
  it('should handle complex expressions with comparison operators', () => {
313
311
  const content = 'Complex: {1 + 2 > 2 && 4 - 1 < 5}';
314
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
312
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
315
313
  expect(result).toBe('Complex: true');
316
314
  });
317
315
  it('should prevent execution of arbitrary code via comparison operators', () => {
318
316
  const content = 'ArbitraryCode: {1 < (() => { return "Hacked" })()}';
319
- const result = (0, expression_1.replacePlaceholders)({ content, variables: {}, schemas: [] });
317
+ const result = replacePlaceholders({ content, variables: {}, schemas: [] });
320
318
  // Execution of arbitrary functions is not allowed; placeholder remains unchanged
321
319
  expect(result).toBe('ArbitraryCode: {1 < (() => { return "Hacked" })()}');
322
320
  });
@@ -1 +1 @@
1
- {"version":3,"file":"expression.test.js","sourceRoot":"","sources":["../../../__tests__/expression.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.test.js","sourceRoot":"","sources":["../../../__tests__/expression.test.ts"],"names":[],"mappings":"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"}