@matter/model 0.16.0-alpha.0-20251004-92135c7df → 0.16.0-alpha.0-20251011-d8942d7d5
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/Constraint.d.ts +9 -2
- package/dist/cjs/aspects/Constraint.d.ts.map +1 -1
- package/dist/cjs/aspects/Constraint.js +93 -18
- package/dist/cjs/aspects/Constraint.js.map +2 -2
- package/dist/cjs/common/FieldValue.d.ts +3 -9
- package/dist/cjs/common/FieldValue.d.ts.map +1 -1
- package/dist/cjs/elements/DatatypeElement.d.ts +6 -9
- package/dist/cjs/elements/DatatypeElement.d.ts.map +1 -1
- package/dist/cjs/elements/DatatypeElement.js.map +1 -1
- package/dist/cjs/logic/ModelIndex.d.ts +39 -0
- package/dist/cjs/logic/ModelIndex.d.ts.map +1 -0
- package/dist/cjs/logic/ModelIndex.js +100 -0
- package/dist/cjs/logic/ModelIndex.js.map +6 -0
- package/dist/cjs/logic/Scope.d.ts +2 -1
- package/dist/cjs/logic/Scope.d.ts.map +1 -1
- package/dist/cjs/logic/Scope.js +7 -3
- package/dist/cjs/logic/Scope.js.map +1 -1
- package/dist/cjs/logic/definition-validation/ValueValidator.d.ts.map +1 -1
- package/dist/cjs/logic/definition-validation/ValueValidator.js +2 -0
- package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
- package/dist/cjs/logic/index.d.ts +1 -0
- package/dist/cjs/logic/index.d.ts.map +1 -1
- package/dist/cjs/logic/index.js +1 -0
- package/dist/cjs/logic/index.js.map +1 -1
- package/dist/cjs/models/ClusterModel.d.ts +43 -5
- package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
- package/dist/cjs/models/ClusterModel.js +69 -1
- package/dist/cjs/models/ClusterModel.js.map +2 -2
- package/dist/cjs/models/ValueModel.d.ts +18 -2
- package/dist/cjs/models/ValueModel.d.ts.map +1 -1
- package/dist/cjs/models/ValueModel.js +27 -0
- package/dist/cjs/models/ValueModel.js.map +2 -2
- package/dist/cjs/parser/Lexer.js +1 -1
- package/dist/cjs/parser/TokenStream.js +2 -2
- package/dist/cjs/parser/TokenStream.js.map +1 -1
- package/dist/esm/aspects/Constraint.d.ts +9 -2
- package/dist/esm/aspects/Constraint.d.ts.map +1 -1
- package/dist/esm/aspects/Constraint.js +94 -19
- package/dist/esm/aspects/Constraint.js.map +2 -2
- package/dist/esm/common/FieldValue.d.ts +3 -9
- package/dist/esm/common/FieldValue.d.ts.map +1 -1
- package/dist/esm/elements/DatatypeElement.d.ts +6 -9
- package/dist/esm/elements/DatatypeElement.d.ts.map +1 -1
- package/dist/esm/elements/DatatypeElement.js.map +1 -1
- package/dist/esm/logic/ModelIndex.d.ts +39 -0
- package/dist/esm/logic/ModelIndex.d.ts.map +1 -0
- package/dist/esm/logic/ModelIndex.js +80 -0
- package/dist/esm/logic/ModelIndex.js.map +6 -0
- package/dist/esm/logic/Scope.d.ts +2 -1
- package/dist/esm/logic/Scope.d.ts.map +1 -1
- package/dist/esm/logic/Scope.js +7 -3
- package/dist/esm/logic/Scope.js.map +1 -1
- package/dist/esm/logic/definition-validation/ValueValidator.d.ts.map +1 -1
- package/dist/esm/logic/definition-validation/ValueValidator.js +2 -0
- package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
- package/dist/esm/logic/index.d.ts +1 -0
- package/dist/esm/logic/index.d.ts.map +1 -1
- package/dist/esm/logic/index.js +1 -0
- package/dist/esm/logic/index.js.map +1 -1
- package/dist/esm/models/ClusterModel.d.ts +43 -5
- package/dist/esm/models/ClusterModel.d.ts.map +1 -1
- package/dist/esm/models/ClusterModel.js +69 -1
- package/dist/esm/models/ClusterModel.js.map +2 -2
- package/dist/esm/models/ValueModel.d.ts +18 -2
- package/dist/esm/models/ValueModel.d.ts.map +1 -1
- package/dist/esm/models/ValueModel.js +27 -0
- package/dist/esm/models/ValueModel.js.map +2 -2
- package/dist/esm/parser/Lexer.js +1 -1
- package/dist/esm/parser/TokenStream.js +2 -2
- package/dist/esm/parser/TokenStream.js.map +1 -1
- package/package.json +4 -4
- package/src/aspects/Constraint.ts +121 -22
- package/src/common/FieldValue.ts +1 -1
- package/src/elements/DatatypeElement.ts +6 -9
- package/src/logic/ModelIndex.ts +125 -0
- package/src/logic/Scope.ts +16 -12
- package/src/logic/definition-validation/ValueValidator.ts +2 -0
- package/src/logic/index.ts +1 -0
- package/src/models/ClusterModel.ts +82 -9
- package/src/models/ValueModel.ts +35 -3
- package/src/parser/Lexer.ts +1 -1
- package/src/parser/TokenStream.ts +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/logic/definition-validation/ValueValidator.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,4BAA+B;AAC/B,qBAAiE;AACjE,oBAAsD;AACtD,oBAAkD;AAClD,4BAA+B;AAC/B,kCAAqC;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -12,6 +12,7 @@ export * from "./ClusterVariance.js";
|
|
|
12
12
|
export * from "./DefaultValue.js";
|
|
13
13
|
export * from "./MergedModel.js";
|
|
14
14
|
export * from "./ModelDiff.js";
|
|
15
|
+
export * from "./ModelIndex.js";
|
|
15
16
|
export * from "./ModelVariantTraversal.js";
|
|
16
17
|
export * from "./Scope.js";
|
|
17
18
|
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,gBAAgB,CAAC;AAC/B,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,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,OAAO,kCAAkC,CAAC"}
|
package/dist/cjs/logic/index.js
CHANGED
|
@@ -24,6 +24,7 @@ __reExport(logic_exports, require("./ClusterVariance.js"), module.exports);
|
|
|
24
24
|
__reExport(logic_exports, require("./DefaultValue.js"), module.exports);
|
|
25
25
|
__reExport(logic_exports, require("./MergedModel.js"), module.exports);
|
|
26
26
|
__reExport(logic_exports, require("./ModelDiff.js"), module.exports);
|
|
27
|
+
__reExport(logic_exports, require("./ModelIndex.js"), module.exports);
|
|
27
28
|
__reExport(logic_exports, require("./ModelVariantTraversal.js"), module.exports);
|
|
28
29
|
__reExport(logic_exports, require("./Scope.js"), module.exports);
|
|
29
30
|
__reExport(logic_exports, require("./ValidateModel.js"), module.exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/logic/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,0BAAc,gDANd;AAOA,0BAAc,6DAPd;AAQA,0BAAc,qDARd;AASA,0BAAc,kDATd;AAUA,0BAAc,oDAVd;AAWA,0BAAc,iCAXd;AAYA,0BAAc,8BAZd;AAaA,0BAAc,6BAbd;AAcA,0BAAc,2BAdd;AAeA,0BAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,0BAAc,gDANd;AAOA,0BAAc,6DAPd;AAQA,0BAAc,qDARd;AASA,0BAAc,kDATd;AAUA,0BAAc,oDAVd;AAWA,0BAAc,iCAXd;AAYA,0BAAc,8BAZd;AAaA,0BAAc,6BAbd;AAcA,0BAAc,2BAdd;AAeA,0BAAc,4BAfd;AAgBA,0BAAc,uCAhBd;AAiBA,0BAAc,uBAjBd;AAkBA,0BAAc,+BAlBd;AAmBA,mCAAO;AAnBP;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { ModelIndex } from "#logic/ModelIndex.js";
|
|
6
7
|
import { Access } from "../aspects/Access.js";
|
|
7
8
|
import { Quality } from "../aspects/Quality.js";
|
|
8
9
|
import { ElementTag, FeatureSet, Metatype } from "../common/index.js";
|
|
@@ -21,10 +22,11 @@ export declare class ClusterModel extends ScopeModel<ClusterElement, ClusterMode
|
|
|
21
22
|
get quality(): Quality;
|
|
22
23
|
set quality(definition: Quality | Quality.Definition);
|
|
23
24
|
get effectiveQuality(): Quality;
|
|
24
|
-
get attributes(): AttributeModel
|
|
25
|
-
get commands(): CommandModel
|
|
26
|
-
get events(): EventModel
|
|
27
|
-
get datatypes(): DatatypeModel
|
|
25
|
+
get attributes(): ModelIndex<AttributeModel>;
|
|
26
|
+
get commands(): ModelIndex<CommandModel>;
|
|
27
|
+
get events(): ModelIndex<EventModel>;
|
|
28
|
+
get datatypes(): ModelIndex<DatatypeModel>;
|
|
29
|
+
get conformant(): ClusterModel.Conformant;
|
|
28
30
|
get classification(): ClusterElement.Classification | undefined;
|
|
29
31
|
set classification(classification: `${ClusterElement.Classification}` | undefined);
|
|
30
32
|
get pics(): string | undefined;
|
|
@@ -32,7 +34,7 @@ export declare class ClusterModel extends ScopeModel<ClusterElement, ClusterMode
|
|
|
32
34
|
/**
|
|
33
35
|
* Get attributes, commands and events whether inherited or defined directly in this model.
|
|
34
36
|
*/
|
|
35
|
-
get allAces():
|
|
37
|
+
get allAces(): ModelIndex<AttributeModel | CommandModel | EventModel>;
|
|
36
38
|
get revision(): number;
|
|
37
39
|
get features(): import("./Children.js").Children<FieldModel>;
|
|
38
40
|
get featureMap(): AttributeModel;
|
|
@@ -50,5 +52,41 @@ export declare namespace ClusterModel {
|
|
|
50
52
|
supportedFeatures?: FeatureSet.Definition;
|
|
51
53
|
};
|
|
52
54
|
type Child = DatatypeModel | AttributeModel | CommandModel | EventModel | FieldModel;
|
|
55
|
+
/**
|
|
56
|
+
* A conformant view of {@link ClusterModel} child indices properties.
|
|
57
|
+
*/
|
|
58
|
+
class Conformant {
|
|
59
|
+
#private;
|
|
60
|
+
constructor(model: ClusterModel);
|
|
61
|
+
/**
|
|
62
|
+
* The cluster's conformant attributes.
|
|
63
|
+
*/
|
|
64
|
+
get attributes(): ModelIndex<AttributeModel>;
|
|
65
|
+
/**
|
|
66
|
+
* The cluster's conformant properties (includes fields and attributes).
|
|
67
|
+
*
|
|
68
|
+
* This offers compatibility with the equivalent field for ValueModel. It is useful when treating a cluster as
|
|
69
|
+
* a struct.
|
|
70
|
+
*/
|
|
71
|
+
get properties(): ModelIndex<AttributeModel | FieldModel>;
|
|
72
|
+
/**
|
|
73
|
+
* The cluster's conformant fields.
|
|
74
|
+
*
|
|
75
|
+
* Fields are not formally allowed on clusters but we allow for extensions that should not be served via the
|
|
76
|
+
* Matter protocol.
|
|
77
|
+
*
|
|
78
|
+
* This is primarily here to allow simplified access to fields in contexts where a variable is typed as a
|
|
79
|
+
* ClusterModel or ValueModel.
|
|
80
|
+
*/
|
|
81
|
+
get fields(): ModelIndex<FieldModel>;
|
|
82
|
+
/**
|
|
83
|
+
* The cluster's conformant commands.
|
|
84
|
+
*/
|
|
85
|
+
get commands(): ModelIndex<CommandModel>;
|
|
86
|
+
/**
|
|
87
|
+
* The cluster's conformant events.
|
|
88
|
+
*/
|
|
89
|
+
get events(): ModelIndex<EventModel>;
|
|
90
|
+
}
|
|
53
91
|
}
|
|
54
92
|
//# sourceMappingURL=ClusterModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterModel.d.ts","sourceRoot":"","sources":["../../../src/models/ClusterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"ClusterModel.d.ts","sourceRoot":"","sources":["../../../src/models/ClusterModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,9 @@ class ClusterModel extends import_ScopeModel.ScopeModel {
|
|
|
64
64
|
get datatypes() {
|
|
65
65
|
return this.scope.membersOf(this, { tags: [import_common.ElementTag.Datatype] });
|
|
66
66
|
}
|
|
67
|
+
get conformant() {
|
|
68
|
+
return new ClusterModel.Conformant(this);
|
|
69
|
+
}
|
|
67
70
|
get classification() {
|
|
68
71
|
return this.resource?.classification;
|
|
69
72
|
}
|
|
@@ -84,7 +87,9 @@ class ClusterModel extends import_ScopeModel.ScopeModel {
|
|
|
84
87
|
* Get attributes, commands and events whether inherited or defined directly in this model.
|
|
85
88
|
*/
|
|
86
89
|
get allAces() {
|
|
87
|
-
return this.scope.membersOf(this, {
|
|
90
|
+
return this.scope.membersOf(this, {
|
|
91
|
+
tags: [import_common.ElementTag.Attribute, import_common.ElementTag.Command, import_common.ElementTag.Event]
|
|
92
|
+
});
|
|
88
93
|
}
|
|
89
94
|
get revision() {
|
|
90
95
|
let revision = 1;
|
|
@@ -163,4 +168,67 @@ class ClusterModel extends import_ScopeModel.ScopeModel {
|
|
|
163
168
|
static Tag = import_elements.ClusterElement.Tag;
|
|
164
169
|
}
|
|
165
170
|
ClusterModel.register();
|
|
171
|
+
((ClusterModel2) => {
|
|
172
|
+
class Conformant {
|
|
173
|
+
#model;
|
|
174
|
+
constructor(model) {
|
|
175
|
+
this.#model = model;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* The cluster's conformant attributes.
|
|
179
|
+
*/
|
|
180
|
+
get attributes() {
|
|
181
|
+
return this.#model.scope.membersOf(this.#model, {
|
|
182
|
+
tags: [import_common.ElementTag.Attribute],
|
|
183
|
+
conformance: "conformant"
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The cluster's conformant properties (includes fields and attributes).
|
|
188
|
+
*
|
|
189
|
+
* This offers compatibility with the equivalent field for ValueModel. It is useful when treating a cluster as
|
|
190
|
+
* a struct.
|
|
191
|
+
*/
|
|
192
|
+
get properties() {
|
|
193
|
+
return this.#model.scope.membersOf(this.#model, {
|
|
194
|
+
tags: [import_common.ElementTag.Attribute, import_common.ElementTag.Field],
|
|
195
|
+
conformance: "conformant"
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* The cluster's conformant fields.
|
|
200
|
+
*
|
|
201
|
+
* Fields are not formally allowed on clusters but we allow for extensions that should not be served via the
|
|
202
|
+
* Matter protocol.
|
|
203
|
+
*
|
|
204
|
+
* This is primarily here to allow simplified access to fields in contexts where a variable is typed as a
|
|
205
|
+
* ClusterModel or ValueModel.
|
|
206
|
+
*/
|
|
207
|
+
get fields() {
|
|
208
|
+
return this.#model.scope.membersOf(this.#model, {
|
|
209
|
+
tags: [import_common.ElementTag.Field],
|
|
210
|
+
conformance: "conformant"
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* The cluster's conformant commands.
|
|
215
|
+
*/
|
|
216
|
+
get commands() {
|
|
217
|
+
return this.#model.scope.membersOf(this.#model, {
|
|
218
|
+
tags: [import_common.ElementTag.Command],
|
|
219
|
+
conformance: "conformant"
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The cluster's conformant events.
|
|
224
|
+
*/
|
|
225
|
+
get events() {
|
|
226
|
+
return this.#model.scope.membersOf(this.#model, {
|
|
227
|
+
tags: [import_common.ElementTag.Event],
|
|
228
|
+
conformance: "conformant"
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
ClusterModel2.Conformant = Conformant;
|
|
233
|
+
})(ClusterModel || (ClusterModel = {}));
|
|
166
234
|
//# sourceMappingURL=ClusterModel.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/ClusterModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAuC;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["ClusterModel"]
|
|
6
6
|
}
|
|
@@ -8,6 +8,7 @@ import { ElementTag, FieldValue, Metatype } from "../common/index.js";
|
|
|
8
8
|
import { ValueElement } from "../elements/index.js";
|
|
9
9
|
import { Model } from "./Model.js";
|
|
10
10
|
import type { PropertyModel } from "./PropertyModel.js";
|
|
11
|
+
import { ModelIndex } from "#logic/ModelIndex.js";
|
|
11
12
|
import type { FieldModel } from "./FieldModel.js";
|
|
12
13
|
/**
|
|
13
14
|
* Each {@link ValueElement} type has a corresponding implementation that derives from this class.
|
|
@@ -30,7 +31,8 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
|
|
|
30
31
|
get quality(): Quality;
|
|
31
32
|
set quality(definition: Quality | Quality.Definition);
|
|
32
33
|
get effectiveQuality(): Quality;
|
|
33
|
-
get fields(): FieldModel
|
|
34
|
+
get fields(): ModelIndex<FieldModel>;
|
|
35
|
+
get conformant(): ValueModel.Conformant;
|
|
34
36
|
/**
|
|
35
37
|
* Metatype is only present on global types with specific semantic meaning. This model is significant because it
|
|
36
38
|
* gives us information about how to manipulate the data. This accessor retrieves this model.
|
|
@@ -68,7 +70,7 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
|
|
|
68
70
|
/**
|
|
69
71
|
* All {@link FieldModel} children in the context of the model's containing scope.
|
|
70
72
|
*/
|
|
71
|
-
get members(): PropertyModel
|
|
73
|
+
get members(): ModelIndex<PropertyModel>;
|
|
72
74
|
/**
|
|
73
75
|
* Collect constraints and conformance for this type and all base types.
|
|
74
76
|
*/
|
|
@@ -105,4 +107,18 @@ export declare abstract class ValueModel<T extends ValueElement = ValueElement>
|
|
|
105
107
|
constructor(definition: Model.Definition<ValueModel<T>>, ...children: Model.ChildDefinition<FieldModel>[]);
|
|
106
108
|
toElement(omitResources?: boolean, extra?: Record<string, unknown>): T;
|
|
107
109
|
}
|
|
110
|
+
export declare namespace ValueModel {
|
|
111
|
+
class Conformant {
|
|
112
|
+
#private;
|
|
113
|
+
constructor(model: Model);
|
|
114
|
+
/**
|
|
115
|
+
* The model's conformant fields.
|
|
116
|
+
*/
|
|
117
|
+
get fields(): ModelIndex<FieldModel>;
|
|
118
|
+
/**
|
|
119
|
+
* An alias for {@link fields} that offers compatibility with the same field for clusters.
|
|
120
|
+
*/
|
|
121
|
+
get properties(): ModelIndex<FieldModel>;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
108
124
|
//# sourceMappingURL=ValueModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValueModel.d.ts","sourceRoot":"","sources":["../../../src/models/ValueModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,8BAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,CAClE,SAAQ,KAAK,CAAC,CAAC,EAAE,UAAU,CAC3B,YAAW,YAAY;;IAEvB,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;IACjC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACX,MAAM,CAAC,sBAAQ;IAOxB,IAAI,UAAU,IAAI,UAAU,CAE3B;IACD,IAAI,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,UAAU,EAE5D;IACD,IAAI,mBAAmB,IAAI,UAAU,CAEpC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IACD,IAAI,WAAW,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,CAAC,UAAU,EAE/D;IACD,IAAI,oBAAoB,IAAI,WAAW,CAEtC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU,EAEhD;IACD,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,EAEnD;IACD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,MAAM,IAC8D,UAAU,
|
|
1
|
+
{"version":3,"file":"ValueModel.d.ts","sourceRoot":"","sources":["../../../src/models/ValueModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,9 @@ class ValueModel extends import_Model.Model {
|
|
|
79
79
|
get fields() {
|
|
80
80
|
return (0, import_Scope.Scope)(this).membersOf(this, { tags: [import_common.ElementTag.Field] });
|
|
81
81
|
}
|
|
82
|
+
get conformant() {
|
|
83
|
+
return new ValueModel.Conformant(this);
|
|
84
|
+
}
|
|
82
85
|
/**
|
|
83
86
|
* Metatype is only present on global types with specific semantic meaning. This model is significant because it
|
|
84
87
|
* gives us information about how to manipulate the data. This accessor retrieves this model.
|
|
@@ -266,4 +269,28 @@ class ValueModel extends import_Model.Model {
|
|
|
266
269
|
});
|
|
267
270
|
}
|
|
268
271
|
}
|
|
272
|
+
((ValueModel2) => {
|
|
273
|
+
class Conformant {
|
|
274
|
+
#model;
|
|
275
|
+
constructor(model) {
|
|
276
|
+
this.#model = model;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* The model's conformant fields.
|
|
280
|
+
*/
|
|
281
|
+
get fields() {
|
|
282
|
+
return (0, import_Scope.Scope)(this.#model).membersOf(this.#model, {
|
|
283
|
+
tags: [import_common.ElementTag.Field],
|
|
284
|
+
conformance: "conformant"
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* An alias for {@link fields} that offers compatibility with the same field for clusters.
|
|
289
|
+
*/
|
|
290
|
+
get properties() {
|
|
291
|
+
return this.fields;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
ValueModel2.Conformant = Conformant;
|
|
295
|
+
})(ValueModel || (ValueModel = {}));
|
|
269
296
|
//# sourceMappingURL=ValueModel.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/ValueModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAsB;AACtB,qBAAiE;AACjE,oBAAiD;AAEjD,4BAA+B;AAC/B,mBAAsB;AAXtB;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": []
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["ValueModel"]
|
|
6
6
|
}
|
package/dist/cjs/parser/Lexer.js
CHANGED
|
@@ -114,7 +114,7 @@ function* lex(text, error, keywords) {
|
|
|
114
114
|
function tokenizeDigits(base, valueOf) {
|
|
115
115
|
let num = valueOf(current.value);
|
|
116
116
|
if (num === void 0) {
|
|
117
|
-
error("INVALID_NUMBER", `Expected digit following numeric
|
|
117
|
+
error("INVALID_NUMBER", `Expected digit following numeric prefix`);
|
|
118
118
|
return { type: "value", value: 0, startLine, startChar };
|
|
119
119
|
}
|
|
120
120
|
while (true) {
|
|
@@ -54,8 +54,8 @@ function TokenStream(iterator) {
|
|
|
54
54
|
return "end of statement";
|
|
55
55
|
case "word":
|
|
56
56
|
return `word "${this.token.value}"`;
|
|
57
|
-
case "
|
|
58
|
-
return `
|
|
57
|
+
case "value":
|
|
58
|
+
return `value "${this.token.value}"`;
|
|
59
59
|
default:
|
|
60
60
|
if (this.token?.type.match(/[a-z]/i)) {
|
|
61
61
|
return `keyword "${this.token?.type}"`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/parser/TokenStream.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,SAAS,YAA6B,UAAuC;AAChF,MAAI,OAAO;AAEX,WAAS,OAAO;AACZ,QAAI,MAAM;AACN,aAAO;AAAA,IACX;AACA,UAAM,IAAI,SAAS,KAAK;AACxB,QAAI,EAAE,MAAM;AACR,aAAO;AAAA,IACX;AACA,WAAO,EAAE;AAAA,EACb;AAEA,SAAO;AAAA,IACH,OAAO,KAAK;AAAA,IACZ,QAAQ,KAAK;AAAA,IAEb,IAAI,OAAO;AACP,aAAO,KAAK,UAAU;AAAA,IAC1B;AAAA,IAEA,OAAO;AACH,WAAK,QAAQ,KAAK;AAClB,WAAK,SAAS,KAAK;AAAA,IACvB;AAAA,IAEA,IAAI,cAAc;AACd,cAAQ,KAAK,OAAO,MAAM;AAAA,QACtB,KAAK;AACD,iBAAO;AAAA,QAEX,KAAK;AACD,iBAAO,SAAU,KAAK,MAAqC,KAAK;AAAA,QAEpE,KAAK;AACD,iBAAO,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,SAAS,YAA6B,UAAuC;AAChF,MAAI,OAAO;AAEX,WAAS,OAAO;AACZ,QAAI,MAAM;AACN,aAAO;AAAA,IACX;AACA,UAAM,IAAI,SAAS,KAAK;AACxB,QAAI,EAAE,MAAM;AACR,aAAO;AAAA,IACX;AACA,WAAO,EAAE;AAAA,EACb;AAEA,SAAO;AAAA,IACH,OAAO,KAAK;AAAA,IACZ,QAAQ,KAAK;AAAA,IAEb,IAAI,OAAO;AACP,aAAO,KAAK,UAAU;AAAA,IAC1B;AAAA,IAEA,OAAO;AACH,WAAK,QAAQ,KAAK;AAClB,WAAK,SAAS,KAAK;AAAA,IACvB;AAAA,IAEA,IAAI,cAAc;AACd,cAAQ,KAAK,OAAO,MAAM;AAAA,QACtB,KAAK;AACD,iBAAO;AAAA,QAEX,KAAK;AACD,iBAAO,SAAU,KAAK,MAAqC,KAAK;AAAA,QAEpE,KAAK;AACD,iBAAO,UAAW,KAAK,MAAuC,KAAK;AAAA,QAEvE;AACI,cAAI,KAAK,OAAO,KAAK,MAAM,QAAQ,GAAG;AAClC,mBAAO,YAAY,KAAK,OAAO,IAAI;AAAA,UACvC;AACA,iBAAO,aAAa,KAAK,OAAO,IAAI;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -76,14 +76,21 @@ export declare namespace Constraint {
|
|
|
76
76
|
* Parsed binary operator.
|
|
77
77
|
*/
|
|
78
78
|
interface BinaryOperator {
|
|
79
|
-
type: "+" | "-";
|
|
79
|
+
type: "+" | "-" | ".";
|
|
80
80
|
lhs: Expression;
|
|
81
81
|
rhs: Expression;
|
|
82
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Parsed function.
|
|
85
|
+
*/
|
|
86
|
+
interface Function {
|
|
87
|
+
type: "maxOf" | "minOf";
|
|
88
|
+
args: Expression[];
|
|
89
|
+
}
|
|
83
90
|
/**
|
|
84
91
|
* Parsed expression.
|
|
85
92
|
*/
|
|
86
|
-
type Expression = FieldValue | BinaryOperator;
|
|
93
|
+
type Expression = FieldValue | BinaryOperator | Function;
|
|
87
94
|
/**
|
|
88
95
|
* These are all ways to describe a constraint.
|
|
89
96
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../../src/aspects/Constraint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Constraint.d.ts","sourceRoot":"","sources":["../../../src/aspects/Constraint.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgBrC;;;;GAIG;AACH,qBAAa,UAAW,SAAQ,MAAM,CAAC,UAAU,CAAC,UAAU,CAAE,YAAW,UAAU,CAAC,GAAG;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IAC9B,GAAG,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IAC5B,GAAG,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IAC5B,EAAE,CAAC,EAAE,UAAU,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IAErB;;OAEG;gBACS,UAAU,EAAE,UAAU,CAAC,UAAU;IA2DpC,MAAM,CAAC,KAAK,EAAE,UAAU;IAqBjC;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO;IA8GjE,QAAQ;cAOE,MAAM;CAM5B;AAED,yBAAiB,UAAU,CAAC;IACxB,KAAY,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;IAE1C,MAAM,QAAQ,qEAAsE,CAAC;IAErF,MAAM,QAAQ,aAA4B,CAAC;IAElD;;OAEG;IACH,KAAY,GAAG,GAAG;QACd;;WAEG;QACH,IAAI,CAAC,EAAE,OAAO,CAAC;QAEf;;WAEG;QACH,KAAK,CAAC,EAAE,UAAU,CAAC;QAEnB;;WAEG;QACH,GAAG,CAAC,EAAE,UAAU,CAAC;QAEjB;;WAEG;QACH,GAAG,CAAC,EAAE,UAAU,CAAC;QAEjB;;WAEG;QACH,EAAE,CAAC,EAAE,UAAU,CAAC;QAEhB;;WAEG;QACH,KAAK,CAAC,EAAE,GAAG,CAAC;QAEZ;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf;;WAEG;QACH,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;KACjB,CAAC;IAEF;;OAEG;IACH,UAAiB,cAAc;QAC3B,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QAEtB,GAAG,EAAE,UAAU,CAAC;QAEhB,GAAG,EAAE,UAAU,CAAC;KACnB;IAED;;OAEG;IACH,UAAiB,QAAQ;QACrB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,EAAE,UAAU,EAAE,CAAC;KACtB;IAED;;OAEG;IACH,KAAY,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IAEhE;;OAEG;IACH,KAAY,UAAU,GAAG,CAAC,GAAG,GAAG;QAAE,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9F"}
|
|
@@ -3,11 +3,25 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { camelize } from "#general";
|
|
6
|
+
import { camelize, isObject } from "#general";
|
|
7
7
|
import { Lexer } from "#parser/Lexer.js";
|
|
8
8
|
import { TokenStream } from "#parser/TokenStream.js";
|
|
9
9
|
import { FieldValue } from "../common/index.js";
|
|
10
10
|
import { Aspect } from "./Aspect.js";
|
|
11
|
+
var Functions;
|
|
12
|
+
((Functions2) => {
|
|
13
|
+
function minOf(args) {
|
|
14
|
+
return Math.min(...args.filter((arg) => typeof arg === "number"));
|
|
15
|
+
}
|
|
16
|
+
Functions2.minOf = minOf;
|
|
17
|
+
function maxOf(args) {
|
|
18
|
+
return Math.max(...args.filter((arg) => typeof arg === "number"));
|
|
19
|
+
}
|
|
20
|
+
Functions2.maxOf = maxOf;
|
|
21
|
+
})(Functions || (Functions = {}));
|
|
22
|
+
function isFunction(name) {
|
|
23
|
+
return Object.hasOwn(Functions, name);
|
|
24
|
+
}
|
|
11
25
|
class Constraint extends Aspect {
|
|
12
26
|
desc;
|
|
13
27
|
value;
|
|
@@ -91,28 +105,46 @@ class Constraint extends Aspect {
|
|
|
91
105
|
case FieldValue.reference:
|
|
92
106
|
if (typeof value2.name === "string") {
|
|
93
107
|
value2 = FieldValue(nameResolver?.(camelize(value2.name)));
|
|
108
|
+
if (isObject(value2)) {
|
|
109
|
+
value2 = { type: "properties", properties: value2 };
|
|
110
|
+
}
|
|
94
111
|
}
|
|
95
112
|
break;
|
|
96
|
-
case "+":
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
113
|
+
case "+": {
|
|
114
|
+
const lhs = valueOf(value2.lhs);
|
|
115
|
+
const rhs = valueOf(value2.rhs);
|
|
116
|
+
if (typeof lhs === "number" && typeof rhs === "number") {
|
|
117
|
+
return lhs + rhs;
|
|
118
|
+
}
|
|
119
|
+
return void 0;
|
|
120
|
+
}
|
|
121
|
+
case "-": {
|
|
122
|
+
const lhs = valueOf(value2.lhs);
|
|
123
|
+
const rhs = valueOf(value2.rhs);
|
|
124
|
+
if (typeof lhs === "number" && typeof rhs === "number") {
|
|
125
|
+
return lhs - rhs;
|
|
126
|
+
}
|
|
127
|
+
return void 0;
|
|
128
|
+
}
|
|
129
|
+
case ".": {
|
|
130
|
+
const object = valueOf(value2.lhs);
|
|
131
|
+
if (!isObject(object)) {
|
|
103
132
|
return void 0;
|
|
104
133
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
{
|
|
108
|
-
const lhs = valueOf(value2.lhs);
|
|
109
|
-
const rhs = valueOf(value2.rhs);
|
|
110
|
-
if (typeof lhs === "number" && typeof rhs === "number") {
|
|
111
|
-
return lhs - rhs;
|
|
112
|
-
}
|
|
134
|
+
const rhs = FieldValue.referenced(valueOf(value2.rhs));
|
|
135
|
+
if (rhs === void 0) {
|
|
113
136
|
return void 0;
|
|
114
137
|
}
|
|
115
|
-
|
|
138
|
+
if (Object.hasOwn(object, rhs)) {
|
|
139
|
+
return object[rhs];
|
|
140
|
+
}
|
|
141
|
+
return void 0;
|
|
142
|
+
}
|
|
143
|
+
case "maxOf":
|
|
144
|
+
case "minOf": {
|
|
145
|
+
Functions[type](value2.args.map((value3) => valueOf(value3)));
|
|
146
|
+
return void 0;
|
|
147
|
+
}
|
|
116
148
|
}
|
|
117
149
|
}
|
|
118
150
|
return value2;
|
|
@@ -190,12 +222,17 @@ var Serializer;
|
|
|
190
222
|
switch (value.type) {
|
|
191
223
|
case "+":
|
|
192
224
|
case "-":
|
|
193
|
-
|
|
225
|
+
case ".":
|
|
226
|
+
const sep = value.type === "." ? "" : " ";
|
|
227
|
+
const sum = `${serializeValue(value.lhs, true)}${sep}${value.type}${sep}${serializeValue(value.rhs, true)}`;
|
|
194
228
|
if (inExpr) {
|
|
195
229
|
return `(${sum})`;
|
|
196
230
|
}
|
|
197
231
|
return sum;
|
|
198
232
|
default:
|
|
233
|
+
if (isFunction(value.type)) {
|
|
234
|
+
return `${value.type}(${value.args.map((value2) => serializeValue(value2)).join(", ")})`;
|
|
235
|
+
}
|
|
199
236
|
return FieldValue.serialize(value);
|
|
200
237
|
}
|
|
201
238
|
}
|
|
@@ -228,9 +265,12 @@ var Parser;
|
|
|
228
265
|
const tokens = TokenStream(lexer.lex(definition, (code, message) => constraint.error(code, message)));
|
|
229
266
|
const result = parseParts();
|
|
230
267
|
if (tokens.token && tokens.token?.type !== ",") {
|
|
231
|
-
|
|
268
|
+
unexpected();
|
|
232
269
|
}
|
|
233
270
|
return result;
|
|
271
|
+
function unexpected() {
|
|
272
|
+
constraint.error("UNEXPECTED_CONSTRAINT_TOKEN", `Unexpected ${tokens.description}`);
|
|
273
|
+
}
|
|
234
274
|
function parseParts() {
|
|
235
275
|
const parts = Array();
|
|
236
276
|
while (true) {
|
|
@@ -356,6 +396,7 @@ var Parser;
|
|
|
356
396
|
switch (tokens.token?.type) {
|
|
357
397
|
case "+":
|
|
358
398
|
case "-":
|
|
399
|
+
case ".":
|
|
359
400
|
const type = tokens.token.type;
|
|
360
401
|
tokens.next();
|
|
361
402
|
const rhs = parseValueExpression();
|
|
@@ -368,6 +409,40 @@ var Parser;
|
|
|
368
409
|
lhs: value,
|
|
369
410
|
rhs
|
|
370
411
|
};
|
|
412
|
+
case "(":
|
|
413
|
+
const functionName = FieldValue.referenced(value);
|
|
414
|
+
if (functionName === void 0) {
|
|
415
|
+
unexpected();
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
tokens.next();
|
|
419
|
+
if (!isFunction(functionName)) {
|
|
420
|
+
constraint.error("UNKNOWN_FUNCTION", `Unknown function "${functionName}"`);
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
const args = Array();
|
|
424
|
+
while (tokens.token?.type !== ")") {
|
|
425
|
+
const expr = parseValueExpression();
|
|
426
|
+
if (expr === void 0) {
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
args.push(expr);
|
|
430
|
+
switch (tokens.token?.type) {
|
|
431
|
+
case ",":
|
|
432
|
+
tokens.next();
|
|
433
|
+
break;
|
|
434
|
+
case ")":
|
|
435
|
+
break;
|
|
436
|
+
default:
|
|
437
|
+
unexpected();
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
tokens.next();
|
|
442
|
+
return {
|
|
443
|
+
type: functionName,
|
|
444
|
+
args
|
|
445
|
+
};
|
|
371
446
|
}
|
|
372
447
|
return value;
|
|
373
448
|
}
|