@pdfme/common 0.0.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 (108) hide show
  1. package/README.md +5 -0
  2. package/dist/cjs/__tests__/dynamicTemplate.test.js +275 -0
  3. package/dist/cjs/__tests__/dynamicTemplate.test.js.map +1 -0
  4. package/dist/cjs/__tests__/expression.test.js +474 -0
  5. package/dist/cjs/__tests__/expression.test.js.map +1 -0
  6. package/dist/cjs/__tests__/helper.test.js +647 -0
  7. package/dist/cjs/__tests__/helper.test.js.map +1 -0
  8. package/dist/cjs/__tests__/pluginRegistry.test.js +83 -0
  9. package/dist/cjs/__tests__/pluginRegistry.test.js.map +1 -0
  10. package/dist/cjs/src/constants.js +27 -0
  11. package/dist/cjs/src/constants.js.map +1 -0
  12. package/dist/cjs/src/dynamicTemplate.js +284 -0
  13. package/dist/cjs/src/dynamicTemplate.js.map +1 -0
  14. package/dist/cjs/src/expression.js +463 -0
  15. package/dist/cjs/src/expression.js.map +1 -0
  16. package/dist/cjs/src/helper.js +217 -0
  17. package/dist/cjs/src/helper.js.map +1 -0
  18. package/dist/cjs/src/index.js +42 -0
  19. package/dist/cjs/src/index.js.map +1 -0
  20. package/dist/cjs/src/pluginRegistry.js +33 -0
  21. package/dist/cjs/src/pluginRegistry.js.map +1 -0
  22. package/dist/cjs/src/schema.js +190 -0
  23. package/dist/cjs/src/schema.js.map +1 -0
  24. package/dist/cjs/src/types.js +3 -0
  25. package/dist/cjs/src/types.js.map +1 -0
  26. package/dist/cjs/src/version.js +5 -0
  27. package/dist/cjs/src/version.js.map +1 -0
  28. package/dist/esm/__tests__/dynamicTemplate.test.js +240 -0
  29. package/dist/esm/__tests__/dynamicTemplate.test.js.map +1 -0
  30. package/dist/esm/__tests__/expression.test.js +472 -0
  31. package/dist/esm/__tests__/expression.test.js.map +1 -0
  32. package/dist/esm/__tests__/helper.test.js +612 -0
  33. package/dist/esm/__tests__/helper.test.js.map +1 -0
  34. package/dist/esm/__tests__/pluginRegistry.test.js +81 -0
  35. package/dist/esm/__tests__/pluginRegistry.test.js.map +1 -0
  36. package/dist/esm/src/constants.js +24 -0
  37. package/dist/esm/src/constants.js.map +1 -0
  38. package/dist/esm/src/dynamicTemplate.js +280 -0
  39. package/dist/esm/src/dynamicTemplate.js.map +1 -0
  40. package/dist/esm/src/expression.js +426 -0
  41. package/dist/esm/src/expression.js.map +1 -0
  42. package/dist/esm/src/helper.js +193 -0
  43. package/dist/esm/src/helper.js.map +1 -0
  44. package/dist/esm/src/index.js +8 -0
  45. package/dist/esm/src/index.js.map +1 -0
  46. package/dist/esm/src/pluginRegistry.js +29 -0
  47. package/dist/esm/src/pluginRegistry.js.map +1 -0
  48. package/dist/esm/src/schema.js +187 -0
  49. package/dist/esm/src/schema.js.map +1 -0
  50. package/dist/esm/src/types.js +2 -0
  51. package/dist/esm/src/types.js.map +1 -0
  52. package/dist/esm/src/version.js +2 -0
  53. package/dist/esm/src/version.js.map +1 -0
  54. package/dist/node/__tests__/dynamicTemplate.test.js +275 -0
  55. package/dist/node/__tests__/dynamicTemplate.test.js.map +1 -0
  56. package/dist/node/__tests__/expression.test.js +474 -0
  57. package/dist/node/__tests__/expression.test.js.map +1 -0
  58. package/dist/node/__tests__/helper.test.js +647 -0
  59. package/dist/node/__tests__/helper.test.js.map +1 -0
  60. package/dist/node/__tests__/pluginRegistry.test.js +83 -0
  61. package/dist/node/__tests__/pluginRegistry.test.js.map +1 -0
  62. package/dist/node/src/constants.js +27 -0
  63. package/dist/node/src/constants.js.map +1 -0
  64. package/dist/node/src/dynamicTemplate.js +284 -0
  65. package/dist/node/src/dynamicTemplate.js.map +1 -0
  66. package/dist/node/src/expression.js +463 -0
  67. package/dist/node/src/expression.js.map +1 -0
  68. package/dist/node/src/helper.js +217 -0
  69. package/dist/node/src/helper.js.map +1 -0
  70. package/dist/node/src/index.js +42 -0
  71. package/dist/node/src/index.js.map +1 -0
  72. package/dist/node/src/pluginRegistry.js +33 -0
  73. package/dist/node/src/pluginRegistry.js.map +1 -0
  74. package/dist/node/src/schema.js +190 -0
  75. package/dist/node/src/schema.js.map +1 -0
  76. package/dist/node/src/types.js +3 -0
  77. package/dist/node/src/types.js.map +1 -0
  78. package/dist/node/src/version.js +5 -0
  79. package/dist/node/src/version.js.map +1 -0
  80. package/dist/types/__tests__/dynamicTemplate.test.d.ts +1 -0
  81. package/dist/types/__tests__/expression.test.d.ts +1 -0
  82. package/dist/types/__tests__/helper.test.d.ts +1 -0
  83. package/dist/types/__tests__/pluginRegistry.test.d.ts +1 -0
  84. package/dist/types/src/constants.d.ts +20 -0
  85. package/dist/types/src/dynamicTemplate.d.ts +15 -0
  86. package/dist/types/src/expression.d.ts +6 -0
  87. package/dist/types/src/helper.d.ts +35 -0
  88. package/dist/types/src/index.d.ts +9 -0
  89. package/dist/types/src/pluginRegistry.d.ts +5 -0
  90. package/dist/types/src/schema.d.ts +820 -0
  91. package/dist/types/src/types.d.ts +181 -0
  92. package/dist/types/src/version.d.ts +1 -0
  93. package/eslint.config.mjs +22 -0
  94. package/package.json +84 -0
  95. package/set-version.js +31 -0
  96. package/src/constants.ts +30 -0
  97. package/src/dynamicTemplate.ts +349 -0
  98. package/src/expression.ts +460 -0
  99. package/src/helper.ts +284 -0
  100. package/src/index.ts +136 -0
  101. package/src/pluginRegistry.ts +30 -0
  102. package/src/schema.ts +223 -0
  103. package/src/types.ts +198 -0
  104. package/src/version.ts +1 -0
  105. package/tsconfig.cjs.json +10 -0
  106. package/tsconfig.esm.json +11 -0
  107. package/tsconfig.json +6 -0
  108. package/tsconfig.node.json +11 -0
@@ -0,0 +1,647 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const fs_1 = require("fs");
37
+ const path = __importStar(require("path"));
38
+ const helper_js_1 = require("../src/helper.js");
39
+ const index_js_1 = require("../src/index.js");
40
+ const sansData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/NotoSans-Regular.ttf`));
41
+ const serifData = (0, fs_1.readFileSync)(path.join(__dirname, `/assets/fonts/NotoSerif-Regular.ttf`));
42
+ const getSampleFont = () => ({
43
+ NotoSans: { fallback: true, data: sansData },
44
+ NotoSerif: { data: serifData },
45
+ });
46
+ const getTemplate = () => ({
47
+ basePdf: index_js_1.BLANK_PDF,
48
+ schemas: [
49
+ [
50
+ {
51
+ name: 'a',
52
+ content: 'a',
53
+ type: 'text',
54
+ fontName: 'NotoSans',
55
+ position: { x: 0, y: 0 },
56
+ width: 100,
57
+ height: 100,
58
+ },
59
+ {
60
+ name: 'b',
61
+ content: 'b',
62
+ type: 'text',
63
+ position: { x: 0, y: 0 },
64
+ width: 100,
65
+ height: 100,
66
+ },
67
+ ],
68
+ ],
69
+ });
70
+ describe('mm2pt test', () => {
71
+ it('converts millimeters to points', () => {
72
+ expect((0, helper_js_1.mm2pt)(1)).toEqual(2.8346);
73
+ expect((0, helper_js_1.mm2pt)(10)).toEqual(28.346);
74
+ expect((0, helper_js_1.mm2pt)(4395.12)).toEqual(12458.407152);
75
+ });
76
+ });
77
+ describe('pt2mm test', () => {
78
+ it('converts points to millimeters', () => {
79
+ expect((0, helper_js_1.pt2mm)(1)).toEqual(0.3528);
80
+ expect((0, helper_js_1.pt2mm)(2.8346)).toEqual(1.00004688); // close enough!
81
+ expect((0, helper_js_1.pt2mm)(10)).toEqual(3.528);
82
+ expect((0, helper_js_1.pt2mm)(5322.98)).toEqual(1877.947344);
83
+ });
84
+ });
85
+ describe('pt2px test', () => {
86
+ it('converts points to pixels', () => {
87
+ expect((0, helper_js_1.pt2px)(1)).toEqual(index_js_1.PT_TO_PX_RATIO);
88
+ expect((0, helper_js_1.pt2px)(1)).toEqual(1.333);
89
+ expect((0, helper_js_1.pt2px)(2.8346)).toEqual(3.7785218);
90
+ expect((0, helper_js_1.pt2px)(10)).toEqual(13.33);
91
+ expect((0, helper_js_1.pt2px)(5322.98)).toEqual(7095.532339999999);
92
+ });
93
+ });
94
+ describe('isHexValid test', () => {
95
+ test('valid hex', () => {
96
+ expect((0, helper_js_1.isHexValid)('#fff')).toEqual(true);
97
+ expect((0, helper_js_1.isHexValid)('#ffffff')).toEqual(true);
98
+ expect((0, helper_js_1.isHexValid)('#ffffff00')).toEqual(true);
99
+ expect((0, helper_js_1.isHexValid)('#ffffff00')).toEqual(true);
100
+ });
101
+ test('invalid hex', () => {
102
+ expect((0, helper_js_1.isHexValid)('#ff')).toEqual(false);
103
+ expect((0, helper_js_1.isHexValid)('#fffff')).toEqual(false);
104
+ expect((0, helper_js_1.isHexValid)('#ffffff000')).toEqual(false);
105
+ expect((0, helper_js_1.isHexValid)('#ffffff0000')).toEqual(false);
106
+ expect((0, helper_js_1.isHexValid)('#ffffff00000')).toEqual(false);
107
+ expect((0, helper_js_1.isHexValid)('#ffffff000000')).toEqual(false);
108
+ expect((0, helper_js_1.isHexValid)('#pdfme123')).toEqual(false);
109
+ });
110
+ });
111
+ // NOTE: We only test the generator check function because the others
112
+ // have a schema that checks for HTMLElement, which isn't available in the test environment
113
+ describe('checkGenerateProps', () => {
114
+ test('accepts valid generator schema', () => {
115
+ const validProps = {
116
+ inputs: [{ a: 'a', b: 'b' }],
117
+ template: {
118
+ basePdf: 'data:application/pdf;base64,abc123',
119
+ schemas: [
120
+ [
121
+ {
122
+ name: 'field1',
123
+ type: 'text',
124
+ position: { x: 0, y: 0 },
125
+ width: 100,
126
+ height: 100,
127
+ content: 'Test'
128
+ }
129
+ ]
130
+ ]
131
+ },
132
+ options: {
133
+ font: getSampleFont()
134
+ },
135
+ plugins: {
136
+ text: {
137
+ pdf: async () => { },
138
+ ui: async () => { },
139
+ propPanel: {
140
+ schema: {},
141
+ defaultSchema: {
142
+ type: 'text',
143
+ name: 'myText',
144
+ content: '',
145
+ position: { x: 0, y: 0 },
146
+ width: 100,
147
+ height: 100
148
+ }
149
+ }
150
+ }
151
+ }
152
+ };
153
+ expect(() => (0, helper_js_1.checkGenerateProps)(validProps)).not.toThrow();
154
+ });
155
+ test('throws for invalid template structure', () => {
156
+ const invalidProps = {
157
+ template: {
158
+ schemas: 'not-an-array' // Invalid type
159
+ }
160
+ };
161
+ expect(() => (0, helper_js_1.checkGenerateProps)(invalidProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
162
+ "--------------------------\n" +
163
+ "ERROR POSITION: template.schemas\n" +
164
+ "ERROR MESSAGE: Invalid input: expected array, received string\n" +
165
+ "--------------------------\n" +
166
+ "ERROR POSITION: template.basePdf\n" +
167
+ "ERROR MESSAGE: Invalid input\n" +
168
+ "--------------------------\n" +
169
+ "ERROR POSITION: inputs\n" +
170
+ "ERROR MESSAGE: Invalid input: expected array, received undefined\n" +
171
+ "--------------------------");
172
+ });
173
+ test('throws for missing required template field and empty inputs', () => {
174
+ const missingSchemaProps = {
175
+ inputs: [],
176
+ template: {
177
+ basePdf: 'data:application/pdf;base64,abc123',
178
+ // schemas is missing
179
+ }
180
+ };
181
+ expect(() => (0, helper_js_1.checkGenerateProps)(missingSchemaProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
182
+ "--------------------------\n" +
183
+ "ERROR POSITION: template.schemas\n" +
184
+ "ERROR MESSAGE: Invalid input: expected array, received undefined\n" +
185
+ "--------------------------\n" +
186
+ "ERROR POSITION: inputs\n" +
187
+ "ERROR MESSAGE: Too small: expected array to have >=1 items\n" +
188
+ "--------------------------");
189
+ });
190
+ test('throws for invalid plugin definitions', () => {
191
+ const invalidPluginProps = {
192
+ inputs: [{ a: 'a' }],
193
+ template: {
194
+ basePdf: 'data:application/pdf;base64,abc123',
195
+ schemas: [[]]
196
+ },
197
+ plugins: {
198
+ invalid: {
199
+ // missing pdf
200
+ // missing ui
201
+ propPanel: {
202
+ schema: {},
203
+ defaultSchema: {
204
+ // missing type
205
+ name: 'myText',
206
+ content: '',
207
+ position: { x: 0, y: 0 },
208
+ width: 100,
209
+ height: 100
210
+ }
211
+ }
212
+ },
213
+ missingPanel: {
214
+ pdf: async () => { },
215
+ ui: async () => { },
216
+ // missing propPanel
217
+ },
218
+ missingDefaultSchema: {
219
+ pdf: async () => { },
220
+ ui: async () => { },
221
+ propPanel: {}
222
+ }
223
+ }
224
+ };
225
+ expect(() => (0, helper_js_1.checkGenerateProps)(invalidPluginProps)).toThrow("[@pdfme/common] Invalid argument:\n" +
226
+ "--------------------------\n" +
227
+ "ERROR POSITION: plugins.invalid.propPanel.defaultSchema.type\n" +
228
+ "ERROR MESSAGE: Invalid input: expected string, received undefined\n" +
229
+ "--------------------------\n" +
230
+ "ERROR POSITION: plugins.missingPanel.propPanel\n" +
231
+ "ERROR MESSAGE: Invalid input: expected object, received undefined\n" +
232
+ "--------------------------\n" +
233
+ "ERROR POSITION: plugins.missingDefaultSchema.propPanel.defaultSchema\n" +
234
+ "ERROR MESSAGE: Invalid input: expected object, received undefined\n" +
235
+ "--------------------------");
236
+ });
237
+ test('calls checkFont when font option is provided', () => {
238
+ const propsWithFont = {
239
+ inputs: [{ a: 'a' }],
240
+ template: {
241
+ basePdf: 'data:application/pdf;base64,abc123',
242
+ schemas: [[]]
243
+ },
244
+ options: {
245
+ font: { Roboto: { data: new Uint8Array(), fallback: true } }
246
+ }
247
+ };
248
+ (0, helper_js_1.checkGenerateProps)(propsWithFont);
249
+ });
250
+ });
251
+ describe('checkFont test', () => {
252
+ test('success test: no fontName in Schemas', () => {
253
+ const _getTemplate = () => ({
254
+ basePdf: index_js_1.BLANK_PDF,
255
+ schemas: [
256
+ [
257
+ {
258
+ name: 'a',
259
+ content: 'a',
260
+ type: 'text',
261
+ position: { x: 0, y: 0 },
262
+ width: 100,
263
+ height: 100,
264
+ },
265
+ {
266
+ name: 'b',
267
+ content: 'b',
268
+ type: 'text',
269
+ position: { x: 0, y: 0 },
270
+ width: 100,
271
+ height: 100,
272
+ },
273
+ ],
274
+ ],
275
+ });
276
+ try {
277
+ (0, helper_js_1.checkFont)({ template: _getTemplate(), font: getSampleFont() });
278
+ expect.anything();
279
+ }
280
+ catch (e) {
281
+ fail();
282
+ }
283
+ });
284
+ test('success test: fontName in Schemas(fallback font)', () => {
285
+ try {
286
+ (0, helper_js_1.checkFont)({ template: getTemplate(), font: getSampleFont() });
287
+ expect.anything();
288
+ }
289
+ catch (e) {
290
+ fail();
291
+ }
292
+ });
293
+ test('success test: fontName in Schemas(not fallback font)', () => {
294
+ const getFont = () => ({
295
+ NotoSans: { data: sansData },
296
+ NotoSerif: { fallback: true, data: serifData },
297
+ });
298
+ try {
299
+ (0, helper_js_1.checkFont)({ template: getTemplate(), font: getFont() });
300
+ expect.anything();
301
+ }
302
+ catch (e) {
303
+ fail();
304
+ }
305
+ });
306
+ test('fail test: no fallback font', () => {
307
+ const getFont = () => ({
308
+ NotoSans: { data: sansData },
309
+ NotoSerif: { data: serifData },
310
+ });
311
+ try {
312
+ (0, helper_js_1.checkFont)({ template: getTemplate(), font: getFont() });
313
+ fail();
314
+ }
315
+ catch (e) {
316
+ expect(e.message).toEqual(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
317
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
318
+ }
319
+ });
320
+ test('fail test: too many fallback font', () => {
321
+ const getFont = () => ({
322
+ NotoSans: { data: sansData, fallback: true },
323
+ NotoSerif: { data: serifData, fallback: true },
324
+ });
325
+ try {
326
+ (0, helper_js_1.checkFont)({ template: getTemplate(), font: getFont() });
327
+ fail();
328
+ }
329
+ catch (e) {
330
+ expect(e.message).toEqual(`[@pdfme/common] 2 fallback flags found in font. true fallback flag must be only one.
331
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
332
+ }
333
+ });
334
+ test('fail test: fontName in Schemas not found in font(single)', () => {
335
+ const _getTemplate = () => ({
336
+ basePdf: index_js_1.BLANK_PDF,
337
+ schemas: [
338
+ [
339
+ {
340
+ name: 'a',
341
+ type: 'text',
342
+ content: 'a',
343
+ fontName: 'NotoSans2',
344
+ position: { x: 0, y: 0 },
345
+ width: 100,
346
+ height: 100,
347
+ },
348
+ {
349
+ name: 'b',
350
+ type: 'text',
351
+ content: 'b',
352
+ position: { x: 0, y: 0 },
353
+ width: 100,
354
+ height: 100,
355
+ },
356
+ ],
357
+ ],
358
+ });
359
+ try {
360
+ (0, helper_js_1.checkFont)({ template: _getTemplate(), font: getSampleFont() });
361
+ fail();
362
+ }
363
+ catch (e) {
364
+ expect(e.message).toEqual(`[@pdfme/common] NotoSans2 of template.schemas is not found in font.
365
+ Check this document: https://pdfme.com/docs/custom-fonts`);
366
+ }
367
+ });
368
+ test('fail test: fontName in Schemas not found in font(single)', () => {
369
+ const _getTemplate = () => ({
370
+ basePdf: index_js_1.BLANK_PDF,
371
+ schemas: [
372
+ [
373
+ {
374
+ name: 'a',
375
+ type: 'text',
376
+ content: 'a',
377
+ fontName: 'NotoSans2',
378
+ position: { x: 0, y: 0 },
379
+ width: 100,
380
+ height: 100,
381
+ },
382
+ {
383
+ name: 'b',
384
+ type: 'text',
385
+ content: 'b',
386
+ fontName: 'NotoSerif2',
387
+ position: { x: 0, y: 0 },
388
+ width: 100,
389
+ height: 100,
390
+ },
391
+ ],
392
+ ],
393
+ });
394
+ try {
395
+ (0, helper_js_1.checkFont)({ template: _getTemplate(), font: getSampleFont() });
396
+ fail();
397
+ }
398
+ catch (e) {
399
+ expect(e.message).toEqual(`[@pdfme/common] NotoSans2,NotoSerif2 of template.schemas is not found in font.
400
+ Check this document: https://pdfme.com/docs/custom-fonts`);
401
+ }
402
+ });
403
+ });
404
+ describe('checkPlugins test', () => {
405
+ const plugins = {
406
+ myText: {
407
+ pdf: async () => { },
408
+ ui: async () => { },
409
+ propPanel: {
410
+ schema: {},
411
+ defaultSchema: {
412
+ type: 'myText',
413
+ name: 'myText',
414
+ content: '',
415
+ position: { x: 0, y: 0 },
416
+ width: 100,
417
+ height: 100,
418
+ },
419
+ },
420
+ },
421
+ myImage: {
422
+ pdf: async () => { },
423
+ ui: async () => { },
424
+ propPanel: {
425
+ schema: {},
426
+ defaultSchema: {
427
+ type: 'myImage',
428
+ name: 'myImage',
429
+ content: '',
430
+ position: { x: 0, y: 0 },
431
+ width: 100,
432
+ height: 100,
433
+ },
434
+ },
435
+ },
436
+ };
437
+ test('success test: no type in Schemas(no plugins)', () => {
438
+ try {
439
+ const template = getTemplate();
440
+ template.schemas = [];
441
+ (0, helper_js_1.checkPlugins)({ template, plugins: {} });
442
+ expect.anything();
443
+ }
444
+ catch (e) {
445
+ fail();
446
+ }
447
+ });
448
+ test('success test: no type in Schemas(with plugins)', () => {
449
+ try {
450
+ const template = getTemplate();
451
+ template.schemas = [];
452
+ (0, helper_js_1.checkPlugins)({ template, plugins });
453
+ expect.anything();
454
+ }
455
+ catch (e) {
456
+ fail();
457
+ }
458
+ });
459
+ test('success test: type in Schemas(single)', () => {
460
+ try {
461
+ const template = getTemplate();
462
+ template.schemas[0][0].type = 'myText';
463
+ template.schemas[0][1].type = 'myText';
464
+ (0, helper_js_1.checkPlugins)({ template, plugins });
465
+ expect.anything();
466
+ }
467
+ catch (e) {
468
+ fail();
469
+ }
470
+ });
471
+ test('success test: type in Schemas(multiple)', () => {
472
+ try {
473
+ const template = getTemplate();
474
+ template.schemas[0][0].type = 'myText';
475
+ template.schemas[0][1].type = 'myImage';
476
+ (0, helper_js_1.checkPlugins)({ template, plugins });
477
+ expect.anything();
478
+ }
479
+ catch (e) {
480
+ fail();
481
+ }
482
+ });
483
+ test('fail test: type in Schemas not found in plugins(single)', () => {
484
+ try {
485
+ const template = getTemplate();
486
+ template.schemas[0][0].type = 'fail';
487
+ template.schemas[0][1].type = 'myImage';
488
+ (0, helper_js_1.checkPlugins)({ template, plugins });
489
+ fail();
490
+ }
491
+ catch (e) {
492
+ expect(e.message).toEqual(`[@pdfme/common] fail of template.schemas is not found in plugins.`);
493
+ }
494
+ });
495
+ test('fail test: type in Schemas not found in plugins(multiple)', () => {
496
+ try {
497
+ const template = getTemplate();
498
+ template.schemas[0][0].type = 'fail';
499
+ template.schemas[0][1].type = 'fail2';
500
+ (0, helper_js_1.checkPlugins)({ template, plugins });
501
+ fail();
502
+ }
503
+ catch (e) {
504
+ expect(e.message).toEqual(`[@pdfme/common] fail,fail2 of template.schemas is not found in plugins.`);
505
+ }
506
+ });
507
+ });
508
+ describe('migrateTemplate', () => {
509
+ it('should convert LegacySchemaPageArray to SchemaPageArray', () => {
510
+ const legacyTemplate = {
511
+ schemas: [
512
+ {
513
+ field1: {
514
+ type: 'text',
515
+ content: 'Field 1',
516
+ width: 45,
517
+ height: 10,
518
+ position: {
519
+ x: 0,
520
+ y: 0,
521
+ },
522
+ },
523
+ field2: {
524
+ type: 'text',
525
+ content: 'Field 2',
526
+ width: 45,
527
+ height: 10,
528
+ position: {
529
+ x: 0,
530
+ y: 0,
531
+ },
532
+ },
533
+ },
534
+ {
535
+ field3: {
536
+ type: 'text',
537
+ content: 'Field 3',
538
+ width: 45,
539
+ height: 10,
540
+ position: {
541
+ x: 0,
542
+ y: 0,
543
+ },
544
+ },
545
+ },
546
+ ],
547
+ };
548
+ (0, helper_js_1.migrateTemplate)(legacyTemplate);
549
+ const expectedSchemaPageArray = [
550
+ [
551
+ {
552
+ name: 'field1',
553
+ type: 'text',
554
+ content: 'Field 1',
555
+ width: 45,
556
+ height: 10,
557
+ position: {
558
+ x: 0,
559
+ y: 0,
560
+ },
561
+ },
562
+ {
563
+ name: 'field2',
564
+ type: 'text',
565
+ content: 'Field 2',
566
+ width: 45,
567
+ height: 10,
568
+ position: {
569
+ x: 0,
570
+ y: 0,
571
+ },
572
+ },
573
+ ],
574
+ [
575
+ {
576
+ name: 'field3',
577
+ type: 'text',
578
+ content: 'Field 3',
579
+ width: 45,
580
+ height: 10,
581
+ position: {
582
+ x: 0,
583
+ y: 0,
584
+ },
585
+ },
586
+ ],
587
+ ];
588
+ expect(legacyTemplate.schemas).toEqual(expectedSchemaPageArray);
589
+ });
590
+ it('should not modify already SchemaPageArray', () => {
591
+ const pagedTemplate = {
592
+ schemas: [
593
+ [
594
+ {
595
+ name: 'field1',
596
+ type: 'text',
597
+ content: 'Field 1',
598
+ width: 45,
599
+ height: 10,
600
+ position: {
601
+ x: 0,
602
+ y: 0,
603
+ },
604
+ },
605
+ {
606
+ name: 'field2',
607
+ type: 'text',
608
+ content: 'Field 2',
609
+ width: 45,
610
+ height: 10,
611
+ position: {
612
+ x: 0,
613
+ y: 0,
614
+ },
615
+ },
616
+ ],
617
+ [
618
+ {
619
+ name: 'field3',
620
+ type: 'text',
621
+ content: 'Field 3',
622
+ width: 45,
623
+ height: 10,
624
+ position: {
625
+ x: 0,
626
+ y: 0,
627
+ },
628
+ },
629
+ ],
630
+ ],
631
+ };
632
+ const before = JSON.parse(JSON.stringify(pagedTemplate));
633
+ (0, helper_js_1.migrateTemplate)(pagedTemplate);
634
+ expect(pagedTemplate.schemas).toEqual(before.schemas);
635
+ });
636
+ });
637
+ describe('getB64BasePdf', () => {
638
+ test('base64 string', async () => {
639
+ const result = await (0, index_js_1.getB64BasePdf)(index_js_1.BLANK_PDF);
640
+ expect(typeof result).toBe('string');
641
+ });
642
+ test('Uint8Array', async () => {
643
+ const result = await (0, index_js_1.getB64BasePdf)(new Uint8Array([10, 20, 30, 40, 50]));
644
+ expect(typeof result).toBe('string');
645
+ });
646
+ });
647
+ //# sourceMappingURL=helper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"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"}