@push.rocks/smartarchive 4.0.6 → 4.0.10

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.
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@push.rocks/smartarchive',
6
- version: '4.0.6',
6
+ version: '4.0.10',
7
7
  description: 'work with archives'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSwwQkFBMEI7SUFDaEMsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLG9CQUFvQjtDQUNsQyxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSwwQkFBMEI7SUFDaEMsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLG9CQUFvQjtDQUNsQyxDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ export declare function bitIterator(nextBuffer: () => Buffer): (n: any) => number;
@@ -0,0 +1,43 @@
1
+ var BITMASK = [0, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF];
2
+ // returns a function that reads bits.
3
+ // takes a buffer iterator as input
4
+ export function bitIterator(nextBuffer) {
5
+ var bit = 0, byte = 0;
6
+ var bytes = nextBuffer();
7
+ var f = function (n) {
8
+ if (n === null && bit != 0) { // align to byte boundary
9
+ bit = 0;
10
+ byte++;
11
+ return;
12
+ }
13
+ var result = 0;
14
+ while (n > 0) {
15
+ if (byte >= bytes.length) {
16
+ byte = 0;
17
+ bytes = nextBuffer();
18
+ }
19
+ var left = 8 - bit;
20
+ if (bit === 0 && n > 0)
21
+ // @ts-ignore
22
+ f.bytesRead++;
23
+ if (n >= left) {
24
+ result <<= left;
25
+ result |= (BITMASK[left] & bytes[byte++]);
26
+ bit = 0;
27
+ n -= left;
28
+ }
29
+ else {
30
+ result <<= n;
31
+ result |= ((bytes[byte] & (BITMASK[n] << (8 - n - bit))) >> (8 - n - bit));
32
+ bit += n;
33
+ n = 0;
34
+ }
35
+ }
36
+ return result;
37
+ };
38
+ // @ts-ignore
39
+ f.bytesRead = 0;
40
+ return f;
41
+ }
42
+ ;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0aXRlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9iemlwMi9iaXRpdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFbEUsc0NBQXNDO0FBQ3RDLG1DQUFtQztBQUNuQyxNQUFNLFVBQVUsV0FBVyxDQUFDLFVBQXdCO0lBQ2hELElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3RCLElBQUksS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLElBQUksQ0FBQyxHQUFHLFVBQVMsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUcseUJBQXlCO1lBQ3BELEdBQUcsR0FBRyxDQUFDLENBQUE7WUFDUCxJQUFJLEVBQUUsQ0FBQztZQUNQLE9BQU87U0FDVjtRQUNELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLE9BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNULElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ3RCLElBQUksR0FBRyxDQUFDLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLFVBQVUsRUFBRSxDQUFDO2FBQ3hCO1lBQ0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ2xCLGFBQWE7Z0JBQ2IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDWCxNQUFNLEtBQUssSUFBSSxDQUFDO2dCQUNoQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDUixDQUFDLElBQUksSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0gsTUFBTSxLQUFLLENBQUMsQ0FBQztnQkFDYixNQUFNLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMzRSxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUNULENBQUMsR0FBRyxDQUFDLENBQUM7YUFDVDtTQUNKO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBQ0YsYUFBYTtJQUNiLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUFBLENBQUMifQ==
@@ -0,0 +1,14 @@
1
+ export declare class Bzip2Error extends Error {
2
+ name: string;
3
+ message: string;
4
+ stack: string;
5
+ constructor(messageArg: string);
6
+ }
7
+ export declare class Bzip2 {
8
+ Bzip2Error: typeof Bzip2Error;
9
+ crcTable: number[];
10
+ array: (bytes: any) => (n: any) => number;
11
+ simple: (srcbuffer: any, stream: any) => void;
12
+ header: (bits: any) => number;
13
+ decompress: (bits: any, stream: any, buf: any, bufsize: any, streamCRC: any) => any;
14
+ }
@@ -0,0 +1,353 @@
1
+ export class Bzip2Error extends Error {
2
+ constructor(messageArg) {
3
+ super();
4
+ this.name = 'Bzip2Error';
5
+ this.stack = (new Error()).stack;
6
+ this.message = messageArg;
7
+ }
8
+ }
9
+ var messageArg = {
10
+ Error: function (message) { throw new Bzip2Error(message); }
11
+ };
12
+ export class Bzip2 {
13
+ constructor() {
14
+ this.Bzip2Error = Bzip2Error;
15
+ this.crcTable = [
16
+ 0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9,
17
+ 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005,
18
+ 0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61,
19
+ 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
20
+ 0x4c11db70, 0x48d0c6c7, 0x4593e01e, 0x4152fda9,
21
+ 0x5f15adac, 0x5bd4b01b, 0x569796c2, 0x52568b75,
22
+ 0x6a1936c8, 0x6ed82b7f, 0x639b0da6, 0x675a1011,
23
+ 0x791d4014, 0x7ddc5da3, 0x709f7b7a, 0x745e66cd,
24
+ 0x9823b6e0, 0x9ce2ab57, 0x91a18d8e, 0x95609039,
25
+ 0x8b27c03c, 0x8fe6dd8b, 0x82a5fb52, 0x8664e6e5,
26
+ 0xbe2b5b58, 0xbaea46ef, 0xb7a96036, 0xb3687d81,
27
+ 0xad2f2d84, 0xa9ee3033, 0xa4ad16ea, 0xa06c0b5d,
28
+ 0xd4326d90, 0xd0f37027, 0xddb056fe, 0xd9714b49,
29
+ 0xc7361b4c, 0xc3f706fb, 0xceb42022, 0xca753d95,
30
+ 0xf23a8028, 0xf6fb9d9f, 0xfbb8bb46, 0xff79a6f1,
31
+ 0xe13ef6f4, 0xe5ffeb43, 0xe8bccd9a, 0xec7dd02d,
32
+ 0x34867077, 0x30476dc0, 0x3d044b19, 0x39c556ae,
33
+ 0x278206ab, 0x23431b1c, 0x2e003dc5, 0x2ac12072,
34
+ 0x128e9dcf, 0x164f8078, 0x1b0ca6a1, 0x1fcdbb16,
35
+ 0x018aeb13, 0x054bf6a4, 0x0808d07d, 0x0cc9cdca,
36
+ 0x7897ab07, 0x7c56b6b0, 0x71159069, 0x75d48dde,
37
+ 0x6b93dddb, 0x6f52c06c, 0x6211e6b5, 0x66d0fb02,
38
+ 0x5e9f46bf, 0x5a5e5b08, 0x571d7dd1, 0x53dc6066,
39
+ 0x4d9b3063, 0x495a2dd4, 0x44190b0d, 0x40d816ba,
40
+ 0xaca5c697, 0xa864db20, 0xa527fdf9, 0xa1e6e04e,
41
+ 0xbfa1b04b, 0xbb60adfc, 0xb6238b25, 0xb2e29692,
42
+ 0x8aad2b2f, 0x8e6c3698, 0x832f1041, 0x87ee0df6,
43
+ 0x99a95df3, 0x9d684044, 0x902b669d, 0x94ea7b2a,
44
+ 0xe0b41de7, 0xe4750050, 0xe9362689, 0xedf73b3e,
45
+ 0xf3b06b3b, 0xf771768c, 0xfa325055, 0xfef34de2,
46
+ 0xc6bcf05f, 0xc27dede8, 0xcf3ecb31, 0xcbffd686,
47
+ 0xd5b88683, 0xd1799b34, 0xdc3abded, 0xd8fba05a,
48
+ 0x690ce0ee, 0x6dcdfd59, 0x608edb80, 0x644fc637,
49
+ 0x7a089632, 0x7ec98b85, 0x738aad5c, 0x774bb0eb,
50
+ 0x4f040d56, 0x4bc510e1, 0x46863638, 0x42472b8f,
51
+ 0x5c007b8a, 0x58c1663d, 0x558240e4, 0x51435d53,
52
+ 0x251d3b9e, 0x21dc2629, 0x2c9f00f0, 0x285e1d47,
53
+ 0x36194d42, 0x32d850f5, 0x3f9b762c, 0x3b5a6b9b,
54
+ 0x0315d626, 0x07d4cb91, 0x0a97ed48, 0x0e56f0ff,
55
+ 0x1011a0fa, 0x14d0bd4d, 0x19939b94, 0x1d528623,
56
+ 0xf12f560e, 0xf5ee4bb9, 0xf8ad6d60, 0xfc6c70d7,
57
+ 0xe22b20d2, 0xe6ea3d65, 0xeba91bbc, 0xef68060b,
58
+ 0xd727bbb6, 0xd3e6a601, 0xdea580d8, 0xda649d6f,
59
+ 0xc423cd6a, 0xc0e2d0dd, 0xcda1f604, 0xc960ebb3,
60
+ 0xbd3e8d7e, 0xb9ff90c9, 0xb4bcb610, 0xb07daba7,
61
+ 0xae3afba2, 0xaafbe615, 0xa7b8c0cc, 0xa379dd7b,
62
+ 0x9b3660c6, 0x9ff77d71, 0x92b45ba8, 0x9675461f,
63
+ 0x8832161a, 0x8cf30bad, 0x81b02d74, 0x857130c3,
64
+ 0x5d8a9099, 0x594b8d2e, 0x5408abf7, 0x50c9b640,
65
+ 0x4e8ee645, 0x4a4ffbf2, 0x470cdd2b, 0x43cdc09c,
66
+ 0x7b827d21, 0x7f436096, 0x7200464f, 0x76c15bf8,
67
+ 0x68860bfd, 0x6c47164a, 0x61043093, 0x65c52d24,
68
+ 0x119b4be9, 0x155a565e, 0x18197087, 0x1cd86d30,
69
+ 0x029f3d35, 0x065e2082, 0x0b1d065b, 0x0fdc1bec,
70
+ 0x3793a651, 0x3352bbe6, 0x3e119d3f, 0x3ad08088,
71
+ 0x2497d08d, 0x2056cd3a, 0x2d15ebe3, 0x29d4f654,
72
+ 0xc5a92679, 0xc1683bce, 0xcc2b1d17, 0xc8ea00a0,
73
+ 0xd6ad50a5, 0xd26c4d12, 0xdf2f6bcb, 0xdbee767c,
74
+ 0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18,
75
+ 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,
76
+ 0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0,
77
+ 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c,
78
+ 0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668,
79
+ 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
80
+ ];
81
+ this.array = function (bytes) {
82
+ var bit = 0, byte = 0;
83
+ var BITMASK = [0, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF];
84
+ return function (n) {
85
+ var result = 0;
86
+ while (n > 0) {
87
+ var left = 8 - bit;
88
+ if (n >= left) {
89
+ result <<= left;
90
+ result |= (BITMASK[left] & bytes[byte++]);
91
+ bit = 0;
92
+ n -= left;
93
+ }
94
+ else {
95
+ result <<= n;
96
+ result |= ((bytes[byte] & (BITMASK[n] << (8 - n - bit))) >> (8 - n - bit));
97
+ bit += n;
98
+ n = 0;
99
+ }
100
+ }
101
+ return result;
102
+ };
103
+ };
104
+ this.simple = function (srcbuffer, stream) {
105
+ var bits = this.array(srcbuffer);
106
+ var size = this.header(bits);
107
+ var ret = false;
108
+ var bufsize = 100000 * size;
109
+ var buf = new Int32Array(bufsize);
110
+ do {
111
+ ret = this.decompress(bits, stream, buf, bufsize);
112
+ } while (!ret);
113
+ };
114
+ this.header = function (bits) {
115
+ this.byteCount = new Int32Array(256);
116
+ this.symToByte = new Uint8Array(256);
117
+ this.mtfSymbol = new Int32Array(256);
118
+ this.selectors = new Uint8Array(0x8000);
119
+ if (bits(8 * 3) != 4348520)
120
+ messageArg.Error("No magic number found");
121
+ var i = bits(8) - 48;
122
+ if (i < 1 || i > 9)
123
+ messageArg.Error("Not a BZIP archive");
124
+ return i;
125
+ };
126
+ this.decompress = function (bits, stream, buf, bufsize, streamCRC) {
127
+ var MAX_HUFCODE_BITS = 20;
128
+ var MAX_SYMBOLS = 258;
129
+ var SYMBOL_RUNA = 0;
130
+ var SYMBOL_RUNB = 1;
131
+ var GROUP_SIZE = 50;
132
+ var crc = 0 ^ (-1);
133
+ for (var h = '', i = 0; i < 6; i++)
134
+ h += bits(8).toString(16);
135
+ if (h == "177245385090") {
136
+ var finalCRC = bits(32) | 0;
137
+ if (finalCRC !== streamCRC)
138
+ messageArg.Error("Error in bzip2: crc32 do not match");
139
+ // align stream to byte
140
+ bits(null);
141
+ return null; // reset streamCRC for next call
142
+ }
143
+ if (h != "314159265359")
144
+ messageArg.Error("eek not valid bzip data");
145
+ var crcblock = bits(32) | 0; // CRC code
146
+ if (bits(1))
147
+ messageArg.Error("unsupported obsolete version");
148
+ var origPtr = bits(24);
149
+ if (origPtr > bufsize)
150
+ messageArg.Error("Initial position larger than buffer size");
151
+ var t = bits(16);
152
+ var symTotal = 0;
153
+ for (i = 0; i < 16; i++) {
154
+ if (t & (1 << (15 - i))) {
155
+ var k = bits(16);
156
+ for (j = 0; j < 16; j++) {
157
+ if (k & (1 << (15 - j))) {
158
+ this.symToByte[symTotal++] = (16 * i) + j;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ var groupCount = bits(3);
164
+ if (groupCount < 2 || groupCount > 6)
165
+ messageArg.Error("another error");
166
+ var nSelectors = bits(15);
167
+ if (nSelectors == 0)
168
+ messageArg.Error("meh");
169
+ for (var i = 0; i < groupCount; i++)
170
+ this.mtfSymbol[i] = i;
171
+ for (var i = 0; i < nSelectors; i++) {
172
+ for (var j = 0; bits(1); j++)
173
+ if (j >= groupCount)
174
+ messageArg.Error("whoops another error");
175
+ var uc = this.mtfSymbol[j];
176
+ for (var k = j - 1; k >= 0; k--) {
177
+ this.mtfSymbol[k + 1] = this.mtfSymbol[k];
178
+ }
179
+ this.mtfSymbol[0] = uc;
180
+ this.selectors[i] = uc;
181
+ }
182
+ var symCount = symTotal + 2;
183
+ var groups = [];
184
+ var length = new Uint8Array(MAX_SYMBOLS), temp = new Uint16Array(MAX_HUFCODE_BITS + 1);
185
+ var hufGroup;
186
+ for (var j = 0; j < groupCount; j++) {
187
+ t = bits(5); //lengths
188
+ for (var i = 0; i < symCount; i++) {
189
+ while (true) {
190
+ if (t < 1 || t > MAX_HUFCODE_BITS)
191
+ messageArg.Error("I gave up a while ago on writing error messages");
192
+ if (!bits(1))
193
+ break;
194
+ if (!bits(1))
195
+ t++;
196
+ else
197
+ t--;
198
+ }
199
+ length[i] = t;
200
+ }
201
+ var minLen, maxLen;
202
+ minLen = maxLen = length[0];
203
+ for (var i = 1; i < symCount; i++) {
204
+ if (length[i] > maxLen)
205
+ maxLen = length[i];
206
+ else if (length[i] < minLen)
207
+ minLen = length[i];
208
+ }
209
+ hufGroup = groups[j] = {};
210
+ hufGroup.permute = new Int32Array(MAX_SYMBOLS);
211
+ hufGroup.limit = new Int32Array(MAX_HUFCODE_BITS + 1);
212
+ hufGroup.base = new Int32Array(MAX_HUFCODE_BITS + 1);
213
+ hufGroup.minLen = minLen;
214
+ hufGroup.maxLen = maxLen;
215
+ var base = hufGroup.base;
216
+ var limit = hufGroup.limit;
217
+ var pp = 0;
218
+ for (var i = minLen; i <= maxLen; i++)
219
+ for (var t = 0; t < symCount; t++)
220
+ if (length[t] == i)
221
+ hufGroup.permute[pp++] = t;
222
+ for (i = minLen; i <= maxLen; i++)
223
+ temp[i] = limit[i] = 0;
224
+ for (i = 0; i < symCount; i++)
225
+ temp[length[i]]++;
226
+ pp = t = 0;
227
+ for (i = minLen; i < maxLen; i++) {
228
+ pp += temp[i];
229
+ limit[i] = pp - 1;
230
+ pp <<= 1;
231
+ base[i + 1] = pp - (t += temp[i]);
232
+ }
233
+ limit[maxLen] = pp + temp[maxLen] - 1;
234
+ base[minLen] = 0;
235
+ }
236
+ for (var i = 0; i < 256; i++) {
237
+ this.mtfSymbol[i] = i;
238
+ this.byteCount[i] = 0;
239
+ }
240
+ var runPos, count, symCount, selector;
241
+ runPos = count = symCount = selector = 0;
242
+ while (true) {
243
+ if (!(symCount--)) {
244
+ symCount = GROUP_SIZE - 1;
245
+ if (selector >= nSelectors)
246
+ messageArg.Error("meow i'm a kitty, that's an error");
247
+ hufGroup = groups[this.selectors[selector++]];
248
+ base = hufGroup.base;
249
+ limit = hufGroup.limit;
250
+ }
251
+ i = hufGroup.minLen;
252
+ j = bits(i);
253
+ while (true) {
254
+ if (i > hufGroup.maxLen)
255
+ messageArg.Error("rawr i'm a dinosaur");
256
+ if (j <= limit[i])
257
+ break;
258
+ i++;
259
+ j = (j << 1) | bits(1);
260
+ }
261
+ j -= base[i];
262
+ if (j < 0 || j >= MAX_SYMBOLS)
263
+ messageArg.Error("moo i'm a cow");
264
+ var nextSym = hufGroup.permute[j];
265
+ if (nextSym == SYMBOL_RUNA || nextSym == SYMBOL_RUNB) {
266
+ if (!runPos) {
267
+ runPos = 1;
268
+ t = 0;
269
+ }
270
+ if (nextSym == SYMBOL_RUNA)
271
+ t += runPos;
272
+ else
273
+ t += 2 * runPos;
274
+ runPos <<= 1;
275
+ continue;
276
+ }
277
+ if (runPos) {
278
+ runPos = 0;
279
+ if (count + t > bufsize)
280
+ messageArg.Error("Boom.");
281
+ uc = this.symToByte[this.mtfSymbol[0]];
282
+ this.byteCount[uc] += t;
283
+ while (t--)
284
+ buf[count++] = uc;
285
+ }
286
+ if (nextSym > symTotal)
287
+ break;
288
+ if (count >= bufsize)
289
+ messageArg.Error("I can't think of anything. Error");
290
+ i = nextSym - 1;
291
+ uc = this.mtfSymbol[i];
292
+ for (var k = i - 1; k >= 0; k--) {
293
+ this.mtfSymbol[k + 1] = this.mtfSymbol[k];
294
+ }
295
+ this.mtfSymbol[0] = uc;
296
+ uc = this.symToByte[uc];
297
+ this.byteCount[uc]++;
298
+ buf[count++] = uc;
299
+ }
300
+ if (origPtr < 0 || origPtr >= count)
301
+ messageArg.Error("I'm a monkey and I'm throwing something at someone, namely you");
302
+ var j = 0;
303
+ for (var i = 0; i < 256; i++) {
304
+ k = j + this.byteCount[i];
305
+ this.byteCount[i] = j;
306
+ j = k;
307
+ }
308
+ for (var i = 0; i < count; i++) {
309
+ uc = buf[i] & 0xff;
310
+ buf[this.byteCount[uc]] |= (i << 8);
311
+ this.byteCount[uc]++;
312
+ }
313
+ var pos = 0, current = 0, run = 0;
314
+ if (count) {
315
+ pos = buf[origPtr];
316
+ current = (pos & 0xff);
317
+ pos >>= 8;
318
+ run = -1;
319
+ }
320
+ count = count;
321
+ var copies, previous, outbyte;
322
+ while (count) {
323
+ count--;
324
+ previous = current;
325
+ pos = buf[pos];
326
+ current = pos & 0xff;
327
+ pos >>= 8;
328
+ if (run++ == 3) {
329
+ copies = current;
330
+ outbyte = previous;
331
+ current = -1;
332
+ }
333
+ else {
334
+ copies = 1;
335
+ outbyte = current;
336
+ }
337
+ while (copies--) {
338
+ crc = ((crc << 8) ^ this.crcTable[((crc >> 24) ^ outbyte) & 0xFF]) & 0xFFFFFFFF; // crc32
339
+ stream(outbyte);
340
+ }
341
+ if (current != previous)
342
+ run = 0;
343
+ }
344
+ crc = (crc ^ (-1)) >>> 0;
345
+ if ((crc | 0) != (crcblock | 0))
346
+ messageArg.Error("Error in bzip2: crc32 do not match");
347
+ streamCRC = (crc ^ ((streamCRC << 1) | (streamCRC >>> 31))) & 0xFFFFFFFF;
348
+ return streamCRC;
349
+ };
350
+ }
351
+ }
352
+ ;
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnppcDIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9iemlwMi9iemlwMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVyxTQUFRLEtBQUs7SUFLbkMsWUFBWSxVQUFrQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUxILFNBQUksR0FBVyxZQUFZLENBQUM7UUFFNUIsVUFBSyxHQUFHLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUlqQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0NBQ0Y7QUFFRCxJQUFJLFVBQVUsR0FBRztJQUNmLEtBQUssRUFBRSxVQUFTLE9BQU8sSUFBRyxNQUFNLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUEsQ0FBQztDQUMxRCxDQUFDO0FBRUYsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDUyxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGFBQVEsR0FDZjtZQUNDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVU7WUFDOUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVTtZQUM5QyxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVO1lBQzlD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
@@ -0,0 +1,2 @@
1
+ import * as plugins from '../plugins.js';
2
+ export declare function unbzip2Stream(): plugins.smartstream.SmartDuplex<any, void>;
@@ -0,0 +1,83 @@
1
+ import * as plugins from '../plugins.js';
2
+ import { Bzip2 } from './bzip2.js';
3
+ import { bitIterator } from './bititerator.js';
4
+ export function unbzip2Stream() {
5
+ const bzip2Instance = new Bzip2();
6
+ var bufferQueue = [];
7
+ var hasBytes = 0;
8
+ var blockSize = 0;
9
+ var broken = false;
10
+ var done = false;
11
+ var bitReader = null;
12
+ var streamCRC = null;
13
+ function decompressBlock() {
14
+ if (!blockSize) {
15
+ blockSize = bzip2Instance.header(bitReader);
16
+ streamCRC = 0;
17
+ }
18
+ else {
19
+ var bufsize = 100000 * blockSize;
20
+ var buf = new Int32Array(bufsize);
21
+ var chunk = [];
22
+ var f = function (b) {
23
+ chunk.push(b);
24
+ };
25
+ streamCRC = bzip2Instance.decompress(bitReader, f, buf, bufsize, streamCRC);
26
+ if (streamCRC === null) {
27
+ // reset for next bzip2 header
28
+ blockSize = 0;
29
+ return;
30
+ }
31
+ else {
32
+ return Buffer.from(chunk);
33
+ }
34
+ }
35
+ }
36
+ var outlength = 0;
37
+ const decompressAndPush = async (smartDuplexStream) => {
38
+ if (broken)
39
+ return;
40
+ try {
41
+ const resultChunk = decompressBlock();
42
+ smartDuplexStream.push(resultChunk);
43
+ if (resultChunk) {
44
+ //console.error('write at', outlength.toString(16));
45
+ outlength += resultChunk.length;
46
+ }
47
+ }
48
+ catch (e) {
49
+ console.error(e);
50
+ smartDuplexStream.emit('error', e);
51
+ broken = true;
52
+ return false;
53
+ }
54
+ };
55
+ return new plugins.smartstream.SmartDuplex({
56
+ writeFunction: async function (data, streamTools) {
57
+ //console.error('received', data.length,'bytes in', typeof data);
58
+ bufferQueue.push(data);
59
+ hasBytes += data.length;
60
+ if (bitReader === null) {
61
+ bitReader = bitIterator(function () {
62
+ return bufferQueue.shift();
63
+ });
64
+ }
65
+ while (!broken && hasBytes - bitReader.bytesRead + 1 >= (25000 + 100000 * blockSize || 4)) {
66
+ //console.error('decompressing with', hasBytes - bitReader.bytesRead + 1, 'bytes in buffer');
67
+ await decompressAndPush(this);
68
+ }
69
+ },
70
+ finalFunction: async function (streamTools) {
71
+ //console.error(x,'last compressing with', hasBytes, 'bytes in buffer');
72
+ while (!broken && bitReader && hasBytes > bitReader.bytesRead) {
73
+ await decompressAndPush(this);
74
+ }
75
+ if (!broken) {
76
+ if (streamCRC !== null)
77
+ this.emit('error', new Error('input stream ended prematurely'));
78
+ this.queue(null);
79
+ }
80
+ },
81
+ });
82
+ }
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9iemlwMi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvQyxNQUFNLFVBQVUsYUFBYTtJQUMzQixNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQ2xDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7SUFDakIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNuQixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7SUFDakIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQztJQUVyQixTQUFTLGVBQWU7UUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVDLFNBQVMsR0FBRyxDQUFDLENBQUM7U0FDZjthQUFNO1lBQ0wsSUFBSSxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxJQUFJLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUVsQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsR0FBRyxVQUFVLENBQUM7Z0JBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUFDO1lBRUYsU0FBUyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQzVFLElBQUksU0FBUyxLQUFLLElBQUksRUFBRTtnQkFDdEIsOEJBQThCO2dCQUM5QixTQUFTLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLE9BQU87YUFDUjtpQkFBTTtnQkFDTCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDM0I7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsaUJBQWtELEVBQUUsRUFBRTtRQUNyRixJQUFJLE1BQU07WUFBRSxPQUFPO1FBQ25CLElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxlQUFlLEVBQUUsQ0FBQztZQUN0QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEMsSUFBSSxXQUFXLEVBQUU7Z0JBQ2Ysb0RBQW9EO2dCQUNwRCxTQUFTLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQzthQUNqQztTQUNGO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNkLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDekMsYUFBYSxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsV0FBVztZQUM5QyxpRUFBaUU7WUFDakUsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUN4QixJQUFJLFNBQVMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RCLFNBQVMsR0FBRyxXQUFXLENBQUM7b0JBQ3RCLE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QixDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsT0FBTyxDQUFDLE1BQU0sSUFBSSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxHQUFHLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFBRTtnQkFDekYsNkZBQTZGO2dCQUM3RixNQUFNLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQztRQUNELGFBQWEsRUFBRSxLQUFLLFdBQVcsV0FBVztZQUN4Qyx3RUFBd0U7WUFDeEUsT0FBTyxDQUFDLE1BQU0sSUFBSSxTQUFTLElBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQzdELE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7WUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLElBQUksU0FBUyxLQUFLLElBQUk7b0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO2dCQUN4RixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -15,12 +15,12 @@ export class ArchiveAnalyzer {
15
15
  ]);
16
16
  return archiveMimeTypes.has(mimeType);
17
17
  }
18
- getDecompressionStream(mimeTypeArg) {
18
+ async getDecompressionStream(mimeTypeArg) {
19
19
  switch (mimeTypeArg) {
20
20
  case 'application/gzip':
21
21
  return this.smartArchiveRef.gzipTools.getDecompressionStream();
22
22
  case 'application/x-bzip2':
23
- return this.smartArchiveRef.bzip2Tools.getDecompressionStream(); // replace with your own bzip2 decompression stream
23
+ return await this.smartArchiveRef.bzip2Tools.getDecompressionStream(); // replace with your own bzip2 decompression stream
24
24
  case 'application/x-tar':
25
25
  return this.smartArchiveRef.tarTools.getDecompressionStream(); // replace with your own tar decompression stream
26
26
  default:
@@ -35,7 +35,7 @@ export class ArchiveAnalyzer {
35
35
  readableObjectMode: true,
36
36
  writeFunction: async (chunkArg, streamtools) => {
37
37
  const fileType = await plugins.fileType.fileTypeFromBuffer(chunkArg);
38
- const decompressionStream = this.getDecompressionStream(fileType?.mime);
38
+ const decompressionStream = await this.getDecompressionStream(fileType?.mime);
39
39
  resultStream.push(chunkArg);
40
40
  if (firstRun) {
41
41
  firstRun = false;
@@ -58,4 +58,4 @@ export class ArchiveAnalyzer {
58
58
  return analyzerstream;
59
59
  }
60
60
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hcmNoaXZlYW5hbHl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmFyY2hpdmVhbmFseXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQVN4QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFZLGtCQUFnQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBZ0I7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBZ0IsSUFBSSxHQUFHLENBQUM7WUFDNUMsaUJBQWlCO1lBQ2pCLDhCQUE4QjtZQUM5QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixxQkFBcUI7WUFDckIsb0NBQW9DO1NBQ3JDLENBQUMsQ0FBQztRQUVILE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHTyxzQkFBc0IsQ0FDNUIsV0FBb0Q7UUFFcEQsUUFBUSxXQUFXLEVBQUU7WUFDbkIsS0FBSyxrQkFBa0I7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNqRSxLQUFLLHFCQUFxQjtnQkFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsbURBQW1EO1lBQ3RILEtBQUssbUJBQW1CO2dCQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxpREFBaUQ7WUFDbEg7Z0JBQ0Usd0RBQXdEO2dCQUN4RCxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUEwQjtZQUNsRixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRSxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsSUFBVyxDQUFDLENBQUM7Z0JBQy9FLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLElBQUksUUFBUSxFQUFFO29CQUNaLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ2pCLE1BQU0sTUFBTSxHQUFvQjt3QkFDOUIsUUFBUTt3QkFDUixTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQzt3QkFDdkQsWUFBWTt3QkFDWixtQkFBbUI7cUJBQ3BCLENBQUM7b0JBQ0YsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDekIsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkIsT0FBTyxJQUFJLENBQUM7aUJBQ2I7WUFDSCxDQUFDO1lBQ0QsYUFBYSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDN0IsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztDQUNGIn0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5hcmNoaXZlYW5hbHl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9jbGFzc2VzLmFyY2hpdmVhbmFseXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQVN4QyxNQUFNLE9BQU8sZUFBZTtJQUcxQixZQUFZLGtCQUFnQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFTyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBZ0I7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBZ0IsSUFBSSxHQUFHLENBQUM7WUFDNUMsaUJBQWlCO1lBQ2pCLDhCQUE4QjtZQUM5QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixxQkFBcUI7WUFDckIsb0NBQW9DO1NBQ3JDLENBQUMsQ0FBQztRQUVILE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHTyxLQUFLLENBQUMsc0JBQXNCLENBQ2xDLFdBQW9EO1FBRXBELFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssa0JBQWtCO2dCQUNyQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDakUsS0FBSyxxQkFBcUI7Z0JBQ3hCLE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsbURBQW1EO1lBQzVILEtBQUssbUJBQW1CO2dCQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxpREFBaUQ7WUFDbEg7Z0JBQ0Usd0RBQXdEO2dCQUN4RCxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUEwQjtZQUNsRixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBZ0IsRUFBRSxXQUFXLEVBQUUsRUFBRTtnQkFDckQsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNyRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxJQUFXLENBQUMsQ0FBQztnQkFDckYsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxRQUFRLEVBQUU7b0JBQ1osUUFBUSxHQUFHLEtBQUssQ0FBQztvQkFDakIsTUFBTSxNQUFNLEdBQW9CO3dCQUM5QixRQUFRO3dCQUNSLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO3dCQUN2RCxZQUFZO3dCQUNaLG1CQUFtQjtxQkFDcEIsQ0FBQztvQkFDRixXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN6QixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2QixPQUFPLElBQUksQ0FBQztpQkFDYjtZQUNILENBQUM7WUFDRCxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0NBQ0YifQ==
@@ -1,15 +1,7 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import type { SmartArchive } from './classes.smartarchive.js';
4
2
  import * as plugins from './plugins.js';
5
- export declare class DecompressBzip2Transform extends plugins.stream.Transform {
6
- private bzip2Decompressor;
7
- constructor();
8
- _transform(chunk: Buffer, encoding: BufferEncoding, callback: plugins.stream.TransformCallback): void;
9
- _flush(callback: plugins.stream.TransformCallback): void;
10
- }
11
3
  export declare class Bzip2Tools {
12
4
  smartArchiveRef: SmartArchive;
13
5
  constructor(smartArchiveRefArg: SmartArchive);
14
- getDecompressionStream(): DecompressBzip2Transform;
6
+ getDecompressionStream(): plugins.smartstream.SmartDuplex<any, void>;
15
7
  }
@@ -1,36 +1,11 @@
1
1
  import * as plugins from './plugins.js';
2
- export class DecompressBzip2Transform extends plugins.stream.Transform {
3
- constructor() {
4
- super();
5
- // Initialize the bzip2 decompressor once here
6
- this.bzip2Decompressor = plugins.unbzip2Stream();
7
- this.bzip2Decompressor.on('data', (data) => {
8
- // When data is decompressed, push it to the stream
9
- this.push(data);
10
- });
11
- this.bzip2Decompressor.on('error', (err) => {
12
- // If an error occurs, emit it on this stream
13
- this.emit('error', err);
14
- });
15
- }
16
- _transform(chunk, encoding, callback) {
17
- // Pass the chunk directly to the decompressor
18
- // The decompressor will handle the state across chunks
19
- this.bzip2Decompressor.write(chunk);
20
- callback();
21
- }
22
- _flush(callback) {
23
- // When the stream is ending, end the decompressor stream as well
24
- this.bzip2Decompressor.end();
25
- callback();
26
- }
27
- }
2
+ import { unbzip2Stream } from './bzip2/index.js';
28
3
  export class Bzip2Tools {
29
4
  constructor(smartArchiveRefArg) {
30
5
  this.smartArchiveRef = smartArchiveRefArg;
31
6
  }
32
7
  getDecompressionStream() {
33
- return new DecompressBzip2Transform();
8
+ return unbzip2Stream();
34
9
  }
35
10
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5iemlwMnRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5iemlwMnRvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVM7SUFHcEU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDakQsbURBQW1EO1lBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3pDLDZDQUE2QztZQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLFFBQXdCLEVBQUUsUUFBMEM7UUFDNUYsOENBQThDO1FBQzlDLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUEwQztRQUMvQyxpRUFBaUU7UUFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdCLFFBQVEsRUFBRSxDQUFDO0lBQ2IsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBWSxrQkFBZ0M7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7Q0FDRiJ9
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5iemlwMnRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2xhc3Nlcy5iemlwMnRvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLE9BQU8sVUFBVTtJQUdyQixZQUFZLGtCQUFnQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxhQUFhLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YifQ==