@matter/general 0.16.0-alpha.0-20251001-7eb06da95 → 0.16.0-alpha.0-20251003-dc6d5523d
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/MatterError.d.ts +2 -2
- package/dist/cjs/MatterError.d.ts.map +1 -1
- package/dist/cjs/MatterError.js +0 -1
- package/dist/cjs/MatterError.js.map +1 -1
- package/dist/cjs/environment/Environment.d.ts +12 -0
- package/dist/cjs/environment/Environment.d.ts.map +1 -1
- package/dist/cjs/environment/Environment.js +48 -7
- package/dist/cjs/environment/Environment.js.map +1 -1
- package/dist/cjs/environment/Environmental.d.ts +1 -1
- package/dist/cjs/environment/Environmental.d.ts.map +1 -1
- package/dist/cjs/environment/RuntimeService.d.ts +9 -2
- package/dist/cjs/environment/RuntimeService.d.ts.map +1 -1
- package/dist/cjs/environment/RuntimeService.js +10 -1
- package/dist/cjs/environment/RuntimeService.js.map +1 -1
- package/dist/cjs/net/AppAddress.d.ts +46 -0
- package/dist/cjs/net/AppAddress.d.ts.map +1 -0
- package/dist/cjs/net/AppAddress.js +117 -0
- package/dist/cjs/net/AppAddress.js.map +6 -0
- package/dist/cjs/net/Channel.d.ts +2 -2
- package/dist/cjs/net/Channel.d.ts.map +1 -1
- package/dist/cjs/net/{TransportInterface.d.ts → ConnectionlessTransport.d.ts} +9 -8
- package/dist/cjs/net/ConnectionlessTransport.d.ts.map +1 -0
- package/dist/cjs/net/{TransportInterface.js → ConnectionlessTransport.js} +9 -8
- package/dist/cjs/net/ConnectionlessTransport.js.map +6 -0
- package/dist/cjs/net/Network.d.ts +2 -2
- package/dist/cjs/net/Network.d.ts.map +1 -1
- package/dist/cjs/net/ServerAddress.d.ts +7 -2
- package/dist/cjs/net/ServerAddress.d.ts.map +1 -1
- package/dist/cjs/net/ServerAddress.js +20 -5
- package/dist/cjs/net/ServerAddress.js.map +1 -1
- package/dist/cjs/net/index.d.ts +3 -5
- package/dist/cjs/net/index.d.ts.map +1 -1
- package/dist/cjs/net/index.js +3 -5
- package/dist/cjs/net/index.js.map +1 -1
- package/dist/cjs/net/mock/MockNetwork.d.ts +1 -1
- package/dist/cjs/net/mock/MockNetwork.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.js +1 -1
- package/dist/{esm/net → cjs/net/udp}/UdpChannel.d.ts +3 -3
- package/dist/cjs/net/udp/UdpChannel.d.ts.map +1 -0
- package/dist/cjs/net/{UdpChannel.js.map → udp/UdpChannel.js.map} +1 -1
- package/dist/{esm/net → cjs/net/udp}/UdpInterface.d.ts +9 -10
- package/dist/cjs/net/udp/UdpInterface.d.ts.map +1 -0
- package/dist/cjs/net/{UdpInterface.js → udp/UdpInterface.js} +2 -2
- package/dist/cjs/net/{UdpInterface.js.map → udp/UdpInterface.js.map} +2 -2
- package/dist/{esm/net → cjs/net/udp}/UdpMulticastServer.d.ts +1 -1
- package/dist/cjs/net/udp/UdpMulticastServer.d.ts.map +1 -0
- package/dist/cjs/net/{UdpMulticastServer.js → udp/UdpMulticastServer.js} +5 -5
- package/dist/cjs/net/{UdpMulticastServer.js.map → udp/UdpMulticastServer.js.map} +1 -1
- package/dist/cjs/net/udp/index.d.ts +9 -0
- package/dist/cjs/net/udp/index.d.ts.map +1 -0
- package/dist/cjs/net/udp/index.js +26 -0
- package/dist/cjs/net/udp/index.js.map +6 -0
- package/dist/cjs/time/Duration.d.ts.map +1 -1
- package/dist/cjs/time/Duration.js +4 -1
- package/dist/cjs/time/Duration.js.map +1 -1
- package/dist/esm/MatterError.d.ts +2 -2
- package/dist/esm/MatterError.d.ts.map +1 -1
- package/dist/esm/MatterError.js +0 -1
- package/dist/esm/MatterError.js.map +1 -1
- package/dist/esm/environment/Environment.d.ts +12 -0
- package/dist/esm/environment/Environment.d.ts.map +1 -1
- package/dist/esm/environment/Environment.js +48 -7
- package/dist/esm/environment/Environment.js.map +1 -1
- package/dist/esm/environment/Environmental.d.ts +1 -1
- package/dist/esm/environment/Environmental.d.ts.map +1 -1
- package/dist/esm/environment/RuntimeService.d.ts +9 -2
- package/dist/esm/environment/RuntimeService.d.ts.map +1 -1
- package/dist/esm/environment/RuntimeService.js +10 -1
- package/dist/esm/environment/RuntimeService.js.map +1 -1
- package/dist/esm/net/AppAddress.d.ts +46 -0
- package/dist/esm/net/AppAddress.d.ts.map +1 -0
- package/dist/esm/net/AppAddress.js +97 -0
- package/dist/esm/net/AppAddress.js.map +6 -0
- package/dist/esm/net/Channel.d.ts +2 -2
- package/dist/esm/net/Channel.d.ts.map +1 -1
- package/dist/esm/net/{TransportInterface.d.ts → ConnectionlessTransport.d.ts} +9 -8
- package/dist/esm/net/ConnectionlessTransport.d.ts.map +1 -0
- package/dist/esm/net/{TransportInterface.js → ConnectionlessTransport.js} +6 -5
- package/dist/esm/net/ConnectionlessTransport.js.map +6 -0
- package/dist/esm/net/Network.d.ts +2 -2
- package/dist/esm/net/Network.d.ts.map +1 -1
- package/dist/esm/net/ServerAddress.d.ts +7 -2
- package/dist/esm/net/ServerAddress.d.ts.map +1 -1
- package/dist/esm/net/ServerAddress.js +20 -5
- package/dist/esm/net/ServerAddress.js.map +1 -1
- package/dist/esm/net/index.d.ts +3 -5
- package/dist/esm/net/index.d.ts.map +1 -1
- package/dist/esm/net/index.js +3 -5
- package/dist/esm/net/index.js.map +1 -1
- package/dist/esm/net/mock/MockNetwork.d.ts +1 -1
- package/dist/esm/net/mock/MockNetwork.d.ts.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.js +1 -1
- package/dist/{cjs/net → esm/net/udp}/UdpChannel.d.ts +3 -3
- package/dist/esm/net/udp/UdpChannel.d.ts.map +1 -0
- package/dist/esm/net/{UdpChannel.js.map → udp/UdpChannel.js.map} +1 -1
- package/dist/{cjs/net → esm/net/udp}/UdpInterface.d.ts +9 -10
- package/dist/esm/net/udp/UdpInterface.d.ts.map +1 -0
- package/dist/esm/net/{UdpInterface.js → udp/UdpInterface.js} +2 -2
- package/dist/esm/net/{UdpInterface.js.map → udp/UdpInterface.js.map} +2 -2
- package/dist/{cjs/net → esm/net/udp}/UdpMulticastServer.d.ts +1 -1
- package/dist/esm/net/udp/UdpMulticastServer.d.ts.map +1 -0
- package/dist/esm/net/{UdpMulticastServer.js → udp/UdpMulticastServer.js} +5 -5
- package/dist/esm/net/{UdpMulticastServer.js.map → udp/UdpMulticastServer.js.map} +1 -1
- package/dist/esm/net/udp/index.d.ts +9 -0
- package/dist/esm/net/udp/index.d.ts.map +1 -0
- package/dist/esm/net/udp/index.js +9 -0
- package/dist/esm/net/udp/index.js.map +6 -0
- package/dist/esm/time/Duration.d.ts.map +1 -1
- package/dist/esm/time/Duration.js +4 -1
- package/dist/esm/time/Duration.js.map +1 -1
- package/package.json +2 -2
- package/src/MatterError.ts +6 -3
- package/src/environment/Environment.ts +66 -8
- package/src/environment/Environmental.ts +1 -1
- package/src/environment/RuntimeService.ts +21 -2
- package/src/net/AppAddress.ts +136 -0
- package/src/net/Channel.ts +2 -2
- package/src/net/{TransportInterface.ts → ConnectionlessTransport.ts} +12 -8
- package/src/net/Network.ts +2 -2
- package/src/net/ServerAddress.ts +32 -7
- package/src/net/index.ts +3 -5
- package/src/net/mock/MockNetwork.ts +1 -1
- package/src/net/mock/MockUdpChannel.ts +1 -1
- package/src/net/{UdpChannel.ts → udp/UdpChannel.ts} +3 -3
- package/src/net/{UdpInterface.ts → udp/UdpInterface.ts} +7 -8
- package/src/net/{UdpMulticastServer.ts → udp/UdpMulticastServer.ts} +5 -5
- package/src/net/udp/index.ts +9 -0
- package/src/time/Duration.ts +8 -1
- package/dist/cjs/net/NetInterface.d.ts +0 -25
- package/dist/cjs/net/NetInterface.d.ts.map +0 -1
- package/dist/cjs/net/NetInterface.js +0 -42
- package/dist/cjs/net/NetInterface.js.map +0 -6
- package/dist/cjs/net/TransportInterface.d.ts.map +0 -1
- package/dist/cjs/net/TransportInterface.js.map +0 -6
- package/dist/cjs/net/UdpChannel.d.ts.map +0 -1
- package/dist/cjs/net/UdpInterface.d.ts.map +0 -1
- package/dist/cjs/net/UdpMulticastServer.d.ts.map +0 -1
- package/dist/esm/net/NetInterface.d.ts +0 -25
- package/dist/esm/net/NetInterface.d.ts.map +0 -1
- package/dist/esm/net/NetInterface.js +0 -22
- package/dist/esm/net/NetInterface.js.map +0 -6
- package/dist/esm/net/TransportInterface.d.ts.map +0 -1
- package/dist/esm/net/TransportInterface.js.map +0 -6
- package/dist/esm/net/UdpChannel.d.ts.map +0 -1
- package/dist/esm/net/UdpInterface.d.ts.map +0 -1
- package/dist/esm/net/UdpMulticastServer.d.ts.map +0 -1
- package/src/net/NetInterface.ts +0 -34
- /package/dist/cjs/net/{UdpChannel.js → udp/UdpChannel.js} +0 -0
- /package/dist/esm/net/{UdpChannel.js → udp/UdpChannel.js} +0 -0
package/dist/esm/net/index.js
CHANGED
|
@@ -3,14 +3,12 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
export * from "./AppAddress.js";
|
|
6
7
|
export * from "./Channel.js";
|
|
8
|
+
export * from "./ConnectionlessTransport.js";
|
|
7
9
|
export * from "./mock/index.js";
|
|
8
|
-
export * from "./NetInterface.js";
|
|
9
10
|
export * from "./Network.js";
|
|
10
11
|
export * from "./RetrySchedule.js";
|
|
11
12
|
export * from "./ServerAddress.js";
|
|
12
|
-
export * from "./
|
|
13
|
-
export * from "./UdpChannel.js";
|
|
14
|
-
export * from "./UdpInterface.js";
|
|
15
|
-
export * from "./UdpMulticastServer.js";
|
|
13
|
+
export * from "./udp/index.js";
|
|
16
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/net/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ChannelType } from "#net/Channel.js";
|
|
7
7
|
import { Network, NetworkInterface, NetworkInterfaceDetails } from "../Network.js";
|
|
8
|
-
import { UdpChannelOptions } from "../UdpChannel.js";
|
|
8
|
+
import { UdpChannelOptions } from "../udp/UdpChannel.js";
|
|
9
9
|
import { MockRouter } from "./MockRouter.js";
|
|
10
10
|
import { MockUdpChannel } from "./MockUdpChannel.js";
|
|
11
11
|
import type { NetworkSimulator } from "./NetworkSimulator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockNetwork.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockNetwork.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAgB,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MockNetwork.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockNetwork.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAgB,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,WAAY,SAAQ,OAAO;;IACpC,QAAQ,CAAC,MAAM;;;;MAAgB;gBAInB,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;IAWnE,IAAI,SAAS,qBAEZ;IAED,gBAAgB,IAAI,gBAAgB,EAAE;IAItC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB;IAOtC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;IAIpD,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IAI7B,KAAK;CAGvB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ChannelType } from "#net/Channel.js";
|
|
7
7
|
import { Bytes } from "#util/Bytes.js";
|
|
8
|
-
import { UdpChannel, UdpChannelOptions } from "../UdpChannel.js";
|
|
8
|
+
import { UdpChannel, UdpChannelOptions } from "../udp/UdpChannel.js";
|
|
9
9
|
import { MockNetwork } from "./MockNetwork.js";
|
|
10
10
|
export declare class MockUdpChannel implements UdpChannel {
|
|
11
11
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockUdpChannel.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MockUdpChannel.d.ts","sourceRoot":"","sources":["../../../../src/net/mock/MockUdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,cAAe,YAAW,UAAU;;IAM7C,QAAQ,CAAC,cAAc,SAAwB;gBAEnC,OAAO,EAAE,WAAW,EAAE,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,iBAAiB;IAqB5G,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ;;;IAuB9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IAW/C,KAAK;IAIL,CAAC,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,IAAI,WAEP;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM;IAI5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGxC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ChannelType } from "#net/Channel.js";
|
|
7
7
|
import { NetworkError } from "../Network.js";
|
|
8
|
-
import { MAX_UDP_MESSAGE_SIZE } from "../UdpChannel.js";
|
|
8
|
+
import { MAX_UDP_MESSAGE_SIZE } from "../udp/UdpChannel.js";
|
|
9
9
|
import { MockRouter } from "./MockRouter.js";
|
|
10
10
|
class MockUdpChannel {
|
|
11
11
|
#host;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Bytes, MaybePromise } from "#util/index.js";
|
|
7
|
-
import { ChannelType } from "
|
|
8
|
-
import {
|
|
7
|
+
import { ChannelType } from "../Channel.js";
|
|
8
|
+
import { ConnectionlessTransport } from "../ConnectionlessTransport.js";
|
|
9
9
|
/** @see {@link MatterSpecification.v12.Core} § 4.4.4 */
|
|
10
10
|
export declare const MAX_UDP_MESSAGE_SIZE: number;
|
|
11
11
|
export type UdpSocketType = "udp4" | "udp6";
|
|
@@ -19,7 +19,7 @@ export interface UdpChannel {
|
|
|
19
19
|
maxPayloadSize: number;
|
|
20
20
|
addMembership(address: string): MaybePromise<void>;
|
|
21
21
|
dropMembership(address: string): MaybePromise<void>;
|
|
22
|
-
onData(listener: UdpChannel.Callback):
|
|
22
|
+
onData(listener: UdpChannel.Callback): ConnectionlessTransport.Listener;
|
|
23
23
|
send(host: string, port: number, data: Bytes): Promise<void>;
|
|
24
24
|
close(): Promise<void>;
|
|
25
25
|
get port(): number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpChannel.d.ts","sourceRoot":"","sources":["../../../../src/net/udp/UdpChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAExE,wDAAwD;AACxD,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC;IACxE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,IAAI,MAAM,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1D;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,QAAQ;QACrB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;KAChG;CACJ"}
|
|
@@ -3,25 +3,24 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Channel, ChannelType, IpNetworkChannel } from "#net/Channel.js";
|
|
7
|
+
import { ConnectionlessTransport } from "#net/ConnectionlessTransport.js";
|
|
8
|
+
import { Network } from "#net/Network.js";
|
|
6
9
|
import { Bytes } from "#util/Bytes.js";
|
|
7
|
-
import {
|
|
8
|
-
import { NetInterface } from "./NetInterface.js";
|
|
9
|
-
import { Network } from "./Network.js";
|
|
10
|
-
import { ServerAddress, ServerAddressIp } from "./ServerAddress.js";
|
|
11
|
-
import { TransportInterface } from "./TransportInterface.js";
|
|
10
|
+
import { ServerAddress, ServerAddressUdp } from "../ServerAddress.js";
|
|
12
11
|
import { UdpChannel } from "./UdpChannel.js";
|
|
13
|
-
export declare class UdpInterface implements
|
|
12
|
+
export declare class UdpInterface implements ConnectionlessTransport {
|
|
14
13
|
#private;
|
|
15
14
|
static create(network: Network, type: "udp4" | "udp6", port?: number, host?: string, netInterface?: string): Promise<UdpInterface>;
|
|
16
15
|
constructor(server: UdpChannel);
|
|
17
16
|
protected get server(): UdpChannel;
|
|
18
17
|
supports(type: ChannelType, address: string): boolean;
|
|
19
18
|
openChannel(address: ServerAddress): Promise<UdpConnection>;
|
|
20
|
-
onData(listener: (channel: Channel<Bytes>, messageBytes: Bytes) => void):
|
|
19
|
+
onData(listener: (channel: Channel<Bytes>, messageBytes: Bytes) => void): ConnectionlessTransport.Listener;
|
|
21
20
|
get port(): number;
|
|
22
21
|
close(): Promise<void>;
|
|
23
|
-
addMembership(address: string): import("
|
|
24
|
-
dropMembership(address: string): import("
|
|
22
|
+
addMembership(address: string): import("../../index.js").MaybePromise<void>;
|
|
23
|
+
dropMembership(address: string): import("../../index.js").MaybePromise<void>;
|
|
25
24
|
}
|
|
26
25
|
export declare class UdpConnection implements IpNetworkChannel<Bytes> {
|
|
27
26
|
#private;
|
|
@@ -31,7 +30,7 @@ export declare class UdpConnection implements IpNetworkChannel<Bytes> {
|
|
|
31
30
|
get maxPayloadSize(): number;
|
|
32
31
|
send(data: Bytes): Promise<void>;
|
|
33
32
|
get name(): string;
|
|
34
|
-
get networkAddress():
|
|
33
|
+
get networkAddress(): ServerAddressUdp;
|
|
35
34
|
close(): Promise<void>;
|
|
36
35
|
}
|
|
37
36
|
//# sourceMappingURL=UdpInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpInterface.d.ts","sourceRoot":"","sources":["../../../../src/net/udp/UdpInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,YAAW,uBAAuB;;WAG3C,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;gBAMpG,MAAM,EAAE,UAAU;IAI9B,SAAS,KAAK,MAAM,eAEnB;IAED,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAIrC,WAAW,CAAC,OAAO,EAAE,aAAa;IAQxC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,KAAK,IAAI,GAAG,uBAAuB,CAAC,QAAQ;IAM1G,IAAI,IAAI,WAEP;IAED,KAAK;IAIL,aAAa,CAAC,OAAO,EAAE,MAAM;IAI7B,cAAc,CAAC,OAAO,EAAE,MAAM;CAGjC;AAED,qBAAa,aAAc,YAAW,gBAAgB,CAAC,KAAK,CAAC;;IACzD,QAAQ,CAAC,UAAU,SAAS;IAC5B,QAAQ,CAAC,IAAI,mBAAmB;gBAKpB,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAMrE,IAAI,cAAc,WAEjB;IAED,IAAI,CAAC,IAAI,EAAE,KAAK;IAIhB,IAAI,IAAI,WAEP;IAED,IAAI,cAAc,IAAI,gBAAgB,CAErC;IAEK,KAAK;CAGd"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { ChannelType } from "
|
|
7
|
-
import { NetworkError } from "
|
|
6
|
+
import { ChannelType } from "#net/Channel.js";
|
|
7
|
+
import { NetworkError } from "#net/Network.js";
|
|
8
8
|
class UdpInterface {
|
|
9
9
|
#server;
|
|
10
10
|
static async create(network, type, port, host, netInterface) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
3
|
+
"sources": ["../../../../src/net/udp/UdpInterface.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAqC;AAEvD,SAAkB,oBAAoB;AAK/B,MAAM,aAAgD;AAAA,EAChD;AAAA,EAET,aAAa,OAAO,SAAkB,MAAuB,MAAe,MAAe,cAAuB;AAC9G,WAAO,IAAI;AAAA,MACP,MAAM,QAAQ,iBAAiB,EAAE,eAAe,MAAM,MAAM,cAAc,kBAAkB,KAAK,CAAC;AAAA,IACtG;AAAA,EACJ;AAAA,EAEA,YAAY,QAAoB;AAC5B,SAAK,UAAU;AAAA,EACnB;AAAA,EAEA,IAAc,SAAS;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,SAAS,MAAmB,SAAiB;AACzC,WAAO,KAAK,QAAQ,SAAS,MAAM,OAAO;AAAA,EAC9C;AAAA,EAEA,MAAM,YAAY,SAAwB;AACtC,QAAI,QAAQ,SAAS,OAAO;AACxB,YAAM,IAAI,aAAa,4BAA4B,QAAQ,IAAI,EAAE;AAAA,IACrE;AACA,UAAM,EAAE,IAAI,KAAK,IAAI;AACrB,WAAO,QAAQ,QAAQ,IAAI,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC;AAAA,EACpE;AAAA,EAEA,OAAO,UAAoG;AACvG,WAAO,KAAK,QAAQ;AAAA,MAAO,CAAC,eAAe,UAAU,UAAU,SAC3D,SAAS,IAAI,cAAc,KAAK,SAAS,UAAU,QAAQ,GAAG,IAAI;AAAA,IACtE;AAAA,EACJ;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,QAAQ;AACJ,WAAO,KAAK,QAAQ,MAAM;AAAA,EAC9B;AAAA,EAEA,cAAc,SAAiB;AAC3B,WAAO,KAAK,QAAQ,cAAc,OAAO;AAAA,EAC7C;AAAA,EAEA,eAAe,SAAiB;AAC5B,WAAO,KAAK,QAAQ,eAAe,OAAO;AAAA,EAC9C;AACJ;AAEO,MAAM,cAAiD;AAAA,EACjD,aAAa;AAAA,EACb,OAAO,YAAY;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAoB,aAAqB,UAAkB;AACnE,SAAK,UAAU;AACf,SAAK,eAAe;AACpB,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,KAAK,MAAa;AACd,WAAO,KAAK,QAAQ,KAAK,KAAK,cAAc,KAAK,WAAW,IAAI;AAAA,EACpE;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,GAAG,KAAK,IAAI,OAAO,KAAK,YAAY,KAAK,KAAK,SAAS;AAAA,EAClE;AAAA,EAEA,IAAI,iBAAmC;AACnC,WAAO,EAAE,MAAM,OAAO,IAAI,KAAK,cAAc,MAAM,KAAK,UAAU;AAAA,EACtE;AAAA,EAEA,MAAM,QAAQ;AAAA,EAEd;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UdpMulticastServer.d.ts","sourceRoot":"","sources":["../../../../src/net/udp/UdpMulticastServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAKvC,OAAO,EAAE,OAAO,EAA2B,MAAM,eAAe,CAAC;AAKjE,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,kBAAkB;IAsDvB,QAAQ,CAAC,OAAO,EAAE,OAAO;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;WA3DhC,MAAM,CAAC,EAChB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,OAAO,GACV,EAAE,yBAAyB;IAuC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAKhC;IAEF,OAAO;IAUP,IAAI,YAAY,YAEf;IAED,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI;IAiBjF,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;YA+C1D,sBAAsB;IAQ9B,KAAK;CAKd"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { MatterAggregateError } from "#MatterError.js";
|
|
7
7
|
import { Minutes } from "#time/TimeUnit.js";
|
|
8
|
-
import { Logger } from "
|
|
9
|
-
import { Cache } from "
|
|
10
|
-
import { asError } from "
|
|
11
|
-
import { isIPv4 } from "
|
|
12
|
-
import { NoAddressAvailableError } from "
|
|
8
|
+
import { Logger } from "../../log/Logger.js";
|
|
9
|
+
import { Cache } from "../../util/Cache.js";
|
|
10
|
+
import { asError } from "../../util/Error.js";
|
|
11
|
+
import { isIPv4 } from "../../util/Ip.js";
|
|
12
|
+
import { NoAddressAvailableError } from "../Network.js";
|
|
13
13
|
const logger = Logger.get("UdpMulticastServer");
|
|
14
14
|
class UdpMulticastServer {
|
|
15
15
|
constructor(network, broadcastAddressIpv4, broadcastAddressIpv6, broadcastPort, serverIpv4, serverIpv6, netInterface) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["
|
|
3
|
+
"sources": ["../../../../src/net/udp/UdpMulticastServer.ts"],
|
|
4
4
|
"mappings": "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",
|
|
5
5
|
"names": ["netInterface"]
|
|
6
6
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/net/udp/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../../../src/time/Duration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAazE;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;CAAG;AAE/D,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,YAK3C;IAED;;OAEG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,YAK3C;IAED;;OAEG;IACH,SAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EACjD,QAAQ,EAAE,CAAC,GACZ,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../../../src/time/Duration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAazE;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,mBAAmB;CAAG;AAE/D,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,YAK3C;IAED;;OAEG;IACH,SAAgB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,YAK3C;IAED;;OAEG;IACH,SAAgB,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,SAAS,EACjD,QAAQ,EAAE,CAAC,GACZ,CAAC,SAAS,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAsDnD;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GA8CX,QAAQ,CAC9B;CACJ"}
|
|
@@ -34,6 +34,9 @@ class DurationFormatError extends UnexpectedDataError {
|
|
|
34
34
|
}
|
|
35
35
|
Duration2.min = min;
|
|
36
36
|
function format(duration) {
|
|
37
|
+
if (duration === void 0) {
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
37
40
|
let ms = duration;
|
|
38
41
|
if (typeof ms !== "number" || !Number.isFinite(ms)) {
|
|
39
42
|
return "invalid";
|
|
@@ -116,7 +119,7 @@ class DurationFormatError extends UnexpectedDataError {
|
|
|
116
119
|
Duration2.parse = parse;
|
|
117
120
|
})(Duration || (Duration = {}));
|
|
118
121
|
function toPrecision(number, precision) {
|
|
119
|
-
return number.toPrecision(precision).replace(
|
|
122
|
+
return number.toPrecision(precision).replace(/(\.\d*?[1-9])0+$/, "$1").replace(/\.0+$/, "");
|
|
120
123
|
}
|
|
121
124
|
export {
|
|
122
125
|
Duration,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/Duration.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAoB7B,SAAS,SAAsC,QAAqB;AACvE,MAAI,OAAO,WAAW,UAAU;AAC5B,WAAO,SAAS,MAAM,MAAM;AAAA,EAChC;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,oBAAoB,oCAAoC;AAAA,IACtE;AACA,WAAO;AAAA,EACX;AAEA,QAAM,IAAI,oBAAoB,4CAA4C,OAAO,MAAM,GAAG;AAC9F;AAKO,MAAM,4BAA4B,oBAAoB;AAAC;AAAA,CAEvD,CAAUA,cAAV;AAII,WAAS,IAAI,GAAa,GAAa;AAC1C,QAAI,IAAI,GAAG;AACP,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AALO,EAAAA,UAAS;AAUT,WAAS,IAAI,GAAa,GAAa;AAC1C,QAAI,IAAI,GAAG;AACP,aAAO;AAAA,IACX;AACA,WAAO;AAAA,EACX;AALO,EAAAA,UAAS;AAUT,WAAS,OACZ,UACiD;AACjD,QAAI,KAAK;AAET,QAAI,OAAO,OAAO,YAAY,CAAC,OAAO,SAAS,EAAE,GAAG;AAChD,aAAO;AAAA,IACX;AAEA,YAAQ,IAAI;AAAA,MACR,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AACD,eAAO;AAAA,IACf;AAEA,QAAI,KAAK,GAAG;AACR,aAAO,GAAG,YAAY,KAAK,KAAM,CAAC,CAAC;AAAA,IACvC,WAAW,KAAK,KAAM;AAClB,aAAO,GAAG,YAAY,IAAI,CAAC,CAAC;AAAA,IAChC,WAAW,KAAK,KAAO;AACnB,aAAO,GAAG,YAAY,KAAK,KAAM,CAAC,CAAC;AAAA,IACvC;AAEA,UAAM,QAAQ,MAAc;AAE5B,QAAI,KAAK,OAAY;AACjB,YAAM,KAAK,GAAG,KAAK,MAAM,KAAK,KAAU,CAAC,GAAG;AAC5C,YAAM;AAAA,IACV;AAEA,UAAM,QAAQ,KAAK,MAAM,KAAK,IAAS;AACvC,QAAI,OAAO;AACP,YAAM,KAAK,GAAG,KAAK,GAAG;AAAA,IAC1B;AACA,UAAM;AAEN,UAAM,UAAU,KAAK,MAAM,KAAK,GAAM;AACtC,QAAI,SAAS;AACT,YAAM,KAAK,GAAG,OAAO,GAAG;AAAA,IAC5B;AACA,UAAM;AAEN,UAAM,UAAU,KAAK,MAAM,KAAK,GAAK;AACrC,QAAI,SAAS;AACT,YAAM,KAAK,GAAG,OAAO,GAAG;AAAA,IAC5B;AAEA,WAAO,MAAM,KAAK,GAAG;AAAA,EACzB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["Duration"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/general",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20251003-dc6d5523d",
|
|
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.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
39
|
+
"@matter/testing": "0.16.0-alpha.0-20251003-dc6d5523d"
|
|
40
40
|
},
|
|
41
41
|
"files": [
|
|
42
42
|
"dist/**/*",
|
package/src/MatterError.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { MaybePromise } from "#util/Promises.js";
|
|
7
8
|
import { decamelize } from "#util/String.js";
|
|
8
9
|
import { errorOf } from "./util/Error.js";
|
|
9
10
|
|
|
@@ -232,16 +233,18 @@ export class MatterAggregateError extends AggregateError {
|
|
|
232
233
|
/**
|
|
233
234
|
* Wait for all promises to settle and throw an error if any of them reject as MatterAggregateError
|
|
234
235
|
* (or extended class). Promise results are not returned.
|
|
235
|
-
* TODO: Enhance the types between call and result to be better unwrapped
|
|
236
236
|
*/
|
|
237
|
-
static async allSettled
|
|
237
|
+
static async allSettled<T = unknown>(
|
|
238
|
+
promises: Iterable<MaybePromise<T>>,
|
|
239
|
+
message = "Errors happened",
|
|
240
|
+
): Promise<T[]> {
|
|
238
241
|
const results = await Promise.allSettled(promises);
|
|
239
242
|
const errors = results.filter(result => result.status === "rejected").map(result => result.reason);
|
|
240
243
|
|
|
241
244
|
if (errors.length) {
|
|
242
245
|
throw new this(errors, message);
|
|
243
246
|
}
|
|
244
|
-
return (results as PromiseFulfilledResult<
|
|
247
|
+
return (results as PromiseFulfilledResult<T>[]).map(result => result.value);
|
|
245
248
|
}
|
|
246
249
|
}
|
|
247
250
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { InternalError } from "#MatterError.js";
|
|
7
8
|
import { Instant } from "#time/TimeUnit.js";
|
|
8
9
|
import { MaybePromise } from "#util/Promises.js";
|
|
9
10
|
import { DiagnosticSource } from "../log/DiagnosticSource.js";
|
|
@@ -57,20 +58,39 @@ export class Environment {
|
|
|
57
58
|
return mine !== undefined || (this.#parent?.has(type) ?? false);
|
|
58
59
|
}
|
|
59
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Determine if an environmental services is owned by this environment (not an ancestor).
|
|
63
|
+
*/
|
|
64
|
+
owns(type: abstract new (...args: any[]) => any): boolean {
|
|
65
|
+
return !!this.#services?.get(type);
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
/**
|
|
61
69
|
* Access an environmental service.
|
|
62
70
|
*/
|
|
63
71
|
get<T extends object>(type: abstract new (...args: any[]) => T): T {
|
|
64
|
-
|
|
72
|
+
const mine = this.#services?.get(type);
|
|
65
73
|
|
|
66
|
-
if (
|
|
67
|
-
return
|
|
74
|
+
if (mine !== undefined && mine !== null) {
|
|
75
|
+
return mine as T;
|
|
68
76
|
}
|
|
69
77
|
|
|
70
|
-
|
|
78
|
+
// When null then we do not have it and also do not want to inherit from parent
|
|
79
|
+
if (mine === undefined) {
|
|
80
|
+
let instance = this.#parent?.maybeGet(type);
|
|
81
|
+
if (instance !== undefined && instance !== null) {
|
|
82
|
+
// Parent has it, use it
|
|
83
|
+
return instance;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// ... otherwise try to create it
|
|
71
87
|
if ((type as Environmental.Factory<T>)[Environmental.create]) {
|
|
72
|
-
|
|
73
|
-
|
|
88
|
+
instance = (type as any)[Environmental.create](this) as T;
|
|
89
|
+
if (!(instance instanceof type)) {
|
|
90
|
+
throw new InternalError(`Service creation did not produce instance of ${type.name}`);
|
|
91
|
+
}
|
|
92
|
+
this.set(type, instance);
|
|
93
|
+
return instance;
|
|
74
94
|
}
|
|
75
95
|
}
|
|
76
96
|
|
|
@@ -113,8 +133,17 @@ export class Environment {
|
|
|
113
133
|
* @param type the class of the service to block
|
|
114
134
|
*/
|
|
115
135
|
block(type: abstract new (...args: any[]) => any) {
|
|
116
|
-
|
|
117
|
-
|
|
136
|
+
const instance = this.#services?.get(type);
|
|
137
|
+
|
|
138
|
+
if (instance !== undefined && instance !== null) {
|
|
139
|
+
this.#services?.delete(type);
|
|
140
|
+
|
|
141
|
+
this.#deleted.emit(type, instance);
|
|
142
|
+
|
|
143
|
+
const serviceEvents = this.#serviceEvents.get(type);
|
|
144
|
+
if (serviceEvents) {
|
|
145
|
+
serviceEvents.deleted.emit(instance);
|
|
146
|
+
}
|
|
118
147
|
}
|
|
119
148
|
|
|
120
149
|
this.#services?.set(type, null);
|
|
@@ -205,6 +234,35 @@ export class Environment {
|
|
|
205
234
|
return events as Environmental.ServiceEvents<T>;
|
|
206
235
|
}
|
|
207
236
|
|
|
237
|
+
/**
|
|
238
|
+
* Apply functions to a specific service type automatically.
|
|
239
|
+
*
|
|
240
|
+
* The environment invokes {@link added} immediately if the service is currently present. It then invokes
|
|
241
|
+
* {@link added} in the future if the service is added or replaced and/or {@link deleted} if the service is replaced
|
|
242
|
+
* or deleted.
|
|
243
|
+
*/
|
|
244
|
+
applyTo<T extends Environmental.Factory<any>>(
|
|
245
|
+
type: T,
|
|
246
|
+
added?: (env: Environment, service: T) => MaybePromise<void>,
|
|
247
|
+
deleted?: (env: Environment, service: T) => MaybePromise<void>,
|
|
248
|
+
) {
|
|
249
|
+
const events = this.eventsFor(type);
|
|
250
|
+
|
|
251
|
+
if (added) {
|
|
252
|
+
const existing = this.maybeGet(type);
|
|
253
|
+
|
|
254
|
+
if (existing) {
|
|
255
|
+
added(this, existing);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
events.added.on(service => this.runtime.add(() => added(this, service)));
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if (deleted) {
|
|
262
|
+
events.deleted.on(service => this.runtime.add(() => deleted(this, service)));
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
208
266
|
/**
|
|
209
267
|
* The default environment.
|
|
210
268
|
*
|
|
@@ -27,7 +27,7 @@ export namespace Environmental {
|
|
|
27
27
|
*
|
|
28
28
|
* A "factory" is just a class with a static {@link create} method that performs instantiation.
|
|
29
29
|
*/
|
|
30
|
-
export interface Factory<T extends object> {
|
|
30
|
+
export interface Factory<T extends object = object> {
|
|
31
31
|
new (...args: any[]): T;
|
|
32
32
|
|
|
33
33
|
/**
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import { asError } from "#util/Error.js";
|
|
7
8
|
import { Diagnostic } from "../log/Diagnostic.js";
|
|
8
9
|
import { DiagnosticSource } from "../log/DiagnosticSource.js";
|
|
9
10
|
import { Logger } from "../log/Logger.js";
|
|
@@ -36,7 +37,7 @@ export class RuntimeService implements Multiplex {
|
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
|
-
* Add a {@link Worker}.
|
|
40
|
+
* Add a {@link Worker}, either directly or by invoking an {@link Initiator}.
|
|
40
41
|
*
|
|
41
42
|
* The runtime considers itself "active" if there are one or more workers installed.
|
|
42
43
|
*
|
|
@@ -46,11 +47,20 @@ export class RuntimeService implements Multiplex {
|
|
|
46
47
|
* Once added, the {@link worker} is owned by the RuntimeService until closed, resolved or removed via
|
|
47
48
|
* {@link delete}.
|
|
48
49
|
*/
|
|
49
|
-
add(worker: RuntimeService.
|
|
50
|
+
add(worker: RuntimeService.NewWorker) {
|
|
50
51
|
if (!worker) {
|
|
51
52
|
return;
|
|
52
53
|
}
|
|
53
54
|
|
|
55
|
+
if (typeof worker === "function") {
|
|
56
|
+
try {
|
|
57
|
+
this.add(worker(this.#env));
|
|
58
|
+
} catch (e) {
|
|
59
|
+
this.#crash(asError(e));
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
54
64
|
if (this.#workers.has(worker)) {
|
|
55
65
|
return;
|
|
56
66
|
}
|
|
@@ -303,4 +313,13 @@ export namespace RuntimeService {
|
|
|
303
313
|
*/
|
|
304
314
|
[label]?: unknown;
|
|
305
315
|
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* A function that initiates work.
|
|
319
|
+
*/
|
|
320
|
+
export interface Initiator {
|
|
321
|
+
(env: Environment): NewWorker;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export type NewWorker = Worker | Initiator | void;
|
|
306
325
|
}
|