@matter/model 0.11.9-alpha.0-20241203-06077d82e → 0.11.9-alpha.0-20241206-22f233334
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/elements/MatterElement.d.ts +5 -1
- package/dist/cjs/elements/MatterElement.d.ts.map +1 -1
- package/dist/cjs/elements/MatterElement.js +1 -1
- package/dist/cjs/elements/MatterElement.js.map +1 -1
- package/dist/cjs/logic/DefaultValue.d.ts +3 -1
- package/dist/cjs/logic/DefaultValue.d.ts.map +1 -1
- package/dist/cjs/logic/DefaultValue.js +11 -11
- package/dist/cjs/logic/DefaultValue.js.map +1 -1
- package/dist/cjs/logic/ModelTraversal.d.ts +6 -35
- package/dist/cjs/logic/ModelTraversal.d.ts.map +1 -1
- package/dist/cjs/logic/ModelTraversal.js +15 -109
- package/dist/cjs/logic/ModelTraversal.js.map +1 -1
- package/dist/cjs/logic/ModelVariantTraversal.d.ts.map +1 -1
- package/dist/cjs/logic/ModelVariantTraversal.js.map +1 -1
- package/dist/cjs/logic/Scope.d.ts +102 -0
- package/dist/cjs/logic/Scope.d.ts.map +1 -0
- package/dist/cjs/logic/Scope.js +220 -0
- package/dist/cjs/logic/Scope.js.map +6 -0
- package/dist/cjs/logic/definition-validation/ModelValidator.d.ts.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/AttributeModel.d.ts +20 -0
- package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
- package/dist/cjs/models/AttributeModel.js +3 -0
- package/dist/cjs/models/AttributeModel.js.map +1 -1
- package/dist/cjs/models/Children.d.ts +4 -0
- package/dist/cjs/models/Children.d.ts.map +1 -1
- package/dist/cjs/models/Children.js +13 -0
- package/dist/cjs/models/Children.js.map +1 -1
- package/dist/cjs/models/ClusterModel.d.ts +6 -7
- package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
- package/dist/cjs/models/ClusterModel.js +5 -38
- package/dist/cjs/models/ClusterModel.js.map +1 -1
- package/dist/cjs/models/CommandModel.d.ts +22 -0
- package/dist/cjs/models/CommandModel.d.ts.map +1 -1
- package/dist/cjs/models/CommandModel.js +3 -0
- package/dist/cjs/models/CommandModel.js.map +1 -1
- package/dist/cjs/models/DatatypeModel.js +0 -2
- package/dist/cjs/models/DatatypeModel.js.map +1 -1
- package/dist/cjs/models/EventModel.d.ts +21 -0
- package/dist/cjs/models/EventModel.d.ts.map +1 -1
- package/dist/cjs/models/EventModel.js +3 -0
- package/dist/cjs/models/EventModel.js.map +1 -1
- package/dist/cjs/models/MatterModel.d.ts +3 -3
- package/dist/cjs/models/MatterModel.d.ts.map +1 -1
- package/dist/cjs/models/MatterModel.js +6 -5
- package/dist/cjs/models/MatterModel.js.map +1 -1
- package/dist/cjs/models/Model.d.ts +10 -6
- package/dist/cjs/models/Model.d.ts.map +1 -1
- package/dist/cjs/models/Model.js +28 -9
- package/dist/cjs/models/Model.js.map +1 -1
- package/dist/cjs/models/ScopeModel.d.ts +22 -0
- package/dist/cjs/models/ScopeModel.d.ts.map +1 -0
- package/dist/cjs/models/ScopeModel.js +63 -0
- package/dist/cjs/models/ScopeModel.js.map +6 -0
- package/dist/cjs/models/ValueModel.d.ts +7 -21
- package/dist/cjs/models/ValueModel.d.ts.map +1 -1
- package/dist/cjs/models/ValueModel.js +15 -34
- package/dist/cjs/models/ValueModel.js.map +1 -1
- package/dist/cjs/models/index.d.ts +1 -0
- package/dist/cjs/models/index.d.ts.map +1 -1
- package/dist/cjs/models/index.js +1 -0
- package/dist/cjs/models/index.js.map +1 -1
- package/dist/cjs/standard/elements/ColorControl.js +3 -4
- package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
- package/dist/cjs/standard/elements/ModeBase.js +1 -1
- package/dist/cjs/standard/elements/ModeBase.js.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.js +3 -20
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/cjs/standard/elements/UserLabel.d.ts.map +1 -1
- package/dist/cjs/standard/elements/UserLabel.js +13 -16
- package/dist/cjs/standard/elements/UserLabel.js.map +1 -1
- package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js +1 -5
- package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
- package/dist/cjs/standard/elements/WindowCovering.js +2 -2
- package/dist/esm/elements/MatterElement.d.ts +5 -1
- package/dist/esm/elements/MatterElement.d.ts.map +1 -1
- package/dist/esm/elements/MatterElement.js +1 -1
- package/dist/esm/elements/MatterElement.js.map +1 -1
- package/dist/esm/logic/DefaultValue.d.ts +3 -1
- package/dist/esm/logic/DefaultValue.d.ts.map +1 -1
- package/dist/esm/logic/DefaultValue.js +11 -11
- package/dist/esm/logic/DefaultValue.js.map +1 -1
- package/dist/esm/logic/ModelTraversal.d.ts +6 -35
- package/dist/esm/logic/ModelTraversal.d.ts.map +1 -1
- package/dist/esm/logic/ModelTraversal.js +16 -110
- package/dist/esm/logic/ModelTraversal.js.map +1 -1
- package/dist/esm/logic/ModelVariantTraversal.d.ts.map +1 -1
- package/dist/esm/logic/ModelVariantTraversal.js.map +1 -1
- package/dist/esm/logic/Scope.d.ts +102 -0
- package/dist/esm/logic/Scope.d.ts.map +1 -0
- package/dist/esm/logic/Scope.js +200 -0
- package/dist/esm/logic/Scope.js.map +6 -0
- package/dist/esm/logic/definition-validation/ModelValidator.d.ts.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/AttributeModel.d.ts +20 -0
- package/dist/esm/models/AttributeModel.d.ts.map +1 -1
- package/dist/esm/models/AttributeModel.js +3 -0
- package/dist/esm/models/AttributeModel.js.map +1 -1
- package/dist/esm/models/Children.d.ts +4 -0
- package/dist/esm/models/Children.d.ts.map +1 -1
- package/dist/esm/models/Children.js +13 -0
- package/dist/esm/models/Children.js.map +1 -1
- package/dist/esm/models/ClusterModel.d.ts +6 -7
- package/dist/esm/models/ClusterModel.d.ts.map +1 -1
- package/dist/esm/models/ClusterModel.js +5 -38
- package/dist/esm/models/ClusterModel.js.map +1 -1
- package/dist/esm/models/CommandModel.d.ts +22 -0
- package/dist/esm/models/CommandModel.d.ts.map +1 -1
- package/dist/esm/models/CommandModel.js +3 -0
- package/dist/esm/models/CommandModel.js.map +1 -1
- package/dist/esm/models/DatatypeModel.js +0 -2
- package/dist/esm/models/DatatypeModel.js.map +1 -1
- package/dist/esm/models/EventModel.d.ts +21 -0
- package/dist/esm/models/EventModel.d.ts.map +1 -1
- package/dist/esm/models/EventModel.js +3 -0
- package/dist/esm/models/EventModel.js.map +1 -1
- package/dist/esm/models/MatterModel.d.ts +3 -3
- package/dist/esm/models/MatterModel.d.ts.map +1 -1
- package/dist/esm/models/MatterModel.js +6 -5
- package/dist/esm/models/MatterModel.js.map +1 -1
- package/dist/esm/models/Model.d.ts +10 -6
- package/dist/esm/models/Model.d.ts.map +1 -1
- package/dist/esm/models/Model.js +28 -9
- package/dist/esm/models/Model.js.map +1 -1
- package/dist/esm/models/ScopeModel.d.ts +22 -0
- package/dist/esm/models/ScopeModel.d.ts.map +1 -0
- package/dist/esm/models/ScopeModel.js +43 -0
- package/dist/esm/models/ScopeModel.js.map +6 -0
- package/dist/esm/models/ValueModel.d.ts +7 -21
- package/dist/esm/models/ValueModel.d.ts.map +1 -1
- package/dist/esm/models/ValueModel.js +15 -34
- package/dist/esm/models/ValueModel.js.map +1 -1
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.d.ts.map +1 -1
- package/dist/esm/models/index.js +1 -0
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/standard/elements/ColorControl.js +3 -4
- package/dist/esm/standard/elements/ColorControl.js.map +1 -1
- package/dist/esm/standard/elements/ModeBase.js +1 -1
- package/dist/esm/standard/elements/ModeBase.js.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.js +3 -20
- package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/esm/standard/elements/UserLabel.d.ts.map +1 -1
- package/dist/esm/standard/elements/UserLabel.js +13 -16
- package/dist/esm/standard/elements/UserLabel.js.map +1 -1
- package/dist/esm/standard/elements/WildcardPathFlagsBitmap.d.ts.map +1 -1
- package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js +1 -5
- package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
- package/dist/esm/standard/elements/WindowCovering.js +2 -2
- package/package.json +4 -4
- package/src/elements/MatterElement.ts +7 -2
- package/src/logic/DefaultValue.ts +13 -11
- package/src/logic/ModelTraversal.ts +28 -147
- package/src/logic/ModelVariantTraversal.ts +0 -1
- package/src/logic/Scope.ts +400 -0
- package/src/logic/index.ts +1 -0
- package/src/models/AttributeModel.ts +4 -0
- package/src/models/Children.ts +24 -1
- package/src/models/ClusterModel.ts +12 -51
- package/src/models/CommandModel.ts +4 -0
- package/src/models/DatatypeModel.ts +0 -2
- package/src/models/EventModel.ts +4 -0
- package/src/models/MatterModel.ts +6 -5
- package/src/models/Model.ts +38 -12
- package/src/models/ScopeModel.ts +55 -0
- package/src/models/ValueModel.ts +17 -39
- package/src/models/index.ts +1 -0
- package/src/standard/elements/ColorControl.ts +4 -4
- package/src/standard/elements/ModeBase.ts +1 -1
- package/src/standard/elements/PumpConfigurationAndControl.ts +2 -18
- package/src/standard/elements/UserLabel.ts +8 -12
- package/src/standard/elements/WildcardPathFlagsBitmap.ts +1 -4
- package/src/standard/elements/WindowCovering.ts +2 -2
|
@@ -27,7 +27,6 @@ var import_Quality = require("../aspects/Quality.js");
|
|
|
27
27
|
var import_errors = require("../common/errors.js");
|
|
28
28
|
var import_common = require("../common/index.js");
|
|
29
29
|
var import_elements = require("../elements/index.js");
|
|
30
|
-
var import_ModelTraversal = require("../logic/ModelTraversal.js");
|
|
31
30
|
var import_ClusterRevision = require("../standard/elements/ClusterRevision.js");
|
|
32
31
|
var import_FeatureMap = require("../standard/elements/FeatureMap.js");
|
|
33
32
|
var import_Aspects = require("./Aspects.js");
|
|
@@ -36,15 +35,15 @@ var import_CommandModel = require("./CommandModel.js");
|
|
|
36
35
|
var import_DatatypeModel = require("./DatatypeModel.js");
|
|
37
36
|
var import_EventModel = require("./EventModel.js");
|
|
38
37
|
var import_Model = require("./Model.js");
|
|
38
|
+
var import_ScopeModel = require("./ScopeModel.js");
|
|
39
39
|
/**
|
|
40
40
|
* @license
|
|
41
41
|
* Copyright 2022-2024 Matter.js Authors
|
|
42
42
|
* SPDX-License-Identifier: Apache-2.0
|
|
43
43
|
*/
|
|
44
44
|
const QUALITY = Symbol("quality");
|
|
45
|
-
class ClusterModel extends
|
|
45
|
+
class ClusterModel extends import_ScopeModel.ScopeModel {
|
|
46
46
|
tag = import_elements.ClusterElement.Tag;
|
|
47
|
-
isTypeScope = true;
|
|
48
47
|
get children() {
|
|
49
48
|
return super.children;
|
|
50
49
|
}
|
|
@@ -75,43 +74,11 @@ class ClusterModel extends import_Model.Model {
|
|
|
75
74
|
get datatypes() {
|
|
76
75
|
return this.all(import_DatatypeModel.DatatypeModel);
|
|
77
76
|
}
|
|
78
|
-
get members() {
|
|
79
|
-
const traversal = new import_ModelTraversal.ModelTraversal();
|
|
80
|
-
const members = traversal.findChildren(this, [import_common.ElementTag.Field, import_common.ElementTag.Attribute]);
|
|
81
|
-
const missingGlobalIds = new Set(import_AttributeModel.AttributeModel.globalIds);
|
|
82
|
-
for (const m of members) {
|
|
83
|
-
if (m instanceof import_AttributeModel.AttributeModel && m.id) {
|
|
84
|
-
missingGlobalIds.delete(m.id);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
if (missingGlobalIds.size) {
|
|
88
|
-
const root = traversal.findRoot(this);
|
|
89
|
-
if (root) {
|
|
90
|
-
for (const id of missingGlobalIds) {
|
|
91
|
-
const global = root.get(import_AttributeModel.AttributeModel, id);
|
|
92
|
-
if (global) {
|
|
93
|
-
members.push(global);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return members;
|
|
99
|
-
}
|
|
100
|
-
get activeMembers() {
|
|
101
|
-
return new import_ModelTraversal.ModelTraversal().findActiveMembers(this, false, this);
|
|
102
|
-
}
|
|
103
|
-
get conformantMembers() {
|
|
104
|
-
return new import_ModelTraversal.ModelTraversal().findActiveMembers(this, true, this);
|
|
105
|
-
}
|
|
106
77
|
/**
|
|
107
78
|
* Get attributes, commands and events whether inherited or defined directly in this model.
|
|
108
79
|
*/
|
|
109
80
|
get allAces() {
|
|
110
|
-
return
|
|
111
|
-
import_common.ElementTag.Attribute,
|
|
112
|
-
import_common.ElementTag.Command,
|
|
113
|
-
import_common.ElementTag.Event
|
|
114
|
-
]);
|
|
81
|
+
return this.scope.membersOf(this, { tags: [import_common.ElementTag.Attribute, import_common.ElementTag.Command, import_common.ElementTag.Event] });
|
|
115
82
|
}
|
|
116
83
|
get revision() {
|
|
117
84
|
let revision = 1;
|
|
@@ -180,8 +147,8 @@ class ClusterModel extends import_Model.Model {
|
|
|
180
147
|
}
|
|
181
148
|
return result;
|
|
182
149
|
}
|
|
183
|
-
constructor(definition) {
|
|
184
|
-
super(definition);
|
|
150
|
+
constructor(definition, ...children) {
|
|
151
|
+
super(definition, ...children);
|
|
185
152
|
if (definition instanceof import_Model.Model) {
|
|
186
153
|
import_Aspects.Aspects.cloneAspects(definition, this, QUALITY);
|
|
187
154
|
}
|
|
@@ -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;AACvC,oBAAuB;AACvB,qBAAwB;AACxB,oBAA0C;AAC1C,oBAAiD;AAEjD,sBAA+B;AAC/B,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,6 +16,28 @@ export declare class CommandModel extends ValueModel<CommandElement> implements
|
|
|
16
16
|
get isResponse(): boolean;
|
|
17
17
|
get responseModel(): ValueModel;
|
|
18
18
|
get effectiveDirection(): CommandElement.Direction | undefined;
|
|
19
|
+
get requiredFields(): {
|
|
20
|
+
id: number;
|
|
21
|
+
tag: `${CommandElement.Tag}`;
|
|
22
|
+
direction?: `${CommandElement.Direction}`;
|
|
23
|
+
response?: string;
|
|
24
|
+
name: string;
|
|
25
|
+
type?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
details?: string;
|
|
28
|
+
xref?: import("../index.js").Specification.CrossReference;
|
|
29
|
+
children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
|
|
30
|
+
isGlobal?: boolean;
|
|
31
|
+
isSeed?: boolean;
|
|
32
|
+
asOf?: import("../index.js").Specification.Revision;
|
|
33
|
+
until?: import("../index.js").Specification.Revision;
|
|
34
|
+
constraint?: import("../index.js").Constraint.Definition;
|
|
35
|
+
conformance?: import("../index.js").Conformance.Definition;
|
|
36
|
+
access?: import("../index.js").Access.Definition;
|
|
37
|
+
quality?: import("../index.js").Quality.Definition;
|
|
38
|
+
byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
|
|
39
|
+
default?: import("../index.js").FieldValue;
|
|
40
|
+
};
|
|
19
41
|
/**
|
|
20
42
|
* Commands may re-use the ID for request and response so identification requires the ID in conjunction with the
|
|
21
43
|
* direction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandModel.d.ts","sourceRoot":"","sources":["../../../src/models/CommandModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IAC9C,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,IACqC,UAAU,CAC/D;IAED,IAAI,kBAAkB,yCAErB;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;IAMD,MAAM,CAAC,GAAG,mCAAsB;CACnC"}
|
|
1
|
+
{"version":3,"file":"CommandModel.d.ts","sourceRoot":"","sources":["../../../src/models/CommandModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IAC9C,EAAE,EAAE,GAAG,CAAC;IACR,SAAS,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,YAAY,YAEf;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,IACqC,UAAU,CAC/D;IAED,IAAI,kBAAkB,yCAErB;IAED,IAAa,cAAc;;gBA1BsD,eAC1E,GAAG;uBAEqB,eAC/B,SAAK;;;;;;;;;;;;;;;;;;MAwBJ;IAED;;;OAGG;IACH,IAAa,aAAa,6BAWzB;IAMD,MAAM,CAAC,GAAG,mCAAsB;CACnC"}
|
|
@@ -47,6 +47,9 @@ class CommandModel extends import_ValueModel.ValueModel {
|
|
|
47
47
|
get effectiveDirection() {
|
|
48
48
|
return this.direction ?? new import_ModelTraversal.ModelTraversal().findShadow(this)?.direction;
|
|
49
49
|
}
|
|
50
|
+
get requiredFields() {
|
|
51
|
+
return { ...super.requiredFields, id: this.id };
|
|
52
|
+
}
|
|
50
53
|
/**
|
|
51
54
|
* Commands may re-use the ID for request and response so identification requires the ID in conjunction with the
|
|
52
55
|
* direction.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/CommandModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA+B;AAC/B,4BAA+B;AAC/B,mBAAsB;AACtB,wBAA2B;AAV3B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,qBAAqB,6BAAqD;AAAA,EAC1E,MAA0B,+BAAe;AAAA,EAKlD,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,cAAc,+BAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,cAAc,+BAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,qCAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,IAAI,qCAAe,EAAE,WAAW,IAAI,GAAgC;AAAA,EAClG;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAa,gBAAgB;AAGzB,QAAI,KAAK,cAAc,QAAW;AAC9B,UAAI,KAAK,KAAK,SAAS,UAAU,GAAG;AAChC,eAAO,+BAAe,UAAU;AAAA,MACpC;AACA,aAAO,+BAAe,UAAU;AAAA,IACpC;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,+BAAe,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,OAAO,MAAM,+BAAe;AAChC;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA+B;AAC/B,4BAA+B;AAC/B,mBAAsB;AACtB,wBAA2B;AAV3B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,qBAAqB,6BAAqD;AAAA,EAC1E,MAA0B,+BAAe;AAAA,EAKlD,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,cAAc,+BAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK,cAAc,+BAAe,UAAU;AAAA,EACvD;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,IAAI,qCAAe,EAAE,aAAa,IAAI;AAAA,EACjD;AAAA,EAEA,IAAI,qBAAqB;AACrB,WAAO,KAAK,aAAc,IAAI,qCAAe,EAAE,WAAW,IAAI,GAAgC;AAAA,EAClG;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAa,gBAAgB;AAGzB,QAAI,KAAK,cAAc,QAAW;AAC9B,UAAI,KAAK,KAAK,SAAS,UAAU,GAAG;AAChC,eAAO,+BAAe,UAAU;AAAA,MACpC;AACA,aAAO,+BAAe,UAAU;AAAA,IACpC;AAEA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,+BAAe,GAAG,IAAI;AAAA,EACtC;AAAA,EAEA,OAAO,MAAM,+BAAe;AAChC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/DatatypeModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAyB;AACzB,6BAAgC;AAChC,mBAAsB;AACtB,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,sBAAsB,6BAAuD;AAAA,EAC7E,MAA2B,uCAAgB;AAAA,EAGpD,IAAI,gBAAgB;AAChB,YAAQ,KAAK,mBAAmB;AAAA,MAC5B,KAAK,uBAAS;AAAA,MACd,KAAK,uBAAS;AAAA,MACd,KAAK,uBAAS;AACV,eAAO,CAAC,CAAC,KAAK,eAAe,SAAS;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,uCAAgB,GAAG,IAAI;AAAA,EACvC;AACJ;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAAyB;AACzB,6BAAgC;AAChC,mBAAsB;AACtB,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,sBAAsB,6BAAuD;AAAA,EAC7E,MAA2B,uCAAgB;AAAA,EAGpD,IAAI,gBAAgB;AAChB,YAAQ,KAAK,mBAAmB;AAAA,MAC5B,KAAK,uBAAS;AAAA,MACd,KAAK,uBAAS;AAAA,MACd,KAAK,uBAAS;AACV,eAAO,CAAC,CAAC,KAAK,eAAe,SAAS;AAAA,IAC9C;AACA,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,uCAAgB,GAAG,IAAI;AAAA,EACvC;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -12,6 +12,27 @@ export declare class EventModel extends ValueModel<EventElement> implements Even
|
|
|
12
12
|
priority?: EventElement.Priority;
|
|
13
13
|
constructor(definition: EventElement.Properties);
|
|
14
14
|
get fabricSensitive(): boolean;
|
|
15
|
+
get requiredFields(): {
|
|
16
|
+
id: number;
|
|
17
|
+
tag: `${EventElement.Tag}`;
|
|
18
|
+
priority?: `${EventElement.Priority}`;
|
|
19
|
+
name: string;
|
|
20
|
+
type?: string;
|
|
21
|
+
description?: string;
|
|
22
|
+
details?: string;
|
|
23
|
+
xref?: import("../index.js").Specification.CrossReference;
|
|
24
|
+
children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
|
|
25
|
+
isGlobal?: boolean;
|
|
26
|
+
isSeed?: boolean;
|
|
27
|
+
asOf?: import("../index.js").Specification.Revision;
|
|
28
|
+
until?: import("../index.js").Specification.Revision;
|
|
29
|
+
constraint?: import("../index.js").Constraint.Definition;
|
|
30
|
+
conformance?: import("../index.js").Conformance.Definition;
|
|
31
|
+
access?: import("../index.js").Access.Definition;
|
|
32
|
+
quality?: import("../index.js").Quality.Definition;
|
|
33
|
+
byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
|
|
34
|
+
default?: import("../index.js").FieldValue;
|
|
35
|
+
};
|
|
15
36
|
static Tag: import("../index.js").ElementTag;
|
|
16
37
|
}
|
|
17
38
|
//# sourceMappingURL=EventModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventModel.d.ts","sourceRoot":"","sources":["../../../src/models/EventModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAC1C,EAAE,EAAE,GAAG,CAAC;IACR,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAE7B,UAAU,EAAE,YAAY,CAAC,UAAU;IAI/C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAMD,MAAM,CAAC,GAAG,mCAAoB;CACjC"}
|
|
1
|
+
{"version":3,"file":"EventModel.d.ts","sourceRoot":"","sources":["../../../src/models/EventModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAE,YAAW,YAAY;IACnE,GAAG,EAAE,YAAY,CAAC,GAAG,CAAoB;IAC1C,EAAE,EAAE,GAAG,CAAC;IACR,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC;gBAE7B,UAAU,EAAE,YAAY,CAAC,UAAU;IAI/C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAa,cAAc;;gBAX3B,aAAQ,GAAG;sBAG4B,aACnC,QAAC;;;;;;;;;;;;;;;;;MASJ;IAMD,MAAM,CAAC,GAAG,mCAAoB;CACjC"}
|
|
@@ -37,6 +37,9 @@ class EventModel extends import_ValueModel.ValueModel {
|
|
|
37
37
|
get fabricSensitive() {
|
|
38
38
|
return this.effectiveAccess.fabricSensitive;
|
|
39
39
|
}
|
|
40
|
+
get requiredFields() {
|
|
41
|
+
return { ...super.requiredFields, id: this.id };
|
|
42
|
+
}
|
|
40
43
|
static {
|
|
41
44
|
import_Model.Model.types[import_elements.EventElement.Tag] = this;
|
|
42
45
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/EventModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA6B;AAC7B,mBAAsB;AACtB,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,mBAAmB,6BAAiD;AAAA,EACpE,MAAwB,6BAAa;AAAA,EAI9C,YAAY,YAAqC;AAC7C,UAAM,UAAU;AAAA,EACpB;AAAA,EAEA,IAAI,kBAA2B;AAC3B,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,6BAAa,GAAG,IAAI;AAAA,EACpC;AAAA,EAEA,OAAO,MAAM,6BAAa;AAC9B;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA6B;AAC7B,mBAAsB;AACtB,wBAA2B;AAT3B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,mBAAmB,6BAAiD;AAAA,EACpE,MAAwB,6BAAa;AAAA,EAI9C,YAAY,YAAqC;AAC7C,UAAM,UAAU;AAAA,EACpB;AAAA,EAEA,IAAI,kBAA2B;AAC3B,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,6BAAa,GAAG,IAAI;AAAA,EACpC;AAAA,EAEA,OAAO,MAAM,6BAAa;AAC9B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -13,13 +13,13 @@ import { DeviceTypeModel } from "./DeviceTypeModel.js";
|
|
|
13
13
|
import { FabricModel } from "./FabricModel.js";
|
|
14
14
|
import { FieldModel } from "./FieldModel.js";
|
|
15
15
|
import { Model } from "./Model.js";
|
|
16
|
+
import { ScopeModel } from "./ScopeModel.js";
|
|
16
17
|
import { SemanticNamespaceModel } from "./SemanticNamespaceModel.js";
|
|
17
18
|
/**
|
|
18
19
|
* The root of a Matter model. This is the parent for global models.
|
|
19
20
|
*/
|
|
20
|
-
export declare class MatterModel extends
|
|
21
|
+
export declare class MatterModel extends ScopeModel<MatterElement> implements MatterElement {
|
|
21
22
|
tag: MatterElement.Tag;
|
|
22
|
-
isTypeScope: boolean;
|
|
23
23
|
revision?: Specification.Revision;
|
|
24
24
|
get children(): Children<MatterModel.Child>;
|
|
25
25
|
set children(children: Children.InputIterable<MatterModel.Child>);
|
|
@@ -56,7 +56,7 @@ export declare class MatterModel extends Model<MatterElement> implements MatterE
|
|
|
56
56
|
*
|
|
57
57
|
* @param definition the MatterElement that defines the model
|
|
58
58
|
*/
|
|
59
|
-
constructor(definition
|
|
59
|
+
constructor(definition: MatterElement.Definition, ...children: Model.Definition<MatterModel.Child>[]);
|
|
60
60
|
/**
|
|
61
61
|
* All sub-cluster global elements from this model.
|
|
62
62
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatterModel.d.ts","sourceRoot":"","sources":["../../../src/models/MatterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,qBAAa,WAAY,SAAQ,
|
|
1
|
+
{"version":3,"file":"MatterModel.d.ts","sourceRoot":"","sources":["../../../src/models/MatterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU,CAAC,aAAa,CAAE,YAAW,aAAa;IACtE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAqB;IAC5C,QAAQ,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IAE1C,IAAa,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAEnD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAExE;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAGzB;IAEH;;OAEG;IACH,IAAI,QAAQ,mBAEX;IAED;;OAEG;IACH,IAAI,WAAW,sBAEd;IAED;;OAEG;IACH,IAAI,kBAAkB,6BAErB;IAED;;OAEG;IACH,IAAI,SAAS,sBAEZ;IAED;;OAEG;IACH,IAAI,UAAU,qBAEb;IAED;;OAEG;IACH,IAAI,OAAO,kBAEV;IAED;;;;OAIG;gBACS,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;IAMpG;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,EAAE,CAErC;CAKJ;AAED,yBAAiB,WAAW,CAAC;IACzB,KAAY,KAAK,GACX,YAAY,GACZ,eAAe,GACf,UAAU,GACV,aAAa,GACb,cAAc,GACd,WAAW,GACX,sBAAsB,CAAC;CAChC"}
|
|
@@ -30,15 +30,15 @@ var import_FabricModel = require("./FabricModel.js");
|
|
|
30
30
|
var import_FieldModel = require("./FieldModel.js");
|
|
31
31
|
var import_Globals = require("./Globals.js");
|
|
32
32
|
var import_Model = require("./Model.js");
|
|
33
|
+
var import_ScopeModel = require("./ScopeModel.js");
|
|
33
34
|
var import_SemanticNamespaceModel = require("./SemanticNamespaceModel.js");
|
|
34
35
|
/**
|
|
35
36
|
* @license
|
|
36
37
|
* Copyright 2022-2024 Matter.js Authors
|
|
37
38
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
39
|
*/
|
|
39
|
-
class MatterModel extends
|
|
40
|
+
class MatterModel extends import_ScopeModel.ScopeModel {
|
|
40
41
|
tag = import_elements.MatterElement.Tag;
|
|
41
|
-
isTypeScope = true;
|
|
42
42
|
get children() {
|
|
43
43
|
return super.children;
|
|
44
44
|
}
|
|
@@ -93,9 +93,10 @@ class MatterModel extends import_Model.Model {
|
|
|
93
93
|
*
|
|
94
94
|
* @param definition the MatterElement that defines the model
|
|
95
95
|
*/
|
|
96
|
-
constructor(definition
|
|
97
|
-
const
|
|
98
|
-
|
|
96
|
+
constructor(definition, ...children) {
|
|
97
|
+
const name = definition.name ?? "Matter";
|
|
98
|
+
const definitionChildren = [...definition.children || []];
|
|
99
|
+
super({ ...definition, name, children: definitionChildren }, ...children);
|
|
99
100
|
}
|
|
100
101
|
/**
|
|
101
102
|
* All sub-cluster global elements from this model.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/MatterModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA8B;AAC9B,4BAA+B;AAC/B,4BAA+B;AAE/B,0BAA6B;AAE7B,6BAAgC;AAChC,yBAA4B;AAC5B,wBAA2B;AAC3B,qBAAwB;AACxB,mBAAsB;AACtB,oCAAuC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA8B;AAC9B,4BAA+B;AAC/B,4BAA+B;AAE/B,0BAA6B;AAE7B,6BAAgC;AAChC,yBAA4B;AAC5B,wBAA2B;AAC3B,qBAAwB;AACxB,mBAAsB;AACtB,wBAA2B;AAC3B,oCAAuC;AAnBvC;AAAA;AAAA;AAAA;AAAA;AAwBO,MAAM,oBAAoB,6BAAmD;AAAA,EACvE,MAAyB,8BAAc;AAAA,EAGhD,IAAa,WAAwC;AACjD,WAAO,MAAM;AAAA,EACjB;AAAA,EAEA,IAAa,SAAS,UAAqD;AACvE,UAAM,WAAW;AAAA,EACrB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAAwB,IAAI,YAAY;AAAA,IAC3C,MAAM;AAAA,IACN,UAAU,OAAO,OAAO,sBAAO;AAAA,EACnC,CAAC;AAAA;AAAA;AAAA;AAAA,EAKD,IAAI,WAAW;AACX,WAAO,KAAK,IAAI,gCAAY;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,WAAO,KAAK,IAAI,sCAAe;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,qBAAqB;AACrB,WAAO,KAAK,IAAI,oDAAsB;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAY;AACZ,WAAO,KAAK,IAAI,4BAAU;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,aAAa;AACb,WAAO,KAAK,IAAI,oCAAc;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,UAAU;AACV,WAAO,KAAK,IAAI,8BAAW;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAY,eAAyC,UAAiD;AAClG,UAAM,OAAO,WAAW,QAAQ;AAChC,UAAM,qBAAqB,CAAC,GAAI,WAAW,YAAY,CAAC,CAAE;AAC1D,UAAM,EAAE,GAAG,YAAY,MAAM,UAAU,mBAAmB,GAAG,GAAG,QAAQ;AAAA,EAC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,IAAI,cAAmC;AACnC,WAAO,KAAK,SAAS,OAAO,WAAS,MAAM,MAAM,EAAE,IAAI,WAAS,MAAM,MAAM,CAAC;AAAA,EACjF;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,8BAAc,GAAG,IAAI;AAAA,EACrC;AACJ;AAaA,qCAAe,gBAAgB,YAAY;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -24,10 +24,6 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
|
|
|
24
24
|
until?: Specification.Revision;
|
|
25
25
|
id?: number;
|
|
26
26
|
name: string;
|
|
27
|
-
/**
|
|
28
|
-
* Indicates that an element may have type definitions as children.
|
|
29
|
-
*/
|
|
30
|
-
isTypeScope?: boolean;
|
|
31
27
|
/**
|
|
32
28
|
* Indicates that an element defines a datatype.
|
|
33
29
|
*/
|
|
@@ -117,6 +113,10 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
|
|
|
117
113
|
* The set of tags from which this model may derive.
|
|
118
114
|
*/
|
|
119
115
|
get allowedBaseTags(): ElementTag[];
|
|
116
|
+
/**
|
|
117
|
+
* Update a subset of fields.
|
|
118
|
+
*/
|
|
119
|
+
patch(values: Partial<T>): void;
|
|
120
120
|
/**
|
|
121
121
|
* Determine whether this element applies to a specific revision.
|
|
122
122
|
*/
|
|
@@ -156,6 +156,10 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
|
|
|
156
156
|
* Apply a function to all tree elements.
|
|
157
157
|
*/
|
|
158
158
|
visit(visitor: (model: Model) => boolean | void): boolean | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* Visit this model and each of its ancestors.
|
|
161
|
+
*/
|
|
162
|
+
forEachAncestor(fn: (model: Model) => boolean | void): void;
|
|
159
163
|
/**
|
|
160
164
|
* Find all children that reference a specific type.
|
|
161
165
|
*/
|
|
@@ -176,7 +180,7 @@ export declare abstract class Model<T extends BaseElement = BaseElement> {
|
|
|
176
180
|
* Create an operational extension of the model. This creates a new model that inherits from this model for
|
|
177
181
|
* operational purposes.
|
|
178
182
|
*/
|
|
179
|
-
extend<This extends Model>(this: This, properties?: Partial<BaseElement.Properties<T
|
|
183
|
+
extend<This extends Model>(this: This, properties?: Partial<BaseElement.Properties<T>>, ...children: Model.Definition<Model>[]): This;
|
|
180
184
|
constructor(definition: Model<T> | BaseElement.Properties<T>, ...children: Model.Definition<Model>[]);
|
|
181
185
|
/**
|
|
182
186
|
* Freeze the model hierarchy rooted at this model.
|
|
@@ -194,7 +198,7 @@ export declare namespace Model {
|
|
|
194
198
|
/**
|
|
195
199
|
* Obtain the element type of a model type.
|
|
196
200
|
*/
|
|
197
|
-
type ElementOf<T> = T extends Model<infer E extends AnyElement> ? E :
|
|
201
|
+
type ElementOf<T> = T extends Model<infer E extends AnyElement> ? E : AnyElement;
|
|
198
202
|
/**
|
|
199
203
|
* Obtain the child type of a model type.
|
|
200
204
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,UAAU,EAAY,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC;;;;GAIG;AACH,8BAAsB,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;;IAC3D,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAC5B,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAMrB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"Model.d.ts","sourceRoot":"","sources":["../../../src/models/Model.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/models/Model.js
CHANGED
|
@@ -43,10 +43,6 @@ class Model {
|
|
|
43
43
|
#id = void 0;
|
|
44
44
|
#name;
|
|
45
45
|
#frozen;
|
|
46
|
-
/**
|
|
47
|
-
* Indicates that an element may have type definitions as children.
|
|
48
|
-
*/
|
|
49
|
-
isTypeScope;
|
|
50
46
|
/**
|
|
51
47
|
* Indicates that an element defines a datatype.
|
|
52
48
|
*/
|
|
@@ -242,6 +238,14 @@ class Model {
|
|
|
242
238
|
get allowedBaseTags() {
|
|
243
239
|
return [this.tag];
|
|
244
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* Update a subset of fields.
|
|
243
|
+
*/
|
|
244
|
+
patch(values) {
|
|
245
|
+
for (const [k, v] of Object.entries(values.valueOf())) {
|
|
246
|
+
this[k] = v;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
245
249
|
/**
|
|
246
250
|
* Determine whether this element applies to a specific revision.
|
|
247
251
|
*/
|
|
@@ -316,9 +320,10 @@ class Model {
|
|
|
316
320
|
switch (key) {
|
|
317
321
|
case "parent":
|
|
318
322
|
case "errors":
|
|
319
|
-
case "
|
|
323
|
+
case "scope":
|
|
320
324
|
case "isType":
|
|
321
325
|
case "operationalBase":
|
|
326
|
+
case "isScope":
|
|
322
327
|
continue;
|
|
323
328
|
default:
|
|
324
329
|
if (this[key] !== void 0 && (this[key] !== null || key === "default")) {
|
|
@@ -334,6 +339,12 @@ class Model {
|
|
|
334
339
|
visit(visitor) {
|
|
335
340
|
return new import_ModelTraversal.ModelTraversal().visit(this, visitor);
|
|
336
341
|
}
|
|
342
|
+
/**
|
|
343
|
+
* Visit this model and each of its ancestors.
|
|
344
|
+
*/
|
|
345
|
+
forEachAncestor(fn) {
|
|
346
|
+
new import_ModelTraversal.ModelTraversal().visitInheritance(this, fn);
|
|
347
|
+
}
|
|
337
348
|
/**
|
|
338
349
|
* Find all children that reference a specific type.
|
|
339
350
|
*/
|
|
@@ -363,20 +374,28 @@ class Model {
|
|
|
363
374
|
* Create an operational extension of the model. This creates a new model that inherits from this model for
|
|
364
375
|
* operational purposes.
|
|
365
376
|
*/
|
|
366
|
-
extend(properties) {
|
|
377
|
+
extend(properties, ...children) {
|
|
367
378
|
const constructor = this.constructor;
|
|
368
|
-
const
|
|
379
|
+
const definition = {
|
|
369
380
|
id: this.id,
|
|
370
381
|
name: this.name,
|
|
371
382
|
...properties,
|
|
372
383
|
tag: this.tag,
|
|
373
384
|
operationalBase: this
|
|
374
|
-
}
|
|
385
|
+
};
|
|
386
|
+
if (children.length) {
|
|
387
|
+
if (definition.children) {
|
|
388
|
+
definition.children = [...definition.children, ...children];
|
|
389
|
+
} else {
|
|
390
|
+
definition.children = children;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
const extension = new constructor(definition);
|
|
375
394
|
return extension;
|
|
376
395
|
}
|
|
377
396
|
constructor(definition, ...children) {
|
|
378
397
|
if (typeof definition !== "object") {
|
|
379
|
-
throw new import_general.ImplementationError(`Model definition must be an object, not
|
|
398
|
+
throw new import_general.ImplementationError(`Model definition must be an object, not ${typeof definition}`);
|
|
380
399
|
}
|
|
381
400
|
const isClone = definition instanceof Model;
|
|
382
401
|
this.#id = definition.id;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/Model.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAyE;AACzE,oBAAqE;AAErE,4BAA+B;AAC/B,sBAAyB;AAVzB;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,UAAU,OAAO,IAAI,4BAA4B;AAOhD,MAAe,MAA2C;AAAA,EAE7D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAIA,MAAe;AAAA,EACf;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["inspect", "Model"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseElement } from "#elements/BaseElement.js";
|
|
7
|
+
import { Scope } from "#logic/Scope.js";
|
|
8
|
+
import { Model } from "./Model.js";
|
|
9
|
+
/**
|
|
10
|
+
* A "scope" is a model provides name resolution for other models.
|
|
11
|
+
*
|
|
12
|
+
* {@link Model#type} must reference a model named in a parent scope.
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class ScopeModel<T extends BaseElement = BaseElement> extends Model<T> {
|
|
15
|
+
#private;
|
|
16
|
+
readonly isScope = true;
|
|
17
|
+
get scope(): Scope;
|
|
18
|
+
freeze(): this;
|
|
19
|
+
static is(model: Model): model is ScopeModel;
|
|
20
|
+
static of(model: Model): ScopeModel<BaseElement>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=ScopeModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeModel.d.ts","sourceRoot":"","sources":["../../../src/models/ScopeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,8BAAsB,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;;IAGlF,QAAQ,CAAC,OAAO,QAAQ;IAExB,IAAI,KAAK,UAKR;IAEQ,MAAM;IAQf,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,IAAI,UAAU;IAI5C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK;CAazB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ScopeModel_exports = {};
|
|
20
|
+
__export(ScopeModel_exports, {
|
|
21
|
+
ScopeModel: () => ScopeModel
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ScopeModel_exports);
|
|
24
|
+
var import_errors = require("#common/errors.js");
|
|
25
|
+
var import_ModelTraversal = require("#logic/ModelTraversal.js");
|
|
26
|
+
var import_Scope = require("#logic/Scope.js");
|
|
27
|
+
var import_Model = require("./Model.js");
|
|
28
|
+
/**
|
|
29
|
+
* @license
|
|
30
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
31
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
32
|
+
*/
|
|
33
|
+
class ScopeModel extends import_Model.Model {
|
|
34
|
+
#operationalScope;
|
|
35
|
+
isScope = true;
|
|
36
|
+
get scope() {
|
|
37
|
+
if (this.#operationalScope !== void 0) {
|
|
38
|
+
return this.#operationalScope;
|
|
39
|
+
}
|
|
40
|
+
return (0, import_Scope.Scope)(this);
|
|
41
|
+
}
|
|
42
|
+
freeze() {
|
|
43
|
+
if (!this.#operationalScope) {
|
|
44
|
+
this.#operationalScope = (0, import_Scope.Scope)(this);
|
|
45
|
+
}
|
|
46
|
+
super.freeze();
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
static is(model) {
|
|
50
|
+
return !!model.isScope;
|
|
51
|
+
}
|
|
52
|
+
static of(model) {
|
|
53
|
+
if (model.isScope) {
|
|
54
|
+
return model;
|
|
55
|
+
}
|
|
56
|
+
const scope = new import_ModelTraversal.ModelTraversal().findScope(model);
|
|
57
|
+
if (scope === void 0) {
|
|
58
|
+
throw new import_errors.SchemaImplementationError(model, `No parent scope`);
|
|
59
|
+
}
|
|
60
|
+
return scope;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=ScopeModel.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/models/ScopeModel.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,oBAA0C;AAE1C,4BAA+B;AAC/B,mBAAsB;AACtB,mBAAsB;AAVtB;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAe,mBAAwD,mBAAS;AAAA,EACnF;AAAA,EAES,UAAU;AAAA,EAEnB,IAAI,QAAQ;AACR,QAAI,KAAK,sBAAsB,QAAW;AACtC,aAAO,KAAK;AAAA,IAChB;AACA,eAAO,oBAAM,IAAI;AAAA,EACrB;AAAA,EAES,SAAS;AACd,QAAI,CAAC,KAAK,mBAAmB;AACzB,WAAK,wBAAoB,oBAAM,IAAI;AAAA,IACvC;AACA,UAAM,OAAO;AACb,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,GAAG,OAAmC;AACzC,WAAO,CAAC,CAAE,MAAqB;AAAA,EACnC;AAAA,EAEA,OAAO,GAAG,OAAc;AACpB,QAAK,MAAqB,SAAS;AAC/B,aAAO;AAAA,IACX;AAEA,UAAM,QAAQ,IAAI,qCAAe,EAAE,UAAU,KAAK;AAElD,QAAI,UAAU,QAAW;AACrB,YAAM,IAAI,wCAA0B,OAAO,iBAAiB;AAAA,IAChE;AAEA,WAAO;AAAA,EACX;AACJ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|