trzsz2 1.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.
- package/LICENSE +21 -0
- package/README.cn.md +64 -0
- package/README.md +70 -0
- package/dist/browser/buffer.d.ts +76 -0
- package/dist/browser/comm.d.ts +162 -0
- package/dist/browser/escape.d.ts +33 -0
- package/dist/browser/index.d.ts +17 -0
- package/dist/browser/options.d.ts +57 -0
- package/dist/browser/progress.d.ts +100 -0
- package/dist/browser/transfer.d.ts +259 -0
- package/dist/browser/trzsz2.js +6147 -0
- package/dist/browser/trzsz2.js.map +1 -0
- package/dist/browser/trzsz2.min.js +19 -0
- package/dist/buffer.d.ts +76 -0
- package/dist/cjs/buffer.cjs +252 -0
- package/dist/cjs/buffer.cjs.map +1 -0
- package/dist/cjs/buffer.d.ts +76 -0
- package/dist/cjs/comm.cjs +292 -0
- package/dist/cjs/comm.cjs.map +1 -0
- package/dist/cjs/comm.d.ts +162 -0
- package/dist/cjs/escape.cjs +86 -0
- package/dist/cjs/escape.cjs.map +1 -0
- package/dist/cjs/escape.d.ts +33 -0
- package/dist/cjs/index.cjs +30 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.ts +17 -0
- package/dist/cjs/node_modules/pako/dist/pako.esm.cjs +4177 -0
- package/dist/cjs/node_modules/pako/dist/pako.esm.cjs.map +1 -0
- package/dist/cjs/node_modules/ts-md5/dist/esm/md5.cjs +353 -0
- package/dist/cjs/node_modules/ts-md5/dist/esm/md5.cjs.map +1 -0
- package/dist/cjs/options.d.ts +57 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/progress.cjs +313 -0
- package/dist/cjs/progress.cjs.map +1 -0
- package/dist/cjs/progress.d.ts +100 -0
- package/dist/cjs/transfer.cjs +706 -0
- package/dist/cjs/transfer.cjs.map +1 -0
- package/dist/cjs/transfer.d.ts +259 -0
- package/dist/cjs-full/buffer.d.ts +76 -0
- package/dist/cjs-full/comm.d.ts +162 -0
- package/dist/cjs-full/escape.d.ts +33 -0
- package/dist/cjs-full/index.cjs +6144 -0
- package/dist/cjs-full/index.cjs.map +1 -0
- package/dist/cjs-full/index.d.ts +17 -0
- package/dist/cjs-full/options.d.ts +57 -0
- package/dist/cjs-full/package.json +3 -0
- package/dist/cjs-full/progress.d.ts +100 -0
- package/dist/cjs-full/transfer.d.ts +259 -0
- package/dist/comm.d.ts +162 -0
- package/dist/escape.d.ts +33 -0
- package/dist/esm/buffer.d.ts +76 -0
- package/dist/esm/buffer.js +252 -0
- package/dist/esm/buffer.js.map +1 -0
- package/dist/esm/comm.d.ts +162 -0
- package/dist/esm/comm.js +292 -0
- package/dist/esm/comm.js.map +1 -0
- package/dist/esm/escape.d.ts +33 -0
- package/dist/esm/escape.js +86 -0
- package/dist/esm/escape.js.map +1 -0
- package/dist/esm/index.d.ts +17 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/node_modules/pako/dist/pako.esm.js +4177 -0
- package/dist/esm/node_modules/pako/dist/pako.esm.js.map +1 -0
- package/dist/esm/node_modules/ts-md5/dist/esm/md5.js +353 -0
- package/dist/esm/node_modules/ts-md5/dist/esm/md5.js.map +1 -0
- package/dist/esm/options.d.ts +57 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/progress.d.ts +100 -0
- package/dist/esm/progress.js +313 -0
- package/dist/esm/progress.js.map +1 -0
- package/dist/esm/transfer.d.ts +259 -0
- package/dist/esm/transfer.js +706 -0
- package/dist/esm/transfer.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/options.d.ts +57 -0
- package/dist/progress.d.ts +100 -0
- package/dist/transfer.d.ts +259 -0
- package/package.json +108 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
class Md5 {
|
|
2
|
+
constructor() {
|
|
3
|
+
this._dataLength = 0;
|
|
4
|
+
this._bufferLength = 0;
|
|
5
|
+
this._state = new Int32Array(4);
|
|
6
|
+
this._buffer = new ArrayBuffer(68);
|
|
7
|
+
this._buffer8 = new Uint8Array(this._buffer, 0, 68);
|
|
8
|
+
this._buffer32 = new Uint32Array(this._buffer, 0, 17);
|
|
9
|
+
this.start();
|
|
10
|
+
}
|
|
11
|
+
static hashStr(str, raw = false) {
|
|
12
|
+
return this.onePassHasher.start().appendStr(str).end(raw);
|
|
13
|
+
}
|
|
14
|
+
static hashAsciiStr(str, raw = false) {
|
|
15
|
+
return this.onePassHasher.start().appendAsciiStr(str).end(raw);
|
|
16
|
+
}
|
|
17
|
+
static _hex(x) {
|
|
18
|
+
const hc = Md5.hexChars;
|
|
19
|
+
const ho = Md5.hexOut;
|
|
20
|
+
let n;
|
|
21
|
+
let offset;
|
|
22
|
+
let j;
|
|
23
|
+
let i;
|
|
24
|
+
for (i = 0; i < 4; i += 1) {
|
|
25
|
+
offset = i * 8;
|
|
26
|
+
n = x[i];
|
|
27
|
+
for (j = 0; j < 8; j += 2) {
|
|
28
|
+
ho[offset + 1 + j] = hc.charAt(n & 15);
|
|
29
|
+
n >>>= 4;
|
|
30
|
+
ho[offset + 0 + j] = hc.charAt(n & 15);
|
|
31
|
+
n >>>= 4;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return ho.join("");
|
|
35
|
+
}
|
|
36
|
+
static _md5cycle(x, k) {
|
|
37
|
+
let a = x[0];
|
|
38
|
+
let b = x[1];
|
|
39
|
+
let c = x[2];
|
|
40
|
+
let d = x[3];
|
|
41
|
+
a += (b & c | ~b & d) + k[0] - 680876936 | 0;
|
|
42
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
43
|
+
d += (a & b | ~a & c) + k[1] - 389564586 | 0;
|
|
44
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
45
|
+
c += (d & a | ~d & b) + k[2] + 606105819 | 0;
|
|
46
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
47
|
+
b += (c & d | ~c & a) + k[3] - 1044525330 | 0;
|
|
48
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
49
|
+
a += (b & c | ~b & d) + k[4] - 176418897 | 0;
|
|
50
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
51
|
+
d += (a & b | ~a & c) + k[5] + 1200080426 | 0;
|
|
52
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
53
|
+
c += (d & a | ~d & b) + k[6] - 1473231341 | 0;
|
|
54
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
55
|
+
b += (c & d | ~c & a) + k[7] - 45705983 | 0;
|
|
56
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
57
|
+
a += (b & c | ~b & d) + k[8] + 1770035416 | 0;
|
|
58
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
59
|
+
d += (a & b | ~a & c) + k[9] - 1958414417 | 0;
|
|
60
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
61
|
+
c += (d & a | ~d & b) + k[10] - 42063 | 0;
|
|
62
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
63
|
+
b += (c & d | ~c & a) + k[11] - 1990404162 | 0;
|
|
64
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
65
|
+
a += (b & c | ~b & d) + k[12] + 1804603682 | 0;
|
|
66
|
+
a = (a << 7 | a >>> 25) + b | 0;
|
|
67
|
+
d += (a & b | ~a & c) + k[13] - 40341101 | 0;
|
|
68
|
+
d = (d << 12 | d >>> 20) + a | 0;
|
|
69
|
+
c += (d & a | ~d & b) + k[14] - 1502002290 | 0;
|
|
70
|
+
c = (c << 17 | c >>> 15) + d | 0;
|
|
71
|
+
b += (c & d | ~c & a) + k[15] + 1236535329 | 0;
|
|
72
|
+
b = (b << 22 | b >>> 10) + c | 0;
|
|
73
|
+
a += (b & d | c & ~d) + k[1] - 165796510 | 0;
|
|
74
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
75
|
+
d += (a & c | b & ~c) + k[6] - 1069501632 | 0;
|
|
76
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
77
|
+
c += (d & b | a & ~b) + k[11] + 643717713 | 0;
|
|
78
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
79
|
+
b += (c & a | d & ~a) + k[0] - 373897302 | 0;
|
|
80
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
81
|
+
a += (b & d | c & ~d) + k[5] - 701558691 | 0;
|
|
82
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
83
|
+
d += (a & c | b & ~c) + k[10] + 38016083 | 0;
|
|
84
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
85
|
+
c += (d & b | a & ~b) + k[15] - 660478335 | 0;
|
|
86
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
87
|
+
b += (c & a | d & ~a) + k[4] - 405537848 | 0;
|
|
88
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
89
|
+
a += (b & d | c & ~d) + k[9] + 568446438 | 0;
|
|
90
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
91
|
+
d += (a & c | b & ~c) + k[14] - 1019803690 | 0;
|
|
92
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
93
|
+
c += (d & b | a & ~b) + k[3] - 187363961 | 0;
|
|
94
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
95
|
+
b += (c & a | d & ~a) + k[8] + 1163531501 | 0;
|
|
96
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
97
|
+
a += (b & d | c & ~d) + k[13] - 1444681467 | 0;
|
|
98
|
+
a = (a << 5 | a >>> 27) + b | 0;
|
|
99
|
+
d += (a & c | b & ~c) + k[2] - 51403784 | 0;
|
|
100
|
+
d = (d << 9 | d >>> 23) + a | 0;
|
|
101
|
+
c += (d & b | a & ~b) + k[7] + 1735328473 | 0;
|
|
102
|
+
c = (c << 14 | c >>> 18) + d | 0;
|
|
103
|
+
b += (c & a | d & ~a) + k[12] - 1926607734 | 0;
|
|
104
|
+
b = (b << 20 | b >>> 12) + c | 0;
|
|
105
|
+
a += (b ^ c ^ d) + k[5] - 378558 | 0;
|
|
106
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
107
|
+
d += (a ^ b ^ c) + k[8] - 2022574463 | 0;
|
|
108
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
109
|
+
c += (d ^ a ^ b) + k[11] + 1839030562 | 0;
|
|
110
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
111
|
+
b += (c ^ d ^ a) + k[14] - 35309556 | 0;
|
|
112
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
113
|
+
a += (b ^ c ^ d) + k[1] - 1530992060 | 0;
|
|
114
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
115
|
+
d += (a ^ b ^ c) + k[4] + 1272893353 | 0;
|
|
116
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
117
|
+
c += (d ^ a ^ b) + k[7] - 155497632 | 0;
|
|
118
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
119
|
+
b += (c ^ d ^ a) + k[10] - 1094730640 | 0;
|
|
120
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
121
|
+
a += (b ^ c ^ d) + k[13] + 681279174 | 0;
|
|
122
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
123
|
+
d += (a ^ b ^ c) + k[0] - 358537222 | 0;
|
|
124
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
125
|
+
c += (d ^ a ^ b) + k[3] - 722521979 | 0;
|
|
126
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
127
|
+
b += (c ^ d ^ a) + k[6] + 76029189 | 0;
|
|
128
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
129
|
+
a += (b ^ c ^ d) + k[9] - 640364487 | 0;
|
|
130
|
+
a = (a << 4 | a >>> 28) + b | 0;
|
|
131
|
+
d += (a ^ b ^ c) + k[12] - 421815835 | 0;
|
|
132
|
+
d = (d << 11 | d >>> 21) + a | 0;
|
|
133
|
+
c += (d ^ a ^ b) + k[15] + 530742520 | 0;
|
|
134
|
+
c = (c << 16 | c >>> 16) + d | 0;
|
|
135
|
+
b += (c ^ d ^ a) + k[2] - 995338651 | 0;
|
|
136
|
+
b = (b << 23 | b >>> 9) + c | 0;
|
|
137
|
+
a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;
|
|
138
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
139
|
+
d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;
|
|
140
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
141
|
+
c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;
|
|
142
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
143
|
+
b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;
|
|
144
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
145
|
+
a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;
|
|
146
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
147
|
+
d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;
|
|
148
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
149
|
+
c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;
|
|
150
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
151
|
+
b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;
|
|
152
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
153
|
+
a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;
|
|
154
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
155
|
+
d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;
|
|
156
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
157
|
+
c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;
|
|
158
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
159
|
+
b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;
|
|
160
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
161
|
+
a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;
|
|
162
|
+
a = (a << 6 | a >>> 26) + b | 0;
|
|
163
|
+
d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;
|
|
164
|
+
d = (d << 10 | d >>> 22) + a | 0;
|
|
165
|
+
c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;
|
|
166
|
+
c = (c << 15 | c >>> 17) + d | 0;
|
|
167
|
+
b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;
|
|
168
|
+
b = (b << 21 | b >>> 11) + c | 0;
|
|
169
|
+
x[0] = a + x[0] | 0;
|
|
170
|
+
x[1] = b + x[1] | 0;
|
|
171
|
+
x[2] = c + x[2] | 0;
|
|
172
|
+
x[3] = d + x[3] | 0;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Initialise buffer to be hashed
|
|
176
|
+
*/
|
|
177
|
+
start() {
|
|
178
|
+
this._dataLength = 0;
|
|
179
|
+
this._bufferLength = 0;
|
|
180
|
+
this._state.set(Md5.stateIdentity);
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
183
|
+
// Char to code point to to array conversion:
|
|
184
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
|
|
185
|
+
// #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown
|
|
186
|
+
/**
|
|
187
|
+
* Append a UTF-8 string to the hash buffer
|
|
188
|
+
* @param str String to append
|
|
189
|
+
*/
|
|
190
|
+
appendStr(str) {
|
|
191
|
+
const buf8 = this._buffer8;
|
|
192
|
+
const buf32 = this._buffer32;
|
|
193
|
+
let bufLen = this._bufferLength;
|
|
194
|
+
let code;
|
|
195
|
+
let i;
|
|
196
|
+
for (i = 0; i < str.length; i += 1) {
|
|
197
|
+
code = str.charCodeAt(i);
|
|
198
|
+
if (code < 128) {
|
|
199
|
+
buf8[bufLen++] = code;
|
|
200
|
+
} else if (code < 2048) {
|
|
201
|
+
buf8[bufLen++] = (code >>> 6) + 192;
|
|
202
|
+
buf8[bufLen++] = code & 63 | 128;
|
|
203
|
+
} else if (code < 55296 || code > 56319) {
|
|
204
|
+
buf8[bufLen++] = (code >>> 12) + 224;
|
|
205
|
+
buf8[bufLen++] = code >>> 6 & 63 | 128;
|
|
206
|
+
buf8[bufLen++] = code & 63 | 128;
|
|
207
|
+
} else {
|
|
208
|
+
code = (code - 55296) * 1024 + (str.charCodeAt(++i) - 56320) + 65536;
|
|
209
|
+
if (code > 1114111) {
|
|
210
|
+
throw new Error("Unicode standard supports code points up to U+10FFFF");
|
|
211
|
+
}
|
|
212
|
+
buf8[bufLen++] = (code >>> 18) + 240;
|
|
213
|
+
buf8[bufLen++] = code >>> 12 & 63 | 128;
|
|
214
|
+
buf8[bufLen++] = code >>> 6 & 63 | 128;
|
|
215
|
+
buf8[bufLen++] = code & 63 | 128;
|
|
216
|
+
}
|
|
217
|
+
if (bufLen >= 64) {
|
|
218
|
+
this._dataLength += 64;
|
|
219
|
+
Md5._md5cycle(this._state, buf32);
|
|
220
|
+
bufLen -= 64;
|
|
221
|
+
buf32[0] = buf32[16];
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
this._bufferLength = bufLen;
|
|
225
|
+
return this;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Append an ASCII string to the hash buffer
|
|
229
|
+
* @param str String to append
|
|
230
|
+
*/
|
|
231
|
+
appendAsciiStr(str) {
|
|
232
|
+
const buf8 = this._buffer8;
|
|
233
|
+
const buf32 = this._buffer32;
|
|
234
|
+
let bufLen = this._bufferLength;
|
|
235
|
+
let i;
|
|
236
|
+
let j = 0;
|
|
237
|
+
for (; ; ) {
|
|
238
|
+
i = Math.min(str.length - j, 64 - bufLen);
|
|
239
|
+
while (i--) {
|
|
240
|
+
buf8[bufLen++] = str.charCodeAt(j++);
|
|
241
|
+
}
|
|
242
|
+
if (bufLen < 64) {
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
this._dataLength += 64;
|
|
246
|
+
Md5._md5cycle(this._state, buf32);
|
|
247
|
+
bufLen = 0;
|
|
248
|
+
}
|
|
249
|
+
this._bufferLength = bufLen;
|
|
250
|
+
return this;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Append a byte array to the hash buffer
|
|
254
|
+
* @param input array to append
|
|
255
|
+
*/
|
|
256
|
+
appendByteArray(input) {
|
|
257
|
+
const buf8 = this._buffer8;
|
|
258
|
+
const buf32 = this._buffer32;
|
|
259
|
+
let bufLen = this._bufferLength;
|
|
260
|
+
let i;
|
|
261
|
+
let j = 0;
|
|
262
|
+
for (; ; ) {
|
|
263
|
+
i = Math.min(input.length - j, 64 - bufLen);
|
|
264
|
+
while (i--) {
|
|
265
|
+
buf8[bufLen++] = input[j++];
|
|
266
|
+
}
|
|
267
|
+
if (bufLen < 64) {
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
this._dataLength += 64;
|
|
271
|
+
Md5._md5cycle(this._state, buf32);
|
|
272
|
+
bufLen = 0;
|
|
273
|
+
}
|
|
274
|
+
this._bufferLength = bufLen;
|
|
275
|
+
return this;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Get the state of the hash buffer
|
|
279
|
+
*/
|
|
280
|
+
getState() {
|
|
281
|
+
const s = this._state;
|
|
282
|
+
return {
|
|
283
|
+
buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),
|
|
284
|
+
buflen: this._bufferLength,
|
|
285
|
+
length: this._dataLength,
|
|
286
|
+
state: [s[0], s[1], s[2], s[3]]
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Override the current state of the hash buffer
|
|
291
|
+
* @param state New hash buffer state
|
|
292
|
+
*/
|
|
293
|
+
setState(state) {
|
|
294
|
+
const buf = state.buffer;
|
|
295
|
+
const x = state.state;
|
|
296
|
+
const s = this._state;
|
|
297
|
+
let i;
|
|
298
|
+
this._dataLength = state.length;
|
|
299
|
+
this._bufferLength = state.buflen;
|
|
300
|
+
s[0] = x[0];
|
|
301
|
+
s[1] = x[1];
|
|
302
|
+
s[2] = x[2];
|
|
303
|
+
s[3] = x[3];
|
|
304
|
+
for (i = 0; i < buf.length; i += 1) {
|
|
305
|
+
this._buffer8[i] = buf.charCodeAt(i);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Hash the current state of the hash buffer and return the result
|
|
310
|
+
* @param raw Whether to return the value as an `Int32Array`
|
|
311
|
+
*/
|
|
312
|
+
end(raw = false) {
|
|
313
|
+
const bufLen = this._bufferLength;
|
|
314
|
+
const buf8 = this._buffer8;
|
|
315
|
+
const buf32 = this._buffer32;
|
|
316
|
+
const i = (bufLen >> 2) + 1;
|
|
317
|
+
this._dataLength += bufLen;
|
|
318
|
+
const dataBitsLen = this._dataLength * 8;
|
|
319
|
+
buf8[bufLen] = 128;
|
|
320
|
+
buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;
|
|
321
|
+
buf32.set(Md5.buffer32Identity.subarray(i), i);
|
|
322
|
+
if (bufLen > 55) {
|
|
323
|
+
Md5._md5cycle(this._state, buf32);
|
|
324
|
+
buf32.set(Md5.buffer32Identity);
|
|
325
|
+
}
|
|
326
|
+
if (dataBitsLen <= 4294967295) {
|
|
327
|
+
buf32[14] = dataBitsLen;
|
|
328
|
+
} else {
|
|
329
|
+
const matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);
|
|
330
|
+
if (matches === null) {
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
const lo = parseInt(matches[2], 16);
|
|
334
|
+
const hi = parseInt(matches[1], 16) || 0;
|
|
335
|
+
buf32[14] = lo;
|
|
336
|
+
buf32[15] = hi;
|
|
337
|
+
}
|
|
338
|
+
Md5._md5cycle(this._state, buf32);
|
|
339
|
+
return raw ? this._state : Md5._hex(this._state);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
Md5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);
|
|
343
|
+
Md5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
|
|
344
|
+
Md5.hexChars = "0123456789abcdef";
|
|
345
|
+
Md5.hexOut = [];
|
|
346
|
+
Md5.onePassHasher = new Md5();
|
|
347
|
+
if (Md5.hashStr("hello") !== "5d41402abc4b2a76b9719d911017c592") {
|
|
348
|
+
throw new Error("Md5 self test failed.");
|
|
349
|
+
}
|
|
350
|
+
export {
|
|
351
|
+
Md5
|
|
352
|
+
};
|
|
353
|
+
//# sourceMappingURL=md5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5.js","sources":["../../../../../../node_modules/ts-md5/dist/esm/md5.js"],"sourcesContent":["/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* André Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 André Cruz <amdfcruz@gmail.com>\n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\n;\nexport class Md5 {\n constructor() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state = new Int32Array(4);\n this._buffer = new ArrayBuffer(68);\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n static hashStr(str, raw = false) {\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n }\n static hashAsciiStr(str, raw = false) {\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n }\n static _hex(x) {\n const hc = Md5.hexChars;\n const ho = Md5.hexOut;\n let n;\n let offset;\n let j;\n let i;\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n }\n static _md5cycle(x, k) {\n let a = x[0];\n let b = x[1];\n let c = x[2];\n let d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n /**\n * Initialise buffer to be hashed\n */\n start() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n }\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n /**\n * Append a UTF-8 string to the hash buffer\n * @param str String to append\n */\n appendStr(str) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let code;\n let i;\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n }\n else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n }\n else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n }\n /**\n * Append an ASCII string to the hash buffer\n * @param str String to append\n */\n appendAsciiStr(str) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n for (;;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n /**\n * Append a byte array to the hash buffer\n * @param input array to append\n */\n appendByteArray(input) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n for (;;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n /**\n * Get the state of the hash buffer\n */\n getState() {\n const s = this._state;\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n }\n /**\n * Override the current state of the hash buffer\n * @param state New hash buffer state\n */\n setState(state) {\n const buf = state.buffer;\n const x = state.state;\n const s = this._state;\n let i;\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n }\n /**\n * Hash the current state of the hash buffer and return the result\n * @param raw Whether to return the value as an `Int32Array`\n */\n end(raw = false) {\n const bufLen = this._bufferLength;\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n const i = (bufLen >> 2) + 1;\n this._dataLength += bufLen;\n const dataBitsLen = this._dataLength * 8;\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n }\n else {\n const matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n const lo = parseInt(matches[2], 16);\n const hi = parseInt(matches[1], 16) || 0;\n buf32[14] = lo;\n buf32[15] = hi;\n }\n Md5._md5cycle(this._state, buf32);\n return raw ? this._state : Md5._hex(this._state);\n }\n}\n// Private Static Variables\nMd5.stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\nMd5.buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\nMd5.hexChars = '0123456789abcdef';\nMd5.hexOut = [];\n// Permanent instance is to use for one-call hashing\nMd5.onePassHasher = new Md5();\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n//# sourceMappingURL=md5.js.map"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* trzsz2: https://github.com/zxdong262/trzsz2
|
|
3
|
+
* Copyright(c) 2024 Lonny Wong
|
|
4
|
+
* @license MIT
|
|
5
|
+
*
|
|
6
|
+
* Pure protocol implementation without fs/browser dependencies.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The trzsz options interface.
|
|
10
|
+
*/
|
|
11
|
+
export interface TrzszOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Write the server output to the terminal.
|
|
14
|
+
* @param output - The server output.
|
|
15
|
+
*/
|
|
16
|
+
writeToTerminal?: (output: string | ArrayBuffer | Uint8Array | Blob) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Send the terminal input (aka: user input) to the server.
|
|
19
|
+
* @param input - The terminal input (aka: user input).
|
|
20
|
+
*/
|
|
21
|
+
sendToServer?: (input: string | Uint8Array) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Choose some files to be sent to the server.
|
|
24
|
+
* No need for webshell or which running in a browser.
|
|
25
|
+
* @param directory - choose directories and files, or just files.
|
|
26
|
+
* @return The file paths array to be sent.
|
|
27
|
+
* undefined means the user has cancelled.
|
|
28
|
+
*/
|
|
29
|
+
chooseSendFiles?: (directory?: boolean) => Promise<string[] | undefined>;
|
|
30
|
+
/**
|
|
31
|
+
* Choose a directory to save the received files.
|
|
32
|
+
* No need for webshell or which running in a browser.
|
|
33
|
+
* @return The directory to save the received files.
|
|
34
|
+
* undefined means the user has cancelled.
|
|
35
|
+
*/
|
|
36
|
+
chooseSaveDirectory?: () => Promise<string | undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated A user event may be required to open the save dialog in browsers.
|
|
39
|
+
* No need for nodejs environment ( e.g.: electron preload.js )
|
|
40
|
+
* @param fileName - The file name going to download.
|
|
41
|
+
* @return open the save dialog or cancel the download.
|
|
42
|
+
*/
|
|
43
|
+
requireUserPermission?: (fileName: string) => Promise<boolean>;
|
|
44
|
+
/**
|
|
45
|
+
* The columns of terminal.
|
|
46
|
+
*/
|
|
47
|
+
terminalColumns?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Is there a windows shell? Such as `cmd` and `PowerShell`.
|
|
50
|
+
*/
|
|
51
|
+
isWindowsShell?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* The timeout in milliseconds for initializing drag and drop files to upload.
|
|
54
|
+
* Default is 3000.
|
|
55
|
+
*/
|
|
56
|
+
dragInitTimeout?: number | undefined | null;
|
|
57
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ProgressCallback } from './comm';
|
|
2
|
+
/**
|
|
3
|
+
* Get ellipsis string if the string is too long.
|
|
4
|
+
* @param str - The input string.
|
|
5
|
+
* @param max - The maximum length.
|
|
6
|
+
* @return The ellipsis string and its length.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getEllipsisString(str: string, max: number): {
|
|
9
|
+
sub: string;
|
|
10
|
+
len: number;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* TextProgressBar class for displaying file transfer progress.
|
|
14
|
+
*/
|
|
15
|
+
export declare class TextProgressBar implements ProgressCallback {
|
|
16
|
+
private readonly writer;
|
|
17
|
+
private lastUpdateTime;
|
|
18
|
+
private columns;
|
|
19
|
+
private fileCount;
|
|
20
|
+
private fileIdx;
|
|
21
|
+
private fileName;
|
|
22
|
+
private fileSize;
|
|
23
|
+
private fileStep;
|
|
24
|
+
private startTime;
|
|
25
|
+
private tmuxPaneColumns;
|
|
26
|
+
private firstWrite;
|
|
27
|
+
private speedCnt;
|
|
28
|
+
private speedIdx;
|
|
29
|
+
private timeArray;
|
|
30
|
+
private stepArray;
|
|
31
|
+
/**
|
|
32
|
+
* Create a TextProgressBar.
|
|
33
|
+
* @param writer - The output writer function.
|
|
34
|
+
* @param columns - The terminal columns.
|
|
35
|
+
* @param tmuxPaneColumns - The tmux pane columns (optional).
|
|
36
|
+
*/
|
|
37
|
+
constructor(writer: (output: string) => void, columns: number, tmuxPaneColumns?: number | undefined);
|
|
38
|
+
/**
|
|
39
|
+
* Set the terminal columns.
|
|
40
|
+
* @param columns - The terminal columns.
|
|
41
|
+
*/
|
|
42
|
+
setTerminalColumns(columns: number): void;
|
|
43
|
+
/**
|
|
44
|
+
* Called when the number of files is known.
|
|
45
|
+
* @param num - The number of files.
|
|
46
|
+
*/
|
|
47
|
+
onNum(num: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Called when a file name is known.
|
|
50
|
+
* @param name - The file name.
|
|
51
|
+
*/
|
|
52
|
+
onName(name: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Called when the file size is known.
|
|
55
|
+
* @param size - The file size.
|
|
56
|
+
*/
|
|
57
|
+
onSize(size: number): void;
|
|
58
|
+
/**
|
|
59
|
+
* Called when a step is completed.
|
|
60
|
+
* @param step - The step number.
|
|
61
|
+
*/
|
|
62
|
+
onStep(step: number): void;
|
|
63
|
+
/**
|
|
64
|
+
* Hide the cursor.
|
|
65
|
+
*/
|
|
66
|
+
hideCursor(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Show the cursor.
|
|
69
|
+
*/
|
|
70
|
+
showCursor(): void;
|
|
71
|
+
/**
|
|
72
|
+
* Show the progress.
|
|
73
|
+
*/
|
|
74
|
+
private showProgress;
|
|
75
|
+
/**
|
|
76
|
+
* Get the current transfer speed.
|
|
77
|
+
* @param now - The current time.
|
|
78
|
+
* @return The speed in bytes per second.
|
|
79
|
+
*/
|
|
80
|
+
private getSpeed;
|
|
81
|
+
/**
|
|
82
|
+
* Get the progress text.
|
|
83
|
+
* @param percentage - The percentage string.
|
|
84
|
+
* @param total - The total string.
|
|
85
|
+
* @param speed - The speed string.
|
|
86
|
+
* @param eta - The ETA string.
|
|
87
|
+
* @return The progress text.
|
|
88
|
+
*/
|
|
89
|
+
private getProgressText;
|
|
90
|
+
/**
|
|
91
|
+
* Get the progress bar string.
|
|
92
|
+
* @param len - The length of the bar.
|
|
93
|
+
* @return The progress bar string.
|
|
94
|
+
*/
|
|
95
|
+
private getProgressBar;
|
|
96
|
+
/**
|
|
97
|
+
* Called when the transfer is done.
|
|
98
|
+
*/
|
|
99
|
+
onDone(): void;
|
|
100
|
+
}
|