@opensumi/ide-utils 3.0.1 → 3.0.2-next-1715606713.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/stream.d.ts CHANGED
@@ -15,6 +15,7 @@ export interface IListenReadableOptions<T> {
15
15
  onError?(error: Error): void;
16
16
  }
17
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;
18
19
  export declare class SumiReadableStream<T> implements IReadableStream<T> {
19
20
  protected dataQueue: EventQueue<T>;
20
21
  protected endQueue: EventQueue<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,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,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,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;IACvC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAUnH;AAED,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC9D,SAAS,CAAC,SAAS,gBAAuB;IAC1C,SAAS,CAAC,QAAQ,mBAA0B;IAC5C,SAAS,CAAC,UAAU,oBAA2B;IAE/C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IACxD,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,KAAK,KAAK,IAAI,GAAG,WAAW;IAI9C,QAAQ,CAAC,MAAM,EAAE,CAAC;IAIlB,SAAS,CAAC,GAAG,EAAE,KAAK;IAIpB,GAAG;CAKJ"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,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,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACzD,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;IACvC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAUnH;AAED,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,UAAU,EAChD,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC7B,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,IAAI,CAgBN;AAED,qBAAa,kBAAkB,CAAC,CAAC,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAC9D,SAAS,CAAC,SAAS,gBAAuB;IAC1C,SAAS,CAAC,QAAQ,mBAA0B;IAC5C,SAAS,CAAC,UAAU,oBAA2B;IAE/C,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IACxD,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,KAAK,KAAK,IAAI,GAAG,WAAW;IAI9C,QAAQ,CAAC,MAAM,EAAE,CAAC;IAIlB,SAAS,CAAC,GAAG,EAAE,KAAK;IAIpB,GAAG;CAKJ"}
package/lib/stream.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SumiReadableStream = exports.listenReadable = exports.isReadableStream = void 0;
3
+ exports.SumiReadableStream = exports.listenGroupReadable = exports.listenReadable = exports.isReadableStream = void 0;
4
4
  const event_1 = require("./event");
5
5
  function isReadableStream(stream) {
6
6
  return stream && (typeof stream.read === 'function' || stream instanceof SumiReadableStream);
@@ -19,6 +19,23 @@ function listenReadable(stream, options) {
19
19
  });
20
20
  }
21
21
  exports.listenReadable = listenReadable;
22
+ function listenGroupReadable(streams, options) {
23
+ let endCount = streams.length;
24
+ streams.map((stream) => {
25
+ var _a;
26
+ listenReadable(stream, {
27
+ onData: options.onData.bind(options),
28
+ onError: (_a = options.onError) === null || _a === void 0 ? void 0 : _a.bind(options),
29
+ onEnd: () => {
30
+ endCount--;
31
+ if (endCount === 0) {
32
+ options.onEnd();
33
+ }
34
+ },
35
+ });
36
+ });
37
+ }
38
+ exports.listenGroupReadable = listenGroupReadable;
22
39
  class SumiReadableStream {
23
40
  constructor() {
24
41
  this.dataQueue = new event_1.EventQueue();
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,CAAiB,MAA0B,EAAE,OAAkC;IAC3G,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAQ,EAAE,EAAE;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;;QAClC,MAAA,OAAO,CAAC,OAAO,wDAAG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAVD,wCAUC;AAED,MAAa,kBAAkB;IAA/B;QACY,cAAS,GAAG,IAAI,kBAAU,EAAK,CAAC;QAChC,aAAQ,GAAG,IAAI,kBAAU,EAAQ,CAAC;QAClC,eAAU,GAAG,IAAI,kBAAU,EAAS,CAAC;IAgDjD,CAAC;IA1CC,EAAE,CAAC,KAAc,EAAE,QAAiB;QAClC,QAAQ,KAAK,EAAE;YACb,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,CAAC,QAAgC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,CAAC,QAA8B,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,KAAK;gBACR,IAAI,CAAC,KAAK,CAAC,QAAsB,CAAC,CAAC;gBACnC,MAAM;YACR;gBACE,MAAM;SACT;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAAqB;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,EAAc;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,EAAwB;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ,CAAC,MAAS;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,GAAU;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF;AAnDD,gDAmDC"}
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.1",
3
+ "version": "3.0.2-next-1715606713.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.1"
26
+ "@opensumi/ide-dev-tool": "3.0.2-next-1715606713.0"
27
27
  },
28
- "gitHead": "45e504658be3b63200931e7e34937c2db54ffba9"
28
+ "gitHead": "96373325c9744f04c80cd5abe366b0d4b66e80d0"
29
29
  }
package/src/stream.ts CHANGED
@@ -32,6 +32,27 @@ export function listenReadable<T = Uint8Array>(stream: IReadableStream<T>, optio
32
32
  });
33
33
  }
34
34
 
35
+ export function listenGroupReadable<T = Uint8Array>(
36
+ streams: IReadableStream<T>[],
37
+ options: IListenReadableOptions<T>,
38
+ ): void {
39
+ let endCount = streams.length;
40
+
41
+ streams.map((stream) => {
42
+ listenReadable(stream, {
43
+ onData: options.onData.bind(options),
44
+ onError: options.onError?.bind(options),
45
+ onEnd: () => {
46
+ endCount--;
47
+
48
+ if (endCount === 0) {
49
+ options.onEnd();
50
+ }
51
+ },
52
+ });
53
+ });
54
+ }
55
+
35
56
  export class SumiReadableStream<T> implements IReadableStream<T> {
36
57
  protected dataQueue = new EventQueue<T>();
37
58
  protected endQueue = new EventQueue<void>();