@matter/model 0.15.0-alpha.0-20250619-df2264f15 → 0.15.0-alpha.0-20250624-e8c89f458

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.
@@ -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;AAa/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;IAgCrB,SAAS,CAAC,MAAM;CAGnB"}
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
- const slot = aspectCache[this.name];
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,cAAsD;AAAA,EACxD,QAAQ,CAAC;AAAA,EACT,aAAa,CAAC;AAAA,EACd,YAAY,CAAC;AAAA,EACb,SAAS,CAAC;AACd;AAMO,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,YAAM,OAAO,YAAY,KAAK,IAAI;AAElC,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;",
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
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Specification } from "#common/Specification.js";
@@ -23,7 +23,7 @@ __export(CrossReference_exports, {
23
23
  module.exports = __toCommonJS(CrossReference_exports);
24
24
  /**
25
25
  * @license
26
- * Copyright 2022-2025 Project CHIP Authors
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");
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { DefinitionError } from "#common/DefinitionError.js";
@@ -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 Project CHIP Authors
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;AAa/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;IAgCrB,SAAS,CAAC,MAAM;CAGnB"}
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
- const slot = aspectCache[this.name];
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,cAAsD;AAAA,EACxD,QAAQ,CAAC;AAAA,EACT,aAAa,CAAC;AAAA,EACd,YAAY,CAAC;AAAA,EACb,SAAS,CAAC;AACd;AAMO,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,YAAM,OAAO,YAAY,KAAK,IAAI;AAElC,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;",
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
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Specification } from "#common/Specification.js";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  const inspect = Symbol.for("nodejs.util.inspect.custom");
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { DefinitionError } from "#common/DefinitionError.js";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CrossReference } from "./CrossReference.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/model",
3
- "version": "0.15.0-alpha.0-20250619-df2264f15",
3
+ "version": "0.15.0-alpha.0-20250624-e8c89f458",
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-20250619-df2264f15"
36
+ "@matter/general": "0.15.0-alpha.0-20250624-e8c89f458"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.15.0-alpha.0-20250619-df2264f15",
40
- "@matter/tools": "0.15.0-alpha.0-20250619-df2264f15"
39
+ "@matter/testing": "0.15.0-alpha.0-20250624-e8c89f458",
40
+ "@matter/tools": "0.15.0-alpha.0-20250624-e8c89f458"
41
41
  },
42
42
  "files": [
43
43
  "dist/**/*",
@@ -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: Record<string, Record<string, Aspect>> = {
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
- const slot = aspectCache[this.name];
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) {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2022-2025 Project CHIP Authors
3
+ * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6