@pdfme/common 2.2.1 → 3.0.0-beta.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.
Files changed (65) hide show
  1. package/dist/cjs/__tests__/helper.test.js +292 -233
  2. package/dist/cjs/__tests__/helper.test.js.map +1 -1
  3. package/dist/cjs/src/constants.js +3 -17
  4. package/dist/cjs/src/constants.js.map +1 -1
  5. package/dist/cjs/src/helper.js +72 -99
  6. package/dist/cjs/src/helper.js.map +1 -1
  7. package/dist/cjs/src/index.js +7 -37
  8. package/dist/cjs/src/index.js.map +1 -1
  9. package/dist/cjs/src/schema.js +17 -71
  10. package/dist/cjs/src/schema.js.map +1 -1
  11. package/dist/cjs/src/types.js +3 -0
  12. package/dist/cjs/src/types.js.map +1 -0
  13. package/dist/esm/__tests__/helper.test.js +270 -234
  14. package/dist/esm/__tests__/helper.test.js.map +1 -1
  15. package/dist/esm/src/constants.js +2 -16
  16. package/dist/esm/src/constants.js.map +1 -1
  17. package/dist/esm/src/helper.js +68 -98
  18. package/dist/esm/src/helper.js.map +1 -1
  19. package/dist/esm/src/index.js +3 -6
  20. package/dist/esm/src/index.js.map +1 -1
  21. package/dist/esm/src/schema.js +14 -68
  22. package/dist/esm/src/schema.js.map +1 -1
  23. package/dist/esm/src/types.js +2 -0
  24. package/dist/esm/src/types.js.map +1 -0
  25. package/dist/types/src/constants.d.ts +2 -16
  26. package/dist/types/src/helper.d.ts +11 -2
  27. package/dist/types/src/index.d.ts +5 -8
  28. package/dist/types/src/schema.d.ts +696 -3574
  29. package/dist/types/src/types.d.ts +127 -0
  30. package/package.json +5 -11
  31. package/src/constants.ts +2 -18
  32. package/src/helper.ts +108 -116
  33. package/src/index.ts +28 -87
  34. package/src/schema.ts +18 -84
  35. package/src/types.ts +124 -0
  36. package/tsconfig.cjs.json +3 -2
  37. package/tsconfig.esm.json +3 -2
  38. package/dist/cjs/__tests__/barcode.test.js +0 -107
  39. package/dist/cjs/__tests__/barcode.test.js.map +0 -1
  40. package/dist/cjs/__tests__/font.test.js +0 -465
  41. package/dist/cjs/__tests__/font.test.js.map +0 -1
  42. package/dist/cjs/src/barcode.js +0 -53
  43. package/dist/cjs/src/barcode.js.map +0 -1
  44. package/dist/cjs/src/font.js +0 -310
  45. package/dist/cjs/src/font.js.map +0 -1
  46. package/dist/cjs/src/type.js +0 -12
  47. package/dist/cjs/src/type.js.map +0 -1
  48. package/dist/esm/__tests__/barcode.test.js +0 -102
  49. package/dist/esm/__tests__/barcode.test.js.map +0 -1
  50. package/dist/esm/__tests__/font.test.js +0 -440
  51. package/dist/esm/__tests__/font.test.js.map +0 -1
  52. package/dist/esm/src/barcode.js +0 -44
  53. package/dist/esm/src/barcode.js.map +0 -1
  54. package/dist/esm/src/font.js +0 -274
  55. package/dist/esm/src/font.js.map +0 -1
  56. package/dist/esm/src/type.js +0 -6
  57. package/dist/esm/src/type.js.map +0 -1
  58. package/dist/types/__tests__/barcode.test.d.ts +0 -1
  59. package/dist/types/__tests__/font.test.d.ts +0 -1
  60. package/dist/types/src/barcode.d.ts +0 -19
  61. package/dist/types/src/font.d.ts +0 -34
  62. package/dist/types/src/type.d.ts +0 -81
  63. package/src/barcode.ts +0 -51
  64. package/src/font.ts +0 -352
  65. package/src/type.ts +0 -69
@@ -1,238 +1,41 @@
1
- import { validateBarcodeInput, mm2pt, pt2mm, pt2px } from '../src/helper';
2
- import { PT_TO_PX_RATIO } from "../src";
3
- describe('validateBarcodeInput test', () => {
4
- test('qrcode', () => {
5
- // 500文字以下
6
- const type = 'qrcode';
7
- const valid = 'https://www.google.com/';
8
- const valid2 = '漢字を含む文字列';
9
- const invalid2 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQ';
10
- const blank = '';
11
- expect(validateBarcodeInput(type, valid)).toEqual(true);
12
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
13
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
14
- expect(validateBarcodeInput(type, blank)).toEqual(false);
15
- });
16
- test('japanpost', () => {
17
- // https://barcode-place.azurewebsites.net/Barcode/zip
18
- // 郵便番号は数字(0-9)のみ、住所表示番号は英数字(0-9,A-Z)とハイフン(-)が使用可能です。
19
- const type = 'japanpost';
20
- const valid1 = '10000131-3-2-503';
21
- const valid2 = '10000131-3-2-B503';
22
- const invalid1 = 'invalid';
23
- const invalid2 = '10000131=3=2-503';
24
- const invalid3 = '10000131=3=2-503';
25
- const invalid4 = '10000131-3-2-b503';
26
- const blank = '';
27
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
28
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
29
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
30
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
31
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
32
- expect(validateBarcodeInput(type, invalid4)).toEqual(false);
33
- expect(validateBarcodeInput(type, blank)).toEqual(false);
34
- });
35
- test('ean13', () => {
36
- // https://barcode-place.azurewebsites.net/Barcode/jan
37
- // 有効文字は数値(0-9)のみ。標準タイプはチェックデジットを含まない12桁orチェックデジットを含む13桁
38
- const type = 'ean13';
39
- const valid1 = '111111111111';
40
- const valid2 = '1111111111116';
41
- const valid3 = '2822224229221';
42
- const valid4 = '3433333133331';
43
- const valid5 = '8434244447413';
44
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
45
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
46
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
47
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
48
- expect(validateBarcodeInput(type, valid5)).toEqual(true);
49
- const invalid1 = '111';
50
- const invalid2 = '111111111111111111111111';
51
- const invalid3 = 'invalid';
52
- const invalid4 = '11111a111111';
53
- const invalid5 = '1111111111111';
54
- const blank = '';
55
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
56
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
57
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
58
- expect(validateBarcodeInput(type, invalid4)).toEqual(false);
59
- expect(validateBarcodeInput(type, invalid5)).toEqual(false);
60
- expect(validateBarcodeInput(type, blank)).toEqual(false);
61
- });
62
- test('ean8', () => {
63
- // https://barcode-place.azurewebsites.net/Barcode/jan
64
- // 有効文字は数値(0-9)のみ。短縮タイプはチェックデジットを含まない7桁orチェックデジットを含む8桁
65
- const type = 'ean8';
66
- const valid1 = '1111111';
67
- const valid2 = '11111115';
68
- const valid3 = '22222220';
69
- const valid4 = '33333335';
70
- const valid5 = '44444440';
71
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
72
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
73
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
74
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
75
- expect(validateBarcodeInput(type, valid5)).toEqual(true);
76
- const invalid1 = '111';
77
- const invalid2 = '11111111111111111111';
78
- const invalid3 = 'invalid';
79
- const invalid4 = '111a111';
80
- const invalid5 = '44444441';
81
- const blank = '';
82
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
83
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
84
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
85
- expect(validateBarcodeInput(type, invalid4)).toEqual(false);
86
- expect(validateBarcodeInput(type, invalid5)).toEqual(false);
87
- expect(validateBarcodeInput(type, blank)).toEqual(false);
88
- });
89
- test('code39', () => {
90
- // https://barcode-place.azurewebsites.net/Barcode/code39
91
- // CODE39は数字(0-9)、アルファベット大文字(A-Z)、記号(-.$/+%)、半角スペースに対応しています。
92
- const type = 'code39';
93
- const valid1 = '12345';
94
- const valid2 = 'ABCDE';
95
- const valid3 = '1A2B3C4D5G';
96
- const valid4 = '1-A $2/B+3%C4D5G';
97
- const invalid1 = '123a45';
98
- const invalid2 = '1-A$2/B+3%C4=D5G';
99
- const blank = '';
100
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
101
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
102
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
103
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
104
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
105
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
106
- expect(validateBarcodeInput(type, blank)).toEqual(false);
107
- });
108
- test('code128', () => {
109
- // https://www.keyence.co.jp/ss/products/autoid/codereader/basic_code128.jsp
110
- // コンピュータのキーボードから打てる文字(漢字、ひらがな、カタカナ以外)可能
111
- const type = 'code128';
112
- const valid1 = '12345';
113
- const valid2 = '1-A$2/B+3%C4=D5G';
114
- const valid3 = '1-A$2/B+3%C4=D5Ga~';
115
- const invalid1 = '1-A$2/B+3%C4=D5Gひらがな';
116
- const invalid2 = '1-A$2/B+3%C4=D5G〜';
117
- const invalid3 = '1ーA$2・B+3%C4=D5G〜';
118
- const blank = '';
119
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
120
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
121
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
122
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
123
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
124
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
125
- expect(validateBarcodeInput(type, blank)).toEqual(false);
126
- });
127
- test('nw7', () => {
128
- // https://barcode-place.azurewebsites.net/Barcode/nw7
129
- // https://en.wikipedia.org/wiki/Codabar
130
- // NW-7は数字(0-9)と記号(-.$:/+)に対応しています。
131
- // スタートコード/ストップコードとして、コードの始まりと終わりはアルファベット(A-D)のいずれかを使用してください。
132
- const type = 'nw7';
133
- const valid1 = 'A12345D';
134
- const valid2 = 'A$2/+345D';
135
- const valid3 = 'a4321D';
136
- const invalid1 = 'A12345G';
137
- const invalid2 = 'A12a45D';
138
- const blank = '';
139
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
140
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
141
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
142
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
143
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
144
- expect(validateBarcodeInput(type, blank)).toEqual(false);
145
- });
146
- test('itf14', () => {
147
- // https://barcode-place.azurewebsites.net/Barcode/itf
148
- // 有効文字は数値(0-9)のみ。 チェックデジットを含まない13桁orチェックデジットを含む14桁
149
- const type = 'itf14';
150
- const valid1 = '1111111111111';
151
- const valid2 = '11111111111113';
152
- const valid3 = '22222222222226';
153
- const valid4 = '33333333333339';
154
- const valid5 = '44444444444442';
155
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
156
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
157
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
158
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
159
- expect(validateBarcodeInput(type, valid5)).toEqual(true);
160
- const invalid1 = '111';
161
- const invalid2 = '11111111111111111111111111111';
162
- const invalid3 = '11111111111112';
163
- const blank = '';
164
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
165
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
166
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
167
- expect(validateBarcodeInput(type, blank)).toEqual(false);
168
- });
169
- test('upca', () => {
170
- // https://barcode-place.azurewebsites.net/Barcode/upc
171
- // 有効文字は数値(0-9)のみ。 チェックデジットを含まない11桁orチェックデジットを含む12桁。
172
- const type = 'upca';
173
- const valid1 = '12345678901';
174
- const valid2 = '123456789012';
175
- const valid3 = '123456789036';
176
- const valid4 = '126456789013';
177
- const valid5 = '123456759015';
178
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
179
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
180
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
181
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
182
- expect(validateBarcodeInput(type, valid5)).toEqual(true);
183
- const invalid1 = '1234567890';
184
- const invalid2 = '1234567890123';
185
- const invalid3 = '123456789011';
186
- const invalid4 = '126456789014';
187
- const blank = '';
188
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
189
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
190
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
191
- expect(validateBarcodeInput(type, invalid4)).toEqual(false);
192
- expect(validateBarcodeInput(type, blank)).toEqual(false);
193
- });
194
- test('upce', () => {
195
- // https://barcode-place.azurewebsites.net/Barcode/upc
196
- // 有効文字は数値(0-9)のみ。 1桁目に指定できる数字(ナンバーシステムキャラクタ)は0のみ。
197
- // チェックデジットを含まない7桁orチェックデジットを含む8桁。
198
- const type = 'upce';
199
- const valid1 = '0111111';
200
- const valid2 = '01111118';
201
- const valid3 = '01111125';
202
- const valid4 = '01114126';
203
- const valid5 = '01101126';
204
- const blank = '';
205
- expect(validateBarcodeInput(type, valid1)).toEqual(true);
206
- expect(validateBarcodeInput(type, valid2)).toEqual(true);
207
- expect(validateBarcodeInput(type, valid3)).toEqual(true);
208
- expect(validateBarcodeInput(type, valid4)).toEqual(true);
209
- expect(validateBarcodeInput(type, valid5)).toEqual(true);
210
- const invalid1 = '1111111';
211
- const invalid2 = '011111111';
212
- const invalid3 = '01111128';
213
- const invalid4 = '01114125';
214
- expect(validateBarcodeInput(type, invalid1)).toEqual(false);
215
- expect(validateBarcodeInput(type, invalid2)).toEqual(false);
216
- expect(validateBarcodeInput(type, invalid3)).toEqual(false);
217
- expect(validateBarcodeInput(type, invalid4)).toEqual(false);
218
- expect(validateBarcodeInput(type, blank)).toEqual(false);
219
- });
220
- test('gs1datamatrix', () => {
221
- // https://www.gs1.org/docs/barcodes/GS1_DataMatrix_Guideline.pdf
222
- // find the GTIN application identifier, regex for "(01)" and the digits after it until
223
- // another "(" or end of string
224
- const type = 'gs1datamatrix';
225
- let valid = "(01)12244668801011(17)250712(10)22322SSD3";
226
- let valid_12 = "(01)1224466880108(17)250712(10)22322SSD3";
227
- let invalid_bad_checkdigit = "(01)12244668801014(17)250712(10)22322SSD3";
228
- let invalid_input_length = "(01)12244668801011(17)250712(10)22322SSD3(10)22322SSD3";
229
- const blank = '';
230
- expect(validateBarcodeInput(type, valid)).toEqual(true);
231
- expect(validateBarcodeInput(type, valid_12)).toEqual(true);
232
- expect(validateBarcodeInput(type, invalid_bad_checkdigit)).toEqual(false);
233
- expect(validateBarcodeInput(type, blank)).toEqual(false);
234
- expect(validateBarcodeInput(type, invalid_input_length)).toEqual(false);
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());
235
8
  });
9
+ };
10
+ import { readFileSync } from 'fs';
11
+ import * as path from 'path';
12
+ import { mm2pt, pt2mm, pt2px, checkFont, checkPlugins } from '../src/helper';
13
+ import { PT_TO_PX_RATIO, BLANK_PDF } from '../src';
14
+ const sansData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
15
+ const serifData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
16
+ const getSampleFont = () => ({
17
+ SauceHanSansJP: { fallback: true, data: sansData },
18
+ SauceHanSerifJP: { data: serifData },
19
+ });
20
+ const getTemplate = () => ({
21
+ basePdf: BLANK_PDF,
22
+ schemas: [
23
+ {
24
+ a: {
25
+ type: 'text',
26
+ fontName: 'SauceHanSansJP',
27
+ position: { x: 0, y: 0 },
28
+ width: 100,
29
+ height: 100,
30
+ },
31
+ b: {
32
+ type: 'text',
33
+ position: { x: 0, y: 0 },
34
+ width: 100,
35
+ height: 100,
36
+ },
37
+ },
38
+ ],
236
39
  });
237
40
  describe('mm2pt test', () => {
238
41
  it('converts millimeters to points', () => {
@@ -258,4 +61,237 @@ describe('pt2px test', () => {
258
61
  expect(pt2px(5322.98)).toEqual(7095.532339999999);
259
62
  });
260
63
  });
64
+ describe('checkFont test', () => {
65
+ test('success test: no fontName in Schemas', () => {
66
+ const _getTemplate = () => ({
67
+ basePdf: BLANK_PDF,
68
+ schemas: [
69
+ {
70
+ a: {
71
+ type: 'text',
72
+ position: { x: 0, y: 0 },
73
+ width: 100,
74
+ height: 100,
75
+ },
76
+ b: {
77
+ type: 'text',
78
+ position: { x: 0, y: 0 },
79
+ width: 100,
80
+ height: 100,
81
+ },
82
+ },
83
+ ],
84
+ });
85
+ try {
86
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
87
+ expect.anything();
88
+ }
89
+ catch (e) {
90
+ fail();
91
+ }
92
+ });
93
+ test('success test: fontName in Schemas(fallback font)', () => {
94
+ try {
95
+ checkFont({ template: getTemplate(), font: getSampleFont() });
96
+ expect.anything();
97
+ }
98
+ catch (e) {
99
+ fail();
100
+ }
101
+ });
102
+ test('success test: fontName in Schemas(not fallback font)', () => {
103
+ const getFont = () => ({
104
+ SauceHanSansJP: { data: sansData },
105
+ SauceHanSerifJP: { fallback: true, data: serifData },
106
+ });
107
+ try {
108
+ checkFont({ template: getTemplate(), font: getFont() });
109
+ expect.anything();
110
+ }
111
+ catch (e) {
112
+ fail();
113
+ }
114
+ });
115
+ test('fail test: no fallback font', () => {
116
+ const getFont = () => ({
117
+ SauceHanSansJP: { data: sansData },
118
+ SauceHanSerifJP: { data: serifData },
119
+ });
120
+ try {
121
+ checkFont({ template: getTemplate(), font: getFont() });
122
+ fail();
123
+ }
124
+ catch (e) {
125
+ expect(e.message).toEqual(`[@pdfme/common] fallback flag is not found in font. true fallback flag must be only one.
126
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
127
+ }
128
+ });
129
+ test('fail test: too many fallback font', () => {
130
+ const getFont = () => ({
131
+ SauceHanSansJP: { data: sansData, fallback: true },
132
+ SauceHanSerifJP: { data: serifData, fallback: true },
133
+ });
134
+ try {
135
+ checkFont({ template: getTemplate(), font: getFont() });
136
+ fail();
137
+ }
138
+ catch (e) {
139
+ expect(e.message).toEqual(`[@pdfme/common] 2 fallback flags found in font. true fallback flag must be only one.
140
+ Check this document: https://pdfme.com/docs/custom-fonts#about-font-type`);
141
+ }
142
+ });
143
+ test('fail test: fontName in Schemas not found in font(single)', () => {
144
+ const _getTemplate = () => ({
145
+ basePdf: BLANK_PDF,
146
+ schemas: [
147
+ {
148
+ a: {
149
+ type: 'text',
150
+ fontName: 'SauceHanSansJP2',
151
+ position: { x: 0, y: 0 },
152
+ width: 100,
153
+ height: 100,
154
+ },
155
+ b: {
156
+ type: 'text',
157
+ position: { x: 0, y: 0 },
158
+ width: 100,
159
+ height: 100,
160
+ },
161
+ },
162
+ ],
163
+ });
164
+ try {
165
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
166
+ fail();
167
+ }
168
+ catch (e) {
169
+ expect(e.message).toEqual(`[@pdfme/common] SauceHanSansJP2 of template.schemas is not found in font.
170
+ Check this document: https://pdfme.com/docs/custom-fonts`);
171
+ }
172
+ });
173
+ test('fail test: fontName in Schemas not found in font(single)', () => {
174
+ const _getTemplate = () => ({
175
+ basePdf: BLANK_PDF,
176
+ schemas: [
177
+ {
178
+ a: {
179
+ type: 'text',
180
+ fontName: 'SauceHanSansJP2',
181
+ position: { x: 0, y: 0 },
182
+ width: 100,
183
+ height: 100,
184
+ },
185
+ b: {
186
+ type: 'text',
187
+ fontName: 'SauceHanSerifJP2',
188
+ position: { x: 0, y: 0 },
189
+ width: 100,
190
+ height: 100,
191
+ },
192
+ },
193
+ ],
194
+ });
195
+ try {
196
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
197
+ fail();
198
+ }
199
+ catch (e) {
200
+ expect(e.message).toEqual(`[@pdfme/common] SauceHanSansJP2,SauceHanSerifJP2 of template.schemas is not found in font.
201
+ Check this document: https://pdfme.com/docs/custom-fonts`);
202
+ }
203
+ });
204
+ });
205
+ describe('checkPlugins test', () => {
206
+ const plugins = {
207
+ myText: {
208
+ pdf: () => __awaiter(void 0, void 0, void 0, function* () { }),
209
+ ui: () => __awaiter(void 0, void 0, void 0, function* () { }),
210
+ propPanel: {
211
+ propPanelSchema: {},
212
+ defaultValue: '',
213
+ defaultSchema: { type: 'myText', position: { x: 0, y: 0 }, width: 100, height: 100 },
214
+ },
215
+ },
216
+ myImage: {
217
+ pdf: () => __awaiter(void 0, void 0, void 0, function* () { }),
218
+ ui: () => __awaiter(void 0, void 0, void 0, function* () { }),
219
+ propPanel: {
220
+ propPanelSchema: {},
221
+ defaultValue: '',
222
+ defaultSchema: { type: 'myImage', position: { x: 0, y: 0 }, width: 100, height: 100 },
223
+ },
224
+ },
225
+ };
226
+ test('success test: no type in Schemas(no plugins)', () => {
227
+ try {
228
+ const template = getTemplate();
229
+ template.schemas = [];
230
+ checkPlugins({ template, plugins: {} });
231
+ expect.anything();
232
+ }
233
+ catch (e) {
234
+ fail();
235
+ }
236
+ });
237
+ test('success test: no type in Schemas(with plugins)', () => {
238
+ try {
239
+ const template = getTemplate();
240
+ template.schemas = [];
241
+ checkPlugins({ template, plugins });
242
+ expect.anything();
243
+ }
244
+ catch (e) {
245
+ fail();
246
+ }
247
+ });
248
+ test('success test: type in Schemas(single)', () => {
249
+ try {
250
+ const template = getTemplate();
251
+ template.schemas[0].a.type = 'myText';
252
+ template.schemas[0].b.type = 'myText';
253
+ checkPlugins({ template, plugins });
254
+ expect.anything();
255
+ }
256
+ catch (e) {
257
+ fail();
258
+ }
259
+ });
260
+ test('success test: type in Schemas(multiple)', () => {
261
+ try {
262
+ const template = getTemplate();
263
+ template.schemas[0].a.type = 'myText';
264
+ template.schemas[0].b.type = 'myImage';
265
+ checkPlugins({ template, plugins });
266
+ expect.anything();
267
+ }
268
+ catch (e) {
269
+ fail();
270
+ }
271
+ });
272
+ test('fail test: type in Schemas not found in plugins(single)', () => {
273
+ try {
274
+ const template = getTemplate();
275
+ template.schemas[0].a.type = 'fail';
276
+ template.schemas[0].b.type = 'myImage';
277
+ checkPlugins({ template, plugins });
278
+ fail();
279
+ }
280
+ catch (e) {
281
+ expect(e.message).toEqual(`[@pdfme/common] fail of template.schemas is not found in plugins.`);
282
+ }
283
+ });
284
+ test('fail test: type in Schemas not found in plugins(multiple)', () => {
285
+ try {
286
+ const template = getTemplate();
287
+ template.schemas[0].a.type = 'fail';
288
+ template.schemas[0].b.type = 'fail2';
289
+ checkPlugins({ template, plugins });
290
+ fail();
291
+ }
292
+ catch (e) {
293
+ expect(e.message).toEqual(`[@pdfme/common] fail,fail2 of template.schemas is not found in plugins.`);
294
+ }
295
+ });
296
+ });
261
297
  //# sourceMappingURL=helper.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.test.js","sourceRoot":"","sources":["../../../__tests__/helper.test.ts"],"names":[],"mappings":"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"}