@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.
- package/dist/cjs/codec/DnsCodec.d.ts +28 -4
- package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
- package/dist/cjs/codec/DnsCodec.js +24 -3
- package/dist/cjs/codec/DnsCodec.js.map +2 -2
- package/dist/cjs/net/mock/MockNetwork.d.ts +1 -5
- package/dist/cjs/net/mock/MockNetwork.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockRouter.d.ts +2 -5
- package/dist/cjs/net/mock/MockRouter.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockRouter.js +8 -1
- package/dist/cjs/net/mock/MockRouter.js.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +2 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.js +3 -2
- package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
- package/dist/cjs/net/mock/NetworkSimulator.d.ts +1 -5
- package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/cjs/util/Abort.d.ts +39 -0
- package/dist/cjs/util/Abort.d.ts.map +1 -0
- package/dist/cjs/util/Abort.js +77 -0
- package/dist/cjs/util/Abort.js.map +6 -0
- package/dist/cjs/util/Bytes.d.ts +3 -1
- package/dist/cjs/util/Bytes.d.ts.map +1 -1
- package/dist/cjs/util/Bytes.js +11 -0
- package/dist/cjs/util/Bytes.js.map +1 -1
- package/dist/cjs/util/Cancelable.d.ts +0 -44
- package/dist/cjs/util/Cancelable.d.ts.map +1 -1
- package/dist/cjs/util/Cancelable.js +0 -141
- package/dist/cjs/util/Cancelable.js.map +2 -2
- package/dist/cjs/util/DataReadQueue.d.ts +1 -2
- package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
- package/dist/cjs/util/DataReadQueue.js +5 -5
- package/dist/cjs/util/DataReadQueue.js.map +1 -1
- package/dist/cjs/util/Promises.d.ts +35 -0
- package/dist/cjs/util/Promises.d.ts.map +1 -1
- package/dist/cjs/util/Promises.js +84 -0
- package/dist/cjs/util/Promises.js.map +1 -1
- package/dist/cjs/util/Set.d.ts.map +1 -1
- package/dist/cjs/util/Set.js +3 -1
- package/dist/cjs/util/Set.js.map +1 -1
- package/dist/cjs/util/Streams.d.ts +37 -0
- package/dist/cjs/util/Streams.d.ts.map +1 -0
- package/dist/cjs/util/Streams.js +114 -0
- package/dist/cjs/util/Streams.js.map +6 -0
- package/dist/cjs/util/index.d.ts +2 -1
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +2 -1
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/esm/codec/DnsCodec.d.ts +28 -4
- package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
- package/dist/esm/codec/DnsCodec.js +24 -3
- package/dist/esm/codec/DnsCodec.js.map +2 -2
- package/dist/esm/net/mock/MockNetwork.d.ts +1 -5
- package/dist/esm/net/mock/MockNetwork.d.ts.map +1 -1
- package/dist/esm/net/mock/MockRouter.d.ts +2 -5
- package/dist/esm/net/mock/MockRouter.d.ts.map +1 -1
- package/dist/esm/net/mock/MockRouter.js +8 -1
- package/dist/esm/net/mock/MockRouter.js.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts +2 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.js +3 -2
- package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
- package/dist/esm/net/mock/NetworkSimulator.d.ts +1 -5
- package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/esm/util/Abort.d.ts +39 -0
- package/dist/esm/util/Abort.d.ts.map +1 -0
- package/dist/esm/util/Abort.js +57 -0
- package/dist/esm/util/Abort.js.map +6 -0
- package/dist/esm/util/Bytes.d.ts +3 -1
- package/dist/esm/util/Bytes.d.ts.map +1 -1
- package/dist/esm/util/Bytes.js +11 -0
- package/dist/esm/util/Bytes.js.map +1 -1
- package/dist/esm/util/Cancelable.d.ts +0 -44
- package/dist/esm/util/Cancelable.d.ts.map +1 -1
- package/dist/esm/util/Cancelable.js +1 -142
- package/dist/esm/util/Cancelable.js.map +2 -2
- package/dist/esm/util/DataReadQueue.d.ts +1 -2
- package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
- package/dist/esm/util/DataReadQueue.js +1 -1
- package/dist/esm/util/DataReadQueue.js.map +1 -1
- package/dist/esm/util/Promises.d.ts +35 -0
- package/dist/esm/util/Promises.d.ts.map +1 -1
- package/dist/esm/util/Promises.js +84 -0
- package/dist/esm/util/Promises.js.map +1 -1
- package/dist/esm/util/Set.d.ts.map +1 -1
- package/dist/esm/util/Set.js +3 -1
- package/dist/esm/util/Set.js.map +1 -1
- package/dist/esm/util/Streams.d.ts +37 -0
- package/dist/esm/util/Streams.d.ts.map +1 -0
- package/dist/esm/util/Streams.js +94 -0
- package/dist/esm/util/Streams.js.map +6 -0
- package/dist/esm/util/index.d.ts +2 -1
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +2 -1
- package/dist/esm/util/index.js.map +1 -1
- package/package.json +2 -2
- package/src/codec/DnsCodec.ts +44 -5
- package/src/net/mock/MockRouter.ts +10 -1
- package/src/net/mock/MockUdpChannel.ts +7 -2
- package/src/util/Abort.ts +93 -0
- package/src/util/Bytes.ts +15 -1
- package/src/util/Cancelable.ts +1 -224
- package/src/util/DataReadQueue.ts +2 -2
- package/src/util/Promises.ts +113 -0
- package/src/util/Set.ts +3 -1
- package/src/util/Streams.ts +130 -0
- package/src/util/index.ts +2 -1
- package/dist/cjs/util/Stream.d.ts +0 -16
- package/dist/cjs/util/Stream.d.ts.map +0 -1
- package/dist/cjs/util/Stream.js +0 -38
- package/dist/cjs/util/Stream.js.map +0 -6
- package/dist/esm/util/Stream.d.ts +0 -16
- package/dist/esm/util/Stream.d.ts.map +0 -1
- package/dist/esm/util/Stream.js +0 -18
- package/dist/esm/util/Stream.js.map +0 -6
- package/src/util/Stream.ts +0 -19
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { MatterError, TimeoutError } from "#MatterError.js";
|
|
8
|
+
import { MaybePromise } from "./Promises.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Generic error thrown when a stream closes in a context where we expected a value.
|
|
12
|
+
*/
|
|
13
|
+
export class EndOfStreamError extends MatterError {
|
|
14
|
+
constructor(message = "Unexpected end of stream") {
|
|
15
|
+
super(message);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Timeout specific to cases where we were expecting a value.
|
|
21
|
+
*/
|
|
22
|
+
export class NoResponseTimeoutError extends TimeoutError {}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A generic iterator type that accepts both async and normal iterators.
|
|
26
|
+
*/
|
|
27
|
+
export type MaybeAsyncIterable<T> = Iterable<T, void, void> | AsyncIterable<T, void, void>;
|
|
28
|
+
|
|
29
|
+
export namespace Stream {
|
|
30
|
+
/**
|
|
31
|
+
* Ponyfill for standard ReadableStream.from().
|
|
32
|
+
*
|
|
33
|
+
* If defined, we use the native implementation. Otherwise we create the stream ourselves.
|
|
34
|
+
*/
|
|
35
|
+
export function from<T>(iterable: MaybeAsyncIterable<T>): ReadableStream<T> {
|
|
36
|
+
if ("from" in ReadableStream) {
|
|
37
|
+
return (ReadableStream as { from(iterable: MaybeAsyncIterable<T>): ReadableStream<T> }).from(iterable);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return AnyIterableReadableStream(iterable);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Ponyfill for standard ReadableStream#[Symbol.asyncIterator].
|
|
45
|
+
*
|
|
46
|
+
* If defined, we use the native implementation. Otherwise we create the iterator ourselves. Currently only
|
|
47
|
+
* necessary on Safari.
|
|
48
|
+
*/
|
|
49
|
+
export async function* iterable<T>(stream: ReadableStream<T>): AsyncGenerator<T, void, void> {
|
|
50
|
+
if (Symbol.asyncIterator in stream) {
|
|
51
|
+
yield* stream as AsyncIterable<T, void, void>;
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const reader = stream.getReader();
|
|
56
|
+
try {
|
|
57
|
+
while (true) {
|
|
58
|
+
const next = await reader.read();
|
|
59
|
+
if (next.done) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
yield next.value;
|
|
64
|
+
}
|
|
65
|
+
} finally {
|
|
66
|
+
reader.releaseLock();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Iterable-backed ReadableStream implementation.
|
|
73
|
+
*
|
|
74
|
+
* We prefer the native ReadableStream.from which is supported on Node.js 20.6+ as well as Deno and Bun. This may
|
|
75
|
+
* require additional testing if required for support on other platforms.
|
|
76
|
+
*/
|
|
77
|
+
function AnyIterableReadableStream<T>(iterable: MaybeAsyncIterable<T>): ReadableStream<T> {
|
|
78
|
+
let iterator: Iterator<T, void, void> | AsyncIterator<T, void, void> | undefined;
|
|
79
|
+
|
|
80
|
+
return new ReadableStream({
|
|
81
|
+
start() {
|
|
82
|
+
if (Symbol.asyncIterator in iterable) {
|
|
83
|
+
iterator = iterable[Symbol.asyncIterator]();
|
|
84
|
+
} else {
|
|
85
|
+
iterator = iterable[Symbol.iterator]();
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
async pull(controller) {
|
|
90
|
+
if (!iterator) {
|
|
91
|
+
controller.close();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
try {
|
|
96
|
+
let next = iterator.next();
|
|
97
|
+
if (MaybePromise.is(next)) {
|
|
98
|
+
next = await next;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (next.done) {
|
|
102
|
+
controller.close();
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
controller.enqueue(next.value);
|
|
107
|
+
} catch (e) {
|
|
108
|
+
controller.error(e);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
|
|
113
|
+
async cancel(reason) {
|
|
114
|
+
if (reason) {
|
|
115
|
+
if (iterator?.throw) {
|
|
116
|
+
await iterator.throw(reason);
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (iterator?.return) {
|
|
121
|
+
await iterator.return();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
throw reason;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
await iterator?.return?.();
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
}
|
package/src/util/index.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
export * from "./Abort.js";
|
|
7
8
|
export * from "./Array.js";
|
|
8
9
|
export * from "./Boot.js";
|
|
9
10
|
export * from "./Bytes.js";
|
|
@@ -30,6 +31,6 @@ export * from "./PromiseQueue.js";
|
|
|
30
31
|
export * from "./Promises.js";
|
|
31
32
|
export * from "./Set.js";
|
|
32
33
|
export * from "./Singleton.js";
|
|
33
|
-
export * from "./
|
|
34
|
+
export * from "./Streams.js";
|
|
34
35
|
export * from "./String.js";
|
|
35
36
|
export * from "./Type.js";
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
export declare class EndOfStreamError extends MatterError {
|
|
8
|
-
constructor(message?: string);
|
|
9
|
-
}
|
|
10
|
-
export declare class NoResponseTimeoutError extends TimeoutError {
|
|
11
|
-
}
|
|
12
|
-
export interface Stream<T> {
|
|
13
|
-
read(): Promise<T>;
|
|
14
|
-
write(data: T): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=Stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/cjs/util/Stream.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
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 Stream_exports = {};
|
|
20
|
-
__export(Stream_exports, {
|
|
21
|
-
EndOfStreamError: () => EndOfStreamError,
|
|
22
|
-
NoResponseTimeoutError: () => NoResponseTimeoutError
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(Stream_exports);
|
|
25
|
-
var import_MatterError = require("../MatterError.js");
|
|
26
|
-
/**
|
|
27
|
-
* @license
|
|
28
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
29
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
-
*/
|
|
31
|
-
class EndOfStreamError extends import_MatterError.MatterError {
|
|
32
|
-
constructor(message = "Unexpected end of stream") {
|
|
33
|
-
super(message);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
class NoResponseTimeoutError extends import_MatterError.TimeoutError {
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=Stream.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/util/Stream.ts"],
|
|
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
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
export declare class EndOfStreamError extends MatterError {
|
|
8
|
-
constructor(message?: string);
|
|
9
|
-
}
|
|
10
|
-
export declare class NoResponseTimeoutError extends TimeoutError {
|
|
11
|
-
}
|
|
12
|
-
export interface Stream<T> {
|
|
13
|
-
read(): Promise<T>;
|
|
14
|
-
write(data: T): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=Stream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/dist/esm/util/Stream.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
class EndOfStreamError extends MatterError {
|
|
8
|
-
constructor(message = "Unexpected end of stream") {
|
|
9
|
-
super(message);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
class NoResponseTimeoutError extends TimeoutError {
|
|
13
|
-
}
|
|
14
|
-
export {
|
|
15
|
-
EndOfStreamError,
|
|
16
|
-
NoResponseTimeoutError
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=Stream.js.map
|
package/src/util/Stream.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
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
|
-
export class EndOfStreamError extends MatterError {
|
|
9
|
-
constructor(message = "Unexpected end of stream") {
|
|
10
|
-
super(message);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export class NoResponseTimeoutError extends TimeoutError {}
|
|
15
|
-
|
|
16
|
-
export interface Stream<T> {
|
|
17
|
-
read(): Promise<T>;
|
|
18
|
-
write(data: T): Promise<void>;
|
|
19
|
-
}
|