occam-verify-cli 1.0.96 → 1.0.97
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/constants.js +5 -1
- package/lib/dom/declaration/complexType.js +4 -4
- package/lib/dom/declaration/type.js +33 -17
- package/lib/verifier/constructor.js +81 -5
- package/package.json +1 -1
- package/src/constants.js +1 -0
- package/src/dom/declaration/complexType.js +4 -4
- package/src/dom/declaration/type.js +42 -21
- package/src/verifier/constructor.js +37 -4
package/lib/constants.js
CHANGED
|
@@ -39,6 +39,9 @@ _export(exports, {
|
|
|
39
39
|
SATISFYING: function() {
|
|
40
40
|
return SATISFYING;
|
|
41
41
|
},
|
|
42
|
+
TYPE_TYPE: function() {
|
|
43
|
+
return TYPE_TYPE;
|
|
44
|
+
},
|
|
42
45
|
UNDEFINED: function() {
|
|
43
46
|
return UNDEFINED;
|
|
44
47
|
}
|
|
@@ -47,6 +50,7 @@ var S = "s";
|
|
|
47
50
|
var NOTHING = "";
|
|
48
51
|
var MISSING = "missing";
|
|
49
52
|
var FUNCTION = "function";
|
|
53
|
+
var TYPE_TYPE = "type";
|
|
50
54
|
var UNDEFINED = "undefined";
|
|
51
55
|
var SATISFYING = "Satisfying";
|
|
52
56
|
var PROVISIONAL = "Provisional";
|
|
@@ -55,4 +59,4 @@ var PROVISIONALLY = "provisionally";
|
|
|
55
59
|
var BRACKETED_TERM_DEPTH = 2;
|
|
56
60
|
var BRACKETED_STATEMENT_DEPTH = 2;
|
|
57
61
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTID0gXCJzXCI7XG5leHBvcnQgY29uc3QgTk9USElORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgTUlTU0lORyA9IFwibWlzc2luZ1wiO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OID0gXCJmdW5jdGlvblwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfVFlQRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IFVOREVGSU5FRCA9IFwidW5kZWZpbmVkXCI7XG5leHBvcnQgY29uc3QgU0FUSVNGWUlORyA9IFwiU2F0aXNmeWluZ1wiO1xuZXhwb3J0IGNvbnN0IFBST1ZJU0lPTkFMID0gXCJQcm92aXNpb25hbFwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgUFJPVklTSU9OQUxMWSA9IFwicHJvdmlzaW9uYWxseVwiO1xuZXhwb3J0IGNvbnN0IEJSQUNLRVRFRF9URVJNX0RFUFRIID0gMjtcbmV4cG9ydCBjb25zdCBCUkFDS0VURURfU1RBVEVNRU5UX0RFUFRIID0gMjtcbiJdLCJuYW1lcyI6WyJCUkFDS0VURURfU1RBVEVNRU5UX0RFUFRIIiwiQlJBQ0tFVEVEX1RFUk1fREVQVEgiLCJFTVBUWV9TVFJJTkciLCJGVU5DVElPTiIsIk1JU1NJTkciLCJOT1RISU5HIiwiUFJPVklTSU9OQUwiLCJQUk9WSVNJT05BTExZIiwiUyIsIlNBVElTRllJTkciLCJUWVBFX1RZUEUiLCJVTkRFRklORUQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWFhQSx5QkFBeUI7ZUFBekJBOztJQURBQyxvQkFBb0I7ZUFBcEJBOztJQUZBQyxZQUFZO2VBQVpBOztJQUxBQyxRQUFRO2VBQVJBOztJQURBQyxPQUFPO2VBQVBBOztJQURBQyxPQUFPO2VBQVBBOztJQU1BQyxXQUFXO2VBQVhBOztJQUVBQyxhQUFhO2VBQWJBOztJQVRBQyxDQUFDO2VBQURBOztJQU1BQyxVQUFVO2VBQVZBOztJQUZBQyxTQUFTO2VBQVRBOztJQUNBQyxTQUFTO2VBQVRBOzs7QUFMTixJQUFNSCxJQUFJO0FBQ1YsSUFBTUgsVUFBVTtBQUNoQixJQUFNRCxVQUFVO0FBQ2hCLElBQU1ELFdBQVc7QUFDakIsSUFBTU8sWUFBWTtBQUNsQixJQUFNQyxZQUFZO0FBQ2xCLElBQU1GLGFBQWE7QUFDbkIsSUFBTUgsY0FBYztBQUNwQixJQUFNSixlQUFlO0FBQ3JCLElBQU1LLGdCQUFnQjtBQUN0QixJQUFNTix1QkFBdUI7QUFDN0IsSUFBTUQsNEJBQTRCIn0=
|
|
@@ -185,7 +185,7 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
|
|
|
185
185
|
}) || null;
|
|
186
186
|
if (superTypeProperty !== null) {
|
|
187
187
|
var superTypePropertyString = superTypeProperty.getString();
|
|
188
|
-
this.fileContext.debug("The '".concat(propertyString, "' property matches the super
|
|
188
|
+
this.fileContext.debug("The '".concat(propertyString, "' property matches the super-type's '").concat(superTypePropertyString, "' property."));
|
|
189
189
|
} else {
|
|
190
190
|
var propertyType;
|
|
191
191
|
propertyType = property.getType();
|
|
@@ -233,7 +233,7 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
|
|
|
233
233
|
var superTypes = this.type.getSuperTypes(), superTypesString = (0, _type1.superTypesStringFromSuperTypes)(superTypes);
|
|
234
234
|
if (superTypesString !== null) {
|
|
235
235
|
var typeName = this.type.getString();
|
|
236
|
-
this.fileContext.trace("Verifying the '".concat(typeName, "' type's ").concat(superTypesString, " super
|
|
236
|
+
this.fileContext.trace("Verifying the '".concat(typeName, "' type's ").concat(superTypesString, " super-types..."));
|
|
237
237
|
superTypesVerified = superTypes.every(function(superType) {
|
|
238
238
|
var superTypeName = superType.getName(), superTypePresent = _this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
239
239
|
if (superTypePresent) {
|
|
@@ -241,7 +241,7 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
|
|
|
241
241
|
}
|
|
242
242
|
});
|
|
243
243
|
if (superTypesVerified) {
|
|
244
|
-
this.fileContext.debug("...verified the '".concat(typeName, "' type's ").concat(superTypesString, " super
|
|
244
|
+
this.fileContext.debug("...verified the '".concat(typeName, "' type's ").concat(superTypesString, " super-types."));
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
return superTypesVerified;
|
|
@@ -287,4 +287,4 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
|
|
|
287
287
|
return ComplexTypeDeclaration;
|
|
288
288
|
}(), _define_property(_ComplexTypeDeclaration, "name", "ComplexTypeDeclaration"), _ComplexTypeDeclaration));
|
|
289
289
|
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vY29tcGxleFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uL3R5cGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGxleFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlcygpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSB0aGlzLnR5cGUuZ2V0U3VwZXJUeXBlcygpO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgICAgIGNvbnN0IGluY2x1ZGVTdXBlclR5cGVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXMgPSB0aGlzLnR5cGUuZ2V0UHJvcGVydGllcyhpbmNsdWRlU3VwZXJUeXBlcyksXG4gICAgICAgICAgICAgIHByb3BlcnRpZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzKTtcblxuICAgICAgICBpZiAocHJvcGVydGllc1ZlcmlmaWVkKSB7XG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnR5KHByb3BlcnR5LCBwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKSB7XG4gICAgbGV0IHByb3BlcnR5VmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuLi5gKTtcblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZXMgPSBwcm9wZXJ0eS5nZXROYW1lcygpLFxuICAgICAgICAgIGNvdW50ID0gcHJvcGVydGllcy5yZWR1Y2UoKGNvdW50LCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lc01hdGNoID0gcHJvcGVydHkubWF0Y2hQcm9wZXJ0eU5hbWVzKHByb3BlcnR5TmFtZXMpO1xuXG4gICAgICAgICAgICBpZiAocHJvcGVydHlOYW1lc01hdGNoKSB7XG4gICAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgICAgICB9LCAwKTtcblxuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5IGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnR5ID0gc3VwZXJUeXBlUHJvcGVydGllcy5maW5kKChzdXBlclR5cGVQcm9wZXJ0eSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eU5hbWVNYXRjaGVzID0gc3VwZXJUeXBlUHJvcGVydHkubWF0Y2hQcm9wZXJ0eU5hbWVzKHByb3BlcnR5TmFtZXMpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChzdXBlclR5cGVQcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdXBlclR5cGVQcm9wZXJ0eVN0cmluZyA9IHN1cGVyVHlwZVByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5IG1hdGNoZXMgdGhlIHN1cGVyIHR5cGUncyAnJHtzdXBlclR5cGVQcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5LmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHByb3BlcnR5VHlwZTtcblxuICAgICAgICBwcm9wZXJ0eVR5cGUgPSBwcm9wZXJ0eS5nZXRUeXBlKCk7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVByb3BlcnR5VHlwZShwcm9wZXJ0eVR5cGUpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eVR5cGVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZU5hbWUgPSBwcm9wZXJ0eVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgcHJvcGVydHlUeXBlID0gdGhpcy5maWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUocHJvcGVydHlUeXBlTmFtZSk7XG5cbiAgICAgICAgICBjb25zdCB0eXBlID0gcHJvcGVydHlUeXBlOyAgLy8vXG5cbiAgICAgICAgICBwcm9wZXJ0eS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICAgICAgcHJvcGVydHlWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHlWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgdmVyaWZpZWQgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5VmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlQcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgICBsZXQgcHJvcGVydGllc1ZlcmlmaWVkO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKCk7XG5cbiAgICBwcm9wZXJ0aWVzVmVyaWZpZWQgPSBzdXBlclR5cGVzLmV2ZXJ5KChzdXBlclR5cGUpID0+IHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnRpZXMgPSBzdXBlclR5cGUuZ2V0UHJvcGVydGllcygpLFxuICAgICAgICAgICAgcHJvcGVydGllc1ZlcmlmaWVkID0gcHJvcGVydGllcy5ldmVyeSgocHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHlWZXJpZmllZCA9IHRoaXMudmVyaWZ5UHJvcGVydHkocHJvcGVydHksIHByb3BlcnRpZXMsIHN1cGVyVHlwZVByb3BlcnRpZXMpO1xuXG4gICAgICAgICAgICAgIGlmIChwcm9wZXJ0eVZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvcGVydGllc1ZlcmlmaWVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXNWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZXMoKSB7XG4gICAgbGV0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKSxcbiAgICAgICAgICBzdXBlclR5cGVzU3RyaW5nID0gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICR7c3VwZXJUeXBlc1N0cmluZ30gc3VwZXIgdHlwZXMuLi5gKTtcblxuICAgICAgc3VwZXJUeXBlc1ZlcmlmaWVkID0gc3VwZXJUeXBlcy5ldmVyeSgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgICAgIGlmIChzdXBlclR5cGVQcmVzZW50KSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUncyAke3N1cGVyVHlwZXNTdHJpbmd9IHN1cGVyIHR5cGVzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVzVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlQcm9wZXJ0eVR5cGUocHJvcGVydHlUeXBlKSB7XG4gICAgbGV0IHByb3BlcnR5VHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBpZiAocHJvcGVydHlUeXBlID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBwcm9wZXJ0eVR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHByb3BlcnR5VHlwZU5hbWUgPSBwcm9wZXJ0eVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBpZiAodHlwZU5hbWUgPT09IHByb3BlcnR5VHlwZU5hbWUpIHtcbiAgICAgICAgcHJvcGVydHlUeXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfSBlbHNlICB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZVN0cmluZyA9IHByb3BlcnR5VHlwZS5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcm9wZXJ0eVR5cGVTdHJpbmd9JyBwcm9wZXJ0eSB0eXBlLi4uYCk7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlUHJlc2VudCA9IHRoaXMuZmlsZUNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUocHJvcGVydHlUeXBlTmFtZSk7XG5cbiAgICAgICAgaWYgKCFwcm9wZXJ0eVR5cGVQcmVzZW50KSB7XG4gICAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlU3RyaW5nID0gcHJvcGVydHlUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Byb3BlcnR5VHlwZVN0cmluZ30nIHByb3BlcnR5IHR5cGUgaXMgbm90IHByZXNlbnQuYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvcGVydHlUeXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5VHlwZVZlcmlmaWVkKSB7XG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb3BlcnR5VHlwZVN0cmluZ30nIHByb3BlcnR5IHR5cGUuYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydHlUeXBlVmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29tcGxleFR5cGVEZWNsYXJhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBUeXBlIH0gPSBkb20sXG4gICAgICAgICAgbm9kZSA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbXBsZXhUeXBlRGVjbGFyYXRpb24gPSBuZXcgQ29tcGxleFR5cGVEZWNsYXJhdGlvbihmaWxlQ29udGV4dCwgc3RyaW5nLCB0eXBlKTtcblxuICAgIHJldHVybiBjb21wbGV4VHlwZURlY2xhcmF0aW9uO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIkNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJmaWxlQ29udGV4dCIsInN0cmluZyIsInR5cGUiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldFR5cGUiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsInR5cGVWZXJpZmllZCIsInZlcmlmeVR5cGUiLCJzdXBlclR5cGVzVmVyaWZpZWQiLCJ2ZXJpZnlTdXBlclR5cGVzIiwic3VwZXJUeXBlcyIsImdldFN1cGVyVHlwZXMiLCJtYXAiLCJzdXBlclR5cGUiLCJzdXBlclR5cGVOYW1lIiwiZ2V0TmFtZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInNldFN1cGVyVHlwZXMiLCJpbmNsdWRlU3VwZXJUeXBlcyIsInByb3BlcnRpZXMiLCJnZXRQcm9wZXJ0aWVzIiwicHJvcGVydGllc1ZlcmlmaWVkIiwidmVyaWZ5UHJvcGVydGllcyIsImFkZFR5cGUiLCJkZWJ1ZyIsInR5cGVOYW1lIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsInZlcmlmeVByb3BlcnR5IiwicHJvcGVydHkiLCJzdXBlclR5cGVQcm9wZXJ0aWVzIiwicHJvcGVydHlWZXJpZmllZCIsInByb3BlcnR5U3RyaW5nIiwicHJvcGVydHlOYW1lcyIsImdldE5hbWVzIiwiY291bnQiLCJyZWR1Y2UiLCJwcm9wZXJ0eU5hbWVzTWF0Y2giLCJtYXRjaFByb3BlcnR5TmFtZXMiLCJzdXBlclR5cGVQcm9wZXJ0eSIsImZpbmQiLCJwcm9wZXJ0eU5hbWVNYXRjaGVzIiwic3VwZXJUeXBlUHJvcGVydHlTdHJpbmciLCJwcm9wZXJ0eVR5cGUiLCJwcm9wZXJ0eVR5cGVWZXJpZmllZCIsInZlcmlmeVByb3BlcnR5VHlwZSIsInByb3BlcnR5VHlwZU5hbWUiLCJzZXRUeXBlIiwiZXZlcnkiLCJzdXBlclR5cGVzU3RyaW5nIiwic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwic3VwZXJUeXBlUHJlc2VudCIsIm9iamVjdFR5cGUiLCJwcm9wZXJ0eVR5cGVTdHJpbmciLCJwcm9wZXJ0eVR5cGVQcmVzZW50IiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJUeXBlIiwiZG9tIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OzsyREFOZ0I7b0JBRVc7cUJBRW9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFL0MsV0FBZUEsSUFBQUEsZ0JBQVcsMkNBQUM7YUFBTUMsdUJBQ25CQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsSUFBSTtnQ0FETkg7UUFFN0IsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTs7OztZQUdkQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFdBQVc7WUFDekI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7O2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFB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
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vY29tcGxleFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uL3R5cGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGxleFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlcygpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSB0aGlzLnR5cGUuZ2V0U3VwZXJUeXBlcygpO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgICAgIGNvbnN0IGluY2x1ZGVTdXBlclR5cGVzID0gZmFsc2UsXG4gICAgICAgICAgICAgIHByb3BlcnRpZXMgPSB0aGlzLnR5cGUuZ2V0UHJvcGVydGllcyhpbmNsdWRlU3VwZXJUeXBlcyksXG4gICAgICAgICAgICAgIHByb3BlcnRpZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5UHJvcGVydGllcyhwcm9wZXJ0aWVzKTtcblxuICAgICAgICBpZiAocHJvcGVydGllc1ZlcmlmaWVkKSB7XG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICB2ZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnR5KHByb3BlcnR5LCBwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKSB7XG4gICAgbGV0IHByb3BlcnR5VmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuLi5gKTtcblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZXMgPSBwcm9wZXJ0eS5nZXROYW1lcygpLFxuICAgICAgICAgIGNvdW50ID0gcHJvcGVydGllcy5yZWR1Y2UoKGNvdW50LCBwcm9wZXJ0eSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lc01hdGNoID0gcHJvcGVydHkubWF0Y2hQcm9wZXJ0eU5hbWVzKHByb3BlcnR5TmFtZXMpO1xuXG4gICAgICAgICAgICBpZiAocHJvcGVydHlOYW1lc01hdGNoKSB7XG4gICAgICAgICAgICAgIGNvdW50Kys7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb3VudDtcbiAgICAgICAgICB9LCAwKTtcblxuICAgIGlmIChjb3VudCA+IDEpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5IGFwcGVhcnMgbW9yZSB0aGFuIG9uY2UuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnR5ID0gc3VwZXJUeXBlUHJvcGVydGllcy5maW5kKChzdXBlclR5cGVQcm9wZXJ0eSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eU5hbWVNYXRjaGVzID0gc3VwZXJUeXBlUHJvcGVydHkubWF0Y2hQcm9wZXJ0eU5hbWVzKHByb3BlcnR5TmFtZXMpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChzdXBlclR5cGVQcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdXBlclR5cGVQcm9wZXJ0eVN0cmluZyA9IHN1cGVyVHlwZVByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5IG1hdGNoZXMgdGhlIHN1cGVyLXR5cGUncyAnJHtzdXBlclR5cGVQcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5LmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHByb3BlcnR5VHlwZTtcblxuICAgICAgICBwcm9wZXJ0eVR5cGUgPSBwcm9wZXJ0eS5nZXRUeXBlKCk7XG5cbiAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVByb3BlcnR5VHlwZShwcm9wZXJ0eVR5cGUpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0eVR5cGVWZXJpZmllZCkge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZU5hbWUgPSBwcm9wZXJ0eVR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgcHJvcGVydHlUeXBlID0gdGhpcy5maWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUocHJvcGVydHlUeXBlTmFtZSk7XG5cbiAgICAgICAgICBjb25zdCB0eXBlID0gcHJvcGVydHlUeXBlOyAgLy8vXG5cbiAgICAgICAgICBwcm9wZXJ0eS5zZXRUeXBlKHR5cGUpO1xuXG4gICAgICAgICAgcHJvcGVydHlWZXJpZmllZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcGVydHlWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgdmVyaWZpZWQgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5VmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlQcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgICBsZXQgcHJvcGVydGllc1ZlcmlmaWVkO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKCk7XG5cbiAgICBwcm9wZXJ0aWVzVmVyaWZpZWQgPSBzdXBlclR5cGVzLmV2ZXJ5KChzdXBlclR5cGUpID0+IHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnRpZXMgPSBzdXBlclR5cGUuZ2V0UHJvcGVydGllcygpLFxuICAgICAgICAgICAgcHJvcGVydGllc1ZlcmlmaWVkID0gcHJvcGVydGllcy5ldmVyeSgocHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHlWZXJpZmllZCA9IHRoaXMudmVyaWZ5UHJvcGVydHkocHJvcGVydHksIHByb3BlcnRpZXMsIHN1cGVyVHlwZVByb3BlcnRpZXMpO1xuXG4gICAgICAgICAgICAgIGlmIChwcm9wZXJ0eVZlcmlmaWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvcGVydGllc1ZlcmlmaWVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3BlcnRpZXNWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZXMoKSB7XG4gICAgbGV0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKSxcbiAgICAgICAgICBzdXBlclR5cGVzU3RyaW5nID0gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICR7c3VwZXJUeXBlc1N0cmluZ30gc3VwZXItdHlwZXMuLi5gKTtcblxuICAgICAgc3VwZXJUeXBlc1ZlcmlmaWVkID0gc3VwZXJUeXBlcy5ldmVyeSgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICBzdXBlclR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICBpZiAoc3VwZXJUeXBlUHJlc2VudCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZmllZCkge1xuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZU5hbWV9JyB0eXBlJ3MgJHtzdXBlclR5cGVzU3RyaW5nfSBzdXBlci10eXBlcy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1ZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5UHJvcGVydHlUeXBlKHByb3BlcnR5VHlwZSkge1xuICAgIGxldCBwcm9wZXJ0eVR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgaWYgKHByb3BlcnR5VHlwZSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgcHJvcGVydHlUeXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgICBwcm9wZXJ0eVR5cGVOYW1lID0gcHJvcGVydHlUeXBlLmdldE5hbWUoKTtcblxuICAgICAgaWYgKHR5cGVOYW1lID09PSBwcm9wZXJ0eVR5cGVOYW1lKSB7XG4gICAgICAgIHByb3BlcnR5VHlwZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSAge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVR5cGVTdHJpbmcgPSBwcm9wZXJ0eVR5cGUuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cHJvcGVydHlUeXBlU3RyaW5nfScgcHJvcGVydHkgdHlwZS4uLmApO1xuXG4gICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHByb3BlcnR5VHlwZU5hbWUpO1xuXG4gICAgICAgIGlmICghcHJvcGVydHlUeXBlUHJlc2VudCkge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZVN0cmluZyA9IHByb3BlcnR5VHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVR5cGVTdHJpbmd9JyBwcm9wZXJ0eSB0eXBlIGlzIG5vdCBwcmVzZW50LmApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb3BlcnR5VHlwZVZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wZXJ0eVR5cGVWZXJpZmllZCkge1xuICAgICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9wZXJ0eVR5cGVTdHJpbmd9JyBwcm9wZXJ0eSB0eXBlLmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5VHlwZVZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbXBsZXhUeXBlRGVjbGFyYXRpb25cIjtcblxuICBzdGF0aWMgZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVHlwZSB9ID0gZG9tLFxuICAgICAgICAgIG5vZGUgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uID0gbmV3IENvbXBsZXhUeXBlRGVjbGFyYXRpb24oZmlsZUNvbnRleHQsIHN0cmluZywgdHlwZSk7XG5cbiAgICByZXR1cm4gY29tcGxleFR5cGVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiZmlsZUNvbnRleHQiLCJzdHJpbmciLCJ0eXBlIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwidmVyaWZ5IiwidmVyaWZpZWQiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwic3VwZXJUeXBlc1ZlcmlmaWVkIiwidmVyaWZ5U3VwZXJUeXBlcyIsInN1cGVyVHlwZXMiLCJnZXRTdXBlclR5cGVzIiwibWFwIiwic3VwZXJUeXBlIiwic3VwZXJUeXBlTmFtZSIsImdldE5hbWUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJzZXRTdXBlclR5cGVzIiwiaW5jbHVkZVN1cGVyVHlwZXMiLCJwcm9wZXJ0aWVzIiwiZ2V0UHJvcGVydGllcyIsInByb3BlcnRpZXNWZXJpZmllZCIsInZlcmlmeVByb3BlcnRpZXMiLCJhZGRUeXBlIiwiZGVidWciLCJ0eXBlTmFtZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJ2ZXJpZnlQcm9wZXJ0eSIsInByb3BlcnR5Iiwic3VwZXJUeXBlUHJvcGVydGllcyIsInByb3BlcnR5VmVyaWZpZWQiLCJwcm9wZXJ0eVN0cmluZyIsInByb3BlcnR5TmFtZXMiLCJnZXROYW1lcyIsImNvdW50IiwicmVkdWNlIiwicHJvcGVydHlOYW1lc01hdGNoIiwibWF0Y2hQcm9wZXJ0eU5hbWVzIiwic3VwZXJUeXBlUHJvcGVydHkiLCJmaW5kIiwicHJvcGVydHlOYW1lTWF0Y2hlcyIsInN1cGVyVHlwZVByb3BlcnR5U3RyaW5nIiwicHJvcGVydHlUeXBlIiwicHJvcGVydHlUeXBlVmVyaWZpZWQiLCJ2ZXJpZnlQcm9wZXJ0eVR5cGUiLCJwcm9wZXJ0eVR5cGVOYW1lIiwic2V0VHlwZSIsImV2ZXJ5Iiwic3VwZXJUeXBlc1N0cmluZyIsInN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyIsInN1cGVyVHlwZVByZXNlbnQiLCJvYmplY3RUeXBlIiwicHJvcGVydHlUeXBlU3RyaW5nIiwicHJvcGVydHlUeXBlUHJlc2VudCIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiVHlwZSIsImRvbSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7MkRBTmdCO29CQUVXO3FCQUVvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRS9DLFdBQWVBLElBQUFBLGdCQUFXLDJDQUFDO2FBQU1DLHVCQUNuQkMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLElBQUk7Z0NBRE5IO1FBRTdCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxXQUFXO1lBQ3pCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBOztnQkFDRSxJQUFJQyxXQUFXO2dCQUVm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
|
|
@@ -12,6 +12,9 @@ _export(exports, {
|
|
|
12
12
|
default: function() {
|
|
13
13
|
return _default;
|
|
14
14
|
},
|
|
15
|
+
superTypeStringFromSuperType: function() {
|
|
16
|
+
return superTypeStringFromSuperType;
|
|
17
|
+
},
|
|
15
18
|
superTypesStringFromSuperTypes: function() {
|
|
16
19
|
return superTypesStringFromSuperTypes;
|
|
17
20
|
}
|
|
@@ -165,24 +168,35 @@ var _default = (0, _dom.domAssigned)((_TypeDeclaration = /*#__PURE__*/ function(
|
|
|
165
168
|
return typeVerified;
|
|
166
169
|
}
|
|
167
170
|
},
|
|
171
|
+
{
|
|
172
|
+
key: "verifySuperType",
|
|
173
|
+
value: function verifySuperType(superType) {
|
|
174
|
+
var superTypeVerified;
|
|
175
|
+
var typeName = this.type.getString(), superTypeString = superTypeStringFromSuperType(superType);
|
|
176
|
+
this.fileContext.trace("Verifying the '".concat(typeName, "' type's '").concat(superTypeString, "' super-type..."));
|
|
177
|
+
var superTypeName = superType.getName(), superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
178
|
+
superTypeVerified = superTypePresent; ///
|
|
179
|
+
if (superTypeVerified) {
|
|
180
|
+
this.fileContext.debug("...verified the '".concat(typeName, "' type's '").concat(superTypeString, "' super-type."));
|
|
181
|
+
}
|
|
182
|
+
return superTypeVerified;
|
|
183
|
+
}
|
|
184
|
+
},
|
|
168
185
|
{
|
|
169
186
|
key: "verifySuperTypes",
|
|
170
187
|
value: function verifySuperTypes() {
|
|
171
188
|
var _this = this;
|
|
172
189
|
var superTypesVerified = true;
|
|
173
|
-
var superTypes = this.type.getSuperTypes(), superTypesString = superTypesStringFromSuperTypes(superTypes);
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
if (superTypePresent) {
|
|
180
|
-
return true;
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
if (superTypesVerified) {
|
|
184
|
-
this.fileContext.debug("...verified the '".concat(typeName, "' type's ").concat(superTypesString, " super types."));
|
|
190
|
+
var typeName = this.type.getString(), superTypes = this.type.getSuperTypes(), superTypesString = superTypesStringFromSuperTypes(superTypes);
|
|
191
|
+
this.fileContext.trace("Verifying the '".concat(typeName, "' type's ").concat(superTypesString, " super-types..."));
|
|
192
|
+
superTypesVerified = superTypes.every(function(superType) {
|
|
193
|
+
var superTypeVerified = _this.verifySuperType(superType);
|
|
194
|
+
if (superTypeVerified) {
|
|
195
|
+
return true;
|
|
185
196
|
}
|
|
197
|
+
});
|
|
198
|
+
if (superTypesVerified) {
|
|
199
|
+
this.fileContext.debug("...verified the '".concat(typeName, "' type's ").concat(superTypesString, " super-types."));
|
|
186
200
|
}
|
|
187
201
|
return superTypesVerified;
|
|
188
202
|
}
|
|
@@ -198,15 +212,17 @@ var _default = (0, _dom.domAssigned)((_TypeDeclaration = /*#__PURE__*/ function(
|
|
|
198
212
|
]);
|
|
199
213
|
return TypeDeclaration;
|
|
200
214
|
}(), _define_property(_TypeDeclaration, "name", "TypeDeclaration"), _TypeDeclaration));
|
|
215
|
+
function superTypeStringFromSuperType(superType) {
|
|
216
|
+
var superTypeName = superType.getName(), superTypeString = superTypeName; ///
|
|
217
|
+
return superTypeString;
|
|
218
|
+
}
|
|
201
219
|
function superTypesStringFromSuperTypes(superTypes) {
|
|
202
220
|
var superTypesString = superTypes.reduce(function(superTypesString, superType) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
superTypesString = superTypesString === null ? "'".concat(superTypeName, "'") : "".concat(superTypesString, ", '").concat(superTypeName, "'");
|
|
206
|
-
}
|
|
221
|
+
var superTypeString = superTypeStringFromSuperType(superType);
|
|
222
|
+
superTypesString = superTypesString === null ? "'".concat(superTypeString, "'") : "".concat(superTypesString, ", '").concat(superTypeString, "'");
|
|
207
223
|
return superTypesString;
|
|
208
224
|
}, null);
|
|
209
225
|
return superTypesString;
|
|
210
226
|
}
|
|
211
227
|
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vdHlwZVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHR5cGVEZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlRGVjbGFyYXRpb25TdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlcygpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSB0aGlzLnR5cGUuZ2V0U3VwZXJUeXBlcygpO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkVHlwZSh0aGlzLnR5cGUpO1xuXG4gICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlRGVjbGFyYXRpb25TdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZXMoKSB7XG4gICAgbGV0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRydWU7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKSxcbiAgICAgICAgICBzdXBlclR5cGVzU3RyaW5nID0gc3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgaWYgKHN1cGVyVHlwZXNTdHJpbmcgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldFN0cmluZygpO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICR7c3VwZXJUeXBlc1N0cmluZ30gc3VwZXIgdHlwZXMuLi5gKTtcblxuICAgICAgc3VwZXJUeXBlc1ZlcmlmaWVkID0gc3VwZXJUeXBlcy5ldmVyeSgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgICBzdXBlclR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICBpZiAoc3VwZXJUeXBlUHJlc2VudCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZmllZCkge1xuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZU5hbWV9JyB0eXBlJ3MgJHtzdXBlclR5cGVzU3RyaW5nfSBzdXBlciB0eXBlcy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1ZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlR5cGVEZWNsYXJhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVHlwZSB9ID0gZG9tLFxuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBub2RlID0gdHlwZURlY2xhcmF0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHR5cGVEZWNsYXJhdGlvbiA9IG5ldyBUeXBlRGVjbGFyYXRpb24oZmlsZUNvbnRleHQsIHN0cmluZywgdHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uO1xuICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzLnJlZHVjZSgoc3VwZXJUeXBlc1N0cmluZywgc3VwZXJUeXBlKSA9PiB7XG4gICAgaWYgKHN1cGVyVHlwZSAhPT0gb2JqZWN0VHlwZSkge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIHN1cGVyVHlwZXNTdHJpbmcgPSAoc3VwZXJUeXBlc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlTmFtZX0nYCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZU5hbWV9J2A7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xufVxuXG4iXSwibmFtZXMiOlsic3VwZXJUeXBlc1N0cmluZ0Zyb21TdXBlclR5cGVzIiwiZG9tQXNzaWduZWQiLCJUeXBlRGVjbGFyYXRpb24iLCJmaWxlQ29udGV4dCIsInN0cmluZyIsInR5cGUiLCJnZXRGaWxlQ29udGV4dCIsImdldFN0cmluZyIsImdldFR5cGUiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsInR5cGVEZWNsYXJhdGlvblN0cmluZyIsInRyYWNlIiwidHlwZVZlcmlmaWVkIiwidmVyaWZ5VHlwZSIsInN1cGVyVHlwZXNWZXJpZmllZCIsInZlcmlmeVN1cGVyVHlwZXMiLCJzdXBlclR5cGVzIiwiZ2V0U3VwZXJUeXBlcyIsIm1hcCIsInN1cGVyVHlwZSIsInN1cGVyVHlwZU5hbWUiLCJnZXROYW1lIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwic2V0U3VwZXJUeXBlcyIsImFkZFR5cGUiLCJkZWJ1ZyIsInR5cGVOYW1lIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsInN1cGVyVHlwZXNTdHJpbmciLCJldmVyeSIsInN1cGVyVHlwZVByZXNlbnQiLCJmcm9tVHlwZURlY2xhcmF0aW9uTm9kZSIsInR5cGVEZWNsYXJhdGlvbk5vZGUiLCJUeXBlIiwiZG9tIiwibm9kZSIsIm5vZGVBc1N0cmluZyIsInR5cGVEZWNsYXJhdGlvbiIsIm5hbWUiLCJyZWR1Y2UiLCJvYmplY3RUeXBlIl0sIm1hcHBpbmdzIjoiQUFB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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IG9iamVjdFR5cGUgfSBmcm9tIFwiLi4vdHlwZVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHR5cGVEZWNsYXJhdGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlRGVjbGFyYXRpb25TdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZmllZCA9IHRoaXMudmVyaWZ5U3VwZXJUeXBlcygpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSB0aGlzLnR5cGUuZ2V0U3VwZXJUeXBlcygpO1xuXG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuYWRkVHlwZSh0aGlzLnR5cGUpO1xuXG4gICAgICAgIHZlcmlmaWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlRGVjbGFyYXRpb25TdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlTmFtZX0nIHR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpIHtcbiAgICBsZXQgc3VwZXJUeXBlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGVTdHJpbmdGcm9tU3VwZXJUeXBlKHN1cGVyVHlwZSk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgc3VwZXJUeXBlVmVyaWZpZWQgPSBzdXBlclR5cGVQcmVzZW50OyAvLy9cblxuICAgIGlmIChzdXBlclR5cGVWZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5U3VwZXJUeXBlcygpIHtcbiAgICBsZXQgc3VwZXJUeXBlc1ZlcmlmaWVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgIHN1cGVyVHlwZXMgPSB0aGlzLnR5cGUuZ2V0U3VwZXJUeXBlcygpLFxuICAgICAgICAgIHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMoc3VwZXJUeXBlcyk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVOYW1lfScgdHlwZSdzICR7c3VwZXJUeXBlc1N0cmluZ30gc3VwZXItdHlwZXMuLi5gKTtcblxuICAgIHN1cGVyVHlwZXNWZXJpZmllZCA9IHN1cGVyVHlwZXMuZXZlcnkoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlVmVyaWZpZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoc3VwZXJUeXBlc1ZlcmlmaWVkKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZU5hbWV9JyB0eXBlJ3MgJHtzdXBlclR5cGVzU3RyaW5nfSBzdXBlci10eXBlcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1ZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlR5cGVEZWNsYXJhdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tVHlwZURlY2xhcmF0aW9uTm9kZSh0eXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVHlwZSB9ID0gZG9tLFxuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21UeXBlRGVjbGFyYXRpb25Ob2RlKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBub2RlID0gdHlwZURlY2xhcmF0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHR5cGVEZWNsYXJhdGlvbiA9IG5ldyBUeXBlRGVjbGFyYXRpb24oZmlsZUNvbnRleHQsIHN0cmluZywgdHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZURlY2xhcmF0aW9uO1xuICB9XG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZVN0cmluZ0Zyb21TdXBlclR5cGUoc3VwZXJUeXBlKSB7XG4gIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGVOYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHN1cGVyVHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cGVyVHlwZXNTdHJpbmdGcm9tU3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gIGNvbnN0IHN1cGVyVHlwZXNTdHJpbmcgPSBzdXBlclR5cGVzLnJlZHVjZSgoc3VwZXJUeXBlc1N0cmluZywgc3VwZXJUeXBlKSA9PiB7XG4gICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gc3VwZXJUeXBlU3RyaW5nRnJvbVN1cGVyVHlwZShzdXBlclR5cGUpO1xuXG4gICAgc3VwZXJUeXBlc1N0cmluZyA9IChzdXBlclR5cGVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICBgJyR7c3VwZXJUeXBlU3RyaW5nfSdgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3VwZXJUeXBlc1N0cmluZ30sICcke3N1cGVyVHlwZVN0cmluZ30nYDtcblxuICAgIHJldHVybiBzdXBlclR5cGVzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3VwZXJUeXBlc1N0cmluZztcbn1cblxuIl0sIm5hbWVzIjpbInN1cGVyVHlwZVN0cmluZ0Zyb21TdXBlclR5cGUiLCJzdXBlclR5cGVzU3RyaW5nRnJvbVN1cGVyVHlwZXMiLCJkb21Bc3NpZ25lZCIsIlR5cGVEZWNsYXJhdGlvbiIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwidHlwZSIsImdldEZpbGVDb250ZXh0IiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsInZlcmlmeSIsInZlcmlmaWVkIiwidHlwZURlY2xhcmF0aW9uU3RyaW5nIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwic3VwZXJUeXBlc1ZlcmlmaWVkIiwidmVyaWZ5U3VwZXJUeXBlcyIsInN1cGVyVHlwZXMiLCJnZXRTdXBlclR5cGVzIiwibWFwIiwic3VwZXJUeXBlIiwic3VwZXJUeXBlTmFtZSIsImdldE5hbWUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJzZXRTdXBlclR5cGVzIiwiYWRkVHlwZSIsImRlYnVnIiwidHlwZU5hbWUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwidmVyaWZ5U3VwZXJUeXBlIiwic3VwZXJUeXBlVmVyaWZpZWQiLCJzdXBlclR5cGVTdHJpbmciLCJzdXBlclR5cGVQcmVzZW50Iiwic3VwZXJUeXBlc1N0cmluZyIsImV2ZXJ5IiwiZnJvbVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwiVHlwZSIsImRvbSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJ0eXBlRGVjbGFyYXRpb24iLCJuYW1lIiwicmVkdWNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFPQSxPQXdJRztlQXhJSDs7SUEwSWdCQSw0QkFBNEI7ZUFBNUJBOztJQU9BQyw4QkFBOEI7ZUFBOUJBOzs7MkRBdEpBO29CQUVXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -8,11 +8,21 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _necessary = require("necessary");
|
|
11
12
|
var _dom = /*#__PURE__*/ _interop_require_default(require("../dom"));
|
|
12
13
|
var _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
|
|
13
14
|
var _local = /*#__PURE__*/ _interop_require_default(require("../context/local"));
|
|
14
15
|
var _query = require("../utilities/query");
|
|
16
|
+
var _constants = require("../constants");
|
|
15
17
|
var _name = require("../utilities/name");
|
|
18
|
+
function _array_like_to_array(arr, len) {
|
|
19
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
20
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
21
|
+
return arr2;
|
|
22
|
+
}
|
|
23
|
+
function _array_without_holes(arr) {
|
|
24
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
25
|
+
}
|
|
16
26
|
function _assert_this_initialized(self) {
|
|
17
27
|
if (self === void 0) {
|
|
18
28
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -55,6 +65,22 @@ function _define_property(obj, key, value) {
|
|
|
55
65
|
}
|
|
56
66
|
return obj;
|
|
57
67
|
}
|
|
68
|
+
function _get(target, property, receiver) {
|
|
69
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
70
|
+
_get = Reflect.get;
|
|
71
|
+
} else {
|
|
72
|
+
_get = function get(target, property, receiver) {
|
|
73
|
+
var base = _super_prop_base(target, property);
|
|
74
|
+
if (!base) return;
|
|
75
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
76
|
+
if (desc.get) {
|
|
77
|
+
return desc.get.call(receiver || target);
|
|
78
|
+
}
|
|
79
|
+
return desc.value;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return _get(target, property, receiver || target);
|
|
83
|
+
}
|
|
58
84
|
function _get_prototype_of(o) {
|
|
59
85
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
60
86
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -79,6 +105,12 @@ function _interop_require_default(obj) {
|
|
|
79
105
|
default: obj
|
|
80
106
|
};
|
|
81
107
|
}
|
|
108
|
+
function _iterable_to_array(iter) {
|
|
109
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
110
|
+
}
|
|
111
|
+
function _non_iterable_spread() {
|
|
112
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
113
|
+
}
|
|
82
114
|
function _possible_constructor_return(self, call) {
|
|
83
115
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
84
116
|
return call;
|
|
@@ -92,10 +124,28 @@ function _set_prototype_of(o, p) {
|
|
|
92
124
|
};
|
|
93
125
|
return _set_prototype_of(o, p);
|
|
94
126
|
}
|
|
127
|
+
function _super_prop_base(object, property) {
|
|
128
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
129
|
+
object = _get_prototype_of(object);
|
|
130
|
+
if (object === null) break;
|
|
131
|
+
}
|
|
132
|
+
return object;
|
|
133
|
+
}
|
|
134
|
+
function _to_consumable_array(arr) {
|
|
135
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
136
|
+
}
|
|
95
137
|
function _type_of(obj) {
|
|
96
138
|
"@swc/helpers - typeof";
|
|
97
139
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
98
140
|
}
|
|
141
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
142
|
+
if (!o) return;
|
|
143
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
144
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
145
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
146
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
147
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
148
|
+
}
|
|
99
149
|
function _is_native_reflect_construct() {
|
|
100
150
|
try {
|
|
101
151
|
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
@@ -104,6 +154,7 @@ function _is_native_reflect_construct() {
|
|
|
104
154
|
return !!result;
|
|
105
155
|
})();
|
|
106
156
|
}
|
|
157
|
+
var last = _necessary.arrayUtilities.last;
|
|
107
158
|
var termNodeQuery = (0, _query.nodeQuery)("/term"), typeNodeQuery = (0, _query.nodeQuery)("/type");
|
|
108
159
|
var ConstructorVerifier = /*#__PURE__*/ function(Verifier) {
|
|
109
160
|
_inherits(ConstructorVerifier, Verifier);
|
|
@@ -123,6 +174,29 @@ var ConstructorVerifier = /*#__PURE__*/ function(Verifier) {
|
|
|
123
174
|
termVerifiedAsConstructor = childNodesVerified; ///
|
|
124
175
|
return termVerifiedAsConstructor;
|
|
125
176
|
}
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
key: "verifyTerminalNode",
|
|
180
|
+
value: function verifyTerminalNode(terminalNode) {
|
|
181
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
182
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
183
|
+
}
|
|
184
|
+
var terminalNodeVerified;
|
|
185
|
+
var type = terminalNode.getType();
|
|
186
|
+
if (type === _constants.TYPE_TYPE) {
|
|
187
|
+
var verifyAhead = remainingArguments.pop(), lastRemainingArgument = last(remainingArguments), fileContext = lastRemainingArgument, content = terminalNode.getContent(), typeString = content; ///
|
|
188
|
+
fileContext.debug("The '".concat(typeString, "' type is present in the constructor but has not been declared beforehand."));
|
|
189
|
+
terminalNodeVerified = false;
|
|
190
|
+
remainingArguments.push(verifyAhead);
|
|
191
|
+
} else {
|
|
192
|
+
var _$_get;
|
|
193
|
+
terminalNodeVerified = (_$_get = _get(_get_prototype_of(ConstructorVerifier.prototype), "verifyTerminalNode", this)).call.apply(_$_get, [
|
|
194
|
+
this,
|
|
195
|
+
terminalNode
|
|
196
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
197
|
+
}
|
|
198
|
+
return terminalNodeVerified;
|
|
199
|
+
}
|
|
126
200
|
}
|
|
127
201
|
]);
|
|
128
202
|
return ConstructorVerifier;
|
|
@@ -138,13 +212,15 @@ _define_property(ConstructorVerifier, "maps", [
|
|
|
138
212
|
{
|
|
139
213
|
nodeQuery: typeNodeQuery,
|
|
140
214
|
verify: function(typeNode, fileContext, verifyAhead) {
|
|
141
|
-
var typeVerified
|
|
215
|
+
var typeVerified;
|
|
142
216
|
var typeName = (0, _name.typeNameFromTypeNode)(typeNode), typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
143
217
|
if (typePresent) {
|
|
144
218
|
var verifiedAhead = verifyAhead();
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
219
|
+
typeVerified = verifiedAhead; ///
|
|
220
|
+
} else {
|
|
221
|
+
var typeString = typeName; ///
|
|
222
|
+
fileContext.debug("The '".concat(typeString, "' type is not present."));
|
|
223
|
+
typeVerified = false;
|
|
148
224
|
}
|
|
149
225
|
return typeVerified;
|
|
150
226
|
}
|
|
@@ -153,4 +229,4 @@ _define_property(ConstructorVerifier, "maps", [
|
|
|
153
229
|
var constructorVerifier = new ConstructorVerifier();
|
|
154
230
|
var _default = constructorVerifier;
|
|
155
231
|
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9jb25zdHJ1Y3Rvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IFZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllclwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9sb2NhbFwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBUWVBFX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvbmFtZVwiO1xuXG5jb25zdCB7IGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVcIik7XG5cbmNsYXNzIENvbnN0cnVjdG9yVmVyaWZpZXIgZXh0ZW5kcyBWZXJpZmllciB7XG4gIHZlcmlmeVRlcm0odGVybU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgbGV0IHRlcm1WZXJpZmllZEFzQ29uc3RydWN0b3I7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0ZXJtTm9kZSwgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmaWVkID0gdGhpcy52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIGZpbGVDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gY2hpbGROb2Rlc1ZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIHZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IHR5cGUgPSB0ZXJtaW5hbE5vZGUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHR5cGUgPT09IFRZUEVfVFlQRSkge1xuICAgICAgY29uc3QgdmVyaWZ5QWhlYWQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksIC8vL1xuICAgICAgICAgICAgbGFzdFJlbWFpbmluZ0FyZ3VtZW50ID0gbGFzdChyZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgICAgZmlsZUNvbnRleHQgPSBsYXN0UmVtYWluaW5nQXJndW1lbnQsICAvLy9cbiAgICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgdHlwZVN0cmluZyA9IGNvbnRlbnQ7IC8vL1xuXG4gICAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3R5cGVTdHJpbmd9JyB0eXBlIGlzIHByZXNlbnQgaW4gdGhlIGNvbnN0cnVjdG9yIGJ1dCBoYXMgbm90IGJlZW4gZGVjbGFyZWQgYmVmb3JlaGFuZC5gKTtcblxuICAgICAgdGVybWluYWxOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICAgICAgcmVtYWluaW5nQXJndW1lbnRzLnB1c2godmVyaWZ5QWhlYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgc3RhdGljIG1hcHMgPSBbXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodGVybU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRlcm0gfSA9IGRvbSxcbiAgICAgICAgICAgICAgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCksXG4gICAgICAgICAgICAgIGNvbnRleHQgPSBsb2NhbENvbnRleHQsIC8vL1xuICAgICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGUodGVybU5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgICB0ZXJtVmVyaWZpZWQgPSB0ZXJtLnZlcmlmeShsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICByZXR1cm4gdGVybVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0eXBlTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodHlwZU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCkgPT4ge1xuICAgICAgICBsZXQgdHlwZVZlcmlmaWVkO1xuXG4gICAgICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgICB0eXBlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgICAgIHR5cGVWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlTmFtZTsgIC8vL1xuXG4gICAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBub3QgcHJlc2VudC5gKTtcblxuICAgICAgICAgIHR5cGVWZXJpZmllZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IGNvbnN0cnVjdG9yVmVyaWZpZXIgPSBuZXcgQ29uc3RydWN0b3JWZXJpZmllcigpO1xuXG5leHBvcnQgZGVmYXVsdCBjb25zdHJ1Y3RvclZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbImxhc3QiLCJhcnJheVV0aWxpdGllcyIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwiQ29uc3RydWN0b3JWZXJpZmllciIsInZlcmlmeVRlcm0iLCJ0ZXJtTm9kZSIsImZpbGVDb250ZXh0IiwidGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvciIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc1ZlcmlmaWVkIiwidmVyaWZ5Q2hpbGROb2RlcyIsInZlcmlmaWVkQWhlYWQiLCJ2ZXJpZnlUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInR5cGUiLCJnZXRUeXBlIiwiVFlQRV9UWVBFIiwidmVyaWZ5QWhlYWQiLCJwb3AiLCJsYXN0UmVtYWluaW5nQXJndW1lbnQiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInR5cGVTdHJpbmciLCJkZWJ1ZyIsInB1c2giLCJWZXJpZmllciIsIm1hcHMiLCJ2ZXJpZnkiLCJUZXJtIiwiZG9tIiwibG9jYWxDb250ZXh0IiwiTG9jYWxDb250ZXh0IiwiZnJvbUZpbGVDb250ZXh0IiwiY29udGV4dCIsInRlcm0iLCJmcm9tVGVybU5vZGUiLCJ0ZXJtVmVyaWZpZWQiLCJ0eXBlTm9kZSIsInR5cGVWZXJpZmllZCIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJ0eXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwiY29uc3RydWN0b3JWZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBbUdBOzs7ZUFBQTs7O3lCQWpHK0I7MERBRWY7K0RBQ0s7NERBQ0k7cUJBRUM7eUJBQ0E7b0JBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJDLElBQU0sQUFBRUEsT0FBU0MseUJBQWMsQ0FBdkJEO0FBRVIsSUFBTUUsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLFVBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFaEMsSUFBQSxBQUFNRSxvQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7ZUFBTixrQkFBTUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdDLFFBQVEsRUFBRUMsV0FBVztnQkFDOUIsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCSCxVQUNsQkksYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxxQkFBcUIsSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQ0gsWUFBWUgsYUFBYTtvQkFDbEUsSUFBTU8sZ0JBQWdCO29CQUV0QixPQUFPQTtnQkFDVDtnQkFFTk4sNEJBQTRCSSxvQkFBcUIsR0FBRztnQkFFcEQsT0FBT0o7WUFDVDs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQSxtQkFBbUJDLFlBQVk7Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDcEQsSUFBSUM7Z0JBRUosSUFBTUMsT0FBT0gsYUFBYUksT0FBTztnQkFFakMsSUFBSUQsU0FBU0Usb0JBQVMsRUFBRTtvQkFDdEIsSUFBTUMsY0FBY0wsbUJBQW1CTSxHQUFHLElBQ3BDQyx3QkFBd0J6QixLQUFLa0IscUJBQzdCVixjQUFjaUIsdUJBQ2RDLFVBQVVULGFBQWFVLFVBQVUsSUFDakNDLGFBQWFGLFNBQVMsR0FBRztvQkFFL0JsQixZQUFZcUIsS0FBSyxDQUFDLEFBQUMsUUFBa0IsT0FBWEQsWUFBVztvQkFFckNULHVCQUF1QjtvQkFFdkJELG1CQUFtQlksSUFBSSxDQUFDUDtnQkFDMUIsT0FBTzt3QkFDa0I7b0JBQXZCSix3QkFBdUIsU0FBQSx1QkFuQ3ZCZCxnQ0FtQzZCVyxzQkFBTixJQUFLLGNBQUw7O3dCQUF5QkM7NkJBQWMscUJBQUdDO2dCQUNuRTtnQkFFQSxPQUFPQztZQUNUOzs7V0F2Q0lkO0VBQTRCMEIsaUJBQVE7QUF5Q3hDLGlCQXpDSTFCLHFCQXlDRzJCLFFBQU87SUFDWjtRQUNFN0IsV0FBV0Q7UUFDWCtCLFFBQVEsU0FBQzFCLFVBQVVDLGFBQWFlO1lBQzlCLElBQU0sQUFBRVcsT0FBU0MsWUFBRyxDQUFaRCxNQUNGRSxlQUFlQyxjQUFZLENBQUNDLGVBQWUsQ0FBQzlCLGNBQzVDK0IsVUFBVUgsY0FDVkksT0FBT04sS0FBS08sWUFBWSxDQUFDbEMsVUFBVWdDLFVBQ25DRyxlQUFlRixLQUFLUCxNQUFNLENBQUNHLGNBQWNiO1lBRS9DLE9BQU9tQjtRQUNUO0lBQ0Y7SUFDQTtRQUNFdkMsV0FBV0M7UUFDWDZCLFFBQVEsU0FBQ1UsVUFBVW5DLGFBQWFlO1lBQzlCLElBQUlxQjtZQUVKLElBQU1DLFdBQVdDLElBQUFBLDBCQUFvQixFQUFDSCxXQUNoQ0ksY0FBY3ZDLFlBQVl3Qyx1QkFBdUIsQ0FBQ0g7WUFFeEQsSUFBSUUsYUFBYTtnQkFDZixJQUFNaEMsZ0JBQWdCUTtnQkFFdEJxQixlQUFlN0IsZUFBZSxHQUFHO1lBQ25DLE9BQU87Z0JBQ0wsSUFBTWEsYUFBYWlCLFVBQVcsR0FBRztnQkFFakNyQyxZQUFZcUIsS0FBSyxDQUFDLEFBQUMsUUFBa0IsT0FBWEQsWUFBVztnQkFFckNnQixlQUFlO1lBQ2pCO1lBRUEsT0FBT0E7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNSyxzQkFBc0IsSUFBSTVDO0lBRWhDLFdBQWU0QyJ9
|
package/package.json
CHANGED
package/src/constants.js
CHANGED
|
@@ -4,6 +4,7 @@ export const S = "s";
|
|
|
4
4
|
export const NOTHING = "";
|
|
5
5
|
export const MISSING = "missing";
|
|
6
6
|
export const FUNCTION = "function";
|
|
7
|
+
export const TYPE_TYPE = "type";
|
|
7
8
|
export const UNDEFINED = "undefined";
|
|
8
9
|
export const SATISFYING = "Satisfying";
|
|
9
10
|
export const PROVISIONAL = "Provisional";
|
|
@@ -125,7 +125,7 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
125
125
|
if (superTypeProperty !== null) {
|
|
126
126
|
const superTypePropertyString = superTypeProperty.getString();
|
|
127
127
|
|
|
128
|
-
this.fileContext.debug(`The '${propertyString}' property matches the super
|
|
128
|
+
this.fileContext.debug(`The '${propertyString}' property matches the super-type's '${superTypePropertyString}' property.`);
|
|
129
129
|
} else {
|
|
130
130
|
let propertyType;
|
|
131
131
|
|
|
@@ -186,11 +186,11 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
186
186
|
if (superTypesString !== null) {
|
|
187
187
|
const typeName = this.type.getString();
|
|
188
188
|
|
|
189
|
-
this.fileContext.trace(`Verifying the '${typeName}' type's ${superTypesString} super
|
|
189
|
+
this.fileContext.trace(`Verifying the '${typeName}' type's ${superTypesString} super-types...`);
|
|
190
190
|
|
|
191
191
|
superTypesVerified = superTypes.every((superType) => {
|
|
192
192
|
const superTypeName = superType.getName(),
|
|
193
|
-
|
|
193
|
+
superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
194
194
|
|
|
195
195
|
if (superTypePresent) {
|
|
196
196
|
return true;
|
|
@@ -198,7 +198,7 @@ export default domAssigned(class ComplexTypeDeclaration {
|
|
|
198
198
|
});
|
|
199
199
|
|
|
200
200
|
if (superTypesVerified) {
|
|
201
|
-
this.fileContext.debug(`...verified the '${typeName}' type's ${superTypesString} super
|
|
201
|
+
this.fileContext.debug(`...verified the '${typeName}' type's ${superTypesString} super-types.`);
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
|
|
@@ -86,29 +86,45 @@ export default domAssigned(class TypeDeclaration {
|
|
|
86
86
|
return typeVerified;
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
+
verifySuperType(superType) {
|
|
90
|
+
let superTypeVerified;
|
|
91
|
+
|
|
92
|
+
const typeName = this.type.getString(),
|
|
93
|
+
superTypeString = superTypeStringFromSuperType(superType);
|
|
94
|
+
|
|
95
|
+
this.fileContext.trace(`Verifying the '${typeName}' type's '${superTypeString}' super-type...`);
|
|
96
|
+
|
|
97
|
+
const superTypeName = superType.getName(),
|
|
98
|
+
superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
99
|
+
|
|
100
|
+
superTypeVerified = superTypePresent; ///
|
|
101
|
+
|
|
102
|
+
if (superTypeVerified) {
|
|
103
|
+
this.fileContext.debug(`...verified the '${typeName}' type's '${superTypeString}' super-type.`);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return superTypeVerified;
|
|
107
|
+
}
|
|
108
|
+
|
|
89
109
|
verifySuperTypes() {
|
|
90
110
|
let superTypesVerified = true;
|
|
91
111
|
|
|
92
|
-
const
|
|
112
|
+
const typeName = this.type.getString(),
|
|
113
|
+
superTypes = this.type.getSuperTypes(),
|
|
93
114
|
superTypesString = superTypesStringFromSuperTypes(superTypes);
|
|
94
115
|
|
|
95
|
-
|
|
96
|
-
const typeName = this.type.getString();
|
|
116
|
+
this.fileContext.trace(`Verifying the '${typeName}' type's ${superTypesString} super-types...`);
|
|
97
117
|
|
|
98
|
-
|
|
118
|
+
superTypesVerified = superTypes.every((superType) => {
|
|
119
|
+
const superTypeVerified = this.verifySuperType(superType);
|
|
99
120
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
superTypePresent = this.fileContext.isTypePresentByTypeName(superTypeName);
|
|
103
|
-
|
|
104
|
-
if (superTypePresent) {
|
|
105
|
-
return true;
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
if (superTypesVerified) {
|
|
110
|
-
this.fileContext.debug(`...verified the '${typeName}' type's ${superTypesString} super types.`);
|
|
121
|
+
if (superTypeVerified) {
|
|
122
|
+
return true;
|
|
111
123
|
}
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
if (superTypesVerified) {
|
|
127
|
+
this.fileContext.debug(`...verified the '${typeName}' type's ${superTypesString} super-types.`);
|
|
112
128
|
}
|
|
113
129
|
|
|
114
130
|
return superTypesVerified;
|
|
@@ -127,15 +143,20 @@ export default domAssigned(class TypeDeclaration {
|
|
|
127
143
|
}
|
|
128
144
|
});
|
|
129
145
|
|
|
146
|
+
export function superTypeStringFromSuperType(superType) {
|
|
147
|
+
const superTypeName = superType.getName(),
|
|
148
|
+
superTypeString = superTypeName; ///
|
|
149
|
+
|
|
150
|
+
return superTypeString;
|
|
151
|
+
}
|
|
152
|
+
|
|
130
153
|
export function superTypesStringFromSuperTypes(superTypes) {
|
|
131
154
|
const superTypesString = superTypes.reduce((superTypesString, superType) => {
|
|
132
|
-
|
|
133
|
-
const superTypeName = superType.getName();
|
|
155
|
+
const superTypeString = superTypeStringFromSuperType(superType);
|
|
134
156
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
157
|
+
superTypesString = (superTypesString === null) ?
|
|
158
|
+
`'${superTypeString}'` :
|
|
159
|
+
`${superTypesString}, '${superTypeString}'`;
|
|
139
160
|
|
|
140
161
|
return superTypesString;
|
|
141
162
|
}, null);
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { arrayUtilities } from "necessary";
|
|
4
|
+
|
|
3
5
|
import dom from "../dom";
|
|
4
6
|
import Verifier from "../verifier";
|
|
5
7
|
import LocalContext from "../context/local";
|
|
6
8
|
|
|
7
9
|
import { nodeQuery } from "../utilities/query";
|
|
10
|
+
import { TYPE_TYPE } from "../constants";
|
|
8
11
|
import { typeNameFromTypeNode } from "../utilities/name";
|
|
9
12
|
|
|
13
|
+
const { last } = arrayUtilities;
|
|
14
|
+
|
|
10
15
|
const termNodeQuery = nodeQuery("/term"),
|
|
11
16
|
typeNodeQuery = nodeQuery("/type");
|
|
12
17
|
|
|
@@ -27,6 +32,30 @@ class ConstructorVerifier extends Verifier {
|
|
|
27
32
|
return termVerifiedAsConstructor;
|
|
28
33
|
}
|
|
29
34
|
|
|
35
|
+
verifyTerminalNode(terminalNode, ...remainingArguments) {
|
|
36
|
+
let terminalNodeVerified;
|
|
37
|
+
|
|
38
|
+
const type = terminalNode.getType();
|
|
39
|
+
|
|
40
|
+
if (type === TYPE_TYPE) {
|
|
41
|
+
const verifyAhead = remainingArguments.pop(), ///
|
|
42
|
+
lastRemainingArgument = last(remainingArguments),
|
|
43
|
+
fileContext = lastRemainingArgument, ///
|
|
44
|
+
content = terminalNode.getContent(),
|
|
45
|
+
typeString = content; ///
|
|
46
|
+
|
|
47
|
+
fileContext.debug(`The '${typeString}' type is present in the constructor but has not been declared beforehand.`);
|
|
48
|
+
|
|
49
|
+
terminalNodeVerified = false;
|
|
50
|
+
|
|
51
|
+
remainingArguments.push(verifyAhead);
|
|
52
|
+
} else {
|
|
53
|
+
terminalNodeVerified = super.verifyTerminalNode(terminalNode, ...remainingArguments);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return terminalNodeVerified;
|
|
57
|
+
}
|
|
58
|
+
|
|
30
59
|
static maps = [
|
|
31
60
|
{
|
|
32
61
|
nodeQuery: termNodeQuery,
|
|
@@ -43,7 +72,7 @@ class ConstructorVerifier extends Verifier {
|
|
|
43
72
|
{
|
|
44
73
|
nodeQuery: typeNodeQuery,
|
|
45
74
|
verify: (typeNode, fileContext, verifyAhead) => {
|
|
46
|
-
let typeVerified
|
|
75
|
+
let typeVerified;
|
|
47
76
|
|
|
48
77
|
const typeName = typeNameFromTypeNode(typeNode),
|
|
49
78
|
typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
@@ -51,9 +80,13 @@ class ConstructorVerifier extends Verifier {
|
|
|
51
80
|
if (typePresent) {
|
|
52
81
|
const verifiedAhead = verifyAhead();
|
|
53
82
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
83
|
+
typeVerified = verifiedAhead; ///
|
|
84
|
+
} else {
|
|
85
|
+
const typeString = typeName; ///
|
|
86
|
+
|
|
87
|
+
fileContext.debug(`The '${typeString}' type is not present.`);
|
|
88
|
+
|
|
89
|
+
typeVerified = false;
|
|
57
90
|
}
|
|
58
91
|
|
|
59
92
|
return typeVerified;
|