@matter/model 0.15.0-alpha.0-20250619-df2264f15 → 0.15.0-alpha.0-20250620-16e218ed3
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/aspects/Aspect.d.ts.map +1 -1
- package/dist/cjs/aspects/Aspect.js +6 -7
- package/dist/cjs/aspects/Aspect.js.map +1 -1
- package/dist/cjs/models/CrossReference.d.ts +1 -1
- package/dist/cjs/models/CrossReference.js +1 -1
- package/dist/cjs/models/Resource.d.ts +1 -1
- package/dist/cjs/models/Resource.js +1 -1
- package/dist/esm/aspects/Aspect.d.ts.map +1 -1
- package/dist/esm/aspects/Aspect.js +6 -7
- package/dist/esm/aspects/Aspect.js.map +1 -1
- package/dist/esm/models/CrossReference.d.ts +1 -1
- package/dist/esm/models/CrossReference.js +1 -1
- package/dist/esm/models/Resource.d.ts +1 -1
- package/dist/esm/models/Resource.js +1 -1
- package/package.json +4 -4
- package/src/aspects/Aspect.ts +6 -7
- package/src/models/CrossReference.ts +1 -1
- package/src/models/Resource.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aspect.d.ts","sourceRoot":"","sources":["../../../src/aspects/Aspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Aspect.d.ts","sourceRoot":"","sources":["../../../src/aspects/Aspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQ/D;;;GAGG;AACH,8BAAsB,MAAM,CAAC,CAAC,GAAG,GAAG;IAChC,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,UAAS;IACR,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAEnC,IAAI,KAAK,YAER;gBAEW,UAAU,EAAE,CAAC;IAIzB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,GAAG;IAOjB,OAAO;IAKP,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAWnC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAEtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC,KAAK,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,GACd,YAAY,CAAC,IAAI,CAAC;IAoCrB,SAAS,CAAC,MAAM;CAGnB"}
|
|
@@ -28,12 +28,7 @@ var import_general = require("#general");
|
|
|
28
28
|
* SPDX-License-Identifier: Apache-2.0
|
|
29
29
|
*/
|
|
30
30
|
const empty = /* @__PURE__ */ new Map();
|
|
31
|
-
const aspectCache =
|
|
32
|
-
Access: {},
|
|
33
|
-
Conformance: {},
|
|
34
|
-
Constraint: {},
|
|
35
|
-
Quality: {}
|
|
36
|
-
};
|
|
31
|
+
const aspectCache = /* @__PURE__ */ new Map();
|
|
37
32
|
class Aspect {
|
|
38
33
|
definition;
|
|
39
34
|
isEmpty = false;
|
|
@@ -78,7 +73,11 @@ class Aspect {
|
|
|
78
73
|
return definition;
|
|
79
74
|
}
|
|
80
75
|
if (typeof definition === "string") {
|
|
81
|
-
|
|
76
|
+
let slot = aspectCache.get(this);
|
|
77
|
+
if (slot === void 0) {
|
|
78
|
+
slot = {};
|
|
79
|
+
aspectCache.set(this, slot);
|
|
80
|
+
}
|
|
82
81
|
let some = slot[definition];
|
|
83
82
|
if (some) {
|
|
84
83
|
return some;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/aspects/Aspect.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuC;AANvC;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,QAAQ,oBAAI,IAA8C;AAIhE,MAAM,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuC;AANvC;AAAA;AAAA;AAAA;AAAA;AASA,MAAM,QAAQ,oBAAI,IAA8C;AAIhE,MAAM,cAAc,oBAAI,IAA8D;AAM/E,MAAe,OAAgB;AAAA,EAClC;AAAA,EACA,UAAU;AAAA,EAGV,IAAI,QAAQ;AACR,WAAO,CAAC,KAAK;AAAA,EACjB;AAAA,EAEA,YAAY,YAAe;AACvB,SAAK,aAAa;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,OAAY;AACf,QAAI,EAAE,iBAAiB,KAAK,cAAc;AACtC,aAAO;AAAA,IACX;AACA,eAAO,4BAAY,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAAA,EACtD;AAAA,EAEA,UAAU;AACN,WAAO,KAAK,UAAU,SAAY,KAAK,SAAS;AAAA,EACpD;AAAA,EAKA,MAAM,MAAc,SAAiB;AACjC,QAAI,CAAC,KAAK,QAAQ;AACd,WAAK,SAAS,CAAC;AAAA,IACnB;AACA,SAAK,OAAO,KAAK;AAAA,MACb;AAAA,MACA,QAAQ,GAAG,KAAK,YAAY,IAAI,QAAI,0BAAU,KAAK,UAAU,CAAC;AAAA,MAC9D;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAIA,OAAO,OAEH,YACkB;AAClB,QAAI,eAAe,QAAW;AAC1B,UAAI,OAAO,MAAM,IAAI,IAAI;AACzB,UAAI,CAAC,MAAM;AACP,eAAO,IAAI,KAAK,UAAU;AAC1B,cAAM,IAAI,MAAM,IAAI;AAAA,MACxB;AACA,aAAO;AAAA,IACX;AAEA,QAAI,sBAAsB,MAAM;AAC5B,aAAO;AAAA,IACX;AAEA,QAAI,OAAO,eAAe,UAAU;AAChC,UAAI,OAAO,YAAY,IAAI,IAAI;AAC/B,UAAI,SAAS,QAAW;AACpB,eAAO,CAAC;AACR,oBAAY,IAAI,MAAM,IAAI;AAAA,MAC9B;AAEA,UAAI,OAAO,KAAK,UAAU;AAC1B,UAAI,MAAM;AACN,eAAO;AAAA,MACX;AAEA,aAAO,eAAe,KAAM,KAAoC,OAAO,IAAI,IAAI,KAAK,UAAU;AAE9F,WAAK,UAAU,IAAI;AAEnB,aAAO;AAAA,IACX;AAEA,WAAO,IAAI,KAAK,UAAU;AAAA,EAC9B;AAAA,EAEU,SAAS;AACf,WAAO,OAAO,IAAI;AAAA,EACtB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -23,7 +23,7 @@ __export(CrossReference_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(CrossReference_exports);
|
|
24
24
|
/**
|
|
25
25
|
* @license
|
|
26
|
-
* Copyright 2022-2025
|
|
26
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
27
27
|
* SPDX-License-Identifier: Apache-2.0
|
|
28
28
|
*/
|
|
29
29
|
const inspect = Symbol.for("nodejs.util.inspect.custom");
|
|
@@ -25,7 +25,7 @@ module.exports = __toCommonJS(Resource_exports);
|
|
|
25
25
|
var import_CrossReference = require("./CrossReference.js");
|
|
26
26
|
/**
|
|
27
27
|
* @license
|
|
28
|
-
* Copyright 2022-2025
|
|
28
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
29
29
|
* SPDX-License-Identifier: Apache-2.0
|
|
30
30
|
*/
|
|
31
31
|
class Resource {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aspect.d.ts","sourceRoot":"","sources":["../../../src/aspects/Aspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Aspect.d.ts","sourceRoot":"","sources":["../../../src/aspects/Aspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQ/D;;;GAGG;AACH,8BAAsB,MAAM,CAAC,CAAC,GAAG,GAAG;IAChC,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,UAAS;IACR,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAEnC,IAAI,KAAK,YAER;gBAEW,UAAU,EAAE,CAAC;IAIzB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,GAAG;IAOjB,OAAO;IAKP,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAWnC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAEtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC,KAAK,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,GACd,YAAY,CAAC,IAAI,CAAC;IAoCrB,SAAS,CAAC,MAAM;CAGnB"}
|
|
@@ -5,12 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { isDeepEqual, serialize } from "#general";
|
|
7
7
|
const empty = /* @__PURE__ */ new Map();
|
|
8
|
-
const aspectCache =
|
|
9
|
-
Access: {},
|
|
10
|
-
Conformance: {},
|
|
11
|
-
Constraint: {},
|
|
12
|
-
Quality: {}
|
|
13
|
-
};
|
|
8
|
+
const aspectCache = /* @__PURE__ */ new Map();
|
|
14
9
|
class Aspect {
|
|
15
10
|
definition;
|
|
16
11
|
isEmpty = false;
|
|
@@ -55,7 +50,11 @@ class Aspect {
|
|
|
55
50
|
return definition;
|
|
56
51
|
}
|
|
57
52
|
if (typeof definition === "string") {
|
|
58
|
-
|
|
53
|
+
let slot = aspectCache.get(this);
|
|
54
|
+
if (slot === void 0) {
|
|
55
|
+
slot = {};
|
|
56
|
+
aspectCache.set(this, slot);
|
|
57
|
+
}
|
|
59
58
|
let some = slot[definition];
|
|
60
59
|
if (some) {
|
|
61
60
|
return some;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/aspects/Aspect.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,iBAAiB;AAGvC,MAAM,QAAQ,oBAAI,IAA8C;AAIhE,MAAM,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,aAAa,iBAAiB;AAGvC,MAAM,QAAQ,oBAAI,IAA8C;AAIhE,MAAM,cAAc,oBAAI,IAA8D;AAM/E,MAAe,OAAgB;AAAA,EAClC;AAAA,EACA,UAAU;AAAA,EAGV,IAAI,QAAQ;AACR,WAAO,CAAC,KAAK;AAAA,EACjB;AAAA,EAEA,YAAY,YAAe;AACvB,SAAK,aAAa;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,OAAY;AACf,QAAI,EAAE,iBAAiB,KAAK,cAAc;AACtC,aAAO;AAAA,IACX;AACA,WAAO,YAAY,KAAK,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAAA,EACtD;AAAA,EAEA,UAAU;AACN,WAAO,KAAK,UAAU,SAAY,KAAK,SAAS;AAAA,EACpD;AAAA,EAKA,MAAM,MAAc,SAAiB;AACjC,QAAI,CAAC,KAAK,QAAQ;AACd,WAAK,SAAS,CAAC;AAAA,IACnB;AACA,SAAK,OAAO,KAAK;AAAA,MACb;AAAA,MACA,QAAQ,GAAG,KAAK,YAAY,IAAI,IAAI,UAAU,KAAK,UAAU,CAAC;AAAA,MAC9D;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAIA,OAAO,OAEH,YACkB;AAClB,QAAI,eAAe,QAAW;AAC1B,UAAI,OAAO,MAAM,IAAI,IAAI;AACzB,UAAI,CAAC,MAAM;AACP,eAAO,IAAI,KAAK,UAAU;AAC1B,cAAM,IAAI,MAAM,IAAI;AAAA,MACxB;AACA,aAAO;AAAA,IACX;AAEA,QAAI,sBAAsB,MAAM;AAC5B,aAAO;AAAA,IACX;AAEA,QAAI,OAAO,eAAe,UAAU;AAChC,UAAI,OAAO,YAAY,IAAI,IAAI;AAC/B,UAAI,SAAS,QAAW;AACpB,eAAO,CAAC;AACR,oBAAY,IAAI,MAAM,IAAI;AAAA,MAC9B;AAEA,UAAI,OAAO,KAAK,UAAU;AAC1B,UAAI,MAAM;AACN,eAAO;AAAA,MACX;AAEA,aAAO,eAAe,KAAM,KAAoC,OAAO,IAAI,IAAI,KAAK,UAAU;AAE9F,WAAK,UAAU,IAAI;AAEnB,aAAO;AAAA,IACX;AAEA,WAAO,IAAI,KAAK,UAAU;AAAA,EAC9B;AAAA,EAEU,SAAS;AACf,WAAO,OAAO,IAAI;AAAA,EACtB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/model",
|
|
3
|
-
"version": "0.15.0-alpha.0-
|
|
3
|
+
"version": "0.15.0-alpha.0-20250620-16e218ed3",
|
|
4
4
|
"description": "Matter data model",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"embed-examples": "embedme **/README.md"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@matter/general": "0.15.0-alpha.0-
|
|
36
|
+
"@matter/general": "0.15.0-alpha.0-20250620-16e218ed3"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@matter/testing": "0.15.0-alpha.0-
|
|
40
|
-
"@matter/tools": "0.15.0-alpha.0-
|
|
39
|
+
"@matter/testing": "0.15.0-alpha.0-20250620-16e218ed3",
|
|
40
|
+
"@matter/tools": "0.15.0-alpha.0-20250620-16e218ed3"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist/**/*",
|
package/src/aspects/Aspect.ts
CHANGED
|
@@ -11,12 +11,7 @@ const empty = new Map<new (definition?: any) => Aspect, Aspect>();
|
|
|
11
11
|
|
|
12
12
|
// Aspects are immutable, there are not many permutations, and their definitions are largely normalized strings. So we
|
|
13
13
|
// cache them to keep the object count down
|
|
14
|
-
const aspectCache
|
|
15
|
-
Access: {},
|
|
16
|
-
Conformance: {},
|
|
17
|
-
Constraint: {},
|
|
18
|
-
Quality: {},
|
|
19
|
-
};
|
|
14
|
+
const aspectCache = new Map<new (definition?: any) => Aspect, Record<string, Aspect>>();
|
|
20
15
|
|
|
21
16
|
/**
|
|
22
17
|
* An "aspect" is metadata about a Matter element that affects implementation behavior. Aspects are mostly "qualities"
|
|
@@ -83,7 +78,11 @@ export abstract class Aspect<D = any> {
|
|
|
83
78
|
}
|
|
84
79
|
|
|
85
80
|
if (typeof definition === "string") {
|
|
86
|
-
|
|
81
|
+
let slot = aspectCache.get(this);
|
|
82
|
+
if (slot === undefined) {
|
|
83
|
+
slot = {};
|
|
84
|
+
aspectCache.set(this, slot);
|
|
85
|
+
}
|
|
87
86
|
|
|
88
87
|
let some = slot[definition];
|
|
89
88
|
if (some) {
|