@matter/general 0.16.0-alpha.0-20250916-d577beb1d → 0.16.0-alpha.0-20250920-809524dba

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 (48) hide show
  1. package/dist/cjs/environment/VariableService.js +1 -1
  2. package/dist/cjs/environment/VariableService.js.map +1 -1
  3. package/dist/cjs/storage/BytesStreamReader.d.ts +20 -0
  4. package/dist/cjs/storage/BytesStreamReader.d.ts.map +1 -0
  5. package/dist/cjs/storage/BytesStreamReader.js +100 -0
  6. package/dist/cjs/storage/BytesStreamReader.js.map +6 -0
  7. package/dist/cjs/storage/StorageBackendMemory.d.ts.map +1 -1
  8. package/dist/cjs/storage/StorageBackendMemory.js +5 -0
  9. package/dist/cjs/storage/StorageBackendMemory.js.map +1 -1
  10. package/dist/cjs/storage/index.d.ts +1 -0
  11. package/dist/cjs/storage/index.d.ts.map +1 -1
  12. package/dist/cjs/storage/index.js +1 -0
  13. package/dist/cjs/storage/index.js.map +1 -1
  14. package/dist/cjs/time/Duration.js +4 -4
  15. package/dist/cjs/time/Duration.js.map +1 -1
  16. package/dist/cjs/time/Timestamp.js +4 -4
  17. package/dist/cjs/time/Timestamp.js.map +1 -1
  18. package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
  19. package/dist/cjs/util/DataReadQueue.js +2 -1
  20. package/dist/cjs/util/DataReadQueue.js.map +1 -1
  21. package/dist/esm/environment/VariableService.js +1 -1
  22. package/dist/esm/environment/VariableService.js.map +1 -1
  23. package/dist/esm/storage/BytesStreamReader.d.ts +20 -0
  24. package/dist/esm/storage/BytesStreamReader.d.ts.map +1 -0
  25. package/dist/esm/storage/BytesStreamReader.js +80 -0
  26. package/dist/esm/storage/BytesStreamReader.js.map +6 -0
  27. package/dist/esm/storage/StorageBackendMemory.d.ts.map +1 -1
  28. package/dist/esm/storage/StorageBackendMemory.js +5 -0
  29. package/dist/esm/storage/StorageBackendMemory.js.map +1 -1
  30. package/dist/esm/storage/index.d.ts +1 -0
  31. package/dist/esm/storage/index.d.ts.map +1 -1
  32. package/dist/esm/storage/index.js +1 -0
  33. package/dist/esm/storage/index.js.map +1 -1
  34. package/dist/esm/time/Duration.js +4 -4
  35. package/dist/esm/time/Duration.js.map +1 -1
  36. package/dist/esm/time/Timestamp.js +4 -4
  37. package/dist/esm/time/Timestamp.js.map +1 -1
  38. package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
  39. package/dist/esm/util/DataReadQueue.js +2 -1
  40. package/dist/esm/util/DataReadQueue.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/environment/VariableService.ts +1 -1
  43. package/src/storage/BytesStreamReader.ts +100 -0
  44. package/src/storage/StorageBackendMemory.ts +5 -0
  45. package/src/storage/index.ts +1 -0
  46. package/src/time/Duration.ts +4 -4
  47. package/src/time/Timestamp.ts +4 -4
  48. package/src/util/DataReadQueue.ts +2 -1
@@ -163,7 +163,7 @@ class VariableService {
163
163
  }
164
164
  if (typeof value === "string") {
165
165
  value = Number.parseFloat(value);
166
- if (Number.isNaN(value)) {
166
+ if (!Number.isFinite(value)) {
167
167
  return;
168
168
  }
169
169
  return value;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/VariableService.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,wBAA2B;AAC3B,kBAAyB;AAEzB,2BAA8B;AAV9B;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,gBAAgB;AAAA,EACzB,QAAQ,CAAC;AAAA,EACT,mBAAmB,MAAmB;AAAA,EACtC,UAAU,oBAAI,IAA2B;AAAA,EAEzC,YAAY,aAA0B;AAClC,gBAAY,IAAI,iBAAiB,IAAI;AAAA,EACzC;AAAA,EAEA,QAAQ,mCAAc,MAAM,EAAE,aAA0B;AACpD,WAAO,IAAI,KAAK,WAAW;AAAA,EAC/B;AAAA,EAEA,KAAK,6BAAW,KAAK,IAAI;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,cAAiD;AACjD,UAAM,YAAY,oBAAI,IAAY;AAClC,QAAI;AACA,WAAK,iBAAiB,KAAK,SAAS;AACpC,mBAAa;AAAA,IACjB,UAAE;AACE,WAAK,iBAAiB,IAAI;AAAA,IAC9B;AAEA,UAAM,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,MACA,OAAO,MAAM;AACT,aAAK,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACJ;AACA,SAAK,QAAQ,IAAI,KAAK;AAEtB,WAAO;AAAA,EACX;AAAA,EAQA,IAAI,MAAc,UAAkC;AAChD,eAAW,aAAa,KAAK,kBAAkB;AAC3C,gBAAU,IAAI,IAAI;AAAA,IACtB;AAEA,YAAQ,OAAO,UAAU;AAAA,MACrB,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,QAAQ,IAAI,KAAK;AAAA,IACrC;AAEA,QAAI,QAA+B,KAAK;AACxC,eAAW,WAAW,KAAK,WAAW,IAAI,GAAG;AACzC,UAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AACrE,eAAO;AAAA,MACX;AACA,cAAQ,MAAM,OAAO;AAAA,IACzB;AACA,WAAO,SAAS;AAAA,EACpB;AAAA,EAEA,IAAI,MAAc;AACd,WAAO,KAAK,IAAI,IAAI,MAAM;AAAA,EAC9B;AAAA,EAEA,IAAI,MAAc,OAA8B;AAC5C,UAAM,WAAW,KAAK,YAAY,EAAE,MAAM,GAAG;AAC7C,UAAM,MAAM,SAAS,IAAI;AACzB,QAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;AACrE,YAAM,IAAI,uCAAoB,+BAA+B,GAAG,EAAE;AAAA,IACtE;AACA,QAAI,SAA8B,KAAK;AACvC,eAAW,WAAW,UAAU;AAC5B,UAAI,aAAa,OAAO,OAAO;AAC/B,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,qBAAa,OAAO,OAAO,IAAI,CAAC;AAAA,MACpC,WAAW,OAAO,eAAe,YAAY,MAAM,QAAQ,UAAU,GAAG;AACpE,cAAM,IAAI,uCAAoB,aAAa,IAAI,oBAAoB,OAAO,eAAe;AAAA,MAC7F;AACA,eAAS;AAAA,IACb;AAEA,QAAI,OAAO,GAAG,MAAM,OAAO;AACvB;AAAA,IACJ;AAEA,WAAO,GAAG,IAAI;AAEd,eAAW,SAAS,KAAK,SAAS;AAC9B,UAAI,MAAM,UAAU,IAAI,IAAI,GAAG;AAC3B,cAAM,aAAa;AAAA,MACvB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,MAAc,OAA8B;AACtD,SAAK,IAAI,MAAM,KAAK;AACpB,UAAM,KAAK,qBAAqB,MAAM,KAAK;AAAA,EAC/C;AAAA,EAEA;AAAA,EAEA,OAAO,MAAc;AACjB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,UAAU,MAAM;AAChB,aAAO;AAAA,IACX;AACA,WAAO,MAAM,SAAS;AAAA,EAC1B;AAAA,EAEA,QAAQ,MAAc;AAClB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,YAAQ,OAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,MAEX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEA,OAAO,MAAc;AACjB,QAAI,QAAQ,KAAK,IAAI,IAAI;AACzB,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,cAAQ,OAAO,WAAW,KAAK;AAC/B,UAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AACzB;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,QAAQ,MAAc,UAAmB;AACrC,UAAM,SAAS,KAAK,OAAO,IAAI,KAAK;AACpC,QAAI,OAAO,WAAW,UAAU;AAC5B,aAAO,KAAK,MAAM,MAAM;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,UAAU,MAAc;AACpB,UAAM,QAAQ,KAAK,QAAQ,IAAI,KAAK;AACpC,SAAK,IAAI,MAAM,QAAQ,CAAC;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,eAAe,MAA2B;AACtC,UAAM,OAAO,MAAc;AAE3B,UAAM,MAAM,CAACA,UAA8B;AACvC,iBAAW,QAAQA,OAAM;AACrB,cAAM,MAAMA,MAAK,IAAI;AACrB,gBAAI,sBAAS,GAAG,GAAG;AACf,eAAK,KAAK,IAAI;AACd,cAAI,GAAG;AACP,eAAK,IAAI;AAAA,QACb,OAAO;AACH,eAAK,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG;AAAA,QAC3C;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,IAAI;AAAA,EACZ;AAAA,EAEA,gBAAgB,MAA0C;AACtD,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,aAAa,MAAgB;AACzB,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,WAAW,MAAc;AACrB,WAAO,KACF,YAAY,EACZ,MAAM,GAAG,EACT,IAAI,aAAW;AACZ,gBAAU,QAAQ,KAAK;AACvB,UAAI,YAAY,IAAI;AAChB,cAAM,IAAI,uCAAoB,iBAAiB,IAAI,0BAA0B;AAAA,MACjF;AACA,aAAO;AAAA,IACX,CAAC;AAAA,EACT;AACJ;AAoBA,SAAS,YAAY,MAA2B,MAAgB,OAAY;AACxE,MAAI,CAAC,KAAK,QAAQ;AACd;AAAA,EACJ;AACA,QAAM,iBAAiB,KAAK,CAAC;AAC7B,MAAI,mBAAmB,eAAe,mBAAmB,iBAAiB,mBAAmB,aAAa;AACtG,UAAM,IAAI,uCAAoB,+BAA+B,cAAc,EAAE;AAAA,EACjF;AACA,MAAI,UAAU,KAAK,cAAc;AACjC,MAAI,KAAK,WAAW,GAAG;AACnB,QAAI,YAAY,QAAW;AACvB,WAAK,cAAc,IAAI;AAAA,IAC3B;AACA;AAAA,EACJ;AAEA,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,KAAK,cAAc,IAAI,CAAC;AAAA,EACtC;AACA,cAAY,SAAS,KAAK,MAAM,CAAC,GAAG,KAAK;AAC7C;AAEA,SAAS,eAAe,QAA4C;AAChE,QAAM,YAAY,CAAC;AAEnB,aAAW,OAAO,QAAQ;AACtB,QAAI,IAAI,WAAW,SAAS,GAAG;AAC3B,UAAI,OAAO,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,IAAI;AACjD;AAAA,MACJ;AACA,kBAAY,WAAW,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;AAAA,IAC7E;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,eAAe,QAAkB;AACtC,QAAM,YAAY,CAAC;AAEnB,WAAS,OAAO,QAAQ;AACpB,QAAI,CAAC,IAAI,WAAW,IAAI,GAAG;AACvB;AAAA,IACJ;AACA,UAAM,IAAI,MAAM,CAAC;AAEjB,UAAM,eAAe,IAAI,QAAQ,GAAG;AACpC,QAAI,KAAK;AAET,QAAI,iBAAiB,IAAI;AACrB,YAAM;AACN,cAAQ;AAAA,IACZ,OAAO;AACH,YAAM,IAAI,MAAM,GAAG,YAAY;AAC/B,cAAQ,IAAI,MAAM,eAAe,CAAC;AAClC,UAAK,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,KAAO,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,GAAI;AAClG,gBAAQ,MAAM,MAAM,GAAG,EAAE,EAAE,WAAW,OAAO,GAAG,EAAE,WAAW,OAAO,GAAG;AAAA,MAC3E;AAAA,IACJ;AAEA,gBAAY,WAAW,IAAI,YAAY,EAAE,MAAM,GAAG,GAAG,KAAK;AAAA,EAC9D;AAEA,SAAO;AACX;",
5
5
  "names": ["vars"]
6
6
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes } from "#util/index.js";
7
+ /**
8
+ * A stream reader that reads bytes from a stream and provides a way to skip bytes.
9
+ */
10
+ export declare class BytesStreamReader {
11
+ #private;
12
+ constructor(streamReader: ReadableStreamDefaultReader<Bytes>);
13
+ read(chunkSize: number): AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
14
+ /**
15
+ * Tries to skip the desired number of bytes, returns the actual number of skipped bytes.
16
+ * This skip() method should be called when no read() chunk is also awaited!
17
+ */
18
+ skip(desiredSkippedBytes: number): Promise<number>;
19
+ }
20
+ //# sourceMappingURL=BytesStreamReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BytesStreamReader.d.ts","sourceRoot":"","sources":["../../../src/storage/BytesStreamReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAc,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAiB;;gBAKd,YAAY,EAAE,2BAA2B,CAAC,KAAK,CAAC;IAIrD,IAAI,CAAC,SAAS,EAAE,MAAM;IAmC7B;;;OAGG;IACG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwC3D"}
@@ -0,0 +1,100 @@
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 BytesStreamReader_exports = {};
20
+ __export(BytesStreamReader_exports, {
21
+ BytesStreamReader: () => BytesStreamReader
22
+ });
23
+ module.exports = __toCommonJS(BytesStreamReader_exports);
24
+ var import_util = require("#util/index.js");
25
+ /**
26
+ * @license
27
+ * Copyright 2022-2025 Matter.js Authors
28
+ * SPDX-License-Identifier: Apache-2.0
29
+ */
30
+ class BytesStreamReader {
31
+ #streamReader;
32
+ #dataReader;
33
+ #streamEndReached = false;
34
+ constructor(streamReader) {
35
+ this.#streamReader = streamReader;
36
+ }
37
+ async *read(chunkSize) {
38
+ while (true) {
39
+ if (this.#streamEndReached) {
40
+ return;
41
+ }
42
+ if (this.#dataReader === void 0 || this.#dataReader.remainingBytesCount < chunkSize) {
43
+ const { value, done } = await this.#streamReader.read();
44
+ if (value === void 0 || done) {
45
+ if (this.#dataReader !== void 0) {
46
+ yield this.#dataReader.remainingBytes;
47
+ }
48
+ break;
49
+ }
50
+ if (this.#dataReader !== void 0) {
51
+ this.#dataReader = new import_util.DataReader(import_util.Bytes.concat(this.#dataReader.remainingBytes, value));
52
+ } else {
53
+ this.#dataReader = new import_util.DataReader(value);
54
+ }
55
+ }
56
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount >= chunkSize) {
57
+ yield this.#dataReader.readByteArray(chunkSize);
58
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount === 0) {
59
+ this.#dataReader = void 0;
60
+ }
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Tries to skip the desired number of bytes, returns the actual number of skipped bytes.
66
+ * This skip() method should be called when no read() chunk is also awaited!
67
+ */
68
+ async skip(desiredSkippedBytes) {
69
+ if (this.#streamEndReached) {
70
+ return 0;
71
+ }
72
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount >= desiredSkippedBytes) {
73
+ this.#dataReader.offset = this.#dataReader.offset + desiredSkippedBytes;
74
+ if (this.#dataReader.remainingBytesCount === 0) {
75
+ this.#dataReader = void 0;
76
+ }
77
+ return desiredSkippedBytes;
78
+ }
79
+ let skippedBytes = desiredSkippedBytes - (this.#dataReader?.remainingBytesCount ?? 0);
80
+ this.#dataReader = void 0;
81
+ while (true) {
82
+ const { value, done } = await this.#streamReader.read();
83
+ if (value === void 0 || done) {
84
+ this.#streamEndReached = true;
85
+ return desiredSkippedBytes - skippedBytes;
86
+ }
87
+ if (value.byteLength <= skippedBytes) {
88
+ skippedBytes -= value.byteLength;
89
+ if (skippedBytes === 0) {
90
+ return desiredSkippedBytes;
91
+ }
92
+ continue;
93
+ }
94
+ this.#dataReader = new import_util.DataReader(value);
95
+ this.#dataReader.offset = skippedBytes;
96
+ return desiredSkippedBytes;
97
+ }
98
+ }
99
+ }
100
+ //# sourceMappingURL=BytesStreamReader.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/storage/BytesStreamReader.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,kBAAkC;AANlC;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,kBAAkB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EAEpB,YAAY,cAAkD;AAC1D,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEA,OAAO,KAAK,WAAmB;AAC3B,WAAO,MAAM;AACT,UAAI,KAAK,mBAAmB;AAGxB;AAAA,MACJ;AAEA,UAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,sBAAsB,WAAW;AACpF,cAAM,EAAE,OAAO,KAAK,IAAI,MAAM,KAAK,cAAc,KAAK;AACtD,YAAI,UAAU,UAAa,MAAM;AAE7B,cAAI,KAAK,gBAAgB,QAAW;AAChC,kBAAM,KAAK,YAAY;AAAA,UAC3B;AACA;AAAA,QACJ;AAEA,YAAI,KAAK,gBAAgB,QAAW;AAChC,eAAK,cAAc,IAAI,uBAAW,kBAAM,OAAO,KAAK,YAAY,gBAAgB,KAAK,CAAC;AAAA,QAC1F,OAAO;AACH,eAAK,cAAc,IAAI,uBAAW,KAAK;AAAA,QAC3C;AAAA,MACJ;AAEA,UAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,uBAAuB,WAAW;AACrF,cAAM,KAAK,YAAY,cAAc,SAAS;AAE9C,YAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,wBAAwB,GAAG;AAC9E,eAAK,cAAc;AAAA,QACvB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,KAAK,qBAA8C;AACrD,QAAI,KAAK,mBAAmB;AAGxB,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,uBAAuB,qBAAqB;AAC/F,WAAK,YAAY,SAAS,KAAK,YAAY,SAAS;AACpD,UAAI,KAAK,YAAY,wBAAwB,GAAG;AAC5C,aAAK,cAAc;AAAA,MACvB;AACA,aAAO;AAAA,IACX;AAGA,QAAI,eAAe,uBAAuB,KAAK,aAAa,uBAAuB;AACnF,SAAK,cAAc;AACnB,WAAO,MAAM;AACT,YAAM,EAAE,OAAO,KAAK,IAAI,MAAM,KAAK,cAAc,KAAK;AACtD,UAAI,UAAU,UAAa,MAAM;AAC7B,aAAK,oBAAoB;AAEzB,eAAO,sBAAsB;AAAA,MACjC;AAEA,UAAI,MAAM,cAAc,cAAc;AAElC,wBAAgB,MAAM;AACtB,YAAI,iBAAiB,GAAG;AACpB,iBAAO;AAAA,QACX;AACA;AAAA,MACJ;AAEA,WAAK,cAAc,IAAI,uBAAW,KAAK;AACvC,WAAK,YAAY,SAAS;AAC1B,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"StorageBackendMemory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageBackendMemory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,oBAAqB,SAAQ,OAAQ,YAAW,gBAAgB;;IAG7D,SAAS,CAAC,KAAK,EAAE,GAAG;IAFhC,SAAS,CAAC,aAAa,UAAS;gBAEV,KAAK,GAAE,GAAQ;IAIrC,IAAI,WAAW,YAEd;WAEY,MAAM,CAAC,KAAK,GAAE,GAAQ;IAMnC,OAAO,CAAC,gBAAgB;IAOxB,UAAU;IAMV,KAAK;IAMC,KAAK;IAKX,KAAK;IAIL,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAMvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCxG,GAAG,CACC,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB;IAYjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAMtC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IASzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;IAkB3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CAqB9B"}
1
+ {"version":3,"file":"StorageBackendMemory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageBackendMemory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,oBAAqB,SAAQ,OAAQ,YAAW,gBAAgB;;IAG7D,SAAS,CAAC,KAAK,EAAE,GAAG;IAFhC,SAAS,CAAC,aAAa,UAAS;gBAEV,KAAK,GAAE,GAAQ;IAIrC,IAAI,WAAW,YAEd;WAEY,MAAM,CAAC,KAAK,GAAE,GAAQ;IAMnC,OAAO,CAAC,gBAAgB;IAOxB,UAAU;IAMV,KAAK;IAMC,KAAK;IAKX,KAAK;IAIL,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAMvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCxG,GAAG,CACC,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB;IAYjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAMtC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IASzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;IAkB3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CAqB9B"}
@@ -104,6 +104,11 @@ class StorageBackendMemory extends import_Storage.Storage {
104
104
  this.#setKey(contexts, key, combined);
105
105
  } catch (error) {
106
106
  throw new import_Storage.StorageError(`Error reading stream: ${error.message}`);
107
+ } finally {
108
+ if (stream.locked) {
109
+ reader.releaseLock();
110
+ }
111
+ await stream.cancel();
107
112
  }
108
113
  }
109
114
  #setKey(contexts, key, value) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/StorageBackendMemory.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAsB;AACtB,sBAAyB;AACzB,qBAAwD;AARxD;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,6BAA6B,uBAAoC;AAAA,EAG1E,YAAsB,QAAa,CAAC,GAAG;AACnC,UAAM;AADY;AAAA,EAEtB;AAAA,EAJU,gBAAgB;AAAA,EAM1B,IAAI,cAAc;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,aAAa,OAAO,QAAa,CAAC,GAAG;AACjC,UAAM,UAAU,IAAI,qBAAqB,KAAK;AAC9C,YAAQ,WAAW;AACnB,WAAO;AAAA,EACX;AAAA,EAEQ,iBAAiB,UAAoB;AACzC,UAAM,MAAM,SAAS,KAAK,GAAG;AAC7B,QAAI,CAAC,IAAI,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,WAAW,GAAG,KAAK,IAAI,SAAS,GAAG;AAC5E,YAAM,IAAI,4BAAa,sCAAsC;AACjE,WAAO;AAAA,EACX;AAAA,EAEA,aAAa;AACT,QAAI,KAAK,YAAa,OAAM,IAAI,4BAAa,8BAA8B;AAC3E,SAAK,gBAAgB;AAAA,EAEzB;AAAA,EAEA,QAAQ;AACJ,UAAM,QAAQ,IAAI,yBAAqB,0BAAS,KAAK,KAAK,CAAC;AAC3D,UAAM,WAAW;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAQ;AACV,SAAK,gBAAgB;AAAA,EAEzB;AAAA,EAEA,QAAQ;AACJ,SAAK,QAAQ,CAAC;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAoB,KAAgD;AACpE,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,4BAAa,oCAAoC;AAChG,WAAO,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,IAAI,GAAG;AAAA,EAC5D;AAAA,EAEA,SAAS,UAAoB,KAAmB;AAC5C,UAAM,QAAQ,KAAK,IAAI,UAAU,GAAG;AACpC,QAAI,UAAU,QAAW;AACrB,aAAO,IAAI,KAAK,CAAC,CAAC;AAAA,IACtB;AACA,QAAI,CAAC,mBAAM,QAAQ,KAAK,GAAG;AACvB,YAAM,IAAI,4BAAa,6CAA6C;AAAA,IACxE;AACA,WAAO,IAAI,KAAK,CAAC,mBAAM,UAAU,KAAK,CAAC,CAAC;AAAA,EAC5C;AAAA,EAEA,MAAM,oBAAoB,UAAoB,KAAa,QAA8C;AACrG,SAAK,mBAAmB;AACxB,UAAM,SAAS,OAAO,UAAU;AAChC,UAAM,SAAuB,CAAC;AAE9B,QAAI;AACA,UAAI,SAAS;AACb,aAAO,MAAM;AACT,cAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,YAAI,KAAM;AACV,cAAM,OAAO,mBAAM,GAAG,KAAK;AAC3B,eAAO,KAAK,IAAI;AAChB,kBAAU,KAAK;AAAA,MACnB;AACA,YAAM,WAAW,IAAI,WAAW,MAAM;AACtC,UAAI,SAAS;AACb,iBAAW,SAAS,QAAQ;AACxB,iBAAS,IAAI,OAAO,MAAM;AAC1B,kBAAU,MAAM;AAAA,MACpB;AACA,WAAK,QAAQ,UAAU,KAAK,QAAQ;AAAA,IACxC,SAAS,OAAY;AACjB,YAAM,IAAI,4BAAa,yBAAyB,MAAM,OAAO,EAAE;AAAA,IACnE;AAAA,EACJ;AAAA,EAEA,QAAQ,UAAoB,KAAa,OAA8B;AACnE,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,4BAAa,oCAAoC;AAChG,UAAM,aAAa,KAAK,iBAAiB,QAAQ;AACjD,QAAI,KAAK,MAAM,UAAU,MAAM,QAAW;AACtC,WAAK,MAAM,UAAU,IAAI,CAAC;AAAA,IAC9B;AACA,SAAK,MAAM,UAAU,EAAE,GAAG,IAAI;AAAA,EAClC;AAAA,EAEA,IACI,UACA,aACA,OACF;AACE,SAAK,mBAAmB;AACxB,QAAI,OAAO,gBAAgB,UAAU;AACjC,WAAK,QAAQ,UAAU,aAAa,KAAK;AAAA,IAC7C,OAAO;AACH,aAAO,QAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAKA,MAAK,MAAM;AAClD,aAAK,QAAQ,UAAU,KAAKA,MAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,OAAO,UAAoB,KAAa;AACpC,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,4BAAa,oCAAoC;AAChG,WAAO,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,IAAI,GAAG;AAAA,EAC5D;AAAA,EAEA,KAAK,UAAoB;AACrB,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,OAAQ,OAAM,IAAI,4BAAa,4BAA4B;AACzE,WAAO,OAAO,KAAK,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,OAAO,UAAoB;AAEvB,UAAM,SAAS,CAAC;AAChB,eAAW,OAAO,KAAK,KAAK,QAAQ,GAAG;AACnC,aAAO,GAAG,IAAI,KAAK,IAAI,UAAU,GAAG;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,UAAoB;AACzB,SAAK,mBAAmB;AACxB,UAAM,aAAa,SAAS,SAAS,KAAK,iBAAiB,QAAQ,IAAI;AACvE,UAAM,kBAAkB,WAAW,SAAS,GAAG,UAAU,MAAM;AAC/D,UAAM,gBAAgB,IAAI,MAAc;AACxC,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,SAAO;AACnC,UAAI,IAAI,WAAW,eAAe,GAAG;AACjC,cAAM,UAAU,IAAI,UAAU,gBAAgB,MAAM,EAAE,MAAM,GAAG;AAC/D,YAAI,QAAQ,SAAS,EAAG;AACxB,cAAM,UAAU,QAAQ,CAAC;AACzB,YAAI,CAAC,cAAc,SAAS,OAAO,GAAG;AAClC,wBAAc,KAAK,OAAO;AAAA,QAC9B;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,UAAoB;AACzB,SAAK,mBAAmB;AACxB,UAAM,aAAa,KAAK,iBAAiB,QAAQ;AACjD,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,MAAM,UAAU;AAAA,IAChC;AACA,UAAM,kBAAkB,WAAW,SAAS,GAAG,UAAU,MAAM;AAC/D,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,SAAO;AACnC,UAAI,IAAI,WAAW,eAAe,GAAG;AACjC,eAAO,KAAK,MAAM,GAAG;AAAA,MACzB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,qBAAqB;AACjB,QAAI,KAAK,aAAa;AAClB;AAAA,IACJ;AAEA,UAAM,IAAI,4BAAa,4BAA4B;AAAA,EACvD;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["value"]
6
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 "./BytesStreamReader.js";
6
7
  export * from "./Storage.js";
7
8
  export * from "./StorageBackendMemory.js";
8
9
  export * from "./StorageContext.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
@@ -15,6 +15,7 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var storage_exports = {};
17
17
  module.exports = __toCommonJS(storage_exports);
18
+ __reExport(storage_exports, require("./BytesStreamReader.js"), module.exports);
18
19
  __reExport(storage_exports, require("./Storage.js"), module.exports);
19
20
  __reExport(storage_exports, require("./StorageBackendMemory.js"), module.exports);
20
21
  __reExport(storage_exports, require("./StorageContext.js"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,4BAAc,yBANd;AAOA,4BAAc,sCAPd;AAQA,4BAAc,gCARd;AASA,4BAAc,gCATd;AAUA,4BAAc,gCAVd;AAWA,4BAAc,gCAXd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,4BAAc,mCANd;AAOA,4BAAc,yBAPd;AAQA,4BAAc,sCARd;AASA,4BAAc,gCATd;AAUA,4BAAc,gCAVd;AAWA,4BAAc,gCAXd;AAYA,4BAAc,gCAZd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -33,8 +33,8 @@ function Duration(source) {
33
33
  return Duration.parse(source);
34
34
  }
35
35
  if (typeof source === "number") {
36
- if (Number.isNaN(source)) {
37
- throw new DurationFormatError(`A duration may not be NaN`);
36
+ if (!Number.isFinite(source)) {
37
+ throw new DurationFormatError(`A duration must be a finite number`);
38
38
  }
39
39
  return source;
40
40
  }
@@ -59,7 +59,7 @@ class DurationFormatError extends import_MatterError.UnexpectedDataError {
59
59
  Duration2.min = min;
60
60
  function format(duration) {
61
61
  let ms = duration;
62
- if (typeof ms !== "number" || Number.isNaN(ms)) {
62
+ if (typeof ms !== "number" || !Number.isFinite(ms)) {
63
63
  return "invalid";
64
64
  }
65
65
  switch (ms) {
@@ -108,7 +108,7 @@ class DurationFormatError extends import_MatterError.UnexpectedDataError {
108
108
  throw new DurationFormatError(`Interval component "${part}" is missing an time suffix`);
109
109
  }
110
110
  const value = Number(text.slice(text.length - suffix.length));
111
- if (Number.isNaN(value)) {
111
+ if (!Number.isFinite(value)) {
112
112
  throw new DurationFormatError(`Interval component "${part}" contains no numeric component`);
113
113
  }
114
114
  switch (suffix.toLowerCase()) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Duration.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Duration"]
6
6
  }
@@ -35,11 +35,11 @@ function Timestamp(source) {
35
35
  }
36
36
  if (typeof source === "string") {
37
37
  const date = Date.parse(source);
38
- if (Number.isNaN(date.valueOf())) {
38
+ if (!Number.isFinite(date.valueOf())) {
39
39
  throw new TimestampFormatError("Invalid timestamp format");
40
40
  }
41
41
  } else if (typeof source === "object" && source !== null && source instanceof Date) {
42
- if (Number.isNaN(source.valueOf())) {
42
+ if (!Number.isFinite(source.valueOf())) {
43
43
  throw new TimestampFormatError("Cannot convert date to timestamp because it is invalid");
44
44
  }
45
45
  source = source.getTime();
@@ -47,8 +47,8 @@ function Timestamp(source) {
47
47
  source = Number(source);
48
48
  }
49
49
  if (typeof source === "number") {
50
- if (Number.isNaN(source)) {
51
- throw new TimestampFormatError("A timestamp may not be NaN");
50
+ if (!Number.isFinite(source)) {
51
+ throw new TimestampFormatError("A timestamp must be a finite number");
52
52
  }
53
53
  } else {
54
54
  throw new TimestampFormatError(`Timestamp is not a number (received ${typeof source})`);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Timestamp.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AAEpC,kBAAqB;AARrB;AAAA;AAAA;AAAA;AAAA;AAsBO,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,iBAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AAC9B,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG;AAChC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,OAAO,MAAM,MAAM,GAAG;AACtB,YAAM,IAAI,qBAAqB,4BAA4B;AAAA,IAC/D;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,uCAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAAA,GA/BH;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AAEpC,kBAAqB;AARrB;AAAA;AAAA;AAAA;AAAA;AAsBO,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,iBAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,GAAG;AAClC,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,GAAG;AACpC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,qBAAqB,qCAAqC;AAAA,IACxE;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,uCAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAAA,GA/BH;",
5
5
  "names": ["Timestamp"]
6
6
  }
@@ -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;IAWZ,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;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"}
@@ -74,8 +74,9 @@ class DataReadQueue {
74
74
  if (this.#closed) throw new import_Stream.EndOfStreamError();
75
75
  if (this.#pendingRead !== void 0) {
76
76
  this.#pendingRead.timeoutTimer?.stop();
77
- this.#pendingRead.resolver(data);
77
+ const pendingRead = this.#pendingRead;
78
78
  this.#pendingRead = void 0;
79
+ pendingRead.resolver(data);
79
80
  return;
80
81
  }
81
82
  this.#queue.push(data);
@@ -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,sBAA8B;AAC9B,oBAAiE;AAbjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,cAAsC;AAAA,EACtC,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,+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,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,yBAAS,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,+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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,sBAAyB;AACzB,sBAAwB;AACxB,yBAAgC;AAChC,kBAA4B;AAC5B,sBAA8B;AAC9B,oBAAiE;AAbjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeO,MAAM,cAAsC;AAAA,EACtC,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,+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,QAAS,MAClD;AAAA,UACI,IAAI;AAAA,YACA,oDAAoD,yBAAS,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,+BAAiB;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,+BAAiB,CAAC;AAAA,EACrD;AACJ;",
5
5
  "names": []
6
6
  }
@@ -140,7 +140,7 @@ class VariableService {
140
140
  }
141
141
  if (typeof value === "string") {
142
142
  value = Number.parseFloat(value);
143
- if (Number.isNaN(value)) {
143
+ if (!Number.isFinite(value)) {
144
144
  return;
145
145
  }
146
146
  return value;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/VariableService.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AACpC,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAEzB,SAAS,qBAAqB;AAKvB,MAAM,gBAAgB;AAAA,EACzB,QAAQ,CAAC;AAAA,EACT,mBAAmB,MAAmB;AAAA,EACtC,UAAU,oBAAI,IAA2B;AAAA,EAEzC,YAAY,aAA0B;AAClC,gBAAY,IAAI,iBAAiB,IAAI;AAAA,EACzC;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,aAA0B;AACpD,WAAO,IAAI,KAAK,WAAW;AAAA,EAC/B;AAAA,EAEA,KAAK,WAAW,KAAK,IAAI;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,IAAI,cAAiD;AACjD,UAAM,YAAY,oBAAI,IAAY;AAClC,QAAI;AACA,WAAK,iBAAiB,KAAK,SAAS;AACpC,mBAAa;AAAA,IACjB,UAAE;AACE,WAAK,iBAAiB,IAAI;AAAA,IAC9B;AAEA,UAAM,QAAQ;AAAA,MACV;AAAA,MACA;AAAA,MACA,OAAO,MAAM;AACT,aAAK,QAAQ,OAAO,KAAK;AAAA,MAC7B;AAAA,IACJ;AACA,SAAK,QAAQ,IAAI,KAAK;AAEtB,WAAO;AAAA,EACX;AAAA,EAQA,IAAI,MAAc,UAAkC;AAChD,eAAW,aAAa,KAAK,kBAAkB;AAC3C,gBAAU,IAAI,IAAI;AAAA,IACtB;AAEA,YAAQ,OAAO,UAAU;AAAA,MACrB,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,OAAO,IAAI,KAAK;AAAA,MAEhC,KAAK;AACD,eAAO,KAAK,QAAQ,IAAI,KAAK;AAAA,IACrC;AAEA,QAAI,QAA+B,KAAK;AACxC,eAAW,WAAW,KAAK,WAAW,IAAI,GAAG;AACzC,UAAI,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AACrE,eAAO;AAAA,MACX;AACA,cAAQ,MAAM,OAAO;AAAA,IACzB;AACA,WAAO,SAAS;AAAA,EACpB;AAAA,EAEA,IAAI,MAAc;AACd,WAAO,KAAK,IAAI,IAAI,MAAM;AAAA,EAC9B;AAAA,EAEA,IAAI,MAAc,OAA8B;AAC5C,UAAM,WAAW,KAAK,YAAY,EAAE,MAAM,GAAG;AAC7C,UAAM,MAAM,SAAS,IAAI;AACzB,QAAI,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ,aAAa;AACrE,YAAM,IAAI,oBAAoB,+BAA+B,GAAG,EAAE;AAAA,IACtE;AACA,QAAI,SAA8B,KAAK;AACvC,eAAW,WAAW,UAAU;AAC5B,UAAI,aAAa,OAAO,OAAO;AAC/B,UAAI,eAAe,UAAa,eAAe,MAAM;AACjD,qBAAa,OAAO,OAAO,IAAI,CAAC;AAAA,MACpC,WAAW,OAAO,eAAe,YAAY,MAAM,QAAQ,UAAU,GAAG;AACpE,cAAM,IAAI,oBAAoB,aAAa,IAAI,oBAAoB,OAAO,eAAe;AAAA,MAC7F;AACA,eAAS;AAAA,IACb;AAEA,QAAI,OAAO,GAAG,MAAM,OAAO;AACvB;AAAA,IACJ;AAEA,WAAO,GAAG,IAAI;AAEd,eAAW,SAAS,KAAK,SAAS;AAC9B,UAAI,MAAM,UAAU,IAAI,IAAI,GAAG;AAC3B,cAAM,aAAa;AAAA,MACvB;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,MAAc,OAA8B;AACtD,SAAK,IAAI,MAAM,KAAK;AACpB,UAAM,KAAK,qBAAqB,MAAM,KAAK;AAAA,EAC/C;AAAA,EAEA;AAAA,EAEA,OAAO,MAAc;AACjB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,QAAI,UAAU,QAAW;AACrB,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,UAAU,MAAM;AAChB,aAAO;AAAA,IACX;AACA,WAAO,MAAM,SAAS;AAAA,EAC1B;AAAA,EAEA,QAAQ,MAAc;AAClB,UAAM,QAAQ,KAAK,IAAI,IAAI;AAC3B,YAAQ,OAAO;AAAA,MACX,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,eAAO;AAAA,MAEX;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAAA,EAEA,OAAO,MAAc;AACjB,QAAI,QAAQ,KAAK,IAAI,IAAI;AACzB,QAAI,OAAO,UAAU,UAAU;AAC3B,aAAO;AAAA,IACX;AACA,QAAI,OAAO,UAAU,UAAU;AAC3B,cAAQ,OAAO,WAAW,KAAK;AAC/B,UAAI,CAAC,OAAO,SAAS,KAAK,GAAG;AACzB;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEA,QAAQ,MAAc,UAAmB;AACrC,UAAM,SAAS,KAAK,OAAO,IAAI,KAAK;AACpC,QAAI,OAAO,WAAW,UAAU;AAC5B,aAAO,KAAK,MAAM,MAAM;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,UAAU,MAAc;AACpB,UAAM,QAAQ,KAAK,QAAQ,IAAI,KAAK;AACpC,SAAK,IAAI,MAAM,QAAQ,CAAC;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,eAAe,MAA2B;AACtC,UAAM,OAAO,MAAc;AAE3B,UAAM,MAAM,CAACA,UAA8B;AACvC,iBAAW,QAAQA,OAAM;AACrB,cAAM,MAAMA,MAAK,IAAI;AACrB,YAAI,SAAS,GAAG,GAAG;AACf,eAAK,KAAK,IAAI;AACd,cAAI,GAAG;AACP,eAAK,IAAI;AAAA,QACb,OAAO;AACH,eAAK,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG;AAAA,QAC3C;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,IAAI;AAAA,EACZ;AAAA,EAEA,gBAAgB,MAA0C;AACtD,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,aAAa,MAAgB;AACzB,SAAK,eAAe,eAAe,IAAI,CAAC;AAAA,EAC5C;AAAA,EAEA,WAAW,MAAc;AACrB,WAAO,KACF,YAAY,EACZ,MAAM,GAAG,EACT,IAAI,aAAW;AACZ,gBAAU,QAAQ,KAAK;AACvB,UAAI,YAAY,IAAI;AAChB,cAAM,IAAI,oBAAoB,iBAAiB,IAAI,0BAA0B;AAAA,MACjF;AACA,aAAO;AAAA,IACX,CAAC;AAAA,EACT;AACJ;AAoBA,SAAS,YAAY,MAA2B,MAAgB,OAAY;AACxE,MAAI,CAAC,KAAK,QAAQ;AACd;AAAA,EACJ;AACA,QAAM,iBAAiB,KAAK,CAAC;AAC7B,MAAI,mBAAmB,eAAe,mBAAmB,iBAAiB,mBAAmB,aAAa;AACtG,UAAM,IAAI,oBAAoB,+BAA+B,cAAc,EAAE;AAAA,EACjF;AACA,MAAI,UAAU,KAAK,cAAc;AACjC,MAAI,KAAK,WAAW,GAAG;AACnB,QAAI,YAAY,QAAW;AACvB,WAAK,cAAc,IAAI;AAAA,IAC3B;AACA;AAAA,EACJ;AAEA,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,KAAK,cAAc,IAAI,CAAC;AAAA,EACtC;AACA,cAAY,SAAS,KAAK,MAAM,CAAC,GAAG,KAAK;AAC7C;AAEA,SAAS,eAAe,QAA4C;AAChE,QAAM,YAAY,CAAC;AAEnB,aAAW,OAAO,QAAQ;AACtB,QAAI,IAAI,WAAW,SAAS,GAAG;AAC3B,UAAI,OAAO,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,IAAI;AACjD;AAAA,MACJ;AACA,kBAAY,WAAW,IAAI,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC;AAAA,IAC7E;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,SAAS,eAAe,QAAkB;AACtC,QAAM,YAAY,CAAC;AAEnB,WAAS,OAAO,QAAQ;AACpB,QAAI,CAAC,IAAI,WAAW,IAAI,GAAG;AACvB;AAAA,IACJ;AACA,UAAM,IAAI,MAAM,CAAC;AAEjB,UAAM,eAAe,IAAI,QAAQ,GAAG;AACpC,QAAI,KAAK;AAET,QAAI,iBAAiB,IAAI;AACrB,YAAM;AACN,cAAQ;AAAA,IACZ,OAAO;AACH,YAAM,IAAI,MAAM,GAAG,YAAY;AAC/B,cAAQ,IAAI,MAAM,eAAe,CAAC;AAClC,UAAK,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,KAAO,MAAM,WAAW,GAAG,KAAK,MAAM,SAAS,GAAG,GAAI;AAClG,gBAAQ,MAAM,MAAM,GAAG,EAAE,EAAE,WAAW,OAAO,GAAG,EAAE,WAAW,OAAO,GAAG;AAAA,MAC3E;AAAA,IACJ;AAEA,gBAAY,WAAW,IAAI,YAAY,EAAE,MAAM,GAAG,GAAG,KAAK;AAAA,EAC9D;AAEA,SAAO;AACX;",
5
5
  "names": ["vars"]
6
6
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes } from "#util/index.js";
7
+ /**
8
+ * A stream reader that reads bytes from a stream and provides a way to skip bytes.
9
+ */
10
+ export declare class BytesStreamReader {
11
+ #private;
12
+ constructor(streamReader: ReadableStreamDefaultReader<Bytes>);
13
+ read(chunkSize: number): AsyncGenerator<Uint8Array<ArrayBufferLike>, void, unknown>;
14
+ /**
15
+ * Tries to skip the desired number of bytes, returns the actual number of skipped bytes.
16
+ * This skip() method should be called when no read() chunk is also awaited!
17
+ */
18
+ skip(desiredSkippedBytes: number): Promise<number>;
19
+ }
20
+ //# sourceMappingURL=BytesStreamReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BytesStreamReader.d.ts","sourceRoot":"","sources":["../../../src/storage/BytesStreamReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAc,MAAM,gBAAgB,CAAC;AAEnD;;GAEG;AACH,qBAAa,iBAAiB;;gBAKd,YAAY,EAAE,2BAA2B,CAAC,KAAK,CAAC;IAIrD,IAAI,CAAC,SAAS,EAAE,MAAM;IAmC7B;;;OAGG;IACG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAwC3D"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes, DataReader } from "#util/index.js";
7
+ class BytesStreamReader {
8
+ #streamReader;
9
+ #dataReader;
10
+ #streamEndReached = false;
11
+ constructor(streamReader) {
12
+ this.#streamReader = streamReader;
13
+ }
14
+ async *read(chunkSize) {
15
+ while (true) {
16
+ if (this.#streamEndReached) {
17
+ return;
18
+ }
19
+ if (this.#dataReader === void 0 || this.#dataReader.remainingBytesCount < chunkSize) {
20
+ const { value, done } = await this.#streamReader.read();
21
+ if (value === void 0 || done) {
22
+ if (this.#dataReader !== void 0) {
23
+ yield this.#dataReader.remainingBytes;
24
+ }
25
+ break;
26
+ }
27
+ if (this.#dataReader !== void 0) {
28
+ this.#dataReader = new DataReader(Bytes.concat(this.#dataReader.remainingBytes, value));
29
+ } else {
30
+ this.#dataReader = new DataReader(value);
31
+ }
32
+ }
33
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount >= chunkSize) {
34
+ yield this.#dataReader.readByteArray(chunkSize);
35
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount === 0) {
36
+ this.#dataReader = void 0;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ /**
42
+ * Tries to skip the desired number of bytes, returns the actual number of skipped bytes.
43
+ * This skip() method should be called when no read() chunk is also awaited!
44
+ */
45
+ async skip(desiredSkippedBytes) {
46
+ if (this.#streamEndReached) {
47
+ return 0;
48
+ }
49
+ if (this.#dataReader !== void 0 && this.#dataReader.remainingBytesCount >= desiredSkippedBytes) {
50
+ this.#dataReader.offset = this.#dataReader.offset + desiredSkippedBytes;
51
+ if (this.#dataReader.remainingBytesCount === 0) {
52
+ this.#dataReader = void 0;
53
+ }
54
+ return desiredSkippedBytes;
55
+ }
56
+ let skippedBytes = desiredSkippedBytes - (this.#dataReader?.remainingBytesCount ?? 0);
57
+ this.#dataReader = void 0;
58
+ while (true) {
59
+ const { value, done } = await this.#streamReader.read();
60
+ if (value === void 0 || done) {
61
+ this.#streamEndReached = true;
62
+ return desiredSkippedBytes - skippedBytes;
63
+ }
64
+ if (value.byteLength <= skippedBytes) {
65
+ skippedBytes -= value.byteLength;
66
+ if (skippedBytes === 0) {
67
+ return desiredSkippedBytes;
68
+ }
69
+ continue;
70
+ }
71
+ this.#dataReader = new DataReader(value);
72
+ this.#dataReader.offset = skippedBytes;
73
+ return desiredSkippedBytes;
74
+ }
75
+ }
76
+ }
77
+ export {
78
+ BytesStreamReader
79
+ };
80
+ //# sourceMappingURL=BytesStreamReader.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/storage/BytesStreamReader.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,kBAAkB;AAK3B,MAAM,kBAAkB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EAEpB,YAAY,cAAkD;AAC1D,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEA,OAAO,KAAK,WAAmB;AAC3B,WAAO,MAAM;AACT,UAAI,KAAK,mBAAmB;AAGxB;AAAA,MACJ;AAEA,UAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,sBAAsB,WAAW;AACpF,cAAM,EAAE,OAAO,KAAK,IAAI,MAAM,KAAK,cAAc,KAAK;AACtD,YAAI,UAAU,UAAa,MAAM;AAE7B,cAAI,KAAK,gBAAgB,QAAW;AAChC,kBAAM,KAAK,YAAY;AAAA,UAC3B;AACA;AAAA,QACJ;AAEA,YAAI,KAAK,gBAAgB,QAAW;AAChC,eAAK,cAAc,IAAI,WAAW,MAAM,OAAO,KAAK,YAAY,gBAAgB,KAAK,CAAC;AAAA,QAC1F,OAAO;AACH,eAAK,cAAc,IAAI,WAAW,KAAK;AAAA,QAC3C;AAAA,MACJ;AAEA,UAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,uBAAuB,WAAW;AACrF,cAAM,KAAK,YAAY,cAAc,SAAS;AAE9C,YAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,wBAAwB,GAAG;AAC9E,eAAK,cAAc;AAAA,QACvB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,KAAK,qBAA8C;AACrD,QAAI,KAAK,mBAAmB;AAGxB,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,gBAAgB,UAAa,KAAK,YAAY,uBAAuB,qBAAqB;AAC/F,WAAK,YAAY,SAAS,KAAK,YAAY,SAAS;AACpD,UAAI,KAAK,YAAY,wBAAwB,GAAG;AAC5C,aAAK,cAAc;AAAA,MACvB;AACA,aAAO;AAAA,IACX;AAGA,QAAI,eAAe,uBAAuB,KAAK,aAAa,uBAAuB;AACnF,SAAK,cAAc;AACnB,WAAO,MAAM;AACT,YAAM,EAAE,OAAO,KAAK,IAAI,MAAM,KAAK,cAAc,KAAK;AACtD,UAAI,UAAU,UAAa,MAAM;AAC7B,aAAK,oBAAoB;AAEzB,eAAO,sBAAsB;AAAA,MACjC;AAEA,UAAI,MAAM,cAAc,cAAc;AAElC,wBAAgB,MAAM;AACtB,YAAI,iBAAiB,GAAG;AACpB,iBAAO;AAAA,QACX;AACA;AAAA,MACJ;AAEA,WAAK,cAAc,IAAI,WAAW,KAAK;AACvC,WAAK,YAAY,SAAS;AAC1B,aAAO;AAAA,IACX;AAAA,EACJ;AACJ;",
5
+ "names": []
6
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"StorageBackendMemory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageBackendMemory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,oBAAqB,SAAQ,OAAQ,YAAW,gBAAgB;;IAG7D,SAAS,CAAC,KAAK,EAAE,GAAG;IAFhC,SAAS,CAAC,aAAa,UAAS;gBAEV,KAAK,GAAE,GAAQ;IAIrC,IAAI,WAAW,YAEd;WAEY,MAAM,CAAC,KAAK,GAAE,GAAQ;IAMnC,OAAO,CAAC,gBAAgB;IAOxB,UAAU;IAMV,KAAK;IAMC,KAAK;IAKX,KAAK;IAIL,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAMvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCxG,GAAG,CACC,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB;IAYjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAMtC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IASzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;IAkB3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CAqB9B"}
1
+ {"version":3,"file":"StorageBackendMemory.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageBackendMemory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,oBAAqB,SAAQ,OAAQ,YAAW,gBAAgB;;IAG7D,SAAS,CAAC,KAAK,EAAE,GAAG;IAFhC,SAAS,CAAC,aAAa,UAAS;gBAEV,KAAK,GAAE,GAAQ;IAIrC,IAAI,WAAW,YAEd;WAEY,MAAM,CAAC,KAAK,GAAE,GAAQ;IAMnC,OAAO,CAAC,gBAAgB;IAOxB,UAAU;IAMV,KAAK;IAMC,KAAK;IAKX,KAAK;IAIL,IAAI,IAAI,QAEP;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAMvE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAWzC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCxG,GAAG,CACC,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC3D,KAAK,CAAC,EAAE,qBAAqB;IAYjC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM;IAMtC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE;IAMvB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE;IASzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;IAkB3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE;CAqB9B"}
@@ -81,6 +81,11 @@ class StorageBackendMemory extends Storage {
81
81
  this.#setKey(contexts, key, combined);
82
82
  } catch (error) {
83
83
  throw new StorageError(`Error reading stream: ${error.message}`);
84
+ } finally {
85
+ if (stream.locked) {
86
+ reader.releaseLock();
87
+ }
88
+ await stream.cancel();
84
89
  }
85
90
  }
86
91
  #setKey(contexts, key, value) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/StorageBackendMemory.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa;AACtB,SAAS,gBAAgB;AACzB,SAA2B,SAAS,oBAAoB;AAGjD,MAAM,6BAA6B,QAAoC;AAAA,EAG1E,YAAsB,QAAa,CAAC,GAAG;AACnC,UAAM;AADY;AAAA,EAEtB;AAAA,EAJU,gBAAgB;AAAA,EAM1B,IAAI,cAAc;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,aAAa,OAAO,QAAa,CAAC,GAAG;AACjC,UAAM,UAAU,IAAI,qBAAqB,KAAK;AAC9C,YAAQ,WAAW;AACnB,WAAO;AAAA,EACX;AAAA,EAEQ,iBAAiB,UAAoB;AACzC,UAAM,MAAM,SAAS,KAAK,GAAG;AAC7B,QAAI,CAAC,IAAI,UAAU,IAAI,SAAS,IAAI,KAAK,IAAI,WAAW,GAAG,KAAK,IAAI,SAAS,GAAG;AAC5E,YAAM,IAAI,aAAa,sCAAsC;AACjE,WAAO;AAAA,EACX;AAAA,EAEA,aAAa;AACT,QAAI,KAAK,YAAa,OAAM,IAAI,aAAa,8BAA8B;AAC3E,SAAK,gBAAgB;AAAA,EAEzB;AAAA,EAEA,QAAQ;AACJ,UAAM,QAAQ,IAAI,qBAAqB,SAAS,KAAK,KAAK,CAAC;AAC3D,UAAM,WAAW;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,MAAM,QAAQ;AACV,SAAK,gBAAgB;AAAA,EAEzB;AAAA,EAEA,QAAQ;AACJ,SAAK,QAAQ,CAAC;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAoB,KAAgD;AACpE,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,aAAa,oCAAoC;AAChG,WAAO,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,IAAI,GAAG;AAAA,EAC5D;AAAA,EAEA,SAAS,UAAoB,KAAmB;AAC5C,UAAM,QAAQ,KAAK,IAAI,UAAU,GAAG;AACpC,QAAI,UAAU,QAAW;AACrB,aAAO,IAAI,KAAK,CAAC,CAAC;AAAA,IACtB;AACA,QAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACvB,YAAM,IAAI,aAAa,6CAA6C;AAAA,IACxE;AACA,WAAO,IAAI,KAAK,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC;AAAA,EAC5C;AAAA,EAEA,MAAM,oBAAoB,UAAoB,KAAa,QAA8C;AACrG,SAAK,mBAAmB;AACxB,UAAM,SAAS,OAAO,UAAU;AAChC,UAAM,SAAuB,CAAC;AAE9B,QAAI;AACA,UAAI,SAAS;AACb,aAAO,MAAM;AACT,cAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,YAAI,KAAM;AACV,cAAM,OAAO,MAAM,GAAG,KAAK;AAC3B,eAAO,KAAK,IAAI;AAChB,kBAAU,KAAK;AAAA,MACnB;AACA,YAAM,WAAW,IAAI,WAAW,MAAM;AACtC,UAAI,SAAS;AACb,iBAAW,SAAS,QAAQ;AACxB,iBAAS,IAAI,OAAO,MAAM;AAC1B,kBAAU,MAAM;AAAA,MACpB;AACA,WAAK,QAAQ,UAAU,KAAK,QAAQ;AAAA,IACxC,SAAS,OAAY;AACjB,YAAM,IAAI,aAAa,yBAAyB,MAAM,OAAO,EAAE;AAAA,IACnE;AAAA,EACJ;AAAA,EAEA,QAAQ,UAAoB,KAAa,OAA8B;AACnE,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,aAAa,oCAAoC;AAChG,UAAM,aAAa,KAAK,iBAAiB,QAAQ;AACjD,QAAI,KAAK,MAAM,UAAU,MAAM,QAAW;AACtC,WAAK,MAAM,UAAU,IAAI,CAAC;AAAA,IAC9B;AACA,SAAK,MAAM,UAAU,EAAE,GAAG,IAAI;AAAA,EAClC;AAAA,EAEA,IACI,UACA,aACA,OACF;AACE,SAAK,mBAAmB;AACxB,QAAI,OAAO,gBAAgB,UAAU;AACjC,WAAK,QAAQ,UAAU,aAAa,KAAK;AAAA,IAC7C,OAAO;AACH,aAAO,QAAQ,WAAW,EAAE,QAAQ,CAAC,CAAC,KAAKA,MAAK,MAAM;AAClD,aAAK,QAAQ,UAAU,KAAKA,MAAK;AAAA,MACrC,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,OAAO,UAAoB,KAAa;AACpC,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,UAAU,CAAC,IAAI,OAAQ,OAAM,IAAI,aAAa,oCAAoC;AAChG,WAAO,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,IAAI,GAAG;AAAA,EAC5D;AAAA,EAEA,KAAK,UAAoB;AACrB,SAAK,mBAAmB;AACxB,QAAI,CAAC,SAAS,OAAQ,OAAM,IAAI,aAAa,4BAA4B;AACzE,WAAO,OAAO,KAAK,KAAK,MAAM,KAAK,iBAAiB,QAAQ,CAAC,KAAK,CAAC,CAAC;AAAA,EACxE;AAAA,EAEA,OAAO,UAAoB;AAEvB,UAAM,SAAS,CAAC;AAChB,eAAW,OAAO,KAAK,KAAK,QAAQ,GAAG;AACnC,aAAO,GAAG,IAAI,KAAK,IAAI,UAAU,GAAG;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,UAAoB;AACzB,SAAK,mBAAmB;AACxB,UAAM,aAAa,SAAS,SAAS,KAAK,iBAAiB,QAAQ,IAAI;AACvE,UAAM,kBAAkB,WAAW,SAAS,GAAG,UAAU,MAAM;AAC/D,UAAM,gBAAgB,IAAI,MAAc;AACxC,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,SAAO;AACnC,UAAI,IAAI,WAAW,eAAe,GAAG;AACjC,cAAM,UAAU,IAAI,UAAU,gBAAgB,MAAM,EAAE,MAAM,GAAG;AAC/D,YAAI,QAAQ,SAAS,EAAG;AACxB,cAAM,UAAU,QAAQ,CAAC;AACzB,YAAI,CAAC,cAAc,SAAS,OAAO,GAAG;AAClC,wBAAc,KAAK,OAAO;AAAA,QAC9B;AAAA,MACJ;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,UAAoB;AACzB,SAAK,mBAAmB;AACxB,UAAM,aAAa,KAAK,iBAAiB,QAAQ;AACjD,QAAI,WAAW,QAAQ;AACnB,aAAO,KAAK,MAAM,UAAU;AAAA,IAChC;AACA,UAAM,kBAAkB,WAAW,SAAS,GAAG,UAAU,MAAM;AAC/D,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,SAAO;AACnC,UAAI,IAAI,WAAW,eAAe,GAAG;AACjC,eAAO,KAAK,MAAM,GAAG;AAAA,MACzB;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,qBAAqB;AACjB,QAAI,KAAK,aAAa;AAClB;AAAA,IACJ;AAEA,UAAM,IAAI,aAAa,4BAA4B;AAAA,EACvD;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["value"]
6
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 "./BytesStreamReader.js";
6
7
  export * from "./Storage.js";
7
8
  export * from "./StorageBackendMemory.js";
8
9
  export * from "./StorageContext.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,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 "./BytesStreamReader.js";
6
7
  export * from "./Storage.js";
7
8
  export * from "./StorageBackendMemory.js";
8
9
  export * from "./StorageContext.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/storage/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,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;",
5
5
  "names": []
6
6
  }
@@ -9,8 +9,8 @@ function Duration(source) {
9
9
  return Duration.parse(source);
10
10
  }
11
11
  if (typeof source === "number") {
12
- if (Number.isNaN(source)) {
13
- throw new DurationFormatError(`A duration may not be NaN`);
12
+ if (!Number.isFinite(source)) {
13
+ throw new DurationFormatError(`A duration must be a finite number`);
14
14
  }
15
15
  return source;
16
16
  }
@@ -35,7 +35,7 @@ class DurationFormatError extends UnexpectedDataError {
35
35
  Duration2.min = min;
36
36
  function format(duration) {
37
37
  let ms = duration;
38
- if (typeof ms !== "number" || Number.isNaN(ms)) {
38
+ if (typeof ms !== "number" || !Number.isFinite(ms)) {
39
39
  return "invalid";
40
40
  }
41
41
  switch (ms) {
@@ -84,7 +84,7 @@ class DurationFormatError extends UnexpectedDataError {
84
84
  throw new DurationFormatError(`Interval component "${part}" is missing an time suffix`);
85
85
  }
86
86
  const value = Number(text.slice(text.length - suffix.length));
87
- if (Number.isNaN(value)) {
87
+ if (!Number.isFinite(value)) {
88
88
  throw new DurationFormatError(`Interval component "${part}" contains no numeric component`);
89
89
  }
90
90
  switch (suffix.toLowerCase()) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Duration.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Duration"]
6
6
  }
@@ -11,11 +11,11 @@ function Timestamp(source) {
11
11
  }
12
12
  if (typeof source === "string") {
13
13
  const date = Date.parse(source);
14
- if (Number.isNaN(date.valueOf())) {
14
+ if (!Number.isFinite(date.valueOf())) {
15
15
  throw new TimestampFormatError("Invalid timestamp format");
16
16
  }
17
17
  } else if (typeof source === "object" && source !== null && source instanceof Date) {
18
- if (Number.isNaN(source.valueOf())) {
18
+ if (!Number.isFinite(source.valueOf())) {
19
19
  throw new TimestampFormatError("Cannot convert date to timestamp because it is invalid");
20
20
  }
21
21
  source = source.getTime();
@@ -23,8 +23,8 @@ function Timestamp(source) {
23
23
  source = Number(source);
24
24
  }
25
25
  if (typeof source === "number") {
26
- if (Number.isNaN(source)) {
27
- throw new TimestampFormatError("A timestamp may not be NaN");
26
+ if (!Number.isFinite(source)) {
27
+ throw new TimestampFormatError("A timestamp must be a finite number");
28
28
  }
29
29
  } else {
30
30
  throw new TimestampFormatError(`Timestamp is not a number (received ${typeof source})`);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/time/Timestamp.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,GAAG;AAC9B,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,OAAO,MAAM,OAAO,QAAQ,CAAC,GAAG;AAChC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,OAAO,MAAM,MAAM,GAAG;AACtB,YAAM,IAAI,qBAAqB,4BAA4B;AAAA,IAC/D;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAAA,GA/BH;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,GAAG;AAClC,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,GAAG;AACpC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,qBAAqB,qCAAqC;AAAA,IACxE;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAAA,GA/BH;",
5
5
  "names": ["Timestamp"]
6
6
  }
@@ -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;IAWZ,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;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"}
@@ -51,8 +51,9 @@ class DataReadQueue {
51
51
  if (this.#closed) throw new EndOfStreamError();
52
52
  if (this.#pendingRead !== void 0) {
53
53
  this.#pendingRead.timeoutTimer?.stop();
54
- this.#pendingRead.resolver(data);
54
+ const pendingRead = this.#pendingRead;
55
55
  this.#pendingRead = void 0;
56
+ pendingRead.resolver(data);
56
57
  return;
57
58
  }
58
59
  this.#queue.push(data);
@@ -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,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;",
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;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.16.0-alpha.0-20250916-d577beb1d",
3
+ "version": "0.16.0-alpha.0-20250920-809524dba",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^2.0.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.16.0-alpha.0-20250916-d577beb1d"
39
+ "@matter/testing": "0.16.0-alpha.0-20250920-809524dba"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -176,7 +176,7 @@ export class VariableService {
176
176
  }
177
177
  if (typeof value === "string") {
178
178
  value = Number.parseFloat(value);
179
- if (Number.isNaN(value)) {
179
+ if (!Number.isFinite(value)) {
180
180
  return;
181
181
  }
182
182
  return value;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Bytes, DataReader } from "#util/index.js";
8
+
9
+ /**
10
+ * A stream reader that reads bytes from a stream and provides a way to skip bytes.
11
+ */
12
+ export class BytesStreamReader {
13
+ #streamReader: ReadableStreamDefaultReader<Bytes>;
14
+ #dataReader?: DataReader;
15
+ #streamEndReached = false;
16
+
17
+ constructor(streamReader: ReadableStreamDefaultReader<Bytes>) {
18
+ this.#streamReader = streamReader;
19
+ }
20
+
21
+ async *read(chunkSize: number) {
22
+ while (true) {
23
+ if (this.#streamEndReached) {
24
+ // End of the stream already reached, so there is no more data
25
+ // This case can happen when bytes were skipped
26
+ return;
27
+ }
28
+ // No data or not enough data available, read more data from the stream
29
+ if (this.#dataReader === undefined || this.#dataReader.remainingBytesCount < chunkSize) {
30
+ const { value, done } = await this.#streamReader.read();
31
+ if (value === undefined || done) {
32
+ // We are done and have no more data to read, send out the rest if there is any
33
+ if (this.#dataReader !== undefined) {
34
+ yield this.#dataReader.remainingBytes;
35
+ }
36
+ break;
37
+ }
38
+
39
+ if (this.#dataReader !== undefined) {
40
+ this.#dataReader = new DataReader(Bytes.concat(this.#dataReader.remainingBytes, value));
41
+ } else {
42
+ this.#dataReader = new DataReader(value);
43
+ }
44
+ }
45
+ // If we have enough data available, just return the next chunk
46
+ if (this.#dataReader !== undefined && this.#dataReader.remainingBytesCount >= chunkSize) {
47
+ yield this.#dataReader.readByteArray(chunkSize);
48
+
49
+ if (this.#dataReader !== undefined && this.#dataReader.remainingBytesCount === 0) {
50
+ this.#dataReader = undefined;
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ /**
57
+ * Tries to skip the desired number of bytes, returns the actual number of skipped bytes.
58
+ * This skip() method should be called when no read() chunk is also awaited!
59
+ */
60
+ async skip(desiredSkippedBytes: number): Promise<number> {
61
+ if (this.#streamEndReached) {
62
+ // End of the stream already reached, so there is no more data
63
+ // This case can happen when bytes were skipped
64
+ return 0;
65
+ }
66
+ // We have enough data to just skip the bytes
67
+ if (this.#dataReader !== undefined && this.#dataReader.remainingBytesCount >= desiredSkippedBytes) {
68
+ this.#dataReader.offset = this.#dataReader.offset + desiredSkippedBytes;
69
+ if (this.#dataReader.remainingBytesCount === 0) {
70
+ this.#dataReader = undefined;
71
+ }
72
+ return desiredSkippedBytes;
73
+ }
74
+
75
+ // Otherwise, loop through the stream until we have enough data to skip
76
+ let skippedBytes = desiredSkippedBytes - (this.#dataReader?.remainingBytesCount ?? 0);
77
+ this.#dataReader = undefined;
78
+ while (true) {
79
+ const { value, done } = await this.#streamReader.read();
80
+ if (value === undefined || done) {
81
+ this.#streamEndReached = true;
82
+ // No more data to skip, return the number of bytes we could skip
83
+ return desiredSkippedBytes - skippedBytes;
84
+ }
85
+
86
+ if (value.byteLength <= skippedBytes) {
87
+ // The current chunk is too small (or exactly the necessary length), handle that case
88
+ skippedBytes -= value.byteLength;
89
+ if (skippedBytes === 0) {
90
+ return desiredSkippedBytes;
91
+ }
92
+ continue;
93
+ }
94
+ // We got more data than needed, so remember partial data
95
+ this.#dataReader = new DataReader(value);
96
+ this.#dataReader.offset = skippedBytes;
97
+ return desiredSkippedBytes;
98
+ }
99
+ }
100
+ }
@@ -98,6 +98,11 @@ export class StorageBackendMemory extends Storage implements CloneableStorage {
98
98
  this.#setKey(contexts, key, combined);
99
99
  } catch (error: any) {
100
100
  throw new StorageError(`Error reading stream: ${error.message}`);
101
+ } finally {
102
+ if (stream.locked) {
103
+ reader.releaseLock(); // Release the reader lock
104
+ }
105
+ await stream.cancel();
101
106
  }
102
107
  }
103
108
 
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
+ export * from "./BytesStreamReader.js";
7
8
  export * from "./Storage.js";
8
9
  export * from "./StorageBackendMemory.js";
9
10
  export * from "./StorageContext.js";
@@ -30,8 +30,8 @@ export function Duration<T extends Duration | string>(source: T): Duration {
30
30
  }
31
31
 
32
32
  if (typeof source === "number") {
33
- if (Number.isNaN(source)) {
34
- throw new DurationFormatError(`A duration may not be NaN`);
33
+ if (!Number.isFinite(source)) {
34
+ throw new DurationFormatError(`A duration must be a finite number`);
35
35
  }
36
36
  return source;
37
37
  }
@@ -73,7 +73,7 @@ export namespace Duration {
73
73
  ): T extends undefined ? string | undefined : string {
74
74
  let ms = duration as number;
75
75
 
76
- if (typeof ms !== "number" || Number.isNaN(ms)) {
76
+ if (typeof ms !== "number" || !Number.isFinite(ms)) {
77
77
  return "invalid";
78
78
  }
79
79
 
@@ -137,7 +137,7 @@ export namespace Duration {
137
137
  }
138
138
 
139
139
  const value = Number(text.slice(text.length - suffix.length));
140
- if (Number.isNaN(value)) {
140
+ if (!Number.isFinite(value)) {
141
141
  throw new DurationFormatError(`Interval component "${part}" contains no numeric component`);
142
142
  }
143
143
 
@@ -29,11 +29,11 @@ export function Timestamp<T extends undefined | Timestamp.Definition>(
29
29
 
30
30
  if (typeof source === "string") {
31
31
  const date = Date.parse(source);
32
- if (Number.isNaN(date.valueOf())) {
32
+ if (!Number.isFinite(date.valueOf())) {
33
33
  throw new TimestampFormatError("Invalid timestamp format");
34
34
  }
35
35
  } else if (typeof source === "object" && source !== null && source instanceof Date) {
36
- if (Number.isNaN(source.valueOf())) {
36
+ if (!Number.isFinite(source.valueOf())) {
37
37
  throw new TimestampFormatError("Cannot convert date to timestamp because it is invalid");
38
38
  }
39
39
  source = source.getTime() as T;
@@ -42,8 +42,8 @@ export function Timestamp<T extends undefined | Timestamp.Definition>(
42
42
  }
43
43
 
44
44
  if (typeof source === "number") {
45
- if (Number.isNaN(source)) {
46
- throw new TimestampFormatError("A timestamp may not be NaN");
45
+ if (!Number.isFinite(source)) {
46
+ throw new TimestampFormatError("A timestamp must be a finite number");
47
47
  }
48
48
  } else {
49
49
  throw new TimestampFormatError(`Timestamp is not a number (received ${typeof source})`);
@@ -55,8 +55,9 @@ export class DataReadQueue<T> implements Stream<T> {
55
55
  if (this.#closed) throw new EndOfStreamError();
56
56
  if (this.#pendingRead !== undefined) {
57
57
  this.#pendingRead.timeoutTimer?.stop();
58
- this.#pendingRead.resolver(data);
58
+ const pendingRead = this.#pendingRead;
59
59
  this.#pendingRead = undefined;
60
+ pendingRead.resolver(data);
60
61
  return;
61
62
  }
62
63
  this.#queue.push(data);