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