@matter/general 0.12.4-alpha.0-20250223-1e0341a1a → 0.12.4-alpha.0-20250224-e0964a795

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2024 Matter.js Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { Logger } from "#log/Logger.js";
@@ -28,7 +28,7 @@ var import_Error = require("./Error.js");
28
28
  var import_Promises = require("./Promises.js");
29
29
  /**
30
30
  * @license
31
- * Copyright 2022-2024 Matter.js Authors
31
+ * Copyright 2022-2025 Matter.js Authors
32
32
  * SPDX-License-Identifier: Apache-2.0
33
33
  */
34
34
  class CancelablePromise {
@@ -7,9 +7,7 @@
7
7
  */
8
8
  import { Stream } from "./Stream.js";
9
9
  export declare class DataReadQueue<T> implements Stream<T> {
10
- private readonly queue;
11
- private pendingRead?;
12
- private closed;
10
+ #private;
13
11
  read(timeoutMs?: number): Promise<T>;
14
12
  write(data: T): Promise<void>;
15
13
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAyF;IAC7G,OAAO,CAAC,MAAM,CAAS;IAEjB,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAWnB,KAAK;CAOR"}
1
+ {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;;IAKxC,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAWnB,KAAK;CAOR"}
@@ -33,18 +33,18 @@ var import_Stream = require("./Stream.js");
33
33
  * SPDX-License-Identifier: Apache-2.0
34
34
  */
35
35
  class DataReadQueue {
36
- queue = new Array();
37
- pendingRead;
38
- closed = false;
36
+ #queue = new Array();
37
+ #pendingRead;
38
+ #closed = false;
39
39
  async read(timeoutMs = 6e4) {
40
40
  const { promise, resolver, rejecter } = (0, import_Promises.createPromise)();
41
- if (this.closed) throw new import_Stream.EndOfStreamError();
42
- const data = this.queue.shift();
41
+ if (this.#closed) throw new import_Stream.EndOfStreamError();
42
+ const data = this.#queue.shift();
43
43
  if (data !== void 0) {
44
44
  return data;
45
45
  }
46
- if (this.pendingRead !== void 0) throw new import_MatterError.MatterFlowError("Only one pending read is supported");
47
- this.pendingRead = {
46
+ if (this.#pendingRead !== void 0) throw new import_MatterError.MatterFlowError("Only one pending read is supported");
47
+ this.#pendingRead = {
48
48
  resolver,
49
49
  rejecter,
50
50
  timeoutTimer: import_Time.Time.getTimer(
@@ -56,21 +56,21 @@ class DataReadQueue {
56
56
  return promise;
57
57
  }
58
58
  async write(data) {
59
- if (this.closed) throw new import_Stream.EndOfStreamError();
60
- if (this.pendingRead !== void 0) {
61
- this.pendingRead.timeoutTimer?.stop();
62
- this.pendingRead.resolver(data);
63
- this.pendingRead = void 0;
59
+ if (this.#closed) throw new import_Stream.EndOfStreamError();
60
+ if (this.#pendingRead !== void 0) {
61
+ this.#pendingRead.timeoutTimer?.stop();
62
+ this.#pendingRead.resolver(data);
63
+ this.#pendingRead = void 0;
64
64
  return;
65
65
  }
66
- this.queue.push(data);
66
+ this.#queue.push(data);
67
67
  }
68
68
  close() {
69
- if (this.closed) return;
70
- this.closed = true;
71
- if (this.pendingRead === void 0) return;
72
- this.pendingRead.timeoutTimer?.stop();
73
- this.pendingRead.rejecter(new import_Stream.EndOfStreamError());
69
+ if (this.#closed) return;
70
+ this.#closed = true;
71
+ if (this.#pendingRead === void 0) return;
72
+ this.#pendingRead.timeoutTimer?.stop();
73
+ this.#pendingRead.rejecter(new import_Stream.EndOfStreamError());
74
74
  }
75
75
  }
76
76
  //# 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,yBAAgC;AAChC,kBAA4B;AAC5B,sBAA8B;AAC9B,oBAAiE;AAXjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAsC;AAAA,EAC9B,QAAQ,IAAI,MAAS;AAAA,EAC9B;AAAA,EACA,SAAS;AAAA,EAEjB,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,QAAI,+BAAiB;AACzD,QAAI,KAAK,OAAQ,OAAM,IAAI,+BAAiB;AAC5C,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,gBAAgB,OAAW,OAAM,IAAI,mCAAgB,oCAAoC;AAClG,SAAK,cAAc;AAAA,MACf;AAAA,MACA;AAAA,MACA,cAAc,iBAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,qCAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,OAAQ,OAAM,IAAI,+BAAiB;AAC5C,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,YAAY,cAAc,KAAK;AACpC,WAAK,YAAY,SAAS,IAAI;AAC9B,WAAK,cAAc;AACnB;AAAA,IACJ;AACA,SAAK,MAAM,KAAK,IAAI;AAAA,EACxB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,OAAQ;AACjB,SAAK,SAAS;AACd,QAAI,KAAK,gBAAgB,OAAW;AACpC,SAAK,YAAY,cAAc,KAAK;AACpC,SAAK,YAAY,SAAS,IAAI,+BAAiB,CAAC;AAAA,EACpD;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,yBAAgC;AAChC,kBAA4B;AAC5B,sBAA8B;AAC9B,oBAAiE;AAXjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAsC;AAAA,EACtC,SAAS,IAAI,MAAS;AAAA,EAC/B;AAAA,EACA,UAAU;AAAA,EAEV,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,QAAI,+BAAiB;AACzD,QAAI,KAAK,QAAS,OAAM,IAAI,+BAAiB;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,QAAW,MACpD,SAAS,IAAI,qCAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,QAAS,OAAM,IAAI,+BAAiB;AAC7C,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,aAAa,cAAc,KAAK;AACrC,WAAK,aAAa,SAAS,IAAI;AAC/B,WAAK,eAAe;AACpB;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,+BAAiB,CAAC;AAAA,EACrD;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,11 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MatterError } from "../MatterError.js";
6
+ import { MatterError, TimeoutError } from "../MatterError.js";
7
7
  export declare class EndOfStreamError extends MatterError {
8
8
  constructor(message?: string);
9
9
  }
10
- export declare class NoResponseTimeoutError extends MatterError {
10
+ export declare class NoResponseTimeoutError extends TimeoutError {
11
11
  }
12
12
  export interface Stream<T> {
13
13
  read(): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/util/Stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,SAA6B;CAGnD;AAED,qBAAa,sBAAuB,SAAQ,WAAW;CAAG;AAE1D,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/util/Stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,SAA6B;CAGnD;AAED,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAE3D,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
@@ -33,6 +33,6 @@ class EndOfStreamError extends import_MatterError.MatterError {
33
33
  super(message);
34
34
  }
35
35
  }
36
- class NoResponseTimeoutError extends import_MatterError.MatterError {
36
+ class NoResponseTimeoutError extends import_MatterError.TimeoutError {
37
37
  }
38
38
  //# sourceMappingURL=Stream.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Stream.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,yBAA4B;AAL5B;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,yBAAyB,+BAAY;AAAA,EAC9C,YAAY,UAAU,4BAA4B;AAC9C,UAAM,OAAO;AAAA,EACjB;AACJ;AAEO,MAAM,+BAA+B,+BAAY;AAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,yBAA0C;AAL1C;AAAA;AAAA;AAAA;AAAA;AAOO,MAAM,yBAAyB,+BAAY;AAAA,EAC9C,YAAY,UAAU,4BAA4B;AAC9C,UAAM,OAAO;AAAA,EACjB;AACJ;AAEO,MAAM,+BAA+B,gCAAa;AAAC;",
5
5
  "names": []
6
6
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2024 Matter.js Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { Logger } from "#log/Logger.js";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2024 Matter.js Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CanceledError } from "#MatterError.js";
@@ -7,9 +7,7 @@
7
7
  */
8
8
  import { Stream } from "./Stream.js";
9
9
  export declare class DataReadQueue<T> implements Stream<T> {
10
- private readonly queue;
11
- private pendingRead?;
12
- private closed;
10
+ #private;
13
11
  read(timeoutMs?: number): Promise<T>;
14
12
  write(data: T): Promise<void>;
15
13
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAyF;IAC7G,OAAO,CAAC,MAAM,CAAS;IAEjB,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAWnB,KAAK;CAOR"}
1
+ {"version":3,"file":"DataReadQueue.d.ts","sourceRoot":"","sources":["../../../src/util/DataReadQueue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAA4C,MAAM,EAAE,MAAM,aAAa,CAAC;AAE/E,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;;IAKxC,IAAI,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC;IAkBpC,KAAK,CAAC,IAAI,EAAE,CAAC;IAWnB,KAAK;CAOR"}
@@ -10,18 +10,18 @@ import { Time } from "../time/Time.js";
10
10
  import { createPromise } from "./Promises.js";
11
11
  import { EndOfStreamError, NoResponseTimeoutError } from "./Stream.js";
12
12
  class DataReadQueue {
13
- queue = new Array();
14
- pendingRead;
15
- closed = false;
13
+ #queue = new Array();
14
+ #pendingRead;
15
+ #closed = false;
16
16
  async read(timeoutMs = 6e4) {
17
17
  const { promise, resolver, rejecter } = createPromise();
18
- if (this.closed) throw new EndOfStreamError();
19
- const data = this.queue.shift();
18
+ if (this.#closed) throw new EndOfStreamError();
19
+ const data = this.#queue.shift();
20
20
  if (data !== void 0) {
21
21
  return data;
22
22
  }
23
- if (this.pendingRead !== void 0) throw new MatterFlowError("Only one pending read is supported");
24
- this.pendingRead = {
23
+ if (this.#pendingRead !== void 0) throw new MatterFlowError("Only one pending read is supported");
24
+ this.#pendingRead = {
25
25
  resolver,
26
26
  rejecter,
27
27
  timeoutTimer: Time.getTimer(
@@ -33,21 +33,21 @@ class DataReadQueue {
33
33
  return promise;
34
34
  }
35
35
  async write(data) {
36
- if (this.closed) throw new EndOfStreamError();
37
- if (this.pendingRead !== void 0) {
38
- this.pendingRead.timeoutTimer?.stop();
39
- this.pendingRead.resolver(data);
40
- this.pendingRead = void 0;
36
+ if (this.#closed) throw new EndOfStreamError();
37
+ if (this.#pendingRead !== void 0) {
38
+ this.#pendingRead.timeoutTimer?.stop();
39
+ this.#pendingRead.resolver(data);
40
+ this.#pendingRead = void 0;
41
41
  return;
42
42
  }
43
- this.queue.push(data);
43
+ this.#queue.push(data);
44
44
  }
45
45
  close() {
46
- if (this.closed) return;
47
- this.closed = true;
48
- if (this.pendingRead === void 0) return;
49
- this.pendingRead.timeoutTimer?.stop();
50
- this.pendingRead.rejecter(new EndOfStreamError());
46
+ if (this.#closed) return;
47
+ this.#closed = true;
48
+ if (this.#pendingRead === void 0) return;
49
+ this.#pendingRead.timeoutTimer?.stop();
50
+ this.#pendingRead.rejecter(new EndOfStreamError());
51
51
  }
52
52
  }
53
53
  export {
@@ -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,uBAAuB;AAChC,SAAS,YAAmB;AAC5B,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB,8BAAsC;AAE1D,MAAM,cAAsC;AAAA,EAC9B,QAAQ,IAAI,MAAS;AAAA,EAC9B;AAAA,EACA,SAAS;AAAA,EAEjB,MAAM,KAAK,YAAY,KAAoB;AACvC,UAAM,EAAE,SAAS,UAAU,SAAS,IAAI,cAAiB;AACzD,QAAI,KAAK,OAAQ,OAAM,IAAI,iBAAiB;AAC5C,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,SAAS,QAAW;AACpB,aAAO;AAAA,IACX;AACA,QAAI,KAAK,gBAAgB,OAAW,OAAM,IAAI,gBAAgB,oCAAoC;AAClG,SAAK,cAAc;AAAA,MACf;AAAA,MACA;AAAA,MACA,cAAc,KAAK;AAAA,QAAS;AAAA,QAAiB;AAAA,QAAW,MACpD,SAAS,IAAI,uBAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,OAAQ,OAAM,IAAI,iBAAiB;AAC5C,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,YAAY,cAAc,KAAK;AACpC,WAAK,YAAY,SAAS,IAAI;AAC9B,WAAK,cAAc;AACnB;AAAA,IACJ;AACA,SAAK,MAAM,KAAK,IAAI;AAAA,EACxB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,OAAQ;AACjB,SAAK,SAAS;AACd,QAAI,KAAK,gBAAgB,OAAW;AACpC,SAAK,YAAY,cAAc,KAAK;AACpC,SAAK,YAAY,SAAS,IAAI,iBAAiB,CAAC;AAAA,EACpD;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,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,YAAY,KAAoB;AACvC,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,QAAW,MACpD,SAAS,IAAI,uBAAuB,oDAAoD,SAAS,IAAI,CAAC;AAAA,MAC1G,EAAE,MAAM;AAAA,IACZ;AACA,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,MAAM,MAAS;AACjB,QAAI,KAAK,QAAS,OAAM,IAAI,iBAAiB;AAC7C,QAAI,KAAK,iBAAiB,QAAW;AACjC,WAAK,aAAa,cAAc,KAAK;AACrC,WAAK,aAAa,SAAS,IAAI;AAC/B,WAAK,eAAe;AACpB;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
  }
@@ -3,11 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MatterError } from "../MatterError.js";
6
+ import { MatterError, TimeoutError } from "../MatterError.js";
7
7
  export declare class EndOfStreamError extends MatterError {
8
8
  constructor(message?: string);
9
9
  }
10
- export declare class NoResponseTimeoutError extends MatterError {
10
+ export declare class NoResponseTimeoutError extends TimeoutError {
11
11
  }
12
12
  export interface Stream<T> {
13
13
  read(): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/util/Stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,SAA6B;CAGnD;AAED,qBAAa,sBAAuB,SAAQ,WAAW;CAAG;AAE1D,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
1
+ {"version":3,"file":"Stream.d.ts","sourceRoot":"","sources":["../../../src/util/Stream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,qBAAa,gBAAiB,SAAQ,WAAW;gBACjC,OAAO,SAA6B;CAGnD;AAED,qBAAa,sBAAuB,SAAQ,YAAY;CAAG;AAE3D,MAAM,WAAW,MAAM,CAAC,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC"}
@@ -3,13 +3,13 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MatterError } from "../MatterError.js";
6
+ import { MatterError, TimeoutError } from "../MatterError.js";
7
7
  class EndOfStreamError extends MatterError {
8
8
  constructor(message = "Unexpected end of stream") {
9
9
  super(message);
10
10
  }
11
11
  }
12
- class NoResponseTimeoutError extends MatterError {
12
+ class NoResponseTimeoutError extends TimeoutError {
13
13
  }
14
14
  export {
15
15
  EndOfStreamError,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/util/Stream.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,mBAAmB;AAErB,MAAM,yBAAyB,YAAY;AAAA,EAC9C,YAAY,UAAU,4BAA4B;AAC9C,UAAM,OAAO;AAAA,EACjB;AACJ;AAEO,MAAM,+BAA+B,YAAY;AAAC;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,aAAa,oBAAoB;AAEnC,MAAM,yBAAyB,YAAY;AAAA,EAC9C,YAAY,UAAU,4BAA4B;AAC9C,UAAM,OAAO;AAAA,EACjB;AACJ;AAEO,MAAM,+BAA+B,aAAa;AAAC;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.12.4-alpha.0-20250223-1e0341a1a",
3
+ "version": "0.12.4-alpha.0-20250224-e0964a795",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^1.8.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.12.4-alpha.0-20250223-1e0341a1a"
39
+ "@matter/testing": "0.12.4-alpha.0-20250224-e0964a795"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2024 Matter.js Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
@@ -12,19 +12,19 @@ import { createPromise } from "./Promises.js";
12
12
  import { EndOfStreamError, NoResponseTimeoutError, Stream } from "./Stream.js";
13
13
 
14
14
  export class DataReadQueue<T> implements Stream<T> {
15
- private readonly queue = new Array<T>();
16
- private pendingRead?: { resolver: (data: T) => void; rejecter: (reason: any) => void; timeoutTimer?: Timer };
17
- private closed = false;
15
+ readonly #queue = new Array<T>();
16
+ #pendingRead?: { resolver: (data: T) => void; rejecter: (reason: any) => void; timeoutTimer?: Timer };
17
+ #closed = false;
18
18
 
19
19
  async read(timeoutMs = 60_000): Promise<T> {
20
20
  const { promise, resolver, rejecter } = createPromise<T>();
21
- if (this.closed) throw new EndOfStreamError();
22
- const data = this.queue.shift();
21
+ if (this.#closed) throw new EndOfStreamError();
22
+ const data = this.#queue.shift();
23
23
  if (data !== undefined) {
24
24
  return data;
25
25
  }
26
- if (this.pendingRead !== undefined) throw new MatterFlowError("Only one pending read is supported");
27
- this.pendingRead = {
26
+ if (this.#pendingRead !== undefined) throw new MatterFlowError("Only one pending read is supported");
27
+ this.#pendingRead = {
28
28
  resolver,
29
29
  rejecter,
30
30
  timeoutTimer: Time.getTimer("Queue timeout", timeoutMs, () =>
@@ -35,21 +35,21 @@ export class DataReadQueue<T> implements Stream<T> {
35
35
  }
36
36
 
37
37
  async write(data: T) {
38
- if (this.closed) throw new EndOfStreamError();
39
- if (this.pendingRead !== undefined) {
40
- this.pendingRead.timeoutTimer?.stop();
41
- this.pendingRead.resolver(data);
42
- this.pendingRead = undefined;
38
+ if (this.#closed) throw new EndOfStreamError();
39
+ if (this.#pendingRead !== undefined) {
40
+ this.#pendingRead.timeoutTimer?.stop();
41
+ this.#pendingRead.resolver(data);
42
+ this.#pendingRead = undefined;
43
43
  return;
44
44
  }
45
- this.queue.push(data);
45
+ this.#queue.push(data);
46
46
  }
47
47
 
48
48
  close() {
49
- if (this.closed) return;
50
- this.closed = true;
51
- if (this.pendingRead === undefined) return;
52
- this.pendingRead.timeoutTimer?.stop();
53
- this.pendingRead.rejecter(new EndOfStreamError());
49
+ if (this.#closed) return;
50
+ this.#closed = true;
51
+ if (this.#pendingRead === undefined) return;
52
+ this.#pendingRead.timeoutTimer?.stop();
53
+ this.#pendingRead.rejecter(new EndOfStreamError());
54
54
  }
55
55
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { MatterError } from "../MatterError.js";
6
+ import { MatterError, TimeoutError } from "../MatterError.js";
7
7
 
8
8
  export class EndOfStreamError extends MatterError {
9
9
  constructor(message = "Unexpected end of stream") {
@@ -11,7 +11,7 @@ export class EndOfStreamError extends MatterError {
11
11
  }
12
12
  }
13
13
 
14
- export class NoResponseTimeoutError extends MatterError {}
14
+ export class NoResponseTimeoutError extends TimeoutError {}
15
15
 
16
16
  export interface Stream<T> {
17
17
  read(): Promise<T>;