occam-nominal 1.0.630 → 1.0.632
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/element/typeAlias.js +12 -14
- package/package.json +8 -8
- package/src/element/typeAlias.js +12 -15
package/lib/element/typeAlias.js
CHANGED
|
@@ -50,12 +50,12 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
50
50
|
verify = unbreakable(function(context, forward, back) {
|
|
51
51
|
const typeAliasString = this.getString(); ///
|
|
52
52
|
context.trace(`Verifying the '${typeAliasString}' type alias...`);
|
|
53
|
-
const verifyTypeName = this.verifyTypeName.bind(this), verifyImplicitType = this.verifyImplicitType.bind(this), verifyExplicitType = this.verifyExplicitType.bind(this);
|
|
53
|
+
const implicit = this.isImplicit(), verifyTypeName = this.verifyTypeName.bind(this), verifyImplicitType = this.verifyImplicitType.bind(this), verifyExplicitType = this.verifyExplicitType.bind(this);
|
|
54
54
|
return all([
|
|
55
55
|
verifyTypeName,
|
|
56
56
|
verifyImplicitType,
|
|
57
57
|
verifyExplicitType
|
|
58
|
-
], context, (context, back)=>{
|
|
58
|
+
], implicit, context, (implicit, context, back)=>{
|
|
59
59
|
context.debug(`...verified the '${typeAliasString}' type alias.`);
|
|
60
60
|
return forward(context, back);
|
|
61
61
|
}, (exception)=>{
|
|
@@ -66,7 +66,7 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
66
66
|
return back();
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
|
-
verifyTypeName(context, forward, back) {
|
|
69
|
+
verifyTypeName(implicit, context, forward, back) {
|
|
70
70
|
const typeAliasString = this.getString(); ///
|
|
71
71
|
context.trace(`Verifying the '${typeAliasString}' type alias's type name...`);
|
|
72
72
|
const includeRelease = true, typeAliasPresent = context.isTypeAliasPresentByTypeName(this.typeName, includeRelease);
|
|
@@ -80,12 +80,11 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
80
80
|
return back();
|
|
81
81
|
}
|
|
82
82
|
context.debug(`...verified the '${typeAliasString}' type alias's type name.`);
|
|
83
|
-
return forward(context, back);
|
|
83
|
+
return forward(implicit, context, back);
|
|
84
84
|
}
|
|
85
|
-
verifyImplicitType(context, forward, back) {
|
|
86
|
-
const implicit = this.isImplicit();
|
|
85
|
+
verifyImplicitType(implicit, context, forward, back) {
|
|
87
86
|
if (!implicit) {
|
|
88
|
-
return forward(context, back);
|
|
87
|
+
return forward(implicit, context, back);
|
|
89
88
|
}
|
|
90
89
|
const typeAliasString = this.getString(); ///
|
|
91
90
|
context.trace(`Verifying the '${typeAliasString}' type alias's implicit type...`);
|
|
@@ -101,12 +100,11 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
101
100
|
const firstType = first(types), type = firstType; ///
|
|
102
101
|
this.type = type; ///
|
|
103
102
|
context.debug(`...verified the '${typeAliasString}' type alias's implicit type...`);
|
|
104
|
-
return forward(context, back);
|
|
103
|
+
return forward(implicit, context, back);
|
|
105
104
|
}
|
|
106
|
-
verifyExplicitType(context, forward, back) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return forward(context, back);
|
|
105
|
+
verifyExplicitType(implicit, context, forward, back) {
|
|
106
|
+
if (implicit) {
|
|
107
|
+
return forward(implicit, context, back);
|
|
110
108
|
}
|
|
111
109
|
const typeAliasString = this.getString(); ///
|
|
112
110
|
context.trace(`Verifying the '${typeAliasString}' type alias's explicit type...`);
|
|
@@ -127,7 +125,7 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
127
125
|
const firstType = first(types), type = firstType; ///
|
|
128
126
|
this.type = type; ///
|
|
129
127
|
context.debug(`...verified the '${typeAliasString}' type alias's explicittype.`);
|
|
130
|
-
return forward(context, back);
|
|
128
|
+
return forward(implicit, context, back);
|
|
131
129
|
}
|
|
132
130
|
toJSON() {
|
|
133
131
|
let json;
|
|
@@ -150,4 +148,4 @@ const _default = (0, _elements.define)(class TypeAlias extends _occamlanguages.E
|
|
|
150
148
|
}
|
|
151
149
|
});
|
|
152
150
|
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGVBbGlhcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlVHlwZUFsaWFzIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgdHlwZVRvVHlwZUpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBhbGwgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFR5cGVBbGlhcyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHR5cGVOYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50eXBlTmFtZSA9IHR5cGVOYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0VHlwZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZU5hbWU7XG4gIH1cblxuICBnZXRUeXBlQWxpYXNOb2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICB0eXBlQWxpYXNOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIHR5cGVBbGlhc05vZGU7XG4gIH1cblxuICBpc0ltcGxpY2l0KCkge1xuICAgIGNvbnN0IGltcGxpY2l0ID0gKHRoaXMudHlwZSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaW1wbGljaXQ7XG4gIH1cblxuICBpc0V4cGxpY2l0KCkge1xuICAgIGNvbnN0IGltcGxpY2l0ID0gdGhpcy5pc0ltcGxpY2l0KCksXG4gICAgICAgICAgZXhwbGljaXQgPSAhaW1wbGljaXQ7IC8vL1xuXG4gICAgcmV0dXJuIGV4cGxpY2l0O1xuICB9XG5cbiAgZ2V0QWxpYXNlZFR5cGUoKSB7XG4gICAgY29uc3QgYWxpYXNlZFR5cGUgPSB0aGlzLnR5cGU7XG5cbiAgICByZXR1cm4gYWxpYXNlZFR5cGU7XG4gIH1cblxuICBjb21wYXJlVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZUNvbXBhcmVzID0gKHRoaXMudHlwZU5hbWUgPT09IHR5cGVOYW1lKTtcblxuICAgIHJldHVybiB0eXBlTmFtZUNvbXBhcmVzO1xuICB9XG5cbiAgdmVyaWZ5ID0gdW5icmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlQWxpYXNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMuLi5gKTtcblxuICAgIGNvbnN0IHZlcmlmeVR5cGVOYW1lID0gdGhpcy52ZXJpZnlUeXBlTmFtZS5iaW5kKHRoaXMpLFxuICAgICAgICAgIHZlcmlmeUltcGxpY2l0VHlwZSA9IHRoaXMudmVyaWZ5SW1wbGljaXRUeXBlLmJpbmQodGhpcyksXG4gICAgICAgICAgdmVyaWZ5RXhwbGljaXRUeXBlID0gdGhpcy52ZXJpZnlFeHBsaWNpdFR5cGUuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBhbGwoW1xuICAgICAgdmVyaWZ5VHlwZU5hbWUsXG4gICAgICB2ZXJpZnlJbXBsaWNpdFR5cGUsXG4gICAgICB2ZXJpZnlFeHBsaWNpdFR5cGVcbiAgICBdLCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH0sIChleGNlcHRpb24pID0+IHtcbiAgICAgIGlmIChleGNlcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC50cmFjZShgVW5hYmxlIHRvIHZlcmlmeSB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcy5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgdmVyaWZ5VHlwZU5hbWUoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGVBbGlhc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIHR5cGUgbmFtZS4uLmApO1xuXG4gICAgY29uc3QgaW5jbHVkZVJlbGVhc2UgPSB0cnVlLFxuICAgICAgICAgIHR5cGVBbGlhc1ByZXNlbnQgPSBjb250ZXh0LmlzVHlwZUFsaWFzUHJlc2VudEJ5VHlwZU5hbWUodGhpcy50eXBlTmFtZSwgaW5jbHVkZVJlbGVhc2UpO1xuXG4gICAgaWYgKHR5cGVBbGlhc1ByZXNlbnQpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0aGlzLnR5cGVOYW1lfScgdHlwZSBhbGlhcyBpcyBwcmVzZW50IGxvY2FsbHkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgaW5jbHVkZURlcGVuZGVuY2llcyA9IGZhbHNlLFxuICAgICAgICAgIHR5cGVQcmVzZW50ID0gY29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0aGlzLnR5cGVOYW1lLCBpbmNsdWRlUmVsZWFzZSwgaW5jbHVkZURlcGVuZGVuY2llcyk7XG5cbiAgICBpZiAodHlwZVByZXNlbnQpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0aGlzLnR5cGVOYW1lfScgdHlwZSBpcyBwcmVzZW50IGxvY2FsbHkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyB0eXBlIG5hbWUuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeUltcGxpY2l0VHlwZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgaW1wbGljaXQgPSB0aGlzLmlzSW1wbGljaXQoKTtcblxuICAgIGlmICghaW1wbGljaXQpIHtcbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVBbGlhc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGltcGxpY2l0IHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IGluY2x1ZGVSZWxlYXNlID0gdHJ1ZSxcbiAgICAgICAgICBpbmNsdWRlRGVwZW5kZW5jaWVzID0gdHJ1ZSxcbiAgICAgICAgICB0eXBlcyA9IGNvbnRleHQuZmluZFR5cGVzQnlUeXBlTmFtZSh0aGlzLnR5cGVOYW1lLCBpbmNsdWRlUmVsZWFzZSwgaW5jbHVkZURlcGVuZGVuY2llcyksXG4gICAgICAgICAgdHlwZXNMZW5ndGggPSB0eXBlcy5sZW5ndGg7XG5cbiAgICBpZiAodHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgaW1wbGljaXQgdHlwZSBpcyBub3QgcHJlc2VuZXQgZ2xvYmFsbHkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVzTGVuZ3RoID4gMSkge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBpbXBsaWNpdCB0eXBlIGlzIGFtYmlndW91cyBnbG9iYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZTsgLy8vXG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlOyAvLy9cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgaW1wbGljaXQgdHlwZS4uLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gIH1cblxuICB2ZXJpZnlFeHBsaWNpdFR5cGUoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGV4cGxpY2l0ID0gdGhpcy5pc0V4cGxpY2l0KCk7XG5cbiAgICBpZiAoIWV4cGxpY2l0KSB7XG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlQWxpYXNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBleHBsaWNpdCB0eXBlLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlUHJlZml4ZWQgPSB0aGlzLnR5cGUuaXNQcmVmaXhlZCgpO1xuXG4gICAgaWYgKCF0eXBlUHJlZml4ZWQpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgZXhwbGljaXQgdHlwZSBpcyBub3QgcHJlZml4ZWQuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlZml4ZWRUeXBlTmFtZSA9IHRoaXMudHlwZS5nZXRQcmVmaXhlZFR5cGVOYW1lKCksXG4gICAgICAgICAgaW5jbHVkZVJlbGVhc2UgPSB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVEZXBlbmRlbmNpZXMgPSB0cnVlLFxuICAgICAgICAgIHR5cGVzID0gY29udGV4dC5maW5kVHlwZXNCeVByZWZpeGVkVHlwZU5hbWUocHJlZml4ZWRUeXBlTmFtZSwgaW5jbHVkZVJlbGVhc2UsIGluY2x1ZGVEZXBlbmRlbmNpZXMpLFxuICAgICAgICAgIHR5cGVzTGVuZ3RoID0gdHlwZXMubGVuZ3RoO1xuXG4gICAgaWYgKHR5cGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGV4cGxpY2l0IHR5cGUgaXMgbm90IHByZXNlbnQgZ2xvYmFsbHkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVzTGVuZ3RoID4gMSkge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBleHBsaWNpdCB0eXBlIGlzIGFtYmlndW91cyBnbG9iYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZTsgLy8vXG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlOyAvLy9cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgZXhwbGljaXR0eXBlLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgbGV0IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLFxuICAgICAgICAgIHR5cGVKU09OID0gdHlwZVRvVHlwZUpTT04odGhpcy50eXBlKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUpTT047ICAvLy9cblxuICAgIGpzb24gPSB7XG4gICAgICBzdHJpbmcsXG4gICAgICB0eXBlXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlR5cGVBbGlhc1wiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGVBbGlhcztcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIHR5cGVBbGlhc05vZGUgPSBpbnN0YW50aWF0ZVR5cGVBbGlhcyhzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHR5cGVBbGlhc05vZGUsIC8vL1xuICAgICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlQWxpYXNOb2RlLmdldFR5cGVOYW1lKCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsOyAvLy9cblxuICAgICAgdHlwZUFsaWFzID0gbmV3IFR5cGVBbGlhcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHR5cGVOYW1lKTtcbiAgICB9LCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlQWxpYXM7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImFsbCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJ1bmJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJUeXBlQWxpYXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsInR5cGVOYW1lIiwiZ2V0VHlwZSIsImdldFR5cGVOYW1lIiwiZ2V0VHlwZUFsaWFzTm9kZSIsImdldE5vZGUiLCJ0eXBlQWxpYXNOb2RlIiwiaXNJbXBsaWNpdCIsImltcGxpY2l0IiwiaXNFeHBsaWNpdCIsImV4cGxpY2l0IiwiZ2V0QWxpYXNlZFR5cGUiLCJhbGlhc2VkVHlwZSIsImNvbXBhcmVUeXBlTmFtZSIsInR5cGVOYW1lQ29tcGFyZXMiLCJ2ZXJpZnkiLCJmb3J3YXJkIiwiYmFjayIsInR5cGVBbGlhc1N0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZ5VHlwZU5hbWUiLCJiaW5kIiwidmVyaWZ5SW1wbGljaXRUeXBlIiwidmVyaWZ5RXhwbGljaXRUeXBlIiwiZGVidWciLCJleGNlcHRpb24iLCJpbmNsdWRlUmVsZWFzZSIsInR5cGVBbGlhc1ByZXNlbnQiLCJpc1R5cGVBbGlhc1ByZXNlbnRCeVR5cGVOYW1lIiwiaW5jbHVkZURlcGVuZGVuY2llcyIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJ0eXBlcyIsImZpbmRUeXBlc0J5VHlwZU5hbWUiLCJ0eXBlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0VHlwZSIsInR5cGVQcmVmaXhlZCIsImlzUHJlZml4ZWQiLCJwcmVmaXhlZFR5cGVOYW1lIiwiZ2V0UHJlZml4ZWRUeXBlTmFtZSIsImZpbmRUeXBlc0J5UHJlZml4ZWRUeXBlTmFtZSIsInRvSlNPTiIsImpzb24iLCJ0eXBlSlNPTiIsInR5cGVUb1R5cGVKU09OIiwibmFtZSIsImZyb21KU09OIiwidHlwZUFsaWFzIiwiaW5zdGFudGlhdGUiLCJpbnN0YW50aWF0ZVR5cGVBbGlhcyIsInR5cGVGcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7MkJBWitCO2dDQUNxQzswQkFFN0M7eUJBQ0s7NkJBQ1M7c0JBQ1E7QUFFN0MsTUFBTSxFQUFFQSxHQUFHLEVBQUUsR0FBR0MscUNBQXFCLEVBQy9CLEVBQUVDLEtBQUssRUFBRSxHQUFHQyx5QkFBYyxFQUMxQixFQUFFQyxXQUFXLEVBQUUsR0FBR0MsbUNBQW1CO01BRTNDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsUUFBUSxDQUFFO1FBQzdELEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBO0lBQ2xCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsbUJBQW1CO1FBQ2pCLE1BQU1OLE9BQU8sSUFBSSxDQUFDTyxPQUFPLElBQ25CQyxnQkFBZ0JSLE1BQU8sR0FBRztRQUVoQyxPQUFPUTtJQUNUO0lBRUFDLGFBQWE7UUFDWCxNQUFNQyxXQUFZLElBQUksQ0FBQ1IsSUFBSSxLQUFLO1FBRWhDLE9BQU9RO0lBQ1Q7SUFFQUMsYUFBYTtRQUNYLE1BQU1ELFdBQVcsSUFBSSxDQUFDRCxVQUFVLElBQzFCRyxXQUFXLENBQUNGLFVB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
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGVBbGlhcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlVHlwZUFsaWFzIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgdHlwZVRvVHlwZUpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBhbGwgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFR5cGVBbGlhcyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHR5cGVOYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50eXBlTmFtZSA9IHR5cGVOYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgZ2V0VHlwZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZU5hbWU7XG4gIH1cblxuICBnZXRUeXBlQWxpYXNOb2RlKCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICB0eXBlQWxpYXNOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIHR5cGVBbGlhc05vZGU7XG4gIH1cblxuICBpc0ltcGxpY2l0KCkge1xuICAgIGNvbnN0IGltcGxpY2l0ID0gKHRoaXMudHlwZSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaW1wbGljaXQ7XG4gIH1cblxuICBpc0V4cGxpY2l0KCkge1xuICAgIGNvbnN0IGltcGxpY2l0ID0gdGhpcy5pc0ltcGxpY2l0KCksXG4gICAgICAgICAgZXhwbGljaXQgPSAhaW1wbGljaXQ7IC8vL1xuXG4gICAgcmV0dXJuIGV4cGxpY2l0O1xuICB9XG5cbiAgZ2V0QWxpYXNlZFR5cGUoKSB7XG4gICAgY29uc3QgYWxpYXNlZFR5cGUgPSB0aGlzLnR5cGU7XG5cbiAgICByZXR1cm4gYWxpYXNlZFR5cGU7XG4gIH1cblxuICBjb21wYXJlVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZUNvbXBhcmVzID0gKHRoaXMudHlwZU5hbWUgPT09IHR5cGVOYW1lKTtcblxuICAgIHJldHVybiB0eXBlTmFtZUNvbXBhcmVzO1xuICB9XG5cbiAgdmVyaWZ5ID0gdW5icmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlQWxpYXNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMuLi5gKTtcblxuICAgIGNvbnN0IGltcGxpY2l0ID0gdGhpcy5pc0ltcGxpY2l0KCksXG4gICAgICAgICAgdmVyaWZ5VHlwZU5hbWUgPSB0aGlzLnZlcmlmeVR5cGVOYW1lLmJpbmQodGhpcyksXG4gICAgICAgICAgdmVyaWZ5SW1wbGljaXRUeXBlID0gdGhpcy52ZXJpZnlJbXBsaWNpdFR5cGUuYmluZCh0aGlzKSxcbiAgICAgICAgICB2ZXJpZnlFeHBsaWNpdFR5cGUgPSB0aGlzLnZlcmlmeUV4cGxpY2l0VHlwZS5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIGFsbChbXG4gICAgICB2ZXJpZnlUeXBlTmFtZSxcbiAgICAgIHZlcmlmeUltcGxpY2l0VHlwZSxcbiAgICAgIHZlcmlmeUV4cGxpY2l0VHlwZVxuICAgIF0sIGltcGxpY2l0LCBjb250ZXh0LCAoaW1wbGljaXQsIGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCAoZXhjZXB0aW9uKSA9PiB7XG4gICAgICBpZiAoZXhjZXB0aW9uKSB7XG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFVuYWJsZSB0byB2ZXJpZnkgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHZlcmlmeVR5cGVOYW1lKGltcGxpY2l0LCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZUFsaWFzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgdHlwZSBuYW1lLi4uYCk7XG5cbiAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IHRydWUsXG4gICAgICAgICAgdHlwZUFsaWFzUHJlc2VudCA9IGNvbnRleHQuaXNUeXBlQWxpYXNQcmVzZW50QnlUeXBlTmFtZSh0aGlzLnR5cGVOYW1lLCBpbmNsdWRlUmVsZWFzZSk7XG5cbiAgICBpZiAodHlwZUFsaWFzUHJlc2VudCkge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3RoaXMudHlwZU5hbWV9JyB0eXBlIGFsaWFzIGlzIHByZXNlbnQgbG9jYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb25zdCBpbmNsdWRlRGVwZW5kZW5jaWVzID0gZmFsc2UsXG4gICAgICAgICAgdHlwZVByZXNlbnQgPSBjb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHRoaXMudHlwZU5hbWUsIGluY2x1ZGVSZWxlYXNlLCBpbmNsdWRlRGVwZW5kZW5jaWVzKTtcblxuICAgIGlmICh0eXBlUHJlc2VudCkge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3RoaXMudHlwZU5hbWV9JyB0eXBlIGlzIHByZXNlbnQgbG9jYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIHR5cGUgbmFtZS5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKGltcGxpY2l0LCBjb250ZXh0LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeUltcGxpY2l0VHlwZShpbXBsaWNpdCwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGlmICghaW1wbGljaXQpIHtcbiAgICAgIHJldHVybiBmb3J3YXJkKGltcGxpY2l0LCBjb250ZXh0LCBiYWNrKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlQWxpYXNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBpbXBsaWNpdCB0eXBlLi4uYCk7XG5cbiAgICBjb25zdCBpbmNsdWRlUmVsZWFzZSA9IHRydWUsXG4gICAgICAgICAgaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUsXG4gICAgICAgICAgdHlwZXMgPSBjb250ZXh0LmZpbmRUeXBlc0J5VHlwZU5hbWUodGhpcy50eXBlTmFtZSwgaW5jbHVkZVJlbGVhc2UsIGluY2x1ZGVEZXBlbmRlbmNpZXMpLFxuICAgICAgICAgIHR5cGVzTGVuZ3RoID0gdHlwZXMubGVuZ3RoO1xuXG4gICAgaWYgKHR5cGVzTGVuZ3RoID09PSAwKSB7XG4gICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGltcGxpY2l0IHR5cGUgaXMgbm90IHByZXNlbmV0IGdsb2JhbGx5LmApO1xuXG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIGlmICh0eXBlc0xlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgaW1wbGljaXQgdHlwZSBpcyBhbWJpZ3VvdXMgZ2xvYmFsbHkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgIHR5cGUgPSBmaXJzdFR5cGU7IC8vL1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTsgLy8vXG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGltcGxpY2l0IHR5cGUuLi5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKGltcGxpY2l0LCBjb250ZXh0LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeUV4cGxpY2l0VHlwZShpbXBsaWNpdCwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGlmIChpbXBsaWNpdCkge1xuICAgICAgcmV0dXJuIGZvcndhcmQoaW1wbGljaXQsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVBbGlhc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGV4cGxpY2l0IHR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVQcmVmaXhlZCA9IHRoaXMudHlwZS5pc1ByZWZpeGVkKCk7XG5cbiAgICBpZiAoIXR5cGVQcmVmaXhlZCkge1xuICAgICAgY29udGV4dC50cmFjZShgVGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBleHBsaWNpdCB0eXBlIGlzIG5vdCBwcmVmaXhlZC5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhlZFR5cGVOYW1lID0gdGhpcy50eXBlLmdldFByZWZpeGVkVHlwZU5hbWUoKSxcbiAgICAgICAgICBpbmNsdWRlUmVsZWFzZSA9IHRydWUsXG4gICAgICAgICAgaW5jbHVkZURlcGVuZGVuY2llcyA9IHRydWUsXG4gICAgICAgICAgdHlwZXMgPSBjb250ZXh0LmZpbmRUeXBlc0J5UHJlZml4ZWRUeXBlTmFtZShwcmVmaXhlZFR5cGVOYW1lLCBpbmNsdWRlUmVsZWFzZSwgaW5jbHVkZURlcGVuZGVuY2llcyksXG4gICAgICAgICAgdHlwZXNMZW5ndGggPSB0eXBlcy5sZW5ndGg7XG5cbiAgICBpZiAodHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYFRoZSAnJHt0eXBlQWxpYXNTdHJpbmd9JyB0eXBlIGFsaWFzJ3MgZXhwbGljaXQgdHlwZSBpcyBub3QgcHJlc2VudCBnbG9iYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZXNMZW5ndGggPiAxKSB7XG4gICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZUFsaWFzU3RyaW5nfScgdHlwZSBhbGlhcydzIGV4cGxpY2l0IHR5cGUgaXMgYW1iaWd1b3VzIGdsb2JhbGx5LmApO1xuXG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICB0eXBlID0gZmlyc3RUeXBlOyAvLy9cblxuICAgIHRoaXMudHlwZSA9IHR5cGU7IC8vL1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVBbGlhc1N0cmluZ30nIHR5cGUgYWxpYXMncyBleHBsaWNpdHR5cGUuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZChpbXBsaWNpdCwgY29udGV4dCwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgbGV0IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLFxuICAgICAgICAgIHR5cGVKU09OID0gdHlwZVRvVHlwZUpTT04odGhpcy50eXBlKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUpTT047ICAvLy9cblxuICAgIGpzb24gPSB7XG4gICAgICBzdHJpbmcsXG4gICAgICB0eXBlXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlR5cGVBbGlhc1wiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGVBbGlhcztcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIHR5cGVBbGlhc05vZGUgPSBpbnN0YW50aWF0ZVR5cGVBbGlhcyhzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHR5cGVBbGlhc05vZGUsIC8vL1xuICAgICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlQWxpYXNOb2RlLmdldFR5cGVOYW1lKCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsOyAvLy9cblxuICAgICAgdHlwZUFsaWFzID0gbmV3IFR5cGVBbGlhcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHR5cGVOYW1lKTtcbiAgICB9LCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlQWxpYXM7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImFsbCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJ1bmJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJUeXBlQWxpYXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsInR5cGVOYW1lIiwiZ2V0VHlwZSIsImdldFR5cGVOYW1lIiwiZ2V0VHlwZUFsaWFzTm9kZSIsImdldE5vZGUiLCJ0eXBlQWxpYXNOb2RlIiwiaXNJbXBsaWNpdCIsImltcGxpY2l0IiwiaXNFeHBsaWNpdCIsImV4cGxpY2l0IiwiZ2V0QWxpYXNlZFR5cGUiLCJhbGlhc2VkVHlwZSIsImNvbXBhcmVUeXBlTmFtZSIsInR5cGVOYW1lQ29tcGFyZXMiLCJ2ZXJpZnkiLCJmb3J3YXJkIiwiYmFjayIsInR5cGVBbGlhc1N0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZ5VHlwZU5hbWUiLCJiaW5kIiwidmVyaWZ5SW1wbGljaXRUeXBlIiwidmVyaWZ5RXhwbGljaXRUeXBlIiwiZGVidWciLCJleGNlcHRpb24iLCJpbmNsdWRlUmVsZWFzZSIsInR5cGVBbGlhc1ByZXNlbnQiLCJpc1R5cGVBbGlhc1ByZXNlbnRCeVR5cGVOYW1lIiwiaW5jbHVkZURlcGVuZGVuY2llcyIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJ0eXBlcyIsImZpbmRUeXBlc0J5VHlwZU5hbWUiLCJ0eXBlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0VHlwZSIsInR5cGVQcmVmaXhlZCIsImlzUHJlZml4ZWQiLCJwcmVmaXhlZFR5cGVOYW1lIiwiZ2V0UHJlZml4ZWRUeXBlTmFtZSIsImZpbmRUeXBlc0J5UHJlZml4ZWRUeXBlTmFtZSIsInRvSlNPTiIsImpzb24iLCJ0eXBlSlNPTiIsInR5cGVUb1R5cGVKU09OIiwibmFtZSIsImZyb21KU09OIiwidHlwZUFsaWFzIiwiaW5zdGFudGlhdGUiLCJpbnN0YW50aWF0ZVR5cGVBbGlhcyIsInR5cGVGcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7MkJBWitCO2dDQUNxQzswQkFFN0M7eUJBQ0s7NkJBQ1M7c0JBQ1E7QUFFN0MsTUFBTSxFQUFFQSxHQUFHLEVBQUUsR0FBR0MscUNBQXFCLEVBQy9CLEVBQUVDLEtBQUssRUFBRSxHQUFHQyx5QkFBYyxFQUMxQixFQUFFQyxXQUFXLEVBQUUsR0FBR0MsbUNBQW1CO01BRTNDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsUUFBUSxDQUFFO1FBQzdELEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBO0lBQ2xCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsbUJBQW1CO1FBQ2pCLE1BQU1OLE9BQU8sSUFBSSxDQUFDTyxPQUFPLElBQ25CQyxnQkFBZ0JSLE1BQU8sR0FBRztRQUVoQyxPQUFPUTtJQUNUO0lBRUFDLGFBQWE7UUFDWCxNQUFNQyxXQUFZLElBQUksQ0FBQ1IsSUFBSSxLQUFLO1FBRWhDLE9BQU9RO0lBQ1Q7SUFFQUMsYUFB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-nominal",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.632",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-nominal",
|
|
7
7
|
"description": "Occam's Nominal language.",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.7.2",
|
|
14
|
-
"occam-furtle": "^3.0.
|
|
15
|
-
"occam-grammar-utilities": "^8.1.
|
|
16
|
-
"occam-languages": "^3.0.
|
|
17
|
-
"occam-query": "^4.1.
|
|
14
|
+
"occam-furtle": "^3.0.552",
|
|
15
|
+
"occam-grammar-utilities": "^8.1.29",
|
|
16
|
+
"occam-languages": "^3.0.100",
|
|
17
|
+
"occam-query": "^4.1.212"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@swc/core": "1.13.20",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"juxtapose": "^4.0.143",
|
|
28
28
|
"lively-cli": "^3.0.3",
|
|
29
29
|
"occam-lexers": "^23.2.12",
|
|
30
|
-
"occam-model": "^1.0.
|
|
31
|
-
"occam-parsers": "^23.2.
|
|
32
|
-
"occam-server": "^7.0.
|
|
30
|
+
"occam-model": "^1.0.602",
|
|
31
|
+
"occam-parsers": "^23.2.20",
|
|
32
|
+
"occam-server": "^7.0.101",
|
|
33
33
|
"watchful-cli": "^1.7.102"
|
|
34
34
|
},
|
|
35
35
|
"scripts": {
|
package/src/element/typeAlias.js
CHANGED
|
@@ -65,7 +65,8 @@ export default define(class TypeAlias extends Element {
|
|
|
65
65
|
|
|
66
66
|
context.trace(`Verifying the '${typeAliasString}' type alias...`);
|
|
67
67
|
|
|
68
|
-
const
|
|
68
|
+
const implicit = this.isImplicit(),
|
|
69
|
+
verifyTypeName = this.verifyTypeName.bind(this),
|
|
69
70
|
verifyImplicitType = this.verifyImplicitType.bind(this),
|
|
70
71
|
verifyExplicitType = this.verifyExplicitType.bind(this);
|
|
71
72
|
|
|
@@ -73,7 +74,7 @@ export default define(class TypeAlias extends Element {
|
|
|
73
74
|
verifyTypeName,
|
|
74
75
|
verifyImplicitType,
|
|
75
76
|
verifyExplicitType
|
|
76
|
-
], context, (context, back) => {
|
|
77
|
+
], implicit, context, (implicit, context, back) => {
|
|
77
78
|
context.debug(`...verified the '${typeAliasString}' type alias.`);
|
|
78
79
|
|
|
79
80
|
return forward(context, back);
|
|
@@ -88,7 +89,7 @@ export default define(class TypeAlias extends Element {
|
|
|
88
89
|
});
|
|
89
90
|
});
|
|
90
91
|
|
|
91
|
-
verifyTypeName(context, forward, back) {
|
|
92
|
+
verifyTypeName(implicit, context, forward, back) {
|
|
92
93
|
const typeAliasString = this.getString(); ///
|
|
93
94
|
|
|
94
95
|
context.trace(`Verifying the '${typeAliasString}' type alias's type name...`);
|
|
@@ -113,14 +114,12 @@ export default define(class TypeAlias extends Element {
|
|
|
113
114
|
|
|
114
115
|
context.debug(`...verified the '${typeAliasString}' type alias's type name.`);
|
|
115
116
|
|
|
116
|
-
return forward(context, back);
|
|
117
|
+
return forward(implicit, context, back);
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
verifyImplicitType(context, forward, back) {
|
|
120
|
-
const implicit = this.isImplicit();
|
|
121
|
-
|
|
120
|
+
verifyImplicitType(implicit, context, forward, back) {
|
|
122
121
|
if (!implicit) {
|
|
123
|
-
return forward(context, back);
|
|
122
|
+
return forward(implicit, context, back);
|
|
124
123
|
}
|
|
125
124
|
|
|
126
125
|
const typeAliasString = this.getString(); ///
|
|
@@ -151,14 +150,12 @@ export default define(class TypeAlias extends Element {
|
|
|
151
150
|
|
|
152
151
|
context.debug(`...verified the '${typeAliasString}' type alias's implicit type...`);
|
|
153
152
|
|
|
154
|
-
return forward(context, back);
|
|
153
|
+
return forward(implicit, context, back);
|
|
155
154
|
}
|
|
156
155
|
|
|
157
|
-
verifyExplicitType(context, forward, back) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (!explicit) {
|
|
161
|
-
return forward(context, back);
|
|
156
|
+
verifyExplicitType(implicit, context, forward, back) {
|
|
157
|
+
if (implicit) {
|
|
158
|
+
return forward(implicit, context, back);
|
|
162
159
|
}
|
|
163
160
|
|
|
164
161
|
const typeAliasString = this.getString(); ///
|
|
@@ -198,7 +195,7 @@ export default define(class TypeAlias extends Element {
|
|
|
198
195
|
|
|
199
196
|
context.debug(`...verified the '${typeAliasString}' type alias's explicittype.`);
|
|
200
197
|
|
|
201
|
-
return forward(context, back);
|
|
198
|
+
return forward(implicit, context, back);
|
|
202
199
|
}
|
|
203
200
|
|
|
204
201
|
toJSON() {
|