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.
Files changed (79) hide show
  1. package/LICENSE +21 -0
  2. package/README.cn.md +64 -0
  3. package/README.md +70 -0
  4. package/dist/browser/buffer.d.ts +76 -0
  5. package/dist/browser/comm.d.ts +162 -0
  6. package/dist/browser/escape.d.ts +33 -0
  7. package/dist/browser/index.d.ts +17 -0
  8. package/dist/browser/options.d.ts +57 -0
  9. package/dist/browser/progress.d.ts +100 -0
  10. package/dist/browser/transfer.d.ts +259 -0
  11. package/dist/browser/trzsz2.js +6147 -0
  12. package/dist/browser/trzsz2.js.map +1 -0
  13. package/dist/browser/trzsz2.min.js +19 -0
  14. package/dist/buffer.d.ts +76 -0
  15. package/dist/cjs/buffer.cjs +252 -0
  16. package/dist/cjs/buffer.cjs.map +1 -0
  17. package/dist/cjs/buffer.d.ts +76 -0
  18. package/dist/cjs/comm.cjs +292 -0
  19. package/dist/cjs/comm.cjs.map +1 -0
  20. package/dist/cjs/comm.d.ts +162 -0
  21. package/dist/cjs/escape.cjs +86 -0
  22. package/dist/cjs/escape.cjs.map +1 -0
  23. package/dist/cjs/escape.d.ts +33 -0
  24. package/dist/cjs/index.cjs +30 -0
  25. package/dist/cjs/index.cjs.map +1 -0
  26. package/dist/cjs/index.d.ts +17 -0
  27. package/dist/cjs/node_modules/pako/dist/pako.esm.cjs +4177 -0
  28. package/dist/cjs/node_modules/pako/dist/pako.esm.cjs.map +1 -0
  29. package/dist/cjs/node_modules/ts-md5/dist/esm/md5.cjs +353 -0
  30. package/dist/cjs/node_modules/ts-md5/dist/esm/md5.cjs.map +1 -0
  31. package/dist/cjs/options.d.ts +57 -0
  32. package/dist/cjs/package.json +3 -0
  33. package/dist/cjs/progress.cjs +313 -0
  34. package/dist/cjs/progress.cjs.map +1 -0
  35. package/dist/cjs/progress.d.ts +100 -0
  36. package/dist/cjs/transfer.cjs +706 -0
  37. package/dist/cjs/transfer.cjs.map +1 -0
  38. package/dist/cjs/transfer.d.ts +259 -0
  39. package/dist/cjs-full/buffer.d.ts +76 -0
  40. package/dist/cjs-full/comm.d.ts +162 -0
  41. package/dist/cjs-full/escape.d.ts +33 -0
  42. package/dist/cjs-full/index.cjs +6144 -0
  43. package/dist/cjs-full/index.cjs.map +1 -0
  44. package/dist/cjs-full/index.d.ts +17 -0
  45. package/dist/cjs-full/options.d.ts +57 -0
  46. package/dist/cjs-full/package.json +3 -0
  47. package/dist/cjs-full/progress.d.ts +100 -0
  48. package/dist/cjs-full/transfer.d.ts +259 -0
  49. package/dist/comm.d.ts +162 -0
  50. package/dist/escape.d.ts +33 -0
  51. package/dist/esm/buffer.d.ts +76 -0
  52. package/dist/esm/buffer.js +252 -0
  53. package/dist/esm/buffer.js.map +1 -0
  54. package/dist/esm/comm.d.ts +162 -0
  55. package/dist/esm/comm.js +292 -0
  56. package/dist/esm/comm.js.map +1 -0
  57. package/dist/esm/escape.d.ts +33 -0
  58. package/dist/esm/escape.js +86 -0
  59. package/dist/esm/escape.js.map +1 -0
  60. package/dist/esm/index.d.ts +17 -0
  61. package/dist/esm/index.js +30 -0
  62. package/dist/esm/index.js.map +1 -0
  63. package/dist/esm/node_modules/pako/dist/pako.esm.js +4177 -0
  64. package/dist/esm/node_modules/pako/dist/pako.esm.js.map +1 -0
  65. package/dist/esm/node_modules/ts-md5/dist/esm/md5.js +353 -0
  66. package/dist/esm/node_modules/ts-md5/dist/esm/md5.js.map +1 -0
  67. package/dist/esm/options.d.ts +57 -0
  68. package/dist/esm/package.json +3 -0
  69. package/dist/esm/progress.d.ts +100 -0
  70. package/dist/esm/progress.js +313 -0
  71. package/dist/esm/progress.js.map +1 -0
  72. package/dist/esm/transfer.d.ts +259 -0
  73. package/dist/esm/transfer.js +706 -0
  74. package/dist/esm/transfer.js.map +1 -0
  75. package/dist/index.d.ts +17 -0
  76. package/dist/options.d.ts +57 -0
  77. package/dist/progress.d.ts +100 -0
  78. package/dist/transfer.d.ts +259 -0
  79. package/package.json +108 -0
@@ -0,0 +1,259 @@
1
+ import { OpenSaveFile, TrzszFileReader, ProgressCallback } from './comm';
2
+ /**
3
+ * TrzszTransfer class for handling file transfer protocol.
4
+ */
5
+ export declare class TrzszTransfer {
6
+ private readonly buffer;
7
+ private readonly writer;
8
+ private readonly isWindowsShell;
9
+ private remoteIsWindows;
10
+ private lastInputTime;
11
+ private readonly openedFiles;
12
+ private readonly createdFiles;
13
+ private tmuxOutputJunk;
14
+ private cleanTimeoutInMilliseconds;
15
+ private transferConfig;
16
+ private stopped;
17
+ private maxChunkTimeInMilliseconds;
18
+ private protocolNewline;
19
+ /**
20
+ * Create a TrzszTransfer.
21
+ * @param writer - The output writer function.
22
+ * @param isWindowsShell - Whether the shell is Windows.
23
+ */
24
+ constructor(writer: (data: string | Uint8Array) => void, isWindowsShell?: boolean);
25
+ /**
26
+ * Cleanup resources.
27
+ */
28
+ cleanup(): void;
29
+ /**
30
+ * Add received data to the buffer.
31
+ * @param data - The received data.
32
+ */
33
+ addReceivedData(data: string | ArrayBuffer | Uint8Array | Blob): void;
34
+ /**
35
+ * Stop transferring.
36
+ */
37
+ stopTransferring(): Promise<void>;
38
+ /**
39
+ * Clean input buffer.
40
+ * @param timeoutInMilliseconds - The timeout in milliseconds.
41
+ */
42
+ private cleanInput;
43
+ /**
44
+ * Send a line.
45
+ * @param typ - The type.
46
+ * @param buf - The buffer.
47
+ */
48
+ private sendLine;
49
+ /**
50
+ * Receive a line.
51
+ * @param expectType - The expected type.
52
+ * @param mayHasJunk - Whether there may be junk.
53
+ */
54
+ private recvLine;
55
+ /**
56
+ * Receive and check a line.
57
+ * @param expectType - The expected type.
58
+ * @param mayHasJunk - Whether there may be junk.
59
+ */
60
+ private recvCheck;
61
+ /**
62
+ * Send an integer.
63
+ * @param typ - The type.
64
+ * @param val - The value.
65
+ */
66
+ private sendInteger;
67
+ /**
68
+ * Receive an integer.
69
+ * @param typ - The type.
70
+ * @param mayHasJunk - Whether there may be junk.
71
+ */
72
+ private recvInteger;
73
+ /**
74
+ * Check an integer.
75
+ * @param expect - The expected value.
76
+ */
77
+ private checkInteger;
78
+ /**
79
+ * Send a string.
80
+ * @param typ - The type.
81
+ * @param str - The string.
82
+ */
83
+ private sendString;
84
+ /**
85
+ * Receive a string.
86
+ * @param typ - The type.
87
+ * @param mayHasJunk - Whether there may be junk.
88
+ */
89
+ private recvString;
90
+ /**
91
+ * Check a string.
92
+ * @param expect - The expected string.
93
+ */
94
+ protected checkString(expect: string): Promise<void>;
95
+ /**
96
+ * Send binary data.
97
+ * @param typ - The type.
98
+ * @param buf - The buffer.
99
+ */
100
+ private sendBinary;
101
+ /**
102
+ * Receive binary data.
103
+ * @param typ - The type.
104
+ * @param mayHasJunk - Whether there may be junk.
105
+ */
106
+ private recvBinary;
107
+ /**
108
+ * Check binary data.
109
+ * @param expect - The expected buffer.
110
+ */
111
+ private checkBinary;
112
+ /**
113
+ * Send data.
114
+ * @param data - The data.
115
+ * @param binary - Whether to use binary mode.
116
+ * @param escapeCodes - The escape codes.
117
+ */
118
+ private sendData;
119
+ /**
120
+ * Receive data.
121
+ * @param binary - Whether to use binary mode.
122
+ * @param escapeCodes - The escape codes.
123
+ * @param timeoutInMilliseconds - The timeout in milliseconds.
124
+ */
125
+ private recvData;
126
+ /**
127
+ * Send action.
128
+ * @param confirm - Whether to confirm.
129
+ * @param remoteIsWindows - Whether the remote is Windows.
130
+ */
131
+ sendAction(confirm: boolean, remoteIsWindows: boolean): Promise<void>;
132
+ /**
133
+ * Receive action.
134
+ */
135
+ recvAction(): Promise<Record<string, unknown>>;
136
+ /**
137
+ * Send config.
138
+ * @param args - The config arguments.
139
+ * @param escapeChars - The escape characters.
140
+ * @param tmuxMode - The tmux mode.
141
+ * @param tmuxPaneWidth - The tmux pane width.
142
+ */
143
+ sendConfig(args: Record<string, unknown>, escapeChars: string[][], tmuxMode: number, tmuxPaneWidth: number): Promise<void>;
144
+ /**
145
+ * Receive config.
146
+ */
147
+ recvConfig(): Promise<Record<string, unknown>>;
148
+ /**
149
+ * Send client exit.
150
+ * @param msg - The message.
151
+ */
152
+ clientExit(msg: string): Promise<void>;
153
+ /**
154
+ * Receive exit.
155
+ */
156
+ recvExit(): Promise<string>;
157
+ /**
158
+ * Delete created files.
159
+ */
160
+ private deleteCreatedFiles;
161
+ /**
162
+ * Handle client error.
163
+ * @param err - The error.
164
+ */
165
+ clientError(err: Error): Promise<void>;
166
+ /**
167
+ * Handle server error.
168
+ * @param err - The error.
169
+ */
170
+ serverError(err: Error): Promise<void>;
171
+ /**
172
+ * Server exit - to be implemented by subclass or user.
173
+ * @param msg - The message.
174
+ */
175
+ serverExit(_msg: string): Promise<void>;
176
+ /**
177
+ * Send file number.
178
+ * @param num - The number of files.
179
+ * @param progressCallback - The progress callback.
180
+ */
181
+ private sendFileNum;
182
+ /**
183
+ * Send file name.
184
+ * @param file - The file reader.
185
+ * @param directory - Whether it's a directory.
186
+ * @param progressCallback - The progress callback.
187
+ */
188
+ private sendFileName;
189
+ /**
190
+ * Send file size.
191
+ * @param size - The file size.
192
+ * @param progressCallback - The progress callback.
193
+ */
194
+ private sendFileSize;
195
+ /**
196
+ * Send file data.
197
+ * @param file - The file reader.
198
+ * @param size - The file size.
199
+ * @param binary - Whether to use binary mode.
200
+ * @param escapeCodes - The escape codes.
201
+ * @param maxBufSize - The maximum buffer size.
202
+ * @param progressCallback - The progress callback.
203
+ */
204
+ private sendFileData;
205
+ /**
206
+ * Send file MD5.
207
+ * @param digest - The MD5 digest.
208
+ * @param progressCallback - The progress callback.
209
+ */
210
+ private sendFileMD5;
211
+ /**
212
+ * Send files.
213
+ * @param files - The file readers.
214
+ * @param progressCallback - The progress callback.
215
+ */
216
+ sendFiles(files: TrzszFileReader[], progressCallback: ProgressCallback | null): Promise<string[]>;
217
+ /**
218
+ * Receive file number.
219
+ * @param progressCallback - The progress callback.
220
+ */
221
+ private recvFileNum;
222
+ /**
223
+ * Receive file name.
224
+ * @param saveParam - The save parameter.
225
+ * @param openSaveFile - The open save file function.
226
+ * @param directory - Whether it's a directory.
227
+ * @param overwrite - Whether to overwrite.
228
+ * @param progressCallback - The progress callback.
229
+ */
230
+ private recvFileName;
231
+ /**
232
+ * Receive file size.
233
+ * @param progressCallback - The progress callback.
234
+ */
235
+ private recvFileSize;
236
+ /**
237
+ * Receive file data.
238
+ * @param file - The file writer.
239
+ * @param size - The file size.
240
+ * @param binary - Whether to use binary mode.
241
+ * @param escapeCodes - The escape codes.
242
+ * @param timeoutInMilliseconds - The timeout in milliseconds.
243
+ * @param progressCallback - The progress callback.
244
+ */
245
+ private recvFileData;
246
+ /**
247
+ * Receive file MD5.
248
+ * @param digest - The MD5 digest.
249
+ * @param progressCallback - The progress callback.
250
+ */
251
+ private recvFileMD5;
252
+ /**
253
+ * Receive files.
254
+ * @param saveParam - The save parameter.
255
+ * @param openSaveFile - The open save file function.
256
+ * @param progressCallback - The progress callback.
257
+ */
258
+ recvFiles(saveParam: unknown, openSaveFile: OpenSaveFile, progressCallback: ProgressCallback | null): Promise<string[]>;
259
+ }