@juit/qrcode 0.0.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 (82) hide show
  1. package/LICENSE.md +211 -0
  2. package/NOTICE.md +13 -0
  3. package/README.md +175 -0
  4. package/dist/encode.cjs +147 -0
  5. package/dist/encode.cjs.map +6 -0
  6. package/dist/encode.d.ts +11 -0
  7. package/dist/encode.mjs +122 -0
  8. package/dist/encode.mjs.map +6 -0
  9. package/dist/images/path.cjs +145 -0
  10. package/dist/images/path.cjs.map +6 -0
  11. package/dist/images/path.d.ts +6 -0
  12. package/dist/images/path.mjs +120 -0
  13. package/dist/images/path.mjs.map +6 -0
  14. package/dist/images/pdf.cjs +96 -0
  15. package/dist/images/pdf.cjs.map +6 -0
  16. package/dist/images/pdf.d.ts +3 -0
  17. package/dist/images/pdf.mjs +71 -0
  18. package/dist/images/pdf.mjs.map +6 -0
  19. package/dist/images/png.cjs +86 -0
  20. package/dist/images/png.cjs.map +6 -0
  21. package/dist/images/png.d.ts +3 -0
  22. package/dist/images/png.mjs +61 -0
  23. package/dist/images/png.mjs.map +6 -0
  24. package/dist/images/svg.cjs +64 -0
  25. package/dist/images/svg.cjs.map +6 -0
  26. package/dist/images/svg.d.ts +54 -0
  27. package/dist/images/svg.mjs +38 -0
  28. package/dist/images/svg.mjs.map +6 -0
  29. package/dist/index.cjs +110 -0
  30. package/dist/index.cjs.map +6 -0
  31. package/dist/index.d.ts +74 -0
  32. package/dist/index.mjs +74 -0
  33. package/dist/index.mjs.map +6 -0
  34. package/dist/matrix.cjs +360 -0
  35. package/dist/matrix.cjs.map +6 -0
  36. package/dist/matrix.d.ts +3 -0
  37. package/dist/matrix.mjs +335 -0
  38. package/dist/matrix.mjs.map +6 -0
  39. package/dist/qrcode.cjs +183 -0
  40. package/dist/qrcode.cjs.map +6 -0
  41. package/dist/qrcode.d.ts +20 -0
  42. package/dist/qrcode.mjs +158 -0
  43. package/dist/qrcode.mjs.map +6 -0
  44. package/dist/utils/crc32.cjs +53 -0
  45. package/dist/utils/crc32.cjs.map +6 -0
  46. package/dist/utils/crc32.d.ts +9 -0
  47. package/dist/utils/crc32.mjs +28 -0
  48. package/dist/utils/crc32.mjs.map +6 -0
  49. package/dist/utils/dataurl.cjs +35 -0
  50. package/dist/utils/dataurl.cjs.map +6 -0
  51. package/dist/utils/dataurl.d.ts +1 -0
  52. package/dist/utils/dataurl.mjs +10 -0
  53. package/dist/utils/dataurl.mjs.map +6 -0
  54. package/dist/utils/deflate.cjs +39 -0
  55. package/dist/utils/deflate.cjs.map +6 -0
  56. package/dist/utils/deflate.d.ts +2 -0
  57. package/dist/utils/deflate.mjs +14 -0
  58. package/dist/utils/deflate.mjs.map +6 -0
  59. package/dist/utils/ecc.cjs +93 -0
  60. package/dist/utils/ecc.cjs.map +6 -0
  61. package/dist/utils/ecc.d.ts +2 -0
  62. package/dist/utils/ecc.mjs +68 -0
  63. package/dist/utils/ecc.mjs.map +6 -0
  64. package/dist/utils/merge.cjs +41 -0
  65. package/dist/utils/merge.cjs.map +6 -0
  66. package/dist/utils/merge.d.ts +2 -0
  67. package/dist/utils/merge.mjs +16 -0
  68. package/dist/utils/merge.mjs.map +6 -0
  69. package/package.json +61 -0
  70. package/src/encode.ts +180 -0
  71. package/src/images/path.ts +131 -0
  72. package/src/images/pdf.ts +76 -0
  73. package/src/images/png.ts +105 -0
  74. package/src/images/svg.ts +102 -0
  75. package/src/index.ts +147 -0
  76. package/src/matrix.ts +392 -0
  77. package/src/qrcode.ts +217 -0
  78. package/src/utils/crc32.ts +50 -0
  79. package/src/utils/dataurl.ts +7 -0
  80. package/src/utils/deflate.ts +17 -0
  81. package/src/utils/ecc.ts +95 -0
  82. package/src/utils/merge.ts +13 -0
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // matrix.ts
21
+ var matrix_exports = {};
22
+ __export(matrix_exports, {
23
+ generateQrCodeMatrix: () => generateQrCodeMatrix
24
+ });
25
+ module.exports = __toCommonJS(matrix_exports);
26
+ function init(version) {
27
+ const n = version * 4 + 17;
28
+ const matrix = new Array(n);
29
+ for (let i = 0; i < n; i++) {
30
+ matrix[i] = new Array(n).fill(0);
31
+ }
32
+ return matrix;
33
+ }
34
+ function fillFinders(matrix) {
35
+ const n = matrix.length;
36
+ for (let i = -3; i <= 3; i++) {
37
+ for (let j = -3; j <= 3; j++) {
38
+ const max = Math.max(i, j);
39
+ const min = Math.min(i, j);
40
+ const pixel = max == 2 && min >= -2 || min == -2 && max <= 2 ? 128 : 129;
41
+ matrix[3 + i][3 + j] = pixel;
42
+ matrix[3 + i][n - 4 + j] = pixel;
43
+ matrix[n - 4 + i][3 + j] = pixel;
44
+ }
45
+ }
46
+ for (let i = 0; i < 8; i++) {
47
+ matrix[7][i] = matrix[i][7] = matrix[7][n - i - 1] = matrix[i][n - 8] = matrix[n - 8][i] = matrix[n - 1 - i][7] = 128;
48
+ }
49
+ }
50
+ function fillAlignAndTiming(matrix) {
51
+ const n = matrix.length;
52
+ if (n > 21) {
53
+ const len = n - 13;
54
+ let delta = Math.round(len / Math.ceil(len / 28));
55
+ if (delta % 2)
56
+ delta++;
57
+ const res = [];
58
+ for (let p = len + 6; p > 10; p -= delta) {
59
+ res.unshift(p);
60
+ }
61
+ res.unshift(6);
62
+ for (let i = 0; i < res.length; i++) {
63
+ for (let j = 0; j < res.length; j++) {
64
+ const x = res[i];
65
+ const y = res[j];
66
+ if (matrix[x][y])
67
+ continue;
68
+ for (let r = -2; r <= 2; r++) {
69
+ for (let c = -2; c <= 2; c++) {
70
+ const max = Math.max(r, c);
71
+ const min = Math.min(r, c);
72
+ const pixel = max == 1 && min >= -1 || min == -1 && max <= 1 ? 128 : 129;
73
+ matrix[x + r][y + c] = pixel;
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
79
+ for (let i = 8; i < n - 8; i++) {
80
+ matrix[6][i] = matrix[i][6] = i % 2 ? 128 : 129;
81
+ }
82
+ }
83
+ function fillStub(matrix) {
84
+ const n = matrix.length;
85
+ for (let i = 0; i < 8; i++) {
86
+ if (i != 6) {
87
+ matrix[8][i] = matrix[i][8] = 128;
88
+ }
89
+ matrix[8][n - 1 - i] = 128;
90
+ matrix[n - 1 - i][8] = 128;
91
+ }
92
+ matrix[8][8] = 128;
93
+ matrix[n - 8][8] = 129;
94
+ if (n < 45)
95
+ return;
96
+ for (let i = n - 11; i < n - 8; i++) {
97
+ for (let j = 0; j < 6; j++) {
98
+ matrix[i][j] = matrix[j][i] = 128;
99
+ }
100
+ }
101
+ }
102
+ var fillReserved = (() => {
103
+ const FORMATS = new Array(32);
104
+ const VERSIONS = new Array(40);
105
+ const gf15 = 1335;
106
+ const gf18 = 7973;
107
+ const formatsMask = 21522;
108
+ for (let format = 0; format < 32; format++) {
109
+ let res = format << 10;
110
+ for (let i = 5; i > 0; i--) {
111
+ if (res >>> 9 + i) {
112
+ res = res ^ gf15 << i - 1;
113
+ }
114
+ }
115
+ FORMATS[format] = (res | format << 10) ^ formatsMask;
116
+ }
117
+ for (let version = 7; version <= 40; version++) {
118
+ let res = version << 12;
119
+ for (let i = 6; i > 0; i--) {
120
+ if (res >>> 11 + i) {
121
+ res = res ^ gf18 << i - 1;
122
+ }
123
+ }
124
+ VERSIONS[version] = res | version << 12;
125
+ }
126
+ const EC_LEVELS = { L: 1, M: 0, Q: 3, H: 2 };
127
+ return function fillReserved2(matrix, ecLevel, mask) {
128
+ const N = matrix.length;
129
+ const format = FORMATS[EC_LEVELS[ecLevel] << 3 | mask];
130
+ function _f(k) {
131
+ return format >> k & 1 ? 129 : 128;
132
+ }
133
+ for (let i = 0; i < 8; i++) {
134
+ matrix[8][N - 1 - i] = _f(i);
135
+ if (i < 6)
136
+ matrix[i][8] = _f(i);
137
+ }
138
+ for (let i = 8; i < 15; i++) {
139
+ matrix[N - 15 + i][8] = _f(i);
140
+ if (i > 8)
141
+ matrix[8][14 - i] = _f(i);
142
+ }
143
+ matrix[7][8] = _f(6);
144
+ matrix[8][8] = _f(7);
145
+ matrix[8][7] = _f(8);
146
+ const version = VERSIONS[(N - 17) / 4];
147
+ if (!version)
148
+ return;
149
+ function _v(k) {
150
+ return version >> k & 1 ? 129 : 128;
151
+ }
152
+ for (let i = 0; i < 6; i++) {
153
+ for (let j = 0; j < 3; j++) {
154
+ matrix[N - 11 + j][i] = matrix[i][N - 11 + j] = _v(i * 3 + j);
155
+ }
156
+ }
157
+ };
158
+ })();
159
+ var fillData = /* @__PURE__ */ (() => {
160
+ const MASK_FUNCTIONS = [
161
+ function(i, j) {
162
+ return (i + j) % 2 == 0;
163
+ },
164
+ function(i, j) {
165
+ return i % 2 == 0;
166
+ },
167
+ function(i, j) {
168
+ return j % 3 == 0;
169
+ },
170
+ function(i, j) {
171
+ return (i + j) % 3 == 0;
172
+ },
173
+ function(i, j) {
174
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
175
+ },
176
+ function(i, j) {
177
+ return i * j % 2 + i * j % 3 == 0;
178
+ },
179
+ function(i, j) {
180
+ return (i * j % 2 + i * j % 3) % 2 == 0;
181
+ },
182
+ function(i, j) {
183
+ return (i * j % 3 + (i + j) % 2) % 2 == 0;
184
+ }
185
+ ];
186
+ return function fillData2(matrix, data, mask) {
187
+ const N = matrix.length;
188
+ let row;
189
+ let col;
190
+ let dir = -1;
191
+ row = col = N - 1;
192
+ const maskFn = MASK_FUNCTIONS[mask];
193
+ let len = data.blockData[data.blockData.length - 1].length;
194
+ for (let i = 0; i < len; i++) {
195
+ for (let b = 0; b < data.blockData.length; b++) {
196
+ if (data.blockData[b].length <= i)
197
+ continue;
198
+ put(data.blockData[b][i]);
199
+ }
200
+ }
201
+ len = data.ecData[0].length;
202
+ for (let i = 0; i < len; i++) {
203
+ for (let b = 0; b < data.ecData.length; b++) {
204
+ put(data.ecData[b][i]);
205
+ }
206
+ }
207
+ if (col > -1) {
208
+ do {
209
+ matrix[row][col] = maskFn(row, col) ? 1 : 0;
210
+ } while (next());
211
+ }
212
+ function put(byte) {
213
+ for (let mask2 = 128; mask2; mask2 = mask2 >> 1) {
214
+ let pixel = !!(mask2 & byte);
215
+ if (maskFn(row, col))
216
+ pixel = !pixel;
217
+ matrix[row][col] = pixel ? 1 : 0;
218
+ next();
219
+ }
220
+ }
221
+ function next() {
222
+ do {
223
+ if (col % 2 ^ (col < 6 ? 1 : 0)) {
224
+ if (dir < 0 && row == 0 || dir > 0 && row == N - 1) {
225
+ col--;
226
+ dir = -dir;
227
+ } else {
228
+ col++;
229
+ row += dir;
230
+ }
231
+ } else {
232
+ col--;
233
+ }
234
+ if (col == 6) {
235
+ col--;
236
+ }
237
+ if (col < 0) {
238
+ return false;
239
+ }
240
+ } while (matrix[row][col] & 240);
241
+ return true;
242
+ }
243
+ };
244
+ })();
245
+ function calculatePenalty(matrix) {
246
+ const N = matrix.length;
247
+ let penalty = 0;
248
+ for (let i2 = 0; i2 < N; i2++) {
249
+ let pixel = matrix[i2][0] & 1;
250
+ let len = 1;
251
+ for (let j2 = 1; j2 < N; j2++) {
252
+ const p = matrix[i2][j2] & 1;
253
+ if (p == pixel) {
254
+ len++;
255
+ continue;
256
+ }
257
+ if (len >= 5) {
258
+ penalty += len - 2;
259
+ }
260
+ pixel = p;
261
+ len = 1;
262
+ }
263
+ if (len >= 5) {
264
+ penalty += len - 2;
265
+ }
266
+ }
267
+ for (let j2 = 0; j2 < N; j2++) {
268
+ let pixel = matrix[0][j2] & 1;
269
+ let len = 1;
270
+ for (let i2 = 1; i2 < N; i2++) {
271
+ const p = matrix[i2][j2] & 1;
272
+ if (p == pixel) {
273
+ len++;
274
+ continue;
275
+ }
276
+ if (len >= 5) {
277
+ penalty += len - 2;
278
+ }
279
+ pixel = p;
280
+ len = 1;
281
+ }
282
+ if (len >= 5) {
283
+ penalty += len - 2;
284
+ }
285
+ }
286
+ for (let i2 = 0; i2 < N - 1; i2++) {
287
+ for (let j2 = 0; j2 < N - 1; j2++) {
288
+ const s = matrix[i2][j2] + matrix[i2][j2 + 1] + matrix[i2 + 1][j2] + matrix[i2 + 1][j2 + 1] & 7;
289
+ if (s == 0 || s == 4) {
290
+ penalty += 3;
291
+ }
292
+ }
293
+ }
294
+ let i;
295
+ let j;
296
+ function _i(k) {
297
+ return matrix[i][j + k] & 1;
298
+ }
299
+ function _j(k) {
300
+ return matrix[i + k][j] & 1;
301
+ }
302
+ for (i = 0; i < N; i++) {
303
+ for (j = 0; j < N; j++) {
304
+ if (j < N - 6 && _i(0) && !_i(1) && _i(2) && _i(3) && _i(4) && !_i(5) && _i(6)) {
305
+ if (j >= 4 && !(_i(-4) || _i(-3) || _i(-2) || _i(-1))) {
306
+ penalty += 40;
307
+ }
308
+ if (j < N - 10 && !(_i(7) || _i(8) || _i(9) || _i(10))) {
309
+ penalty += 40;
310
+ }
311
+ }
312
+ if (i < N - 6 && _j(0) && !_j(1) && _j(2) && _j(3) && _j(4) && !_j(5) && _j(6)) {
313
+ if (i >= 4 && !(_j(-4) || _j(-3) || _j(-2) || _j(-1))) {
314
+ penalty += 40;
315
+ }
316
+ if (i < N - 10 && !(_j(7) || _j(8) || _j(9) || _j(10))) {
317
+ penalty += 40;
318
+ }
319
+ }
320
+ }
321
+ }
322
+ let numDark = 0;
323
+ for (let i2 = 0; i2 < N; i2++) {
324
+ for (let j2 = 0; j2 < N; j2++) {
325
+ if (matrix[i2][j2] & 1)
326
+ numDark++;
327
+ }
328
+ }
329
+ penalty += 10 * Math.floor(Math.abs(10 - 20 * numDark / (N * N)));
330
+ return penalty;
331
+ }
332
+ function generateQrCodeMatrix(code) {
333
+ const matrix = init(code.version);
334
+ fillFinders(matrix);
335
+ fillAlignAndTiming(matrix);
336
+ fillStub(matrix);
337
+ let penalty = Infinity;
338
+ let bestMask = 0;
339
+ for (let mask = 0; mask < 8; mask++) {
340
+ fillData(matrix, code, mask);
341
+ fillReserved(matrix, code.ecLevel, mask);
342
+ const p = calculatePenalty(matrix);
343
+ if (p < penalty) {
344
+ penalty = p;
345
+ bestMask = mask;
346
+ }
347
+ }
348
+ fillData(matrix, code, bestMask);
349
+ fillReserved(matrix, code.ecLevel, bestMask);
350
+ return matrix.map((row) => {
351
+ return row.map((cell) => {
352
+ return !!(cell & 1);
353
+ });
354
+ });
355
+ }
356
+ // Annotate the CommonJS export names for ESM import in node:
357
+ 0 && (module.exports = {
358
+ generateQrCodeMatrix
359
+ });
360
+ //# sourceMappingURL=matrix.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/matrix.ts"],
4
+ "mappings": "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",
5
+ "names": ["fillReserved", "fillData", "mask", "i", "j"]
6
+ }
@@ -0,0 +1,3 @@
1
+ import type { QrCodeData } from './qrcode';
2
+ /** Generate a matrix from a QR code data structure */
3
+ export declare function generateQrCodeMatrix(code: QrCodeData): boolean[][];