@opensumi/ide-utils 3.0.4 → 3.0.5-next-1717466130.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/lib/errors.d.ts +4 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +11 -1
- package/lib/errors.js.map +1 -1
- package/lib/stream.d.ts +12 -11
- package/lib/stream.d.ts.map +1 -1
- package/lib/stream.js +6 -0
- package/lib/stream.js.map +1 -1
- package/package.json +3 -3
- package/src/errors.ts +11 -0
- package/src/stream.ts +25 -15
package/lib/errors.d.ts
CHANGED
|
@@ -47,4 +47,8 @@ export declare function transformErrorForSerialization(error: any): any;
|
|
|
47
47
|
export declare function errorReviver(key: string, value: any): Error;
|
|
48
48
|
export declare function stringifyError(error: any): string;
|
|
49
49
|
export declare function parseError(value: string): any;
|
|
50
|
+
export declare class AbortError extends Error {
|
|
51
|
+
static is(e: any): boolean;
|
|
52
|
+
constructor();
|
|
53
|
+
}
|
|
50
54
|
//# sourceMappingURL=errors.d.ts.map
|
package/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC;AAG7C,qBAAa,YAAY;IACvB,OAAO,CAAC,sBAAsB,CAAmB;IACjD,OAAO,CAAC,SAAS,CAA0B;;IAgBpC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,mBAAmB;IAQxE,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,eAAe;IAIhB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI5E,yBAAyB,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;IAI7C,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/B,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;CAG/C;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,wBAAgB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAMnD;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAM3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAIhC;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMpD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMjD;AAED,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAI7C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAchD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAAC;AAC9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;AAyBhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAW3D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAE7C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC;AAG7C,qBAAa,YAAY;IACvB,OAAO,CAAC,sBAAsB,CAAmB;IACjD,OAAO,CAAC,SAAS,CAA0B;;IAgBpC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,GAAG,mBAAmB;IAQxE,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,eAAe;IAIhB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI5E,yBAAyB,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI;IAI7C,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;IAM/B,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI;CAG/C;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,wBAAgB,yBAAyB,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAMnD;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAM3D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAID;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAIhC;AAED,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMpD;AAED,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAMjD;AAED,wBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAI7C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5C;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAchD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,CAAC;AAC9E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;AAyBhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAW3D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAE7C;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO;;CAQ3B"}
|
package/lib/errors.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
// Some code copied and modified from https://github.com/microsoft/vscode/blob/1.44.0/src/vs/base/common/errors.ts
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.parseError = exports.stringifyError = exports.errorReviver = exports.transformErrorForSerialization = exports.getErrorMessage = exports.disposed = exports.readonly = exports.illegalState = exports.illegalArgument = exports.canceled = exports.isPromiseCanceledError = exports.onUnexpectedExternalError = exports.onUnexpectedError = exports.setUnexpectedErrorHandler = exports.errorHandler = exports.ErrorHandler = void 0;
|
|
8
|
+
exports.AbortError = exports.parseError = exports.stringifyError = exports.errorReviver = exports.transformErrorForSerialization = exports.getErrorMessage = exports.disposed = exports.readonly = exports.illegalState = exports.illegalArgument = exports.canceled = exports.isPromiseCanceledError = exports.onUnexpectedExternalError = exports.onUnexpectedError = exports.setUnexpectedErrorHandler = exports.errorHandler = exports.ErrorHandler = void 0;
|
|
9
9
|
// Avoid circular dependency on EventEmitter by implementing a subset of the interface.
|
|
10
10
|
class ErrorHandler {
|
|
11
11
|
constructor() {
|
|
@@ -171,4 +171,14 @@ function parseError(value) {
|
|
|
171
171
|
return JSON.parse(value, errorReviver);
|
|
172
172
|
}
|
|
173
173
|
exports.parseError = parseError;
|
|
174
|
+
class AbortError extends Error {
|
|
175
|
+
static is(e) {
|
|
176
|
+
return e instanceof Error && e.name === 'AbortError';
|
|
177
|
+
}
|
|
178
|
+
constructor() {
|
|
179
|
+
super('');
|
|
180
|
+
super.name = 'AbortError';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.AbortError = AbortError;
|
|
174
184
|
//# sourceMappingURL=errors.js.map
|
package/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG,kHAAkH;;;AAMlH,uFAAuF;AACvF,MAAa,YAAY;IAIvB;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,sBAAsB,GAAG,UAAU,CAAM;YAC5C,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,CAAC,KAAK,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/C;gBAED,MAAM,CAAC,CAAC;YACV,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,QAA+B;QAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,CAAM;QACjB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YAClC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,QAA+B;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,yBAAyB,CAAC,yBAA2C;QAC1E,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;IAC1D,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEM,iBAAiB,CAAC,CAAM;QAC7B,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;IAED,gEAAgE;IACzD,yBAAyB,CAAC,CAAM;QACrC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;CACF;AArDD,oCAqDC;AAEY,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAE/C,SAAgB,yBAAyB,CAAC,yBAA2C;IACnF,oBAAY,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;AACpE,CAAC;AAFD,8DAEC;AAED,SAAgB,iBAAiB,CAAC,CAAM;IACtC,wCAAwC;IACxC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QAC9B,oBAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;KACnC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,8CAMC;AAED,SAAgB,yBAAyB,CAAC,CAAM;IAC9C,wCAAwC;IACxC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;QAC9B,oBAAY,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;KAC3C;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,8DAMC;AASD,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAU;IAC/C,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,KAAK,YAAY,CAAC;AACjG,CAAC;AAFD,wDAEC;AAED;;GAEG;AACH,SAAgB,QAAQ;IACtB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACtC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAJD,4BAIC;AAED,SAAgB,eAAe,CAAC,IAAa;IAC3C,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACtC;AACH,CAAC;AAND,0CAMC;AAED,SAAgB,YAAY,CAAC,IAAa;IACxC,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;KAC5C;SAAM;QACL,OAAO,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KACnC;AACH,CAAC;AAND,oCAMC;AAED,SAAgB,QAAQ,CAAC,IAAa;IACpC,OAAO,IAAI;QACT,CAAC,CAAC,IAAI,KAAK,CAAC,sBAAsB,IAAI,qBAAqB,CAAC;QAC5D,CAAC,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACvD,CAAC;AAJD,4BAIC;AAED,SAAgB,QAAQ,CAAC,IAAY;IACnC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,oBAAoB,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAJD,4BAIC;AAED,SAAgB,eAAe,CAAC,GAAQ;IACtC,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,GAAG,CAAC,OAAO,EAAE;QACf,OAAO,GAAG,CAAC,OAAO,CAAC;KACpB;IAED,IAAI,GAAG,CAAC,KAAK,EAAE;QACb,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAdD,0CAcC;AAYD,SAAgB,8BAA8B,CAAC,KAAU;IACvD,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACvC,MAAM,KAAK,GAAY,KAAa,CAAC,UAAU,IAAK,KAAa,CAAC,KAAK,CAAC;QACxE,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,IAAI;YACJ,OAAO;YACP,KAAK;YACL,KAAK;SACN,CAAC;KACH;IAED,eAAe;IACf,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,wEAeC;AAED,SAAS,sBAAsB,CAAC,GAAW,EAAE,KAAU;IACrD,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC;KAC9C;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,YAAY,CAAC,GAAW,EAAE,KAAU;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAE3B,OAAO,MAAM,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAXD,oCAWC;AAED,SAAgB,cAAc,CAAC,KAAU;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAFD,wCAEC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,MAAa,UAAW,SAAQ,KAAK;IACnC,MAAM,CAAC,EAAE,CAAC,CAAM;QACd,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;IACvD,CAAC;IAED;QACE,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC;IAC5B,CAAC;CACF;AATD,gCASC"}
|
package/lib/stream.d.ts
CHANGED
|
@@ -2,33 +2,34 @@
|
|
|
2
2
|
import { IDisposable } from './disposable';
|
|
3
3
|
import { EventQueue } from './event';
|
|
4
4
|
import type { Readable } from 'stream';
|
|
5
|
-
export interface IReadableStream<T> {
|
|
5
|
+
export interface IReadableStream<T, E extends Error = Error> {
|
|
6
6
|
on(event: 'data', listener: (chunk: T) => void): this;
|
|
7
7
|
on(event: 'end', listener: () => void): this;
|
|
8
|
-
on(event: 'error', listener: (err:
|
|
8
|
+
on(event: 'error', listener: (err: E) => void): this;
|
|
9
9
|
on(event: string, listener: (...args: any[]) => void): this;
|
|
10
10
|
}
|
|
11
11
|
export declare function isReadableStream(stream: any): stream is Readable;
|
|
12
|
-
export interface IListenReadableOptions<T> {
|
|
12
|
+
export interface IListenReadableOptions<T, E> {
|
|
13
13
|
onData(data: T): void;
|
|
14
14
|
onEnd(): void;
|
|
15
|
-
onError?(error:
|
|
15
|
+
onError?(error: E): void;
|
|
16
16
|
}
|
|
17
|
-
export declare function listenReadable<T = Uint8Array>(stream: IReadableStream<T>, options: IListenReadableOptions<T>): void;
|
|
18
|
-
export declare function listenGroupReadable<T = Uint8Array>(streams: IReadableStream<T>[], options: IListenReadableOptions<T>): void;
|
|
19
|
-
export declare class SumiReadableStream<T> implements IReadableStream<T> {
|
|
17
|
+
export declare function listenReadable<T = Uint8Array, E extends Error = Error>(stream: IReadableStream<T, E>, options: IListenReadableOptions<T, E>): void;
|
|
18
|
+
export declare function listenGroupReadable<T = Uint8Array, E extends Error = Error>(streams: IReadableStream<T, E>[], options: IListenReadableOptions<T, E>): void;
|
|
19
|
+
export declare class SumiReadableStream<T, E extends Error = Error> implements IReadableStream<T, E> {
|
|
20
20
|
protected dataQueue: EventQueue<T>;
|
|
21
21
|
protected endQueue: EventQueue<void>;
|
|
22
|
-
protected errorQueue: EventQueue<
|
|
23
|
-
on(event: 'error', listener: (err:
|
|
22
|
+
protected errorQueue: EventQueue<E>;
|
|
23
|
+
on(event: 'error', listener: (err: E) => void): this;
|
|
24
24
|
on(event: 'data', listener: (chunk: T) => void): this;
|
|
25
25
|
on(event: 'end', listener: () => void): this;
|
|
26
26
|
on(event: string, listener: (...args: any[]) => void): this;
|
|
27
27
|
onData(cb: (data: T) => void): IDisposable;
|
|
28
28
|
onEnd(cb: () => void): IDisposable;
|
|
29
|
-
onError(cb: (err:
|
|
29
|
+
onError(cb: (err: E) => void): IDisposable;
|
|
30
30
|
emitData(buffer: T): void;
|
|
31
|
-
emitError(err:
|
|
31
|
+
emitError(err: E): void;
|
|
32
32
|
end(): void;
|
|
33
|
+
abort(): void;
|
|
33
34
|
}
|
|
34
35
|
//# sourceMappingURL=stream.d.ts.map
|
package/lib/stream.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK;IACzD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACtD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC7C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAC7D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,QAAQ,CAEhE;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,EAAE,CAAC;IAC1C,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,EACpE,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAC7B,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,IAAI,CAUN;AAED,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,EACzE,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAChC,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,IAAI,CAgBN;AAED,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,YAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1F,SAAS,CAAC,SAAS,gBAAuB;IAC1C,SAAS,CAAC,QAAQ,mBAA0B;IAC5C,SAAS,CAAC,UAAU,gBAAuB;IAE3C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IACpD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IACrD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAC5C,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAkB3D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,WAAW;IAI1C,KAAK,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,WAAW;IAIlC,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,WAAW;IAI1C,QAAQ,CAAC,MAAM,EAAE,CAAC;IAIlB,SAAS,CAAC,GAAG,EAAE,CAAC;IAIhB,GAAG;IAMH,KAAK;CAKN"}
|
package/lib/stream.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SumiReadableStream = exports.listenGroupReadable = exports.listenReadable = exports.isReadableStream = void 0;
|
|
4
|
+
const errors_1 = require("./errors");
|
|
4
5
|
const event_1 = require("./event");
|
|
5
6
|
function isReadableStream(stream) {
|
|
6
7
|
return stream && (typeof stream.read === 'function' || stream instanceof SumiReadableStream);
|
|
@@ -78,6 +79,11 @@ class SumiReadableStream {
|
|
|
78
79
|
this.endQueue.push(undefined);
|
|
79
80
|
this.endQueue.dispose();
|
|
80
81
|
}
|
|
82
|
+
abort() {
|
|
83
|
+
this.dataQueue.dispose();
|
|
84
|
+
this.errorQueue.push(new errors_1.AbortError());
|
|
85
|
+
this.errorQueue.dispose();
|
|
86
|
+
}
|
|
81
87
|
}
|
|
82
88
|
exports.SumiReadableStream = SumiReadableStream;
|
|
83
89
|
//# sourceMappingURL=stream.js.map
|
package/lib/stream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";;;AACA,mCAAqC;AAWrC,SAAgB,gBAAgB,CAAC,MAAW;IAC1C,OAAO,MAAM,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,YAAY,kBAAkB,CAAC,CAAC;AAC/F,CAAC;AAFD,4CAEC;AAQD,SAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-utils",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.5-next-1717466130.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"vscode-uri": "3.0.2"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@opensumi/ide-dev-tool": "3.0.
|
|
26
|
+
"@opensumi/ide-dev-tool": "3.0.5-next-1717466130.0"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "1c4375de22013b4ae70e94a9722885edd0b385cd"
|
|
29
29
|
}
|
package/src/errors.ts
CHANGED
|
@@ -209,3 +209,14 @@ export function stringifyError(error: any): string {
|
|
|
209
209
|
export function parseError(value: string): any {
|
|
210
210
|
return JSON.parse(value, errorReviver);
|
|
211
211
|
}
|
|
212
|
+
|
|
213
|
+
export class AbortError extends Error {
|
|
214
|
+
static is(e: any): boolean {
|
|
215
|
+
return e instanceof Error && e.name === 'AbortError';
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
constructor() {
|
|
219
|
+
super('');
|
|
220
|
+
super.name = 'AbortError';
|
|
221
|
+
}
|
|
222
|
+
}
|
package/src/stream.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { IDisposable } from './disposable';
|
|
2
|
+
import { AbortError } from './errors';
|
|
2
3
|
import { EventQueue } from './event';
|
|
3
4
|
|
|
4
5
|
import type { Readable } from 'stream';
|
|
5
6
|
|
|
6
|
-
export interface IReadableStream<T> {
|
|
7
|
+
export interface IReadableStream<T, E extends Error = Error> {
|
|
7
8
|
on(event: 'data', listener: (chunk: T) => void): this;
|
|
8
9
|
on(event: 'end', listener: () => void): this;
|
|
9
|
-
on(event: 'error', listener: (err:
|
|
10
|
+
on(event: 'error', listener: (err: E) => void): this;
|
|
10
11
|
on(event: string, listener: (...args: any[]) => void): this;
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -14,17 +15,20 @@ export function isReadableStream(stream: any): stream is Readable {
|
|
|
14
15
|
return stream && (typeof stream.read === 'function' || stream instanceof SumiReadableStream);
|
|
15
16
|
}
|
|
16
17
|
|
|
17
|
-
export interface IListenReadableOptions<T> {
|
|
18
|
+
export interface IListenReadableOptions<T, E> {
|
|
18
19
|
onData(data: T): void;
|
|
19
20
|
onEnd(): void;
|
|
20
|
-
onError?(error:
|
|
21
|
+
onError?(error: E): void;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
export function listenReadable<T = Uint8Array
|
|
24
|
+
export function listenReadable<T = Uint8Array, E extends Error = Error>(
|
|
25
|
+
stream: IReadableStream<T, E>,
|
|
26
|
+
options: IListenReadableOptions<T, E>,
|
|
27
|
+
): void {
|
|
24
28
|
stream.on('data', (chunk: T) => {
|
|
25
29
|
options.onData(chunk);
|
|
26
30
|
});
|
|
27
|
-
stream.on('error', (error:
|
|
31
|
+
stream.on('error', (error: E) => {
|
|
28
32
|
options.onError?.(error);
|
|
29
33
|
});
|
|
30
34
|
stream.on('end', () => {
|
|
@@ -32,9 +36,9 @@ export function listenReadable<T = Uint8Array>(stream: IReadableStream<T>, optio
|
|
|
32
36
|
});
|
|
33
37
|
}
|
|
34
38
|
|
|
35
|
-
export function listenGroupReadable<T = Uint8Array>(
|
|
36
|
-
streams: IReadableStream<T>[],
|
|
37
|
-
options: IListenReadableOptions<T>,
|
|
39
|
+
export function listenGroupReadable<T = Uint8Array, E extends Error = Error>(
|
|
40
|
+
streams: IReadableStream<T, E>[],
|
|
41
|
+
options: IListenReadableOptions<T, E>,
|
|
38
42
|
): void {
|
|
39
43
|
let endCount = streams.length;
|
|
40
44
|
|
|
@@ -53,19 +57,19 @@ export function listenGroupReadable<T = Uint8Array>(
|
|
|
53
57
|
});
|
|
54
58
|
}
|
|
55
59
|
|
|
56
|
-
export class SumiReadableStream<T> implements IReadableStream<T> {
|
|
60
|
+
export class SumiReadableStream<T, E extends Error = Error> implements IReadableStream<T, E> {
|
|
57
61
|
protected dataQueue = new EventQueue<T>();
|
|
58
62
|
protected endQueue = new EventQueue<void>();
|
|
59
|
-
protected errorQueue = new EventQueue<
|
|
63
|
+
protected errorQueue = new EventQueue<E>();
|
|
60
64
|
|
|
61
|
-
on(event: 'error', listener: (err:
|
|
65
|
+
on(event: 'error', listener: (err: E) => void): this;
|
|
62
66
|
on(event: 'data', listener: (chunk: T) => void): this;
|
|
63
67
|
on(event: 'end', listener: () => void): this;
|
|
64
68
|
on(event: string, listener: (...args: any[]) => void): this;
|
|
65
69
|
on(event: unknown, listener: unknown): this {
|
|
66
70
|
switch (event) {
|
|
67
71
|
case 'error':
|
|
68
|
-
this.onError(listener as (err:
|
|
72
|
+
this.onError(listener as (err: E) => void);
|
|
69
73
|
break;
|
|
70
74
|
case 'data':
|
|
71
75
|
this.onData(listener as (chunk: T) => void);
|
|
@@ -87,7 +91,7 @@ export class SumiReadableStream<T> implements IReadableStream<T> {
|
|
|
87
91
|
return this.endQueue.on(cb);
|
|
88
92
|
}
|
|
89
93
|
|
|
90
|
-
onError(cb: (err:
|
|
94
|
+
onError(cb: (err: E) => void): IDisposable {
|
|
91
95
|
return this.errorQueue.on(cb);
|
|
92
96
|
}
|
|
93
97
|
|
|
@@ -95,7 +99,7 @@ export class SumiReadableStream<T> implements IReadableStream<T> {
|
|
|
95
99
|
this.dataQueue.push(buffer);
|
|
96
100
|
}
|
|
97
101
|
|
|
98
|
-
emitError(err:
|
|
102
|
+
emitError(err: E) {
|
|
99
103
|
this.errorQueue.push(err);
|
|
100
104
|
}
|
|
101
105
|
|
|
@@ -104,4 +108,10 @@ export class SumiReadableStream<T> implements IReadableStream<T> {
|
|
|
104
108
|
this.endQueue.push(undefined);
|
|
105
109
|
this.endQueue.dispose();
|
|
106
110
|
}
|
|
111
|
+
|
|
112
|
+
abort() {
|
|
113
|
+
this.dataQueue.dispose();
|
|
114
|
+
this.errorQueue.push(new AbortError() as E);
|
|
115
|
+
this.errorQueue.dispose();
|
|
116
|
+
}
|
|
107
117
|
}
|