@pdfme/generator 3.0.1 → 3.1.0-dev.1
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/dist/cjs/__tests__/assets/templates/index.js +23 -46
- package/dist/cjs/__tests__/assets/templates/index.js.map +1 -1
- package/dist/cjs/__tests__/generate.test.js +36 -181
- package/dist/cjs/__tests__/generate.test.js.map +1 -1
- package/dist/cjs/__tests__/integration1.test.js +44 -0
- package/dist/cjs/__tests__/integration1.test.js.map +1 -0
- package/dist/cjs/__tests__/integration2.test.js +44 -0
- package/dist/cjs/__tests__/integration2.test.js.map +1 -0
- package/dist/cjs/__tests__/integration3.test.js +44 -0
- package/dist/cjs/__tests__/integration3.test.js.map +1 -0
- package/dist/cjs/__tests__/utils.js +59 -0
- package/dist/cjs/__tests__/utils.js.map +1 -0
- package/dist/cjs/src/generate.js +14 -24
- package/dist/cjs/src/generate.js.map +1 -1
- package/dist/cjs/src/pdfUtils.js +5 -14
- package/dist/cjs/src/pdfUtils.js.map +1 -1
- package/dist/esm/__tests__/assets/templates/index.js +22 -46
- package/dist/esm/__tests__/assets/templates/index.js.map +1 -1
- package/dist/esm/__tests__/generate.test.js +29 -151
- package/dist/esm/__tests__/generate.test.js.map +1 -1
- package/dist/esm/__tests__/integration1.test.js +39 -0
- package/dist/esm/__tests__/integration1.test.js.map +1 -0
- package/dist/esm/__tests__/integration2.test.js +39 -0
- package/dist/esm/__tests__/integration2.test.js.map +1 -0
- package/dist/esm/__tests__/integration3.test.js +39 -0
- package/dist/esm/__tests__/integration3.test.js.map +1 -0
- package/dist/esm/__tests__/utils.js +29 -0
- package/dist/esm/__tests__/utils.js.map +1 -0
- package/dist/esm/src/generate.js +11 -21
- package/dist/esm/src/generate.js.map +1 -1
- package/dist/esm/src/pdfUtils.js +5 -14
- package/dist/esm/src/pdfUtils.js.map +1 -1
- package/dist/types/__tests__/assets/templates/index.d.ts +29 -83
- package/dist/types/__tests__/integration1.test.d.ts +1 -0
- package/dist/types/__tests__/integration2.test.d.ts +1 -0
- package/dist/types/__tests__/integration3.test.d.ts +1 -0
- package/dist/types/__tests__/utils.d.ts +5 -0
- package/package.json +6 -3
- package/src/generate.ts +2 -2
- package/teardown.js +17 -0
@@ -1,64 +1,8 @@
|
|
1
|
-
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
|
-
import { writeFileSync, readFileSync, readdir, unlink } from 'fs';
|
11
|
-
import * as path from 'path';
|
1
|
+
import { writeFileSync } from 'fs';
|
12
2
|
import generate from '../src/generate';
|
13
|
-
import templateData from './assets/templates';
|
14
3
|
import { BLANK_PDF } from '@pdfme/common';
|
15
|
-
import {
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
17
|
-
const PDFParser = require('pdf2json');
|
18
|
-
const SauceHanSansJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
|
19
|
-
const SauceHanSerifJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
|
20
|
-
const NotoSerifJPRegularData = readFileSync(path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.otf`));
|
21
|
-
const GloriaHallelujahRegularData = readFileSync(path.join(__dirname, `/assets/fonts/GloriaHallelujah-Regular.ttf`));
|
22
|
-
const GreatVibesRegularData = readFileSync(path.join(__dirname, `/assets/fonts/GreatVibes-Regular.ttf`));
|
23
|
-
const JuliusSansOneRegularData = readFileSync(path.join(__dirname, `/assets/fonts/JuliusSansOne-Regular.ttf`));
|
24
|
-
const getFont = () => ({
|
25
|
-
SauceHanSansJP: { fallback: true, data: SauceHanSansJPData },
|
26
|
-
SauceHanSerifJP: { data: SauceHanSerifJPData },
|
27
|
-
'NotoSerifJP-Regular': { data: NotoSerifJPRegularData },
|
28
|
-
'GloriaHallelujah-Regular': { data: GloriaHallelujahRegularData },
|
29
|
-
'GreatVibes-Regular': { data: GreatVibesRegularData },
|
30
|
-
'JuliusSansOne-Regular': { data: JuliusSansOneRegularData },
|
31
|
-
});
|
32
|
-
const getPdf = (pdfFilePath) => {
|
33
|
-
const pdfParser = new PDFParser();
|
34
|
-
return new Promise((resolve, reject) => {
|
35
|
-
pdfParser.on('pdfParser_dataError', reject);
|
36
|
-
pdfParser.on('pdfParser_dataReady', resolve);
|
37
|
-
pdfParser.loadPDF(pdfFilePath);
|
38
|
-
});
|
39
|
-
};
|
40
|
-
const getPdfPath = (dir, fileName) => path.join(__dirname, `assets/pdfs/${dir}/${fileName}`);
|
41
|
-
const getPdfTmpPath = (fileName) => getPdfPath('tmp', fileName);
|
42
|
-
const getPdfAssertPath = (fileName) => getPdfPath('assert', fileName);
|
4
|
+
import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
|
43
5
|
describe('generate integrate test', () => {
|
44
|
-
afterAll(() => {
|
45
|
-
const dir = path.join(__dirname, 'assets/pdfs/tmp');
|
46
|
-
const unLinkFile = (file) => {
|
47
|
-
if (file !== '.gitkeep') {
|
48
|
-
unlink(`${dir}/${file}`, (e) => {
|
49
|
-
if (e) {
|
50
|
-
throw e;
|
51
|
-
}
|
52
|
-
});
|
53
|
-
}
|
54
|
-
};
|
55
|
-
readdir(dir, (err, files) => {
|
56
|
-
if (err) {
|
57
|
-
throw err;
|
58
|
-
}
|
59
|
-
files.forEach(unLinkFile);
|
60
|
-
});
|
61
|
-
});
|
62
6
|
describe('basic generator', () => {
|
63
7
|
const textObject = (x, y) => ({
|
64
8
|
type: 'text',
|
@@ -111,51 +55,19 @@ describe('generate integrate test', () => {
|
|
111
55
|
for (let i = 0; i < testCases.length; i += 1) {
|
112
56
|
const { template, inputs, testName } = testCases[i];
|
113
57
|
// eslint-disable-next-line no-loop-func
|
114
|
-
test(testName, () =>
|
115
|
-
const pdf =
|
58
|
+
test(testName, async () => {
|
59
|
+
const pdf = await generate({ inputs, template });
|
116
60
|
const tmpFile = getPdfTmpPath(`${testName}.pdf`);
|
117
61
|
const assertFile = getPdfAssertPath(`${testName}.pdf`);
|
118
62
|
writeFileSync(tmpFile, pdf);
|
119
|
-
const [actualPdf, expectedPdf] =
|
63
|
+
const [actualPdf, expectedPdf] = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
120
64
|
// @ts-ignore
|
121
65
|
expect(actualPdf.Pages).toEqual(expectedPdf.Pages);
|
122
|
-
})
|
123
|
-
}
|
124
|
-
});
|
125
|
-
// TODO Slow test... need speed up, use Promise.all?
|
126
|
-
describe('use labelmake.jp template', () => {
|
127
|
-
const entries = Object.entries(templateData);
|
128
|
-
for (let l = 0; l < entries.length; l += 1) {
|
129
|
-
const [key, template] = entries[l];
|
130
|
-
// eslint-disable-next-line no-loop-func
|
131
|
-
test(`snapshot ${key}`, () => __awaiter(void 0, void 0, void 0, function* () {
|
132
|
-
const inputs = template.sampledata;
|
133
|
-
const font = getFont();
|
134
|
-
font.SauceHanSansJP.fallback = false;
|
135
|
-
font.SauceHanSerifJP.fallback = false;
|
136
|
-
font['NotoSerifJP-Regular'].fallback = false;
|
137
|
-
// @ts-ignore
|
138
|
-
font[template.fontName].fallback = true;
|
139
|
-
const hrstart = process.hrtime();
|
140
|
-
const pdf = yield generate({
|
141
|
-
inputs,
|
142
|
-
template,
|
143
|
-
plugins: Object.assign({ text, image }, barcodes),
|
144
|
-
options: { font },
|
145
|
-
});
|
146
|
-
const hrend = process.hrtime(hrstart);
|
147
|
-
expect(hrend[0]).toBeLessThanOrEqual(1);
|
148
|
-
const tmpFile = getPdfTmpPath(`${key}.pdf`);
|
149
|
-
const assertFile = getPdfAssertPath(`${key}.pdf`);
|
150
|
-
writeFileSync(tmpFile, pdf);
|
151
|
-
const res = yield Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
152
|
-
const [a, e] = res;
|
153
|
-
expect(a.Pages).toEqual(e.Pages);
|
154
|
-
}));
|
66
|
+
});
|
155
67
|
}
|
156
68
|
});
|
157
69
|
describe('use fontColor template', () => {
|
158
|
-
test(`sample`, () =>
|
70
|
+
test(`sample`, async () => {
|
159
71
|
const inputs = [{ name: 'here is purple color' }];
|
160
72
|
const template = {
|
161
73
|
basePdf: BLANK_PDF,
|
@@ -171,17 +83,17 @@ describe('generate integrate test', () => {
|
|
171
83
|
},
|
172
84
|
],
|
173
85
|
};
|
174
|
-
const pdf =
|
86
|
+
const pdf = await generate({ inputs, template });
|
175
87
|
const tmpFile = getPdfTmpPath(`fontColor.pdf`);
|
176
88
|
const assertFile = getPdfAssertPath(`fontColor.pdf`);
|
177
89
|
writeFileSync(tmpFile, pdf);
|
178
|
-
const res =
|
90
|
+
const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
179
91
|
const [a, e] = res;
|
180
92
|
expect(a.Pages).toEqual(e.Pages);
|
181
|
-
})
|
93
|
+
});
|
182
94
|
});
|
183
95
|
describe('use fontSubset template', () => {
|
184
|
-
test(`sample`, () =>
|
96
|
+
test(`sample`, async () => {
|
185
97
|
const inputs = [{ field1: 'SauceHanSansJP', field2: 'SauceHanSerifJP' }];
|
186
98
|
const template = {
|
187
99
|
basePdf: BLANK_PDF,
|
@@ -205,18 +117,19 @@ describe('generate integrate test', () => {
|
|
205
117
|
],
|
206
118
|
};
|
207
119
|
jest.setTimeout(30000);
|
208
|
-
const
|
120
|
+
const { SauceHanSansJP, SauceHanSerifJP } = getFont();
|
121
|
+
const pdf = await generate({
|
209
122
|
inputs,
|
210
123
|
template,
|
211
124
|
options: {
|
212
125
|
font: {
|
213
126
|
SauceHanSansJP: {
|
214
|
-
data:
|
127
|
+
data: SauceHanSansJP.data,
|
215
128
|
fallback: true,
|
216
129
|
subset: false,
|
217
130
|
},
|
218
131
|
SauceHanSerifJP: {
|
219
|
-
data:
|
132
|
+
data: SauceHanSerifJP.data,
|
220
133
|
subset: false,
|
221
134
|
},
|
222
135
|
},
|
@@ -225,14 +138,14 @@ describe('generate integrate test', () => {
|
|
225
138
|
const tmpFile = getPdfTmpPath(`fontSubset.pdf`);
|
226
139
|
const assertFile = getPdfAssertPath(`fontSubset.pdf`);
|
227
140
|
writeFileSync(tmpFile, pdf);
|
228
|
-
const res =
|
141
|
+
const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
229
142
|
const [a, e] = res;
|
230
143
|
expect(a.Pages).toEqual(e.Pages);
|
231
|
-
}
|
144
|
+
}, 10000);
|
232
145
|
});
|
233
146
|
});
|
234
147
|
describe('check validation', () => {
|
235
|
-
test(`inputs length is 0`, () =>
|
148
|
+
test(`inputs length is 0`, async () => {
|
236
149
|
const inputs = [];
|
237
150
|
const template = {
|
238
151
|
basePdf: BLANK_PDF,
|
@@ -248,7 +161,7 @@ describe('check validation', () => {
|
|
248
161
|
],
|
249
162
|
};
|
250
163
|
try {
|
251
|
-
|
164
|
+
await generate({ inputs, template, options: { font: getFont() } });
|
252
165
|
fail();
|
253
166
|
}
|
254
167
|
catch (e) {
|
@@ -258,8 +171,8 @@ ERROR POSITION: inputs
|
|
258
171
|
ERROR MESSAGE: Array must contain at least 1 element(s)
|
259
172
|
--------------------------`);
|
260
173
|
}
|
261
|
-
})
|
262
|
-
test(`missing fallback font`, () =>
|
174
|
+
});
|
175
|
+
test(`missing fallback font`, async () => {
|
263
176
|
const inputs = [{ a: 'test' }];
|
264
177
|
const template = {
|
265
178
|
basePdf: BLANK_PDF,
|
@@ -278,15 +191,15 @@ ERROR MESSAGE: Array must contain at least 1 element(s)
|
|
278
191
|
font.SauceHanSansJP.fallback = false;
|
279
192
|
font.SauceHanSerifJP.fallback = false;
|
280
193
|
try {
|
281
|
-
|
194
|
+
await generate({ inputs, template, options: { font } });
|
282
195
|
fail();
|
283
196
|
}
|
284
197
|
catch (e) {
|
285
198
|
expect(e.message).toEqual(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
|
286
199
|
Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
|
287
200
|
}
|
288
|
-
})
|
289
|
-
test(`too many fallback font`, () =>
|
201
|
+
});
|
202
|
+
test(`too many fallback font`, async () => {
|
290
203
|
const inputs = [{ a: 'test' }];
|
291
204
|
const template = {
|
292
205
|
basePdf: BLANK_PDF,
|
@@ -305,15 +218,15 @@ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
|
|
305
218
|
font.SauceHanSansJP.fallback = true;
|
306
219
|
font.SauceHanSerifJP.fallback = true;
|
307
220
|
try {
|
308
|
-
|
221
|
+
await generate({ inputs, template, options: { font } });
|
309
222
|
fail();
|
310
223
|
}
|
311
224
|
catch (e) {
|
312
225
|
expect(e.message).toEqual(`[@pdfme/common] 2 fallback flags found in font. true fallback flag must be only one.
|
313
226
|
Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
|
314
227
|
}
|
315
|
-
})
|
316
|
-
test(`missing font in template.schemas`, () =>
|
228
|
+
});
|
229
|
+
test(`missing font in template.schemas`, async () => {
|
317
230
|
const inputs = [{ a: 'test' }];
|
318
231
|
const template = {
|
319
232
|
basePdf: BLANK_PDF,
|
@@ -336,48 +249,13 @@ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
|
|
336
249
|
],
|
337
250
|
};
|
338
251
|
try {
|
339
|
-
|
252
|
+
await generate({ inputs, template, options: { font: getFont() } });
|
340
253
|
fail();
|
341
254
|
}
|
342
255
|
catch (e) {
|
343
256
|
expect(e.message).toEqual(`[@pdfme/common] SauceHanSansJP2 of template.schemas is not found in font.
|
344
257
|
Check this document: https://pdfme.com/docs/custom-fonts`);
|
345
258
|
}
|
346
|
-
})
|
347
|
-
test(`check digit error`, () => __awaiter(void 0, void 0, void 0, function* () {
|
348
|
-
const inputs = [{ a: 'worng text', b: 'worng text', c: 'worng text' }];
|
349
|
-
const template = {
|
350
|
-
basePdf: BLANK_PDF,
|
351
|
-
schemas: [
|
352
|
-
{
|
353
|
-
a: {
|
354
|
-
type: 'ean8',
|
355
|
-
position: { x: 0, y: 0 },
|
356
|
-
width: 100,
|
357
|
-
height: 100,
|
358
|
-
},
|
359
|
-
b: {
|
360
|
-
type: 'ean13',
|
361
|
-
position: { x: 0, y: 100 },
|
362
|
-
width: 100,
|
363
|
-
height: 100,
|
364
|
-
},
|
365
|
-
c: {
|
366
|
-
type: 'nw7',
|
367
|
-
position: { x: 0, y: 200 },
|
368
|
-
width: 100,
|
369
|
-
height: 100,
|
370
|
-
},
|
371
|
-
},
|
372
|
-
],
|
373
|
-
};
|
374
|
-
try {
|
375
|
-
yield generate({ inputs, template, plugins: Object.assign({}, barcodes) });
|
376
|
-
}
|
377
|
-
catch (e) {
|
378
|
-
fail();
|
379
|
-
}
|
380
|
-
expect(true).toEqual(true);
|
381
|
-
}));
|
259
|
+
});
|
382
260
|
});
|
383
261
|
//# sourceMappingURL=generate.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../../__tests__/generate.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAClE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAkB,SAAS,EAAU,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEvD,8DAA8D;AAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAClG,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACpG,MAAM,sBAAsB,GAAG,YAAY,CACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAC9D,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4CAA4C,CAAC,CACnE,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY,CACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,wBAAwB,GAAG,YAAY,CAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAChE,CAAC;AAEF,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC5D,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9C,qBAAqB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvD,0BAA0B,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IACjE,oBAAoB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACrD,uBAAuB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;CAC5D,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE,CACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;AACzD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE9E,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,QAAQ,CAAC,GAAG,EAAE;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,EAAE;YAC/B,IAAI,IAAI,KAAK,UAAU,EAAE;gBACvB,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAM,EAAE,EAAE;oBAClC,IAAI,CAAC,EAAE;wBACL,MAAM,CAAC,CAAC;qBACT;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QACF,OAAO,CAAC,GAAG,EAAE,CAAC,GAAQ,EAAE,KAAU,EAAE,EAAE;YACpC,IAAI,GAAG,EAAE;gBACP,MAAM,GAAG,CAAC;aACX;YACD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAa;YACrC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;iBACtB;aACF;SACF,CAAC;QAEF,MAAM,oBAAoB,GAAa;YACrC,OAAO,EACL,07EAA07E;YAC57E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SAC9D,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;YACtB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;SACvB,CAAC;QAEF,MAAM,SAAS,GAAG;YAChB;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,wCAAwC;aACnD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,uCAAuC;aAClD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,wCAAwC;aACnD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,uCAAuC;aAClD;SACF,CAAC;QAEF,gBAAgB;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpD,wCAAwC;YACxC,IAAI,CAAC,QAAQ,EAAE,GAAS,EAAE;gBACxB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;gBACvD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1F,aAAa;gBACb,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAA,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,oDAAoD;IACpD,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,GAAS,EAAE;gBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAW,CAAC;gBAEpC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,aAAa;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,kBAAI,IAAI,EAAE,KAAK,IAAK,QAAQ,CAAE;oBACrC,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAElD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAA,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,IAAI,CAAC,QAAQ,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,QAAQ,EAAE,GAAS,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,gBAAgB;yBAC3B;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,iBAAiB;yBAC5B;qBACF;iBACF;aACF,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;gBACzB,MAAM;gBACN,QAAQ;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,cAAc,EAAE;4BACd,IAAI,EAAE,kBAAkB;4BACxB,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,KAAK;yBACd;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,mBAAmB;4BACzB,MAAM,EAAE,KAAK;yBACd;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACtD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAA,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,oBAAoB,EAAE,GAAS,EAAE;QACpC,MAAM,MAAM,GAAgC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;;;;2BAIL,CAAC,CAAC;SACxB;IACH,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtC,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;SACH;IACH,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,wBAAwB,EAAE,GAAS,EAAE;QACxC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrC,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;SACH;IACH,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,kCAAkC,EAAE,GAAS,EAAE;QAClD,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yDACiD,CAClD,CAAC;SACH;IACH,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,GAAS,EAAE;QACnC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;wBAC1B,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,KAAK;wBACX,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE;wBAC1B,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,oBAAO,QAAQ,CAAE,EAAE,CAAC,CAAC;SAChE;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,EAAE,CAAC;SACR;QACD,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"generate.test.js","sourceRoot":"","sources":["../../../__tests__/generate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAY,SAAS,EAAU,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3E,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC;YACpD,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAa;YACrC,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnB,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;iBACtB;aACF;SACF,CAAC;QAEF,MAAM,oBAAoB,GAAa;YACrC,OAAO,EACL,07EAA07E;YAC57E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;SAC9D,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1C,MAAM,WAAW,GAAG;YAClB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;YACtB,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;SACvB,CAAC;QAEF,MAAM,SAAS,GAAG;YAChB;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,wCAAwC;aACnD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,uCAAuC;aAClD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,YAAY;gBACpB,QAAQ,EAAE,wCAAwC;aACnD;YACD;gBACE,QAAQ,EAAE,oBAAoB;gBAC9B,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,uCAAuC;aAClD;SACF,CAAC;QAEF,gBAAgB;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACpD,wCAAwC;YACxC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACxB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACjD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;gBACvD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1F,aAAa;gBACb,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,SAAS,EAAE,SAAS;yBACrB;qBACF;iBACF;aACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;YACrD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAa;gBACzB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,gBAAgB;yBAC3B;wBACD,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;4BAC1B,KAAK,EAAE,GAAG;4BACV,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,iBAAiB;yBAC5B;qBACF;iBACF;aACF,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;gBACzB,MAAM;gBACN,QAAQ;gBACR,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,cAAc,EAAE;4BACd,IAAI,EAAE,cAAc,CAAC,IAAI;4BACzB,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,KAAK;yBACd;wBACD,eAAe,EAAE;4BACf,IAAI,EAAE,eAAe,CAAC,IAAI;4BAC1B,MAAM,EAAE,KAAK;yBACd;qBACF;iBACF;aACF,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;YACtD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,MAAM,GAAgC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;;;;2BAIL,CAAC,CAAC;SACxB;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtC,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrC,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yEACiE,CAClE,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAa;YACzB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE;gBACP;oBACE,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,iBAAiB;wBAC3B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;oBACD,CAAC,EAAE;wBACD,IAAI,EAAE,MAAM;wBACZ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;wBACxB,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;qBACZ;iBACF;aACF;SACF,CAAC;QACF,IAAI;YACF,MAAM,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACnE,IAAI,EAAE,CAAC;SACR;QAAC,OAAO,CAAM,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CACvB;yDACiD,CAClD,CAAC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { writeFileSync } from 'fs';
|
2
|
+
import generate from '../src/generate';
|
3
|
+
import { label, envelope } from './assets/templates';
|
4
|
+
import { text, image } from '@pdfme/schemas';
|
5
|
+
import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
|
6
|
+
describe('generate integration test(label, envelope)', () => {
|
7
|
+
describe.each([label, envelope])('%i', (templateData) => {
|
8
|
+
const entries = Object.entries(templateData);
|
9
|
+
for (let l = 0; l < entries.length; l += 1) {
|
10
|
+
const [key, template] = entries[l];
|
11
|
+
// eslint-disable-next-line no-loop-func
|
12
|
+
test(`snapshot ${key}`, async () => {
|
13
|
+
const inputs = template.sampledata;
|
14
|
+
const font = getFont();
|
15
|
+
font.SauceHanSansJP.fallback = false;
|
16
|
+
font.SauceHanSerifJP.fallback = false;
|
17
|
+
font['NotoSerifJP-Regular'].fallback = false;
|
18
|
+
// @ts-ignore
|
19
|
+
font[template.fontName].fallback = true;
|
20
|
+
const hrstart = process.hrtime();
|
21
|
+
const pdf = await generate({
|
22
|
+
inputs,
|
23
|
+
template,
|
24
|
+
plugins: { text, image },
|
25
|
+
options: { font },
|
26
|
+
});
|
27
|
+
const hrend = process.hrtime(hrstart);
|
28
|
+
expect(hrend[0]).toBeLessThanOrEqual(1);
|
29
|
+
const tmpFile = getPdfTmpPath(`${key}.pdf`);
|
30
|
+
const assertFile = getPdfAssertPath(`${key}.pdf`);
|
31
|
+
writeFileSync(tmpFile, pdf);
|
32
|
+
const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
33
|
+
const [a, e] = res;
|
34
|
+
expect(a.Pages).toEqual(e.Pages);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
});
|
38
|
+
});
|
39
|
+
//# sourceMappingURL=integration1.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"integration1.test.js","sourceRoot":"","sources":["../../../__tests__/integration1.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3E,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAW,CAAC;gBAEpC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,aAAa;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAElD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { writeFileSync } from 'fs';
|
2
|
+
import generate from '../src/generate';
|
3
|
+
import { barcode, business } from './assets/templates';
|
4
|
+
import { text, image, barcodes } from '@pdfme/schemas';
|
5
|
+
import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
|
6
|
+
describe('generate integration test(barcode, business)', () => {
|
7
|
+
describe.each([barcode, business])('%i', (templateData) => {
|
8
|
+
const entries = Object.entries(templateData);
|
9
|
+
for (let l = 0; l < entries.length; l += 1) {
|
10
|
+
const [key, template] = entries[l];
|
11
|
+
// eslint-disable-next-line no-loop-func
|
12
|
+
test(`snapshot ${key}`, async () => {
|
13
|
+
const inputs = template.sampledata;
|
14
|
+
const font = getFont();
|
15
|
+
font.SauceHanSansJP.fallback = false;
|
16
|
+
font.SauceHanSerifJP.fallback = false;
|
17
|
+
font['NotoSerifJP-Regular'].fallback = false;
|
18
|
+
// @ts-ignore
|
19
|
+
font[template.fontName].fallback = true;
|
20
|
+
const hrstart = process.hrtime();
|
21
|
+
const pdf = await generate({
|
22
|
+
inputs,
|
23
|
+
template,
|
24
|
+
plugins: { text, image, ...barcodes },
|
25
|
+
options: { font },
|
26
|
+
});
|
27
|
+
const hrend = process.hrtime(hrstart);
|
28
|
+
expect(hrend[0]).toBeLessThanOrEqual(1);
|
29
|
+
const tmpFile = getPdfTmpPath(`${key}.pdf`);
|
30
|
+
const assertFile = getPdfAssertPath(`${key}.pdf`);
|
31
|
+
writeFileSync(tmpFile, pdf);
|
32
|
+
const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
33
|
+
const [a, e] = res;
|
34
|
+
expect(a.Pages).toEqual(e.Pages);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
});
|
38
|
+
});
|
39
|
+
//# sourceMappingURL=integration2.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"integration2.test.js","sourceRoot":"","sources":["../../../__tests__/integration2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3E,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAW,CAAC;gBAEpC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,aAAa;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE;oBACrC,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAElD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { writeFileSync } from 'fs';
|
2
|
+
import generate from '../src/generate';
|
3
|
+
import { textType, other } from './assets/templates';
|
4
|
+
import { text, image } from '@pdfme/schemas';
|
5
|
+
import { getFont, getPdf, getPdfTmpPath, getPdfAssertPath } from './utils';
|
6
|
+
describe('generate integration test(textType, other)', () => {
|
7
|
+
describe.each([textType, other])('%i', (templateData) => {
|
8
|
+
const entries = Object.entries(templateData);
|
9
|
+
for (let l = 0; l < entries.length; l += 1) {
|
10
|
+
const [key, template] = entries[l];
|
11
|
+
// eslint-disable-next-line no-loop-func
|
12
|
+
test(`snapshot ${key}`, async () => {
|
13
|
+
const inputs = template.sampledata;
|
14
|
+
const font = getFont();
|
15
|
+
font.SauceHanSansJP.fallback = false;
|
16
|
+
font.SauceHanSerifJP.fallback = false;
|
17
|
+
font['NotoSerifJP-Regular'].fallback = false;
|
18
|
+
// @ts-ignore
|
19
|
+
font[template.fontName].fallback = true;
|
20
|
+
const hrstart = process.hrtime();
|
21
|
+
const pdf = await generate({
|
22
|
+
inputs,
|
23
|
+
template,
|
24
|
+
plugins: { text, image },
|
25
|
+
options: { font },
|
26
|
+
});
|
27
|
+
const hrend = process.hrtime(hrstart);
|
28
|
+
expect(hrend[0]).toBeLessThanOrEqual(1);
|
29
|
+
const tmpFile = getPdfTmpPath(`${key}.pdf`);
|
30
|
+
const assertFile = getPdfAssertPath(`${key}.pdf`);
|
31
|
+
writeFileSync(tmpFile, pdf);
|
32
|
+
const res = await Promise.all([getPdf(tmpFile), getPdf(assertFile)]);
|
33
|
+
const [a, e] = res;
|
34
|
+
expect(a.Pages).toEqual(e.Pages);
|
35
|
+
});
|
36
|
+
}
|
37
|
+
});
|
38
|
+
});
|
39
|
+
//# sourceMappingURL=integration3.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"integration3.test.js","sourceRoot":"","sources":["../../../__tests__/integration3.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3E,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,wCAAwC;YACxC,IAAI,CAAC,YAAY,GAAG,EAAE,EAAE,KAAK,IAAI,EAAE;gBACjC,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAW,CAAC;gBAEpC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7C,aAAa;gBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAExC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAEjC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC;oBACzB,MAAM;oBACN,QAAQ;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;oBACxB,OAAO,EAAE,EAAE,IAAI,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAExC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;gBAElD,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import { readFileSync } from 'fs';
|
2
|
+
import * as path from 'path';
|
3
|
+
const PDFParser = require('pdf2json');
|
4
|
+
const SauceHanSansJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
|
5
|
+
const SauceHanSerifJPData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
|
6
|
+
const NotoSerifJPRegularData = readFileSync(path.join(__dirname, `/assets/fonts/NotoSerifJP-Regular.otf`));
|
7
|
+
const GloriaHallelujahRegularData = readFileSync(path.join(__dirname, `/assets/fonts/GloriaHallelujah-Regular.ttf`));
|
8
|
+
const GreatVibesRegularData = readFileSync(path.join(__dirname, `/assets/fonts/GreatVibes-Regular.ttf`));
|
9
|
+
const JuliusSansOneRegularData = readFileSync(path.join(__dirname, `/assets/fonts/JuliusSansOne-Regular.ttf`));
|
10
|
+
export const getFont = () => ({
|
11
|
+
SauceHanSansJP: { fallback: true, data: SauceHanSansJPData },
|
12
|
+
SauceHanSerifJP: { data: SauceHanSerifJPData },
|
13
|
+
'NotoSerifJP-Regular': { data: NotoSerifJPRegularData },
|
14
|
+
'GloriaHallelujah-Regular': { data: GloriaHallelujahRegularData },
|
15
|
+
'GreatVibes-Regular': { data: GreatVibesRegularData },
|
16
|
+
'JuliusSansOne-Regular': { data: JuliusSansOneRegularData },
|
17
|
+
});
|
18
|
+
export const getPdf = (pdfFilePath) => {
|
19
|
+
const pdfParser = new PDFParser();
|
20
|
+
return new Promise((resolve, reject) => {
|
21
|
+
pdfParser.on('pdfParser_dataError', reject);
|
22
|
+
pdfParser.on('pdfParser_dataReady', resolve);
|
23
|
+
pdfParser.loadPDF(pdfFilePath);
|
24
|
+
});
|
25
|
+
};
|
26
|
+
const getPdfPath = (dir, fileName) => path.join(__dirname, `assets/pdfs/${dir}/${fileName}`);
|
27
|
+
export const getPdfTmpPath = (fileName) => getPdfPath('tmp', fileName);
|
28
|
+
export const getPdfAssertPath = (fileName) => getPdfPath('assert', fileName);
|
29
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../__tests__/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAG7B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC,CAAC;AAClG,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC,CAAC;AACpG,MAAM,sBAAsB,GAAG,YAAY,CACzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAC9D,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4CAA4C,CAAC,CACnE,CAAC;AACF,MAAM,qBAAqB,GAAG,YAAY,CACxC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAC7D,CAAC;AACF,MAAM,wBAAwB,GAAG,YAAY,CAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC,CAChE,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,CAAC;IAClC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;IAC5D,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAC9C,qBAAqB,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE;IACvD,0BAA0B,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE;IACjE,oBAAoB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;IACrD,uBAAuB,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE;CAC5D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC5C,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,EAAE,CACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC"}
|
package/dist/esm/src/generate.js
CHANGED
@@ -1,36 +1,26 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import * as pdfLib from '@pdfme/pdf-lib';
|
11
2
|
import * as fontkit from 'fontkit';
|
12
3
|
import { checkGenerateProps } from '@pdfme/common';
|
13
4
|
import { builtInPlugins } from '@pdfme/schemas';
|
14
|
-
import { drawEmbeddedPage, getEmbeddedPagesAndEmbedPdfBoxes } from './pdfUtils';
|
15
|
-
import { TOOL_NAME } from './constants';
|
16
|
-
const preprocessing = ({ template }) =>
|
5
|
+
import { drawEmbeddedPage, getEmbeddedPagesAndEmbedPdfBoxes } from './pdfUtils.js';
|
6
|
+
import { TOOL_NAME } from './constants.js';
|
7
|
+
const preprocessing = async ({ template }) => {
|
17
8
|
const { basePdf } = template;
|
18
|
-
const pdfDoc =
|
9
|
+
const pdfDoc = await pdfLib.PDFDocument.create();
|
19
10
|
// @ts-ignore
|
20
11
|
pdfDoc.registerFontkit(fontkit);
|
21
|
-
const pagesAndBoxes =
|
12
|
+
const pagesAndBoxes = await getEmbeddedPagesAndEmbedPdfBoxes({ pdfDoc, basePdf });
|
22
13
|
const { embeddedPages, embedPdfBoxes } = pagesAndBoxes;
|
23
14
|
return { pdfDoc, embeddedPages, embedPdfBoxes };
|
24
|
-
}
|
15
|
+
};
|
25
16
|
const postProcessing = ({ pdfDoc }) => {
|
26
17
|
pdfDoc.setProducer(TOOL_NAME);
|
27
18
|
pdfDoc.setCreator(TOOL_NAME);
|
28
19
|
};
|
29
|
-
const generate = (props) =>
|
30
|
-
var _a;
|
20
|
+
const generate = async (props) => {
|
31
21
|
checkGenerateProps(props);
|
32
22
|
const { inputs, template, options = {}, plugins: userPlugins = {} } = props;
|
33
|
-
const { pdfDoc, embeddedPages, embedPdfBoxes } =
|
23
|
+
const { pdfDoc, embeddedPages, embedPdfBoxes } = await preprocessing({ template });
|
34
24
|
const plugins = Object.values(userPlugins).length > 0 ? userPlugins : builtInPlugins;
|
35
25
|
const _cache = new Map();
|
36
26
|
for (let i = 0; i < inputs.length; i += 1) {
|
@@ -50,17 +40,17 @@ const generate = (props) => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
40
|
if (!schema || !value) {
|
51
41
|
continue;
|
52
42
|
}
|
53
|
-
const render =
|
43
|
+
const render = Object.values(plugins).find((plugin) => plugin.propPanel.defaultSchema.type === schema.type)?.pdf;
|
54
44
|
if (!render) {
|
55
45
|
throw new Error(`[@pdfme/generator] Renderer for type ${schema.type} not found.
|
56
46
|
Check this document: https://pdfme.com/docs/custom-schemas`);
|
57
47
|
}
|
58
|
-
|
48
|
+
await render({ value, schema, pdfLib, pdfDoc, page, options, _cache });
|
59
49
|
}
|
60
50
|
}
|
61
51
|
}
|
62
52
|
postProcessing({ pdfDoc });
|
63
53
|
return pdfDoc.save();
|
64
|
-
}
|
54
|
+
};
|
65
55
|
export default generate;
|
66
56
|
//# sourceMappingURL=generate.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/src/pdfUtils.js
CHANGED
@@ -1,20 +1,11 @@
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
-
});
|
9
|
-
};
|
10
1
|
import { PDFDocument } from '@pdfme/pdf-lib';
|
11
2
|
import { getB64BasePdf } from '@pdfme/common';
|
12
|
-
export const getEmbeddedPagesAndEmbedPdfBoxes = (arg) =>
|
3
|
+
export const getEmbeddedPagesAndEmbedPdfBoxes = async (arg) => {
|
13
4
|
const { pdfDoc, basePdf } = arg;
|
14
5
|
let embeddedPages = [];
|
15
6
|
let embedPdfBoxes = [];
|
16
|
-
const willLoadPdf = typeof basePdf === 'string' ?
|
17
|
-
const embedPdf =
|
7
|
+
const willLoadPdf = typeof basePdf === 'string' ? await getB64BasePdf(basePdf) : basePdf;
|
8
|
+
const embedPdf = await PDFDocument.load(willLoadPdf);
|
18
9
|
const embedPdfPages = embedPdf.getPages();
|
19
10
|
embedPdfBoxes = embedPdfPages.map((p) => ({
|
20
11
|
mediaBox: p.getMediaBox(),
|
@@ -26,9 +17,9 @@ export const getEmbeddedPagesAndEmbedPdfBoxes = (arg) => __awaiter(void 0, void
|
|
26
17
|
return { left: x, bottom: y, right: width, top: height + y };
|
27
18
|
});
|
28
19
|
const transformationMatrices = embedPdfPages.map(() => [1, 0, 0, 1, 0, 0]);
|
29
|
-
embeddedPages =
|
20
|
+
embeddedPages = await pdfDoc.embedPages(embedPdfPages, boundingBoxes, transformationMatrices);
|
30
21
|
return { embeddedPages, embedPdfBoxes };
|
31
|
-
}
|
22
|
+
};
|
32
23
|
export const drawEmbeddedPage = (arg) => {
|
33
24
|
const { page, embeddedPage, embedPdfBox } = arg;
|
34
25
|
page.drawPage(embeddedPage);
|