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