qrcode-matrix 0.2.1 → 1.0.0-beta.2

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 (54) hide show
  1. package/README.md +42 -36
  2. package/dist/qrcodeMatrix.umd.js +1298 -1297
  3. package/dist/qrcodeMatrix.umd.min.js +6 -0
  4. package/lib/encode/sjis.d.ts +2 -2
  5. package/lib/encode/sjisData.d.ts +2 -2
  6. package/lib/encode/utf-8.d.ts +2 -2
  7. package/lib/index.d.ts +5 -5
  8. package/lib/lib/BitBuffer.d.ts +9 -9
  9. package/lib/lib/QRMatrix.d.ts +10 -10
  10. package/lib/lib/bch-encode.d.ts +31 -31
  11. package/lib/lib/draw.d.ts +4 -4
  12. package/lib/modes/Alphanumeric.d.ts +3 -3
  13. package/lib/modes/Byte.d.ts +3 -3
  14. package/lib/modes/Kanji.d.ts +3 -3
  15. package/lib/modes/Numeric.d.ts +3 -3
  16. package/lib/modes/mode.d.ts +6 -6
  17. package/lib/qrcode.d.ts +19 -19
  18. package/{dist → lib}/qrcodeMatrix.es.js +1296 -1295
  19. package/{dist → lib}/qrcodeMatrix.js +1301 -1294
  20. package/lib/utils.d.ts +26 -26
  21. package/package.json +7 -8
  22. package/LICENSE +0 -21
  23. package/lib/encode/sjis.js +0 -113
  24. package/lib/encode/sjisData.js +0 -4
  25. package/lib/encode/utf-8.js +0 -23
  26. package/lib/index.js +0 -37
  27. package/lib/lib/BitBuffer.js +0 -39
  28. package/lib/lib/QRMatrix.js +0 -31
  29. package/lib/lib/bch-encode.js +0 -466
  30. package/lib/lib/draw.js +0 -49
  31. package/lib/modes/Alphanumeric.js +0 -49
  32. package/lib/modes/Byte.js +0 -25
  33. package/lib/modes/Kanji.js +0 -46
  34. package/lib/modes/Numeric.js +0 -43
  35. package/lib/modes/mode.js +0 -2
  36. package/lib/qrcode.js +0 -124
  37. package/lib/utils.js +0 -379
  38. package/src/.DS_Store +0 -0
  39. package/src/encode/.DS_Store +0 -0
  40. package/src/encode/sjis.ts +0 -121
  41. package/src/encode/sjisData.ts +0 -2
  42. package/src/encode/utf-8.ts +0 -30
  43. package/src/index.ts +0 -33
  44. package/src/lib/BitBuffer.ts +0 -70
  45. package/src/lib/QRMatrix.ts +0 -39
  46. package/src/lib/bch-encode.ts +0 -639
  47. package/src/lib/draw.ts +0 -77
  48. package/src/modes/Alphanumeric.ts +0 -55
  49. package/src/modes/Byte.ts +0 -30
  50. package/src/modes/Kanji.ts +0 -56
  51. package/src/modes/Numeric.ts +0 -47
  52. package/src/modes/mode.ts +0 -6
  53. package/src/qrcode.ts +0 -237
  54. package/src/utils.ts +0 -459
@@ -1,466 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const BitBuffer_1 = __importDefault(require("./BitBuffer"));
7
- const QRErrorCorrectionLevel = {
8
- L: 1,
9
- M: 0,
10
- Q: 3,
11
- H: 2
12
- };
13
- exports.QRErrorCorrectionLevel = QRErrorCorrectionLevel;
14
- const QRMode = {
15
- MODE_NUMBER: 1 << 0,
16
- MODE_ALPHA_NUM: 1 << 1,
17
- MODE_8BIT_BYTE: 1 << 2,
18
- MODE_KANJI: 1 << 3
19
- };
20
- exports.QRMode = QRMode;
21
- const G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);
22
- const G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);
23
- const G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);
24
- const G15_BCH_DIGIT = getBCHDigit(G15);
25
- const G18_BCH_DIGIT = getBCHDigit(G18);
26
- const RS_BLOCK_TABLE = [
27
- [1, 26, 19],
28
- [1, 26, 16],
29
- [1, 26, 13],
30
- [1, 26, 9],
31
- [1, 44, 34],
32
- [1, 44, 28],
33
- [1, 44, 22],
34
- [1, 44, 16],
35
- [1, 70, 55],
36
- [1, 70, 44],
37
- [2, 35, 17],
38
- [2, 35, 13],
39
- [1, 100, 80],
40
- [2, 50, 32],
41
- [2, 50, 24],
42
- [4, 25, 9],
43
- [1, 134, 108],
44
- [2, 67, 43],
45
- [2, 33, 15, 2, 34, 16],
46
- [2, 33, 11, 2, 34, 12],
47
- [2, 86, 68],
48
- [4, 43, 27],
49
- [4, 43, 19],
50
- [4, 43, 15],
51
- [2, 98, 78],
52
- [4, 49, 31],
53
- [2, 32, 14, 4, 33, 15],
54
- [4, 39, 13, 1, 40, 14],
55
- [2, 121, 97],
56
- [2, 60, 38, 2, 61, 39],
57
- [4, 40, 18, 2, 41, 19],
58
- [4, 40, 14, 2, 41, 15],
59
- [2, 146, 116],
60
- [3, 58, 36, 2, 59, 37],
61
- [4, 36, 16, 4, 37, 17],
62
- [4, 36, 12, 4, 37, 13],
63
- [2, 86, 68, 2, 87, 69],
64
- [4, 69, 43, 1, 70, 44],
65
- [6, 43, 19, 2, 44, 20],
66
- [6, 43, 15, 2, 44, 16],
67
- [4, 101, 81],
68
- [1, 80, 50, 4, 81, 51],
69
- [4, 50, 22, 4, 51, 23],
70
- [3, 36, 12, 8, 37, 13],
71
- [2, 116, 92, 2, 117, 93],
72
- [6, 58, 36, 2, 59, 37],
73
- [4, 46, 20, 6, 47, 21],
74
- [7, 42, 14, 4, 43, 15],
75
- [4, 133, 107],
76
- [8, 59, 37, 1, 60, 38],
77
- [8, 44, 20, 4, 45, 21],
78
- [12, 33, 11, 4, 34, 12],
79
- [3, 145, 115, 1, 146, 116],
80
- [4, 64, 40, 5, 65, 41],
81
- [11, 36, 16, 5, 37, 17],
82
- [11, 36, 12, 5, 37, 13],
83
- [5, 109, 87, 1, 110, 88],
84
- [5, 65, 41, 5, 66, 42],
85
- [5, 54, 24, 7, 55, 25],
86
- [11, 36, 12, 7, 37, 13],
87
- [5, 122, 98, 1, 123, 99],
88
- [7, 73, 45, 3, 74, 46],
89
- [15, 43, 19, 2, 44, 20],
90
- [3, 45, 15, 13, 46, 16],
91
- [1, 135, 107, 5, 136, 108],
92
- [10, 74, 46, 1, 75, 47],
93
- [1, 50, 22, 15, 51, 23],
94
- [2, 42, 14, 17, 43, 15],
95
- [5, 150, 120, 1, 151, 121],
96
- [9, 69, 43, 4, 70, 44],
97
- [17, 50, 22, 1, 51, 23],
98
- [2, 42, 14, 19, 43, 15],
99
- [3, 141, 113, 4, 142, 114],
100
- [3, 70, 44, 11, 71, 45],
101
- [17, 47, 21, 4, 48, 22],
102
- [9, 39, 13, 16, 40, 14],
103
- [3, 135, 107, 5, 136, 108],
104
- [3, 67, 41, 13, 68, 42],
105
- [15, 54, 24, 5, 55, 25],
106
- [15, 43, 15, 10, 44, 16],
107
- [4, 144, 116, 4, 145, 117],
108
- [17, 68, 42],
109
- [17, 50, 22, 6, 51, 23],
110
- [19, 46, 16, 6, 47, 17],
111
- [2, 139, 111, 7, 140, 112],
112
- [17, 74, 46],
113
- [7, 54, 24, 16, 55, 25],
114
- [34, 37, 13],
115
- [4, 151, 121, 5, 152, 122],
116
- [4, 75, 47, 14, 76, 48],
117
- [11, 54, 24, 14, 55, 25],
118
- [16, 45, 15, 14, 46, 16],
119
- [6, 147, 117, 4, 148, 118],
120
- [6, 73, 45, 14, 74, 46],
121
- [11, 54, 24, 16, 55, 25],
122
- [30, 46, 16, 2, 47, 17],
123
- [8, 132, 106, 4, 133, 107],
124
- [8, 75, 47, 13, 76, 48],
125
- [7, 54, 24, 22, 55, 25],
126
- [22, 45, 15, 13, 46, 16],
127
- [10, 142, 114, 2, 143, 115],
128
- [19, 74, 46, 4, 75, 47],
129
- [28, 50, 22, 6, 51, 23],
130
- [33, 46, 16, 4, 47, 17],
131
- [8, 152, 122, 4, 153, 123],
132
- [22, 73, 45, 3, 74, 46],
133
- [8, 53, 23, 26, 54, 24],
134
- [12, 45, 15, 28, 46, 16],
135
- [3, 147, 117, 10, 148, 118],
136
- [3, 73, 45, 23, 74, 46],
137
- [4, 54, 24, 31, 55, 25],
138
- [11, 45, 15, 31, 46, 16],
139
- [7, 146, 116, 7, 147, 117],
140
- [21, 73, 45, 7, 74, 46],
141
- [1, 53, 23, 37, 54, 24],
142
- [19, 45, 15, 26, 46, 16],
143
- [5, 145, 115, 10, 146, 116],
144
- [19, 75, 47, 10, 76, 48],
145
- [15, 54, 24, 25, 55, 25],
146
- [23, 45, 15, 25, 46, 16],
147
- [13, 145, 115, 3, 146, 116],
148
- [2, 74, 46, 29, 75, 47],
149
- [42, 54, 24, 1, 55, 25],
150
- [23, 45, 15, 28, 46, 16],
151
- [17, 145, 115],
152
- [10, 74, 46, 23, 75, 47],
153
- [10, 54, 24, 35, 55, 25],
154
- [19, 45, 15, 35, 46, 16],
155
- [17, 145, 115, 1, 146, 116],
156
- [14, 74, 46, 21, 75, 47],
157
- [29, 54, 24, 19, 55, 25],
158
- [11, 45, 15, 46, 46, 16],
159
- [13, 145, 115, 6, 146, 116],
160
- [14, 74, 46, 23, 75, 47],
161
- [44, 54, 24, 7, 55, 25],
162
- [59, 46, 16, 1, 47, 17],
163
- [12, 151, 121, 7, 152, 122],
164
- [12, 75, 47, 26, 76, 48],
165
- [39, 54, 24, 14, 55, 25],
166
- [22, 45, 15, 41, 46, 16],
167
- [6, 151, 121, 14, 152, 122],
168
- [6, 75, 47, 34, 76, 48],
169
- [46, 54, 24, 10, 55, 25],
170
- [2, 45, 15, 64, 46, 16],
171
- [17, 152, 122, 4, 153, 123],
172
- [29, 74, 46, 14, 75, 47],
173
- [49, 54, 24, 10, 55, 25],
174
- [24, 45, 15, 46, 46, 16],
175
- [4, 152, 122, 18, 153, 123],
176
- [13, 74, 46, 32, 75, 47],
177
- [48, 54, 24, 14, 55, 25],
178
- [42, 45, 15, 32, 46, 16],
179
- [20, 147, 117, 4, 148, 118],
180
- [40, 75, 47, 7, 76, 48],
181
- [43, 54, 24, 22, 55, 25],
182
- [10, 45, 15, 67, 46, 16],
183
- [19, 148, 118, 6, 149, 119],
184
- [18, 75, 47, 31, 76, 48],
185
- [34, 54, 24, 34, 55, 25],
186
- [20, 45, 15, 61, 46, 16]
187
- ].map(arr => new Uint8Array(arr));
188
- const getLengthInBits = (function () {
189
- const BITS_LENGTH_LIST = {
190
- [QRMode.MODE_NUMBER]: [10, 12, 14],
191
- [QRMode.MODE_ALPHA_NUM]: [9, 11, 13],
192
- [QRMode.MODE_8BIT_BYTE]: [8, 16, 16],
193
- [QRMode.MODE_KANJI]: [8, 10, 12]
194
- };
195
- return function (mode, type) {
196
- if (1 <= type && type <= 40) {
197
- var lengths = BITS_LENGTH_LIST[mode];
198
- if (!lengths)
199
- throw 'mode:' + mode;
200
- var index = type <= 9 ? 0 : type <= 26 ? 1 : 2;
201
- return lengths[index];
202
- }
203
- else {
204
- throw new Error('type:' + type);
205
- }
206
- };
207
- })();
208
- exports.getLengthInBits = getLengthInBits;
209
- function getBCHDigit(data) {
210
- let digit = 0;
211
- while (data != 0) {
212
- digit++;
213
- data >>>= 1;
214
- }
215
- return digit;
216
- }
217
- function getBCHTypeInfo(data) {
218
- let d = data << 10;
219
- while (getBCHDigit(d) >= G15_BCH_DIGIT) {
220
- d ^= G15 << (getBCHDigit(d) - G15_BCH_DIGIT);
221
- }
222
- return ((data << 10) | d) ^ G15_MASK;
223
- }
224
- exports.getBCHTypeInfo = getBCHTypeInfo;
225
- function getBCHTypeNumber(data) {
226
- var d = data << 12;
227
- while (getBCHDigit(d) - G18_BCH_DIGIT >= 0) {
228
- d ^= G18 << (getBCHDigit(d) - G18_BCH_DIGIT);
229
- }
230
- return (data << 12) | d;
231
- }
232
- exports.getBCHTypeNumber = getBCHTypeNumber;
233
- function getRsBlockTable(typeNumber, errorCorrectionLevel) {
234
- switch (errorCorrectionLevel) {
235
- case QRErrorCorrectionLevel.L:
236
- return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
237
- case QRErrorCorrectionLevel.M:
238
- return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
239
- case QRErrorCorrectionLevel.Q:
240
- return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
241
- case QRErrorCorrectionLevel.H:
242
- return RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
243
- default:
244
- throw 'bad rs block @ typeNumber:' + typeNumber + '/errorCorrectionLevel:' + errorCorrectionLevel;
245
- }
246
- }
247
- function getRSBlocks(typeNumber, errorCorrectionLevel) {
248
- let rsBlock = getRsBlockTable(typeNumber, errorCorrectionLevel);
249
- let length = rsBlock.length / 3;
250
- let list = [];
251
- for (let i = 0; i < length; i += 1) {
252
- let count = rsBlock[i * 3 + 0];
253
- let totalCount = rsBlock[i * 3 + 1];
254
- let dataCount = rsBlock[i * 3 + 2];
255
- for (let j = 0; j < count; j += 1) {
256
- list.push({ totalCount, dataCount });
257
- }
258
- }
259
- return list;
260
- }
261
- exports.getRSBlocks = getRSBlocks;
262
- const QRMath = (function () {
263
- const EXP_TABLE = new Uint8Array(256);
264
- const LOG_TABLE = new Uint8Array(256);
265
- for (let i = 0; i < 8; i += 1) {
266
- EXP_TABLE[i] = 1 << i;
267
- }
268
- for (let i = 8; i < 256; i += 1) {
269
- EXP_TABLE[i] = EXP_TABLE[i - 4] ^ EXP_TABLE[i - 5] ^ EXP_TABLE[i - 6] ^ EXP_TABLE[i - 8];
270
- }
271
- for (let i = 0; i < 255; i += 1) {
272
- LOG_TABLE[EXP_TABLE[i]] = i;
273
- }
274
- let _this = {
275
- glog: function (n) {
276
- if (n < 1) {
277
- throw 'glog(' + n + ')';
278
- }
279
- return LOG_TABLE[n];
280
- },
281
- gexp: function (n) {
282
- while (n < 0) {
283
- n += 255;
284
- }
285
- while (n >= 256) {
286
- n -= 255;
287
- }
288
- return EXP_TABLE[n];
289
- }
290
- };
291
- return _this;
292
- })();
293
- const qrPolynomial = function (num, shift) {
294
- if (typeof num.length == 'undefined') {
295
- throw num.length + '/' + shift;
296
- }
297
- let _num = (function () {
298
- let offset = 0;
299
- while (offset < num.length && num[offset] == 0) {
300
- offset += 1;
301
- }
302
- let _num = new Array(num.length - offset + shift);
303
- for (let i = 0; i < num.length - offset; i += 1) {
304
- _num[i] = num[i + offset];
305
- }
306
- return _num;
307
- })();
308
- let _this = {
309
- getAt: function (index) {
310
- return _num[index];
311
- },
312
- getLength: function () {
313
- return _num.length;
314
- },
315
- multiply: function (e) {
316
- let num = new Array(_this.getLength() + e.getLength() - 1);
317
- for (let i = 0; i < _this.getLength(); i += 1) {
318
- for (let j = 0; j < e.getLength(); j += 1) {
319
- num[i + j] ^= QRMath.gexp(QRMath.glog(_this.getAt(i)) + QRMath.glog(e.getAt(j)));
320
- }
321
- }
322
- return qrPolynomial(num, 0);
323
- },
324
- mod: function (e) {
325
- if (_this.getLength() - e.getLength() < 0) {
326
- return _this;
327
- }
328
- let ratio = QRMath.glog(_this.getAt(0)) - QRMath.glog(e.getAt(0));
329
- let num = new Array(_this.getLength());
330
- for (let i = 0; i < _this.getLength(); i += 1) {
331
- num[i] = _this.getAt(i);
332
- }
333
- for (let i = 0; i < e.getLength(); i += 1) {
334
- num[i] ^= QRMath.gexp(QRMath.glog(e.getAt(i)) + ratio);
335
- }
336
- return qrPolynomial(num, 0).mod(e);
337
- }
338
- };
339
- return _this;
340
- };
341
- const getErrorCorrectPolynomial = function (errorCorrectLength) {
342
- let a = qrPolynomial([1], 0);
343
- for (let i = 0; i < errorCorrectLength; i += 1) {
344
- a = a.multiply(qrPolynomial([1, QRMath.gexp(i)], 0));
345
- }
346
- return a;
347
- };
348
- const createBytes = function (buffer, rsBlocks) {
349
- let offset = 0;
350
- let maxDcCount = 0;
351
- let maxEcCount = 0;
352
- let dcdata = new Array(rsBlocks.length);
353
- let ecdata = new Array(rsBlocks.length);
354
- for (let r = 0; r < rsBlocks.length; r += 1) {
355
- let dcCount = rsBlocks[r].dataCount;
356
- let ecCount = rsBlocks[r].totalCount - dcCount;
357
- maxDcCount = Math.max(maxDcCount, dcCount);
358
- maxEcCount = Math.max(maxEcCount, ecCount);
359
- dcdata[r] = new Array(dcCount);
360
- for (let i = 0; i < dcdata[r].length; i += 1) {
361
- dcdata[r][i] = 0xff & buffer.getBuffer()[i + offset];
362
- }
363
- offset += dcCount;
364
- let rsPoly = getErrorCorrectPolynomial(ecCount);
365
- let rawPoly = qrPolynomial(dcdata[r], rsPoly.getLength() - 1);
366
- let modPoly = rawPoly.mod(rsPoly);
367
- ecdata[r] = new Array(rsPoly.getLength() - 1);
368
- for (let i = 0; i < ecdata[r].length; i += 1) {
369
- let modIndex = i + modPoly.getLength() - ecdata[r].length;
370
- ecdata[r][i] = modIndex >= 0 ? modPoly.getAt(modIndex) : 0;
371
- }
372
- }
373
- let totalCodeCount = 0;
374
- for (let i = 0; i < rsBlocks.length; i += 1) {
375
- totalCodeCount += rsBlocks[i].totalCount;
376
- }
377
- let data = new Array(totalCodeCount);
378
- let index = 0;
379
- for (let i = 0; i < maxDcCount; i += 1) {
380
- for (let r = 0; r < rsBlocks.length; r += 1) {
381
- if (i < dcdata[r].length) {
382
- data[index] = dcdata[r][i];
383
- index += 1;
384
- }
385
- }
386
- }
387
- for (let i = 0; i < maxEcCount; i += 1) {
388
- for (let r = 0; r < rsBlocks.length; r += 1) {
389
- if (i < ecdata[r].length) {
390
- data[index] = ecdata[r][i];
391
- index += 1;
392
- }
393
- }
394
- }
395
- return data;
396
- };
397
- function getTotal(rsBlocks) {
398
- let totalDataCount = 0;
399
- for (var i = 0; i < rsBlocks.length; i += 1) {
400
- totalDataCount += rsBlocks[i].dataCount;
401
- }
402
- return totalDataCount;
403
- }
404
- const getMaxDataCount = function (typeNumber, errorCorrectionLevel) {
405
- let rsBlocks = getRSBlocks(typeNumber, errorCorrectionLevel);
406
- return getTotal(rsBlocks);
407
- };
408
- exports.getMaxDataCount = getMaxDataCount;
409
- const paddingBuffer = function (buffer, rsBlocks) {
410
- const PAD0 = 0xec;
411
- const PAD1 = 0x11;
412
- let totalDataCount = getTotal(rsBlocks);
413
- if (buffer.getLengthInBits() > totalDataCount * 8) {
414
- throw 'code length overflow. (' + buffer.getLengthInBits() + '>' + totalDataCount * 8 + ')';
415
- }
416
- if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
417
- buffer.put(0, 4);
418
- }
419
- while (buffer.getLengthInBits() % 8 != 0) {
420
- buffer.putBit(false);
421
- }
422
- while (true) {
423
- if (buffer.getLengthInBits() >= totalDataCount * 8) {
424
- break;
425
- }
426
- buffer.put(PAD0, 8);
427
- if (buffer.getLengthInBits() >= totalDataCount * 8) {
428
- break;
429
- }
430
- buffer.put(PAD1, 8);
431
- }
432
- };
433
- const getBufferForBytes = function (typeNumber, byteArray, mode) {
434
- let buffer = BitBuffer_1.default();
435
- let data = byteArray;
436
- buffer.put(mode, 4);
437
- buffer.put(data.length, getLengthInBits(mode, typeNumber));
438
- for (let i = 0; i < data.length; i++) {
439
- buffer.put(data[i], 8);
440
- }
441
- return buffer;
442
- };
443
- const getBufferForModes = function (typeNumber, dataList) {
444
- let buffer = BitBuffer_1.default();
445
- for (let i = 0; i < dataList.length; i += 1) {
446
- let data = dataList[i];
447
- buffer.put(data.getMode(), 4);
448
- buffer.put(data.getLength(), getLengthInBits(data.getMode(), typeNumber));
449
- data.write(buffer);
450
- }
451
- return buffer;
452
- };
453
- exports.getBufferForModes = getBufferForModes;
454
- function createData(typeNumber, errorCorrectionLevel, byteArray, mode) {
455
- let rsBlocks = getRSBlocks(typeNumber, errorCorrectionLevel);
456
- let buffer;
457
- if (mode) {
458
- buffer = getBufferForBytes(typeNumber, byteArray, mode);
459
- }
460
- else {
461
- buffer = getBufferForModes(typeNumber, byteArray);
462
- }
463
- paddingBuffer(buffer, rsBlocks);
464
- return createBytes(buffer, rsBlocks);
465
- }
466
- exports.createData = createData;
package/lib/lib/draw.js DELETED
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const drawLoop = function (matrix, value, x, y, offsetX, offsetY, length) {
4
- let { width, height } = matrix;
5
- let v = value ? 1 : 0;
6
- let _x = x;
7
- let _y = y;
8
- if (length <= 0)
9
- return;
10
- while (length--) {
11
- if (_x >= 0 && _x < width && _y >= 0 && _y < height) {
12
- matrix.set(_x, _y, v);
13
- }
14
- _x += offsetX;
15
- _y += offsetY;
16
- }
17
- };
18
- const rectBorder = function (matrix, val, row, col, width, height) {
19
- if (width < 0 || height < 0)
20
- return;
21
- let set = drawLoop.bind(null, matrix, val ? 1 : 0);
22
- if (width === 1) {
23
- return set(row, col, 0, 1, height);
24
- }
25
- if (height === 1) {
26
- return set(row, col, 1, 0, width);
27
- }
28
- let _w = width - 1;
29
- let _h = height - 1;
30
- set(row, col, 1, 0, _w);
31
- set((row += width - 1), col, 0, 1, _h);
32
- set(row, (col += height - 1), -1, 0, _w);
33
- set((row -= width - 1), col, 0, -1, _h);
34
- };
35
- exports.rectBorder = rectBorder;
36
- const fillRect = function (matrix, val, row, col, width, height) {
37
- let { width: _width, height: _height } = matrix;
38
- let v = val ? 1 : 0;
39
- let _x = row > 0 ? row : 0;
40
- let _y = col > 0 ? col : 0;
41
- let maxX = Math.min(row + width, _width);
42
- let maxY = Math.min(col + height, _height);
43
- for (let y = _y; y < maxY; y++) {
44
- for (let x = _x; x < maxX; x++) {
45
- matrix.set(x, y, v);
46
- }
47
- }
48
- };
49
- exports.fillRect = fillRect;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const QR_MODE = 1 << 1;
4
- const [Code0, Code9, CodeA, CodeZ] = ['0', '9', 'A', 'Z'].map(v => v.charCodeAt(0));
5
- const qrAlphaNum = (function () {
6
- var getCode = function (s) {
7
- var c = s.charCodeAt(0);
8
- if (Code0 <= c && c <= Code9) {
9
- return c - Code0;
10
- }
11
- else if (CodeA <= c && c <= CodeZ) {
12
- return c - CodeA + 10;
13
- }
14
- else {
15
- var other = [' ', '$', '%', '*', '+', '-', '.', '/', ':'];
16
- var i = other.indexOf(s);
17
- if (~i) {
18
- return i + 36;
19
- }
20
- else {
21
- throw 'illegal char :' + s;
22
- }
23
- }
24
- };
25
- return function (data) {
26
- var _data = data;
27
- var _this = {
28
- getMode: function () {
29
- return QR_MODE;
30
- },
31
- getLength: function () {
32
- return _data.length;
33
- },
34
- write: function (buffer) {
35
- var s = _data;
36
- var i = 0;
37
- while (i + 1 < s.length) {
38
- buffer.put(getCode(s.charAt(i)) * 45 + getCode(s.charAt(i + 1)), 11);
39
- i += 2;
40
- }
41
- if (i < s.length) {
42
- buffer.put(getCode(s.charAt(i)), 6);
43
- }
44
- }
45
- };
46
- return _this;
47
- };
48
- })();
49
- exports.default = qrAlphaNum;
package/lib/modes/Byte.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const QR_MODE = 1 << 2;
4
- const qr8BitByte = function (stringToBytes) {
5
- return function (data) {
6
- var _data = data + '';
7
- var _bytes = _data == data ? stringToBytes(_data) : data;
8
- _bytes = _bytes instanceof Array ? _bytes : [];
9
- var _this = {
10
- getMode: function () {
11
- return QR_MODE;
12
- },
13
- getLength: function () {
14
- return _bytes.length;
15
- },
16
- write: function (buffer) {
17
- for (var i = 0; i < _bytes.length; i++) {
18
- buffer.put(_bytes[i], 8);
19
- }
20
- }
21
- };
22
- return _this;
23
- };
24
- };
25
- exports.default = qr8BitByte;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sjis_1 = __importDefault(require("../encode/sjis"));
7
- const QR_MODE = 1 << 3;
8
- const qrKanji = function (stringToBytes) {
9
- stringToBytes = typeof stringToBytes == 'function' ? stringToBytes : sjis_1.default;
10
- return function (data) {
11
- var _data = data;
12
- var _bytes = stringToBytes(data);
13
- var _this = {
14
- getMode: function () {
15
- return QR_MODE;
16
- },
17
- getLength: function () {
18
- return ~~(_bytes.length / 2);
19
- },
20
- write: function (buffer) {
21
- var data = _bytes;
22
- var i = 0;
23
- while (i + 1 < data.length) {
24
- var c = ((0xff & data[i]) << 8) | (0xff & data[i + 1]);
25
- if (0x8140 <= c && c <= 0x9FFC) {
26
- c -= 0x8140;
27
- }
28
- else if (0xE040 <= c && c <= 0xEBBF) {
29
- c -= 0xC140;
30
- }
31
- else {
32
- throw 'illegal char at ' + (i + 1) + '/' + c;
33
- }
34
- c = ((c >>> 8) & 0xff) * 0xC0 + (c & 0xff);
35
- buffer.put(c, 13);
36
- i += 2;
37
- }
38
- if (i < data.length) {
39
- throw 'illegal char at ' + (i + 1);
40
- }
41
- }
42
- };
43
- return _this;
44
- };
45
- };
46
- exports.default = qrKanji;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var QR_MODE = 1;
4
- var qrNumber = (function () {
5
- var strToNum = function (s) {
6
- for (var i = 0; i < s.length; i++) {
7
- var c = s.charAt(i);
8
- if (c < '0' || c > '9') {
9
- throw 'illegal char :' + c;
10
- }
11
- }
12
- return +s;
13
- };
14
- return function (data) {
15
- var _data = data;
16
- var _this = {
17
- getMode: function () {
18
- return QR_MODE;
19
- },
20
- getLength: function () {
21
- return _data.length;
22
- },
23
- write: function (buffer) {
24
- var data = _data;
25
- var i = 0;
26
- while (i + 2 < data.length) {
27
- buffer.put(strToNum(data.substring(i, i + 3)), 10);
28
- i += 3;
29
- }
30
- if (i < data.length) {
31
- if (data.length - i == 1) {
32
- buffer.put(strToNum(data.substring(i, i + 1)), 4);
33
- }
34
- else if (data.length - i == 2) {
35
- buffer.put(strToNum(data.substring(i, i + 2)), 7);
36
- }
37
- }
38
- }
39
- };
40
- return _this;
41
- };
42
- })();
43
- exports.default = qrNumber;
package/lib/modes/mode.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });