@cogitator-ai/wasm-tools 0.5.10 → 0.6.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 (123) hide show
  1. package/README.md +84 -25
  2. package/dist/index.d.ts +22 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +81 -14
  5. package/dist/index.js.map +1 -1
  6. package/dist/manager/file-watcher.d.ts.map +1 -1
  7. package/dist/manager/file-watcher.js +6 -0
  8. package/dist/manager/file-watcher.js.map +1 -1
  9. package/dist/manager/types.d.ts +11 -3
  10. package/dist/manager/types.d.ts.map +1 -1
  11. package/dist/manager/wasm-loader.d.ts +1 -0
  12. package/dist/manager/wasm-loader.d.ts.map +1 -1
  13. package/dist/manager/wasm-loader.js +26 -5
  14. package/dist/manager/wasm-loader.js.map +1 -1
  15. package/dist/manager/wasm-tool-manager.d.ts +6 -0
  16. package/dist/manager/wasm-tool-manager.d.ts.map +1 -1
  17. package/dist/manager/wasm-tool-manager.js +115 -30
  18. package/dist/manager/wasm-tool-manager.js.map +1 -1
  19. package/dist/runtime.d.ts +11 -0
  20. package/dist/runtime.d.ts.map +1 -0
  21. package/dist/runtime.js +104 -0
  22. package/dist/runtime.js.map +1 -0
  23. package/dist/wasm/base64.wasm +0 -0
  24. package/dist/wasm/calc.wasm +0 -0
  25. package/dist/wasm/compression.wasm +0 -0
  26. package/dist/wasm/csv.wasm +0 -0
  27. package/dist/wasm/datetime.wasm +0 -0
  28. package/dist/wasm/diff.wasm +0 -0
  29. package/dist/wasm/hash.wasm +0 -0
  30. package/dist/wasm/json.wasm +0 -0
  31. package/dist/wasm/markdown.wasm +0 -0
  32. package/dist/wasm/regex.wasm +0 -0
  33. package/dist/wasm/signing.wasm +0 -0
  34. package/dist/wasm/slug.wasm +0 -0
  35. package/dist/wasm/validation.wasm +0 -0
  36. package/dist/wasm/xml.wasm +0 -0
  37. package/package.json +5 -6
  38. package/dist/__tests__/file-watcher.test.d.ts +0 -2
  39. package/dist/__tests__/file-watcher.test.d.ts.map +0 -1
  40. package/dist/__tests__/file-watcher.test.js +0 -99
  41. package/dist/__tests__/file-watcher.test.js.map +0 -1
  42. package/dist/__tests__/index.test.d.ts +0 -2
  43. package/dist/__tests__/index.test.d.ts.map +0 -1
  44. package/dist/__tests__/index.test.js +0 -226
  45. package/dist/__tests__/index.test.js.map +0 -1
  46. package/dist/__tests__/wasm-loader.test.d.ts +0 -2
  47. package/dist/__tests__/wasm-loader.test.d.ts.map +0 -1
  48. package/dist/__tests__/wasm-loader.test.js +0 -68
  49. package/dist/__tests__/wasm-loader.test.js.map +0 -1
  50. package/dist/__tests__/wasm-tool-manager.test.d.ts +0 -2
  51. package/dist/__tests__/wasm-tool-manager.test.d.ts.map +0 -1
  52. package/dist/__tests__/wasm-tool-manager.test.js +0 -166
  53. package/dist/__tests__/wasm-tool-manager.test.js.map +0 -1
  54. package/dist/plugins/base64.d.ts +0 -12
  55. package/dist/plugins/base64.d.ts.map +0 -1
  56. package/dist/plugins/base64.js +0 -95
  57. package/dist/plugins/base64.js.map +0 -1
  58. package/dist/plugins/calc.d.ts +0 -12
  59. package/dist/plugins/calc.d.ts.map +0 -1
  60. package/dist/plugins/calc.js +0 -95
  61. package/dist/plugins/calc.js.map +0 -1
  62. package/dist/plugins/compression.d.ts +0 -2
  63. package/dist/plugins/compression.d.ts.map +0 -1
  64. package/dist/plugins/compression.js +0 -545
  65. package/dist/plugins/compression.js.map +0 -1
  66. package/dist/plugins/csv.d.ts +0 -2
  67. package/dist/plugins/csv.d.ts.map +0 -1
  68. package/dist/plugins/csv.js +0 -136
  69. package/dist/plugins/csv.js.map +0 -1
  70. package/dist/plugins/datetime.d.ts +0 -2
  71. package/dist/plugins/datetime.d.ts.map +0 -1
  72. package/dist/plugins/datetime.js +0 -186
  73. package/dist/plugins/datetime.js.map +0 -1
  74. package/dist/plugins/diff.d.ts +0 -2
  75. package/dist/plugins/diff.d.ts.map +0 -1
  76. package/dist/plugins/diff.js +0 -187
  77. package/dist/plugins/diff.js.map +0 -1
  78. package/dist/plugins/hash.d.ts +0 -12
  79. package/dist/plugins/hash.d.ts.map +0 -1
  80. package/dist/plugins/hash.js +0 -309
  81. package/dist/plugins/hash.js.map +0 -1
  82. package/dist/plugins/json.d.ts +0 -12
  83. package/dist/plugins/json.d.ts.map +0 -1
  84. package/dist/plugins/json.js +0 -70
  85. package/dist/plugins/json.js.map +0 -1
  86. package/dist/plugins/markdown.d.ts +0 -2
  87. package/dist/plugins/markdown.d.ts.map +0 -1
  88. package/dist/plugins/markdown.js +0 -213
  89. package/dist/plugins/markdown.js.map +0 -1
  90. package/dist/plugins/regex.d.ts +0 -2
  91. package/dist/plugins/regex.d.ts.map +0 -1
  92. package/dist/plugins/regex.js +0 -120
  93. package/dist/plugins/regex.js.map +0 -1
  94. package/dist/plugins/signing.d.ts +0 -2
  95. package/dist/plugins/signing.d.ts.map +0 -1
  96. package/dist/plugins/signing.js +0 -576
  97. package/dist/plugins/signing.js.map +0 -1
  98. package/dist/plugins/slug.d.ts +0 -2
  99. package/dist/plugins/slug.d.ts.map +0 -1
  100. package/dist/plugins/slug.js +0 -180
  101. package/dist/plugins/slug.js.map +0 -1
  102. package/dist/plugins/validation.d.ts +0 -2
  103. package/dist/plugins/validation.d.ts.map +0 -1
  104. package/dist/plugins/validation.js +0 -105
  105. package/dist/plugins/validation.js.map +0 -1
  106. package/dist/plugins/xml.d.ts +0 -2
  107. package/dist/plugins/xml.d.ts.map +0 -1
  108. package/dist/plugins/xml.js +0 -297
  109. package/dist/plugins/xml.js.map +0 -1
  110. package/dist/temp/base64.js +0 -102
  111. package/dist/temp/calc.js +0 -102
  112. package/dist/temp/compression.js +0 -738
  113. package/dist/temp/csv.js +0 -155
  114. package/dist/temp/datetime.js +0 -201
  115. package/dist/temp/diff.js +0 -198
  116. package/dist/temp/hash.js +0 -423
  117. package/dist/temp/json.js +0 -80
  118. package/dist/temp/markdown.js +0 -224
  119. package/dist/temp/regex.js +0 -141
  120. package/dist/temp/signing.js +0 -584
  121. package/dist/temp/slug.js +0 -198
  122. package/dist/temp/validation.js +0 -125
  123. package/dist/temp/xml.js +0 -295
@@ -1,545 +0,0 @@
1
- const BASE64_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
2
- function base64Encode(bytes) {
3
- let result = '';
4
- const len = bytes.length;
5
- for (let i = 0; i < len; i += 3) {
6
- const b1 = bytes[i];
7
- const b2 = i + 1 < len ? bytes[i + 1] : 0;
8
- const b3 = i + 2 < len ? bytes[i + 2] : 0;
9
- result += BASE64_CHARS[b1 >> 2];
10
- result += BASE64_CHARS[((b1 & 3) << 4) | (b2 >> 4)];
11
- result += i + 1 < len ? BASE64_CHARS[((b2 & 15) << 2) | (b3 >> 6)] : '=';
12
- result += i + 2 < len ? BASE64_CHARS[b3 & 63] : '=';
13
- }
14
- return result;
15
- }
16
- function base64Decode(str) {
17
- const cleanStr = str.replace(/[^A-Za-z0-9+/]/g, '');
18
- const len = cleanStr.length;
19
- const outputLen = Math.floor((len * 3) / 4) - (str.endsWith('==') ? 2 : str.endsWith('=') ? 1 : 0);
20
- const bytes = new Uint8Array(outputLen);
21
- const lookup = {};
22
- for (let i = 0; i < BASE64_CHARS.length; i++) {
23
- lookup[BASE64_CHARS[i]] = i;
24
- }
25
- let byteIdx = 0;
26
- for (let i = 0; i < len; i += 4) {
27
- const b1 = lookup[cleanStr[i]] ?? 0;
28
- const b2 = lookup[cleanStr[i + 1]] ?? 0;
29
- const b3 = lookup[cleanStr[i + 2]] ?? 0;
30
- const b4 = lookup[cleanStr[i + 3]] ?? 0;
31
- bytes[byteIdx++] = (b1 << 2) | (b2 >> 4);
32
- if (byteIdx < outputLen)
33
- bytes[byteIdx++] = ((b2 & 15) << 4) | (b3 >> 2);
34
- if (byteIdx < outputLen)
35
- bytes[byteIdx++] = ((b3 & 3) << 6) | b4;
36
- }
37
- return bytes;
38
- }
39
- function utf8Encode(str) {
40
- const bytes = [];
41
- for (let i = 0; i < str.length; i++) {
42
- let c = str.charCodeAt(i);
43
- if (c < 0x80) {
44
- bytes.push(c);
45
- }
46
- else if (c < 0x800) {
47
- bytes.push(0xc0 | (c >> 6));
48
- bytes.push(0x80 | (c & 0x3f));
49
- }
50
- else if (c >= 0xd800 && c < 0xdc00 && i + 1 < str.length) {
51
- const c2 = str.charCodeAt(++i);
52
- c = 0x10000 + ((c & 0x3ff) << 10) + (c2 & 0x3ff);
53
- bytes.push(0xf0 | (c >> 18));
54
- bytes.push(0x80 | ((c >> 12) & 0x3f));
55
- bytes.push(0x80 | ((c >> 6) & 0x3f));
56
- bytes.push(0x80 | (c & 0x3f));
57
- }
58
- else {
59
- bytes.push(0xe0 | (c >> 12));
60
- bytes.push(0x80 | ((c >> 6) & 0x3f));
61
- bytes.push(0x80 | (c & 0x3f));
62
- }
63
- }
64
- return new Uint8Array(bytes);
65
- }
66
- function utf8Decode(bytes) {
67
- let result = '';
68
- let i = 0;
69
- while (i < bytes.length) {
70
- const b = bytes[i++];
71
- if (b < 0x80) {
72
- result += String.fromCharCode(b);
73
- }
74
- else if (b < 0xe0) {
75
- result += String.fromCharCode(((b & 0x1f) << 6) | (bytes[i++] & 0x3f));
76
- }
77
- else if (b < 0xf0) {
78
- result += String.fromCharCode(((b & 0x0f) << 12) | ((bytes[i++] & 0x3f) << 6) | (bytes[i++] & 0x3f));
79
- }
80
- else {
81
- const cp = ((b & 0x07) << 18) |
82
- ((bytes[i++] & 0x3f) << 12) |
83
- ((bytes[i++] & 0x3f) << 6) |
84
- (bytes[i++] & 0x3f);
85
- result += String.fromCodePoint(cp);
86
- }
87
- }
88
- return result;
89
- }
90
- function deflateRaw(data, level = 6) {
91
- const output = [];
92
- const len = data.length;
93
- if (level === 0 || len < 10) {
94
- let pos = 0;
95
- while (pos < len) {
96
- const blockLen = Math.min(65535, len - pos);
97
- const isLast = pos + blockLen >= len;
98
- output.push(isLast ? 1 : 0);
99
- output.push(blockLen & 0xff);
100
- output.push((blockLen >> 8) & 0xff);
101
- output.push(~blockLen & 0xff);
102
- output.push((~blockLen >> 8) & 0xff);
103
- for (let i = 0; i < blockLen; i++) {
104
- output.push(data[pos + i]);
105
- }
106
- pos += blockLen;
107
- }
108
- return new Uint8Array(output);
109
- }
110
- const windowSize = 32768;
111
- const hashTable = new Map();
112
- const getHash = (pos) => {
113
- if (pos + 2 >= len)
114
- return 0;
115
- return ((data[pos] << 16) | (data[pos + 1] << 8) | data[pos + 2]) >>> 0;
116
- };
117
- const findMatch = (pos) => {
118
- if (pos + 2 >= len)
119
- return null;
120
- const hash = getHash(pos);
121
- const candidates = hashTable.get(hash) || [];
122
- let bestDist = 0;
123
- let bestLen = 0;
124
- for (let i = candidates.length - 1; i >= 0 && i >= candidates.length - 16; i--) {
125
- const candPos = candidates[i];
126
- const dist = pos - candPos;
127
- if (dist > windowSize || dist <= 0)
128
- continue;
129
- let matchLen = 0;
130
- while (matchLen < 258 &&
131
- pos + matchLen < len &&
132
- data[candPos + matchLen] === data[pos + matchLen]) {
133
- matchLen++;
134
- }
135
- if (matchLen >= 3 && matchLen > bestLen) {
136
- bestDist = dist;
137
- bestLen = matchLen;
138
- }
139
- }
140
- if (bestLen >= 3) {
141
- return { distance: bestDist, length: bestLen };
142
- }
143
- return null;
144
- };
145
- const LITLEN_BASE = [
146
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131,
147
- 163, 195, 227, 258,
148
- ];
149
- const LITLEN_EXTRA = [
150
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0,
151
- ];
152
- const DIST_BASE = [
153
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049,
154
- 3073, 4097, 6145, 8193, 12289, 16385, 24577,
155
- ];
156
- const DIST_EXTRA = [
157
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13,
158
- 13,
159
- ];
160
- const tokens = [];
161
- let pos = 0;
162
- while (pos < len) {
163
- const match = level > 3 ? findMatch(pos) : null;
164
- const hash = getHash(pos);
165
- if (!hashTable.has(hash)) {
166
- hashTable.set(hash, []);
167
- }
168
- hashTable.get(hash).push(pos);
169
- if (hashTable.get(hash).length > 64) {
170
- hashTable.get(hash).shift();
171
- }
172
- if (match && match.length >= 3) {
173
- tokens.push({ type: 'match', length: match.length, distance: match.distance });
174
- for (let i = 1; i < match.length; i++) {
175
- const h = getHash(pos + i);
176
- if (!hashTable.has(h))
177
- hashTable.set(h, []);
178
- hashTable.get(h).push(pos + i);
179
- }
180
- pos += match.length;
181
- }
182
- else {
183
- tokens.push({ type: 'literal', value: data[pos] });
184
- pos++;
185
- }
186
- }
187
- let bitBuf = 0;
188
- let bitCount = 0;
189
- const writeBits = (value, bits) => {
190
- bitBuf |= value << bitCount;
191
- bitCount += bits;
192
- while (bitCount >= 8) {
193
- output.push(bitBuf & 0xff);
194
- bitBuf >>= 8;
195
- bitCount -= 8;
196
- }
197
- };
198
- const writeFixedLitLen = (code) => {
199
- if (code <= 143) {
200
- writeBits(reverseBits(0x30 + code, 8), 8);
201
- }
202
- else if (code <= 255) {
203
- writeBits(reverseBits(0x190 + code - 144, 9), 9);
204
- }
205
- else if (code === 256) {
206
- writeBits(reverseBits(0, 7), 7);
207
- }
208
- else if (code <= 279) {
209
- writeBits(reverseBits(code - 256, 7), 7);
210
- }
211
- else {
212
- writeBits(reverseBits(0xc0 + code - 280, 8), 8);
213
- }
214
- };
215
- const findLengthCode = (length) => {
216
- for (let i = LITLEN_BASE.length - 1; i >= 0; i--) {
217
- if (length >= LITLEN_BASE[i])
218
- return i;
219
- }
220
- return 0;
221
- };
222
- const findDistCode = (dist) => {
223
- for (let i = DIST_BASE.length - 1; i >= 0; i--) {
224
- if (dist >= DIST_BASE[i])
225
- return i;
226
- }
227
- return 0;
228
- };
229
- writeBits(1, 1);
230
- writeBits(1, 2);
231
- for (const token of tokens) {
232
- if (token.type === 'literal') {
233
- writeFixedLitLen(token.value);
234
- }
235
- else {
236
- const lenIdx = findLengthCode(token.length);
237
- const lenCode = 257 + lenIdx;
238
- writeFixedLitLen(lenCode);
239
- if (LITLEN_EXTRA[lenIdx] > 0) {
240
- writeBits(token.length - LITLEN_BASE[lenIdx], LITLEN_EXTRA[lenIdx]);
241
- }
242
- const distIdx = findDistCode(token.distance);
243
- writeBits(reverseBits(distIdx, 5), 5);
244
- if (DIST_EXTRA[distIdx] > 0) {
245
- writeBits(token.distance - DIST_BASE[distIdx], DIST_EXTRA[distIdx]);
246
- }
247
- }
248
- }
249
- writeFixedLitLen(256);
250
- if (bitCount > 0) {
251
- output.push(bitBuf & 0xff);
252
- }
253
- return new Uint8Array(output);
254
- }
255
- function reverseBits(value, bits) {
256
- let result = 0;
257
- for (let i = 0; i < bits; i++) {
258
- result = (result << 1) | ((value >> i) & 1);
259
- }
260
- return result;
261
- }
262
- function inflateRaw(data) {
263
- const output = [];
264
- let pos = 0;
265
- let bitBuf = 0;
266
- let bitCount = 0;
267
- const readBits = (n) => {
268
- while (bitCount < n) {
269
- if (pos >= data.length)
270
- throw new Error('Unexpected end of data');
271
- bitBuf |= data[pos++] << bitCount;
272
- bitCount += 8;
273
- }
274
- const result = bitBuf & ((1 << n) - 1);
275
- bitBuf >>= n;
276
- bitCount -= n;
277
- return result;
278
- };
279
- const LITLEN_BASE = [
280
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131,
281
- 163, 195, 227, 258,
282
- ];
283
- const LITLEN_EXTRA = [
284
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0,
285
- ];
286
- const DIST_BASE = [
287
- 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049,
288
- 3073, 4097, 6145, 8193, 12289, 16385, 24577,
289
- ];
290
- const DIST_EXTRA = [
291
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13,
292
- 13,
293
- ];
294
- let bfinal = 0;
295
- while (!bfinal) {
296
- bfinal = readBits(1);
297
- const btype = readBits(2);
298
- if (btype === 0) {
299
- bitBuf = 0;
300
- bitCount = 0;
301
- const len = data[pos] | (data[pos + 1] << 8);
302
- pos += 4;
303
- for (let i = 0; i < len; i++) {
304
- output.push(data[pos++]);
305
- }
306
- }
307
- else if (btype === 1 || btype === 2) {
308
- let litlenCodes;
309
- let distCodes;
310
- if (btype === 1) {
311
- litlenCodes = [];
312
- for (let i = 0; i <= 143; i++)
313
- litlenCodes[i] = 8;
314
- for (let i = 144; i <= 255; i++)
315
- litlenCodes[i] = 9;
316
- for (let i = 256; i <= 279; i++)
317
- litlenCodes[i] = 7;
318
- for (let i = 280; i <= 287; i++)
319
- litlenCodes[i] = 8;
320
- distCodes = new Array(32).fill(5);
321
- }
322
- else {
323
- const hlit = readBits(5) + 257;
324
- const hdist = readBits(5) + 1;
325
- const hclen = readBits(4) + 4;
326
- const clenOrder = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
327
- const clenLens = new Array(19).fill(0);
328
- for (let i = 0; i < hclen; i++) {
329
- clenLens[clenOrder[i]] = readBits(3);
330
- }
331
- const clenTree = buildHuffmanTree(clenLens);
332
- const allLens = [];
333
- while (allLens.length < hlit + hdist) {
334
- const sym = decodeSymbol(clenTree, readBits.bind(null, 1));
335
- if (sym < 16) {
336
- allLens.push(sym);
337
- }
338
- else if (sym === 16) {
339
- const repeat = readBits(2) + 3;
340
- const last = allLens[allLens.length - 1] || 0;
341
- for (let i = 0; i < repeat; i++)
342
- allLens.push(last);
343
- }
344
- else if (sym === 17) {
345
- const repeat = readBits(3) + 3;
346
- for (let i = 0; i < repeat; i++)
347
- allLens.push(0);
348
- }
349
- else if (sym === 18) {
350
- const repeat = readBits(7) + 11;
351
- for (let i = 0; i < repeat; i++)
352
- allLens.push(0);
353
- }
354
- }
355
- litlenCodes = allLens.slice(0, hlit);
356
- distCodes = allLens.slice(hlit);
357
- }
358
- const litlenTree = buildHuffmanTree(litlenCodes);
359
- const distTree = buildHuffmanTree(distCodes);
360
- while (true) {
361
- const sym = decodeSymbol(litlenTree, () => readBits(1));
362
- if (sym < 256) {
363
- output.push(sym);
364
- }
365
- else if (sym === 256) {
366
- break;
367
- }
368
- else {
369
- const lenIdx = sym - 257;
370
- const length = LITLEN_BASE[lenIdx] + readBits(LITLEN_EXTRA[lenIdx]);
371
- const distSym = decodeSymbol(distTree, () => readBits(1));
372
- const distance = DIST_BASE[distSym] + readBits(DIST_EXTRA[distSym]);
373
- const start = output.length - distance;
374
- for (let i = 0; i < length; i++) {
375
- output.push(output[start + i]);
376
- }
377
- }
378
- }
379
- }
380
- else {
381
- throw new Error('Invalid block type');
382
- }
383
- }
384
- return new Uint8Array(output);
385
- }
386
- function buildHuffmanTree(codeLens) {
387
- const maxLen = Math.max(...codeLens, 1);
388
- const blCount = new Array(maxLen + 1).fill(0);
389
- for (const len of codeLens) {
390
- if (len > 0)
391
- blCount[len]++;
392
- }
393
- const nextCode = new Array(maxLen + 1).fill(0);
394
- let code = 0;
395
- for (let bits = 1; bits <= maxLen; bits++) {
396
- code = (code + blCount[bits - 1]) << 1;
397
- nextCode[bits] = code;
398
- }
399
- const root = {};
400
- for (let sym = 0; sym < codeLens.length; sym++) {
401
- const len = codeLens[sym];
402
- if (len === 0)
403
- continue;
404
- const codeVal = nextCode[len]++;
405
- let node = root;
406
- for (let i = len - 1; i >= 0; i--) {
407
- const bit = (codeVal >> i) & 1;
408
- if (bit === 0) {
409
- if (!node.left)
410
- node.left = {};
411
- node = node.left;
412
- }
413
- else {
414
- if (!node.right)
415
- node.right = {};
416
- node = node.right;
417
- }
418
- }
419
- node.symbol = sym;
420
- }
421
- return root;
422
- }
423
- function decodeSymbol(tree, readBit) {
424
- let node = tree;
425
- while (node.symbol === undefined) {
426
- const bit = readBit();
427
- node = bit === 0 ? node.left : node.right;
428
- if (!node)
429
- throw new Error('Invalid huffman code');
430
- }
431
- return node.symbol;
432
- }
433
- function crc32(data) {
434
- let crc = 0xffffffff;
435
- for (const byte of data) {
436
- crc ^= byte;
437
- for (let j = 0; j < 8; j++) {
438
- crc = (crc >>> 1) ^ (crc & 1 ? 0xedb88320 : 0);
439
- }
440
- }
441
- return (crc ^ 0xffffffff) >>> 0;
442
- }
443
- function gzipCompress(data, level) {
444
- const deflated = deflateRaw(data, level);
445
- const crc = crc32(data);
446
- const output = new Uint8Array(10 + deflated.length + 8);
447
- output[0] = 0x1f;
448
- output[1] = 0x8b;
449
- output[2] = 8;
450
- output[3] = 0;
451
- output[4] = output[5] = output[6] = output[7] = 0;
452
- output[8] = level >= 9 ? 2 : level <= 1 ? 4 : 0;
453
- output[9] = 255;
454
- output.set(deflated, 10);
455
- const pos = 10 + deflated.length;
456
- output[pos] = crc & 0xff;
457
- output[pos + 1] = (crc >> 8) & 0xff;
458
- output[pos + 2] = (crc >> 16) & 0xff;
459
- output[pos + 3] = (crc >> 24) & 0xff;
460
- output[pos + 4] = data.length & 0xff;
461
- output[pos + 5] = (data.length >> 8) & 0xff;
462
- output[pos + 6] = (data.length >> 16) & 0xff;
463
- output[pos + 7] = (data.length >> 24) & 0xff;
464
- return output;
465
- }
466
- function gzipDecompress(data) {
467
- if (data[0] !== 0x1f || data[1] !== 0x8b) {
468
- throw new Error('Invalid gzip header');
469
- }
470
- if (data[2] !== 8) {
471
- throw new Error('Unsupported compression method');
472
- }
473
- const flags = data[3];
474
- let pos = 10;
475
- if (flags & 4) {
476
- const xlen = data[pos] | (data[pos + 1] << 8);
477
- pos += 2 + xlen;
478
- }
479
- if (flags & 8) {
480
- while (data[pos++] !== 0)
481
- ;
482
- }
483
- if (flags & 16) {
484
- while (data[pos++] !== 0)
485
- ;
486
- }
487
- if (flags & 2) {
488
- pos += 2;
489
- }
490
- const deflatedData = data.slice(pos, data.length - 8);
491
- return inflateRaw(deflatedData);
492
- }
493
- export function compression() {
494
- try {
495
- const inputStr = Host.inputString();
496
- const input = JSON.parse(inputStr);
497
- const inputEncoding = input.inputEncoding ?? 'utf8';
498
- const outputEncoding = input.outputEncoding ?? 'base64';
499
- const level = input.level ?? 6;
500
- let inputBytes;
501
- if (inputEncoding === 'base64') {
502
- inputBytes = base64Decode(input.data);
503
- }
504
- else {
505
- inputBytes = utf8Encode(input.data);
506
- }
507
- let resultBytes;
508
- if (input.operation === 'compress') {
509
- resultBytes = gzipCompress(inputBytes, level);
510
- }
511
- else {
512
- resultBytes = gzipDecompress(inputBytes);
513
- }
514
- let result;
515
- if (outputEncoding === 'base64') {
516
- result = base64Encode(resultBytes);
517
- }
518
- else {
519
- result = utf8Decode(resultBytes);
520
- }
521
- const denominator = input.operation === 'compress' ? inputBytes.length : resultBytes.length;
522
- const ratio = denominator > 0
523
- ? (input.operation === 'compress' ? resultBytes.length : inputBytes.length) / denominator
524
- : 0;
525
- const output = {
526
- result,
527
- originalSize: inputBytes.length,
528
- resultSize: resultBytes.length,
529
- ratio: Math.round(ratio * 100) / 100,
530
- };
531
- Host.outputString(JSON.stringify(output));
532
- return 0;
533
- }
534
- catch (error) {
535
- const output = {
536
- result: '',
537
- originalSize: 0,
538
- resultSize: 0,
539
- error: error instanceof Error ? error.message : String(error),
540
- };
541
- Host.outputString(JSON.stringify(output));
542
- return 1;
543
- }
544
- }
545
- //# sourceMappingURL=compression.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/plugins/compression.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function csv(): number;
2
- //# sourceMappingURL=csv.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/plugins/csv.ts"],"names":[],"mappings":"AAiJA,wBAAgB,GAAG,IAAI,MAAM,CA8C5B"}