7zip-bin-wrapper 1.0.49 → 1.0.50
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/lib/inc/fork.d.ts +1 -1
- package/lib/inc/fork.d.ts.map +1 -1
- package/lib/inc/fork.js +2 -2
- package/lib/inc/fork.js.map +1 -1
- package/lib/inc/handler.d.ts +1 -2
- package/lib/inc/handler.d.ts.map +1 -1
- package/lib/inc/handler.js +12 -13
- package/lib/inc/handler.js.map +1 -1
- package/lib/inc/outputStreams.js +1 -1
- package/lib/inc/outputStreams.js.map +1 -1
- package/package.json +2 -2
- package/src/inc/fork.ts +3 -3
- package/src/inc/handler.ts +19 -14
- package/src/inc/outputStreams.ts +1 -1
package/lib/inc/fork.d.ts
CHANGED
|
@@ -21,6 +21,6 @@ export declare function spawnSfx(sfxFile: string, targetDir: string, extra?: Ext
|
|
|
21
21
|
/** @internal */
|
|
22
22
|
export declare function spawn7z(args: string[], cli: boolean, extra?: ExtraSpawnOptions): IToRun;
|
|
23
23
|
export declare function processPromise(cp: ChildProcess, cmd: string[], cwd: string): Promise<void>;
|
|
24
|
-
export declare function StatusCodeError(status: number, signal: string,
|
|
24
|
+
export declare function StatusCodeError(status: number, signal: string, cwd: string, cmd: string[]): ProgramError | null;
|
|
25
25
|
export declare function processQuitPromise(cp: ChildProcess): Promise<void>;
|
|
26
26
|
//# sourceMappingURL=fork.d.ts.map
|
package/lib/inc/fork.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/inc/fork.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/inc/fork.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMtF,cAAc;AACd,MAAM,WAAW,YAAa,SAAQ,KAAK;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAgBD,cAAc;AACd,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC;AAC5F,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AACpD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,MAAM;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,GAAG,YAAY,CAAC;CACjF;AAQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,iBAAsB,GAAG,MAAM,CA6BlG;AAED,gBAAgB;AAChB,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,iBAAsB,GAAG,MAAM,CA4B3F;AAUD,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,iBAY1E;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI,CAe/G;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE"}
|
package/lib/inc/fork.js
CHANGED
|
@@ -101,7 +101,7 @@ function indentArgs(args) {
|
|
|
101
101
|
})
|
|
102
102
|
.join('\n');
|
|
103
103
|
}
|
|
104
|
-
export function StatusCodeError(status, signal,
|
|
104
|
+
export function StatusCodeError(status, signal, cwd, cmd) {
|
|
105
105
|
if (status === 0 && !signal) {
|
|
106
106
|
return null;
|
|
107
107
|
}
|
|
@@ -114,7 +114,7 @@ ${indentArgs(cmd.slice(1))}
|
|
|
114
114
|
signal,
|
|
115
115
|
__programError: true,
|
|
116
116
|
__program,
|
|
117
|
-
__cwd:
|
|
117
|
+
__cwd: cwd,
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
export function processQuitPromise(cp) {
|
package/lib/inc/fork.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/inc/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/inc/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,KAAK,EAAwC,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AAEtF,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;IACpE,OAAO,iBAAiB,EAAE,EAAE,CAAC;AAC9B,CAAC,CAAC,CAAC;AAWH,MAAM,UAAU,GAAG;IAClB,OAAO,EAAE,qCAAqC;IAC9C,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,iCAAiC;CAC1C,CAAC;AAEF,SAAS,SAAS,CAAC,IAAc;IAChC,OAAO,UAAU,CAAC,MAAM,CACvB,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACpB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAaD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEhC,SAAS,OAAO,CAAC,EAAgB;IAChC,OAAQ,EAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,SAAiB,EAAE,QAA2B,EAAE;IACzF,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/B,OAAO;QACN,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;QAC5B,GAAG;QACH,OAAO,CAAC,UAA0B,EAAE,YAA6B;YAChE,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC5B,GAAG,KAAK;gBACR,GAAG;gBACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,IAAI;aACjB,CAAC,CAAC;YAEH,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAqB,EAAE,EAAE;gBACpE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACxB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACP,YAAY,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;YACF,CAAC,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACX,CAAC;KACD,CAAC;AACH,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,OAAO,CAAC,IAAc,EAAE,GAAY,EAAE,QAA2B,EAAE;IAClF,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,OAAO;QACN,WAAW;QACX,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;QACnB,OAAO,CAAC,UAA0B,EAAE,YAA6B;YAChE,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBAC/B,GAAG,KAAK;gBACR,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACnD,GAAG;gBACH,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,IAAI;aACjB,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAE1D,OAAO,EAAE,CAAC;QACX,CAAC;KACD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,EAAgB;IACnC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;YACjB,CAAC,MAAM,CAAC,EAAE,IAAI;SACd,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAgB,EAAE,GAAa,EAAE,GAAW;IAC1E,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzB,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;YAChD,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,EAAE,CAAC;gBACP,MAAM,CAAC,CAAC,CAAC,CAAC;YACX,CAAC;iBAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAA2B;IAC9C,OAAO,IAAI;SACT,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACnB,OAAO,cAAc,KAAK,OAAO,GAAG,EAAE,CAAC;IACxC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,MAAc,EAAE,GAAW,EAAE,GAAa;IACzF,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;gBACrB,GAAG,CAAC,CAAC,CAAC;EACpB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,MAAM,GAAG,CAAC,CAAC,CAAC,2BAA2B,MAAM,GAAG,CAAC,EAAE;QACrH,MAAM;QACN,MAAM;QACN,cAAc,EAAE,IAAI;QACpB,SAAS;QACT,KAAK,EAAE,GAAG;KACV,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAgB;IAClD,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,CAAC;QACT,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;YAClD,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/lib/inc/handler.d.ts
CHANGED
|
@@ -4,9 +4,8 @@ import type { IStatusReport } from './outputStreams.js';
|
|
|
4
4
|
/** @extern */
|
|
5
5
|
export declare class I7zHandler extends EventEmitter {
|
|
6
6
|
private readonly toRun;
|
|
7
|
-
private
|
|
7
|
+
private state?;
|
|
8
8
|
private _timer?;
|
|
9
|
-
private cp?;
|
|
10
9
|
/** @internal */
|
|
11
10
|
constructor(toRun: IToRun);
|
|
12
11
|
private _start;
|
package/lib/inc/handler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/inc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/inc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAsC,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxD,cAAc;AACd,qBAAa,UAAW,SAAQ,YAAY;IAK/B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJlC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAmB;IAElC,gBAAgB;gBACa,KAAK,EAAE,MAAM;IAS1C,OAAO,CAAC,MAAM;IAoBL,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAClE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAK9D,IAAI;IAUE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAO7B,IAAW,WAAW,aAErB;IAED,IAAW,GAAG,WAEb;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAQxB"}
|
package/lib/inc/handler.js
CHANGED
|
@@ -3,9 +3,8 @@ import { processPromise, processQuitPromise } from './fork.js';
|
|
|
3
3
|
/** @extern */
|
|
4
4
|
export class I7zHandler extends EventEmitter {
|
|
5
5
|
toRun;
|
|
6
|
-
|
|
6
|
+
state;
|
|
7
7
|
_timer;
|
|
8
|
-
cp;
|
|
9
8
|
/** @internal */
|
|
10
9
|
constructor(toRun) {
|
|
11
10
|
super();
|
|
@@ -16,22 +15,24 @@ export class I7zHandler extends EventEmitter {
|
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
17
|
_start() {
|
|
19
|
-
if (this.
|
|
20
|
-
return;
|
|
18
|
+
if (this.state) {
|
|
19
|
+
return this.state;
|
|
21
20
|
}
|
|
22
21
|
this.hold();
|
|
23
|
-
|
|
22
|
+
const cp = this.toRun.execute((data) => {
|
|
24
23
|
this.emit('output', data);
|
|
25
24
|
}, (status) => {
|
|
26
25
|
this.emit('progress', status);
|
|
27
26
|
});
|
|
28
|
-
|
|
27
|
+
const promise = processPromise(cp, this.commandline, this.cwd).catch((e) => e);
|
|
28
|
+
this.state = { promise, cp };
|
|
29
|
+
return this.state;
|
|
29
30
|
}
|
|
30
31
|
on(event, cb) {
|
|
31
32
|
return super.on(event, cb);
|
|
32
33
|
}
|
|
33
34
|
hold() {
|
|
34
|
-
if (this.
|
|
35
|
+
if (this.state) {
|
|
35
36
|
throw new Error('You cannot hold after leaved the event loop which created this object.');
|
|
36
37
|
}
|
|
37
38
|
if (this._timer) {
|
|
@@ -40,8 +41,8 @@ export class I7zHandler extends EventEmitter {
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
async cancel() {
|
|
43
|
-
if (this.
|
|
44
|
-
return processQuitPromise(this.cp);
|
|
44
|
+
if (this.state) {
|
|
45
|
+
return processQuitPromise(this.state.cp);
|
|
45
46
|
}
|
|
46
47
|
return this.hold();
|
|
47
48
|
}
|
|
@@ -52,10 +53,8 @@ export class I7zHandler extends EventEmitter {
|
|
|
52
53
|
return this.toRun.cwd;
|
|
53
54
|
}
|
|
54
55
|
promise() {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
return Promise.resolve(this._promise).then((e) => {
|
|
56
|
+
const state = this.state ?? this._start();
|
|
57
|
+
return Promise.resolve(state.promise).then((e) => {
|
|
59
58
|
if (e instanceof Error) {
|
|
60
59
|
throw e;
|
|
61
60
|
}
|
package/lib/inc/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/inc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/inc/handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAe,MAAM,WAAW,CAAC;AAQ5E,cAAc;AACd,MAAM,OAAO,UAAW,SAAQ,YAAY;IAKd;IAJrB,KAAK,CAAU;IACf,MAAM,CAAoB;IAElC,gBAAgB;IAChB,YAA6B,KAAa;QACzC,KAAK,EAAE,CAAC;QADoB,UAAK,GAAL,KAAK,CAAQ;QAGzC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM;QACb,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,KAAK,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAC5B,CAAC,IAAI,EAAE,EAAE;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;YACV,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CACD,CAAC;QAEF,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,KAAK,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAIQ,EAAE,CAAC,KAAa,EAAE,EAA4B;QACtD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM;QACX,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED,IAAW,GAAG;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,OAAO;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE;YACrD,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD"}
|
package/lib/inc/outputStreams.js
CHANGED
|
@@ -47,7 +47,7 @@ class ProgressStream extends Transform {
|
|
|
47
47
|
_transform(chunk, _encoding, callback) {
|
|
48
48
|
const match = matchExp.exec(chunk);
|
|
49
49
|
if (match) {
|
|
50
|
-
const percent = Number.parseInt(match[1]);
|
|
50
|
+
const percent = Number.parseInt(match[1], 10);
|
|
51
51
|
if (!Number.isNaN(percent)) {
|
|
52
52
|
this.push({
|
|
53
53
|
progress: percent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputStreams.js","sourceRoot":"","sources":["../../src/inc/outputStreams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AACrC,QAAQ;AACR,SAAS,qBAAqB,CAAC,MAA6B;IAC3D,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED;;;;IAII;AACJ,MAAM,sBAAuB,SAAQ,SAAS;IACpC,UAAU,CAAC,KAAa,EAAE,SAAyB,EAAE,QAAkB;QAC/E,MAAM,GAAG,GAAG,KAAK;aACf,QAAQ,CAAC,MAAM,CAAC;aAChB,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;aAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,QAAQ,EAAE,CAAC;IACZ,CAAC;CACD;AAED,MAAM,YAAa,SAAQ,SAAS;IACnC;QACC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7B,CAAC;IAEQ,UAAU,CAAC,KAAsB,EAAE,QAAwB,EAAE,QAAkB;QACvF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,EAAE,CAAC;IACZ,CAAC;CACD;AAED,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAS3C,MAAM,cAAe,SAAQ,SAAS;IACR;IAA7B,YAA6B,OAAgB;QAC5C,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QADA,YAAO,GAAP,OAAO,CAAS;IAE7C,CAAC;IAEQ,UAAU,CAAC,KAAa,EAAE,SAAyB,EAAE,QAAkB;QAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"outputStreams.js","sourceRoot":"","sources":["../../src/inc/outputStreams.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "7zip-bin-wrapper",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.50",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./package.json": "./package.json"
|
|
7
7
|
},
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@types/node": "^24.0.14",
|
|
19
19
|
"@types/split2": "^4.2.3",
|
|
20
20
|
"@build-script/single-dog-asset": "latest",
|
|
21
|
-
"@mpis/run": "^0.0.
|
|
21
|
+
"@mpis/run": "^0.0.16"
|
|
22
22
|
},
|
|
23
23
|
"sideEffects": false,
|
|
24
24
|
"license": "MIT",
|
package/src/inc/fork.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { path7za as originalPath7za } from '7zip-bin';
|
|
2
|
-
import { type ChildProcess,
|
|
2
|
+
import { spawn, type ChildProcess, type SpawnOptions } from 'node:child_process';
|
|
3
3
|
import { basename, dirname } from 'node:path';
|
|
4
4
|
import { handleOutput, handleProgress, type IStatusReport } from './outputStreams.js';
|
|
5
5
|
|
|
@@ -139,7 +139,7 @@ function indentArgs(args: ReadonlyArray<string>) {
|
|
|
139
139
|
.join('\n');
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
export function StatusCodeError(status: number, signal: string,
|
|
142
|
+
export function StatusCodeError(status: number, signal: string, cwd: string, cmd: string[]): ProgramError | null {
|
|
143
143
|
if (status === 0 && !signal) {
|
|
144
144
|
return null;
|
|
145
145
|
}
|
|
@@ -152,7 +152,7 @@ ${indentArgs(cmd.slice(1))}
|
|
|
152
152
|
signal,
|
|
153
153
|
__programError: true,
|
|
154
154
|
__program,
|
|
155
|
-
__cwd:
|
|
155
|
+
__cwd: cwd,
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
158
|
|
package/src/inc/handler.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import type { ChildProcess } from 'node:child_process';
|
|
2
2
|
import { EventEmitter } from 'node:events';
|
|
3
|
-
import {
|
|
3
|
+
import { processPromise, processQuitPromise, type IToRun } from './fork.js';
|
|
4
4
|
import type { IStatusReport } from './outputStreams.js';
|
|
5
5
|
|
|
6
|
+
interface IState {
|
|
7
|
+
readonly promise: Promise<void>;
|
|
8
|
+
readonly cp: ChildProcess;
|
|
9
|
+
}
|
|
10
|
+
|
|
6
11
|
/** @extern */
|
|
7
12
|
export class I7zHandler extends EventEmitter {
|
|
8
|
-
private
|
|
13
|
+
private state?: IState;
|
|
9
14
|
private _timer?: NodeJS.Immediate;
|
|
10
|
-
private cp?: ChildProcess;
|
|
11
15
|
|
|
12
16
|
/** @internal */
|
|
13
17
|
constructor(private readonly toRun: IToRun) {
|
|
@@ -20,11 +24,11 @@ export class I7zHandler extends EventEmitter {
|
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
private _start() {
|
|
23
|
-
if (this.
|
|
24
|
-
return;
|
|
27
|
+
if (this.state) {
|
|
28
|
+
return this.state;
|
|
25
29
|
}
|
|
26
30
|
this.hold();
|
|
27
|
-
|
|
31
|
+
const cp = this.toRun.execute(
|
|
28
32
|
(data) => {
|
|
29
33
|
this.emit('output', data);
|
|
30
34
|
},
|
|
@@ -33,7 +37,10 @@ export class I7zHandler extends EventEmitter {
|
|
|
33
37
|
},
|
|
34
38
|
);
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
const promise = processPromise(cp, this.commandline, this.cwd).catch((e) => e);
|
|
41
|
+
|
|
42
|
+
this.state = { promise, cp };
|
|
43
|
+
return this.state;
|
|
37
44
|
}
|
|
38
45
|
|
|
39
46
|
override on(event: 'progress', cb: (progress: IStatusReport) => void): this;
|
|
@@ -43,7 +50,7 @@ export class I7zHandler extends EventEmitter {
|
|
|
43
50
|
}
|
|
44
51
|
|
|
45
52
|
hold() {
|
|
46
|
-
if (this.
|
|
53
|
+
if (this.state) {
|
|
47
54
|
throw new Error('You cannot hold after leaved the event loop which created this object.');
|
|
48
55
|
}
|
|
49
56
|
if (this._timer) {
|
|
@@ -53,8 +60,8 @@ export class I7zHandler extends EventEmitter {
|
|
|
53
60
|
}
|
|
54
61
|
|
|
55
62
|
async cancel(): Promise<void> {
|
|
56
|
-
if (this.
|
|
57
|
-
return processQuitPromise(this.cp
|
|
63
|
+
if (this.state) {
|
|
64
|
+
return processQuitPromise(this.state.cp);
|
|
58
65
|
}
|
|
59
66
|
return this.hold();
|
|
60
67
|
}
|
|
@@ -68,10 +75,8 @@ export class I7zHandler extends EventEmitter {
|
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
promise(): Promise<void> {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
return Promise.resolve(this._promise).then((e: any) => {
|
|
78
|
+
const state = this.state ?? this._start();
|
|
79
|
+
return Promise.resolve(state.promise).then((e: any) => {
|
|
75
80
|
if (e instanceof Error) {
|
|
76
81
|
throw e;
|
|
77
82
|
}
|
package/src/inc/outputStreams.ts
CHANGED
|
@@ -59,7 +59,7 @@ class ProgressStream extends Transform {
|
|
|
59
59
|
override _transform(chunk: string, _encoding: BufferEncoding, callback: Function): void {
|
|
60
60
|
const match = matchExp.exec(chunk);
|
|
61
61
|
if (match) {
|
|
62
|
-
const percent = Number.parseInt(match[1]
|
|
62
|
+
const percent = Number.parseInt(match[1], 10);
|
|
63
63
|
if (!Number.isNaN(percent)) {
|
|
64
64
|
this.push({
|
|
65
65
|
progress: percent,
|