@matter/model 0.12.0-alpha.0-20241228-9f74a0273 → 0.12.0-alpha.0-20241231-14ac774ba

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 (73) hide show
  1. package/dist/cjs/aspects/Constraint.d.ts +24 -15
  2. package/dist/cjs/aspects/Constraint.d.ts.map +1 -1
  3. package/dist/cjs/aspects/Constraint.js +268 -198
  4. package/dist/cjs/aspects/Constraint.js.map +2 -2
  5. package/dist/cjs/common/FieldValue.d.ts +10 -4
  6. package/dist/cjs/common/FieldValue.d.ts.map +1 -1
  7. package/dist/cjs/common/FieldValue.js +1 -1
  8. package/dist/cjs/common/FieldValue.js.map +1 -1
  9. package/dist/cjs/common/Metatype.d.ts +19 -1
  10. package/dist/cjs/common/Metatype.d.ts.map +1 -1
  11. package/dist/cjs/common/Metatype.js +171 -170
  12. package/dist/cjs/common/Metatype.js.map +1 -1
  13. package/dist/cjs/common/Specification.d.ts +1 -1
  14. package/dist/cjs/common/Specification.d.ts.map +1 -1
  15. package/dist/cjs/logic/ModelDiff.d.ts +40 -0
  16. package/dist/cjs/logic/ModelDiff.d.ts.map +1 -0
  17. package/dist/cjs/logic/ModelDiff.js +119 -0
  18. package/dist/cjs/logic/ModelDiff.js.map +6 -0
  19. package/dist/cjs/logic/definition-validation/ValueValidator.js +1 -1
  20. package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
  21. package/dist/cjs/logic/index.d.ts +1 -0
  22. package/dist/cjs/logic/index.d.ts.map +1 -1
  23. package/dist/cjs/logic/index.js +1 -0
  24. package/dist/cjs/logic/index.js.map +1 -1
  25. package/dist/cjs/parser/Lexer.d.ts +3 -3
  26. package/dist/cjs/parser/Lexer.d.ts.map +1 -1
  27. package/dist/cjs/parser/Lexer.js +35 -31
  28. package/dist/cjs/parser/Lexer.js.map +1 -1
  29. package/dist/cjs/parser/Token.d.ts +5 -2
  30. package/dist/cjs/parser/Token.d.ts.map +1 -1
  31. package/dist/cjs/parser/TokenStream.js +2 -2
  32. package/dist/esm/aspects/Constraint.d.ts +24 -15
  33. package/dist/esm/aspects/Constraint.d.ts.map +1 -1
  34. package/dist/esm/aspects/Constraint.js +269 -199
  35. package/dist/esm/aspects/Constraint.js.map +2 -2
  36. package/dist/esm/common/FieldValue.d.ts +10 -4
  37. package/dist/esm/common/FieldValue.d.ts.map +1 -1
  38. package/dist/esm/common/FieldValue.js +1 -1
  39. package/dist/esm/common/FieldValue.js.map +1 -1
  40. package/dist/esm/common/Metatype.d.ts +19 -1
  41. package/dist/esm/common/Metatype.d.ts.map +1 -1
  42. package/dist/esm/common/Metatype.js +171 -170
  43. package/dist/esm/common/Metatype.js.map +1 -1
  44. package/dist/esm/common/Specification.d.ts +1 -1
  45. package/dist/esm/common/Specification.d.ts.map +1 -1
  46. package/dist/esm/logic/ModelDiff.d.ts +40 -0
  47. package/dist/esm/logic/ModelDiff.d.ts.map +1 -0
  48. package/dist/esm/logic/ModelDiff.js +99 -0
  49. package/dist/esm/logic/ModelDiff.js.map +6 -0
  50. package/dist/esm/logic/definition-validation/ValueValidator.js +1 -1
  51. package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
  52. package/dist/esm/logic/index.d.ts +1 -0
  53. package/dist/esm/logic/index.d.ts.map +1 -1
  54. package/dist/esm/logic/index.js +1 -0
  55. package/dist/esm/logic/index.js.map +1 -1
  56. package/dist/esm/parser/Lexer.d.ts +3 -3
  57. package/dist/esm/parser/Lexer.d.ts.map +1 -1
  58. package/dist/esm/parser/Lexer.js +35 -31
  59. package/dist/esm/parser/Lexer.js.map +1 -1
  60. package/dist/esm/parser/Token.d.ts +5 -2
  61. package/dist/esm/parser/Token.d.ts.map +1 -1
  62. package/dist/esm/parser/TokenStream.js +2 -2
  63. package/package.json +4 -4
  64. package/src/aspects/Constraint.ts +340 -215
  65. package/src/common/FieldValue.ts +10 -5
  66. package/src/common/Metatype.ts +200 -181
  67. package/src/common/Specification.ts +1 -1
  68. package/src/logic/ModelDiff.ts +150 -0
  69. package/src/logic/definition-validation/ValueValidator.ts +1 -1
  70. package/src/logic/index.ts +1 -0
  71. package/src/parser/Lexer.ts +38 -40
  72. package/src/parser/Token.ts +11 -1
  73. package/src/parser/TokenStream.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/common/FieldValue.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["FieldValue", "type"]
6
6
  }
@@ -31,6 +31,10 @@ export declare namespace Metatype {
31
31
  * Determine the JS type for a metatype.
32
32
  */
33
33
  function native(type: Metatype | undefined): ObjectConstructor | ArrayConstructor | NumberConstructor | DateConstructor | Uint8ArrayConstructor | BigIntConstructor | BooleanConstructor | StringConstructor | undefined;
34
+ /**
35
+ * Map metatype value to JS type.
36
+ */
37
+ type Native<T> = T extends "boolean" ? boolean : T extends "integer" | "float" ? number : T extends "string" ? string : T extends "bitmap" | "object" ? Record<string, unknown> : T extends "array" ? unknown[] : T extends "bytes" ? Uint8Array : T extends "date" ? Date : T extends "any" ? unknown : never;
34
38
  /**
35
39
  * Functions that perform conversion of arbitrary values to a metatype.
36
40
  *
@@ -39,7 +43,21 @@ export declare namespace Metatype {
39
43
  *
40
44
  * @throws {@link UnsupportedCastError} if the cast is deemed impossible
41
45
  */
42
- const cast: Record<Metatype, (value: any) => any>;
46
+ function cast<const T extends `${Metatype}`>(type: T, value: unknown): Native<T>;
47
+ namespace cast {
48
+ export var any: (value: unknown) => unknown;
49
+ export var boolean: (value: unknown) => boolean | null | undefined;
50
+ export var bitmap: (value: any) => number | bigint | Record<string, number> | null | undefined;
51
+ var _a: (value: any) => number | string | null | undefined;
52
+ export var integer: (value: any) => number | bigint | null | undefined;
53
+ export var float: (value: any) => number | null | undefined;
54
+ export var bytes: (value: any) => Uint8Array | null | undefined;
55
+ export var array: (value: any) => Array<unknown> | null | undefined;
56
+ export var object: (value: any) => Record<string, unknown> | null | undefined;
57
+ export var string: (value: any) => string | null | undefined;
58
+ export var date: (value: any) => Date | null | undefined;
59
+ export { _a as enum };
60
+ }
43
61
  /**
44
62
  * These are the native types used by this module.
45
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Metatype.d.ts","sourceRoot":"","sources":["../../../src/common/Metatype.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAY,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE;;GAEG;AACH,oBAAY,QAAQ;IAChB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,SAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,WAUrD;IAED;;OAEG;IACH,SAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,+KA4BhD;IAED;;;;;;;OAOG;IACI,MAAM,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CA6OtD,CAAC;IAEF;;OAEG;IACH,KAAY,UAAU,GAChB,OAAO,OAAO,GACd,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,KAAK,GACZ,OAAO,KAAK,GACZ,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"Metatype.d.ts","sourceRoot":"","sources":["../../../src/common/Metatype.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAY,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvE,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE;;GAEG;AACH,oBAAY,QAAQ;IAChB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CAChB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,SAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,WAUrD;IAED;;OAEG;IACH,SAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,+KA4BhD;IAED;;OAEG;IACH,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GACrC,OAAO,GACP,CAAC,SAAS,SAAS,GAAG,OAAO,GAC3B,MAAM,GACN,CAAC,SAAS,QAAQ,GAChB,MAAM,GACN,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,CAAC,SAAS,OAAO,GACf,OAAO,EAAE,GACT,CAAC,SAAS,OAAO,GACf,UAAU,GACV,CAAC,SAAS,MAAM,GACd,IAAI,GACJ,CAAC,SAAS,KAAK,GACb,OAAO,GACP,KAAK,CAAC;IAE1B;;;;;;;OAOG;IACH,SAAgB,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAE/C,MAAM,CAAC,CAAC,CAAC,CACpC;cAHe,IAAI;gCAKD,OAAO;oCAEH,OAAO,KAAG,OAAO,GAAG,IAAI,GAAG,SAAS;mCAuCrC,GAAG,KAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS;wBAyBnE,GAAG,KAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;oCAgBrC,GAAG,KAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;kCAsC1C,GAAG,KAAG,MAAM,GAAG,IAAI,GAAG,SAAS;kCAiB/B,GAAG,KAAG,UAAU,GAAG,IAAI,GAAG,SAAS;kCAoBnC,GAAG,KAAG,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;mCAqBtC,GAAG,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS;mCAmBhD,GAAG,KAAG,MAAM,GAAG,IAAI,GAAG,SAAS;iCAoBjC,GAAG,KAAG,IAAI,GAAG,IAAI,GAAG,SAAS;;;IAejD;;OAEG;IACH,KAAY,UAAU,GAChB,OAAO,OAAO,GACd,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,KAAK,GACZ,OAAO,KAAK,GACZ,OAAO,MAAM,GACb,OAAO,MAAM,GACb,OAAO,IAAI,CAAC;CACrB"}
@@ -55,194 +55,195 @@ var Metatype = /* @__PURE__ */ ((Metatype2) => {
55
55
  }
56
56
  }
57
57
  Metatype2.native = native;
58
- Metatype2.cast = {
59
- any(value) {
58
+ function cast(type, value) {
59
+ const caster = cast[type];
60
+ return caster(value);
61
+ }
62
+ Metatype2.cast = cast;
63
+ cast.any = (value) => value;
64
+ cast.boolean = (value) => {
65
+ if (typeof value === "boolean" || value === null || value === void 0) {
60
66
  return value;
61
- },
62
- boolean(value) {
63
- if (typeof value === "boolean" || value === null || value === void 0) {
64
- return value;
65
- }
66
- if (typeof value === "string") {
67
- const normalized = value.toLowerCase().trim();
68
- switch (normalized) {
69
- case "":
70
- case "0":
71
- case "off":
72
- case "no":
73
- case "false":
74
- return false;
75
- case "1":
76
- case "on":
77
- case "yes":
78
- case "true":
79
- return true;
80
- }
81
- }
82
- if (typeof value === "number" || typeof value === "bigint") {
83
- return !!value;
67
+ }
68
+ if (typeof value === "string") {
69
+ const normalized = value.toLowerCase().trim();
70
+ switch (normalized) {
71
+ case "":
72
+ case "0":
73
+ case "off":
74
+ case "no":
75
+ case "false":
76
+ return false;
77
+ case "1":
78
+ case "on":
79
+ case "yes":
80
+ case "true":
81
+ return true;
84
82
  }
85
- if (ArrayBuffer.isView(value)) {
86
- for (const byte of new Uint8Array(value.buffer)) {
87
- if (byte) {
88
- return true;
89
- }
83
+ }
84
+ if (typeof value === "number" || typeof value === "bigint") {
85
+ return !!value;
86
+ }
87
+ if (ArrayBuffer.isView(value)) {
88
+ for (const byte of new Uint8Array(value.buffer)) {
89
+ if (byte) {
90
+ return true;
90
91
  }
91
- return false;
92
- }
93
- throw new UnsupportedCastError(`Cannot convert "${value}" to boolean`);
94
- },
95
- bitmap(value) {
96
- if (value === null || value === void 0) {
97
- return value;
98
92
  }
99
- if (typeof value === "string") {
100
- value = Metatype2.cast.integer(value);
101
- }
102
- if (typeof value === "number") {
103
- if (Number.isFinite(value)) {
104
- return value;
105
- }
106
- } else if (typeof value === "bigint") {
93
+ return false;
94
+ }
95
+ throw new UnsupportedCastError(`Cannot convert "${value}" to boolean`);
96
+ };
97
+ cast.bitmap = (value) => {
98
+ if (value === null || value === void 0) {
99
+ return value;
100
+ }
101
+ if (typeof value === "string") {
102
+ value = cast.integer(value);
103
+ }
104
+ if (typeof value === "number") {
105
+ if (Number.isFinite(value)) {
107
106
  return value;
108
- } else if (isObject(value)) {
109
- return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, Metatype2.cast.integer(v)]));
110
- }
111
- throw new UnsupportedCastError(`Cannot convert "${value}" to bitmap`);
112
- },
113
- enum(value) {
114
- if (typeof value === "string") {
115
- if (value.trim().match(/^(?:[0-9]+|0x[0-9a-f]+|0b[01]+)$/)) {
116
- value = Number.parseInt(value);
117
- } else {
118
- return value;
119
- }
120
107
  }
121
- if (typeof value === "number" && !Number.isNaN(value) && Number.isFinite(value)) {
108
+ } else if (typeof value === "bigint") {
109
+ return value;
110
+ } else if (isObject(value)) {
111
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, cast.integer(v)]));
112
+ }
113
+ throw new UnsupportedCastError(`Cannot convert "${value}" to bitmap`);
114
+ };
115
+ cast.enum = (value) => {
116
+ if (typeof value === "string") {
117
+ if (value.trim().match(/^(?:[0-9]+|0x[0-9a-f]+|0b[01]+)$/)) {
118
+ value = Number.parseInt(value);
119
+ } else {
122
120
  return value;
123
121
  }
124
- throw new UnsupportedCastError(`Cannot convert "${value}" to an enum value`);
125
- },
126
- integer(value) {
127
- if (value === null || value === void 0) {
122
+ }
123
+ if (typeof value === "number" && !Number.isNaN(value) && Number.isFinite(value)) {
124
+ return value;
125
+ }
126
+ throw new UnsupportedCastError(`Cannot convert "${value}" to an enum value`);
127
+ };
128
+ cast.integer = (value) => {
129
+ if (value === null || value === void 0) {
130
+ return value;
131
+ }
132
+ switch (typeof value) {
133
+ case "number":
134
+ return Math.floor(value);
135
+ case "bigint":
128
136
  return value;
129
- }
130
- switch (typeof value) {
131
- case "number":
132
- return Math.floor(value);
133
- case "bigint":
134
- return value;
135
- case "boolean":
136
- return value ? 1 : 0;
137
- }
138
- if (value instanceof Date) {
139
- return value.getTime();
140
- }
141
- if (typeof value === "string") {
142
- try {
143
- const big = BigInt(value);
144
- const little = Number.parseInt(value);
145
- if (big === BigInt(little)) {
146
- return little;
147
- }
148
- return big;
149
- } catch (e) {
150
- if (!(e instanceof SyntaxError)) {
151
- throw e;
152
- }
137
+ case "boolean":
138
+ return value ? 1 : 0;
139
+ }
140
+ if (value instanceof Date) {
141
+ return value.getTime();
142
+ }
143
+ if (typeof value === "string") {
144
+ try {
145
+ const big = BigInt(value);
146
+ const little = Number.parseInt(value);
147
+ if (big === BigInt(little)) {
148
+ return little;
153
149
  }
154
- }
155
- throw new UnsupportedCastError(`Cannot convert "${value}" to an integer`);
156
- },
157
- float(value) {
158
- if (typeof value === "number" || value === null || value === void 0) {
159
- return value;
160
- }
161
- if (value instanceof Date) {
162
- return value.getTime();
163
- }
164
- const number = Number(value);
165
- if (!Number.isNaN(number) && Number.isFinite(value)) {
166
- return number;
167
- }
168
- throw new UnsupportedCastError(`Cannot convert "${value}" to a float`);
169
- },
170
- bytes(value) {
171
- if (value === void 0 || value === null || value instanceof Uint8Array) {
172
- return value;
173
- }
174
- if (typeof value === "string") {
175
- return Bytes.fromHex(value);
176
- }
177
- if (typeof value === "boolean") {
178
- return new Uint8Array([value ? 1 : 0]);
179
- }
180
- if (typeof value === "number" || typeof value === "bigint") {
181
- return Bytes.fromHex(value.toString(16));
182
- }
183
- throw new UnsupportedCastError(`Cannot convert "${value}" to bytes`);
184
- },
185
- array(value) {
186
- if (value === void 0 || value === null || Array.isArray(value)) {
187
- return value;
188
- }
189
- if (typeof value === "string") {
190
- try {
191
- const parsed = JSON.parse(value);
192
- if (Array.isArray(parsed)) {
193
- return parsed;
194
- }
195
- } catch (e) {
196
- if (!(e instanceof SyntaxError)) {
197
- throw e;
198
- }
150
+ return big;
151
+ } catch (e) {
152
+ if (!(e instanceof SyntaxError)) {
153
+ throw e;
199
154
  }
200
155
  }
201
- throw new UnsupportedCastError(`Cannot convert "${value}" to array`);
202
- },
203
- object(value) {
204
- if (value === void 0 || typeof value === "object" && !Array.isArray(value) && !(value instanceof Date)) {
205
- return value;
206
- }
207
- if (typeof value === "string") {
208
- try {
209
- const parsed = JSON.parse(value);
156
+ }
157
+ throw new UnsupportedCastError(`Cannot convert "${value}" to an integer`);
158
+ };
159
+ cast.float = (value) => {
160
+ if (typeof value === "number" || value === null || value === void 0) {
161
+ return value;
162
+ }
163
+ if (value instanceof Date) {
164
+ return value.getTime();
165
+ }
166
+ const number = Number(value);
167
+ if (!Number.isNaN(number) && Number.isFinite(value)) {
168
+ return number;
169
+ }
170
+ throw new UnsupportedCastError(`Cannot convert "${value}" to a float`);
171
+ };
172
+ cast.bytes = (value) => {
173
+ if (value === void 0 || value === null || value instanceof Uint8Array) {
174
+ return value;
175
+ }
176
+ if (typeof value === "string") {
177
+ return Bytes.fromHex(value);
178
+ }
179
+ if (typeof value === "boolean") {
180
+ return new Uint8Array([value ? 1 : 0]);
181
+ }
182
+ if (typeof value === "number" || typeof value === "bigint") {
183
+ return Bytes.fromHex(value.toString(16));
184
+ }
185
+ throw new UnsupportedCastError(`Cannot convert "${value}" to bytes`);
186
+ };
187
+ cast.array = (value) => {
188
+ if (value === void 0 || value === null || Array.isArray(value)) {
189
+ return value;
190
+ }
191
+ if (typeof value === "string") {
192
+ try {
193
+ const parsed = JSON.parse(value);
194
+ if (Array.isArray(parsed)) {
210
195
  return parsed;
211
- } catch (e) {
212
- if (!(e instanceof SyntaxError)) {
213
- throw e;
214
- }
196
+ }
197
+ } catch (e) {
198
+ if (!(e instanceof SyntaxError)) {
199
+ throw e;
215
200
  }
216
201
  }
217
- throw new UnsupportedCastError(`Cannot convert "${value}" to object`);
218
- },
219
- string(value) {
220
- if (value === void 0 || value === null) {
221
- return value;
222
- }
223
- if (typeof value === "string") {
224
- return value;
225
- }
226
- if (value instanceof Date) {
227
- return value.toISOString();
228
- }
229
- if (typeof value === "object" || Array.isArray(value)) {
230
- return JSON.stringify(value);
231
- }
232
- return value.toString();
233
- },
234
- date(value) {
235
- if (value === void 0 || value === null || value instanceof Date) {
236
- return value;
237
- }
238
- if (typeof value === "number" || typeof value === "string") {
239
- const date = new Date(value);
240
- if (!Number.isNaN(date.getTime())) {
241
- return date;
202
+ }
203
+ throw new UnsupportedCastError(`Cannot convert "${value}" to array`);
204
+ };
205
+ cast.object = (value) => {
206
+ if (value === void 0 || typeof value === "object" && !Array.isArray(value) && !(value instanceof Date)) {
207
+ return value;
208
+ }
209
+ if (typeof value === "string") {
210
+ try {
211
+ const parsed = JSON.parse(value);
212
+ return parsed;
213
+ } catch (e) {
214
+ if (!(e instanceof SyntaxError)) {
215
+ throw e;
242
216
  }
243
217
  }
244
- throw new UnexpectedDataError();
245
218
  }
219
+ throw new UnsupportedCastError(`Cannot convert "${value}" to object`);
220
+ };
221
+ cast.string = (value) => {
222
+ if (value === void 0 || value === null) {
223
+ return value;
224
+ }
225
+ if (typeof value === "string") {
226
+ return value;
227
+ }
228
+ if (value instanceof Date) {
229
+ return value.toISOString();
230
+ }
231
+ if (typeof value === "object" || Array.isArray(value)) {
232
+ return JSON.stringify(value);
233
+ }
234
+ return value.toString();
235
+ };
236
+ cast.date = (value) => {
237
+ if (value === void 0 || value === null || value instanceof Date) {
238
+ return value;
239
+ }
240
+ if (typeof value === "number" || typeof value === "string") {
241
+ const date = new Date(value);
242
+ if (!Number.isNaN(date.getTime())) {
243
+ return date;
244
+ }
245
+ }
246
+ throw new UnexpectedDataError();
246
247
  };
247
248
  })(Metatype || (Metatype = {}));
248
249
  export {
@@ -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
+ }