@matter/general 0.16.7 → 0.16.8-alpha.0-20260125-38e62bc3e

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 (65) hide show
  1. package/dist/cjs/MatterError.d.ts +12 -1
  2. package/dist/cjs/MatterError.d.ts.map +1 -1
  3. package/dist/cjs/MatterError.js +26 -1
  4. package/dist/cjs/MatterError.js.map +1 -1
  5. package/dist/cjs/environment/SharedEnvironmentServices.d.ts +2 -2
  6. package/dist/cjs/environment/SharedEnvironmentServices.js +2 -2
  7. package/dist/cjs/storage/StringifyTools.d.ts +1 -1
  8. package/dist/cjs/storage/StringifyTools.d.ts.map +1 -1
  9. package/dist/cjs/storage/StringifyTools.js.map +1 -1
  10. package/dist/cjs/util/Abort.d.ts +11 -5
  11. package/dist/cjs/util/Abort.d.ts.map +1 -1
  12. package/dist/cjs/util/Abort.js +71 -29
  13. package/dist/cjs/util/Abort.js.map +1 -1
  14. package/dist/cjs/util/AsyncIterator.d.ts +21 -0
  15. package/dist/cjs/util/AsyncIterator.d.ts.map +1 -0
  16. package/dist/cjs/util/AsyncIterator.js +71 -0
  17. package/dist/cjs/util/AsyncIterator.js.map +6 -0
  18. package/dist/cjs/util/DataReadQueue.d.ts +4 -1
  19. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  20. package/dist/cjs/util/DataReadQueue.js +27 -5
  21. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  22. package/dist/cjs/util/Semaphore.d.ts.map +1 -1
  23. package/dist/cjs/util/Semaphore.js +5 -5
  24. package/dist/cjs/util/Semaphore.js.map +1 -1
  25. package/dist/cjs/util/index.d.ts +1 -0
  26. package/dist/cjs/util/index.d.ts.map +1 -1
  27. package/dist/cjs/util/index.js +1 -0
  28. package/dist/cjs/util/index.js.map +1 -1
  29. package/dist/esm/MatterError.d.ts +12 -1
  30. package/dist/esm/MatterError.d.ts.map +1 -1
  31. package/dist/esm/MatterError.js +26 -1
  32. package/dist/esm/MatterError.js.map +1 -1
  33. package/dist/esm/environment/SharedEnvironmentServices.d.ts +2 -2
  34. package/dist/esm/environment/SharedEnvironmentServices.js +2 -2
  35. package/dist/esm/storage/StringifyTools.d.ts +1 -1
  36. package/dist/esm/storage/StringifyTools.d.ts.map +1 -1
  37. package/dist/esm/storage/StringifyTools.js.map +1 -1
  38. package/dist/esm/util/Abort.d.ts +11 -5
  39. package/dist/esm/util/Abort.d.ts.map +1 -1
  40. package/dist/esm/util/Abort.js +71 -29
  41. package/dist/esm/util/Abort.js.map +1 -1
  42. package/dist/esm/util/AsyncIterator.d.ts +21 -0
  43. package/dist/esm/util/AsyncIterator.d.ts.map +1 -0
  44. package/dist/esm/util/AsyncIterator.js +51 -0
  45. package/dist/esm/util/AsyncIterator.js.map +6 -0
  46. package/dist/esm/util/DataReadQueue.d.ts +4 -1
  47. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  48. package/dist/esm/util/DataReadQueue.js +28 -6
  49. package/dist/esm/util/DataReadQueue.js.map +1 -1
  50. package/dist/esm/util/Semaphore.d.ts.map +1 -1
  51. package/dist/esm/util/Semaphore.js +6 -6
  52. package/dist/esm/util/Semaphore.js.map +1 -1
  53. package/dist/esm/util/index.d.ts +1 -0
  54. package/dist/esm/util/index.d.ts.map +1 -1
  55. package/dist/esm/util/index.js +1 -0
  56. package/dist/esm/util/index.js.map +1 -1
  57. package/package.json +2 -2
  58. package/src/MatterError.ts +31 -2
  59. package/src/environment/SharedEnvironmentServices.ts +2 -2
  60. package/src/storage/StringifyTools.ts +2 -1
  61. package/src/util/Abort.ts +94 -32
  62. package/src/util/AsyncIterator.ts +70 -0
  63. package/src/util/DataReadQueue.ts +33 -6
  64. package/src/util/Semaphore.ts +8 -7
  65. package/src/util/index.ts +1 -0
@@ -37,6 +37,12 @@ export declare class MatterError extends Error {
37
37
  * Rethrow an error if it is an instance of this class.
38
38
  */
39
39
  static reject(error: unknown): void;
40
+ /**
41
+ * Replace the message in an error.
42
+ *
43
+ * In addition to setting the message, updates the message in the stack.
44
+ */
45
+ static replaceMessage(error: Error, message: string): void;
40
46
  /**
41
47
  * The fallback formatter factory. This produces a limited plaintext formatter.
42
48
  */
@@ -129,7 +135,7 @@ export declare class TimeoutError extends MatterError {
129
135
  constructor(message?: string, options?: ErrorOptions);
130
136
  }
131
137
  /**
132
- * Thrown on abort when there is not an underlying error.
138
+ * Thrown as the primary cause when an {@link AbortController} aborts.
133
139
  */
134
140
  export declare class AbortedError extends CanceledError {
135
141
  constructor(message?: string, options?: ErrorOptions);
@@ -145,5 +151,10 @@ export declare class AbortedError extends CanceledError {
145
151
  */
146
152
  static accept(cause: unknown): void;
147
153
  }
154
+ /**
155
+ * Thrown when an operation can't complete because a resource is closed.
156
+ */
157
+ export declare class ClosedError extends CanceledError {
158
+ }
148
159
  export {};
149
160
  //# sourceMappingURL=MatterError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatterError.d.ts","sourceRoot":"","sources":["../../src/MatterError.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MatterError.d.ts","sourceRoot":"","sources":["../../src/MatterError.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ var MatterError_exports = {};
20
20
  __export(MatterError_exports, {
21
21
  AbortedError: () => AbortedError,
22
22
  CanceledError: () => CanceledError,
23
+ ClosedError: () => ClosedError,
23
24
  ImplementationError: () => ImplementationError,
24
25
  ImportError: () => ImportError,
25
26
  InternalError: () => InternalError,
@@ -114,6 +115,28 @@ class MatterError extends Error {
114
115
  throw error;
115
116
  }
116
117
  }
118
+ /**
119
+ * Replace the message in an error.
120
+ *
121
+ * In addition to setting the message, updates the message in the stack.
122
+ */
123
+ static replaceMessage(error, message) {
124
+ const oldMessage = error.message;
125
+ error.message = message;
126
+ const stack = error.stack?.split("\n");
127
+ const messagePos = stack?.findIndex((line) => {
128
+ if (line.startsWith("Error: ")) {
129
+ line = line.slice(7);
130
+ }
131
+ if (line === oldMessage) {
132
+ return true;
133
+ }
134
+ });
135
+ if (messagePos !== void 0 && messagePos !== -1) {
136
+ stack[messagePos] = message;
137
+ error.stack = stack.join("\n");
138
+ }
139
+ }
117
140
  /**
118
141
  * The fallback formatter factory. This produces a limited plaintext formatter.
119
142
  */
@@ -240,7 +263,7 @@ class TimeoutError extends MatterError {
240
263
  }
241
264
  }
242
265
  class AbortedError extends CanceledError {
243
- constructor(message = "This operation was aborted", options) {
266
+ constructor(message = "Operation aborted", options) {
244
267
  super(message, options);
245
268
  }
246
269
  /**
@@ -262,6 +285,8 @@ class AbortedError extends CanceledError {
262
285
  return super.accept(cause);
263
286
  }
264
287
  }
288
+ class ClosedError extends CanceledError {
289
+ }
265
290
  function inspector(depth, options) {
266
291
  const formatterFor = MatterError.formatterFor;
267
292
  if (typeof formatterFor !== "function") {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/MatterError.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["value", "indents"]
6
6
  }
@@ -46,8 +46,8 @@ export declare class SharedEnvironmentServices implements ServiceProvider {
46
46
  /**
47
47
  * Load an environmental service asynchronously and register this instance as a consumer.
48
48
  *
49
- * Waits for the service's construction promise to resolve if present, then tracks
50
- * the service for lifecycle management.
49
+ * Waits for the service's construction promise to resolve if present, then tracks the service for lifecycle
50
+ * management.
51
51
  */
52
52
  load<T extends Environmental.Service>(type: Environmental.Factory<T>): Promise<T>;
53
53
  /**
@@ -85,8 +85,8 @@ class SharedEnvironmentServices {
85
85
  /**
86
86
  * Load an environmental service asynchronously and register this instance as a consumer.
87
87
  *
88
- * Waits for the service's construction promise to resolve if present, then tracks
89
- * the service for lifecycle management.
88
+ * Waits for the service's construction promise to resolve if present, then tracks the service for lifecycle
89
+ * management.
90
90
  */
91
91
  async load(type) {
92
92
  this.#assertClosed();
@@ -8,7 +8,7 @@ import { Bytes } from "../util/Bytes.js";
8
8
  /** Supported base types to stringify the data for the storage that can be used as keys and also values. */
9
9
  type SupportedStorageBaseTypes = string | number | boolean | bigint | Bytes;
10
10
  /** Supported combined types to stringify the data for the storage that can be used as values. */
11
- type SupportedComplexStorageTypes = Array<SupportedStorageBaseTypes | SupportedComplexStorageTypes> | {
11
+ type SupportedComplexStorageTypes = (SupportedStorageBaseTypes | SupportedComplexStorageTypes)[] | readonly (SupportedStorageBaseTypes | SupportedComplexStorageTypes)[] | {
12
12
  [key: string]: SupportedStorageBaseTypes | SupportedComplexStorageTypes | null | undefined;
13
13
  } | Array<[SupportedStorageBaseTypes, SupportedStorageBaseTypes | SupportedComplexStorageTypes | null | undefined]> | Map<SupportedStorageBaseTypes, SupportedStorageBaseTypes | SupportedComplexStorageTypes> | Duration | null | undefined;
14
14
  export type SupportedStorageTypes = SupportedStorageBaseTypes | SupportedComplexStorageTypes;
@@ -1 +1 @@
1
- {"version":3,"file":"StringifyTools.d.ts","sourceRoot":"","sources":["../../../src/storage/StringifyTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,2GAA2G;AAC3G,KAAK,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5E,iGAAiG;AACjG,KAAK,4BAA4B,GAC3B,KAAK,CAAC,yBAAyB,GAAG,4BAA4B,CAAC,GAC/D;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,GAAG,4BAA4B,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAC9F,KAAK,CAAC,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,4BAA4B,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAC/G,GAAG,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,4BAA4B,CAAC,GACxF,QAAQ,GACR,IAAI,GACJ,SAAS,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAQ7F,wBAAgB,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAgD5D"}
1
+ {"version":3,"file":"StringifyTools.d.ts","sourceRoot":"","sources":["../../../src/storage/StringifyTools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,2GAA2G;AAC3G,KAAK,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE5E,iGAAiG;AACjG,KAAK,4BAA4B,GAC3B,CAAC,yBAAyB,GAAG,4BAA4B,CAAC,EAAE,GAC5D,SAAS,CAAC,yBAAyB,GAAG,4BAA4B,CAAC,EAAE,GACrE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,GAAG,4BAA4B,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GAC9F,KAAK,CAAC,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,4BAA4B,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAC/G,GAAG,CAAC,yBAAyB,EAAE,yBAAyB,GAAG,4BAA4B,CAAC,GACxF,QAAQ,GACR,IAAI,GACJ,SAAS,CAAC;AAEhB,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,GAAG,4BAA4B,CAAC;AAQ7F,wBAAgB,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B7E;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAgD5D"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/StringifyTools.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAuB;AACvB,yBAAoC;AACpC,mBAAsB;AACtB,kBAAyB;AAVzB;AAAA;AAAA;AAAA;AAAA;AA4BA,MAAM,wBAAwB;AAG9B,MAAM,yBAAyB;AAExB,SAAS,OAAO,QAA+B,QAAyB;AAC3E,SAAO,KAAK;AAAA,IACR;AAAA,IACA,CAAC,MAAM,UAAU;AACb,UAAI,UAAU,QAAW;AACrB,eAAO,KAAK,qBAAqB;AAAA,MACrC;AACA,UAAI,OAAO,UAAU,UAAU;AAC3B,eAAO,KAAK,qBAAqB,eAAe,sBAAsB,MAAM,MAAM,SAAS,CAAC;AAAA,MAChG;AACA,UAAI,mBAAM,QAAQ,KAAK,GAAG;AACtB,eAAO,KAAK,qBAAqB,mBAAmB,sBAAsB,MAAM,mBAAM,MAAM,KAAK,CAAC;AAAA,MACtG;AAEA,cAAI,sBAAS,KAAK,KAAK,MAAM,SAAS,YAAY,MAAM,QAAQ,MAAM,IAAI,GAAG;AACzE,eAAO,KAAK,qBAAqB,mBAAmB,sBAAsB,MAAM,mBAAM;AAAA,UAClF,WAAW,KAAK,MAAM,IAAI;AAAA,QAC9B,CAAC;AAAA,MACL;AACA,UAAI,iBAAiB,KAAK;AACtB,eAAO,KAAK,qBAAqB,YAAY,sBAAsB,KAAK,KAAK;AAAA,UACzE,OAAO,MAAM,KAAK,MAAM,QAAQ,CAAC,CAAC;AAAA,QACtC,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,SAAS,SAAS,MAAqC;AAC1D,SAAO,KAAK,MAAM,MAAM,CAAC,MAAM,UAAU;AACrC,QAAI,OAAO,UAAU,YAAY,MAAM,WAAW,KAAK,qBAAqB,KAAK,KAAK,MAAM,SAAS,GAAG,GAAG;AACvG,YAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,YAAM,SAAS,KAAK,qBAAqB;AACzC,cAAQ,QAAQ;AAAA,QACZ,KAAK;AACD,iBAAO;AAAA,QACX,KAAK;AACD,iBAAO,OAAO,KAAK,sBAAsB,CAAC;AAAA,QAC9C,KAAK;AACD,iBAAO,mBAAM,QAAQ,KAAK,sBAAsB,CAAC;AAAA,QACrD,KAAK;AACD,iBAAO,IAAI;AAAA,YACP,SAAS,KAAK,sBAAsB,CAAC;AAAA,UAIzC;AAAA,QACJ,KAAK;AACD,qBAAO,wBAAO,IAAI;AAAA;AAAA,QAGtB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,KAAK,sBAAsB;AAAA,QACtC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,OAAO,KAAK,sBAAsB,CAAC;AAAA,QAE9C;AACI,gBAAM,IAAI,uCAAoB,wBAAwB,MAAM,EAAE;AAAA,MACtE;AAAA,IACJ;AACA,WAAO;AAAA,EACX,CAAC;AACL;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAuB;AACvB,yBAAoC;AACpC,mBAAsB;AACtB,kBAAyB;AAVzB;AAAA;AAAA;AAAA;AAAA;AA6BA,MAAM,wBAAwB;AAG9B,MAAM,yBAAyB;AAExB,SAAS,OAAO,QAA+B,QAAyB;AAC3E,SAAO,KAAK;AAAA,IACR;AAAA,IACA,CAAC,MAAM,UAAU;AACb,UAAI,UAAU,QAAW;AACrB,eAAO,KAAK,qBAAqB;AAAA,MACrC;AACA,UAAI,OAAO,UAAU,UAAU;AAC3B,eAAO,KAAK,qBAAqB,eAAe,sBAAsB,MAAM,MAAM,SAAS,CAAC;AAAA,MAChG;AACA,UAAI,mBAAM,QAAQ,KAAK,GAAG;AACtB,eAAO,KAAK,qBAAqB,mBAAmB,sBAAsB,MAAM,mBAAM,MAAM,KAAK,CAAC;AAAA,MACtG;AAEA,cAAI,sBAAS,KAAK,KAAK,MAAM,SAAS,YAAY,MAAM,QAAQ,MAAM,IAAI,GAAG;AACzE,eAAO,KAAK,qBAAqB,mBAAmB,sBAAsB,MAAM,mBAAM;AAAA,UAClF,WAAW,KAAK,MAAM,IAAI;AAAA,QAC9B,CAAC;AAAA,MACL;AACA,UAAI,iBAAiB,KAAK;AACtB,eAAO,KAAK,qBAAqB,YAAY,sBAAsB,KAAK,KAAK;AAAA,UACzE,OAAO,MAAM,KAAK,MAAM,QAAQ,CAAC,CAAC;AAAA,QACtC,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,SAAS,SAAS,MAAqC;AAC1D,SAAO,KAAK,MAAM,MAAM,CAAC,MAAM,UAAU;AACrC,QAAI,OAAO,UAAU,YAAY,MAAM,WAAW,KAAK,qBAAqB,KAAK,KAAK,MAAM,SAAS,GAAG,GAAG;AACvG,YAAM,OAAO,KAAK,MAAM,KAAK;AAC7B,YAAM,SAAS,KAAK,qBAAqB;AACzC,cAAQ,QAAQ;AAAA,QACZ,KAAK;AACD,iBAAO;AAAA,QACX,KAAK;AACD,iBAAO,OAAO,KAAK,sBAAsB,CAAC;AAAA,QAC9C,KAAK;AACD,iBAAO,mBAAM,QAAQ,KAAK,sBAAsB,CAAC;AAAA,QACrD,KAAK;AACD,iBAAO,IAAI;AAAA,YACP,SAAS,KAAK,sBAAsB,CAAC;AAAA,UAIzC;AAAA,QACJ,KAAK;AACD,qBAAO,wBAAO,IAAI;AAAA;AAAA,QAGtB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,KAAK,sBAAsB;AAAA,QACtC,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AACD,iBAAO,OAAO,KAAK,sBAAsB,CAAC;AAAA,QAE9C;AACI,gBAAM,IAAI,uCAAoB,wBAAwB,MAAM,EAAE;AAAA,MACtE;AAAA,IACJ;AACA,WAAO;AAAA,EACX,CAAC;AACL;",
5
5
  "names": []
6
6
  }
@@ -17,10 +17,10 @@ import { Callable } from "./Function.js";
17
17
  * Optionally will register for abort with an outer {@link AbortController} and/or add a timeout. You must abort or
18
18
  * invoke {@link close} if you use either of these options.
19
19
  */
20
- export declare class Abort extends Callable<[reason?: Error]> implements AbortController, AbortSignal, PromiseLike<Error> {
20
+ export declare class Abort extends Callable<[reason?: string | Error]> implements AbortController, AbortSignal, PromiseLike<Error> {
21
21
  #private;
22
- constructor({ abort, timeout, handler }?: Abort.Options);
23
- abort(reason?: any): void;
22
+ constructor({ abort: aborts, timeout, handler, timeoutHandler }?: Abort.Options);
23
+ abort(reason?: Error | string): void;
24
24
  get signal(): AbortSignal;
25
25
  /**
26
26
  * Race one or more promises with my abort signal.
@@ -69,7 +69,7 @@ export declare namespace Abort {
69
69
  *
70
70
  * This functions similarly to {@link AbortSignal.any} but has additional protection against memory leaks.
71
71
  */
72
- abort?: Signal | Signal[];
72
+ abort?: Signal | (Signal | undefined)[];
73
73
  /**
74
74
  * An abort timeout.
75
75
  *
@@ -79,7 +79,13 @@ export declare namespace Abort {
79
79
  /**
80
80
  * Adds a default abort handler.
81
81
  */
82
- handler?: (reason?: Error) => void;
82
+ handler?: (this: Abort, reason?: Error) => void;
83
+ /**
84
+ * Replaces the default timeout handler.
85
+ *
86
+ * The default implementation aborts with {@link TimeoutError}.
87
+ */
88
+ timeoutHandler?: (this: Abort) => void;
83
89
  }
84
90
  /**
85
91
  * An entity that may be used to signal abort of an operation.
@@ -1 +1 @@
1
- {"version":3,"file":"Abort.d.ts","sourceRoot":"","sources":["../../../src/util/Abort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Abort.d.ts","sourceRoot":"","sources":["../../../src/util/Abort.ts"],"names":[],"mappings":"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"}
@@ -35,46 +35,92 @@ class Abort extends import_Function.Callable {
35
35
  // The native controller implementation
36
36
  #controller;
37
37
  // Optional abort chaining
38
- #dependents;
39
- #listener;
38
+ #unregisterDependencies;
40
39
  // Optional PromiseLike behavior
41
40
  #aborted;
42
41
  #resolve;
43
42
  // Optional timeout
44
43
  #timeout;
45
- constructor({ abort, timeout, handler } = {}) {
46
- super(() => this.abort());
44
+ constructor({ abort: aborts, timeout, handler, timeoutHandler } = {}) {
45
+ const abort = (reason) => {
46
+ if (typeof reason === "string") {
47
+ reason = new import_MatterError.AbortedError(reason);
48
+ }
49
+ this.abort(reason);
50
+ };
51
+ super(abort);
47
52
  this.#controller = new AbortController();
53
+ const throwIfAborted = this.#controller.signal.throwIfAborted.bind(this.#controller.signal);
54
+ this.#controller.signal.throwIfAborted = () => {
55
+ try {
56
+ throwIfAborted();
57
+ } catch (e) {
58
+ const error = new import_MatterError.AbortedError();
59
+ error.stack = error.stack?.split("\n").filter((line) => !line.match(/\.throwIfAborted/)).join("\n");
60
+ error.cause = e;
61
+ throw error;
62
+ }
63
+ };
48
64
  const self = (reason) => {
49
65
  this.abort(reason);
50
66
  };
51
67
  Object.setPrototypeOf(self, Object.getPrototypeOf(this));
52
- if (abort && !Array.isArray(abort)) {
53
- abort = [abort];
54
- }
55
- if (abort?.length) {
56
- const dependents = abort.map((abort2) => "signal" in abort2 ? abort2.signal : abort2);
57
- this.#dependents = dependents;
58
- this.#listener = (reason) => this.abort(reason);
59
- for (const dependent of dependents) {
60
- dependent.addEventListener("abort", this.#listener);
61
- }
68
+ if (aborts && !Array.isArray(aborts)) {
69
+ aborts = [aborts];
62
70
  }
63
- if (timeout) {
64
- this.#timeout = import_Time.Time.getPeriodicTimer("subtask timeout", timeout, () => {
65
- if (this.aborted) {
66
- return;
71
+ if (aborts?.length) {
72
+ const dependencies = aborts.map((abort2) => abort2 && ("signal" in abort2 ? abort2.signal : abort2));
73
+ for (const dependency of dependencies) {
74
+ if (dependency === void 0) {
75
+ continue;
67
76
  }
68
- this.abort(new import_MatterError.TimeoutError());
69
- });
70
- this.#timeout.start();
77
+ const listener = () => this.abort((0, import_Error.asError)(dependency.reason));
78
+ dependency.addEventListener("abort", listener);
79
+ const unregisterPrev = this.#unregisterDependencies;
80
+ this.#unregisterDependencies = () => {
81
+ unregisterPrev?.();
82
+ dependency.removeEventListener("abort", listener);
83
+ };
84
+ }
85
+ }
86
+ if (timeout !== void 0) {
87
+ if (timeoutHandler) {
88
+ const original = timeoutHandler;
89
+ timeoutHandler = () => {
90
+ try {
91
+ original.call(this);
92
+ } catch (e) {
93
+ this.abort((0, import_Error.asError)(e));
94
+ }
95
+ };
96
+ } else {
97
+ timeoutHandler = () => this.abort(new import_MatterError.TimeoutError());
98
+ }
99
+ if (timeout <= 0) {
100
+ timeoutHandler.call(this);
101
+ } else {
102
+ this.#timeout = import_Time.Time.getPeriodicTimer("subtask timeout", timeout, () => {
103
+ if (this.aborted) {
104
+ return;
105
+ }
106
+ timeoutHandler.call(this);
107
+ });
108
+ this.#timeout.start();
109
+ }
71
110
  }
72
111
  if (handler) {
73
- this.addEventListener("abort", () => handler(this.reason));
112
+ if (this.aborted) {
113
+ handler.call(this, this.reason);
114
+ } else {
115
+ this.addEventListener("abort", () => handler.call(this, this.reason));
116
+ }
74
117
  }
75
118
  }
76
119
  abort(reason) {
77
- this.#controller.abort(reason ?? new import_MatterError.AbortedError());
120
+ if (typeof reason === "string") {
121
+ reason = new import_MatterError.AbortedError(reason);
122
+ }
123
+ this.#controller.abort(reason ?? new import_MatterError.AbortedError("Operation aborted with no reason given"));
78
124
  }
79
125
  get signal() {
80
126
  return this.#controller.signal;
@@ -91,7 +137,7 @@ class Abort extends import_Function.Callable {
91
137
  * Race with throw on abort.
92
138
  */
93
139
  async attempt(...promises) {
94
- return Abort.attempt(this, ...promises);
140
+ return await Abort.attempt(this, ...promises);
95
141
  }
96
142
  /**
97
143
  * Free resources.
@@ -101,11 +147,7 @@ class Abort extends import_Function.Callable {
101
147
  */
102
148
  close() {
103
149
  this.#timeout?.stop();
104
- if (this.#listener && this.#dependents) {
105
- for (const dependent of this.#dependents) {
106
- dependent.removeEventListener("abort", this.#listener);
107
- }
108
- }
150
+ this.#unregisterDependencies?.();
109
151
  }
110
152
  [Symbol.dispose]() {
111
153
  this.close();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Abort.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["abort", "Abort"]
6
6
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2026 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Utilities for working with async iterators.
8
+ */
9
+ export declare namespace AsyncIterator {
10
+ /**
11
+ * Merge multiple async iterators, yielding results as they become available from any iterator.
12
+ *
13
+ * Results are yielded in the order they resolve, not the order of iterators.
14
+ * Errors from individual iterators are collected and thrown as an aggregate error after all iterators complete.
15
+ *
16
+ * @param iterators The async iterables to merge
17
+ * @param errorMessage Optional message for the aggregate error if any iterators fail
18
+ */
19
+ function merge<T>(iterators: AsyncIterable<T>[], errorMessage?: string): AsyncGenerator<T>;
20
+ }
21
+ //# sourceMappingURL=AsyncIterator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncIterator.d.ts","sourceRoot":"","sources":["../../../src/util/AsyncIterator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,yBAAiB,aAAa,CAAC;IAC3B;;;;;;;;OAQG;IACH,SAAuB,KAAK,CAAC,CAAC,EAC1B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAC7B,YAAY,SAAuC,GACpD,cAAc,CAAC,CAAC,CAAC,CA8CnB;CACJ"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var AsyncIterator_exports = {};
20
+ __export(AsyncIterator_exports, {
21
+ AsyncIterator: () => AsyncIterator
22
+ });
23
+ module.exports = __toCommonJS(AsyncIterator_exports);
24
+ /**
25
+ * @license
26
+ * Copyright 2022-2026 Matter.js Authors
27
+ * SPDX-License-Identifier: Apache-2.0
28
+ */
29
+ var AsyncIterator;
30
+ ((AsyncIterator2) => {
31
+ async function* merge(iterators, errorMessage = "One or more async iterators failed") {
32
+ const asyncIterators = iterators.map((iter) => iter[Symbol.asyncIterator]());
33
+ const pending = /* @__PURE__ */ new Map();
34
+ const errors = [];
35
+ for (let i = 0; i < asyncIterators.length; i++) {
36
+ pending.set(
37
+ i,
38
+ asyncIterators[i].next().then(
39
+ (result) => ({ index: i, result }),
40
+ (error) => {
41
+ errors.push(error);
42
+ return { index: i, result: { done: true, value: void 0 } };
43
+ }
44
+ )
45
+ );
46
+ }
47
+ while (pending.size > 0) {
48
+ const { index, result } = await Promise.race(pending.values());
49
+ if (result.done) {
50
+ pending.delete(index);
51
+ } else {
52
+ yield result.value;
53
+ pending.set(
54
+ index,
55
+ asyncIterators[index].next().then(
56
+ (result2) => ({ index, result: result2 }),
57
+ (error) => {
58
+ errors.push(error);
59
+ return { index, result: { done: true, value: void 0 } };
60
+ }
61
+ )
62
+ );
63
+ }
64
+ }
65
+ if (errors.length > 0) {
66
+ throw new AggregateError(errors, errorMessage);
67
+ }
68
+ }
69
+ AsyncIterator2.merge = merge;
70
+ })(AsyncIterator || (AsyncIterator = {}));
71
+ //# sourceMappingURL=AsyncIterator.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/AsyncIterator.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,IAAU;AAAA,CAAV,CAAUA,mBAAV;AAUH,kBAAuB,MACnB,WACA,eAAe,sCACE;AACjB,UAAM,iBAAiB,UAAU,IAAI,UAAQ,KAAK,OAAO,aAAa,EAAE,CAAC;AACzE,UAAM,UAAU,oBAAI,IAAmE;AACvF,UAAM,SAAkB,CAAC;AAGzB,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AAC5C,cAAQ;AAAA,QACJ;AAAA,QACA,eAAe,CAAC,EAAE,KAAK,EAAE;AAAA,UACrB,aAAW,EAAE,OAAO,GAAG,OAAO;AAAA,UAC9B,WAAS;AAEL,mBAAO,KAAK,KAAK;AACjB,mBAAO,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,MAAM,OAAO,OAAU,EAAuB;AAAA,UACrF;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO,QAAQ,OAAO,GAAG;AAErB,YAAM,EAAE,OAAO,OAAO,IAAI,MAAM,QAAQ,KAAK,QAAQ,OAAO,CAAC;AAE7D,UAAI,OAAO,MAAM;AACb,gBAAQ,OAAO,KAAK;AAAA,MACxB,OAAO;AACH,cAAM,OAAO;AAEb,gBAAQ;AAAA,UACJ;AAAA,UACA,eAAe,KAAK,EAAE,KAAK,EAAE;AAAA,YACzB,CAAAC,aAAW,EAAE,OAAO,QAAAA,QAAO;AAAA,YAC3B,WAAS;AACL,qBAAO,KAAK,KAAK;AACjB,qBAAO,EAAE,OAAO,QAAQ,EAAE,MAAM,MAAM,OAAO,OAAU,EAAuB;AAAA,YAClF;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAGA,QAAI,OAAO,SAAS,GAAG;AACnB,YAAM,IAAI,eAAe,QAAQ,YAAY;AAAA,IACjD;AAAA,EACJ;AAjDA,EAAAD,eAAuB;AAAA,GAVV;",
5
+ "names": ["AsyncIterator", "result"]
6
+ }
@@ -8,7 +8,10 @@
8
8
  import { Duration } from "#time/Duration.js";
9
9
  export declare class DataReadQueue<T> {
10
10
  #private;
11
- read(timeout?: Duration): Promise<T>;
11
+ read({ timeout, abort }?: {
12
+ timeout?: Duration;
13
+ abort?: AbortSignal;
14
+ }): Promise<T>;
12
15
  write(data: T): void;
13
16
  get size(): number;
14
17
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAQ7C,qBAAa,aAAa,CAAC,CAAC;;IAKlB,IAAI,CAAC,OAAO,WAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA8B7C,KAAK,CAAC,IAAI,EAAE,CAAC;IAYb,IAAI,IAAI,WAEP;IAED,KAAK;CAOR"}
1
+ {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAS7C,qBAAa,aAAa,CAAC,CAAC;;IAKlB,IAAI,CAAC,EAAE,OAAqB,EAAE,KAAK,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAgD1G,KAAK,CAAC,IAAI,EAAE,CAAC;IAWb,IAAI,IAAI,WAEP;IAED,KAAK;CAgBR"}
@@ -25,6 +25,7 @@ var import_Duration = require("#time/Duration.js");
25
25
  var import_TimeUnit = require("#time/TimeUnit.js");
26
26
  var import_MatterError = require("../MatterError.js");
27
27
  var import_Time = require("../time/Time.js");
28
+ var import_Abort = require("./Abort.js");
28
29
  var import_Error = require("./Error.js");
29
30
  var import_Promises = require("./Promises.js");
30
31
  var import_Streams = require("./Streams.js");
@@ -39,7 +40,7 @@ class DataReadQueue {
39
40
  #queue = new Array();
40
41
  #pendingRead;
41
42
  #closed = false;
42
- async read(timeout = import_TimeUnit.Minutes.one) {
43
+ async read({ timeout = import_TimeUnit.Minutes.one, abort } = {}) {
43
44
  const { promise, resolver, rejecter } = (0, import_Promises.createPromise)();
44
45
  if (this.#closed) throw new import_Streams.EndOfStreamError();
45
46
  const data = this.#queue.shift();
@@ -60,20 +61,34 @@ class DataReadQueue {
60
61
  )
61
62
  ).start()
62
63
  };
64
+ let localAbort;
63
65
  try {
66
+ if (abort) {
67
+ localAbort = new import_Abort.Abort({
68
+ abort,
69
+ handler: (reason) => {
70
+ this.#clearPendingRead();
71
+ rejecter(reason);
72
+ }
73
+ });
74
+ }
64
75
  return await promise;
65
76
  } catch (e) {
77
+ if (e instanceof import_MatterError.AbortedError) {
78
+ throw e;
79
+ }
66
80
  const error = (0, import_Error.asError)(e);
67
81
  error.stack = new Error().stack;
68
82
  throw error;
83
+ } finally {
84
+ localAbort?.close();
69
85
  }
70
86
  }
71
87
  write(data) {
72
88
  if (this.#closed) throw new import_Streams.EndOfStreamError();
73
- if (this.#pendingRead !== void 0) {
74
- this.#pendingRead.timeoutTimer?.stop();
75
- const pendingRead = this.#pendingRead;
76
- this.#pendingRead = void 0;
89
+ const pendingRead = this.#pendingRead;
90
+ this.#clearPendingRead();
91
+ if (pendingRead) {
77
92
  pendingRead.resolver(data);
78
93
  return;
79
94
  }
@@ -89,5 +104,12 @@ class DataReadQueue {
89
104
  this.#pendingRead.timeoutTimer?.stop();
90
105
  this.#pendingRead.rejecter(new import_Streams.EndOfStreamError());
91
106
  }
107
+ #clearPendingRead() {
108
+ if (this.#pendingRead === void 0) {
109
+ return;
110
+ }
111
+ this.#pendingRead.timeoutTimer?.stop();
112
+ this.#pendingRead = void 0;
113
+ }
92
114
  }
93
115
  //# sourceMappingURL=DataReadQueue.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReadQueue.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AACzB,sBAAwB;AACxB,yBAAgC;AAChC,kBAA4B;AAC5B,mBAAwB;AACxB,sBAA8B;AAC9B,qBAAyD;AAdzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,MAAM,cAAiB;AAAA,EACjB,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,UAAU,wBAAQ,KAAiB;AAC1C,UAAM,EAAE,SAAS,UAAU,SAAS,QAAI,+BAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,gCAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,mCAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,iBAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,yBAAS,OAAO,OAAO,CAAC;AAAA,UAChF;AAAA,QACJ;AAAA,MACJ,EAAE,MAAM;AAAA,IACZ;AAEA,QAAI;AACA,aAAO,MAAM;AAAA,IACjB,SAAS,GAAG;AAER,YAAM,YAAQ,sBAAQ,CAAC;AACvB,YAAM,QAAQ,IAAI,MAAM,EAAE;AAC1B,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEA,MAAM,MAAS;AACX,QAAI,KAAK,QAAS,OAAM,IAAI,gCAAiB;AAC7C,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,aAAa,cAAc,KAAK;AACrC,YAAM,cAAc,KAAK;AACzB,WAAK,eAAe;AACpB,kBAAY,SAAS,IAAI;AACzB;AAAA,IACJ;AACA,SAAK,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,gCAAiB,CAAC;AAAA,EACrD;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AACzB,sBAAwB;AACxB,yBAA8C;AAC9C,kBAA4B;AAC5B,mBAAsB;AACtB,mBAAwB;AACxB,sBAA8B;AAC9B,qBAAyD;AAfzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,cAAiB;AAAA,EACjB,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,EAAE,UAAU,wBAAQ,KAAK,MAAM,IAAiD,CAAC,GAAe;AACvG,UAAM,EAAE,SAAS,UAAU,SAAS,QAAI,+BAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,gCAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,mCAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,iBAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,yBAAS,OAAO,OAAO,CAAC;AAAA,UAChF;AAAA,QACJ;AAAA,MACJ,EAAE,MAAM;AAAA,IACZ;AAEA,QAAI;AACJ,QAAI;AACA,UAAI,OAAO;AACP,qBAAa,IAAI,mBAAM;AAAA,UACnB;AAAA,UAEA,SAAS,YAAU;AACf,iBAAK,kBAAkB;AACvB,qBAAS,MAAM;AAAA,UACnB;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,aAAO,MAAM;AAAA,IACjB,SAAS,GAAG;AACR,UAAI,aAAa,iCAAc;AAC3B,cAAM;AAAA,MACV;AAGA,YAAM,YAAQ,sBAAQ,CAAC;AACvB,YAAM,QAAQ,IAAI,MAAM,EAAE;AAC1B,YAAM;AAAA,IACV,UAAE;AACE,kBAAY,MAAM;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,MAAM,MAAS;AACX,QAAI,KAAK,QAAS,OAAM,IAAI,gCAAiB;AAC7C,UAAM,cAAc,KAAK;AACzB,SAAK,kBAAkB;AACvB,QAAI,aAAa;AACb,kBAAY,SAAS,IAAI;AACzB;AAAA,IACJ;AACA,SAAK,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,gCAAiB,CAAC;AAAA,EACrD;AAAA,EAEA,oBAAoB;AAChB,QAAI,KAAK,iBAAiB,QAAW;AACjC;AAAA,IACJ;AAEA,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,eAAe;AAAA,EACxB;AACJ;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../../../src/util/Semaphore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU;IACxC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;;gBAYN,KAAK,EAAE,MAAM,EAAE,WAAW,SAAI,EAAE,KAAK,WAAU;IAO3D;;;;;;;;;;OAUG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAsIzD;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,IAAI,KAAK,WAER;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../../../src/util/Semaphore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,UAAU;IACxC;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;;gBAYN,KAAK,EAAE,MAAM,EAAE,WAAW,SAAI,EAAE,KAAK,WAAU;IAO3D;;;;;;;;;;OAUG;IACG,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuIzD;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,IAAI,KAAK,WAER;IAED;;OAEG;IACH,IAAI,OAAO,WAEV;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAMhB"}