@pdfme/common 1.0.18 → 1.1.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 (45) hide show
  1. package/dist/cjs/__tests__/helper.test.js +411 -0
  2. package/dist/cjs/__tests__/helper.test.js.map +1 -0
  3. package/dist/cjs/src/constants.js +11 -0
  4. package/dist/cjs/src/constants.js.map +1 -0
  5. package/dist/cjs/src/helper.js +206 -0
  6. package/dist/cjs/src/helper.js.map +1 -0
  7. package/dist/cjs/src/index.js +30 -0
  8. package/dist/cjs/src/index.js.map +1 -0
  9. package/dist/cjs/src/schema.js +91 -0
  10. package/dist/cjs/src/schema.js.map +1 -0
  11. package/dist/cjs/src/type.js +12 -0
  12. package/dist/cjs/src/type.js.map +1 -0
  13. package/dist/esm/__tests__/helper.test.js +386 -0
  14. package/dist/esm/__tests__/helper.test.js.map +1 -0
  15. package/dist/esm/src/constants.js +8 -0
  16. package/dist/esm/src/constants.js.map +1 -0
  17. package/dist/esm/src/helper.js +190 -0
  18. package/dist/esm/src/helper.js.map +1 -0
  19. package/dist/esm/src/index.js +5 -0
  20. package/dist/esm/src/index.js.map +1 -0
  21. package/dist/esm/src/schema.js +88 -0
  22. package/dist/esm/src/schema.js.map +1 -0
  23. package/dist/esm/src/type.js +6 -0
  24. package/dist/esm/src/type.js.map +1 -0
  25. package/dist/types/__tests__/helper.test.d.ts +1 -0
  26. package/dist/types/src/constants.d.ts +7 -0
  27. package/dist/types/{helper.d.ts → src/helper.d.ts} +1 -1
  28. package/dist/types/{index.d.ts → src/index.d.ts} +4 -4
  29. package/dist/types/{schema.d.ts → src/schema.d.ts} +721 -721
  30. package/dist/types/{type.d.ts → src/type.d.ts} +11 -11
  31. package/package.json +17 -10
  32. package/src/constants.ts +3 -0
  33. package/src/helper.ts +4 -4
  34. package/src/index.ts +4 -4
  35. package/src/type.ts +1 -1
  36. package/tsconfig.cjs.json +9 -0
  37. package/tsconfig.esm.json +9 -0
  38. package/declaration.d.ts +0 -1
  39. package/dist/index.js +0 -3
  40. package/dist/index.js.LICENSE.txt +0 -6
  41. package/dist/index.js.map +0 -1
  42. package/dist/types/constants.d.ts +0 -6
  43. package/src/assets/Helvetica.ttf +0 -0
  44. package/tsconfig.json +0 -21
  45. package/webpack.config.js +0 -54
@@ -0,0 +1,386 @@
1
+ import { readFileSync } from 'fs';
2
+ import * as path from 'path';
3
+ import { checkFont, validateBarcodeInput } from '../src/helper';
4
+ import { BLANK_PDF } from '../src';
5
+ const sansData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSansJP.ttf`));
6
+ const serifData = readFileSync(path.join(__dirname, `/assets/fonts/SauceHanSerifJP.ttf`));
7
+ const getSampleFont = () => ({
8
+ SauceHanSansJP: { fallback: true, data: sansData },
9
+ SauceHanSerifJP: { data: serifData },
10
+ });
11
+ const getTemplate = () => ({
12
+ basePdf: BLANK_PDF,
13
+ schemas: [
14
+ {
15
+ a: {
16
+ type: 'text',
17
+ fontName: 'SauceHanSansJP',
18
+ position: { x: 0, y: 0 },
19
+ width: 100,
20
+ height: 100,
21
+ },
22
+ b: {
23
+ type: 'text',
24
+ position: { x: 0, y: 0 },
25
+ width: 100,
26
+ height: 100,
27
+ },
28
+ },
29
+ ],
30
+ });
31
+ describe('checkFont test', () => {
32
+ test('success test: no fontName in Schemas', () => {
33
+ const _getTemplate = () => ({
34
+ basePdf: BLANK_PDF,
35
+ schemas: [
36
+ {
37
+ a: {
38
+ type: 'text',
39
+ position: { x: 0, y: 0 },
40
+ width: 100,
41
+ height: 100,
42
+ },
43
+ b: {
44
+ type: 'text',
45
+ position: { x: 0, y: 0 },
46
+ width: 100,
47
+ height: 100,
48
+ },
49
+ },
50
+ ],
51
+ });
52
+ try {
53
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
54
+ expect.anything();
55
+ }
56
+ catch (e) {
57
+ fail();
58
+ }
59
+ });
60
+ test('success test: fontName in Schemas(fallback font)', () => {
61
+ try {
62
+ checkFont({ template: getTemplate(), font: getSampleFont() });
63
+ expect.anything();
64
+ }
65
+ catch (e) {
66
+ fail();
67
+ }
68
+ });
69
+ test('success test: fontName in Schemas(not fallback font)', () => {
70
+ const getFont = () => ({
71
+ SauceHanSansJP: { data: sansData },
72
+ SauceHanSerifJP: { fallback: true, data: serifData },
73
+ });
74
+ try {
75
+ checkFont({ template: getTemplate(), font: getFont() });
76
+ expect.anything();
77
+ }
78
+ catch (e) {
79
+ fail();
80
+ }
81
+ });
82
+ test('fail test: no fallback font', () => {
83
+ const getFont = () => ({
84
+ SauceHanSansJP: { data: sansData },
85
+ SauceHanSerifJP: { data: serifData },
86
+ });
87
+ try {
88
+ checkFont({ template: getTemplate(), font: getFont() });
89
+ fail();
90
+ }
91
+ catch (e) {
92
+ expect(e.message).toEqual('fallback flag is not found in font. true fallback flag must be only one.');
93
+ }
94
+ });
95
+ test('fail test: too many fallback font', () => {
96
+ const getFont = () => ({
97
+ SauceHanSansJP: { data: sansData, fallback: true },
98
+ SauceHanSerifJP: { data: serifData, fallback: true },
99
+ });
100
+ try {
101
+ checkFont({ template: getTemplate(), font: getFont() });
102
+ fail();
103
+ }
104
+ catch (e) {
105
+ expect(e.message).toEqual('2 fallback flags found in font. true fallback flag must be only one.');
106
+ }
107
+ });
108
+ test('fail test: fontName in Schemas not found in font(single)', () => {
109
+ const _getTemplate = () => ({
110
+ basePdf: BLANK_PDF,
111
+ schemas: [
112
+ {
113
+ a: {
114
+ type: 'text',
115
+ fontName: 'SauceHanSansJP2',
116
+ position: { x: 0, y: 0 },
117
+ width: 100,
118
+ height: 100,
119
+ },
120
+ b: {
121
+ type: 'text',
122
+ position: { x: 0, y: 0 },
123
+ width: 100,
124
+ height: 100,
125
+ },
126
+ },
127
+ ],
128
+ });
129
+ try {
130
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
131
+ fail();
132
+ }
133
+ catch (e) {
134
+ expect(e.message).toEqual('SauceHanSansJP2 of template.schemas is not found in font.');
135
+ }
136
+ });
137
+ test('fail test: fontName in Schemas not found in font(single)', () => {
138
+ const _getTemplate = () => ({
139
+ basePdf: BLANK_PDF,
140
+ schemas: [
141
+ {
142
+ a: {
143
+ type: 'text',
144
+ fontName: 'SauceHanSansJP2',
145
+ position: { x: 0, y: 0 },
146
+ width: 100,
147
+ height: 100,
148
+ },
149
+ b: {
150
+ type: 'text',
151
+ fontName: 'SauceHanSerifJP2',
152
+ position: { x: 0, y: 0 },
153
+ width: 100,
154
+ height: 100,
155
+ },
156
+ },
157
+ ],
158
+ });
159
+ try {
160
+ checkFont({ template: _getTemplate(), font: getSampleFont() });
161
+ fail();
162
+ }
163
+ catch (e) {
164
+ expect(e.message).toEqual('SauceHanSansJP2,SauceHanSerifJP2 of template.schemas is not found in font.');
165
+ }
166
+ });
167
+ });
168
+ describe('validateBarcodeInput test', () => {
169
+ test('qrcode', () => {
170
+ // 500文字以下
171
+ const type = 'qrcode';
172
+ const valid = 'https://www.google.com/';
173
+ const valid2 = '漢字を含む文字列';
174
+ const invalid2 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQ';
175
+ const blank = '';
176
+ expect(validateBarcodeInput(type, valid)).toEqual(true);
177
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
178
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
179
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
180
+ });
181
+ test('japanpost', () => {
182
+ // https://barcode-place.azurewebsites.net/Barcode/zip
183
+ // 郵便番号は数字(0-9)のみ、住所表示番号は英数字(0-9,A-Z)とハイフン(-)が使用可能です。
184
+ const type = 'japanpost';
185
+ const valid1 = '10000131-3-2-503';
186
+ const valid2 = '10000131-3-2-B503';
187
+ const invalid1 = 'invalid';
188
+ const invalid2 = '10000131=3=2-503';
189
+ const invalid3 = '10000131=3=2-503';
190
+ const invalid4 = '10000131-3-2-b503';
191
+ const blank = '';
192
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
193
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
194
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
195
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
196
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
197
+ expect(validateBarcodeInput(type, invalid4)).toEqual(false);
198
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
199
+ });
200
+ test('ean13', () => {
201
+ // https://barcode-place.azurewebsites.net/Barcode/jan
202
+ // 有効文字は数値(0-9)のみ。標準タイプはチェックデジットを含まない12桁orチェックデジットを含む13桁
203
+ const type = 'ean13';
204
+ const valid1 = '111111111111';
205
+ const valid2 = '1111111111116';
206
+ const valid3 = '2822224229221';
207
+ const valid4 = '3433333133331';
208
+ const valid5 = '8434244447413';
209
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
210
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
211
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
212
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
213
+ expect(validateBarcodeInput(type, valid5)).toEqual(true);
214
+ const invalid1 = '111';
215
+ const invalid2 = '111111111111111111111111';
216
+ const invalid3 = 'invalid';
217
+ const invalid4 = '11111a111111';
218
+ const invalid5 = '1111111111111';
219
+ const blank = '';
220
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
221
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
222
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
223
+ expect(validateBarcodeInput(type, invalid4)).toEqual(false);
224
+ expect(validateBarcodeInput(type, invalid5)).toEqual(false);
225
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
226
+ });
227
+ test('ean8', () => {
228
+ // https://barcode-place.azurewebsites.net/Barcode/jan
229
+ // 有効文字は数値(0-9)のみ。短縮タイプはチェックデジットを含まない7桁orチェックデジットを含む8桁
230
+ const type = 'ean8';
231
+ const valid1 = '1111111';
232
+ const valid2 = '11111115';
233
+ const valid3 = '22222220';
234
+ const valid4 = '33333335';
235
+ const valid5 = '44444440';
236
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
237
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
238
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
239
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
240
+ expect(validateBarcodeInput(type, valid5)).toEqual(true);
241
+ const invalid1 = '111';
242
+ const invalid2 = '11111111111111111111';
243
+ const invalid3 = 'invalid';
244
+ const invalid4 = '111a111';
245
+ const invalid5 = '44444441';
246
+ const blank = '';
247
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
248
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
249
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
250
+ expect(validateBarcodeInput(type, invalid4)).toEqual(false);
251
+ expect(validateBarcodeInput(type, invalid5)).toEqual(false);
252
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
253
+ });
254
+ test('code39', () => {
255
+ // https://barcode-place.azurewebsites.net/Barcode/code39
256
+ // CODE39は数字(0-9)、アルファベット大文字(A-Z)、記号(-.$/+%)、半角スペースに対応しています。
257
+ const type = 'code39';
258
+ const valid1 = '12345';
259
+ const valid2 = 'ABCDE';
260
+ const valid3 = '1A2B3C4D5G';
261
+ const valid4 = '1-A $2/B+3%C4D5G';
262
+ const invalid1 = '123a45';
263
+ const invalid2 = '1-A$2/B+3%C4=D5G';
264
+ const blank = '';
265
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
266
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
267
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
268
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
269
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
270
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
271
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
272
+ });
273
+ test('code128', () => {
274
+ // https://www.keyence.co.jp/ss/products/autoid/codereader/basic_code128.jsp
275
+ // コンピュータのキーボードから打てる文字(漢字、ひらがな、カタカナ以外)可能
276
+ const type = 'code128';
277
+ const valid1 = '12345';
278
+ const valid2 = '1-A$2/B+3%C4=D5G';
279
+ const valid3 = '1-A$2/B+3%C4=D5Ga~';
280
+ const invalid1 = '1-A$2/B+3%C4=D5Gひらがな';
281
+ const invalid2 = '1-A$2/B+3%C4=D5G〜';
282
+ const invalid3 = '1ーA$2・B+3%C4=D5G〜';
283
+ const blank = '';
284
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
285
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
286
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
287
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
288
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
289
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
290
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
291
+ });
292
+ test('nw7', () => {
293
+ // https://barcode-place.azurewebsites.net/Barcode/nw7
294
+ // https://en.wikipedia.org/wiki/Codabar
295
+ // NW-7は数字(0-9)と記号(-.$:/+)に対応しています。
296
+ // スタートコード/ストップコードとして、コードの始まりと終わりはアルファベット(A-D)のいずれかを使用してください。
297
+ const type = 'nw7';
298
+ const valid1 = 'A12345D';
299
+ const valid2 = 'A$2/+345D';
300
+ const valid3 = 'a4321D';
301
+ const invalid1 = 'A12345G';
302
+ const invalid2 = 'A12a45D';
303
+ const blank = '';
304
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
305
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
306
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
307
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
308
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
309
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
310
+ });
311
+ test('itf14', () => {
312
+ // https://barcode-place.azurewebsites.net/Barcode/itf
313
+ // 有効文字は数値(0-9)のみ。 チェックデジットを含まない13桁orチェックデジットを含む14桁
314
+ const type = 'itf14';
315
+ const valid1 = '1111111111111';
316
+ const valid2 = '11111111111113';
317
+ const valid3 = '22222222222226';
318
+ const valid4 = '33333333333339';
319
+ const valid5 = '44444444444442';
320
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
321
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
322
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
323
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
324
+ expect(validateBarcodeInput(type, valid5)).toEqual(true);
325
+ const invalid1 = '111';
326
+ const invalid2 = '11111111111111111111111111111';
327
+ const invalid3 = '11111111111112';
328
+ const blank = '';
329
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
330
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
331
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
332
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
333
+ });
334
+ test('upca', () => {
335
+ // https://barcode-place.azurewebsites.net/Barcode/upc
336
+ // 有効文字は数値(0-9)のみ。 チェックデジットを含まない11桁orチェックデジットを含む12桁。
337
+ const type = 'upca';
338
+ const valid1 = '12345678901';
339
+ const valid2 = '123456789012';
340
+ const valid3 = '123456789036';
341
+ const valid4 = '126456789013';
342
+ const valid5 = '123456759015';
343
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
344
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
345
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
346
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
347
+ expect(validateBarcodeInput(type, valid5)).toEqual(true);
348
+ const invalid1 = '1234567890';
349
+ const invalid2 = '1234567890123';
350
+ const invalid3 = '123456789011';
351
+ const invalid4 = '126456789014';
352
+ const blank = '';
353
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
354
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
355
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
356
+ expect(validateBarcodeInput(type, invalid4)).toEqual(false);
357
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
358
+ });
359
+ test('upce', () => {
360
+ // https://barcode-place.azurewebsites.net/Barcode/upc
361
+ // 有効文字は数値(0-9)のみ。 1桁目に指定できる数字(ナンバーシステムキャラクタ)は0のみ。
362
+ // チェックデジットを含まない7桁orチェックデジットを含む8桁。
363
+ const type = 'upce';
364
+ const valid1 = '0111111';
365
+ const valid2 = '01111118';
366
+ const valid3 = '01111125';
367
+ const valid4 = '01114126';
368
+ const valid5 = '01101126';
369
+ const blank = '';
370
+ expect(validateBarcodeInput(type, valid1)).toEqual(true);
371
+ expect(validateBarcodeInput(type, valid2)).toEqual(true);
372
+ expect(validateBarcodeInput(type, valid3)).toEqual(true);
373
+ expect(validateBarcodeInput(type, valid4)).toEqual(true);
374
+ expect(validateBarcodeInput(type, valid5)).toEqual(true);
375
+ const invalid1 = '1111111';
376
+ const invalid2 = '011111111';
377
+ const invalid3 = '01111128';
378
+ const invalid4 = '01114125';
379
+ expect(validateBarcodeInput(type, invalid1)).toEqual(false);
380
+ expect(validateBarcodeInput(type, invalid2)).toEqual(false);
381
+ expect(validateBarcodeInput(type, invalid3)).toEqual(false);
382
+ expect(validateBarcodeInput(type, invalid4)).toEqual(false);
383
+ expect(validateBarcodeInput(type, blank)).toEqual(false);
384
+ });
385
+ });
386
+ //# 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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"}