@matter/model 0.12.0-alpha.0-20241227-9e7d81837 → 0.12.0-alpha.0-20241229-9d9c99934

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.
Files changed (40) hide show
  1. package/dist/cjs/common/FieldValue.d.ts +1 -1
  2. package/dist/cjs/common/FieldValue.d.ts.map +1 -1
  3. package/dist/cjs/common/FieldValue.js.map +1 -1
  4. package/dist/cjs/common/Metatype.d.ts +19 -1
  5. package/dist/cjs/common/Metatype.d.ts.map +1 -1
  6. package/dist/cjs/common/Metatype.js +171 -170
  7. package/dist/cjs/common/Metatype.js.map +1 -1
  8. package/dist/cjs/common/Specification.d.ts +1 -1
  9. package/dist/cjs/common/Specification.d.ts.map +1 -1
  10. package/dist/cjs/logic/ModelDiff.d.ts +40 -0
  11. package/dist/cjs/logic/ModelDiff.d.ts.map +1 -0
  12. package/dist/cjs/logic/ModelDiff.js +119 -0
  13. package/dist/cjs/logic/ModelDiff.js.map +6 -0
  14. package/dist/cjs/logic/index.d.ts +1 -0
  15. package/dist/cjs/logic/index.d.ts.map +1 -1
  16. package/dist/cjs/logic/index.js +1 -0
  17. package/dist/cjs/logic/index.js.map +1 -1
  18. package/dist/esm/common/FieldValue.d.ts +1 -1
  19. package/dist/esm/common/FieldValue.d.ts.map +1 -1
  20. package/dist/esm/common/FieldValue.js.map +1 -1
  21. package/dist/esm/common/Metatype.d.ts +19 -1
  22. package/dist/esm/common/Metatype.d.ts.map +1 -1
  23. package/dist/esm/common/Metatype.js +171 -170
  24. package/dist/esm/common/Metatype.js.map +1 -1
  25. package/dist/esm/common/Specification.d.ts +1 -1
  26. package/dist/esm/common/Specification.d.ts.map +1 -1
  27. package/dist/esm/logic/ModelDiff.d.ts +40 -0
  28. package/dist/esm/logic/ModelDiff.d.ts.map +1 -0
  29. package/dist/esm/logic/ModelDiff.js +99 -0
  30. package/dist/esm/logic/ModelDiff.js.map +6 -0
  31. package/dist/esm/logic/index.d.ts +1 -0
  32. package/dist/esm/logic/index.d.ts.map +1 -1
  33. package/dist/esm/logic/index.js +1 -0
  34. package/dist/esm/logic/index.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/common/FieldValue.ts +1 -1
  37. package/src/common/Metatype.ts +200 -181
  38. package/src/common/Specification.ts +1 -1
  39. package/src/logic/ModelDiff.ts +150 -0
  40. package/src/logic/index.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/common/Metatype.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Metatype"]
6
6
  }
@@ -39,7 +39,7 @@ export declare namespace Specification {
39
39
  /**
40
40
  * Matter specification version.
41
41
  */
42
- type Revision = `${number}.${number}`;
42
+ type Revision = `${number}.${number}` | `${number}.${number}.${number}.${number}`;
43
43
  /**
44
44
  * The default specification revision for Matter.js.
45
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Specification.d.ts","sourceRoot":"","sources":["../../../src/common/Specification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;CAC1B;AAED,yBAAiB,aAAa,CAAC;IAC3B;;OAEG;IACH,KAAY,KAAK;QACb,IAAI,8BAA8B;QAClC,OAAO,6CAA6C;QACpD,MAAM,wCAAwC;QAC9C,SAAS,4CAA4C;KACxD;IAED;;OAEG;IACH,KAAY,cAAc,GAAG;QACzB;;WAEG;QACH,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAE7B;;;WAGG;QACH,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,KAAY,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;IAE7C;;OAEG;IACI,MAAM,QAAQ,YAAY,CAAC;IAElC;;;;OAIG;IACI,MAAM,qBAAqB,WAAa,CAAC;IAEhD;;OAEG;IACI,MAAM,mBAAmB,KAAK,CAAC;IAEtC;;OAEG;IACI,MAAM,0BAA0B,KAAK,CAAC;CAChD"}
1
+ {"version":3,"file":"Specification.d.ts","sourceRoot":"","sources":["../../../src/common/Specification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,oBAAY,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;CAC1B;AAED,yBAAiB,aAAa,CAAC;IAC3B;;OAEG;IACH,KAAY,KAAK;QACb,IAAI,8BAA8B;QAClC,OAAO,6CAA6C;QACpD,MAAM,wCAAwC;QAC9C,SAAS,4CAA4C;KACxD;IAED;;OAEG;IACH,KAAY,cAAc,GAAG;QACzB;;WAEG;QACH,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;QAE7B;;;WAGG;QACH,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;OAEG;IACH,KAAY,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;IAEzF;;OAEG;IACI,MAAM,QAAQ,YAAY,CAAC;IAElC;;;;OAIG;IACI,MAAM,qBAAqB,WAAa,CAAC;IAEhD;;OAEG;IACI,MAAM,mBAAmB,KAAK,CAAC;IAEtC;;OAEG;IACI,MAAM,0BAA0B,KAAK,CAAC;CAChD"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ElementTag } from "#common/ElementTag.js";
7
+ import { Model } from "#models/Model.js";
8
+ /**
9
+ * A high level summary of changes between two models.
10
+ */
11
+ export type ModelDiff = ModelDiff.Add | ModelDiff.Delete | ModelDiff.List | ModelDiff.Summary;
12
+ /**
13
+ * Diff two models.
14
+ */
15
+ export declare function ModelDiff(from: Model, to: Model, depth?: number): ModelDiff | undefined;
16
+ export declare namespace ModelDiff {
17
+ /**
18
+ * Convert a diff to a diagnostic for serialization.
19
+ */
20
+ function diagnosticOf(diff: ModelDiff | undefined): unknown;
21
+ interface Identity {
22
+ name: string;
23
+ tag: ElementTag;
24
+ }
25
+ interface Add extends Identity {
26
+ kind: "add";
27
+ }
28
+ interface Delete extends Identity {
29
+ kind: "delete";
30
+ }
31
+ interface List extends Identity {
32
+ kind: "list";
33
+ children: ModelDiff[];
34
+ }
35
+ interface Summary extends Identity {
36
+ kind: "summary";
37
+ changes: Record<ElementTag, number>;
38
+ }
39
+ }
40
+ //# sourceMappingURL=ModelDiff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelDiff.d.ts","sourceRoot":"","sources":["../../../src/logic/ModelDiff.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;AAE9F;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,SAAI,yBAG1D;AAkED,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,SAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAgCjE;IAED,UAAiB,QAAQ;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,UAAU,CAAC;KACnB;IAED,UAAiB,GAAI,SAAQ,QAAQ;QACjC,IAAI,EAAE,KAAK,CAAC;KACf;IAED,UAAiB,MAAO,SAAQ,QAAQ;QACpC,IAAI,EAAE,QAAQ,CAAC;KAClB;IAED,UAAiB,IAAK,SAAQ,QAAQ;QAClC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,SAAS,EAAE,CAAC;KACzB;IAED,UAAiB,OAAQ,SAAQ,QAAQ;QACrC,IAAI,EAAE,SAAS,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;KACvC;CACJ"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Specification } from "#index.js";
7
+ import { Diagnostic } from "@matter/general";
8
+ import { ModelVariantTraversal } from "./ModelVariantTraversal.js";
9
+ function ModelDiff(from, to, depth = 2) {
10
+ const traversal = new DiffTraversal(depth);
11
+ return traversal.traverse({ from, to });
12
+ }
13
+ class DiffTraversal extends ModelVariantTraversal {
14
+ #detailDepth;
15
+ #currentDepth = 0;
16
+ constructor(depth) {
17
+ super(Specification.REVISION, ["from", "to"]);
18
+ this.#detailDepth = depth;
19
+ }
20
+ visit(variants, recurse) {
21
+ if (variants.map.to === void 0) {
22
+ if (variants.map.from === void 0) {
23
+ return;
24
+ }
25
+ return {
26
+ kind: "delete",
27
+ tag: variants.tag,
28
+ name: variants.name
29
+ };
30
+ }
31
+ if (variants.map.from === void 0) {
32
+ return {
33
+ kind: "add",
34
+ tag: variants.tag,
35
+ name: variants.name
36
+ };
37
+ }
38
+ if (this.#currentDepth >= this.#detailDepth) {
39
+ return;
40
+ }
41
+ this.#currentDepth++;
42
+ const children = recurse().filter((child) => child !== void 0);
43
+ this.#currentDepth--;
44
+ if (!children.length) {
45
+ return;
46
+ }
47
+ if (this.#currentDepth < this.#detailDepth - 1) {
48
+ return {
49
+ kind: "list",
50
+ tag: variants.tag,
51
+ name: variants.name,
52
+ children
53
+ };
54
+ }
55
+ const changes = {};
56
+ for (const child of children) {
57
+ changes[child.tag] = (changes[child.tag] ?? 0) + 1;
58
+ }
59
+ return {
60
+ kind: "summary",
61
+ tag: variants.tag,
62
+ name: variants.name,
63
+ changes
64
+ };
65
+ }
66
+ }
67
+ ((ModelDiff2) => {
68
+ function diagnosticOf(diff) {
69
+ const id = `${diff?.tag}#${diff?.name}`;
70
+ switch (diff?.kind) {
71
+ case "add":
72
+ return Diagnostic.added(id);
73
+ case "delete":
74
+ return Diagnostic.deleted(id);
75
+ case "list":
76
+ if (diff.children.length) {
77
+ return [id, Diagnostic.list(diff.children.map(diagnosticOf))];
78
+ }
79
+ break;
80
+ case "summary":
81
+ const changes = Object.entries(diff.changes).map(([tag, count]) => {
82
+ if (count < 0) {
83
+ return Diagnostic.deleted(`${-count} ${tag}`);
84
+ }
85
+ if (count > 0) {
86
+ return Diagnostic.added(`${count} ${tag}`);
87
+ }
88
+ return Diagnostic.weak(`${0} ${tag}`);
89
+ });
90
+ return [`${id}`, ...changes];
91
+ }
92
+ return Diagnostic.weak("(unchanged)");
93
+ }
94
+ ModelDiff2.diagnosticOf = diagnosticOf;
95
+ })(ModelDiff || (ModelDiff = {}));
96
+ export {
97
+ ModelDiff
98
+ };
99
+ //# sourceMappingURL=ModelDiff.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/logic/ModelDiff.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,qBAAqB;AAE9B,SAAS,kBAAkB;AAC3B,SAAS,6BAA4C;AAU9C,SAAS,UAAU,MAAa,IAAW,QAAQ,GAAG;AACzD,QAAM,YAAY,IAAI,cAAc,KAAK;AACzC,SAAO,UAAU,SAAS,EAAE,MAAM,GAAG,CAAC;AAC1C;AAEA,MAAM,sBAAsB,sBAA6C;AAAA,EACrE;AAAA,EACA,gBAAgB;AAAA,EAEhB,YAAY,OAAe;AACvB,UAAM,cAAc,UAAU,CAAC,QAAQ,IAAI,CAAC;AAC5C,SAAK,eAAe;AAAA,EACxB;AAAA,EAEmB,MAAM,UAAyB,SAAiE;AAC/G,QAAI,SAAS,IAAI,OAAO,QAAW;AAC/B,UAAI,SAAS,IAAI,SAAS,QAAW;AACjC;AAAA,MACJ;AACA,aAAO;AAAA,QACH,MAAM;AAAA,QACN,KAAK,SAAS;AAAA,QACd,MAAM,SAAS;AAAA,MACnB;AAAA,IACJ;AAEA,QAAI,SAAS,IAAI,SAAS,QAAW;AACjC,aAAO;AAAA,QACH,MAAM;AAAA,QACN,KAAK,SAAS;AAAA,QACd,MAAM,SAAS;AAAA,MACnB;AAAA,IACJ;AAEA,QAAI,KAAK,iBAAiB,KAAK,cAAc;AACzC;AAAA,IACJ;AAEA,SAAK;AACL,UAAM,WAAW,QAAQ,EAAE,OAAO,WAAS,UAAU,MAAS;AAC9D,SAAK;AAEL,QAAI,CAAC,SAAS,QAAQ;AAClB;AAAA,IACJ;AAEA,QAAI,KAAK,gBAAgB,KAAK,eAAe,GAAG;AAC5C,aAAO;AAAA,QACH,MAAM;AAAA,QACN,KAAK,SAAS;AAAA,QACd,MAAM,SAAS;AAAA,QACf;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,UAAU,CAAC;AACjB,eAAW,SAAS,UAAU;AAC1B,cAAQ,MAAM,GAAG,KAAK,QAAQ,MAAM,GAAG,KAAK,KAAK;AAAA,IACrD;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,MACN,KAAK,SAAS;AAAA,MACd,MAAM,SAAS;AAAA,MACf;AAAA,IACJ;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUA,eAAV;AAII,WAAS,aAAa,MAAsC;AAC/D,UAAM,KAAK,GAAG,MAAM,GAAG,IAAI,MAAM,IAAI;AACrC,YAAQ,MAAM,MAAM;AAAA,MAChB,KAAK;AACD,eAAO,WAAW,MAAM,EAAE;AAAA,MAE9B,KAAK;AACD,eAAO,WAAW,QAAQ,EAAE;AAAA,MAEhC,KAAK;AACD,YAAI,KAAK,SAAS,QAAQ;AACtB,iBAAO,CAAC,IAAI,WAAW,KAAK,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC;AAAA,QAChE;AACA;AAAA,MAEJ,KAAK;AACD,cAAM,UAAU,OAAO,QAAQ,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/D,cAAI,QAAQ,GAAG;AACX,mBAAO,WAAW,QAAQ,GAAG,CAAC,KAAK,IAAI,GAAG,EAAE;AAAA,UAChD;AAEA,cAAI,QAAQ,GAAG;AACX,mBAAO,WAAW,MAAM,GAAG,KAAK,IAAI,GAAG,EAAE;AAAA,UAC7C;AAEA,iBAAO,WAAW,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE;AAAA,QACxC,CAAC;AAED,eAAO,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO;AAAA,IACnC;AAEA,WAAO,WAAW,KAAK,aAAa;AAAA,EACxC;AAhCO,EAAAA,WAAS;AAAA,GAJH;",
5
+ "names": ["ModelDiff"]
6
+ }
@@ -11,6 +11,7 @@ export * from "./cluster-variance/VarianceCondition.js";
11
11
  export * from "./ClusterVariance.js";
12
12
  export * from "./DefaultValue.js";
13
13
  export * from "./MergedModel.js";
14
+ export * from "./ModelDiff.js";
14
15
  export * from "./ModelVariantTraversal.js";
15
16
  export * from "./Scope.js";
16
17
  export * from "./ValidateModel.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logic/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,OAAO,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logic/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,OAAO,kCAAkC,CAAC"}
@@ -11,6 +11,7 @@ export * from "./cluster-variance/VarianceCondition.js";
11
11
  export * from "./ClusterVariance.js";
12
12
  export * from "./DefaultValue.js";
13
13
  export * from "./MergedModel.js";
14
+ export * from "./ModelDiff.js";
14
15
  export * from "./ModelVariantTraversal.js";
15
16
  export * from "./Scope.js";
16
17
  export * from "./ValidateModel.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/logic/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;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,OAAO;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,OAAO;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/model",
3
- "version": "0.12.0-alpha.0-20241227-9e7d81837",
3
+ "version": "0.12.0-alpha.0-20241229-9d9c99934",
4
4
  "description": "Matter data model",
5
5
  "keywords": [
6
6
  "iot",
@@ -33,12 +33,12 @@
33
33
  "embed-examples": "embedme **/README.md"
34
34
  },
35
35
  "dependencies": {
36
- "@matter/general": "0.12.0-alpha.0-20241227-9e7d81837",
36
+ "@matter/general": "0.12.0-alpha.0-20241229-9d9c99934",
37
37
  "@noble/curves": "^1.7.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@matter/tools": "0.12.0-alpha.0-20241227-9e7d81837",
41
- "@matter/testing": "0.12.0-alpha.0-20241227-9e7d81837"
40
+ "@matter/tools": "0.12.0-alpha.0-20241229-9d9c99934",
41
+ "@matter/testing": "0.12.0-alpha.0-20241229-9d9c99934"
42
42
  },
43
43
  "files": [
44
44
  "dist/**/*",
@@ -254,7 +254,7 @@ export namespace FieldValue {
254
254
  *
255
255
  * @returns the cast value or FieldValue.Invalid if cast is not possible
256
256
  */
257
- export function cast(type: Metatype, value: any): FieldValue | FieldValue.Invalid | undefined {
257
+ export function cast<const T extends Metatype>(type: T, value: any): FieldValue | FieldValue.Invalid | undefined {
258
258
  if (value === undefined || value === null || type === "any") {
259
259
  return value;
260
260
  }