@matter/node 0.16.0-alpha.0-20251110-c4c70a41b → 0.16.0-alpha.0-20251111-11cc8c3bd
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/behavior/internal/BehaviorBacking.d.ts +2 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/BehaviorBacking.js +11 -3
- package/dist/cjs/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts +2 -0
- package/dist/cjs/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
- package/dist/cjs/behavior/internal/ClientBehaviorBacking.js +4 -0
- package/dist/cjs/behavior/internal/ClientBehaviorBacking.js.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.d.ts +4 -0
- package/dist/cjs/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/cjs/behavior/state/managed/Datasource.js +5 -0
- package/dist/cjs/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.d.ts +12 -2
- package/dist/cjs/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Behaviors.js +44 -10
- package/dist/cjs/endpoint/properties/Behaviors.js.map +2 -2
- package/dist/cjs/node/client/ClientStructure.d.ts +31 -1
- package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructure.js +257 -81
- package/dist/cjs/node/client/ClientStructure.js.map +1 -1
- package/dist/cjs/node/client/ClientStructureEvents.d.ts +5 -2
- package/dist/cjs/node/client/ClientStructureEvents.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructureEvents.js +38 -2
- package/dist/cjs/node/client/ClientStructureEvents.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts +3 -0
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +3 -0
- package/dist/cjs/node/client/Peers.js.map +1 -1
- package/dist/cjs/node/server/ServerEndpointInitializer.js +1 -1
- package/dist/cjs/node/server/ServerEndpointInitializer.js.map +1 -1
- package/dist/cjs/storage/EndpointStore.d.ts +5 -1
- package/dist/cjs/storage/EndpointStore.d.ts.map +1 -1
- package/dist/cjs/storage/EndpointStore.js +7 -1
- package/dist/cjs/storage/EndpointStore.js.map +1 -1
- package/dist/cjs/storage/client/ClientEndpointStore.d.ts +2 -1
- package/dist/cjs/storage/client/ClientEndpointStore.d.ts.map +1 -1
- package/dist/cjs/storage/client/DatasourceCache.d.ts +14 -3
- package/dist/cjs/storage/client/DatasourceCache.d.ts.map +1 -1
- package/dist/cjs/storage/client/DatasourceCache.js +10 -0
- package/dist/cjs/storage/client/DatasourceCache.js.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts +2 -1
- package/dist/esm/behavior/internal/BehaviorBacking.d.ts.map +1 -1
- package/dist/esm/behavior/internal/BehaviorBacking.js +11 -3
- package/dist/esm/behavior/internal/BehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts +2 -0
- package/dist/esm/behavior/internal/ClientBehaviorBacking.d.ts.map +1 -1
- package/dist/esm/behavior/internal/ClientBehaviorBacking.js +4 -0
- package/dist/esm/behavior/internal/ClientBehaviorBacking.js.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.d.ts +4 -0
- package/dist/esm/behavior/state/managed/Datasource.d.ts.map +1 -1
- package/dist/esm/behavior/state/managed/Datasource.js +5 -0
- package/dist/esm/behavior/state/managed/Datasource.js.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.d.ts +12 -2
- package/dist/esm/endpoint/properties/Behaviors.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Behaviors.js +44 -10
- package/dist/esm/endpoint/properties/Behaviors.js.map +2 -2
- package/dist/esm/node/client/ClientStructure.d.ts +31 -1
- package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructure.js +258 -82
- package/dist/esm/node/client/ClientStructure.js.map +1 -1
- package/dist/esm/node/client/ClientStructureEvents.d.ts +5 -2
- package/dist/esm/node/client/ClientStructureEvents.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructureEvents.js +39 -3
- package/dist/esm/node/client/ClientStructureEvents.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts +3 -0
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +3 -0
- package/dist/esm/node/client/Peers.js.map +1 -1
- package/dist/esm/node/server/ServerEndpointInitializer.js +1 -1
- package/dist/esm/node/server/ServerEndpointInitializer.js.map +1 -1
- package/dist/esm/storage/EndpointStore.d.ts +5 -1
- package/dist/esm/storage/EndpointStore.d.ts.map +1 -1
- package/dist/esm/storage/EndpointStore.js +7 -1
- package/dist/esm/storage/EndpointStore.js.map +1 -1
- package/dist/esm/storage/client/ClientEndpointStore.d.ts +2 -1
- package/dist/esm/storage/client/ClientEndpointStore.d.ts.map +1 -1
- package/dist/esm/storage/client/DatasourceCache.d.ts +14 -3
- package/dist/esm/storage/client/DatasourceCache.d.ts.map +1 -1
- package/dist/esm/storage/client/DatasourceCache.js +10 -0
- package/dist/esm/storage/client/DatasourceCache.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/internal/BehaviorBacking.ts +16 -3
- package/src/behavior/internal/ClientBehaviorBacking.ts +10 -1
- package/src/behavior/state/managed/Datasource.ts +13 -0
- package/src/endpoint/properties/Behaviors.ts +53 -12
- package/src/node/client/ClientStructure.ts +352 -91
- package/src/node/client/ClientStructureEvents.ts +55 -7
- package/src/node/client/Peers.ts +4 -0
- package/src/node/server/ServerEndpointInitializer.ts +1 -1
- package/src/storage/EndpointStore.ts +8 -1
- package/src/storage/client/DatasourceCache.ts +28 -4
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Behavior } from "#behavior/Behavior.js";
|
|
7
6
|
import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js";
|
|
8
7
|
import { Endpoint } from "#endpoint/Endpoint.js";
|
|
9
8
|
import { EndpointType } from "#endpoint/type/EndpointType.js";
|
|
@@ -16,7 +15,11 @@ export declare class ClientStructureEvents {
|
|
|
16
15
|
static [Environmental.create](env: Environment): ClientStructureEvents;
|
|
17
16
|
endpointInstalled<T extends EndpointType>(type: T): Observable<[endpoint: Endpoint<T>]>;
|
|
18
17
|
clusterInstalled<T extends ClusterBehavior.Type>(type: T): Observable<[endpoint: Endpoint, type: T]>;
|
|
18
|
+
get clusterReplaced(): Observable<any, void>;
|
|
19
|
+
get clusterDeleted(): Observable<any, void>;
|
|
19
20
|
emitEndpoint(endpoint: Endpoint): void;
|
|
20
|
-
emitCluster(endpoint: Endpoint, type:
|
|
21
|
+
emitCluster(endpoint: Endpoint, type: ClusterBehavior.Type): void;
|
|
22
|
+
emitClusterReplaced(endpoint: Endpoint, type: ClusterBehavior.Type): void;
|
|
23
|
+
emitClusterDeleted(endpoint: Endpoint, type: ClusterBehavior.Type): void;
|
|
21
24
|
}
|
|
22
25
|
//# sourceMappingURL=ClientStructureEvents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientStructureEvents.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructureEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ClientStructureEvents.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientStructureEvents.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAK1E;;GAEG;AACH,qBAAa,qBAAqB;;IAa9B,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAavF,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAsBpG,IAAI,eAAe,0BAKlB;IAED,IAAI,cAAc,0BAKjB;IAED,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAqB/B,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAa1D,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;IAQlE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI;CAepE"}
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { DescriptorClient } from "#behaviors/descriptor";
|
|
7
|
-
import { Environmental, Observable } from "#general";
|
|
7
|
+
import { Environmental, Logger, Observable } from "#general";
|
|
8
|
+
const logger = Logger.get("ClientStructureEvents");
|
|
8
9
|
class ClientStructureEvents {
|
|
9
10
|
#endpointEvents;
|
|
10
11
|
#clusterEvents;
|
|
12
|
+
#clusterReplaced;
|
|
13
|
+
#clusterDeleted;
|
|
11
14
|
static [Environmental.create](env) {
|
|
12
15
|
const instance = new ClientStructureEvents();
|
|
13
16
|
env.set(ClientStructureEvents, instance);
|
|
@@ -19,7 +22,7 @@ class ClientStructureEvents {
|
|
|
19
22
|
}
|
|
20
23
|
let event = this.#endpointEvents.get(type.deviceType);
|
|
21
24
|
if (event === void 0) {
|
|
22
|
-
this.#endpointEvents.set(type.deviceType, event =
|
|
25
|
+
this.#endpointEvents.set(type.deviceType, event = this.#createEvent("endpointInstalled"));
|
|
23
26
|
}
|
|
24
27
|
return event;
|
|
25
28
|
}
|
|
@@ -36,10 +39,22 @@ class ClientStructureEvents {
|
|
|
36
39
|
return event2;
|
|
37
40
|
}
|
|
38
41
|
}
|
|
39
|
-
const event =
|
|
42
|
+
const event = this.#createEvent("clusterInstalled");
|
|
40
43
|
events.push({ requestedType: type, event });
|
|
41
44
|
return event;
|
|
42
45
|
}
|
|
46
|
+
get clusterReplaced() {
|
|
47
|
+
if (this.#clusterReplaced) {
|
|
48
|
+
return this.#clusterReplaced;
|
|
49
|
+
}
|
|
50
|
+
return this.#clusterReplaced = this.#createEvent("clusterReplaced");
|
|
51
|
+
}
|
|
52
|
+
get clusterDeleted() {
|
|
53
|
+
if (this.#clusterDeleted) {
|
|
54
|
+
return this.#clusterDeleted;
|
|
55
|
+
}
|
|
56
|
+
return this.#clusterDeleted = this.#createEvent("clusterDeleted");
|
|
57
|
+
}
|
|
43
58
|
emitEndpoint(endpoint) {
|
|
44
59
|
if (this.#endpointEvents && endpoint.behaviors.supported.descriptor) {
|
|
45
60
|
const deviceTypes = endpoint.stateOf(DescriptorClient).deviceTypeList;
|
|
@@ -48,6 +63,9 @@ class ClientStructureEvents {
|
|
|
48
63
|
}
|
|
49
64
|
}
|
|
50
65
|
for (const type of Object.values(endpoint.behaviors.supported)) {
|
|
66
|
+
if (!("cluster" in type)) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
51
69
|
this.emitCluster(endpoint, type);
|
|
52
70
|
}
|
|
53
71
|
for (const part of endpoint.parts) {
|
|
@@ -65,6 +83,24 @@ class ClientStructureEvents {
|
|
|
65
83
|
}
|
|
66
84
|
}
|
|
67
85
|
}
|
|
86
|
+
emitClusterReplaced(endpoint, type) {
|
|
87
|
+
if (!this.#clusterReplaced) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.#clusterReplaced.emit(endpoint, type);
|
|
91
|
+
}
|
|
92
|
+
emitClusterDeleted(endpoint, type) {
|
|
93
|
+
if (!this.#clusterDeleted) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this.#clusterDeleted.emit(endpoint, type);
|
|
97
|
+
}
|
|
98
|
+
#createEvent(kind) {
|
|
99
|
+
return Observable(unhandledError);
|
|
100
|
+
function unhandledError(e) {
|
|
101
|
+
logger.error(`Unhandled error in client structure ${kind} event handler:`, e);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
68
104
|
}
|
|
69
105
|
export {
|
|
70
106
|
ClientStructureEvents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/ClientStructureEvents.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,wBAAwB;AAGjC,SAAsB,eAAe,kBAAkB;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["event"]
|
|
6
6
|
}
|
|
@@ -54,6 +54,9 @@ export declare class Peers extends EndpointContainer<ClientNode> {
|
|
|
54
54
|
* This is useful for initializing general behavior on any peer endpoint with the specified cluster.
|
|
55
55
|
*/
|
|
56
56
|
clusterInstalled<T extends ClusterBehavior.Type>(type: T): Observable<[endpoint: Endpoint<EndpointType.Empty>, type: T], void>;
|
|
57
|
+
/**
|
|
58
|
+
* Emits when fixed attributes
|
|
59
|
+
*/
|
|
57
60
|
get(id: number | string | PeerAddress): ClientNode | undefined;
|
|
58
61
|
get owner(): ServerNode;
|
|
59
62
|
add(node: ClientNode): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAQH,UAAU,EAIb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAiE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGvG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;;gBAMxC,KAAK,EAAE,UAAU;IAe7B;;OAEG;IACH,UAAU;IAeV;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIlD;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvF;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Peers.d.ts","sourceRoot":"","sources":["../../../../src/node/client/Peers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iEAAiE,CAAC;AACzG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,oDAAoD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AAG/F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAQH,UAAU,EAIb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAiE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGvG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,iBAAiB,CAAC,UAAU,CAAC;;gBAMxC,KAAK,EAAE,UAAU;IAe7B;;OAEG;IACH,UAAU;IAeV;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO;IAIpC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO;IAIlD;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvF;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAIxD;;OAEG;IAEM,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAe9C,IAAa,KAAK,IACQ,UAAU,CACnC;IAEQ,GAAG,CAAC,IAAI,EAAE,UAAU;IAM7B;;;;;OAKG;IACG,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAM;IAuB3E,KAAK;CAuKvB"}
|
|
@@ -99,6 +99,9 @@ class Peers extends EndpointContainer {
|
|
|
99
99
|
clusterInstalled(type) {
|
|
100
100
|
return this.owner.env.get(ClientStructureEvents).clusterInstalled(type);
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Emits when fixed attributes
|
|
104
|
+
*/
|
|
102
105
|
get(id) {
|
|
103
106
|
if (typeof id !== "string" && typeof id !== "number") {
|
|
104
107
|
const address = PeerAddress(id);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/Peers.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,2BAA2B;AAEpC,SAAS,yBAAyB;AAClC,SAAS,8BAA8B;AACvC,SAAS,oCAAoC;AAE7C,SAAS,yBAAyB;AAElC;AAAA,EAEI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,2BAA2B,qBAAqB,eAAe,mBAAmB;AAC3F,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAEtC,MAAM,SAAS,OAAO,IAAI,OAAO;AAEjC,MAAM,cAAc,QAAQ,EAAE;AAC9B,MAAM,sBAAsB,QAAQ;AAO7B,MAAM,cAAc,kBAA8B;AAAA,EACrD;AAAA,EACA;AAAA,EACA,SAAS,IAAI,MAAM,IAAI;AAAA,EACvB,UAAU;AAAA,EAEV,YAAY,OAAmB;AAC3B,UAAM,KAAK;AAEX,QAAI,CAAC,MAAM,IAAI,IAAI,iBAAiB,GAAG;AACnC,YAAM,IAAI,IAAI,mBAAmB,IAAI,QAAQ,IAAI,CAAC;AAAA,IACtD;AAEA,UAAM,IAAI,QAAQ,mBAAmB,KAAK,4BAA4B,KAAK,IAAI,CAAC;AAEhF,SAAK,MAAM,GAAG,KAAK,iBAAiB,KAAK,IAAI,CAAC;AAC9C,SAAK,QAAQ,GAAG,KAAK,kBAAkB,KAAK,IAAI,CAAC;AAEjD,SAAK,iBAAiB,sBAAsB,EAAE,GAAG,KAAK,4BAA4B,KAAK,IAAI,CAAC;AAAA,EAChG;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACT,UAAM,UAAU,KAAK,MAAM,IAAI,IAAI,iBAAiB;AAEpD,UAAM,eAAe,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;AAEzD,eAAW,MAAM,aAAa,UAAU;AACpC,WAAK;AAAA,QACD,QAAQ,OAAO;AAAA,UACX;AAAA,UACA,OAAO,KAAK;AAAA,QAChB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,SAA6B;AAChC,WAAO,IAAI,kBAAkB,KAAK,OAAO,OAAO;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,SAAS,SAA6B;AAClC,WAAO,IAAI,oBAAoB,KAAK,OAAO,OAAO;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,SAAyC;AAChD,WAAO,IAAI,uBAAuB,KAAK,OAAO,OAAO;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAA0C,MAA8C;AACpF,WAAO,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,kBAAkB,IAAI;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAiD,MAAS;AACtD,WAAO,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,iBAAiB,IAAI;AAAA,EAC1E;AAAA,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,2BAA2B;AAEpC,SAAS,yBAAyB;AAClC,SAAS,8BAA8B;AACvC,SAAS,oCAAoC;AAE7C,SAAS,yBAAyB;AAElC;AAAA,EAEI;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,2BAA2B,qBAAqB,eAAe,mBAAmB;AAC3F,SAAS,uBAAuB;AAEhC,SAAS,kBAAkB;AAE3B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAEtC,MAAM,SAAS,OAAO,IAAI,OAAO;AAEjC,MAAM,cAAc,QAAQ,EAAE;AAC9B,MAAM,sBAAsB,QAAQ;AAO7B,MAAM,cAAc,kBAA8B;AAAA,EACrD;AAAA,EACA;AAAA,EACA,SAAS,IAAI,MAAM,IAAI;AAAA,EACvB,UAAU;AAAA,EAEV,YAAY,OAAmB;AAC3B,UAAM,KAAK;AAEX,QAAI,CAAC,MAAM,IAAI,IAAI,iBAAiB,GAAG;AACnC,YAAM,IAAI,IAAI,mBAAmB,IAAI,QAAQ,IAAI,CAAC;AAAA,IACtD;AAEA,UAAM,IAAI,QAAQ,mBAAmB,KAAK,4BAA4B,KAAK,IAAI,CAAC;AAEhF,SAAK,MAAM,GAAG,KAAK,iBAAiB,KAAK,IAAI,CAAC;AAC9C,SAAK,QAAQ,GAAG,KAAK,kBAAkB,KAAK,IAAI,CAAC;AAEjD,SAAK,iBAAiB,sBAAsB,EAAE,GAAG,KAAK,4BAA4B,KAAK,IAAI,CAAC;AAAA,EAChG;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACT,UAAM,UAAU,KAAK,MAAM,IAAI,IAAI,iBAAiB;AAEpD,UAAM,eAAe,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;AAEzD,eAAW,MAAM,aAAa,UAAU;AACpC,WAAK;AAAA,QACD,QAAQ,OAAO;AAAA,UACX;AAAA,UACA,OAAO,KAAK;AAAA,QAChB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,SAA6B;AAChC,WAAO,IAAI,kBAAkB,KAAK,OAAO,OAAO;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,SAAS,SAA6B;AAClC,WAAO,IAAI,oBAAoB,KAAK,OAAO,OAAO;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,SAAyC;AAChD,WAAO,IAAI,uBAAuB,KAAK,OAAO,OAAO;AAAA,EACzD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAA0C,MAA8C;AACpF,WAAO,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,kBAAkB,IAAI;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,iBAAiD,MAAS;AACtD,WAAO,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,iBAAiB,IAAI;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAMS,IAAI,IAAmC;AAC5C,QAAI,OAAO,OAAO,YAAY,OAAO,OAAO,UAAU;AAClD,YAAM,UAAU,YAAY,EAAE;AAC9B,iBAAW,QAAQ,MAAM;AACrB,cAAM,cAAc,KAAK,MAAM,cAAc;AAC7C,YAAI,eAAe,YAAY,GAAG,aAAa,OAAO,GAAG;AACrD,iBAAO;AAAA,QACX;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAEA,WAAO,MAAM,IAAI,EAAE;AAAA,EACvB;AAAA,EAEA,IAAa,QAAQ;AACjB,WAAO,MAAM;AAAA,EACjB;AAAA,EAES,IAAI,MAAkB;AAC3B,SAAK,QAAQ,KAAK;AAElB,UAAM,IAAI,IAAI;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,WAAW,aAA0B,UAA6C,CAAC,GAAG;AACxF,QAAI,CAAC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,IAAI,WAAW,GAAG;AACrD,YAAM,IAAI,oBAAoB,iEAAiE;AAAA,IACnG;AAEA,QAAI,OAAO,KAAK,IAAI,WAAW;AAC/B,QAAI,CAAC,MAAM;AAEP,YAAM,UAAU,KAAK,MAAM,IAAI,IAAI,iBAAiB;AACpD,aAAO,QAAQ,OAAO,SAAS,WAAW;AAC1C,YAAM,KAAK;AACX,WAAK,IAAI,IAAI;AAIb,YAAM,KAAK,IAAI;AAAA,QACX,eAAe,EAAE,aAAa,YAAY,WAAW,EAAE;AAAA,MAC3D,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,UAAU;AACf,UAAM,KAAK,sBAAsB,MAAM;AACvC,SAAK,kBAAkB;AACvB,UAAM,KAAK;AACX,UAAM,MAAM,MAAM;AAAA,EACtB;AAAA,EAEA,oBAAoB;AAChB,QAAI,KAAK,qBAAqB;AAC1B,WAAK,oBAAoB,OAAO;AAChC,WAAK,sBAAsB;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEA,mBAAmB;AACf,QAAI,KAAK,MAAM,IAAI,IAAI,iBAAiB,GAAG;AACvC,WAAK,4BAA4B;AAAA,IACrC;AACA,SAAK,kBAAkB;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,8BAA8B;AAC1B,QAAI,KAAK,WAAW,KAAK,OAAO,KAAK,CAAC,KAAK,MAAM,IAAI,IAAI,iBAAiB,GAAG;AACzE;AAAA,IACJ;AAEA,UAAM,gBAAgB,KAAK,MAAM,IAAI,IAAI,mBAAmB;AAC5D,UAAM,oBAAoB,KAAK,MAAM,IAAI,IAAI,iBAAiB;AAE9D,QAAI,CAAC,KAAK,sBAAsB;AAC5B,WAAK,uBAAuB,IAAI,0BAA0B,aAAa;AAAA,IAC3E;AAEA,sBAAkB,gBAAgB,KAAK;AAAA,EAC3C;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAChB,QAAI,KAAK,SAAS;AACd;AAAA,IACJ;AAEA,QAAI,KAAK,qBAAqB;AAC1B,UAAI,CAAC,KAAK,MAAM;AACZ,aAAK,kBAAkB;AAAA,MAC3B;AACA;AAAA,IACJ;AAEA,QAAI,CAAC,KAAK,MAAM;AACZ;AAAA,IACJ;AAEA,SAAK,sBAAsB,KAAK,MAAM,0BAA0B,mBAAmB,EAAE;AAAA,MACjF,KAAK,6BAA6B,KAAK,IAAI;AAAA,IAC/C;AAAA,EACJ;AAAA,EAEA,+BAA+B;AAC3B,SAAK,OAAO;AAAA,MAAI,MACZ,KAAK,8BAA8B,EAC9B,MAAM,WAAS;AACZ,eAAO,MAAM,+BAA+B,KAAK;AAAA,MACrD,CAAC,EACA,QAAQ,MAAM;AACX,aAAK,kBAAkB;AAAA,MAC3B,CAAC;AAAA,IACT;AAAA,EACJ;AAAA,EAEA,MAAM,gCAAgC;AAClC,QAAI;AACA,YAAM,MAAM,KAAK;AAEjB,iBAAW,QAAQ,MAAM;AACrB,cAAM,QAAQ,KAAK,MAAM;AACzB,cAAM,EAAE,UAAU,IAAI;AACtB,cAAM,iBAAiB,MAAM,gBAAgB;AAG7C,YAAI,cAAc,UAAc,kBAAkB,UAAU,WAAW,GAAI;AACvE;AAAA,QACJ;AAGA,YAAI,eAAe,UAAU,OAAO,UAAQ;AACxC,gBAAM,MAAM,aAAa,IAAI;AAC7B,cAAI,QAAQ,QAAW;AACnB,mBAAO;AAAA,UACX;AAEA,iBAAO,MAAM;AAAA,QACjB,CAAC;AAGD,YAAI,CAAC,gBAAgB;AACjB,cAAI,CAAC,cAAc,WAAW,aAAa,KAAK,KAAK,MAAM,KAAK;AAC5D,kBAAM,KAAK,OAAO;AAClB;AAAA,UACJ;AAAA,QACJ;AAGA,YAAI,kBAAkB,UAAU,UAAU,CAAC,aAAa,QAAQ;AAC5D,cAAI,UAAU,WAAW,GAAG;AACxB;AAAA,UACJ;AACA,gBAAM,cAAc,UAAU,OAAO,CAACA,cAAa,SAAS;AACxD,mBAAO,KAAK,IAAIA,cAAa,aAAa,IAAI,CAAE;AAAA,UACpD,GAAG,CAAC;AAEJ,yBAAe,UAAU,OAAO,UAAQ,aAAa,IAAI,MAAM,WAAW;AAAA,QAC9E;AAGA,YAAI,UAAU,WAAW,aAAa,QAAQ;AAC1C,gBAAM,KAAK,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAAA,QACnD;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,WAAK,sBAAsB;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEA,4BAA4B,MAAgB,MAAqC;AAC7E,QAAI,EAAE,gBAAgB,aAAa;AAC/B;AAAA,IACJ;AAEA,SAAK,SAAS,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,YAAY,MAAM,KAAK,SAAS,MAAM,WAAW,CAAC;AACnF,SAAK,SAAS,IAAI,EAAE,UAAU,GAAG,MAAM,KAAK,YAAY,IAAI,CAAC;AAAA,EACjE;AAAA,EAEA,SAAS,MAAkB,aAA0B;AACjD,SAAK,OAAO,IAAI,YAAY;AACxB,YAAM,EAAE,SAAS,YAAY,IAAI,KAAK,aAAa,4BAA4B;AAC/E,YAAM,aAAa,YAAY,KAAK,YAAU,OAAO,gBAAgB,WAAW;AAChF,UAAI,CAAC,YAAY;AACb;AAAA,MACJ;AAEA,YAAM,cAAc,KAAK,aAAa,mBAAmB,EAAE;AAC3D,UAAI,CAAC,aAAa;AACd;AAAA,MACJ;AAEA,YAAM,eAAe,KAAK,MAAM,IAAI,IAAI,aAAa;AACrD,YAAM,cAAc,aAAa,cAAc,UAAU;AACzD,UAAI,CAAC,eAAe,YAAY,gBAAgB,YAAY,aAAa;AACrE;AAAA,MACJ;AAEA,aAAO,OAAO,QAAQ,WAAW,OAAO,KAAK,EAAE,GAAG,qBAAqB;AACvE,WAAK,UAAU,eAAe,KAAK,kBAAkB,QAAQ;AAC7D,YAAM,KAAK,OAAO;AAAA,IACtB,CAAC;AAAA,EACL;AAAA,EAEA,YAAY,OAAmB;AAAA,EAE/B;AACJ;AAEA,MAAM,gBAAgB,kBAAkB;AAAA,EACpC;AAAA,EACA,kBAAkB;AAAA,EAElB,YAAY,OAAc;AACtB,UAAM;AACN,SAAK,SAAS;AAAA,EAClB;AAAA,EAEA,OAAO,SAA6B,aAA2B;AAC3D,QAAI;AACJ,QAAI,gBAAgB,UAAa,YAAY,QAAQ,WAAW,GAAG;AAC/D,UAAI,QAAQ,OAAO,QAAW;AAC1B,gBAAQ,KAAK,QAAQ,EAAE,KAAK,eAAe;AAAA,MAC/C;AACA,aAAO,IAAI,YAAY;AAAA,QACnB,GAAG;AAAA,QACH,OAAO,KAAK,OAAO;AAAA,MACvB,CAAC;AAAA,IACL,OAAO;AACH,UAAI,QAAQ,OAAO,QAAW;AAC1B,gBAAQ,KAAK,KAAK,OAAO,MAAM,IAAI,IAAI,eAAe,EAAE,aAAa,WAAW;AAAA,MACpF;AACA,aAAO,IAAI,WAAW;AAAA,QAClB,GAAG;AAAA,QACH,OAAO,KAAK,OAAO;AAAA,MACvB,CAAC;AAAA,IACL;AAEA,SAAK,aAAa,MAAM;AACxB,WAAO;AAAA,EACX;AAAA,EAEA,KAAK,YAA8B;AAC/B,eAAW,QAAQ,KAAK,QAAQ;AAC5B,UAAI,iBAAiB,GAAG,KAAK,MAAM,eAAe,UAAU,GAAG;AAC3D,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,SAAS,aACL,UACyE;AACzE,MAAI,SAAS,iBAAiB,QAAW;AACrC,WAAO,UAAU,SAAS,gBAAgB,QAAQ,SAAS,GAAG,KAAK,YAAY;AAAA,EACnF;AACA,SAAO;AACX;",
|
|
5
5
|
"names": ["freshestExp"]
|
|
6
6
|
}
|
|
@@ -22,7 +22,7 @@ class ServerEndpointInitializer extends EndpointInitializer {
|
|
|
22
22
|
}
|
|
23
23
|
this.#store.endpointStores.assignNumber(endpoint);
|
|
24
24
|
if (!(DescriptorServer.id in endpoint.behaviors.supported)) {
|
|
25
|
-
endpoint.behaviors.inject(DescriptorServer);
|
|
25
|
+
endpoint.behaviors.inject(DescriptorServer, void 0, false);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
async eraseDescendant(endpoint) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/server/ServerEndpointInitializer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAsB,eAAe,cAAc;AACnD,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAEjC,MAAM,SAAS,OAAO,IAAI,cAAc;AAEjC,MAAM,kCAAkC,oBAAoB;AAAA,EAC/D;AAAA,EAEA,YAAY,aAA0B;AAClC,UAAM;AACN,SAAK,SAAS,YAAY,IAAI,eAAe;AAAA,EACjD;AAAA,EAES,qBAAqB,UAAoB;AAC9C,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B,eAAS,KAAK,KAAK,cAAc,QAAQ;AAAA,IAC7C;AAEA,SAAK,OAAO,eAAe,aAAa,QAAQ;AAGhD,QAAI,EAAE,iBAAiB,MAAM,SAAS,UAAU,YAAY;AACxD,eAAS,UAAU,OAAO,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,6BAA6B;AACtC,SAAS,gBAAgB;AACzB,SAAS,2BAA2B;AACpC,SAAsB,eAAe,cAAc;AACnD,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAEjC,MAAM,SAAS,OAAO,IAAI,cAAc;AAEjC,MAAM,kCAAkC,oBAAoB;AAAA,EAC/D;AAAA,EAEA,YAAY,aAA0B;AAClC,UAAM;AACN,SAAK,SAAS,YAAY,IAAI,eAAe;AAAA,EACjD;AAAA,EAES,qBAAqB,UAAoB;AAC9C,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B,eAAS,KAAK,KAAK,cAAc,QAAQ;AAAA,IAC7C;AAEA,SAAK,OAAO,eAAe,aAAa,QAAQ;AAGhD,QAAI,EAAE,iBAAiB,MAAM,SAAS,UAAU,YAAY;AACxD,eAAS,UAAU,OAAO,kBAAkB,QAAW,KAAK;AAAA,IAChE;AAAA,EACJ;AAAA,EAEA,MAAM,gBAAgB,UAAoB;AACtC,QAAI,CAAC,SAAS,UAAU,OAAO;AAC3B;AAAA,IACJ;AAEA,UAAM,KAAK,OAAO,eAAe,sBAAsB,QAAQ;AAAA,EACnE;AAAA,EAEA,MAAM,qBAAqB,UAAoB;AAC3C,QAAI,CAAC,SAAS,UAAU,SAAS,SAAS,WAAW,GAAG;AACpD;AAAA,IACJ;AAEA,SAAK,OAAO,eAAe,2BAA2B,QAAQ;AAAA,EAClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,cAAc,UAAoB,MAAsC;AACpE,UAAM,QAAQ,KAAK,OAAO,iBAAiB,QAAQ,EAAE,uBAAuB,KAAK,EAAE;AAEnF,WAAO,IAAI,sBAAsB,UAAU,MAAM,OAAO,SAAS,UAAU,WAAW,IAAI,CAAC;AAAA,EAC/F;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,UAAoB;AAC9B,UAAM,YACF,SAAS,UAAU,UAAU,oBAAoB,SAAS,UAAU,UAAU;AAClF,QAAI,WAAW;AACX,YAAM,WAAW;AAAA,QACb,GAAG,IAAI,UAAU,MAAM;AAAA,QACvB,GAAG,SAAS,UAAU,YAAY,SAAS;AAAA,MAC/C;AAEA,UAAIA,MAAM,SAAoC;AAC9C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAEA,MAAAA,MAAM,SAAoC;AAC1C,UAAIA,KAAI;AACJ,eAAOA;AAAA,MACX;AAAA,IACJ;AAEA,QAAI,EAAE,SAAS,iBAAiB,WAAW;AACvC,YAAM,IAAI,cAAc,2DAA2D;AAAA,IACvF;AACA,QAAI,CAAC,SAAS,MAAM,UAAU,OAAO;AACjC,YAAM,IAAI,cAAc,2DAA2D;AAAA,IACvF;AAEA,UAAM,QAAQ,SAAS,MAAM,MAAM,QAAQ,QAAQ;AACnD,QAAI,UAAU,IAAI;AACd,YAAM,IAAI,cAAc,wEAAwE;AAAA,IACpG;AAGA,UAAM,KAAK,OAAO,KAAK;AACvB,WAAO,KAAK,wBAAwB,EAAE,iBAAiB,SAAS,KAAK,oCAAoC;AAEzG,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": ["id"]
|
|
6
6
|
}
|
|
@@ -40,9 +40,13 @@ export declare class EndpointStore {
|
|
|
40
40
|
*/
|
|
41
41
|
load(): Promise<void>;
|
|
42
42
|
/**
|
|
43
|
-
* Remove all persisted information for the {@link Endpoint}
|
|
43
|
+
* Remove all persisted information for the {@link Endpoint}.
|
|
44
44
|
*/
|
|
45
45
|
erase(): import("#general").MaybePromise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Remove all persisted information for a single behavior on the {@link Endpoint}.
|
|
48
|
+
*/
|
|
49
|
+
eraseStoreForBehavior(behaviorId: string): import("#general").MaybePromise<void>;
|
|
46
50
|
protected get storage(): StorageContext;
|
|
47
51
|
}
|
|
48
52
|
//# sourceMappingURL=EndpointStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EndpointStore.d.ts","sourceRoot":"","sources":["../../../src/storage/EndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;GAEG;AACH,qBAAa,aAAa;;IACtB,SAAS,CAAC,aAAa,0BAAiC;gBAM5C,OAAO,EAAE,cAAc;IAInC;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAQjD;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAkCxD;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,cAAc,gBAEjB;IAED;;OAEG;IACG,IAAI;IAiBV;;OAEG;IACH,KAAK;IAIL,SAAS,KAAK,OAAO,mBAEpB;CACJ"}
|
|
1
|
+
{"version":3,"file":"EndpointStore.d.ts","sourceRoot":"","sources":["../../../src/storage/EndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;GAEG;AACH,qBAAa,aAAa;;IACtB,SAAS,CAAC,aAAa,0BAAiC;gBAM5C,OAAO,EAAE,cAAc;IAInC;;OAEG;IACH,IAAI,EAAE,WAEL;IAED;;;OAGG;IACH,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAQjD;;;;OAIG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC;IAkCxD;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,IAAI,cAAc,gBAEjB;IAED;;OAEG;IACG,IAAI;IAiBV;;OAEG;IACH,KAAK;IAIL;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAIxC,SAAS,KAAK,OAAO,mBAEpB;CACJ"}
|
|
@@ -92,11 +92,17 @@ class EndpointStore {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* Remove all persisted information for the {@link Endpoint}
|
|
95
|
+
* Remove all persisted information for the {@link Endpoint}.
|
|
96
96
|
*/
|
|
97
97
|
erase() {
|
|
98
98
|
return this.storage.clearAll();
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Remove all persisted information for a single behavior on the {@link Endpoint}.
|
|
102
|
+
*/
|
|
103
|
+
eraseStoreForBehavior(behaviorId) {
|
|
104
|
+
return this.storage.createContext(behaviorId).clearAll();
|
|
105
|
+
}
|
|
100
106
|
get storage() {
|
|
101
107
|
return this.#storage;
|
|
102
108
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/storage/EndpointStore.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAc;AAAA,EACb,gBAAgB,oBAAI,IAAwB;AAAA,EAEtD;AAAA,EAEA,kBAAkB,oBAAI,IAAY;AAAA,EAElC,YAAY,SAAyB;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAK;AACL,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,SAAS,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,qBAAqB,YAAoB;AAC/C,UAAM,gBAAgB,KAAK,cAAc,IAAI,UAAU;AACvD,QAAI,kBAAkB,QAAW;AAC7B,WAAK,cAAc,OAAO,UAAU;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,QAAgD;AACtD,eAAW,cAAc,QAAQ;AAC7B,YAAM,iBAAiB,OAAO,UAAU;AACxC,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,UAAI,mBAAmB,QAAW;AAC9B,YAAI,KAAK,eAAe,IAAI,UAAU,GAAG;AACrC,gBAAM,gBAAgB,SAAS;AAC/B,eAAK,eAAe,OAAO,UAAU;AAAA,QACzC;AACA;AAAA,MACJ;AAEA,UAAI,CAAC,KAAK,eAAe,IAAI,UAAU,GAAG;AACtC,aAAK,eAAe,IAAI,UAAU;AAAA,MACtC;AAEA,YAAM,SAAS,CAAC;AAChB,UAAI,aAAa;AACjB,iBAAW,OAAO,gBAAgB;AAC9B,cAAM,QAAQ,eAAe,GAAG;AAChC,YAAI,UAAU,QAAW;AACrB,gBAAM,gBAAgB,OAAO,GAAG;AAAA,QACpC,OAAO;AACH,iBAAO,GAAG,IAAI;AACd;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,aAAa,GAAG;AAChB,cAAM,gBAAgB,IAAI,MAAM;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,WAAO,WAAW,KAAK,SAAS,aAAa,KAAK,GAAG,CAAC;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO;AACT,SAAK,kBAAkB,IAAI,IAAI,MAAM,KAAK,QAAQ,SAAS,CAAC;AAE5D,eAAW,cAAc,KAAK,iBAAiB;AAC3C,YAAM,iBAAiB,CAAC;AACxB,WAAK,cAAc,IAAI,YAAY,cAAc;AACjD,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,YAAM,eAAe,MAAM,gBAAgB,OAAO;AAClD,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAI,UAAU,QAAW;AACrB,yBAAe,GAAG,IAAI;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACJ,WAAO,KAAK,QAAQ,SAAS;AAAA,EACjC;AAAA,EAEA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AACJ;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,cAAc;AAAA,EACb,gBAAgB,oBAAI,IAAwB;AAAA,EAEtD;AAAA,EAEA,kBAAkB,oBAAI,IAAY;AAAA,EAElC,YAAY,SAAyB;AACjC,SAAK,WAAW;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAK;AACL,WAAO,KAAK,QAAQ,aAAa,KAAK,QAAQ,aAAa,SAAS,CAAC;AAAA,EACzE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,qBAAqB,YAAoB;AAC/C,UAAM,gBAAgB,KAAK,cAAc,IAAI,UAAU;AACvD,QAAI,kBAAkB,QAAW;AAC7B,WAAK,cAAc,OAAO,UAAU;AAAA,IACxC;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,IAAI,QAAgD;AACtD,eAAW,cAAc,QAAQ;AAC7B,YAAM,iBAAiB,OAAO,UAAU;AACxC,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,UAAI,mBAAmB,QAAW;AAC9B,YAAI,KAAK,eAAe,IAAI,UAAU,GAAG;AACrC,gBAAM,gBAAgB,SAAS;AAC/B,eAAK,eAAe,OAAO,UAAU;AAAA,QACzC;AACA;AAAA,MACJ;AAEA,UAAI,CAAC,KAAK,eAAe,IAAI,UAAU,GAAG;AACtC,aAAK,eAAe,IAAI,UAAU;AAAA,MACtC;AAEA,YAAM,SAAS,CAAC;AAChB,UAAI,aAAa;AACjB,iBAAW,OAAO,gBAAgB;AAC9B,cAAM,QAAQ,eAAe,GAAG;AAChC,YAAI,UAAU,QAAW;AACrB,gBAAM,gBAAgB,OAAO,GAAG;AAAA,QACpC,OAAO;AACH,iBAAO,GAAG,IAAI;AACd;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,aAAa,GAAG;AAChB,cAAM,gBAAgB,IAAI,MAAM;AAAA,MACpC;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACP,WAAO,WAAW,KAAK,SAAS,aAAa,KAAK,GAAG,CAAC;AAAA,EAC1D;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO;AACT,SAAK,kBAAkB,IAAI,IAAI,MAAM,KAAK,QAAQ,SAAS,CAAC;AAE5D,eAAW,cAAc,KAAK,iBAAiB;AAC3C,YAAM,iBAAiB,CAAC;AACxB,WAAK,cAAc,IAAI,YAAY,cAAc;AACjD,YAAM,kBAAkB,KAAK,QAAQ,cAAc,UAAU;AAE7D,YAAM,eAAe,MAAM,gBAAgB,OAAO;AAClD,iBAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,YAAY,GAAG;AACrD,YAAI,UAAU,QAAW;AACrB,yBAAe,GAAG,IAAI;AAAA,QAC1B;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACJ,WAAO,KAAK,QAAQ,SAAS;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB,YAAoB;AACtC,WAAO,KAAK,QAAQ,cAAc,UAAU,EAAE,SAAS;AAAA,EAC3D;AAAA,EAEA,IAAc,UAAU;AACpB,WAAO,KAAK;AAAA,EAChB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -7,6 +7,7 @@ import { StorageContext, Transaction } from "#general";
|
|
|
7
7
|
import { EndpointStore } from "#storage/EndpointStore.js";
|
|
8
8
|
import type { EndpointNumber } from "#types";
|
|
9
9
|
import type { ClientNodeStore } from "./ClientNodeStore.js";
|
|
10
|
+
import { DatasourceCache } from "./DatasourceCache.js";
|
|
10
11
|
export declare class ClientEndpointStore extends EndpointStore {
|
|
11
12
|
#private;
|
|
12
13
|
constructor(owner: ClientNodeStore, number: EndpointNumber, storage: StorageContext);
|
|
@@ -19,7 +20,7 @@ export declare class ClientEndpointStore extends EndpointStore {
|
|
|
19
20
|
/**
|
|
20
21
|
* Create a {@link Datasource.ExternallyMutableStore} for a behavior.
|
|
21
22
|
*/
|
|
22
|
-
createStoreForBehavior(behaviorId: string):
|
|
23
|
+
createStoreForBehavior(behaviorId: string): DatasourceCache;
|
|
23
24
|
/**
|
|
24
25
|
* Create a {@link Datasource.Store} for a behavior that does not track a remote cluster.
|
|
25
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientEndpointStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientEndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientEndpointStore.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/ClientEndpointStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,mBAAoB,SAAQ,aAAa;;gBAItC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc;IAMnF,IAAI,MAAM,mBAET;IAED;;OAEG;IACH,IAAI,WAAW,YAEd;IAED,cAAc,CAAC,WAAW,EAAE,WAAW;IASvC;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM;IAKzC;;OAEG;IACH,2BAA2B,CAAC,UAAU,EAAE,MAAM;CAIjD"}
|
|
@@ -4,14 +4,25 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Datasource } from "#behavior/state/managed/Datasource.js";
|
|
7
|
+
import { MaybePromise } from "#general";
|
|
7
8
|
import { Val } from "#protocol";
|
|
8
9
|
import type { ClientEndpointStore } from "./ClientEndpointStore.js";
|
|
9
10
|
/**
|
|
10
|
-
*
|
|
11
|
+
* The default implementation of {@link Datasource.ExternallyMutableStore}.
|
|
11
12
|
*
|
|
12
|
-
* This implements storage for attribute values for a single cluster loaded from
|
|
13
|
+
* This implements storage for attribute values for a single cluster loaded from peers.
|
|
13
14
|
*/
|
|
14
|
-
export
|
|
15
|
+
export interface DatasourceCache extends Datasource.ExternallyMutableStore {
|
|
16
|
+
/**
|
|
17
|
+
* Reset the cache to "uninitialized" state by reclaiming {@link initialValues} from an active datasource.
|
|
18
|
+
*/
|
|
19
|
+
reclaimValues(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Erase values just for this datasource.
|
|
22
|
+
*/
|
|
23
|
+
erase(): MaybePromise<void>;
|
|
24
|
+
}
|
|
25
|
+
export declare function DatasourceCache(store: ClientEndpointStore, behaviorId: string, initialValues: Val.Struct | undefined): DatasourceCache;
|
|
15
26
|
export declare namespace DatasourceCache {
|
|
16
27
|
/**
|
|
17
28
|
* Standard key for storing the version.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasourceCache.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/DatasourceCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"DatasourceCache.d.ts","sourceRoot":"","sources":["../../../../src/storage/client/DatasourceCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAiB,YAAY,EAAe,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU,CAAC,sBAAsB;IACtE;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;OAEG;IACH,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAC3B,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,GACtC,eAAe,CAqDjB;AAED,yBAAiB,eAAe,CAAC;IAC7B;;;;OAIG;IACI,MAAM,WAAW,gBAAgB,CAAC;CAC5C"}
|
|
@@ -31,11 +31,21 @@ function DatasourceCache(store, behaviorId, initialValues) {
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
externalChangeListener: void 0,
|
|
34
|
+
releaseValues: void 0,
|
|
35
|
+
reclaimValues() {
|
|
36
|
+
if (this.releaseValues) {
|
|
37
|
+
this.initialValues = this.releaseValues();
|
|
38
|
+
this.releaseValues = void 0;
|
|
39
|
+
}
|
|
40
|
+
},
|
|
34
41
|
get version() {
|
|
35
42
|
return version;
|
|
36
43
|
},
|
|
37
44
|
set version(_version) {
|
|
38
45
|
throw new InternalError("Datasource version must be set via externalSet");
|
|
46
|
+
},
|
|
47
|
+
async erase() {
|
|
48
|
+
await store.eraseStoreForBehavior(behaviorId);
|
|
39
49
|
}
|
|
40
50
|
};
|
|
41
51
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/storage/client/DatasourceCache.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAC3B,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,kBAAkB;AAC3B,SAAS,qBAAgD;AAsBlD,SAAS,gBACZ,OACA,YACA,eACe;AACf,MAAI,UAAU,gBAAgB,gBAAgB,WAAW;AACzD,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,WAAW;AAAA,EACzB;AAEA,SAAO;AAAA,IACH;AAAA,IAEA,MAAM,IAAI,aAA0B,QAAoB;AACpD,YAAM,cAAc,MAAM,eAAe,WAAW;AACpD,kBAAY,IAAI,MAAM,QAAQ,YAAY,MAAM;AAAA,IACpD;AAAA,IAEA,MAAM,YAAY,QAAoB;AAClC,UAAI,OAAO,OAAO,gBAAgB,WAAW,MAAM,UAAU;AACzD,kBAAU,OAAO,gBAAgB,WAAW;AAAA,MAChD;AAEA,YAAM,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,OAAO,CAAC;AAExC,UAAI,KAAK,wBAAwB;AAC7B,cAAM,KAAK,uBAAuB,MAAM;AAAA,MAC5C,OAAO;AACH,YAAI,CAAC,KAAK,eAAe;AACrB,eAAK,gBAAgB,CAAC;AAAA,QAC1B;AACA,eAAO,OAAO,KAAK,eAAe,MAAM;AAAA,MAC5C;AAAA,IACJ;AAAA,IAEA,wBAAwB;AAAA,IACxB,eAAe;AAAA,IAEf,gBAAgB;AACZ,UAAI,KAAK,eAAe;AACpB,aAAK,gBAAgB,KAAK,cAAc;AACxC,aAAK,gBAAgB;AAAA,MACzB;AAAA,IACJ;AAAA,IAEA,IAAI,UAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,IAAI,QAAQ,UAAkB;AAC1B,YAAM,IAAI,cAAc,gDAAgD;AAAA,IAC5E;AAAA,IAEA,MAAM,QAAQ;AACV,YAAM,MAAM,sBAAsB,UAAU;AAAA,IAChD;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,qBAAV;AAMI,EAAMA,iBAAA,cAAc;AAAA,GANd;",
|
|
5
5
|
"names": ["DatasourceCache"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20251111-11cc8c3bd",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
"#*": "./src/*"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
46
|
-
"@matter/model": "0.16.0-alpha.0-
|
|
47
|
-
"@matter/types": "0.16.0-alpha.0-
|
|
48
|
-
"@matter/protocol": "0.16.0-alpha.0-
|
|
45
|
+
"@matter/general": "0.16.0-alpha.0-20251111-11cc8c3bd",
|
|
46
|
+
"@matter/model": "0.16.0-alpha.0-20251111-11cc8c3bd",
|
|
47
|
+
"@matter/types": "0.16.0-alpha.0-20251111-11cc8c3bd",
|
|
48
|
+
"@matter/protocol": "0.16.0-alpha.0-20251111-11cc8c3bd"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
52
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
51
|
+
"@matter/tools": "0.16.0-alpha.0-20251111-11cc8c3bd",
|
|
52
|
+
"@matter/testing": "0.16.0-alpha.0-20251111-11cc8c3bd"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
|
@@ -130,10 +130,10 @@ export abstract class BehaviorBacking {
|
|
|
130
130
|
/**
|
|
131
131
|
* Destroy the backing.
|
|
132
132
|
*/
|
|
133
|
-
close(agent
|
|
133
|
+
close(agent?: Agent) {
|
|
134
134
|
const initialized = this.construction.status === Lifecycle.Status.Active;
|
|
135
135
|
if (!initialized) {
|
|
136
|
-
|
|
136
|
+
agent = undefined;
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
return this.construction.close(() => {
|
|
@@ -146,7 +146,7 @@ export abstract class BehaviorBacking {
|
|
|
146
146
|
},
|
|
147
147
|
);
|
|
148
148
|
|
|
149
|
-
if (
|
|
149
|
+
if (agent) {
|
|
150
150
|
result = MaybePromise.then(result, () => this.#invokeClose(agent));
|
|
151
151
|
}
|
|
152
152
|
|
|
@@ -178,6 +178,19 @@ export abstract class BehaviorBacking {
|
|
|
178
178
|
return this.#type;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
set type(type: Behavior.Type) {
|
|
182
|
+
if (!type.supports(this.#type)) {
|
|
183
|
+
// This is unlikely to cause issues because we limit to peer contexts. In that case we implement elements
|
|
184
|
+
// fairly expansively regardless of reported support. So worst case scenario the metadata reported earlier
|
|
185
|
+
// may be out of sync with the device. There is a small possibility this causes problems, though, so log a
|
|
186
|
+
// warning
|
|
187
|
+
logger.warn(
|
|
188
|
+
`The cluster for active behavior ${this} may no longer be strictly compatible with local implementation`,
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
this.#type = type;
|
|
192
|
+
}
|
|
193
|
+
|
|
181
194
|
/**
|
|
182
195
|
* Create an instance of the backed {@link Behavior}.
|
|
183
196
|
*
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { GlobalAttributeState } from "#behavior/cluster/ClusterState.js";
|
|
8
|
+
import { DatasourceCache } from "#endpoint/index.js";
|
|
8
9
|
import { SupportedElements } from "#endpoint/properties/Behaviors.js";
|
|
9
|
-
import { camelize } from "#general";
|
|
10
|
+
import { camelize, MaybePromise } from "#general";
|
|
10
11
|
import { ClusterModel } from "#model";
|
|
11
12
|
import { AttributeId, CommandId } from "#types";
|
|
12
13
|
import { BehaviorBacking } from "./BehaviorBacking.js";
|
|
@@ -54,4 +55,12 @@ export class ClientBehaviorBacking extends BehaviorBacking {
|
|
|
54
55
|
options.primaryKey = "id";
|
|
55
56
|
return options;
|
|
56
57
|
}
|
|
58
|
+
|
|
59
|
+
override close(): MaybePromise {
|
|
60
|
+
// Prepare the store for reuse in the case of reset
|
|
61
|
+
(this.store as DatasourceCache).reclaimValues?.();
|
|
62
|
+
|
|
63
|
+
// Omit the agent to skip disposal logic as client behaviors have none
|
|
64
|
+
super.close();
|
|
65
|
+
}
|
|
57
66
|
}
|
|
@@ -229,6 +229,11 @@ export namespace Datasource {
|
|
|
229
229
|
*/
|
|
230
230
|
externalChangeListener?: (changes: Val.Struct) => Promise<void>;
|
|
231
231
|
|
|
232
|
+
/**
|
|
233
|
+
* Callback installed by the store that releases the values from the datasource when invoked.
|
|
234
|
+
*/
|
|
235
|
+
releaseValues?: () => Val.Struct;
|
|
236
|
+
|
|
232
237
|
/**
|
|
233
238
|
* The current version of the data.
|
|
234
239
|
*/
|
|
@@ -472,6 +477,14 @@ function configureExternalChanges(internals: Internals) {
|
|
|
472
477
|
}
|
|
473
478
|
}
|
|
474
479
|
};
|
|
480
|
+
|
|
481
|
+
store.releaseValues = () => {
|
|
482
|
+
const { values } = internals;
|
|
483
|
+
|
|
484
|
+
internals.values = {};
|
|
485
|
+
|
|
486
|
+
return values;
|
|
487
|
+
};
|
|
475
488
|
}
|
|
476
489
|
|
|
477
490
|
/**
|
|
@@ -54,6 +54,7 @@ export class Behaviors {
|
|
|
54
54
|
#endpoint: Endpoint;
|
|
55
55
|
#supported: SupportedBehaviors;
|
|
56
56
|
#backings: Record<string, BehaviorBacking> = {};
|
|
57
|
+
#events: Record<string, EventEmitter> = {};
|
|
57
58
|
#options: Record<string, object | undefined>;
|
|
58
59
|
#protocol?: ProtocolService;
|
|
59
60
|
|
|
@@ -296,12 +297,6 @@ export class Behaviors {
|
|
|
296
297
|
}
|
|
297
298
|
|
|
298
299
|
this.inject(type, options);
|
|
299
|
-
|
|
300
|
-
this.#endpoint.lifecycle.change(EndpointLifecycle.Change.ServersChanged);
|
|
301
|
-
|
|
302
|
-
if (type.early && this.#endpoint.lifecycle.isInstalled) {
|
|
303
|
-
this.#activateLate(type);
|
|
304
|
-
}
|
|
305
300
|
}
|
|
306
301
|
|
|
307
302
|
/**
|
|
@@ -456,9 +451,12 @@ export class Behaviors {
|
|
|
456
451
|
}
|
|
457
452
|
|
|
458
453
|
/**
|
|
459
|
-
* Add support for an additional behavior
|
|
454
|
+
* Add support for an additional behavior.
|
|
455
|
+
*
|
|
456
|
+
* This should generally only be used prior to initialization. It may cause subtle errors if incompatible types are
|
|
457
|
+
* injected once the endpoint is initialized.
|
|
460
458
|
*/
|
|
461
|
-
inject(type: Behavior.Type, options?: Behavior.Options) {
|
|
459
|
+
inject(type: Behavior.Type, options?: Behavior.Options, notify = true) {
|
|
462
460
|
if (options) {
|
|
463
461
|
this.#options[type.id] = options;
|
|
464
462
|
}
|
|
@@ -470,6 +468,47 @@ export class Behaviors {
|
|
|
470
468
|
this.#supported[type.id] = type;
|
|
471
469
|
|
|
472
470
|
this.#augmentEndpoint(type);
|
|
471
|
+
|
|
472
|
+
if (notify) {
|
|
473
|
+
this.#endpoint.lifecycle.change(EndpointLifecycle.Change.ServersChanged);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
if (!this.#endpoint.lifecycle.isInstalled) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
const activeBacking = this.#backings[type.id];
|
|
481
|
+
if (activeBacking) {
|
|
482
|
+
activeBacking.type = type;
|
|
483
|
+
} else if (type.early) {
|
|
484
|
+
this.#activateLate(type);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* Drop support for a behavior.
|
|
490
|
+
*
|
|
491
|
+
* This is intended for synchronization with peers and should not be used for servers as Matter does not allow an
|
|
492
|
+
* endpoint to change its set of supported clusters.
|
|
493
|
+
*/
|
|
494
|
+
drop(id: string): MaybePromise<void> {
|
|
495
|
+
const supported = this.#supported[id];
|
|
496
|
+
if (!supported) {
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
delete this.#supported[id];
|
|
501
|
+
|
|
502
|
+
let promise: undefined | MaybePromise<void>;
|
|
503
|
+
const backing = this.#backings[id];
|
|
504
|
+
if (backing) {
|
|
505
|
+
logger.warn(`Removing ${backing} from active endpoint`);
|
|
506
|
+
promise = backing.close();
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
this.#endpoint.lifecycle.change(EndpointLifecycle.Change.ServersChanged);
|
|
510
|
+
|
|
511
|
+
return promise;
|
|
473
512
|
}
|
|
474
513
|
|
|
475
514
|
/**
|
|
@@ -704,17 +743,19 @@ export class Behaviors {
|
|
|
704
743
|
* Updates endpoint "state" and "events" properties to include properties for a supported behavior.
|
|
705
744
|
*/
|
|
706
745
|
#augmentEndpoint(type: Behavior.Type) {
|
|
746
|
+
const { id, Events } = type;
|
|
747
|
+
|
|
707
748
|
const get = () => this.#backingFor(type).stateView;
|
|
708
|
-
Object.defineProperty(this.#endpoint.state,
|
|
749
|
+
Object.defineProperty(this.#endpoint.state, id, { get, enumerable: true });
|
|
709
750
|
if (type.schema.id !== undefined) {
|
|
710
751
|
Object.defineProperty(this.#endpoint.state, type.schema.id, { get });
|
|
711
752
|
}
|
|
712
753
|
|
|
713
|
-
|
|
714
|
-
Object.defineProperty(this.#endpoint.events, type.id, {
|
|
754
|
+
Object.defineProperty(this.#endpoint.events, id, {
|
|
715
755
|
get: () => {
|
|
756
|
+
let events = this.#events[id];
|
|
716
757
|
if (!events) {
|
|
717
|
-
events = new
|
|
758
|
+
events = this.#events[id] = new Events();
|
|
718
759
|
|
|
719
760
|
if (typeof (events as Events).setContext === "function") {
|
|
720
761
|
(events as Events).setContext(this.#endpoint, type);
|