@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
|
@@ -0,0 +1,102 @@
|
|
|
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 type { Model } from "#models/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Tracks extensions for a scope to models in parent scopes.
|
|
10
|
+
*
|
|
11
|
+
* A child model with the same {tag, name, type} tuple in a derived scope is a semantic extension of the model in the
|
|
12
|
+
* parent scope even if it does not explicitly inherit from the parent via {@link Model#type}. We refer to the implicit
|
|
13
|
+
* base class as a *shadow* and the implicit child class as an *extension*.
|
|
14
|
+
*
|
|
15
|
+
* Note that "type" in above tuple includes either undefined, the model's own name, or extension of the exact same type
|
|
16
|
+
* in both the shadow and the extension. In the former case the shadow is implicit; in the latter case it is explicit.
|
|
17
|
+
*
|
|
18
|
+
* This utility provideds optimized lookup of extensions present in a particular scope.
|
|
19
|
+
*
|
|
20
|
+
* If the scope is frozen the analysis is cached.
|
|
21
|
+
*
|
|
22
|
+
* TODO - there is remaining ambiguity in shadow selection, fine for now but could be eliminated with conformance
|
|
23
|
+
*
|
|
24
|
+
* TODO - currently we only consider shadows at scope root but shadows of nested children is possible with this approach
|
|
25
|
+
*/
|
|
26
|
+
export interface Scope {
|
|
27
|
+
/**
|
|
28
|
+
* The model analyzed.
|
|
29
|
+
*/
|
|
30
|
+
owner: Model;
|
|
31
|
+
/**
|
|
32
|
+
* Determine if the model is a shadow.
|
|
33
|
+
*/
|
|
34
|
+
isShadow(model?: Model): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Retrieve the extension for an element if it is a shadow.
|
|
37
|
+
*/
|
|
38
|
+
extensionOf<T extends Model>(model?: T): undefined | T;
|
|
39
|
+
/**
|
|
40
|
+
* Obtain canonical definition for model. If the input model is a shadow returns the extension, otherwise returns
|
|
41
|
+
* the input model.
|
|
42
|
+
*/
|
|
43
|
+
modelFor<T extends Model>(model: T): T;
|
|
44
|
+
/**
|
|
45
|
+
* Identify members (child properties) of the designated model in this scope.
|
|
46
|
+
*/
|
|
47
|
+
membersOf<T extends Model>(parent: T, options?: Scope.MemberOptions): Model.ChildOf<T>[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Obtain the scope for a model.
|
|
51
|
+
*
|
|
52
|
+
* By default, if {@link subject} is not a {@link ScopeModel} the scope returned is for the nearest owning
|
|
53
|
+
* {@link ScopeModel}.
|
|
54
|
+
*/
|
|
55
|
+
export declare function Scope(subject: Model, options?: Scope.ScopeOptions): Scope;
|
|
56
|
+
export declare namespace Scope {
|
|
57
|
+
/**
|
|
58
|
+
* Configuration for scope creation.
|
|
59
|
+
*/
|
|
60
|
+
interface ScopeOptions {
|
|
61
|
+
/**
|
|
62
|
+
* Force the result to cache regardless of whether model is frozen.
|
|
63
|
+
*/
|
|
64
|
+
forceCache?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Disable loading of model from cache. Will still write to cache if {@link forceCache} is true.
|
|
67
|
+
*/
|
|
68
|
+
disableCache?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Force the input model as an owner even if it is not a {@link ScopeOwner}.
|
|
71
|
+
*/
|
|
72
|
+
forceOwner?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Return all members regardless of conformance.
|
|
76
|
+
*/
|
|
77
|
+
const IgnoreConformance = "ignore";
|
|
78
|
+
/**
|
|
79
|
+
* Use conformance to resolve conflicts but otherwise return all members. Useful to detect errors in input
|
|
80
|
+
* that may contain non-conformant values.
|
|
81
|
+
*/
|
|
82
|
+
const DeconflictedConformance = "deconflicted";
|
|
83
|
+
/**
|
|
84
|
+
* Only return conformant members.
|
|
85
|
+
*/
|
|
86
|
+
const ConformantConformance = "conformant";
|
|
87
|
+
/**
|
|
88
|
+
* Determines how to apply conformance when selecting members.
|
|
89
|
+
*/
|
|
90
|
+
type ConformanceMode = typeof IgnoreConformance | typeof DeconflictedConformance | typeof ConformantConformance;
|
|
91
|
+
interface MemberOptions {
|
|
92
|
+
/**
|
|
93
|
+
* Conformance filtering mode.
|
|
94
|
+
*/
|
|
95
|
+
conformance?: ConformanceMode;
|
|
96
|
+
/**
|
|
97
|
+
* Applicable tags. Defaults to "field" and "attribute".
|
|
98
|
+
*/
|
|
99
|
+
tags?: Set<ElementTag> | ElementTag[];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=Scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/logic/Scope.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOnD,OAAO,KAAK,EAAgB,KAAK,EAA0B,MAAM,kBAAkB,CAAC;AAOpF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,KAAK;IAClB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;IAEvD;;;OAGG;IACH,QAAQ,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;CAC5F;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,GAAE,KAAK,CAAC,YAAiB,SA8GrE;AAED,yBAAiB,KAAK,CAAC;IACnB;;OAEG;IACH,UAAiB,YAAY;QACzB;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;QAErB;;WAEG;QACH,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB;;WAEG;QACH,UAAU,CAAC,EAAE,OAAO,CAAC;KACxB;IAED;;OAEG;IACI,MAAM,iBAAiB,WAAW,CAAC;IAE1C;;;OAGG;IACI,MAAM,uBAAuB,iBAAiB,CAAC;IAEtD;;OAEG;IACI,MAAM,qBAAqB,eAAe,CAAC;IAElD;;OAEG;IACH,KAAY,eAAe,GACrB,OAAO,iBAAiB,GACxB,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,CAAC;IAEnC,UAAiB,aAAa;QAC1B;;WAEG;QACH,WAAW,CAAC,EAAE,eAAe,CAAC;QAE9B;;WAEG;QACH,IAAI,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;KACzC;CACJ"}
|
|
@@ -0,0 +1,220 @@
|
|
|
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 Scope_exports = {};
|
|
20
|
+
__export(Scope_exports, {
|
|
21
|
+
Scope: () => Scope
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(Scope_exports);
|
|
24
|
+
var import_ElementTag = require("#common/ElementTag.js");
|
|
25
|
+
var import_errors = require("#common/errors.js");
|
|
26
|
+
var import_FeatureSet = require("#common/FeatureSet.js");
|
|
27
|
+
var import_general = require("@matter/general");
|
|
28
|
+
var import_ModelTraversal = require("./ModelTraversal.js");
|
|
29
|
+
/**
|
|
30
|
+
* @license
|
|
31
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
32
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
33
|
+
*/
|
|
34
|
+
const DEFAULT_TAGS = /* @__PURE__ */ new Set([import_ElementTag.ElementTag.Field, import_ElementTag.ElementTag.Attribute]);
|
|
35
|
+
const GLOBAL_IDS = /* @__PURE__ */ new Set([65533, 65532, 65531, 65530, 65529, 65528]);
|
|
36
|
+
const cache = /* @__PURE__ */ new WeakMap();
|
|
37
|
+
function Scope(subject, options = {}) {
|
|
38
|
+
let owner;
|
|
39
|
+
if (subject.isScope || options.forceOwner) {
|
|
40
|
+
owner = subject;
|
|
41
|
+
} else {
|
|
42
|
+
const scope = new import_ModelTraversal.ModelTraversal().findScope(subject);
|
|
43
|
+
if (scope === void 0) {
|
|
44
|
+
throw new import_errors.SchemaImplementationError(subject, `No parent scope`);
|
|
45
|
+
}
|
|
46
|
+
owner = scope;
|
|
47
|
+
}
|
|
48
|
+
const useCache = options.forceCache || Object.isFrozen(owner);
|
|
49
|
+
let deconflictedMemberCache;
|
|
50
|
+
let conformantMemberCache;
|
|
51
|
+
let { featureNames, supportedFeatures } = owner;
|
|
52
|
+
if (!featureNames) {
|
|
53
|
+
featureNames = new import_FeatureSet.FeatureSet();
|
|
54
|
+
}
|
|
55
|
+
if (!supportedFeatures) {
|
|
56
|
+
supportedFeatures = new import_FeatureSet.FeatureSet();
|
|
57
|
+
}
|
|
58
|
+
if (useCache && !options.disableCache) {
|
|
59
|
+
const cached = cache.get(owner);
|
|
60
|
+
if (cached) {
|
|
61
|
+
return cached;
|
|
62
|
+
}
|
|
63
|
+
deconflictedMemberCache = /* @__PURE__ */ new Map();
|
|
64
|
+
conformantMemberCache = /* @__PURE__ */ new Map();
|
|
65
|
+
}
|
|
66
|
+
let shadows;
|
|
67
|
+
const canonicalIdentityLevels = {};
|
|
68
|
+
let level = 0;
|
|
69
|
+
new import_ModelTraversal.ModelTraversal().visitInheritance(owner, (scope) => {
|
|
70
|
+
level++;
|
|
71
|
+
for (const model of scope.children) {
|
|
72
|
+
for (const identity of [`n${model.tag}\u241C${model.name}\u241C${model.discriminator ?? ""}`]) {
|
|
73
|
+
const canonical = canonicalIdentityLevels[identity];
|
|
74
|
+
if (canonical === void 0) {
|
|
75
|
+
canonicalIdentityLevels[identity] = {
|
|
76
|
+
level,
|
|
77
|
+
models: [model]
|
|
78
|
+
};
|
|
79
|
+
} else if (canonical.level === level) {
|
|
80
|
+
canonical.models.push(model);
|
|
81
|
+
} else {
|
|
82
|
+
if (!shadows) {
|
|
83
|
+
shadows = /* @__PURE__ */ new WeakMap();
|
|
84
|
+
}
|
|
85
|
+
shadows.set(model, canonical.models);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const result = {
|
|
91
|
+
owner,
|
|
92
|
+
isShadow: shadows ? (model) => shadows.has(model) : () => false,
|
|
93
|
+
extensionOf: shadows ? (model) => shadows.get(model)?.[0] : (model) => model,
|
|
94
|
+
modelFor: shadows ? (model) => shadows.get(model)?.[0] ?? model : (model) => model,
|
|
95
|
+
membersOf
|
|
96
|
+
};
|
|
97
|
+
function membersOf(parent, options2 = {}) {
|
|
98
|
+
const { conformance: conformanceMode, tags } = options2;
|
|
99
|
+
const allMembers = findAllMembers(parent, Array.isArray(tags) ? new Set(tags) : tags ?? DEFAULT_TAGS, result);
|
|
100
|
+
if (parent.tag === import_ElementTag.ElementTag.Cluster) {
|
|
101
|
+
injectGlobalAttributes(owner, allMembers);
|
|
102
|
+
}
|
|
103
|
+
if (!conformanceMode || conformanceMode === "ignore") {
|
|
104
|
+
return allMembers;
|
|
105
|
+
}
|
|
106
|
+
const conformantOnly = conformanceMode === "conformant";
|
|
107
|
+
if (!conformantOnly && conformanceMode !== "deconflicted") {
|
|
108
|
+
throw new import_general.ImplementationError(`Invalid member conformance mode ${conformanceMode}`);
|
|
109
|
+
}
|
|
110
|
+
return filterWithConformance(
|
|
111
|
+
parent,
|
|
112
|
+
allMembers,
|
|
113
|
+
featureNames,
|
|
114
|
+
supportedFeatures,
|
|
115
|
+
conformantOnly,
|
|
116
|
+
conformantOnly ? deconflictedMemberCache : conformantMemberCache
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
if (useCache) {
|
|
120
|
+
cache.set(owner, result);
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
((Scope2) => {
|
|
125
|
+
Scope2.IgnoreConformance = "ignore";
|
|
126
|
+
Scope2.DeconflictedConformance = "deconflicted";
|
|
127
|
+
Scope2.ConformantConformance = "conformant";
|
|
128
|
+
})(Scope || (Scope = {}));
|
|
129
|
+
function findAllMembers(parent, tags, scope) {
|
|
130
|
+
const members = Array();
|
|
131
|
+
const defined = {};
|
|
132
|
+
const visited = /* @__PURE__ */ new Set();
|
|
133
|
+
const traversal = new import_ModelTraversal.ModelTraversal();
|
|
134
|
+
let level = 0;
|
|
135
|
+
const childSearchVisitor = (model) => {
|
|
136
|
+
const extension = scope.modelFor(model);
|
|
137
|
+
if (extension !== model && !visited.has(extension)) {
|
|
138
|
+
traversal.visitInheritance(extension, childSearchVisitor);
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
visited.add(model);
|
|
142
|
+
level++;
|
|
143
|
+
for (const child of model.children) {
|
|
144
|
+
if (!tags.has(child.tag)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const nameIdentity = `s\u241C${child.tag}\u241C${child.name}\u241C${child.discriminator ?? ""}`;
|
|
148
|
+
const nameLevel = defined[nameIdentity];
|
|
149
|
+
if (nameLevel !== void 0 && nameLevel < level) {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
defined[nameIdentity] = level;
|
|
153
|
+
members.push(child);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
traversal.visitInheritance(parent, childSearchVisitor);
|
|
157
|
+
return members;
|
|
158
|
+
}
|
|
159
|
+
function injectGlobalAttributes(scope, members) {
|
|
160
|
+
const missingGlobalIds = new Set(GLOBAL_IDS);
|
|
161
|
+
for (const m of members) {
|
|
162
|
+
if (m.tag === import_ElementTag.ElementTag.Attribute && m.id) {
|
|
163
|
+
missingGlobalIds.delete(m.id);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (missingGlobalIds.size) {
|
|
167
|
+
const root = new import_ModelTraversal.ModelTraversal().findRoot(scope);
|
|
168
|
+
if (root) {
|
|
169
|
+
for (const id of missingGlobalIds) {
|
|
170
|
+
const global = root.children.select(id, [import_ElementTag.ElementTag.Attribute]);
|
|
171
|
+
if (global) {
|
|
172
|
+
members.push(global);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
function filterWithConformance(parent, members, features, supportedFeatures, conformantOnly, cache2) {
|
|
179
|
+
const cached = cache2?.get(parent);
|
|
180
|
+
if (cached) {
|
|
181
|
+
return cached;
|
|
182
|
+
}
|
|
183
|
+
const selectedMembers = {};
|
|
184
|
+
for (const member of members) {
|
|
185
|
+
const { conformance } = member;
|
|
186
|
+
if (!conformance) {
|
|
187
|
+
throw new import_general.ImplementationError(
|
|
188
|
+
`Conformance filtering invoked on ${member} which does not support conformance`
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
if (conformantOnly && !conformance.isApplicable(features, supportedFeatures)) {
|
|
192
|
+
continue;
|
|
193
|
+
}
|
|
194
|
+
const other = selectedMembers[member.name];
|
|
195
|
+
if (other !== void 0) {
|
|
196
|
+
if (!conformantOnly && !conformance.isApplicable(features, supportedFeatures)) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const { conformance: otherConformance } = other;
|
|
200
|
+
if (!otherConformance) {
|
|
201
|
+
throw new import_general.ImplementationError(
|
|
202
|
+
`Conformance filtering invoked on ${other} which does not support conformance`
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
if (otherConformance.isApplicable(features, supportedFeatures)) {
|
|
206
|
+
throw new import_errors.SchemaImplementationError(
|
|
207
|
+
parent,
|
|
208
|
+
`There are multiple definitions of "${member.name}" that cannot be differentiated by conformance`
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
selectedMembers[member.name] = member;
|
|
213
|
+
}
|
|
214
|
+
const result = Object.values(selectedMembers);
|
|
215
|
+
if (cache2) {
|
|
216
|
+
cache2.set(parent, result);
|
|
217
|
+
}
|
|
218
|
+
return result;
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=Scope.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/logic/Scope.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["options", "Scope", "cache"]
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelValidator.d.ts","sourceRoot":"","sources":["../../../../src/logic/definition-validation/ModelValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAgB,KAAK,EAAgC,MAAM,uBAAuB,CAAC;AAE1F;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,KAAK;IAC3B,SAAS,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;IAE9B,QAAQ;IAyBR,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAInC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,EAAE;IAoB9F,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,kBAAkB;IAuCvF,OAAO,CAAC,uBAAuB;CAgClC;AAED,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,EAAS,GAC3B,
|
|
1
|
+
{"version":3,"file":"ModelValidator.d.ts","sourceRoot":"","sources":["../../../../src/logic/definition-validation/ModelValidator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAgB,KAAK,EAAgC,MAAM,uBAAuB,CAAC;AAE1F;;GAEG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,KAAK;IAC3B,SAAS,CAAC,KAAK,EAAE,CAAC;gBAAR,KAAK,EAAE,CAAC;IAE9B,QAAQ;IAyBR,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAInC,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,EAAE;IAoB9F,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,kBAAkB;IAuCvF,OAAO,CAAC,uBAAuB;CAgClC;AAED,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,EAAS,GAC3B,GAAG,IAAI,UAAU,GAAG,KAAK,KAAK,EAAE,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,GAC/D,CAAC;CACL"}
|
|
@@ -12,6 +12,7 @@ export * from "./ClusterVariance.js";
|
|
|
12
12
|
export * from "./DefaultValue.js";
|
|
13
13
|
export * from "./MergedModel.js";
|
|
14
14
|
export * from "./ModelVariantTraversal.js";
|
|
15
|
+
export * from "./Scope.js";
|
|
15
16
|
export * from "./ValidateModel.js";
|
|
16
17
|
import "./definition-validation/index.js";
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logic/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qCAAqC,CAAC;AACpD,cAAc,kDAAkD,CAAC;AACjE,cAAc,0CAA0C,CAAC;AACzD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,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,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("./ModelVariantTraversal.js"), module.exports);
|
|
27
|
+
__reExport(logic_exports, require("./Scope.js"), module.exports);
|
|
27
28
|
__reExport(logic_exports, require("./ValidateModel.js"), module.exports);
|
|
28
29
|
var import_definition_validation = require("./definition-validation/index.js");
|
|
29
30
|
/**
|
|
@@ -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,uCAdd;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,uCAdd;AAeA,0BAAc,uBAfd;AAgBA,0BAAc,+BAhBd;AAiBA,mCAAO;AAjBP;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -16,6 +16,26 @@ export declare class AttributeModel extends PropertyModel<AttributeElement> impl
|
|
|
16
16
|
get fabricScoped(): boolean;
|
|
17
17
|
get fixed(): boolean;
|
|
18
18
|
get changesOmitted(): boolean | undefined;
|
|
19
|
+
get requiredFields(): {
|
|
20
|
+
id: number;
|
|
21
|
+
tag: `${AttributeElement.Tag}`;
|
|
22
|
+
name: string;
|
|
23
|
+
type?: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
details?: string;
|
|
26
|
+
xref?: import("../index.js").Specification.CrossReference;
|
|
27
|
+
children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
|
|
28
|
+
isGlobal?: boolean;
|
|
29
|
+
isSeed?: boolean;
|
|
30
|
+
asOf?: import("../index.js").Specification.Revision;
|
|
31
|
+
until?: import("../index.js").Specification.Revision;
|
|
32
|
+
constraint?: import("../index.js").Constraint.Definition;
|
|
33
|
+
conformance?: import("../index.js").Conformance.Definition;
|
|
34
|
+
access?: import("../index.js").Access.Definition;
|
|
35
|
+
quality?: import("../index.js").Quality.Definition;
|
|
36
|
+
byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
|
|
37
|
+
default?: import("../index.js").FieldValue;
|
|
38
|
+
};
|
|
19
39
|
constructor(definition: AttributeElement.Properties);
|
|
20
40
|
static isGlobal(model: Model): boolean;
|
|
21
41
|
static get globalIds(): Set<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeModel.d.ts","sourceRoot":"","sources":["../../../src/models/AttributeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,UAAU,aAA4D,CAAC;AAEpF,qBAAa,cAAe,SAAQ,aAAa,CAAC,gBAAgB,CAAE,YAAW,gBAAgB;IAClF,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAwB;IAClD,EAAE,EAAE,GAAG,CAAC;IAEhB,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,YAER;IAED,IAAI,cAAc,wBAEjB;gBAEW,UAAU,EAAE,gBAAgB,CAAC,UAAU;IAQnD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,KAAK,SAAS,gBAEnB;IAED,MAAM,CAAC,GAAG,mCAAwB;CACrC"}
|
|
1
|
+
{"version":3,"file":"AttributeModel.d.ts","sourceRoot":"","sources":["../../../src/models/AttributeModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,UAAU,aAA4D,CAAC;AAEpF,qBAAa,cAAe,SAAQ,aAAa,CAAC,gBAAgB,CAAE,YAAW,gBAAgB;IAClF,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAwB;IAClD,EAAE,EAAE,GAAG,CAAC;IAEhB,IAAI,QAAQ,YAEX;IAED,IAAI,QAAQ,YAEX;IAED,IAAI,YAAY,YAEf;IAED,IAAI,KAAK,YAER;IAED,IAAI,cAAc,wBAEjB;IAED,IAAa,cAAc;;gBA1BuC,iBAErE,GAAG;;;;;;;;;;;;;;;;;MA0BC;gBAEW,UAAU,EAAE,gBAAgB,CAAC,UAAU;IAQnD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B,MAAM,KAAK,SAAS,gBAEnB;IAED,MAAM,CAAC,GAAG,mCAAwB;CACrC"}
|
|
@@ -48,6 +48,9 @@ class AttributeModel extends import_PropertyModel.PropertyModel {
|
|
|
48
48
|
get changesOmitted() {
|
|
49
49
|
return this.effectiveQuality.changesOmitted;
|
|
50
50
|
}
|
|
51
|
+
get requiredFields() {
|
|
52
|
+
return { ...super.requiredFields, id: this.id };
|
|
53
|
+
}
|
|
51
54
|
constructor(definition) {
|
|
52
55
|
super(definition);
|
|
53
56
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/AttributeModel.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAiC;AACjC,mBAAsB;AACtB,2BAA8B;AAT9B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,aAAa,oBAAI,IAAI,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,CAAC;AAE3E,MAAM,uBAAuB,mCAA4D;AAAA,EACnF,MAA4B,iCAAiB;AAAA,EAGtD,IAAI,WAAW;AACX,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,KAAK,SAAS,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,CAAC,CAAC,KAAK,iBAAiB;AAAA,EACnC;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,iBAAiB;AAAA,EACjC;AAAA,EAEA,YAAY,YAAyC;AACjD,UAAM,UAAU;AAAA,EACpB;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,iCAAiB,GAAG,IAAI;AAAA,EACxC;AAAA,EAEA,OAAO,SAAS,OAAc;AAC1B,WAAO,iBAAiB,kBAAkB,WAAW,IAAI,MAAM,EAAE;AAAA,EACrE;AAAA,EAEA,WAAW,YAAY;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAM,iCAAiB;AAClC;",
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAiC;AACjC,mBAAsB;AACtB,2BAA8B;AAT9B;AAAA;AAAA;AAAA;AAAA;AAYO,MAAM,aAAa,oBAAI,IAAI,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,KAAM,CAAC;AAE3E,MAAM,uBAAuB,mCAA4D;AAAA,EACnF,MAA4B,iCAAiB;AAAA,EAGtD,IAAI,WAAW;AACX,WAAO,KAAK,gBAAgB;AAAA,EAChC;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,CAAC,KAAK,SAAS,KAAK,gBAAgB;AAAA,EAC/C;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,CAAC,CAAC,KAAK,gBAAgB;AAAA,EAClC;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,CAAC,CAAC,KAAK,iBAAiB;AAAA,EACnC;AAAA,EAEA,IAAI,iBAAiB;AACjB,WAAO,KAAK,iBAAiB;AAAA,EACjC;AAAA,EAEA,IAAa,iBAAiB;AAC1B,WAAO,EAAE,GAAG,MAAM,gBAAgB,IAAI,KAAK,GAAG;AAAA,EAClD;AAAA,EAEA,YAAY,YAAyC;AACjD,UAAM,UAAU;AAAA,EACpB;AAAA,EAEA,OAAO;AACH,uBAAM,MAAM,iCAAiB,GAAG,IAAI;AAAA,EACxC;AAAA,EAEA,OAAO,SAAS,OAAc;AAC1B,WAAO,iBAAiB,kBAAkB,WAAW,IAAI,MAAM,EAAE;AAAA,EACrE;AAAA,EAEA,WAAW,YAAY;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO,MAAM,iCAAiB;AAClC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -41,6 +41,10 @@ export interface Children<T extends Model = Model> extends Array<T> {
|
|
|
41
41
|
* Like {@link select} but retrieves all models for which selection applies.
|
|
42
42
|
*/
|
|
43
43
|
selectAll(selector: Children.Selector, allowedTags?: Children.TagSelector, except?: Set<Model>): Model.ChildOf<T>[];
|
|
44
|
+
/**
|
|
45
|
+
* Create a new child or patch existing children.
|
|
46
|
+
*/
|
|
47
|
+
patchOrPush<C extends Model.Definition<T>>(child: C): void;
|
|
44
48
|
/**
|
|
45
49
|
* Models invoke this when their ID changes so we can update internal bookkeeping.
|
|
46
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Children.d.ts","sourceRoot":"","sources":["../../../src/models/Children.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA2B,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IAC/D;;;;OAIG;IACH,IAAI,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAElF;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAE/F;;;OAGG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;IAEtF;;;OAGG;IACH,MAAM,CACF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAClC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpH;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAClB;AAID;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAC5C,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"Children.d.ts","sourceRoot":"","sources":["../../../src/models/Children.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA2B,UAAU,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,CAAE,SAAQ,KAAK,CAAC,CAAC,CAAC;IAC/D;;;;OAIG;IACH,IAAI,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAElF;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAE/F;;;OAGG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;IAEtF;;;OAGG;IACH,MAAM,CACF,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAClC,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACpB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAEpH;;OAEG;IACH,WAAW,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE3D;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAExD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;CAClB;AAID;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAC5C,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAClC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,GA6jBlB,QAAQ,CAAC,CAAC,CAAC,CAC7B;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,KAAY,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC;IAErE;;;OAGG;IACH,KAAY,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,GAAG,GAAG,UAAU,EAAE,CAAC;IAEtE;;OAEG;IACH,KAAY,aAAa,CAAC,CAAC,SAAS,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9E"}
|
|
@@ -267,6 +267,17 @@ function Children(initial, adopt, disown) {
|
|
|
267
267
|
}
|
|
268
268
|
return results;
|
|
269
269
|
}
|
|
270
|
+
function patchOrPush(child) {
|
|
271
|
+
validateChild(child);
|
|
272
|
+
const existing = selectAll.call(self, child.name, [child.tag]);
|
|
273
|
+
if (existing.length) {
|
|
274
|
+
for (const toPatch of existing) {
|
|
275
|
+
toPatch.patch(child);
|
|
276
|
+
}
|
|
277
|
+
} else {
|
|
278
|
+
self.push(child);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
270
281
|
function updateId(child, oldId) {
|
|
271
282
|
if (!indices) {
|
|
272
283
|
return;
|
|
@@ -359,6 +370,8 @@ function Children(initial, adopt, disown) {
|
|
|
359
370
|
return select;
|
|
360
371
|
case "selectAll":
|
|
361
372
|
return selectAll;
|
|
373
|
+
case "patchOrPush":
|
|
374
|
+
return patchOrPush;
|
|
362
375
|
case "updateId":
|
|
363
376
|
return updateId;
|
|
364
377
|
case "updateName":
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/models/Children.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA8C;AAC9C,eAAoD;AACpD,mBAAsB;AARtB;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -15,13 +15,12 @@ import { DatatypeModel } from "./DatatypeModel.js";
|
|
|
15
15
|
import { EventModel } from "./EventModel.js";
|
|
16
16
|
import type { FieldModel } from "./FieldModel.js";
|
|
17
17
|
import { Model } from "./Model.js";
|
|
18
|
-
import {
|
|
19
|
-
export declare class ClusterModel extends
|
|
18
|
+
import { ScopeModel } from "./ScopeModel.js";
|
|
19
|
+
export declare class ClusterModel extends ScopeModel<ClusterElement> implements ClusterElement {
|
|
20
20
|
tag: ClusterElement.Tag;
|
|
21
21
|
id: Mei;
|
|
22
22
|
classification?: ClusterElement.Classification;
|
|
23
23
|
pics?: string;
|
|
24
|
-
isTypeScope: boolean;
|
|
25
24
|
get children(): Children<ClusterModel.Child>;
|
|
26
25
|
set children(children: Children.InputIterable<ClusterModel.Child>);
|
|
27
26
|
get diagnostics(): boolean | undefined;
|
|
@@ -32,9 +31,6 @@ export declare class ClusterModel extends Model<ClusterElement> implements Clust
|
|
|
32
31
|
get commands(): CommandModel[];
|
|
33
32
|
get events(): EventModel[];
|
|
34
33
|
get datatypes(): DatatypeModel[];
|
|
35
|
-
get members(): PropertyModel[];
|
|
36
|
-
get activeMembers(): import("./ValueModel.js").ValueModel<import("../elements/ValueElement.js").ValueElement>[];
|
|
37
|
-
get conformantMembers(): import("./ValueModel.js").ValueModel<import("../elements/ValueElement.js").ValueElement>[];
|
|
38
34
|
/**
|
|
39
35
|
* Get attributes, commands and events whether inherited or defined directly in this model.
|
|
40
36
|
*/
|
|
@@ -48,10 +44,13 @@ export declare class ClusterModel extends Model<ClusterElement> implements Clust
|
|
|
48
44
|
get effectiveMetatype(): Metatype;
|
|
49
45
|
get effectiveAccess(): Access;
|
|
50
46
|
valueOf(): ClusterElement;
|
|
51
|
-
constructor(definition:
|
|
47
|
+
constructor(definition: ClusterModel.Definition, ...children: Model.Definition<ClusterModel.Child>[]);
|
|
52
48
|
static Tag: ElementTag;
|
|
53
49
|
}
|
|
54
50
|
export declare namespace ClusterModel {
|
|
51
|
+
type Definition = ClusterElement.Properties & {
|
|
52
|
+
supportedFeatures?: FeatureSet.Definition;
|
|
53
|
+
};
|
|
55
54
|
type Child = DatatypeModel | AttributeModel | CommandModel | EventModel | FieldModel;
|
|
56
55
|
}
|
|
57
56
|
//# sourceMappingURL=ClusterModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterModel.d.ts","sourceRoot":"","sources":["../../../src/models/ClusterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClusterModel.d.ts","sourceRoot":"","sources":["../../../src/models/ClusterModel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,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,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,qBAAa,YAAa,SAAQ,UAAU,CAAC,cAAc,CAAE,YAAW,cAAc;IACzE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAsB;IAC9C,EAAE,EAAE,GAAG,CAAC;IACR,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IAEtB,IAAa,QAAQ,IAAI,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAEpD;IAED,IAAa,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAEzE;IAED,IAAI,WAAW,wBAEd;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,UAAU,qBAEb;IAED,IAAI,QAAQ,mBAEX;IAED,IAAI,MAAM,iBAET;IAED,IAAI,SAAS,oBAEZ;IAED;;OAEG;IACH,IAAI,OAAO,IACsG,CACvG,cAAc,GACd,YAAY,GACZ,UAAU,CACf,EAAE,CACN;IAED,IAAI,QAAQ,WAOX;IAED,IAAI,QAAQ,6EAEX;IAED,IAAI,UAAU,mBAEb;IAED,IAAI,YAAY,IAAI,UAAU,CAE7B;IAED,IAAI,iBAAiB,IAAI,UAAU,CAQlC;IAED,IAAI,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,GAAG,SAAS,EAiChE;IAED,IAAI,iBAAiB,aAEpB;IAED,IAAI,eAAe,WAElB;IAEQ,OAAO,IAKK,cAAc;gBAGvB,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;IAQpG,MAAM,CAAC,GAAG,aAAsB;CAKnC;AAED,yBAAiB,YAAY,CAAC;IAC1B,KAAY,UAAU,GAAG,cAAc,CAAC,UAAU,GAAG;QAAE,iBAAiB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAA;KAAE,CAAC;IAEnG,KAAY,KAAK,GACX,aAAa,GACb,cAAc,GACd,YAAY,GACZ,UAAU,GAGV,UAAU,CAAC;CACpB"}
|