@matter/general 0.16.0-alpha.0-20251003-dc6d5523d → 0.16.0-alpha.0-20251004-92135c7df

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 (115) hide show
  1. package/dist/cjs/codec/DnsCodec.d.ts +28 -4
  2. package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
  3. package/dist/cjs/codec/DnsCodec.js +24 -3
  4. package/dist/cjs/codec/DnsCodec.js.map +2 -2
  5. package/dist/cjs/net/mock/MockNetwork.d.ts +1 -5
  6. package/dist/cjs/net/mock/MockNetwork.d.ts.map +1 -1
  7. package/dist/cjs/net/mock/MockRouter.d.ts +2 -5
  8. package/dist/cjs/net/mock/MockRouter.d.ts.map +1 -1
  9. package/dist/cjs/net/mock/MockRouter.js +8 -1
  10. package/dist/cjs/net/mock/MockRouter.js.map +1 -1
  11. package/dist/cjs/net/mock/MockUdpChannel.d.ts +2 -1
  12. package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
  13. package/dist/cjs/net/mock/MockUdpChannel.js +3 -2
  14. package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
  15. package/dist/cjs/net/mock/NetworkSimulator.d.ts +1 -5
  16. package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -1
  17. package/dist/cjs/util/Abort.d.ts +39 -0
  18. package/dist/cjs/util/Abort.d.ts.map +1 -0
  19. package/dist/cjs/util/Abort.js +77 -0
  20. package/dist/cjs/util/Abort.js.map +6 -0
  21. package/dist/cjs/util/Bytes.d.ts +3 -1
  22. package/dist/cjs/util/Bytes.d.ts.map +1 -1
  23. package/dist/cjs/util/Bytes.js +11 -0
  24. package/dist/cjs/util/Bytes.js.map +1 -1
  25. package/dist/cjs/util/Cancelable.d.ts +0 -44
  26. package/dist/cjs/util/Cancelable.d.ts.map +1 -1
  27. package/dist/cjs/util/Cancelable.js +0 -141
  28. package/dist/cjs/util/Cancelable.js.map +2 -2
  29. package/dist/cjs/util/DataReadQueue.d.ts +1 -2
  30. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  31. package/dist/cjs/util/DataReadQueue.js +5 -5
  32. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  33. package/dist/cjs/util/Promises.d.ts +35 -0
  34. package/dist/cjs/util/Promises.d.ts.map +1 -1
  35. package/dist/cjs/util/Promises.js +84 -0
  36. package/dist/cjs/util/Promises.js.map +1 -1
  37. package/dist/cjs/util/Set.d.ts.map +1 -1
  38. package/dist/cjs/util/Set.js +3 -1
  39. package/dist/cjs/util/Set.js.map +1 -1
  40. package/dist/cjs/util/Streams.d.ts +37 -0
  41. package/dist/cjs/util/Streams.d.ts.map +1 -0
  42. package/dist/cjs/util/Streams.js +114 -0
  43. package/dist/cjs/util/Streams.js.map +6 -0
  44. package/dist/cjs/util/index.d.ts +2 -1
  45. package/dist/cjs/util/index.d.ts.map +1 -1
  46. package/dist/cjs/util/index.js +2 -1
  47. package/dist/cjs/util/index.js.map +1 -1
  48. package/dist/esm/codec/DnsCodec.d.ts +28 -4
  49. package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
  50. package/dist/esm/codec/DnsCodec.js +24 -3
  51. package/dist/esm/codec/DnsCodec.js.map +2 -2
  52. package/dist/esm/net/mock/MockNetwork.d.ts +1 -5
  53. package/dist/esm/net/mock/MockNetwork.d.ts.map +1 -1
  54. package/dist/esm/net/mock/MockRouter.d.ts +2 -5
  55. package/dist/esm/net/mock/MockRouter.d.ts.map +1 -1
  56. package/dist/esm/net/mock/MockRouter.js +8 -1
  57. package/dist/esm/net/mock/MockRouter.js.map +1 -1
  58. package/dist/esm/net/mock/MockUdpChannel.d.ts +2 -1
  59. package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
  60. package/dist/esm/net/mock/MockUdpChannel.js +3 -2
  61. package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
  62. package/dist/esm/net/mock/NetworkSimulator.d.ts +1 -5
  63. package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -1
  64. package/dist/esm/util/Abort.d.ts +39 -0
  65. package/dist/esm/util/Abort.d.ts.map +1 -0
  66. package/dist/esm/util/Abort.js +57 -0
  67. package/dist/esm/util/Abort.js.map +6 -0
  68. package/dist/esm/util/Bytes.d.ts +3 -1
  69. package/dist/esm/util/Bytes.d.ts.map +1 -1
  70. package/dist/esm/util/Bytes.js +11 -0
  71. package/dist/esm/util/Bytes.js.map +1 -1
  72. package/dist/esm/util/Cancelable.d.ts +0 -44
  73. package/dist/esm/util/Cancelable.d.ts.map +1 -1
  74. package/dist/esm/util/Cancelable.js +1 -142
  75. package/dist/esm/util/Cancelable.js.map +2 -2
  76. package/dist/esm/util/DataReadQueue.d.ts +1 -2
  77. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  78. package/dist/esm/util/DataReadQueue.js +1 -1
  79. package/dist/esm/util/DataReadQueue.js.map +1 -1
  80. package/dist/esm/util/Promises.d.ts +35 -0
  81. package/dist/esm/util/Promises.d.ts.map +1 -1
  82. package/dist/esm/util/Promises.js +84 -0
  83. package/dist/esm/util/Promises.js.map +1 -1
  84. package/dist/esm/util/Set.d.ts.map +1 -1
  85. package/dist/esm/util/Set.js +3 -1
  86. package/dist/esm/util/Set.js.map +1 -1
  87. package/dist/esm/util/Streams.d.ts +37 -0
  88. package/dist/esm/util/Streams.d.ts.map +1 -0
  89. package/dist/esm/util/Streams.js +94 -0
  90. package/dist/esm/util/Streams.js.map +6 -0
  91. package/dist/esm/util/index.d.ts +2 -1
  92. package/dist/esm/util/index.d.ts.map +1 -1
  93. package/dist/esm/util/index.js +2 -1
  94. package/dist/esm/util/index.js.map +1 -1
  95. package/package.json +2 -2
  96. package/src/codec/DnsCodec.ts +44 -5
  97. package/src/net/mock/MockRouter.ts +10 -1
  98. package/src/net/mock/MockUdpChannel.ts +7 -2
  99. package/src/util/Abort.ts +93 -0
  100. package/src/util/Bytes.ts +15 -1
  101. package/src/util/Cancelable.ts +1 -224
  102. package/src/util/DataReadQueue.ts +2 -2
  103. package/src/util/Promises.ts +113 -0
  104. package/src/util/Set.ts +3 -1
  105. package/src/util/Streams.ts +130 -0
  106. package/src/util/index.ts +2 -1
  107. package/dist/cjs/util/Stream.d.ts +0 -16
  108. package/dist/cjs/util/Stream.d.ts.map +0 -1
  109. package/dist/cjs/util/Stream.js +0 -38
  110. package/dist/cjs/util/Stream.js.map +0 -6
  111. package/dist/esm/util/Stream.d.ts +0 -16
  112. package/dist/esm/util/Stream.d.ts.map +0 -1
  113. package/dist/esm/util/Stream.js +0 -18
  114. package/dist/esm/util/Stream.js.map +0 -6
  115. package/src/util/Stream.ts +0 -19
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { CanceledError } from "#MatterError.js";
7
7
  import { asError, errorOf } from "./Error.js";
8
- import { createPromise, MaybePromise } from "./Promises.js";
8
+ import { MaybePromise } from "./Promises.js";
9
9
  class CancelablePromise {
10
10
  #reject;
11
11
  #promise;
@@ -112,148 +112,7 @@ class CancelablePromise {
112
112
  return this.#logger;
113
113
  }
114
114
  }
115
- class CancelableAsyncIterator {
116
- // The result of the final iteration
117
- #settled;
118
- // The input next implementation
119
- #next;
120
- // We race against this promise to detect cancelation during next()
121
- #canceled;
122
- // Rejects #canceled
123
- #reject;
124
- /**
125
- * Create a new instance.
126
- *
127
- * @param next the function that produces results
128
- * @param onCancel if provided this will overwrite {@link onCancel}
129
- */
130
- constructor(next, onCancel) {
131
- this.#next = next;
132
- this.#canceled = new Promise((_resolve, reject) => this.#reject = reject);
133
- if (onCancel !== void 0) {
134
- this.onCancel = onCancel;
135
- }
136
- }
137
- next(...[value]) {
138
- if (this.#settled) {
139
- return Promise.resolve({ done: true });
140
- }
141
- const next = value === void 0 ? this.#next() : this.#next(value);
142
- next.catch((reason) => {
143
- if (this.#settled) {
144
- CancelablePromise.logger.warn(`Cancelable async iterator rejected after return:`, reason);
145
- }
146
- });
147
- return Promise.race([next, this.#canceled]).then(
148
- (result) => {
149
- if (result.done) {
150
- this.#settled = true;
151
- }
152
- return result;
153
- },
154
- (reason) => {
155
- this.#settled = true;
156
- throw reason;
157
- }
158
- );
159
- }
160
- cancel(reason) {
161
- if (this.#settled) {
162
- return;
163
- }
164
- try {
165
- this.onCancel(reason);
166
- } catch (e) {
167
- this.#reject(e);
168
- }
169
- }
170
- /**
171
- * Handle cancelation.
172
- *
173
- * If the underlying operation supports cancelation then it is better to use that. Otherwise throwing
174
- * {@link reason} (the default behavior) will reject the current (or next) iteration regardless of the state of the
175
- * underyling operation.
176
- *
177
- * @param reason the reason provided to {@link cancel}
178
- */
179
- onCancel(reason) {
180
- throw reason;
181
- }
182
- static is(value) {
183
- return typeof value === "object" && value !== null && Symbol.asyncIterator in value && typeof value[Symbol.asyncIterator] === "function" && "cancel" in value && typeof value["cancel"] === "function";
184
- }
185
- }
186
- function Cancelable(executor) {
187
- return function cancelable(...args) {
188
- let delegates;
189
- return new CancelablePromise(
190
- (resolve, reject) => {
191
- try {
192
- const result = executor.call(this, cancelable2, ...args);
193
- if (MaybePromise.is(result)) {
194
- result.then(resolve, reject);
195
- return;
196
- }
197
- resolve(result);
198
- } catch (e) {
199
- reject(e);
200
- }
201
- function cancelable2(value) {
202
- if (CancelablePromise.is(value)) {
203
- const undelegate = addDelegate((reason) => value.cancel(reason));
204
- return value.finally(undelegate);
205
- }
206
- if (CancelableAsyncIterator.is(value)) {
207
- const undelegate = addDelegate((reason) => value.cancel(reason));
208
- const next = value.next.bind(value);
209
- value.next = () => {
210
- return next().then(
211
- (result) => {
212
- if (result.done) {
213
- undelegate();
214
- }
215
- return result;
216
- },
217
- (reason) => {
218
- undelegate();
219
- throw reason;
220
- }
221
- );
222
- };
223
- return value;
224
- }
225
- if (MaybePromise.is(value)) {
226
- const { promise, rejecter } = createPromise();
227
- const undelegate = addDelegate((reason) => rejecter(reason));
228
- return Promise.race([promise, value]).finally(() => undelegate);
229
- }
230
- return value;
231
- }
232
- },
233
- // Our "onCancel" that delegates to any registered delegators or simply rethrows if no delegation is active
234
- (reason) => {
235
- if (!delegates?.size) {
236
- throw reason;
237
- }
238
- for (const delegate of delegates) {
239
- delegate(reason);
240
- }
241
- }
242
- );
243
- function addDelegate(delegate) {
244
- if (!delegates) {
245
- delegates = /* @__PURE__ */ new Set();
246
- }
247
- delegates.add(delegate);
248
- return () => {
249
- delegates?.delete(delegate);
250
- };
251
- }
252
- };
253
- }
254
115
  export {
255
- Cancelable,
256
- CancelableAsyncIterator,
257
116
  CancelablePromise
258
117
  };
259
118
  //# sourceMappingURL=Cancelable.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Cancelable.ts"],
4
- "mappings": "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",
5
- "names": ["cancelable"]
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,qBAAqB;AAC9B,SAAS,SAAS,eAAe;AACjC,SAAS,oBAAoB;AAiBtB,MAAM,kBAA8D;AAAA,EACvE;AAAA,EACA;AAAA,EACA,aAAa;AAAA;AAAA,EAGb,OAAO,UAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYnC,YACI,UACA,UACF;AACE,QAAI,aAAa,QAAW;AACxB,WAAK,WAAW;AAAA,IACpB;AAEA,SAAK,WAAW,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC7C,WAAK,UAAU,CAAC,WAAiB;AAC7B,aAAK,aAAa;AAClB,eAAO,QAAQ,MAAM,CAAC;AAAA,MAC1B;AAEA;AAAA,QACI,CAAC,UAA8B;AAC3B,cAAI,KAAK,YAAY;AACjB;AAAA,UACJ;AAEA,eAAK,aAAa;AAClB,kBAAQ,KAAK;AAAA,QACjB;AAAA,QAEA,CAAC,WAAiB;AACd,cAAI,KAAK,YAAY;AACjB,8BAAkB,OAAO,KAAK,6CAA6C,MAAM;AACjF;AAAA,UACJ;AAEA,eAAK,QAAQ,MAAM;AAAA,QACvB;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,SAAkB,IAAI,cAAc,GAAG;AAC1C,QAAI,KAAK,YAAY;AACjB;AAAA,IACJ;AAEA,QAAI;AACA,WAAK,SAAS,QAAQ,MAAM,CAAC;AAAA,IACjC,SAAS,GAAG;AACR,WAAK,QAAQ,CAAC;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASU,SAAS,QAAe;AAC9B,UAAM;AAAA,EACV;AAAA,EAEA,KACI,aACA,YACsC;AACtC,UAAM,SAAS,KAAK,SAAS,KAAK,aAAa,UAAU;AACzD,WAAO,SAAS,KAAK,OAAO,KAAK,IAAI;AACrC,WAAO;AAAA,EACX;AAAA,EAEA,MACI,YAC8B;AAC9B,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EAC1C;AAAA,EAEA,QAAQ,WAAuD;AAC3D,UAAM,UAAU,CAAC,WAAgB;AAC7B,kBAAY;AACZ,aAAO;AAAA,IACX;AACA,WAAO,KAAK,KAAK,SAAS,OAAO;AAAA,EACrC;AAAA,EAEA,KAAK,OAAO,WAAW,IAAI;AACvB,WAAO,KAAK,SAAS,OAAO,WAAW;AAAA,EAC3C;AAAA,EAEA,OAAO,GAAM,OAAuD;AAChE,WAAO,aAAa,GAAG,KAAK,KAAK,OAAQ,MAA+B,WAAW;AAAA,EACvF;AAAA,EAEA,OAAO,QAAW,OAAgC;AAC9C,UAAM,SAAS,QAAQ,QAAQ,KAAK;AACpC,WAAO,SAAS,MAAM;AAAA,IAAC;AACvB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,OAAO,OAAoC;AAC9C,UAAM,SAAS,QAAQ,OAAO,QAAQ,KAAK,CAAC;AAC5C,WAAO,SAAS,MAAM;AAAA,IAAC;AACvB,WAAO;AAAA,EACX;AAAA,EAEA,WAAW,OAAO,QAA0B;AACxC,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,WAAW,SAAS;AAChB,WAAO,KAAK;AAAA,EAChB;AACJ;",
5
+ "names": []
6
6
  }
@@ -6,8 +6,7 @@
6
6
  * SPDX-License-Identifier: Apache-2.0
7
7
  */
8
8
  import { Duration } from "#time/Duration.js";
9
- import { Stream } from "./Stream.js";
10
- export declare class DataReadQueue<T> implements Stream<T> {
9
+ export declare class DataReadQueue<T> {
11
10
  #private;
12
11
  read(timeout?: Duration): Promise<T>;
13
12
  write(data: T): Promise<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;AAK7C,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;;IAKxC,IAAI,CAAC,OAAO,WAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBvC,KAAK,CAAC,IAAI,EAAE,CAAC;IAInB,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAYZ,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;AAO7C,qBAAa,aAAa,CAAC,CAAC;;IAKlB,IAAI,CAAC,OAAO,WAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAsBvC,KAAK,CAAC,IAAI,EAAE,CAAC;IAInB,IAAI,IAAI,WAEP;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAYZ,KAAK;CAOR"}
@@ -10,7 +10,7 @@ import { Minutes } from "#time/TimeUnit.js";
10
10
  import { MatterFlowError } from "../MatterError.js";
11
11
  import { Time } from "../time/Time.js";
12
12
  import { createPromise } from "./Promises.js";
13
- import { EndOfStreamError, NoResponseTimeoutError } from "./Stream.js";
13
+ import { EndOfStreamError, NoResponseTimeoutError } from "./Streams.js";
14
14
  class DataReadQueue {
15
15
  #queue = new Array();
16
16
  #pendingRead;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/DataReadQueue.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAAsC;AAE1D,MAAM,cAAsC;AAAA,EACtC,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,UAAU,QAAQ,KAAiB;AAC1C,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,SAAS,OAAO,OAAO,CAAC;AAAA,UAChF;AAAA,QACJ;AAAA,MACJ,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,SAAK,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,MAAS;AACV,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;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,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,iBAAiB,CAAC;AAAA,EACrD;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AACzB,SAAS,eAAe;AACxB,SAAS,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAA8B;AAElD,MAAM,cAAiB;AAAA,EACjB,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,UAAU,QAAQ,KAAiB;AAC1C,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,UAAM,OAAO,KAAK,OAAO,MAAM;AAC/B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AACnG,SAAK,eAAe;AAAA,MAChB;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,SAAS,OAAO,OAAO,CAAC;AAAA,UAChF;AAAA,QACJ;AAAA,MACJ,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,SAAK,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,MAAS;AACV,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;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,QAAQ;AACJ,QAAI,KAAK,QAAS;AAClB,SAAK,UAAU;AACf,QAAI,KAAK,iBAAiB,OAAW;AACrC,SAAK,aAAa,cAAc,KAAK;AACrC,SAAK,aAAa,SAAS,IAAI,iBAAiB,CAAC;AAAA,EACrD;AACJ;",
5
5
  "names": []
6
6
  }
@@ -65,4 +65,39 @@ export declare const MaybePromise: {
65
65
  finally<T>(producer: MaybePromise<T> | (() => MaybePromise<T>), onfinally?: (() => MaybePromise<void>) | null): MaybePromise<T>;
66
66
  [Symbol.toStringTag]: string;
67
67
  };
68
+ /**
69
+ * A recurring promise.
70
+ *
71
+ * A gate is duck-compatible with {@link Promise} and includes resolution methods on its public API.
72
+ *
73
+ * As an extension to normal promise semantics, a gate may be "opened" or "closed". {@link open} provides multi-
74
+ * resolution so that future awaits return a new value. {@link close} returns the promise to an unsettled state so that
75
+ * future awaits block.
76
+ *
77
+ * This is useful for basic synchronization of two tightly coupled ongoing tasks.
78
+ */
79
+ export declare class Gate<T = void> implements Promise<T> {
80
+ #private;
81
+ constructor();
82
+ /**
83
+ * Move to resolved state with the specified value.
84
+ */
85
+ open(value: T): void;
86
+ /**
87
+ * Move to unresolved state.
88
+ */
89
+ close(): void;
90
+ /**
91
+ * Perform normal promise resolution. Ignored if promise is already settled.
92
+ */
93
+ resolve(value: T): void;
94
+ /**
95
+ * Perform normal promise rejection. Ignored if promise is already settled.
96
+ */
97
+ reject(cause: any): void;
98
+ then<TResult1 = T, TResult2 = never>(resolve?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, reject?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
99
+ catch<TResult = never>(reject?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
100
+ finally(then?: (() => void) | null): Promise<T>;
101
+ [Symbol.toStringTag]: string;
102
+ }
68
103
  //# sourceMappingURL=Promises.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Promises.d.ts","sourceRoot":"","sources":["../../../src/util/Promises.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAiB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGhE;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,KAAK;IAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpC,CAiBA;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAsBvF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;CAAG;AAExD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAC/B,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,EAAE,eAAe,GAAG,CAAC,MAAM,IAAI,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC,CAmDZ;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;IACrB;;OAEG;OACA,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC;IAUtD;;;OAGG;SACE,CAAC,EAAE,EAAE,UAAU,EAAE,oBACR,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,YACzC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,WACxC,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GACnD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IAsCxB;;OAEG;UACG,CAAC,EAAE,OAAO,oBACF,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,eACtC,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAKhE;;OAEG;YACK,CAAC,YACK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,cACvC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAC9C,YAAY,CAAC,CAAC,CAAC;;CA4DrB,CAAC"}
1
+ {"version":3,"file":"Promises.d.ts","sourceRoot":"","sources":["../../../src/util/Promises.ts"],"names":[],"mappings":"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"}
@@ -173,8 +173,92 @@ const MaybePromise = {
173
173
  },
174
174
  [Symbol.toStringTag]: "MaybePromise"
175
175
  };
176
+ class Gate {
177
+ #promise;
178
+ #resolve;
179
+ #reject;
180
+ #resolvedAs;
181
+ #isResolved = false;
182
+ #isRejected = false;
183
+ constructor() {
184
+ let resolve;
185
+ let reject;
186
+ this.#promise = new Promise((res, rej) => {
187
+ resolve = res;
188
+ reject = rej;
189
+ });
190
+ this.#resolve = resolve;
191
+ this.#reject = reject;
192
+ }
193
+ /**
194
+ * Move to resolved state with the specified value.
195
+ */
196
+ open(value) {
197
+ if (this.#isResolved) {
198
+ if (this.#resolvedAs === value) {
199
+ return;
200
+ }
201
+ this.#resolvedAs = value;
202
+ this.#promise = Promise.resolve(value);
203
+ return;
204
+ }
205
+ if (this.#isRejected) {
206
+ this.#resolvedAs = value;
207
+ this.#isResolved = true;
208
+ this.#isRejected = false;
209
+ this.#promise = Promise.resolve(value);
210
+ return;
211
+ }
212
+ this.resolve(value);
213
+ }
214
+ /**
215
+ * Move to unresolved state.
216
+ */
217
+ close() {
218
+ if (!this.#isResolved && !this.#isRejected) {
219
+ return;
220
+ }
221
+ this.#isResolved = this.#isRejected = false;
222
+ this.#promise = new Promise((resolve, reject) => {
223
+ this.#resolve = resolve;
224
+ this.#reject = reject;
225
+ });
226
+ }
227
+ /**
228
+ * Perform normal promise resolution. Ignored if promise is already settled.
229
+ */
230
+ resolve(value) {
231
+ if (this.#isResolved || this.#isRejected) {
232
+ return;
233
+ }
234
+ this.#resolvedAs = value;
235
+ this.#isResolved = true;
236
+ this.#resolve(value);
237
+ }
238
+ /**
239
+ * Perform normal promise rejection. Ignored if promise is already settled.
240
+ */
241
+ reject(cause) {
242
+ if (this.#isResolved || this.#isRejected) {
243
+ return;
244
+ }
245
+ this.#isRejected = true;
246
+ this.#reject(cause);
247
+ }
248
+ then(resolve, reject) {
249
+ return this.#promise.then(resolve, reject);
250
+ }
251
+ catch(reject) {
252
+ return this.#promise.catch(reject);
253
+ }
254
+ finally(then) {
255
+ return this.#promise.finally(then);
256
+ }
257
+ [Symbol.toStringTag] = Promise.prototype[Symbol.toStringTag];
258
+ }
176
259
  MaybePromise.toString = () => "MaybePromise";
177
260
  export {
261
+ Gate,
178
262
  MaybePromise,
179
263
  PromiseTimeoutError,
180
264
  anyPromise,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Promises.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../../../src/util/Set.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Set.d.ts","sourceRoot":"","sources":["../../../src/util/Set.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,9 @@ class BasicSet {
131
131
  return true;
132
132
  }
133
133
  clear() {
134
- this.#entries.clear();
134
+ for (const entry of [...this]) {
135
+ this.delete(entry);
136
+ }
135
137
  }
136
138
  get added() {
137
139
  if (this.#added === void 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Set.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["value", "MapOfIndexedSet"]
6
6
  }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MatterError, TimeoutError } from "#MatterError.js";
7
+ /**
8
+ * Generic error thrown when a stream closes in a context where we expected a value.
9
+ */
10
+ export declare class EndOfStreamError extends MatterError {
11
+ constructor(message?: string);
12
+ }
13
+ /**
14
+ * Timeout specific to cases where we were expecting a value.
15
+ */
16
+ export declare class NoResponseTimeoutError extends TimeoutError {
17
+ }
18
+ /**
19
+ * A generic iterator type that accepts both async and normal iterators.
20
+ */
21
+ export type MaybeAsyncIterable<T> = Iterable<T, void, void> | AsyncIterable<T, void, void>;
22
+ export declare namespace Stream {
23
+ /**
24
+ * Ponyfill for standard ReadableStream.from().
25
+ *
26
+ * If defined, we use the native implementation. Otherwise we create the stream ourselves.
27
+ */
28
+ function from<T>(iterable: MaybeAsyncIterable<T>): ReadableStream<T>;
29
+ /**
30
+ * Ponyfill for standard ReadableStream#[Symbol.asyncIterator].
31
+ *
32
+ * If defined, we use the native implementation. Otherwise we create the iterator ourselves. Currently only
33
+ * necessary on Safari.
34
+ */
35
+ function iterable<T>(stream: ReadableStream<T>): AsyncGenerator<T, void, void>;
36
+ }
37
+ //# sourceMappingURL=Streams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Streams.d.ts","sourceRoot":"","sources":["../../../src/util/Streams.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG5D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,SAA6B;CAGnD;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3F,yBAAiB,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAM1E;IAED;;;;;OAKG;IACH,SAAuB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAmB3F;CACJ"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MatterError, TimeoutError } from "#MatterError.js";
7
+ import { MaybePromise } from "./Promises.js";
8
+ class EndOfStreamError extends MatterError {
9
+ constructor(message = "Unexpected end of stream") {
10
+ super(message);
11
+ }
12
+ }
13
+ class NoResponseTimeoutError extends TimeoutError {
14
+ }
15
+ var Stream;
16
+ ((Stream2) => {
17
+ function from(iterable2) {
18
+ if ("from" in ReadableStream) {
19
+ return ReadableStream.from(iterable2);
20
+ }
21
+ return AnyIterableReadableStream(iterable2);
22
+ }
23
+ Stream2.from = from;
24
+ async function* iterable(stream) {
25
+ if (Symbol.asyncIterator in stream) {
26
+ yield* stream;
27
+ return;
28
+ }
29
+ const reader = stream.getReader();
30
+ try {
31
+ while (true) {
32
+ const next = await reader.read();
33
+ if (next.done) {
34
+ return;
35
+ }
36
+ yield next.value;
37
+ }
38
+ } finally {
39
+ reader.releaseLock();
40
+ }
41
+ }
42
+ Stream2.iterable = iterable;
43
+ })(Stream || (Stream = {}));
44
+ function AnyIterableReadableStream(iterable) {
45
+ let iterator;
46
+ return new ReadableStream({
47
+ start() {
48
+ if (Symbol.asyncIterator in iterable) {
49
+ iterator = iterable[Symbol.asyncIterator]();
50
+ } else {
51
+ iterator = iterable[Symbol.iterator]();
52
+ }
53
+ },
54
+ async pull(controller) {
55
+ if (!iterator) {
56
+ controller.close();
57
+ return;
58
+ }
59
+ try {
60
+ let next = iterator.next();
61
+ if (MaybePromise.is(next)) {
62
+ next = await next;
63
+ }
64
+ if (next.done) {
65
+ controller.close();
66
+ return;
67
+ }
68
+ controller.enqueue(next.value);
69
+ } catch (e) {
70
+ controller.error(e);
71
+ return;
72
+ }
73
+ },
74
+ async cancel(reason) {
75
+ if (reason) {
76
+ if (iterator?.throw) {
77
+ await iterator.throw(reason);
78
+ return;
79
+ }
80
+ if (iterator?.return) {
81
+ await iterator.return();
82
+ }
83
+ throw reason;
84
+ }
85
+ await iterator?.return?.();
86
+ }
87
+ });
88
+ }
89
+ export {
90
+ EndOfStreamError,
91
+ NoResponseTimeoutError,
92
+ Stream
93
+ };
94
+ //# sourceMappingURL=Streams.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/Streams.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,oBAAoB;AAC1C,SAAS,oBAAoB;AAKtB,MAAM,yBAAyB,YAAY;AAAA,EAC9C,YAAY,UAAU,4BAA4B;AAC9C,UAAM,OAAO;AAAA,EACjB;AACJ;AAKO,MAAM,+BAA+B,aAAa;AAAC;AAOnD,IAAU;AAAA,CAAV,CAAUA,YAAV;AAMI,WAAS,KAAQC,WAAoD;AACxE,QAAI,UAAU,gBAAgB;AAC1B,aAAQ,eAAgF,KAAKA,SAAQ;AAAA,IACzG;AAEA,WAAO,0BAA0BA,SAAQ;AAAA,EAC7C;AANO,EAAAD,QAAS;AAchB,kBAAuB,SAAY,QAA0D;AACzF,QAAI,OAAO,iBAAiB,QAAQ;AAChC,aAAO;AACP;AAAA,IACJ;AAEA,UAAM,SAAS,OAAO,UAAU;AAChC,QAAI;AACA,aAAO,MAAM;AACT,cAAM,OAAO,MAAM,OAAO,KAAK;AAC/B,YAAI,KAAK,MAAM;AACX;AAAA,QACJ;AAEA,cAAM,KAAK;AAAA,MACf;AAAA,IACJ,UAAE;AACE,aAAO,YAAY;AAAA,IACvB;AAAA,EACJ;AAnBA,EAAAA,QAAuB;AAAA,GApBV;AAgDjB,SAAS,0BAA6B,UAAoD;AACtF,MAAI;AAEJ,SAAO,IAAI,eAAe;AAAA,IACtB,QAAQ;AACJ,UAAI,OAAO,iBAAiB,UAAU;AAClC,mBAAW,SAAS,OAAO,aAAa,EAAE;AAAA,MAC9C,OAAO;AACH,mBAAW,SAAS,OAAO,QAAQ,EAAE;AAAA,MACzC;AAAA,IACJ;AAAA,IAEA,MAAM,KAAK,YAAY;AACnB,UAAI,CAAC,UAAU;AACX,mBAAW,MAAM;AACjB;AAAA,MACJ;AAEA,UAAI;AACA,YAAI,OAAO,SAAS,KAAK;AACzB,YAAI,aAAa,GAAG,IAAI,GAAG;AACvB,iBAAO,MAAM;AAAA,QACjB;AAEA,YAAI,KAAK,MAAM;AACX,qBAAW,MAAM;AACjB;AAAA,QACJ;AAEA,mBAAW,QAAQ,KAAK,KAAK;AAAA,MACjC,SAAS,GAAG;AACR,mBAAW,MAAM,CAAC;AAClB;AAAA,MACJ;AAAA,IACJ;AAAA,IAEA,MAAM,OAAO,QAAQ;AACjB,UAAI,QAAQ;AACR,YAAI,UAAU,OAAO;AACjB,gBAAM,SAAS,MAAM,MAAM;AAC3B;AAAA,QACJ;AAEA,YAAI,UAAU,QAAQ;AAClB,gBAAM,SAAS,OAAO;AAAA,QAC1B;AAEA,cAAM;AAAA,MACV;AAEA,YAAM,UAAU,SAAS;AAAA,IAC7B;AAAA,EACJ,CAAC;AACL;",
5
+ "names": ["Stream", "iterable"]
6
+ }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ export * from "./Abort.js";
6
7
  export * from "./Array.js";
7
8
  export * from "./Boot.js";
8
9
  export * from "./Bytes.js";
@@ -29,7 +30,7 @@ export * from "./PromiseQueue.js";
29
30
  export * from "./Promises.js";
30
31
  export * from "./Set.js";
31
32
  export * from "./Singleton.js";
32
- export * from "./Stream.js";
33
+ export * from "./Streams.js";
33
34
  export * from "./String.js";
34
35
  export * from "./Type.js";
35
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ export * from "./Abort.js";
6
7
  export * from "./Array.js";
7
8
  export * from "./Boot.js";
8
9
  export * from "./Bytes.js";
@@ -29,7 +30,7 @@ export * from "./PromiseQueue.js";
29
30
  export * from "./Promises.js";
30
31
  export * from "./Set.js";
31
32
  export * from "./Singleton.js";
32
- export * from "./Stream.js";
33
+ export * from "./Streams.js";
33
34
  export * from "./String.js";
34
35
  export * from "./Type.js";
35
36
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }