occam-verify-cli 0.0.519 → 0.0.520
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/type.js +12 -13
- package/lib/verify/term.js +10 -7
- package/package.json +1 -1
- package/src/type.js +17 -15
- package/src/verify/term.js +13 -9
package/lib/type.js
CHANGED
|
@@ -196,8 +196,7 @@ var Type = /*#__PURE__*/ function() {
|
|
|
196
196
|
},
|
|
197
197
|
{
|
|
198
198
|
key: "asString",
|
|
199
|
-
value: function asString() {
|
|
200
|
-
var noSuperType = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.superType === null;
|
|
199
|
+
value: function asString(noSuperType) {
|
|
201
200
|
var string;
|
|
202
201
|
if (noSuperType) {
|
|
203
202
|
string = "".concat(this.name);
|
|
@@ -211,7 +210,7 @@ var Type = /*#__PURE__*/ function() {
|
|
|
211
210
|
{
|
|
212
211
|
key: "toJSON",
|
|
213
212
|
value: function toJSON() {
|
|
214
|
-
var superTypeJSON = this.superType
|
|
213
|
+
var superTypeJSON = this.superType.toJSON(), kind = _kinds.TYPE_KIND, name = this.name, superType = superTypeJSON, json = {
|
|
215
214
|
kind: kind,
|
|
216
215
|
name: name,
|
|
217
216
|
superType: superType
|
|
@@ -223,16 +222,12 @@ var Type = /*#__PURE__*/ function() {
|
|
|
223
222
|
{
|
|
224
223
|
key: "fromJSON",
|
|
225
224
|
value: function fromJSON(json, releaseContext) {
|
|
226
|
-
var
|
|
225
|
+
var type;
|
|
227
226
|
var superType = json.superType;
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
var superTypeName = superType.getName();
|
|
233
|
-
superType = releaseContext.findTypeByTypeName(superTypeName); ///
|
|
234
|
-
}
|
|
235
|
-
var type = new Type(name, superType);
|
|
227
|
+
var superTypeJSON = superType; ///
|
|
228
|
+
superType = superTypeFromSuperTypeJSON(superTypeJSON, releaseContext);
|
|
229
|
+
var name = json.name;
|
|
230
|
+
type = new Type(name, superType);
|
|
236
231
|
return type;
|
|
237
232
|
}
|
|
238
233
|
},
|
|
@@ -272,5 +267,9 @@ var ObjectType = /*#__PURE__*/ function(Type) {
|
|
|
272
267
|
return ObjectType;
|
|
273
268
|
}(Type);
|
|
274
269
|
var objectType = ObjectType.fromNothing();
|
|
270
|
+
function superTypeFromSuperTypeJSON(superTypeJSON, releaseContext) {
|
|
271
|
+
var json = superTypeJSON, name = json.name, superType = name === _typeNames.OBJECT_TYPE_NAME ? objectType : Type.fromJSON(json, releaseContext);
|
|
272
|
+
return superType;
|
|
273
|
+
}
|
|
275
274
|
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBUWVBFX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSAodGhpcyA9PT0gdHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGlzU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3ViVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdGhpcy5zdXBlclR5cGU7XG5cbiAgICB3aGlsZSAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAoc3VwZXJUeXBlID09PSB0eXBlKSB7XG4gICAgICAgIHN1YlR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViVHlwZU9mO1xuICB9XG5cbiAgaXNTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdHlwZS5nZXRTdXBlclR5cGUoKTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHRoaXMpIHtcbiAgICAgICAgc3VwZXJUeXBlT2YgPSB0cnVlO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGUuZ2V0U3VwZXJUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1YlR5cGVPZiA9IChlcXVhbFRvVHlwZSB8fCBzdWJUeXBlT2ZUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvVHlwZU9yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUb1R5cGUgPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZlR5cGUgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mID0gKGVxdWFsVG9UeXBlIHx8IHN1cGVyVHlwZU9mVHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mO1xuICB9XG5cbiAgbWF0Y2godHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2ZUeXBlID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXMgPSAoZXF1YWxUb1R5cGUgfHwgc3ViVHlwZU9mVHlwZSB8fCBzdXBlclR5cGVPZlR5cGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc1R5cGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNUeXBlTmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKG5vU3VwZXJUeXBlID0gKHRoaXMuc3VwZXJUeXBlID09PSBudWxsKSkge1xuICAgIGxldCBzdHJpbmc7XG5cbiAgICBpZiAobm9TdXBlclR5cGUpIHtcbiAgICAgIHN0cmluZyA9IGAke3RoaXMubmFtZX1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVOYW1lID0gdGhpcy5zdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9OiR7c3VwZXJUeXBlTmFtZX1gO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3Qgc3VwZXJUeXBlSlNPTiA9ICh0aGlzLnN1cGVyVHlwZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdXBlclR5cGUudG9KU09OKCksXG4gICAgICAgICAga2luZCA9IFRZUEVfS0lORCxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IG5hbWUgfSA9IGpzb247XG5cbiAgICBsZXQgeyBzdXBlclR5cGUgfSA9IGpzb247XG5cbiAgICBpZiAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVKU09OID0gc3VwZXJUeXBlOyAgLy8vXG5cbiAgICAgIGpzb24gPSBzdXBlclR5cGVKU09OOyAvLy9cblxuICAgICAgc3VwZXJUeXBlID0gVHlwZS5mcm9tSlNPTihqc29uLCByZWxlYXNlQ29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBzdXBlclR5cGUgPSByZWxlYXNlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoc3VwZXJUeXBlTmFtZSk7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gb2JqZWN0VHlwZSwgLy8vXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSkge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn1cblxuY2xhc3MgT2JqZWN0VHlwZSBleHRlbmRzIFR5cGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuIl0sIm5hbWVzIjpbIlR5cGUiLCJvYmplY3RUeXBlIiwibmFtZSIsInN1cGVyVHlwZSIsImdldE5hbWUiLCJnZXRTdXBlclR5cGUiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwiaXNTdXBlclR5cGVPZiIsInN1cGVyVHlwZU9mIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJlcXVhbFRvVHlwZSIsInN1YlR5cGVPZlR5cGUiLCJlcXVhbFRvVHlwZU9yU3ViVHlwZU9mIiwiaXNFcXVhbFRvT3JTdXBlclR5cGVPZiIsInN1cGVyVHlwZU9mVHlwZSIsImVxdWFsVG9UeXBlT3JTdXBlclR5cGVPZiIsIm1hdGNoIiwibWF0Y2hlcyIsIm1hdGNoTmFtZSIsIm1hdGNoZXNOYW1lIiwibWF0Y2hUeXBlTmFtZSIsInR5cGVOYW1lIiwibWF0Y2hlc1R5cGVOYW1lIiwiYXNTdHJpbmciLCJub1N1cGVyVHlwZSIsInN0cmluZyIsInN1cGVyVHlwZU5hbWUiLCJ0b0pTT04iLCJzdXBlclR5cGVKU09OIiwia2luZCIsIlRZUEVfS0lORCIsImpzb24iLCJmcm9tSlNPTiIsInJlbGVhc2VDb250ZXh0IiwiZmluZFR5cGVCeVR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiT2JqZWN0VHlwZSIsImZyb21Ob3RoaW5nIiwiT0JKRUNUX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztlQUtxQkE7O0lBMktSQyxVQUFVO2VBQVZBOzs7cUJBOUthO3lCQUNPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsQixJQUFBLEFBQU1ELHFCQWlLbEIsQUFqS1k7YUFBTUEsS0FDUEUsSUFBSSxFQUFFQyxTQUFTOzhCQURSSDtRQUVqQixJQUFJLENBQUNFLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFNBQVMsR0FBR0E7O2lCQUhBSDs7WUFNbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLGVBQWU7Z0JBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFDdkI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsSUFBSSxFQUFFO2dCQUNkLElBQU1DLFVBQVcsSUFBSSxLQUFLRDtnQkFFMUIsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxZQUFZRixJQUFJLEVBQUU7Z0JBQ2hCLElBQUlHLFlBQVksS0FBSztnQkFFckIsSUFBSVAsWUFBWSxJQUFJLENBQUNBLFNBQVM7Z0JBRTlCLE1BQU9BLGNBQWMsSUFBSSxDQUFFO29CQUN6QixJQUFJQSxjQUFjSSxNQUFNO3dCQUN0QkcsWUFBWSxJQUFJO3dCQUVoQixLQUFNO29CQUNSLENBQUM7b0JBRURQLFlBQVlBLFVBQVVFLFlBQVk7Z0JBQ3BDO2dCQUVBLE9BQU9LO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0osSUFBSSxFQUFFO2dCQUNsQixJQUFJSyxjQUFjLEtBQUs7Z0JBRXZCLElBQUlULFlBQVlJLEtBQUtGLFlBQVk7Z0JBRWpDLE1BQU9GLGNBQWMsSUFBSSxDQUFFO29CQUN6QixJQUFJQSxjQUFjLElBQUksRUFBRTt3QkFDdEJTLGNBQWMsSUFBSTt3QkFFbEIsS0FBTTtvQkFDUixDQUFDO29CQUVEVCxZQUFZQSxVQUFVRSxZQUFZO2dCQUNwQztnQkFFQSxPQUFPTztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLHFCQUFxQk4sSUFBSSxFQUFFO2dCQUN6QixJQUFNTyxjQUFjLElBQUksQ0FBQ1IsU0FBUyxDQUFDQyxPQUM3QlEsZ0JBQWdCLElBQUksQ0FBQ04sV0FBVyxDQUFDRixPQUNqQ1MseUJBQTBCRixlQUFlQztnQkFFL0MsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSx1QkFBdUJWLElBQUksRUFBRTtnQkFDM0IsSUFBTU8sY0FBYyxJQUFJLENBQUNSLFNBQVMsQ0FBQ0MsT0FDN0JXLGtCQUFrQixJQUFJLENBQUNQLGFBQWEsQ0FBQ0osT0FDckNZLDJCQUE0QkwsZUFBZUk7Z0JBRWpELE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTWIsSUFBSSxFQUFFO2dCQUNWLElBQU1PLGNBQWMsSUFBSSxDQUFDUixTQUFTLENBQUNDLE9BQzdCUSxnQkFBZ0IsSUFBSSxDQUFDTixXQUFXLENBQUNGLE9BQ2pDVyxrQkFBa0IsSUFBSSxDQUFDUCxhQUFhLENBQUNKLE9BQ3JDYyxVQUFXUCxlQUFlQyxpQkFBaUJHO2dCQUVqRCxPQUFPRztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVwQixJQUFJLEVBQUU7Z0JBQ2QsSUFBTXFCLGNBQWUsSUFBSSxDQUFDckIsSUFBSSxLQUFLQTtnQkFFbkMsT0FBT3FCO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0MsUUFBUSxFQUFFO2dCQUN0QixJQUFNQyxrQkFBbUIsSUFBSSxDQUFDeEIsSUFBSSxLQUFLdUI7Z0JBRXZDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsV0FBa0Q7b0JBQXpDQyxjQUFBQSxpRUFBZSxJQUFJLENBQUN6QixTQUFTLEtBQUssSUFBSSxBQUFDO2dCQUM5QyxJQUFJMEI7Z0JBRUosSUFBSUQsYUFBYTtvQkFDZkMsU0FBUyxBQUFDLEdBQVksT0FBVixJQUFJLENBQUMzQixJQUFJO2dCQUN2QixPQUFPO29CQUNMLElBQU00QixnQkFBZ0IsSUFBSSxDQUFDM0IsU0FBUyxDQUFDQyxPQUFPO29CQUU1Q3lCLFNBQVMsQUFBQyxHQUFlQyxPQUFiLElBQUksQ0FBQzVCLElBQUksRUFBQyxLQUFpQixPQUFkNEI7Z0JBQzNCLENBQUM7Z0JBRUQsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTO2dCQUNQLElBQU1DLGdCQUFnQixBQUFDLElBQUksQ0FBQzdCLFNBQVMsS0FBSyxJQUFJLEdBQ3RCLElBQUksR0FDRixJQUFJLENBQUNBLFNBQVMsQ0FBQzRCLE1BQU0sRUFBRSxFQUMzQ0UsT0FBT0MsZ0JBQVMsRUFDaEJoQyxPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQkMsWUFBWTZCLGVBQ1pHLE9BQU87b0JBQ0xGLE1BQUFBO29CQUNBL0IsTUFBQUE7b0JBQ0FDLFdBQUFBO2dCQUNGO2dCQUVOLE9BQU9nQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsY0FBYyxFQUFFO2dCQUNwQyxJQUFNLEFBQUVuQyxPQUFTaUMsS0FBVGpDO2dCQUVSLElBQUksQUFBRUMsWUFBY2dDLEtBQWRoQztnQkFFTixJQUFJQSxjQUFjLElBQUksRUFBRTtvQkFDdEIsSUFBTTZCLGdCQUFnQjdCLFdBQVksR0FBRztvQkFFckNnQyxPQUFPSCxlQUFlLEdBQUc7b0JBRXpCN0IsWUFBWUgsQUFySUdBLEtBcUlFb0MsUUFBUSxDQUFDRCxNQUFNRTtvQkFFaEMsSUFBTVAsZ0JBQWdCM0IsVUFBVUMsT0FBTztvQkFFdkNELFlBQVlrQyxlQUFlQyxrQkFBa0IsQ0FBQ1IsZ0JBQWdCLEdBQUc7Z0JBQ25FLENBQUM7Z0JBRUQsSUFBTXZCLE9BQU8sSUE1SUlQLEtBNElLRSxNQUFNQztnQkFFNUIsT0FBT0k7WUFDVDs7O1lBRU9nQyxLQUFBQTttQkFBUCxTQUFPQSxhQUFhZCxRQUFRLEVBQUU7Z0JBQzVCLElBQU12QixPQUFPdUIsVUFDUHRCLFlBQVlGLFlBQ1pNLE9BQU8sSUFwSklQLEtBb0pLRSxNQUFNQztnQkFFNUIsT0FBT0k7WUFDVDs7O1lBRU9pQyxLQUFBQTttQkFBUCxTQUFPQSx5QkFBeUJmLFFBQVEsRUFBRXRCLFNBQVMsRUFBRTtnQkFDbkQsSUFBTUQsT0FBT3VCLFVBQ1BsQixPQUFPLElBM0pJUCxLQTJKS0UsTUFBTUM7Z0JBRTVCLE9BQU9JO1lBQ1Q7OztXQTlKbUJQOztBQWlLckIsSUFBQSxBQUFNeUMsMkJBVUgsQUFWSDtjQUFNQTs4QkFBQUE7YUFBQUE7OEJBQUFBOzs7aUJBQUFBOztZQUNHQyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjO2dCQUNuQixJQUFNeEMsT0FBT3lDLDJCQUFnQixFQUN2QnhDLFlBQVksSUFBSSxFQUNoQkYsYUFBYSxJQUpqQndDLFdBSWdDdkMsTUFBTUM7Z0JBRXhDLE9BQU9GO1lBQ1Q7OztXQVBJd0M7RUFBbUJ6QztBQVVsQixJQUFNQyxhQUFhd0MsV0FBV0MsV0FBVyJ9
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBUWVBFX0tJTkQgfSBmcm9tIFwiLi9raW5kc1wiO1xuaW1wb3J0IHsgT0JKRUNUX1RZUEVfTkFNRSB9IGZyb20gXCIuL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgc3VwZXJUeXBlKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnN1cGVyVHlwZSA9IHN1cGVyVHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSAodGhpcyA9PT0gdHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGlzU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3ViVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdGhpcy5zdXBlclR5cGU7XG5cbiAgICB3aGlsZSAoc3VwZXJUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAoc3VwZXJUeXBlID09PSB0eXBlKSB7XG4gICAgICAgIHN1YlR5cGVPZiA9IHRydWU7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZS5nZXRTdXBlclR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViVHlwZU9mO1xuICB9XG5cbiAgaXNTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZU9mID0gZmFsc2U7XG5cbiAgICBsZXQgc3VwZXJUeXBlID0gdHlwZS5nZXRTdXBlclR5cGUoKTtcblxuICAgIHdoaWxlIChzdXBlclR5cGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChzdXBlclR5cGUgPT09IHRoaXMpIHtcbiAgICAgICAgc3VwZXJUeXBlT2YgPSB0cnVlO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBzdXBlclR5cGUgPSBzdXBlclR5cGUuZ2V0U3VwZXJUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1cGVyVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1YlR5cGVPZiA9IChlcXVhbFRvVHlwZSB8fCBzdWJUeXBlT2ZUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvVHlwZU9yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUb1R5cGUgPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZlR5cGUgPSB0aGlzLmlzU3VwZXJUeXBlT2YodHlwZSksXG4gICAgICAgICAgZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mID0gKGVxdWFsVG9UeXBlIHx8IHN1cGVyVHlwZU9mVHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mO1xuICB9XG5cbiAgbWF0Y2godHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG9UeXBlID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mVHlwZSA9IHRoaXMuaXNTdWJUeXBlT2YodHlwZSksXG4gICAgICAgICAgc3VwZXJUeXBlT2ZUeXBlID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIG1hdGNoZXMgPSAoZXF1YWxUb1R5cGUgfHwgc3ViVHlwZU9mVHlwZSB8fCBzdXBlclR5cGVPZlR5cGUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG1hdGNoZXNOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbWF0Y2hlc05hbWU7XG4gIH1cblxuICBtYXRjaFR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbWF0Y2hlc1R5cGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNUeXBlTmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKG5vU3VwZXJUeXBlKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGlmIChub1N1cGVyVHlwZSkge1xuICAgICAgc3RyaW5nID0gYCR7dGhpcy5uYW1lfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSB0aGlzLnN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIHN0cmluZyA9IGAke3RoaXMubmFtZX06JHtzdXBlclR5cGVOYW1lfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBzdXBlclR5cGVKU09OID0gdGhpcy5zdXBlclR5cGUudG9KU09OKCksXG4gICAgICAgICAga2luZCA9IFRZUEVfS0lORCxcbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUpTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAga2luZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBzdXBlclR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGxldCB7IHN1cGVyVHlwZSB9ID0ganNvbjtcblxuICAgIGNvbnN0IHN1cGVyVHlwZUpTT04gPSBzdXBlclR5cGU7ICAvLy9cblxuICAgIHN1cGVyVHlwZSA9IHN1cGVyVHlwZUZyb21TdXBlclR5cGVKU09OKHN1cGVyVHlwZUpTT04sIHJlbGVhc2VDb250ZXh0KTtcblxuICAgIGNvbnN0IHsgbmFtZSB9ID0ganNvbjtcblxuICAgIHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lKHR5cGVOYW1lKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlID0gb2JqZWN0VHlwZSwgLy8vXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKG5hbWUsIHN1cGVyVHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSkge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShuYW1lLCBzdXBlclR5cGUpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cbn1cblxuY2xhc3MgT2JqZWN0VHlwZSBleHRlbmRzIFR5cGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3VwZXJUeXBlID0gbnVsbCxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUobmFtZSwgc3VwZXJUeXBlKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuXG5mdW5jdGlvbiBzdXBlclR5cGVGcm9tU3VwZXJUeXBlSlNPTihzdXBlclR5cGVKU09OLCByZWxlYXNlQ29udGV4dCkge1xuICBjb25zdCBqc29uID0gc3VwZXJUeXBlSlNPTiwgLy8vXG4gICAgICAgIHsgbmFtZSB9ID0ganNvbixcbiAgICAgICAgc3VwZXJUeXBlID0gKG5hbWUgPT09IE9CSkVDVF9UWVBFX05BTUUpID9cbiAgICAgICAgICBvYmplY3RUeXBlIDpcbiAgICAgICAgICAgIFR5cGUuZnJvbUpTT04oanNvbiwgcmVsZWFzZUNvbnRleHQpO1xuXG4gIHJldHVybiBzdXBlclR5cGU7XG59XG4iXSwibmFtZXMiOlsiVHlwZSIsIm9iamVjdFR5cGUiLCJuYW1lIiwic3VwZXJUeXBlIiwiZ2V0TmFtZSIsImdldFN1cGVyVHlwZSIsImlzRXF1YWxUbyIsInR5cGUiLCJlcXVhbFRvIiwiaXNTdWJUeXBlT2YiLCJzdWJUeXBlT2YiLCJpc1N1cGVyVHlwZU9mIiwic3VwZXJUeXBlT2YiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsImVxdWFsVG9UeXBlIiwic3ViVHlwZU9mVHlwZSIsImVxdWFsVG9UeXBlT3JTdWJUeXBlT2YiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwic3VwZXJUeXBlT2ZUeXBlIiwiZXF1YWxUb1R5cGVPclN1cGVyVHlwZU9mIiwibWF0Y2giLCJtYXRjaGVzIiwibWF0Y2hOYW1lIiwibWF0Y2hlc05hbWUiLCJtYXRjaFR5cGVOYW1lIiwidHlwZU5hbWUiLCJtYXRjaGVzVHlwZU5hbWUiLCJhc1N0cmluZyIsIm5vU3VwZXJUeXBlIiwic3RyaW5nIiwic3VwZXJUeXBlTmFtZSIsInRvSlNPTiIsInN1cGVyVHlwZUpTT04iLCJraW5kIiwiVFlQRV9LSU5EIiwianNvbiIsImZyb21KU09OIiwicmVsZWFzZUNvbnRleHQiLCJzdXBlclR5cGVGcm9tU3VwZXJUeXBlSlNPTiIsImZyb21UeXBlTmFtZSIsImZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSIsIk9iamVjdFR5cGUiLCJmcm9tTm90aGluZyIsIk9CSkVDVF9UWVBFX05BTUUiXSwibWFw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
|
package/lib/verify/term.js
CHANGED
|
@@ -31,12 +31,15 @@ function verifyTerm(termNode, types, context) {
|
|
|
31
31
|
context.begin(termNode);
|
|
32
32
|
var termString = (0, _string.nodeAsString)(termNode);
|
|
33
33
|
context.debug("Verifying the '".concat(termString, "' term..."));
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
if (!termVerified) {
|
|
35
|
+
var variables = [], termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context);
|
|
36
|
+
if (termVerifiedAsVariable) {
|
|
37
|
+
var firstVariable = (0, _array.first)(variables), variable = firstVariable, type = variable.getType();
|
|
38
|
+
types.push(type);
|
|
39
|
+
termVerified = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (!termVerified) {
|
|
40
43
|
var termVerifiedAgainstConstructors = verifyTermAgainstConstructors(termNode, types, context);
|
|
41
44
|
if (termVerifiedAgainstConstructors) {
|
|
42
45
|
termVerified = true;
|
|
@@ -158,4 +161,4 @@ function verifyArgumentNode(argumentNode, constructorArgumentNode, context) {
|
|
|
158
161
|
return argumentNodeVerified;
|
|
159
162
|
}
|
|
160
163
|
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBPQkpFQ1RfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSwgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtIVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdHlwZSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICBjb25zdCB2YXJpYWJsZXMgPSBbXSxcbiAgICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpO1xuXG4gIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgY29uc3QgZmlyc3RWYXJpYWJsZSA9IGZpcnN0KHZhcmlhYmxlcyksXG4gICAgICAgICAgdmFyaWFibGUgPSBmaXJzdFZhcmlhYmxlLCAvLy9cbiAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZCA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuICAgICAgdGVybVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uYCk7XG4gIH1cblxuICB0ZXJtVmVyaWZpZWQgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICB2YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG5cbiAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpLFxuICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9ycy5maW5kKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIGNvbnN0cnVjdG9yLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoY29uc3RydWN0b3IgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB0cnVlO1xuICB9XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA/XG4gICAgY29udGV4dC5jb21wbGV0ZSh0ZXJtTm9kZSkgOlxuICAgICAgY29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgY29uc3RydWN0b3IsIGNvbnRleHQpIHtcbiAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IGNvbnN0cnVjdG9yLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIG5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3RvclRlcm1Ob2RlLCAvLy9cbiAgICAgICAgbm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSBub2RlVmVyaWZpZWQ7ICAvLy9cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCkge1xuICBsZXQgbm9kZVZlcmlmaWVkO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZVRlcm1pbmFsTm9kZSA9IGNvbnN0cnVjdG9yTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBjb25zdHJ1Y3Rvck5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSB0ZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlID0gY29uc3RydWN0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgICAgbm9kZVZlcmlmaWVkID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGVzKG5vZGVzLCBjb25zdHJ1Y3Rvck5vZGVzLCBjb250ZXh0KSB7XG4gIGxldCBub2Rlc1ZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZXNMZW5ndGggPSBjb25zdHJ1Y3Rvck5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IGNvbnN0cnVjdG9yTm9kZXNMZW5ndGgpIHtcbiAgICBub2Rlc1ZlcmlmaWVkID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3Rvck5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgY29uc3RydWN0b3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBub2Rlc1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBjb25zdHJ1Y3RvclRlcm1pbmFsTm9kZSwgY29udGV4dCkge1xuICBsZXQgdGVybWluYWxOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlLm1hdGNoKGNvbnN0cnVjdG9yVGVybWluYWxOb2RlKTtcblxuICBpZiAobWF0Y2hlcykge1xuICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yUnVsZU5hbWUgPSBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICBjYXNlIEFSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2hpbGROb2RlcyA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlcyA9IGNvbnN0cnVjdG9yQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgIG5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlOb2Rlcyhub2RlcywgY29uc3RydWN0b3JOb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBub2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShhcmd1bWVudE5vZGUpO1xuXG4gIGlmICh0ZXJtTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LmVycm9yKGBUaGUgJHthcmd1bWVudFN0cmluZ30gYXJndW1lbnQgc2hvdWxkIGJlIGEgdGVybSwgbm90IGEgdHlwZWApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yQXJndW1lbnROb2RlKSxcbiAgICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgdHlwZSA9ICh0eXBlTmFtZSA9PT0gT0JKRUNUX1RZUEVfTkFNRSkgP1xuICAgICAgICAgICAgICAgICAgICAgb2JqZWN0VHlwZSA6ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSk7XG5cbiAgICAgIGlmICh0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUpIHtcbiAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudE5vZGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUZXJtIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsImJlZ2luIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwidmFyaWFibGVzIiwidGVybVZlcmlmaWVkQXNWYXJpYWJsZSIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidHlwZSIsImdldFR5cGUiLCJwdXNoIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwidmFyaWFibGVQcmVzZW50IiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwiY29uc3RydWN0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3IiLCJmaW5kIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yVGVybU5vZGUiLCJnZXRUZXJtTm9kZSIsIm5vZGUiLCJjb25zdHJ1Y3Rvck5vZGUiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZnlOb2RlcyIsIm5vZGVzIiwiY29uc3RydWN0b3JOb2RlcyIsIm5vZGVzVmVyaWZpZWQiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImNvbnN0cnVjdG9yTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbnN0cnVjdG9yUnVsZU5hbWUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJhcmd1bWVudE5vZGUiLCJjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5QXJndW1lbnROb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjb25zdHJ1Y3RvckNoaWxkTm9kZXMiLCJhcmd1bWVudFN0cmluZyIsImVycm9yIiwiZmlyc3RUeXBlIiwidGVybVR5cGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJPQkpFQ1RfVFlQRV9OQU1FIiwib2JqZWN0VHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFhQSxPQXFDQztlQXJDdUJBOztJQXVDUkMsb0JBQW9CO2VBQXBCQTs7SUEyQkFDLDZCQUE2QjtlQUE3QkE7OztxQkE3RU07b0JBQ0s7c0JB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
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5pbXBvcnQgeyBPQkpFQ1RfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgQVJHVU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSwgdmFyaWFibGVOYW1lRnJvbVZhcmlhYmxlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90ZXJtIVwiKSxcbiAgICAgIHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYXJndW1lbnQvdHlwZSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnRleHQuYmVnaW4odGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGNvbnRleHQuZGVidWcoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICBpZiAoIXRlcm1WZXJpZmllZCkge1xuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0KTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICBjb25zdCBmaXJzdFZhcmlhYmxlID0gZmlyc3QodmFyaWFibGVzKSxcbiAgICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpO1xuXG4gICAgICB0eXBlcy5wdXNoKHR5cGUpO1xuXG4gICAgICB0ZXJtVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmICghdGVybVZlcmlmaWVkKSB7XG4gICAgY29uc3QgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3JzKHRlcm1Ob2RlLCB0eXBlcywgY29udGV4dCk7XG5cbiAgICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycykge1xuICAgICAgdGVybVZlcmlmaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5pbmZvKGBWZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uYCk7XG4gIH1cblxuICB0ZXJtVmVyaWZpZWQgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVRlcm1Bc1ZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpO1xuXG4gICAgICB2YXJpYWJsZXMucHVzaCh2YXJpYWJsZSk7XG5cbiAgICAgIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgP1xuICAgIGNvbnRleHQuY29tcGxldGUodGVybU5vZGUpIDpcbiAgICAgIGNvbnRleHQuaGFsdCh0ZXJtTm9kZSk7XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSBmYWxzZTtcblxuICBjb250ZXh0LmJlZ2luKHRlcm1Ob2RlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvcnMgPSBjb250ZXh0LmdldENvbnN0cnVjdG9ycygpLFxuICAgICAgICBjb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9ycy5maW5kKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIGNvbnN0cnVjdG9yLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmICh0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoY29uc3RydWN0b3IgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpO1xuXG4gICAgdHlwZXMucHVzaCh0eXBlKTtcblxuICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSB0cnVlO1xuICB9XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA/XG4gICAgY29udGV4dC5jb21wbGV0ZSh0ZXJtTm9kZSkgOlxuICAgICAgY29udGV4dC5oYWx0KHRlcm1Ob2RlKTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgY29uc3RydWN0b3IsIGNvbnRleHQpIHtcbiAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IGNvbnN0cnVjdG9yLmdldFRlcm1Ob2RlKCksXG4gICAgICAgIG5vZGUgPSB0ZXJtTm9kZSwgIC8vL1xuICAgICAgICBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3RvclRlcm1Ob2RlLCAvLy9cbiAgICAgICAgbm9kZVZlcmlmaWVkID0gdmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQpLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSBub2RlVmVyaWZpZWQ7ICAvLy9cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlOb2RlKG5vZGUsIGNvbnN0cnVjdG9yTm9kZSwgY29udGV4dCkge1xuICBsZXQgbm9kZVZlcmlmaWVkO1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZVRlcm1pbmFsTm9kZSA9IGNvbnN0cnVjdG9yTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlID09PSBjb25zdHJ1Y3Rvck5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgICAgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUgPSBjb25zdHJ1Y3Rvck5vZGUsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JUZXJtaW5hbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSB0ZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICAgIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlID0gY29uc3RydWN0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0KTtcblxuICAgICAgbm9kZVZlcmlmaWVkID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU5vZGVzKG5vZGVzLCBjb25zdHJ1Y3Rvck5vZGVzLCBjb250ZXh0KSB7XG4gIGxldCBub2Rlc1ZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3Qgbm9kZXNMZW5ndGggPSBub2Rlcy5sZW5ndGgsXG4gICAgICAgIGNvbnN0cnVjdG9yTm9kZXNMZW5ndGggPSBjb25zdHJ1Y3Rvck5vZGVzLmxlbmd0aDtcblxuICBpZiAobm9kZXNMZW5ndGggPT09IGNvbnN0cnVjdG9yTm9kZXNMZW5ndGgpIHtcbiAgICBub2Rlc1ZlcmlmaWVkID0gbm9kZXMuZXZlcnkoKG5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJ1Y3Rvck5vZGUgPSBjb25zdHJ1Y3Rvck5vZGVzW2luZGV4XSxcbiAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHZlcmlmeU5vZGUobm9kZSwgY29uc3RydWN0b3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgaWYgKG5vZGVWZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBub2Rlc1ZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCBjb25zdHJ1Y3RvclRlcm1pbmFsTm9kZSwgY29udGV4dCkge1xuICBsZXQgdGVybWluYWxOb2RlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlLm1hdGNoKGNvbnN0cnVjdG9yVGVybWluYWxOb2RlKTtcblxuICBpZiAobWF0Y2hlcykge1xuICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSwgLy8vXG4gICAgICAgIGNvbnN0cnVjdG9yUnVsZU5hbWUgPSBjb25zdHJ1Y3Rvck5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpOyAvLy9cblxuICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICBzd2l0Y2ggKHJ1bGVOYW1lKSB7XG4gICAgICBjYXNlIEFSR1VNRU5UX1JVTEVfTkFNRToge1xuICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCAvLy9cbiAgICAgICAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB2ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICAgIGNvbnN0cnVjdG9yQ2hpbGROb2RlcyA9IGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlcyA9IGNvbnN0cnVjdG9yQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICAgIG5vZGVzVmVyaWZpZWQgPSB2ZXJpZnlOb2Rlcyhub2RlcywgY29uc3RydWN0b3JOb2RlcywgY29udGV4dCk7XG5cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBub2Rlc1ZlcmlmaWVkOyAvLy9cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShhcmd1bWVudE5vZGUpO1xuXG4gIGlmICh0ZXJtTm9kZSA9PT0gbnVsbCkge1xuICAgIGNvbnN0IGFyZ3VtZW50U3RyaW5nID0gbm9kZUFzU3RyaW5nKGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LmVycm9yKGBUaGUgJHthcmd1bWVudFN0cmluZ30gYXJndW1lbnQgc2hvdWxkIGJlIGEgdGVybSwgbm90IGEgdHlwZWApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdHlwZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgdGVybVR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yQXJndW1lbnROb2RlKSxcbiAgICAgICAgICAgIHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICAgICAgdHlwZSA9ICh0eXBlTmFtZSA9PT0gT0JKRUNUX1RZUEVfTkFNRSkgP1xuICAgICAgICAgICAgICAgICAgICAgb2JqZWN0VHlwZSA6ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSk7XG5cbiAgICAgIGlmICh0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUpIHtcbiAgICAgICAgYXJndW1lbnROb2RlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhcmd1bWVudE5vZGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUZXJtIiwidmVyaWZ5VGVybUFzVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJ0ZXJtTm9kZSIsInR5cGVzIiwiY29udGV4dCIsInRlcm1WZXJpZmllZCIsImJlZ2luIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsImRlYnVnIiwidmFyaWFibGVzIiwidGVybVZlcmlmaWVkQXNWYXJpYWJsZSIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidHlwZSIsImdldFR5cGUiLCJwdXNoIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImluZm8iLCJjb21wbGV0ZSIsImhhbHQiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWVGcm9tVmFyaWFibGVOb2RlIiwidmFyaWFibGVQcmVzZW50IiwiaXNWYXJpYWJsZVByZXNlbnRCeVZhcmlhYmxlTmFtZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwiY29uc3RydWN0b3JzIiwiZ2V0Q29uc3RydWN0b3JzIiwiY29uc3RydWN0b3IiLCJmaW5kIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yVGVybU5vZGUiLCJnZXRUZXJtTm9kZSIsIm5vZGUiLCJjb25zdHJ1Y3Rvck5vZGUiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JOb2RlVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29uc3RydWN0b3JUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZnlOb2RlcyIsIm5vZGVzIiwiY29uc3RydWN0b3JOb2RlcyIsIm5vZGVzVmVyaWZpZWQiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImNvbnN0cnVjdG9yTm9kZXNMZW5ndGgiLCJldmVyeSIsImluZGV4IiwibWF0Y2hlcyIsIm1hdGNoIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImNvbnN0cnVjdG9yUnVsZU5hbWUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJhcmd1bWVudE5vZGUiLCJjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZVZlcmlmaWVkIiwidmVyaWZ5QXJndW1lbnROb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjb25zdHJ1Y3RvckNoaWxkTm9kZXMiLCJhcmd1bWVudFN0cmluZyIsImVycm9yIiwiZmlyc3RUeXBlIiwidGVybVR5cGUiLCJ0eXBlTm9kZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJPQkpFQ1RfVFlQRV9OQU1FIiwib2JqZWN0VHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSIsImlzRXF1YWxUb09yU3ViVHlwZU9mIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFhQSxPQXlDQztlQXpD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
|
package/package.json
CHANGED
package/src/type.js
CHANGED
|
@@ -96,7 +96,7 @@ export default class Type {
|
|
|
96
96
|
return matchesTypeName;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
asString(noSuperType
|
|
99
|
+
asString(noSuperType) {
|
|
100
100
|
let string;
|
|
101
101
|
|
|
102
102
|
if (noSuperType) {
|
|
@@ -111,9 +111,7 @@ export default class Type {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
toJSON() {
|
|
114
|
-
const superTypeJSON =
|
|
115
|
-
null :
|
|
116
|
-
this.superType.toJSON(),
|
|
114
|
+
const superTypeJSON = this.superType.toJSON(),
|
|
117
115
|
kind = TYPE_KIND,
|
|
118
116
|
name = this.name,
|
|
119
117
|
superType = superTypeJSON, ///
|
|
@@ -127,23 +125,17 @@ export default class Type {
|
|
|
127
125
|
}
|
|
128
126
|
|
|
129
127
|
static fromJSON(json, releaseContext) {
|
|
130
|
-
|
|
128
|
+
let type;
|
|
131
129
|
|
|
132
130
|
let { superType } = json;
|
|
133
131
|
|
|
134
|
-
|
|
135
|
-
const superTypeJSON = superType; ///
|
|
136
|
-
|
|
137
|
-
json = superTypeJSON; ///
|
|
132
|
+
const superTypeJSON = superType; ///
|
|
138
133
|
|
|
139
|
-
|
|
134
|
+
superType = superTypeFromSuperTypeJSON(superTypeJSON, releaseContext);
|
|
140
135
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
superType = releaseContext.findTypeByTypeName(superTypeName); ///
|
|
144
|
-
}
|
|
136
|
+
const { name } = json;
|
|
145
137
|
|
|
146
|
-
|
|
138
|
+
type = new Type(name, superType);
|
|
147
139
|
|
|
148
140
|
return type;
|
|
149
141
|
}
|
|
@@ -175,3 +167,13 @@ class ObjectType extends Type {
|
|
|
175
167
|
}
|
|
176
168
|
|
|
177
169
|
export const objectType = ObjectType.fromNothing();
|
|
170
|
+
|
|
171
|
+
function superTypeFromSuperTypeJSON(superTypeJSON, releaseContext) {
|
|
172
|
+
const json = superTypeJSON, ///
|
|
173
|
+
{ name } = json,
|
|
174
|
+
superType = (name === OBJECT_TYPE_NAME) ?
|
|
175
|
+
objectType :
|
|
176
|
+
Type.fromJSON(json, releaseContext);
|
|
177
|
+
|
|
178
|
+
return superType;
|
|
179
|
+
}
|
package/src/verify/term.js
CHANGED
|
@@ -20,18 +20,22 @@ export default function verifyTerm(termNode, types, context) {
|
|
|
20
20
|
|
|
21
21
|
context.debug(`Verifying the '${termString}' term...`);
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
if (!termVerified) {
|
|
24
|
+
const variables = [],
|
|
25
|
+
termVerifiedAsVariable = verifyTermAsVariable(termNode, variables, context);
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
if (termVerifiedAsVariable) {
|
|
28
|
+
const firstVariable = first(variables),
|
|
29
|
+
variable = firstVariable, ///
|
|
30
|
+
type = variable.getType();
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
types.push(type);
|
|
32
33
|
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
termVerified = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (!termVerified) {
|
|
35
39
|
const termVerifiedAgainstConstructors = verifyTermAgainstConstructors(termNode, types, context);
|
|
36
40
|
|
|
37
41
|
if (termVerifiedAgainstConstructors) {
|