@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,158 @@
1
+ // qrcode.ts
2
+ import { calculateEcc } from "./utils/ecc.mjs";
3
+ var EC_LEVELS = ["L", "M", "Q", "H"];
4
+ var CODEWORDS = [
5
+ [-1, -1, -1, -1, -1, -1, -1, -1, -1],
6
+ // there is no version 0
7
+ [26, 7, 1, 10, 1, 13, 1, 17, 1],
8
+ [44, 10, 1, 16, 1, 22, 1, 28, 1],
9
+ [70, 15, 1, 26, 1, 36, 2, 44, 2],
10
+ [100, 20, 1, 36, 2, 52, 2, 64, 4],
11
+ [134, 26, 1, 48, 2, 72, 4, 88, 4],
12
+ // 5
13
+ [172, 36, 2, 64, 4, 96, 4, 112, 4],
14
+ [196, 40, 2, 72, 4, 108, 6, 130, 5],
15
+ [242, 48, 2, 88, 4, 132, 6, 156, 6],
16
+ [292, 60, 2, 110, 5, 160, 8, 192, 8],
17
+ [346, 72, 4, 130, 5, 192, 8, 224, 8],
18
+ // 10
19
+ [404, 80, 4, 150, 5, 224, 8, 264, 11],
20
+ [466, 96, 4, 176, 8, 260, 10, 308, 11],
21
+ [532, 104, 4, 198, 9, 288, 12, 352, 16],
22
+ [581, 120, 4, 216, 9, 320, 16, 384, 16],
23
+ [655, 132, 6, 240, 10, 360, 12, 432, 18],
24
+ // 15
25
+ [733, 144, 6, 280, 10, 408, 17, 480, 16],
26
+ [815, 168, 6, 308, 11, 448, 16, 532, 19],
27
+ [901, 180, 6, 338, 13, 504, 18, 588, 21],
28
+ [991, 196, 7, 364, 14, 546, 21, 650, 25],
29
+ [1085, 224, 8, 416, 16, 600, 20, 700, 25],
30
+ // 20
31
+ [1156, 224, 8, 442, 17, 644, 23, 750, 25],
32
+ [1258, 252, 9, 476, 17, 690, 23, 816, 34],
33
+ [1364, 270, 9, 504, 18, 750, 25, 900, 30],
34
+ [1474, 300, 10, 560, 20, 810, 27, 960, 32],
35
+ [1588, 312, 12, 588, 21, 870, 29, 1050, 35],
36
+ // 25
37
+ [1706, 336, 12, 644, 23, 952, 34, 1110, 37],
38
+ [1828, 360, 12, 700, 25, 1020, 34, 1200, 40],
39
+ [1921, 390, 13, 728, 26, 1050, 35, 1260, 42],
40
+ [2051, 420, 14, 784, 28, 1140, 38, 1350, 45],
41
+ [2185, 450, 15, 812, 29, 1200, 40, 1440, 48],
42
+ // 30
43
+ [2323, 480, 16, 868, 31, 1290, 43, 1530, 51],
44
+ [2465, 510, 17, 924, 33, 1350, 45, 1620, 54],
45
+ [2611, 540, 18, 980, 35, 1440, 48, 1710, 57],
46
+ [2761, 570, 19, 1036, 37, 1530, 51, 1800, 60],
47
+ [2876, 570, 19, 1064, 38, 1590, 53, 1890, 63],
48
+ // 35
49
+ [3034, 600, 20, 1120, 40, 1680, 56, 1980, 66],
50
+ [3196, 630, 21, 1204, 43, 1770, 59, 2100, 70],
51
+ [3362, 660, 22, 1260, 45, 1860, 62, 2220, 74],
52
+ [3532, 720, 24, 1316, 47, 1950, 65, 2310, 77],
53
+ [3706, 750, 25, 1372, 49, 2040, 68, 2430, 81]
54
+ // 40
55
+ ];
56
+ var VERSIONS = CODEWORDS.map((v, index) => {
57
+ if (!index)
58
+ return null;
59
+ const res = {};
60
+ for (let i = 1; i < 8; i += 2) {
61
+ const length = v[0] - v[i];
62
+ const template = v[i + 1];
63
+ const ecLevel = EC_LEVELS[i / 2 | 0];
64
+ const blocks = [];
65
+ for (let k = template, n = length; k > 0; k--) {
66
+ const block = n / k | 0;
67
+ blocks.push(block);
68
+ n -= block;
69
+ }
70
+ res[ecLevel] = {
71
+ version: index,
72
+ ecLevel,
73
+ dataLen: length,
74
+ ecLen: v[i] / template,
75
+ blockLengths: blocks
76
+ };
77
+ }
78
+ return res;
79
+ });
80
+ function getTemplate(message, ecLevel) {
81
+ let len = NaN;
82
+ let i = 1;
83
+ if (message.data1) {
84
+ len = Math.ceil(message.data1.length / 8);
85
+ } else {
86
+ i = 10;
87
+ }
88
+ for (; i < 10; i++) {
89
+ const version = VERSIONS[i][ecLevel];
90
+ if (version.dataLen >= len) {
91
+ return structuredClone(version);
92
+ }
93
+ }
94
+ if (message.data10) {
95
+ len = Math.ceil(message.data10.length / 8);
96
+ } else {
97
+ i = 27;
98
+ }
99
+ for (; i < 27; i++) {
100
+ const version = VERSIONS[i][ecLevel];
101
+ if (version.dataLen >= len) {
102
+ return structuredClone(version);
103
+ }
104
+ }
105
+ len = Math.ceil(message.data27.length / 8);
106
+ for (; i < 41; i++) {
107
+ const version = VERSIONS[i][ecLevel];
108
+ if (version.dataLen >= len) {
109
+ return structuredClone(version);
110
+ }
111
+ }
112
+ throw new Error("Too much data to encode in QR code");
113
+ }
114
+ function fillTemplate(encoded, template) {
115
+ const blocks = new Array(template.dataLen).fill(0);
116
+ let message;
117
+ if (template.version < 10) {
118
+ message = encoded.data1;
119
+ } else if (template.version < 27) {
120
+ message = encoded.data10;
121
+ } else {
122
+ message = encoded.data27;
123
+ }
124
+ const len = message.length;
125
+ for (let i = 0; i < len; i += 8) {
126
+ let b = 0;
127
+ for (let j = 0; j < 8; j++) {
128
+ b = b << 1 | (message[i + j] ? 1 : 0);
129
+ }
130
+ blocks[i / 8] = b;
131
+ }
132
+ let pad = 236;
133
+ for (let i = Math.ceil((len + 4) / 8); i < blocks.length; i++) {
134
+ blocks[i] = pad;
135
+ pad = pad == 236 ? 17 : 236;
136
+ }
137
+ let offset = 0;
138
+ const ecData = [];
139
+ const blockData = template.blockLengths.map((n) => {
140
+ const b = blocks.slice(offset, offset + n);
141
+ offset += n;
142
+ ecData.push(calculateEcc(b, template.ecLen));
143
+ return b;
144
+ });
145
+ return {
146
+ version: template.version,
147
+ ecLevel: template.ecLevel,
148
+ ecData,
149
+ blockData
150
+ };
151
+ }
152
+ function generateQrCodeData(data, ecLevel) {
153
+ return fillTemplate(data, getTemplate(data, ecLevel));
154
+ }
155
+ export {
156
+ generateQrCodeData
157
+ };
158
+ //# sourceMappingURL=qrcode.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/qrcode.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,53 @@
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
+ // utils/crc32.ts
21
+ var crc32_exports = {};
22
+ __export(crc32_exports, {
23
+ crc32: () => crc32
24
+ });
25
+ module.exports = __toCommonJS(crc32_exports);
26
+ var CRC_TABLE = (() => {
27
+ const table = [];
28
+ for (let n = 0; n < 256; n++) {
29
+ let c = n;
30
+ for (let k = 0; k < 8; k++) {
31
+ if (c & 1) {
32
+ c = 3988292384 ^ c >>> 1;
33
+ } else {
34
+ c = c >>> 1;
35
+ }
36
+ }
37
+ table[n] = c >>> 0;
38
+ }
39
+ return table;
40
+ })();
41
+ function crc32(array, offset = 0, length) {
42
+ let crc = -1;
43
+ const end = length === void 0 ? array.length : length > 0 ? offset + length : array.length + length;
44
+ for (let i = offset; i < end; i++) {
45
+ crc = CRC_TABLE[(crc ^ array[i]) & 255] ^ crc >>> 8;
46
+ }
47
+ return (crc ^ -1) >>> 0;
48
+ }
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ crc32
52
+ });
53
+ //# sourceMappingURL=crc32.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/crc32.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,aAAuB,MAAM;AACjC,QAAM,QAAkB,CAAC;AACzB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,IAAI;AACR,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAI,IAAI,GAAG;AACT,YAAI,aAAc,MAAM;AAAA,MAC1B,OAAO;AACL,YAAI,MAAM;AAAA,MACZ;AAAA,IACF;AACA,UAAM,CAAC,IAAI,MAAM;AAAA,EACnB;AACA,SAAO;AACT,GAAG;AAcI,SAAS,MACZ,OACA,SAAiB,GACjB,QACM;AACR,MAAI,MAAM;AACV,QAAM,MACJ,WAAW,SAAY,MAAM,SAC7B,SAAS,IAAI,SAAS,SACtB,MAAM,SAAS;AAEjB,WAAS,IAAI,QAAQ,IAAI,KAAK,KAAM;AAClC,UAAM,WAAW,MAAM,MAAM,CAAC,KAAM,GAAK,IAAM,QAAQ;AAAA,EACzD;AAEA,UAAQ,MAAM,QAAQ;AACxB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Calculate the CRC32 checksum for a given `Uint8Array`
3
+ *
4
+ * @param array The `Uint8Array` to use for checksum calculation
5
+ * @param offset The offset in the array to start calculating from
6
+ * @param length The number of bytes to use for calculation, if _negative_
7
+ * this be considered to be relative to the end of the array.
8
+ * */
9
+ export declare function crc32(array: Uint8Array, offset?: number, length?: number): number;
@@ -0,0 +1,28 @@
1
+ // utils/crc32.ts
2
+ var CRC_TABLE = (() => {
3
+ const table = [];
4
+ for (let n = 0; n < 256; n++) {
5
+ let c = n;
6
+ for (let k = 0; k < 8; k++) {
7
+ if (c & 1) {
8
+ c = 3988292384 ^ c >>> 1;
9
+ } else {
10
+ c = c >>> 1;
11
+ }
12
+ }
13
+ table[n] = c >>> 0;
14
+ }
15
+ return table;
16
+ })();
17
+ function crc32(array, offset = 0, length) {
18
+ let crc = -1;
19
+ const end = length === void 0 ? array.length : length > 0 ? offset + length : array.length + length;
20
+ for (let i = offset; i < end; i++) {
21
+ crc = CRC_TABLE[(crc ^ array[i]) & 255] ^ crc >>> 8;
22
+ }
23
+ return (crc ^ -1) >>> 0;
24
+ }
25
+ export {
26
+ crc32
27
+ };
28
+ //# sourceMappingURL=crc32.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/crc32.ts"],
4
+ "mappings": ";AAKA,IAAM,aAAuB,MAAM;AACjC,QAAM,QAAkB,CAAC;AACzB,WAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,QAAI,IAAI;AACR,aAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAI,IAAI,GAAG;AACT,YAAI,aAAc,MAAM;AAAA,MAC1B,OAAO;AACL,YAAI,MAAM;AAAA,MACZ;AAAA,IACF;AACA,UAAM,CAAC,IAAI,MAAM;AAAA,EACnB;AACA,SAAO;AACT,GAAG;AAcI,SAAS,MACZ,OACA,SAAiB,GACjB,QACM;AACR,MAAI,MAAM;AACV,QAAM,MACJ,WAAW,SAAY,MAAM,SAC7B,SAAS,IAAI,SAAS,SACtB,MAAM,SAAS;AAEjB,WAAS,IAAI,QAAQ,IAAI,KAAK,KAAM;AAClC,UAAM,WAAW,MAAM,MAAM,CAAC,KAAM,GAAK,IAAM,QAAQ;AAAA,EACzD;AAEA,UAAQ,MAAM,QAAQ;AACxB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,35 @@
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
+ // utils/dataurl.ts
21
+ var dataurl_exports = {};
22
+ __export(dataurl_exports, {
23
+ generateDataUrl: () => generateDataUrl
24
+ });
25
+ module.exports = __toCommonJS(dataurl_exports);
26
+ function generateDataUrl(data, mimeType) {
27
+ const string = typeof data === "string" ? data : String.fromCharCode(...data);
28
+ const encoded = btoa(string);
29
+ return `data:${mimeType};base64,${encoded}`;
30
+ }
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ generateDataUrl
34
+ });
35
+ //# sourceMappingURL=dataurl.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/dataurl.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,gBAAgB,MAA2B,UAA0B;AAGnF,QAAM,SAAS,OAAO,SAAS,WAAW,OAAO,OAAO,aAAa,GAAG,IAAI;AAC5E,QAAM,UAAU,KAAK,MAAM;AAC3B,SAAO,QAAQ,QAAQ,WAAW,OAAO;AAC3C;",
5
+ "names": []
6
+ }
@@ -0,0 +1 @@
1
+ export declare function generateDataUrl(data: string | Uint8Array, mimeType: string): string;
@@ -0,0 +1,10 @@
1
+ // utils/dataurl.ts
2
+ function generateDataUrl(data, mimeType) {
3
+ const string = typeof data === "string" ? data : String.fromCharCode(...data);
4
+ const encoded = btoa(string);
5
+ return `data:${mimeType};base64,${encoded}`;
6
+ }
7
+ export {
8
+ generateDataUrl
9
+ };
10
+ //# sourceMappingURL=dataurl.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/dataurl.ts"],
4
+ "mappings": ";AAAO,SAAS,gBAAgB,MAA2B,UAA0B;AAGnF,QAAM,SAAS,OAAO,SAAS,WAAW,OAAO,OAAO,aAAa,GAAG,IAAI;AAC5E,QAAM,UAAU,KAAK,MAAM;AAC3B,SAAO,QAAQ,QAAQ,WAAW,OAAO;AAC3C;",
5
+ "names": []
6
+ }
@@ -0,0 +1,39 @@
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
+ // utils/deflate.ts
21
+ var deflate_exports = {};
22
+ __export(deflate_exports, {
23
+ deflate: () => deflate
24
+ });
25
+ module.exports = __toCommonJS(deflate_exports);
26
+ function deflate(data) {
27
+ return new Promise((resolve, reject) => {
28
+ const chunks = [];
29
+ const writer = new WritableStream({
30
+ write: (chunk) => void chunks.push(chunk)
31
+ });
32
+ return new Blob([data]).stream().pipeThrough(new CompressionStream("deflate")).pipeTo(writer).then(() => new Blob(chunks).arrayBuffer()).then((buffer) => new Uint8Array(buffer)).then(resolve, reject);
33
+ });
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ deflate
38
+ });
39
+ //# sourceMappingURL=deflate.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/deflate.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,QAAQ,MAAuC;AAC7D,SAAO,IAAI,QAAoB,CAAC,SAAS,WAAW;AAClD,UAAM,SAAuB,CAAC;AAE9B,UAAM,SAAS,IAAI,eAA2B;AAAA,MAC5C,OAAO,CAAC,UAAU,KAAK,OAAO,KAAK,KAAK;AAAA,IAC1C,CAAC;AAED,WAAO,IAAI,KAAK,CAAE,IAAK,CAAC,EAAE,OAAO,EAC5B,YAAY,IAAI,kBAAkB,SAAS,CAAC,EAC5C,OAAO,MAAM,EACb,KAAK,MAAM,IAAI,KAAK,MAAM,EAAE,YAAY,CAAC,EACzC,KAAK,CAAC,WAAW,IAAI,WAAW,MAAM,CAAC,EACvC,KAAK,SAAS,MAAM;AAAA,EAC3B,CAAC;AACH;",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ /** Compress a Uint8Array using "deflate" */
2
+ export declare function deflate(data: Uint8Array): Promise<Uint8Array>;
@@ -0,0 +1,14 @@
1
+ // utils/deflate.ts
2
+ function deflate(data) {
3
+ return new Promise((resolve, reject) => {
4
+ const chunks = [];
5
+ const writer = new WritableStream({
6
+ write: (chunk) => void chunks.push(chunk)
7
+ });
8
+ return new Blob([data]).stream().pipeThrough(new CompressionStream("deflate")).pipeTo(writer).then(() => new Blob(chunks).arrayBuffer()).then((buffer) => new Uint8Array(buffer)).then(resolve, reject);
9
+ });
10
+ }
11
+ export {
12
+ deflate
13
+ };
14
+ //# sourceMappingURL=deflate.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/deflate.ts"],
4
+ "mappings": ";AACO,SAAS,QAAQ,MAAuC;AAC7D,SAAO,IAAI,QAAoB,CAAC,SAAS,WAAW;AAClD,UAAM,SAAuB,CAAC;AAE9B,UAAM,SAAS,IAAI,eAA2B;AAAA,MAC5C,OAAO,CAAC,UAAU,KAAK,OAAO,KAAK,KAAK;AAAA,IAC1C,CAAC;AAED,WAAO,IAAI,KAAK,CAAE,IAAK,CAAC,EAAE,OAAO,EAC5B,YAAY,IAAI,kBAAkB,SAAS,CAAC,EAC5C,OAAO,MAAM,EACb,KAAK,MAAM,IAAI,KAAK,MAAM,EAAE,YAAY,CAAC,EACzC,KAAK,CAAC,WAAW,IAAI,WAAW,MAAM,CAAC,EACvC,KAAK,SAAS,MAAM;AAAA,EAC3B,CAAC;AACH;",
5
+ "names": []
6
+ }
@@ -0,0 +1,93 @@
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
+ // utils/ecc.ts
21
+ var ecc_exports = {};
22
+ __export(ecc_exports, {
23
+ calculateEcc: () => calculateEcc
24
+ });
25
+ module.exports = __toCommonJS(ecc_exports);
26
+ var GF256_BASE = 285;
27
+ var EXP_TABLE = [1];
28
+ var LOG_TABLE = [];
29
+ var POLYNOMIALS = [
30
+ [0],
31
+ // a^0 x^0
32
+ [0, 0],
33
+ // a^0 x^1 + a^0 x^0
34
+ [0, 25, 1]
35
+ // a^0 x^2 + a^25 x^1 + a^1 x^0
36
+ // and so on...
37
+ ];
38
+ for (let i = 1; i < 256; i++) {
39
+ let n = EXP_TABLE[i - 1] << 1;
40
+ if (n > 255)
41
+ n = n ^ GF256_BASE;
42
+ EXP_TABLE[i] = n;
43
+ }
44
+ for (let i = 0; i < 255; i++) {
45
+ LOG_TABLE[EXP_TABLE[i]] = i;
46
+ }
47
+ function exp(k) {
48
+ while (k < 0)
49
+ k += 255;
50
+ while (k > 255)
51
+ k -= 255;
52
+ return EXP_TABLE[k];
53
+ }
54
+ function log(k) {
55
+ if (k < 0 || k > 255)
56
+ throw new Error(`Bad log(${k})`);
57
+ return LOG_TABLE[k];
58
+ }
59
+ function generatePolynomial(num) {
60
+ const poly = POLYNOMIALS[num];
61
+ if (poly)
62
+ return poly;
63
+ const prev = generatePolynomial(num - 1);
64
+ const res = [];
65
+ res[0] = prev[0];
66
+ for (let i = 1; i <= num; i++) {
67
+ res[i] = log(exp(prev[i]) ^ exp(prev[i - 1] + num - 1));
68
+ }
69
+ return POLYNOMIALS[num] = res;
70
+ }
71
+ function calculateEcc(buf, length) {
72
+ const msg = [].slice.call(buf);
73
+ const poly = generatePolynomial(length);
74
+ for (let i = 0; i < length; i++)
75
+ msg.push(0);
76
+ while (msg.length > length) {
77
+ if (!msg[0]) {
78
+ msg.shift();
79
+ continue;
80
+ }
81
+ const logK = log(msg[0]);
82
+ for (let i = 0; i <= length; i++) {
83
+ msg[i] = msg[i] ^ exp(poly[i] + logK);
84
+ }
85
+ msg.shift();
86
+ }
87
+ return msg;
88
+ }
89
+ // Annotate the CommonJS export names for ESM import in node:
90
+ 0 && (module.exports = {
91
+ calculateEcc
92
+ });
93
+ //# sourceMappingURL=ecc.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/ecc.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,IAAM,aAAa;AACnB,IAAM,YAAsB,CAAE,CAAE;AAChC,IAAM,YAAsB,CAAC;AAG7B,IAAM,cAAc;AAAA,EAClB,CAAE,CAAE;AAAA;AAAA,EACJ,CAAE,GAAG,CAAE;AAAA;AAAA,EACP,CAAE,GAAG,IAAI,CAAE;AAAA;AAAA;AAEb;AAGA,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,MAAI,IAAI,UAAU,IAAI,CAAC,KAAM;AAC7B,MAAI,IAAI;AAAK,QAAI,IAAI;AACrB,YAAU,CAAC,IAAI;AACjB;AAGA,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,YAAU,UAAU,CAAC,CAAE,IAAI;AAC7B;AAOA,SAAS,IAAI,GAAmB;AAE9B,SAAO,IAAI;AAAG,SAAK;AACnB,SAAO,IAAI;AAAK,SAAK;AACrB,SAAO,UAAU,CAAC;AACpB;AAGA,SAAS,IAAI,GAAmB;AAE9B,MAAK,IAAI,KAAO,IAAI;AAAM,UAAM,IAAI,MAAM,WAAW,CAAC,GAAG;AACzD,SAAO,UAAU,CAAC;AACpB;AAIA,SAAS,mBAAmB,KAAuB;AACjD,QAAM,OAAO,YAAY,GAAG;AAC5B,MAAI;AAAM,WAAO;AAEjB,QAAM,OAAO,mBAAmB,MAAM,CAAC;AACvC,QAAM,MAAgB,CAAC;AAEvB,MAAI,CAAC,IAAI,KAAK,CAAC;AACf,WAAS,IAAI,GAAG,KAAK,KAAK,KAAK;AAC7B,QAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAK,MAAM,CAAC,CAAC;AAAA,EAC1D;AAEA,SAAO,YAAY,GAAG,IAAI;AAC5B;AAOO,SAAS,aAAa,KAAe,QAA0B;AAGpE,QAAM,MAAO,CAAC,EAAe,MAAM,KAAK,GAAG;AAG3C,QAAM,OAAO,mBAAmB,MAAM;AAGtC,WAAS,IAAI,GAAG,IAAI,QAAQ;AAAK,QAAI,KAAK,CAAC;AAE3C,SAAO,IAAI,SAAS,QAAQ;AAC1B,QAAI,CAAC,IAAI,CAAC,GAAG;AACX,UAAI,MAAM;AACV;AAAA,IACF;AACA,UAAM,OAAO,IAAI,IAAI,CAAC,CAAC;AACvB,aAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AAChC,UAAI,CAAC,IAAI,IAAI,CAAC,IAAK,IAAI,KAAK,CAAC,IAAK,IAAI;AAAA,IACxC;AACA,QAAI,MAAM;AAAA,EACZ;AAEA,SAAO;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,2 @@
1
+ /** Calculate the Error Correction Code (Reed Solomon) for the given data */
2
+ export declare function calculateEcc(buf: number[], length: number): number[];
@@ -0,0 +1,68 @@
1
+ // utils/ecc.ts
2
+ var GF256_BASE = 285;
3
+ var EXP_TABLE = [1];
4
+ var LOG_TABLE = [];
5
+ var POLYNOMIALS = [
6
+ [0],
7
+ // a^0 x^0
8
+ [0, 0],
9
+ // a^0 x^1 + a^0 x^0
10
+ [0, 25, 1]
11
+ // a^0 x^2 + a^25 x^1 + a^1 x^0
12
+ // and so on...
13
+ ];
14
+ for (let i = 1; i < 256; i++) {
15
+ let n = EXP_TABLE[i - 1] << 1;
16
+ if (n > 255)
17
+ n = n ^ GF256_BASE;
18
+ EXP_TABLE[i] = n;
19
+ }
20
+ for (let i = 0; i < 255; i++) {
21
+ LOG_TABLE[EXP_TABLE[i]] = i;
22
+ }
23
+ function exp(k) {
24
+ while (k < 0)
25
+ k += 255;
26
+ while (k > 255)
27
+ k -= 255;
28
+ return EXP_TABLE[k];
29
+ }
30
+ function log(k) {
31
+ if (k < 0 || k > 255)
32
+ throw new Error(`Bad log(${k})`);
33
+ return LOG_TABLE[k];
34
+ }
35
+ function generatePolynomial(num) {
36
+ const poly = POLYNOMIALS[num];
37
+ if (poly)
38
+ return poly;
39
+ const prev = generatePolynomial(num - 1);
40
+ const res = [];
41
+ res[0] = prev[0];
42
+ for (let i = 1; i <= num; i++) {
43
+ res[i] = log(exp(prev[i]) ^ exp(prev[i - 1] + num - 1));
44
+ }
45
+ return POLYNOMIALS[num] = res;
46
+ }
47
+ function calculateEcc(buf, length) {
48
+ const msg = [].slice.call(buf);
49
+ const poly = generatePolynomial(length);
50
+ for (let i = 0; i < length; i++)
51
+ msg.push(0);
52
+ while (msg.length > length) {
53
+ if (!msg[0]) {
54
+ msg.shift();
55
+ continue;
56
+ }
57
+ const logK = log(msg[0]);
58
+ for (let i = 0; i <= length; i++) {
59
+ msg[i] = msg[i] ^ exp(poly[i] + logK);
60
+ }
61
+ msg.shift();
62
+ }
63
+ return msg;
64
+ }
65
+ export {
66
+ calculateEcc
67
+ };
68
+ //# sourceMappingURL=ecc.mjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/ecc.ts"],
4
+ "mappings": ";AAKA,IAAM,aAAa;AACnB,IAAM,YAAsB,CAAE,CAAE;AAChC,IAAM,YAAsB,CAAC;AAG7B,IAAM,cAAc;AAAA,EAClB,CAAE,CAAE;AAAA;AAAA,EACJ,CAAE,GAAG,CAAE;AAAA;AAAA,EACP,CAAE,GAAG,IAAI,CAAE;AAAA;AAAA;AAEb;AAGA,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,MAAI,IAAI,UAAU,IAAI,CAAC,KAAM;AAC7B,MAAI,IAAI;AAAK,QAAI,IAAI;AACrB,YAAU,CAAC,IAAI;AACjB;AAGA,SAAS,IAAI,GAAG,IAAI,KAAK,KAAK;AAC5B,YAAU,UAAU,CAAC,CAAE,IAAI;AAC7B;AAOA,SAAS,IAAI,GAAmB;AAE9B,SAAO,IAAI;AAAG,SAAK;AACnB,SAAO,IAAI;AAAK,SAAK;AACrB,SAAO,UAAU,CAAC;AACpB;AAGA,SAAS,IAAI,GAAmB;AAE9B,MAAK,IAAI,KAAO,IAAI;AAAM,UAAM,IAAI,MAAM,WAAW,CAAC,GAAG;AACzD,SAAO,UAAU,CAAC;AACpB;AAIA,SAAS,mBAAmB,KAAuB;AACjD,QAAM,OAAO,YAAY,GAAG;AAC5B,MAAI;AAAM,WAAO;AAEjB,QAAM,OAAO,mBAAmB,MAAM,CAAC;AACvC,QAAM,MAAgB,CAAC;AAEvB,MAAI,CAAC,IAAI,KAAK,CAAC;AACf,WAAS,IAAI,GAAG,KAAK,KAAK,KAAK;AAC7B,QAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAE,IAAI,IAAI,KAAK,IAAI,CAAC,IAAK,MAAM,CAAC,CAAC;AAAA,EAC1D;AAEA,SAAO,YAAY,GAAG,IAAI;AAC5B;AAOO,SAAS,aAAa,KAAe,QAA0B;AAGpE,QAAM,MAAO,CAAC,EAAe,MAAM,KAAK,GAAG;AAG3C,QAAM,OAAO,mBAAmB,MAAM;AAGtC,WAAS,IAAI,GAAG,IAAI,QAAQ;AAAK,QAAI,KAAK,CAAC;AAE3C,SAAO,IAAI,SAAS,QAAQ;AAC1B,QAAI,CAAC,IAAI,CAAC,GAAG;AACX,UAAI,MAAM;AACV;AAAA,IACF;AACA,UAAM,OAAO,IAAI,IAAI,CAAC,CAAC;AACvB,aAAS,IAAI,GAAG,KAAK,QAAQ,KAAK;AAChC,UAAI,CAAC,IAAI,IAAI,CAAC,IAAK,IAAI,KAAK,CAAC,IAAK,IAAI;AAAA,IACxC;AACA,QAAI,MAAM;AAAA,EACZ;AAEA,SAAO;AACT;",
5
+ "names": []
6
+ }
@@ -0,0 +1,41 @@
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
+ // utils/merge.ts
21
+ var merge_exports = {};
22
+ __export(merge_exports, {
23
+ mergeArrays: () => mergeArrays
24
+ });
25
+ module.exports = __toCommonJS(merge_exports);
26
+ function mergeArrays(...arrays) {
27
+ const chunks = [];
28
+ const size = arrays.reduce((size2, array) => {
29
+ chunks.push([size2, array]);
30
+ return size2 + array.length;
31
+ }, 0);
32
+ const result = new Uint8Array(size);
33
+ for (const [offset, array] of chunks)
34
+ result.set(array, offset);
35
+ return result;
36
+ }
37
+ // Annotate the CommonJS export names for ESM import in node:
38
+ 0 && (module.exports = {
39
+ mergeArrays
40
+ });
41
+ //# sourceMappingURL=merge.cjs.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/merge.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,eAAe,QAAkC;AAC/D,QAAM,SAAkD,CAAC;AAEzD,QAAM,OAAO,OAAO,OAAO,CAACA,OAAM,UAAU;AAC1C,WAAO,KAAK,CAAEA,OAAM,KAAM,CAAC;AAC3B,WAAOA,QAAO,MAAM;AAAA,EACtB,GAAG,CAAC;AAEJ,QAAM,SAAS,IAAI,WAAW,IAAI;AAClC,aAAW,CAAE,QAAQ,KAAM,KAAK;AAAQ,WAAO,IAAI,OAAO,MAAM;AAChE,SAAO;AACT;",
5
+ "names": ["size"]
6
+ }
@@ -0,0 +1,2 @@
1
+ /** Merge a number of different {@link Uint8Array}s */
2
+ export declare function mergeArrays(...arrays: Uint8Array[]): Uint8Array;