occam-verify-cli 1.0.318 → 1.0.325
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/lib/context/file.js +108 -126
- package/lib/context/local.js +21 -8
- package/lib/context/release.js +58 -7
- package/lib/dom/assertion/type.js +3 -3
- package/lib/dom/declaration/complexType.js +125 -101
- package/lib/dom/declaration/constructor.js +5 -5
- package/lib/dom/declaration/metavariable.js +3 -3
- package/lib/dom/declaration/simpleType.js +58 -52
- package/lib/dom/declaration/typePrefix.js +18 -7
- package/lib/dom/declaration/variable.js +5 -5
- package/lib/dom/metavariable.js +3 -3
- package/lib/dom/property.js +4 -4
- package/lib/dom/topLevelAssertion.js +1 -43
- package/lib/dom/type.js +107 -21
- package/lib/dom/variable.js +4 -4
- package/lib/node/declaration/complexType.js +22 -1
- package/lib/node/declaration/simpleType.js +22 -1
- package/lib/node/type.js +35 -9
- package/lib/unifier/metavariable.js +2 -2
- package/lib/unifier/statementWithCombinator.js +3 -3
- package/lib/unifier/termWithConstructor.js +2 -2
- package/lib/utilities/json.js +8 -6
- package/lib/utilities/node.js +4 -4
- package/lib/utilities/type.js +10 -5
- package/lib/verifier/combinator.js +2 -2
- package/lib/verifier/constructor.js +3 -3
- package/package.json +1 -1
- package/src/context/file.js +137 -171
- package/src/context/local.js +7 -3
- package/src/context/release.js +54 -8
- package/src/dom/assertion/type.js +3 -3
- package/src/dom/declaration/complexType.js +159 -132
- package/src/dom/declaration/constructor.js +6 -6
- package/src/dom/declaration/metavariable.js +3 -3
- package/src/dom/declaration/simpleType.js +74 -68
- package/src/dom/declaration/typePrefix.js +24 -6
- package/src/dom/declaration/variable.js +6 -6
- package/src/dom/metavariable.js +2 -2
- package/src/dom/property.js +1 -1
- package/src/dom/topLevelAssertion.js +3 -15
- package/src/dom/type.js +132 -22
- package/src/dom/variable.js +4 -4
- package/src/node/declaration/complexType.js +21 -0
- package/src/node/declaration/simpleType.js +21 -0
- package/src/node/type.js +42 -9
- package/src/unifier/metavariable.js +2 -2
- package/src/unifier/statementWithCombinator.js +2 -2
- package/src/unifier/termWithConstructor.js +2 -2
- package/src/utilities/json.js +18 -10
- package/src/utilities/node.js +6 -3
- package/src/utilities/type.js +12 -5
- package/src/verifier/combinator.js +2 -2
- package/src/verifier/constructor.js +3 -3
|
@@ -9,8 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
-
var _type = require("
|
|
13
|
-
var _type1 = require("../../utilities/type");
|
|
12
|
+
var _type = require("../../utilities/type");
|
|
14
13
|
function _class_call_check(instance, Constructor) {
|
|
15
14
|
if (!(instance instanceof Constructor)) {
|
|
16
15
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -86,12 +85,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
86
85
|
}
|
|
87
86
|
var _SimpleTypeDeclaration;
|
|
88
87
|
var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ function() {
|
|
89
|
-
function SimpleTypeDeclaration(context, node, string, type) {
|
|
88
|
+
function SimpleTypeDeclaration(context, node, string, type, prefixed) {
|
|
90
89
|
_class_call_check(this, SimpleTypeDeclaration);
|
|
91
90
|
this.context = context;
|
|
92
91
|
this.node = node;
|
|
93
92
|
this.string = string;
|
|
94
93
|
this.type = type;
|
|
94
|
+
this.prefixed = prefixed;
|
|
95
95
|
}
|
|
96
96
|
_create_class(SimpleTypeDeclaration, [
|
|
97
97
|
{
|
|
@@ -118,18 +118,34 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
118
118
|
return this.type;
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
|
+
{
|
|
122
|
+
key: "isPrefixed",
|
|
123
|
+
value: function isPrefixed() {
|
|
124
|
+
return this.prefixed;
|
|
125
|
+
}
|
|
126
|
+
},
|
|
121
127
|
{
|
|
122
128
|
key: "verify",
|
|
123
129
|
value: function verify() {
|
|
124
130
|
var verifies = false;
|
|
125
131
|
var simpleTypeDeclarationString = this.string; ///
|
|
126
132
|
this.context.trace("Verifying the '".concat(simpleTypeDeclarationString, "' simple type declaration..."), this.node);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
if (this.prefixed) {
|
|
134
|
+
var typeString = this.type.getString();
|
|
135
|
+
this.context.trace("The '".concat(typeString, "' type is prefixed."));
|
|
136
|
+
} else {
|
|
137
|
+
var typeVerifies = this.verifyType();
|
|
138
|
+
if (typeVerifies) {
|
|
139
|
+
var superTypesVerify = this.verifySuperTypes();
|
|
140
|
+
if (superTypesVerify) {
|
|
141
|
+
var typePrefix = this.context.getTypePrefix();
|
|
142
|
+
if (typePrefix !== null) {
|
|
143
|
+
var typePrefixName = typePrefix.getName(), prefixName = typePrefixName; ///
|
|
144
|
+
this.type.setPrefixName(prefixName);
|
|
145
|
+
}
|
|
146
|
+
this.context.addType(this.type);
|
|
147
|
+
verifies = true;
|
|
148
|
+
}
|
|
133
149
|
}
|
|
134
150
|
}
|
|
135
151
|
if (verifies) {
|
|
@@ -144,14 +160,19 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
144
160
|
var typeVerifies = false;
|
|
145
161
|
var typeString = this.type.getString();
|
|
146
162
|
this.context.trace("Verifying the '".concat(typeString, "' simple type..."), this.node);
|
|
147
|
-
var typeName = this.type.getName(), typePresent = this.context.isTypePresentByTypeName(typeName);
|
|
163
|
+
var typeName = this.type.getName(), includeRelease = true, includeDependencies = false, typePresent = this.context.isTypePresentByTypeName(typeName, includeRelease, includeDependencies);
|
|
148
164
|
if (typePresent) {
|
|
149
|
-
this.context.
|
|
165
|
+
this.context.trace("The '".concat(typeString, "' type is already present."), this.node);
|
|
150
166
|
} else {
|
|
151
|
-
|
|
167
|
+
var prefixedTypeName = typeName, typePresent1 = this.context.isTypePresentByPrefixedTypeName(prefixedTypeName);
|
|
168
|
+
if (typePresent1) {
|
|
169
|
+
this.context.trace("The '".concat(typeString, "' type is already present."), this.node);
|
|
170
|
+
} else {
|
|
171
|
+
typeVerifies = true;
|
|
172
|
+
}
|
|
152
173
|
}
|
|
153
174
|
if (typeVerifies) {
|
|
154
|
-
this.context.
|
|
175
|
+
this.context.trace("...verified the '".concat(typeString, "' simple type."), this.node);
|
|
155
176
|
}
|
|
156
177
|
return typeVerifies;
|
|
157
178
|
}
|
|
@@ -162,9 +183,17 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
162
183
|
var superTypeVerifies = false;
|
|
163
184
|
var superTypeString = superType.getString();
|
|
164
185
|
this.context.trace("Verifying the '".concat(superTypeString, "' super-type..."), this.node);
|
|
165
|
-
var
|
|
166
|
-
if (
|
|
167
|
-
|
|
186
|
+
var nominalTypeName = superType.getNominalTypeName(), typeName = nominalTypeName, typeNameMatches = this.type.matchTypeName(typeName);
|
|
187
|
+
if (typeNameMatches) {
|
|
188
|
+
this.context.trace("The super-type's name matches the ".concat(typeName, "' simple type's name."), this.node);
|
|
189
|
+
} else {
|
|
190
|
+
var oldSuperType = superType;
|
|
191
|
+
superType = this.context.findTypeByNominalTypeName(nominalTypeName);
|
|
192
|
+
var superTypePresent = superType !== null;
|
|
193
|
+
if (superTypePresent) {
|
|
194
|
+
this.type.replaceSuperType(oldSuperType, newSuperType);
|
|
195
|
+
superTypeVerifies = true;
|
|
196
|
+
}
|
|
168
197
|
}
|
|
169
198
|
if (superTypeVerifies) {
|
|
170
199
|
this.context.debug("...verified the '".concat(superTypeString, "' super-type."), this.node);
|
|
@@ -176,47 +205,24 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
176
205
|
key: "verifySuperTypes",
|
|
177
206
|
value: function verifySuperTypes() {
|
|
178
207
|
var _this = this;
|
|
179
|
-
var superTypesVerify
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
var superTypesLength = superTypes.length;
|
|
184
|
-
if (superTypesLength === 0) {
|
|
185
|
-
var superType = _type.objectType; ///
|
|
186
|
-
superTypes.push(superType);
|
|
187
|
-
}
|
|
188
|
-
var typeName = this.type.getName(), typeBasic = this.type.isBasic(), typeString = this.type.getString();
|
|
208
|
+
var superTypesVerify;
|
|
209
|
+
var typeString = this.type.getString();
|
|
210
|
+
this.context.trace("Verifying the '".concat(typeString, "' simple type's super-types..."), this.node);
|
|
211
|
+
var typeBasic = this.type.isBasic();
|
|
189
212
|
if (typeBasic) {
|
|
190
213
|
superTypesVerify = true;
|
|
191
214
|
this.context.trace("The '".concat(typeString, "' simple type is basic."), this.node);
|
|
192
215
|
} else {
|
|
193
|
-
var
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
this.context.trace("The '".concat(typeName, "' simple type cannot be a super-type "), this.node);
|
|
199
|
-
} else {
|
|
200
|
-
superTypesVerify = superTypes.every(function(superType) {
|
|
201
|
-
var superTypeVerifies = _this.verifySuperType(superType);
|
|
202
|
-
if (superTypeVerifies) {
|
|
203
|
-
return true;
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
if (superTypesVerify) {
|
|
207
|
-
superTypes = superTypes.map(function(superType) {
|
|
208
|
-
var superTypeName = superType.getName();
|
|
209
|
-
superType = _this.context.findTypeByTypeName(superTypeName);
|
|
210
|
-
return superType;
|
|
211
|
-
});
|
|
212
|
-
var string = (0, _type1.stringFromTypeNameNameAndSuperTypes)(typeName, superTypes);
|
|
213
|
-
this.type.setString(string);
|
|
214
|
-
this.type.setSuperTypes(superTypes);
|
|
216
|
+
var superTypes = this.type.getSuperTypes();
|
|
217
|
+
superTypesVerify = superTypes.every(function(superType) {
|
|
218
|
+
var superTypeVerifies = _this.verifySuperType(superType);
|
|
219
|
+
if (superTypeVerifies) {
|
|
220
|
+
return true;
|
|
215
221
|
}
|
|
216
|
-
}
|
|
222
|
+
});
|
|
217
223
|
}
|
|
218
224
|
if (superTypesVerify) {
|
|
219
|
-
this.context.debug("...verified the super-types.", this.node);
|
|
225
|
+
this.context.debug("...verified the '".concat(typeString, "' simple type's super-types."), this.node);
|
|
220
226
|
}
|
|
221
227
|
return superTypesVerify;
|
|
222
228
|
}
|
|
@@ -225,7 +231,7 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
225
231
|
{
|
|
226
232
|
key: "fromSimpleTypeDeclarationNode",
|
|
227
233
|
value: function fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context) {
|
|
228
|
-
var Type = _dom.default.Type, node = simpleTypeDeclarationNode,
|
|
234
|
+
var Type = _dom.default.Type, type = Type.fromSimpleTypeDeclarationNode(simpleTypeDeclarationNode, context), node = simpleTypeDeclarationNode, prefixed = simpleTypeDeclarationNode.isPrefixed(), typePrefixName = simpleTypeDeclarationNode.getTypePrefixName(), typeName = type.getName(), superTypes = type.getSuperTypes(), string = (0, _type.stringFromTypeNameTypePrefixNameAndSuperTypes)(typeName, typePrefixName, superTypes), simpleTypeDeclaration = new SimpleTypeDeclaration(context, node, string, type, prefixed);
|
|
229
235
|
return simpleTypeDeclaration;
|
|
230
236
|
}
|
|
231
237
|
}
|
|
@@ -233,4 +239,4 @@ var _default = (0, _dom.domAssigned)((_SimpleTypeDeclaration = /*#__PURE__*/ fun
|
|
|
233
239
|
return SimpleTypeDeclaration;
|
|
234
240
|
}(), _define_property(_SimpleTypeDeclaration, "name", "SimpleTypeDeclaration"), _SimpleTypeDeclaration));
|
|
235
241
|
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vc2ltcGxlVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vdHlwZVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdHlwZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBTaW1wbGVUeXBlRGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBub2RlLCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzaW1wbGVUeXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3NpbXBsZVR5cGVEZWNsYXJhdGlvblN0cmluZ30nIHNpbXBsZSB0eXBlIGRlY2xhcmF0aW9uLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IHR5cGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5VHlwZSgpO1xuXG4gICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlc1ZlcmlmeSA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlcygpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmeSkge1xuICAgICAgICB0aGlzLmNvbnRleHQuYWRkVHlwZSh0aGlzLnR5cGUpO1xuXG4gICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3NpbXBsZVR5cGVEZWNsYXJhdGlvblN0cmluZ30nIHNpbXBsZSB0eXBlIGRlY2xhcmF0aW9uLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5VHlwZSgpIHtcbiAgICBsZXQgdHlwZVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVTdHJpbmd9JyBzaW1wbGUgdHlwZS4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgdHlwZVByZXNlbnQgPSB0aGlzLmNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgICB0aGlzLmNvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBhbHJlYWR5IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZVZlcmlmaWVzKSB7XG4gICAgICB0aGlzLmNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgc2ltcGxlIHR5cGUuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZVZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5U3VwZXJUeXBlKHN1cGVyVHlwZSkge1xuICAgIGxldCBzdXBlclR5cGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuLi5gLCB0aGlzLm5vZGUpO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3VwZXJUeXBlUHJlc2VudCA9IHRoaXMuY29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgIGlmIChzdXBlclR5cGVQcmVzZW50KSB7XG4gICAgICBzdXBlclR5cGVWZXJpZmllcyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHN1cGVyVHlwZVZlcmlmaWVzKSB7XG4gICAgICB0aGlzLmNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBzdXBlci10eXBlLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZVZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5U3VwZXJUeXBlcygpIHtcbiAgICBsZXQgc3VwZXJUeXBlc1ZlcmlmeSA9IGZhbHNlO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlIHN1cGVyLXR5cGVzLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKCk7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzTGVuZ3RoID0gc3VwZXJUeXBlcy5sZW5ndGg7XG5cbiAgICBpZiAoc3VwZXJUeXBlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlID0gb2JqZWN0VHlwZTsgLy8vXG5cbiAgICAgIHN1cGVyVHlwZXMucHVzaChzdXBlclR5cGUpO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICB0eXBlQmFzaWMgPSB0aGlzLnR5cGUuaXNCYXNpYygpLFxuICAgICAgICAgIHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICBpZiAodHlwZUJhc2ljKSB7XG4gICAgICBzdXBlclR5cGVzVmVyaWZ5ID0gdHJ1ZTtcblxuICAgICAgdGhpcy5jb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZVN0cmluZ30nIHNpbXBsZSB0eXBlIGlzIGJhc2ljLmAsIHRoaXMubm9kZSlcbiAgICB9IGVsc2UgIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWVzID0gc3VwZXJUeXBlcy5tYXAoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzdXBlclR5cGVOYW1lID0gc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgICAgICAgICByZXR1cm4gc3VwZXJUeXBlTmFtZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgc3VwZXJUeXBlTmFtZXNJbmNsdWRlc1R5cGVOYW1lID0gc3VwZXJUeXBlTmFtZXMuaW5jbHVkZXModHlwZU5hbWUpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlTmFtZXNJbmNsdWRlc1R5cGVOYW1lKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC50cmFjZShgVGhlICcke3R5cGVOYW1lfScgc2ltcGxlIHR5cGUgY2Fubm90IGJlIGEgc3VwZXItdHlwZSBgLCB0aGlzLm5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VwZXJUeXBlc1ZlcmlmeSA9IHN1cGVyVHlwZXMuZXZlcnkoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZVZlcmlmaWVzID0gdGhpcy52ZXJpZnlTdXBlclR5cGUoc3VwZXJUeXBlKTtcblxuICAgICAgICAgIGlmIChzdXBlclR5cGVWZXJpZmllcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmeSkge1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdXBlclR5cGVOYW1lID0gc3VwZXJUeXBlLmdldE5hbWUoKTtcblxuICAgICAgICAgICAgc3VwZXJUeXBlID0gdGhpcy5jb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIHN1cGVyLXR5cGVzLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZXNWZXJpZnk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU2ltcGxlVHlwZURlY2xhcmF0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFR5cGUgfSA9IGRvbSxcbiAgICAgICAgICBub2RlID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICBzdXBlclR5cGVzID0gdHlwZS5nZXRTdXBlclR5cGVzKCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHN1cGVyVHlwZXMpLFxuICAgICAgICAgIHNpbXBsZVR5cGVEZWNsYXJhdGlvbiA9IG5ldyBTaW1wbGVUeXBlRGVjbGFyYXRpb24oY29udGV4dCwgbm9kZSwgc3RyaW5nLCB0eXBlKTtcblxuICAgIHJldHVybiBzaW1wbGVUeXBlRGVjbGFyYXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uIiwiY29udGV4dCIsIm5vZGUiLCJzdHJpbmciLCJ0eXBlIiwiZ2V0Q29udGV4dCIsImdldE5vZGUiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJzaW1wbGVUeXBlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsInR5cGVWZXJpZmllcyIsInZlcmlmeVR5cGUiLCJzdXBlclR5cGVzVmVyaWZ5IiwidmVyaWZ5U3VwZXJUeXBlcyIsImFkZFR5cGUiLCJkZWJ1ZyIsInR5cGVTdHJpbmciLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwidmVyaWZ5U3VwZXJUeXBlIiwic3VwZXJUeXBlIiwic3VwZXJUeXBlVmVyaWZpZXMiLCJzdXBlclR5cGVTdHJpbmciLCJzdXBlclR5cGVOYW1lIiwic3VwZXJUeXBlUHJlc2VudCIsInN1cGVyVHlwZXMiLCJnZXRTdXBlclR5cGVzIiwic3VwZXJUeXBlc0xlbmd0aCIsImxlbmd0aCIsIm9iamVjdFR5cGUiLCJwdXNoIiwidHlwZUJhc2ljIiwiaXNCYXNpYyIsInN1cGVyVHlwZU5hbWVzIiwibWFwIiwic3VwZXJUeXBlTmFtZXNJbmNsdWRlc1R5cGVOYW1lIiwiaW5jbHVkZXMiLCJldmVyeSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzIiwic2V0U3RyaW5nIiwic2V0U3VwZXJUeXBlcyIsImZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGUiLCJkb20iLCJzaW1wbGVUeXBlRGVjbGFyYXRpb24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OzsyREFOZ0I7b0JBRVc7cUJBRXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFcEQsV0FBZUEsSUFBQUEsZ0JBQVcsMENBQUM7YUFBTUMsc0JBQ25CQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxJQUFJO2dDQURSSjtRQUU3QixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixPQUFPO1lBQ3JCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFB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
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vc2ltcGxlVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3RyaW5nRnJvbVR5cGVOYW1lVHlwZVByZWZpeE5hbWVBbmRTdXBlclR5cGVzIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy90eXBlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFNpbXBsZVR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIG5vZGUsIHN0cmluZywgdHlwZSwgcHJlZml4ZWQpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnByZWZpeGVkID0gcHJlZml4ZWQ7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgaXNQcmVmaXhlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXhlZDtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHNpbXBsZVR5cGVEZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICB0aGlzLmNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c2ltcGxlVHlwZURlY2xhcmF0aW9uU3RyaW5nfScgc2ltcGxlIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0aGlzLm5vZGUpO1xuXG4gICAgaWYgKHRoaXMucHJlZml4ZWQpIHtcbiAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIHRoaXMuY29udGV4dC50cmFjZShgVGhlICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIHByZWZpeGVkLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgICBjb25zdCBzdXBlclR5cGVzVmVyaWZ5ID0gdGhpcy52ZXJpZnlTdXBlclR5cGVzKCk7XG5cbiAgICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgICAgICBjb25zdCB0eXBlUHJlZml4ID0gdGhpcy5jb250ZXh0LmdldFR5cGVQcmVmaXgoKTtcblxuICAgICAgICAgIGlmICh0eXBlUHJlZml4ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlUHJlZml4TmFtZSA9IHR5cGVQcmVmaXguZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICAgICAgcHJlZml4TmFtZSA9IHR5cGVQcmVmaXhOYW1lOyAgLy8vXG5cbiAgICAgICAgICAgIHRoaXMudHlwZS5zZXRQcmVmaXhOYW1lKHByZWZpeE5hbWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuY29udGV4dC5hZGRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3NpbXBsZVR5cGVEZWNsYXJhdGlvblN0cmluZ30nIHNpbXBsZSB0eXBlIGRlY2xhcmF0aW9uLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5VHlwZSgpIHtcbiAgICBsZXQgdHlwZVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVTdHJpbmd9JyBzaW1wbGUgdHlwZS4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgaW5jbHVkZVJlbGVhc2UgPSB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICB0eXBlUHJlc2VudCA9IHRoaXMuY29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSwgaW5jbHVkZVJlbGVhc2UsIGluY2x1ZGVEZXBlbmRlbmNpZXMpO1xuXG4gICAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgICB0aGlzLmNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBhbHJlYWR5IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJlZml4ZWRUeXBlTmFtZSA9IHR5cGVOYW1lLCAvLy9cbiAgICAgICAgICAgIHR5cGVQcmVzZW50ID0gdGhpcy5jb250ZXh0LmlzVHlwZVByZXNlbnRCeVByZWZpeGVkVHlwZU5hbWUocHJlZml4ZWRUeXBlTmFtZSk7XG5cbiAgICAgIGlmICh0eXBlUHJlc2VudCkge1xuICAgICAgICB0aGlzLmNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBhbHJlYWR5IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGVWZXJpZmllcyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgdGhpcy5jb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHNpbXBsZSB0eXBlLmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpIHtcbiAgICBsZXQgc3VwZXJUeXBlVmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZVN0cmluZyA9IHN1cGVyVHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIHRoaXMuY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBzdXBlci10eXBlLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IG5vbWluYWxUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROb21pbmFsVHlwZU5hbWUoKSxcbiAgICAgICAgICB0eXBlTmFtZSA9IG5vbWluYWxUeXBlTmFtZSwgLy8vXG4gICAgICAgICAgdHlwZU5hbWVNYXRjaGVzID0gdGhpcy50eXBlLm1hdGNoVHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgaWYgKHR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgdGhpcy5jb250ZXh0LnRyYWNlKGBUaGUgc3VwZXItdHlwZSdzIG5hbWUgbWF0Y2hlcyB0aGUgJHt0eXBlTmFtZX0nIHNpbXBsZSB0eXBlJ3MgbmFtZS5gLCB0aGlzLm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvbGRTdXBlclR5cGUgPSBzdXBlclR5cGU7XG5cbiAgICAgIHN1cGVyVHlwZSA9IHRoaXMuY29udGV4dC5maW5kVHlwZUJ5Tm9taW5hbFR5cGVOYW1lKG5vbWluYWxUeXBlTmFtZSk7XG5cbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByZXNlbnQgPSAoc3VwZXJUeXBlICE9PSBudWxsKTtcblxuICAgICAgaWYgKHN1cGVyVHlwZVByZXNlbnQpIHtcbiAgICAgICAgdGhpcy50eXBlLnJlcGxhY2VTdXBlclR5cGUob2xkU3VwZXJUeXBlLCBuZXdTdXBlclR5cGUpO1xuXG4gICAgICAgIHN1cGVyVHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VwZXJUeXBlVmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlTdXBlclR5cGVzKCkge1xuICAgIGxldCBzdXBlclR5cGVzVmVyaWZ5O1xuXG4gICAgY29uc3QgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIHRoaXMuY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgc2ltcGxlIHR5cGUncyBzdXBlci10eXBlcy4uLmAsIHRoaXMubm9kZSk7XG5cbiAgICBjb25zdCB0eXBlQmFzaWMgPSB0aGlzLnR5cGUuaXNCYXNpYygpO1xuXG4gICAgaWYgKHR5cGVCYXNpYykge1xuICAgICAgc3VwZXJUeXBlc1ZlcmlmeSA9IHRydWU7XG5cbiAgICAgIHRoaXMuY29udGV4dC50cmFjZShgVGhlICcke3R5cGVTdHJpbmd9JyBzaW1wbGUgdHlwZSBpcyBiYXNpYy5gLCB0aGlzLm5vZGUpXG4gICAgfSBlbHNlICB7XG4gICAgICBjb25zdCBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKTtcblxuICAgICAgc3VwZXJUeXBlc1ZlcmlmeSA9IHN1cGVyVHlwZXMuZXZlcnkoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICBjb25zdCBzdXBlclR5cGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlKHN1cGVyVHlwZSk7XG5cbiAgICAgICAgaWYgKHN1cGVyVHlwZVZlcmlmaWVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChzdXBlclR5cGVzVmVyaWZ5KSB7XG4gICAgICB0aGlzLmNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgc2ltcGxlIHR5cGUncyBzdXBlci10eXBlcy5gLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzVmVyaWZ5O1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlNpbXBsZVR5cGVEZWNsYXJhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZShzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBUeXBlIH0gPSBkb20sXG4gICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbm9kZSA9IHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIC8vL1xuICAgICAgICAgIHByZWZpeGVkID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZS5pc1ByZWZpeGVkKCksXG4gICAgICAgICAgdHlwZVByZWZpeE5hbWUgPSBzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLmdldFR5cGVQcmVmaXhOYW1lKCksXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICBzdXBlclR5cGVzID0gdHlwZS5nZXRTdXBlclR5cGVzKCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVOYW1lVHlwZVByZWZpeE5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCB0eXBlUHJlZml4TmFtZSwgc3VwZXJUeXBlcyksXG4gICAgICAgICAgc2ltcGxlVHlwZURlY2xhcmF0aW9uID0gbmV3IFNpbXBsZVR5cGVEZWNsYXJhdGlvbihjb250ZXh0LCBub2RlLCBzdHJpbmcsIHR5cGUsIHByZWZpeGVkKTtcblxuICAgIHJldHVybiBzaW1wbGVUeXBlRGVjbGFyYXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uIiwiY29udGV4dCIsIm5vZGUiLCJzdHJpbmciLCJ0eXBlIiwicHJlZml4ZWQiLCJnZXRDb250ZXh0IiwiZ2V0Tm9kZSIsImdldFN0cmluZyIsImdldFR5cGUiLCJpc1ByZWZpeGVkIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJzaW1wbGVUeXBlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsInR5cGVTdHJpbmciLCJ0eXBlVmVyaWZpZXMiLCJ2ZXJpZnlUeXBlIiwic3VwZXJUeXBlc1ZlcmlmeSIsInZlcmlmeVN1cGVyVHlwZXMiLCJ0eXBlUHJlZml4IiwiZ2V0VHlwZVByZWZpeCIsInR5cGVQcmVmaXhOYW1lIiwiZ2V0TmFtZSIsInByZWZpeE5hbWUiLCJzZXRQcmVmaXhOYW1lIiwiYWRkVHlwZSIsImRlYnVnIiwidHlwZU5hbWUiLCJpbmNsdWRlUmVsZWFzZSIsImluY2x1ZGVEZXBlbmRlbmNpZXMiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwicHJlZml4ZWRUeXBlTmFtZSIsImlzVHlwZVByZXNlbnRCeVByZWZpeGVkVHlwZU5hbWUiLCJ2ZXJpZnlTdXBlclR5cGUiLCJzdXBlclR5cGUiLCJzdXBlclR5cGVWZXJpZmllcyIsInN1cGVyVHlwZVN0cmluZyIsIm5vbWluYWxUeXBlTmFtZSIsImdldE5vbWluYWxUeXBlTmFtZSIsInR5cGVOYW1lTWF0Y2hlcyIsIm1hdGNoVHlwZU5hbWUiLCJvbGRTdXBlclR5cGUiLCJmaW5kVHlwZUJ5Tm9taW5hbFR5cGVOYW1lIiwic3VwZXJUeXBlUHJlc2VudCIsInJlcGxhY2VTdXBlclR5cGUiLCJuZXdTdXBlclR5cGUiLCJ0eXBlQmFzaWMiLCJpc0Jhc2ljIiwic3VwZXJUeXBlcyIsImdldFN1cGVyVHlwZXMiLCJldmVyeSIsImZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlR5cGUiLCJkb20iLCJnZXRUeXBlUHJlZml4TmFtZSIsInN0cmluZ0Zyb21UeXBlTmFtZVR5cGVQcmVmaXhOYW1lQW5kU3VwZXJUeXBlcyIsInNpbXBsZVR5cGVEZWNsYXJhdGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBQTs7OzJEQUxnQjtvQkFHOEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUU5RCxXQUFlQSxJQUFBQSxnQkFBVywwQ0FBQzthQUFNQyxzQkFDbkJDLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsUUFBUTtnQ0FEbEJMO1FBRTdCLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTs7OztZQUdsQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxPQUFPO1lBQ3JCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxNQUFNO1lBQ3BCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxRQUFRO1lBQ3RCOzs7WUFFQU0s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
|
|
@@ -122,9 +122,15 @@ var _default = (0, _dom.domAssigned)((_TypePrefixDeclaration = /*#__PURE__*/ fun
|
|
|
122
122
|
var verifies = false;
|
|
123
123
|
var typePrefixDeclarationString = this.string; ///
|
|
124
124
|
this.context.trace("Verifying the '".concat(typePrefixDeclarationString, "' type prefix declaration..."), this.node);
|
|
125
|
-
var
|
|
126
|
-
if (
|
|
127
|
-
|
|
125
|
+
var includeRelease = true, includeDependencies = false, types = this.context.getTypes(includeRelease, includeDependencies), typesLength = types.length;
|
|
126
|
+
if (typesLength > 0) {
|
|
127
|
+
this.context.debug("Cannot verify the '".concat(typePrefixDeclarationString, "' type prefix declaration because types have already been declared."), this.node);
|
|
128
|
+
} else {
|
|
129
|
+
var typePrefixVerifies = this.verifyTypePrefix();
|
|
130
|
+
if (typePrefixVerifies) {
|
|
131
|
+
this.context.addTypePrefix(this.typePrefix);
|
|
132
|
+
verifies = true;
|
|
133
|
+
}
|
|
128
134
|
}
|
|
129
135
|
if (verifies) {
|
|
130
136
|
this.context.debug("...verified the '".concat(typePrefixDeclarationString, "' type prefix declaration."), this.node);
|
|
@@ -140,13 +146,18 @@ var _default = (0, _dom.domAssigned)((_TypePrefixDeclaration = /*#__PURE__*/ fun
|
|
|
140
146
|
this.context.trace("Verifying the '".concat(typePrefixString, "' type prefix..."), this.node);
|
|
141
147
|
var typePrefix = this.context.getTypePrefix();
|
|
142
148
|
if (typePrefix !== null) {
|
|
143
|
-
this.context.
|
|
149
|
+
this.context.trace("The package already has a '".concat(typePrefixString, "' type prefix."), this.node);
|
|
144
150
|
} else {
|
|
145
151
|
var typePrefixName = this.typePrefix.getName(), typePrefixPresent = this.context.isTypePrefixPresentByTypePrefixName(typePrefixName);
|
|
146
152
|
if (typePrefixPresent) {
|
|
147
|
-
this.context.
|
|
153
|
+
this.context.trace("The '".concat(typePrefixString, "' type prefix is already present."), this.node);
|
|
148
154
|
} else {
|
|
149
|
-
|
|
155
|
+
var nominalTypeName = typePrefixName, typePresent = this.context.isTypePresentByNominalTypeName(nominalTypeName);
|
|
156
|
+
if (typePresent) {
|
|
157
|
+
this.context.trace("The '".concat(typePrefixString, "' type is already present."), this.node);
|
|
158
|
+
} else {
|
|
159
|
+
typePrefixVerifies = true;
|
|
160
|
+
}
|
|
150
161
|
}
|
|
151
162
|
}
|
|
152
163
|
if (typePrefixVerifies) {
|
|
@@ -167,4 +178,4 @@ var _default = (0, _dom.domAssigned)((_TypePrefixDeclaration = /*#__PURE__*/ fun
|
|
|
167
178
|
return TypePrefixDeclaration;
|
|
168
179
|
}(), _define_property(_TypePrefixDeclaration, "name", "TypePrefixDeclaration"), _TypePrefixDeclaration));
|
|
169
180
|
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdHlwZVByZWZpeC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBUeXBlUHJlZml4RGVjbGFyYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBub2RlLCBzdHJpbmcsIHR5cGVQcmVmaXgpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlUHJlZml4ID0gdHlwZVByZWZpeDtcbiAgfVxuXG4gIGdldENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dDtcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLnR5cGVQcmVmaXg7XG4gIH1cblxuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlUHJlZml4RGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVQcmVmaXhEZWNsYXJhdGlvblN0cmluZ30nIHR5cGUgcHJlZml4IGRlY2xhcmF0aW9uLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSxcbiAgICAgICAgICBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgdHlwZXMgPSB0aGlzLmNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZVJlbGVhc2UsIGluY2x1ZGVEZXBlbmRlbmNpZXMpLFxuICAgICAgICAgIHR5cGVzTGVuZ3RoID0gdHlwZXMubGVuZ3RoO1xuXG4gICAgaWYgKHR5cGVzTGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5jb250ZXh0LmRlYnVnKGBDYW5ub3QgdmVyaWZ5IHRoZSAnJHt0eXBlUHJlZml4RGVjbGFyYXRpb25TdHJpbmd9JyB0eXBlIHByZWZpeCBkZWNsYXJhdGlvbiBiZWNhdXNlIHR5cGVzIGhhdmUgYWxyZWFkeSBiZWVuIGRlY2xhcmVkLmAsIHRoaXMubm9kZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVQcmVmaXhWZXJpZmllcyA9IHRoaXMudmVyaWZ5VHlwZVByZWZpeCgpO1xuXG4gICAgICBpZiAodHlwZVByZWZpeFZlcmlmaWVzKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5hZGRUeXBlUHJlZml4KHRoaXMudHlwZVByZWZpeCk7XG5cbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllcykge1xuICAgICAgdGhpcy5jb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVByZWZpeERlY2xhcmF0aW9uU3RyaW5nfScgdHlwZSBwcmVmaXggZGVjbGFyYXRpb24uYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlUeXBlUHJlZml4KCkge1xuICAgIGxldCB0eXBlUHJlZml4VmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHR5cGVQcmVmaXhTdHJpbmcgPSB0aGlzLnR5cGVQcmVmaXguZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVByZWZpeFN0cmluZ30nIHR5cGUgcHJlZml4Li4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IHR5cGVQcmVmaXggPSB0aGlzLmNvbnRleHQuZ2V0VHlwZVByZWZpeCgpO1xuXG4gICAgaWYgKHR5cGVQcmVmaXggIT09IG51bGwpIHtcbiAgICAgIHRoaXMuY29udGV4dC50cmFjZShgVGhlIHBhY2thZ2UgYWxyZWFkeSBoYXMgYSAnJHt0eXBlUHJlZml4U3RyaW5nfScgdHlwZSBwcmVmaXguYCwgdGhpcy5ub2RlKTtcbiAgICB9IGVsc2Uge1xuXG4gICAgICBjb25zdCB0eXBlUHJlZml4TmFtZSA9IHRoaXMudHlwZVByZWZpeC5nZXROYW1lKCksXG4gICAgICAgICAgICB0eXBlUHJlZml4UHJlc2VudCA9IHRoaXMuY29udGV4dC5pc1R5cGVQcmVmaXhQcmVzZW50QnlUeXBlUHJlZml4TmFtZSh0eXBlUHJlZml4TmFtZSk7XG5cbiAgICAgIGlmICh0eXBlUHJlZml4UHJlc2VudCkge1xuICAgICAgICB0aGlzLmNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlUHJlZml4U3RyaW5nfScgdHlwZSBwcmVmaXggaXMgYWxyZWFkeSBwcmVzZW50LmAsIHRoaXMubm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBub21pbmFsVHlwZU5hbWUgPSB0eXBlUHJlZml4TmFtZSwgIC8vL1xuICAgICAgICAgICAgICB0eXBlUHJlc2VudCA9IHRoaXMuY29udGV4dC5pc1R5cGVQcmVzZW50QnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcblxuICAgICAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgICAgICB0aGlzLmNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlUHJlZml4U3RyaW5nfScgdHlwZSBpcyBhbHJlYWR5IHByZXNlbnQuYCwgdGhpcy5ub2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0eXBlUHJlZml4VmVyaWZpZXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVQcmVmaXhWZXJpZmllcykge1xuICAgICAgdGhpcy5jb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVByZWZpeFN0cmluZ30nIHR5cGUgcHJlZml4LmAsIHRoaXMubm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVQcmVmaXhWZXJpZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUeXBlUHJlZml4RGVjbGFyYXRpb25cIjtcblxuICBzdGF0aWMgZnJvbVR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUodHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVHlwZVByZWZpeCB9ID0gZG9tLFxuICAgICAgICAgIG5vZGUgPSB0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLCAvLy9cbiAgICAgICAgICB0eXBlUHJlZml4ID0gVHlwZVByZWZpeC5mcm9tVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSh0eXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICB0eXBlUHJlZml4TmFtZSA9IHR5cGVQcmVmaXguZ2V0TmFtZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHR5cGVQcmVmaXhOYW1lLCAgLy8vXG4gICAgICAgICAgc2ltcGxlVHlwZURlY2xhcmF0aW9uID0gbmV3IFR5cGVQcmVmaXhEZWNsYXJhdGlvbihjb250ZXh0LCBub2RlLCBzdHJpbmcsIHR5cGVQcmVmaXgpO1xuXG4gICAgcmV0dXJuIHNpbXBsZVR5cGVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJUeXBlUHJlZml4RGVjbGFyYXRpb24iLCJjb250ZXh0Iiwibm9kZSIsInN0cmluZyIsInR5cGVQcmVmaXgiLCJnZXRDb250ZXh0IiwiZ2V0Tm9kZSIsImdldFN0cmluZyIsImdldFR5cGVQcmVmaXgiLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsInR5cGVQcmVmaXhEZWNsYXJhdGlvblN0cmluZyIsInRyYWNlIiwiaW5jbHVkZVJlbGVhc2UiLCJpbmNsdWRlRGVwZW5kZW5jaWVzIiwidHlwZXMiLCJnZXRUeXBlcyIsInR5cGVzTGVuZ3RoIiwibGVuZ3RoIiwiZGVidWciLCJ0eXBlUHJlZml4VmVyaWZpZXMiLCJ2ZXJpZnlUeXBlUHJlZml4IiwiYWRkVHlwZVByZWZpeCIsInR5cGVQcmVmaXhTdHJpbmciLCJ0eXBlUHJlZml4TmFtZSIsImdldE5hbWUiLCJ0eXBlUHJlZml4UHJlc2VudCIsImlzVHlwZVByZWZpeFByZXNlbnRCeVR5cGVQcmVmaXhOYW1lIiwibm9taW5hbFR5cGVOYW1lIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlOb21pbmFsVHlwZU5hbWUiLCJmcm9tVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSIsInR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJUeXBlUHJlZml4IiwiZG9tIiwic2ltcGxlVHlwZURlY2xhcmF0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7MkRBSmdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFJaEIsV0FBZUEsSUFBQUEsZ0JBQVcsMENBQUM7YUFBTUMsc0JBQ25CQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxVQUFVO2dDQURkSjtRQUU3QixJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFVBQVUsR0FBR0E7Ozs7WUFHcEJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osT0FBTztZQUNyQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElB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
|
|
@@ -160,15 +160,15 @@ var _default = (0, _dom.domAssigned)((_VariableDeclaration = /*#__PURE__*/ funct
|
|
|
160
160
|
var variableTypeVerifies = false;
|
|
161
161
|
var type;
|
|
162
162
|
type = this.variable.getType();
|
|
163
|
-
var
|
|
163
|
+
var typeString = type.getString();
|
|
164
164
|
this.context.trace("Verifying the '".concat(typeString, "' type..."), this.node);
|
|
165
|
-
var
|
|
166
|
-
type = this.context.
|
|
165
|
+
var nominalTypeName = type.getNominalTypeName();
|
|
166
|
+
type = this.context.findTypeByNominalTypeName(nominalTypeName);
|
|
167
167
|
var typePresent = type !== null;
|
|
168
168
|
if (!typePresent) {
|
|
169
169
|
this.context.debug("The '".concat(typeString, "' type is not present."), this.node);
|
|
170
170
|
} else {
|
|
171
|
-
var provisionalMatches = type.matchProvisional(provisional);
|
|
171
|
+
var includeSupertypes = false, provisional = type.isProvisional(includeSupertypes), provisionalMatches = type.matchProvisional(provisional);
|
|
172
172
|
if (!provisionalMatches) {
|
|
173
173
|
provisional ? this.context.debug("The '".concat(typeString, "' type is present but not provisional."), this.node) : this.context.debug("The '".concat(typeString, "' type is present but provisional."), this.node);
|
|
174
174
|
} else {
|
|
@@ -194,4 +194,4 @@ var _default = (0, _dom.domAssigned)((_VariableDeclaration = /*#__PURE__*/ funct
|
|
|
194
194
|
return VariableDeclaration;
|
|
195
195
|
}(), _define_property(_VariableDeclaration, "name", "VariableDeclaration"), _VariableDeclaration));
|
|
196
196
|
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgVmFyaWFibGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIG5vZGUsIHN0cmluZywgdmFyaWFibGUpIHtcbiAgICB0aGlzLmNvbnRleHQgPSBjb250ZXh0O1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0Q29udGV4dCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0O1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dmFyaWFibGVEZWNsYXJhdGlvblN0cmluZ30nIHZhcmlhYmxlIGRlY2xhcmF0aW9uLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlVHlwZVZlcmlmaWVzID0gdGhpcy52ZXJpZnlWYXJpYWJsZVR5cGUoKTtcblxuICAgIGlmICh2YXJpYWJsZVR5cGVWZXJpZmllcykge1xuICAgICAgY29uc3QgdmFyaWFibGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5VmFyaWFibGUoKTtcblxuICAgICAgaWYgKHZhcmlhYmxlVmVyaWZpZXMpIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmFkZFZhcmlhYmxlKHRoaXMudmFyaWFibGUpO1xuXG4gICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3ZhcmlhYmxlRGVjbGFyYXRpb25TdHJpbmd9JyB2YXJpYWJsZSBkZWNsYXJhdGlvbi5gLCB0aGlzLm5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVZhcmlhYmxlKCkge1xuICAgIGxldCAgdmFyaWFibGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB0aGlzLnZhcmlhYmxlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuLi5gLCB0aGlzLm5vZGUpO1xuXG4gICAgY29uc3QgdmFyaWFibGVJZGVudGlmaWVyID0gdGhpcy52YXJpYWJsZS5nZXRJZGVudGlmaWVyKCksXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gdGhpcy5jb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZUlkZW50aWZpZXIodmFyaWFibGVJZGVudGlmaWVyKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgVGhlICcke3ZhcmlhYmxlTmFtZX0nIHZhcmlhYmxlIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0aGlzLm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXJpYWJsZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIHZhcmlhYmxlVmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIHZhcmlhYmxlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlWYXJpYWJsZVR5cGUoKSB7XG4gICAgbGV0IHZhcmlhYmxlVHlwZVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBsZXQgdHlwZTtcblxuICAgIHR5cGUgPSB0aGlzLnZhcmlhYmxlLmdldFR5cGUoKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5jb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVTdHJpbmd9JyB0eXBlLi4uYCwgdGhpcy5ub2RlKTtcblxuICAgIGNvbnN0IG5vbWluYWxUeXBlTmFtZSA9IHR5cGUuZ2V0Tm9taW5hbFR5cGVOYW1lKCk7XG5cbiAgICB0eXBlID0gdGhpcy5jb250ZXh0LmZpbmRUeXBlQnlOb21pbmFsVHlwZU5hbWUobm9taW5hbFR5cGVOYW1lKTtcblxuICAgIGNvbnN0IHR5cGVQcmVzZW50ID0gKHR5cGUgIT09IG51bGwpXG5cbiAgICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgICB0aGlzLmNvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBub3QgcHJlc2VudC5gLCB0aGlzLm5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpbmNsdWRlU3VwZXJ0eXBlcyA9IGZhbHNlLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWwgPSB0eXBlLmlzUHJvdmlzaW9uYWwoaW5jbHVkZVN1cGVydHlwZXMpLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxNYXRjaGVzID0gdHlwZS5tYXRjaFByb3Zpc2lvbmFsKHByb3Zpc2lvbmFsKTtcblxuICAgICAgaWYgKCFwcm92aXNpb25hbE1hdGNoZXMpIHtcbiAgICAgICAgcHJvdmlzaW9uYWwgP1xuICAgICAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgVGhlICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIHByZXNlbnQgYnV0IG5vdCBwcm92aXNpb25hbC5gLCB0aGlzLm5vZGUpIDpcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC5kZWJ1ZyhgVGhlICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIHByZXNlbnQgYnV0IHByb3Zpc2lvbmFsLmAsIHRoaXMubm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnZhcmlhYmxlLnNldFR5cGUodHlwZSk7XG5cbiAgICAgICAgdmFyaWFibGVUeXBlVmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJpYWJsZVR5cGVWZXJpZmllcykge1xuICAgICAgdGhpcy5jb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdGhpcy5ub2RlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGVUeXBlVmVyaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVEZWNsYXJhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgICAgbm9kZSA9IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlLCAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgdmFyaWFibGVEZWNsYXJhdGlvbiA9IG5ldyBWYXJpYWJsZURlY2xhcmF0aW9uKGNvbnRleHQsIG5vZGUsIHN0cmluZywgdmFyaWFibGUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlRGVjbGFyYXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiVmFyaWFibGVEZWNsYXJhdGlvbiIsImNvbnRleHQiLCJub2RlIiwic3RyaW5nIiwidmFyaWFibGUiLCJnZXRDb250ZXh0IiwiZ2V0Tm9kZSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uU3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZVR5cGVWZXJpZmllcyIsInZlcmlmeVZhcmlhYmxlVHlwZSIsInZhcmlhYmxlVmVyaWZpZXMiLCJ2ZXJpZnlWYXJpYWJsZSIsImFkZFZhcmlhYmxlIiwiZGVidWciLCJ2YXJpYWJsZVN0cmluZyIsInZhcmlhYmxlSWRlbnRpZmllciIsImdldElkZW50aWZpZXIiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVJZGVudGlmaWVyIiwidmFyaWFibGVOYW1lIiwidHlwZSIsImdldFR5cGUiLCJ0eXBlU3RyaW5nIiwibm9taW5hbFR5cGVOYW1lIiwiZ2V0Tm9taW5hbFR5cGVOYW1lIiwiZmluZFR5cGVCeU5vbWluYWxUeXBlTmFtZSIsInR5cGVQcmVzZW50IiwiaW5jbHVkZVN1cGVydHlwZXMiLCJwcm92aXNpb25hbCIsImlzUHJvdmlzaW9uYWwiLCJwcm92aXNpb25hbE1hdGNoZXMiLCJtYXRjaFByb3Zpc2lvbmFsIiwic2V0VHlwZSIsImZyb21WYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiVmFyaWFibGUiLCJkb20iLCJub2RlQXNTdHJpbmciLCJ2YXJpYWJsZURlY2xhcmF0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7MkRBSmdCOzs7Ozs7Ozs7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
|