occam-furtle 3.0.381 → 3.0.385
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/context/file/furtle.js +4 -4
- package/lib/element/anonymousProcedure.js +15 -11
- package/lib/element/assignment/array.js +4 -3
- package/lib/element/assignment/object.js +6 -5
- package/lib/element/assignment/variable.js +10 -9
- package/lib/element/assignments/variable.js +9 -8
- package/lib/element/contains.js +1 -3
- package/lib/element/error.js +7 -4
- package/lib/element/every.js +21 -25
- package/lib/element/expression.js +19 -11
- package/lib/element/lengthOf.js +1 -1
- package/lib/element/procedure.js +33 -30
- package/lib/element/procedureCall.js +10 -10
- package/lib/element/reduce.js +14 -17
- package/lib/element/returnBlock.js +19 -16
- package/lib/element/some.js +21 -24
- package/lib/element/statement.js +12 -11
- package/lib/element/ternary.js +11 -11
- package/lib/element/type.js +3 -10
- package/lib/process/verify.js +12 -24
- package/lib/utilities/element.js +5 -5
- package/package.json +2 -2
- package/src/context/file/furtle.js +3 -4
- package/src/element/anonymousProcedure.js +21 -17
- package/src/element/assignment/array.js +5 -3
- package/src/element/assignment/object.js +7 -5
- package/src/element/assignment/variable.js +11 -11
- package/src/element/assignments/variable.js +10 -10
- package/src/element/contains.js +0 -3
- package/src/element/error.js +10 -5
- package/src/element/every.js +29 -38
- package/src/element/expression.js +24 -12
- package/src/element/lengthOf.js +1 -1
- package/src/element/procedure.js +45 -44
- package/src/element/procedureCall.js +12 -14
- package/src/element/reduce.js +15 -22
- package/src/element/returnBlock.js +22 -19
- package/src/element/some.js +30 -38
- package/src/element/statement.js +13 -11
- package/src/element/ternary.js +16 -16
- package/src/element/type.js +5 -17
- package/src/process/verify.js +11 -32
- package/src/utilities/element.js +4 -4
package/lib/element/some.js
CHANGED
|
@@ -59,7 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
}
|
|
60
60
|
return newObj;
|
|
61
61
|
}
|
|
62
|
-
const {
|
|
62
|
+
const { some, breakable } = _occamlanguages.continuationUtilities;
|
|
63
63
|
const _default = (0, _elements.define)(class Some extends _occamlanguages.Element {
|
|
64
64
|
constructor(context, string, node, breakPoint, variable, anonymousProcedure){
|
|
65
65
|
super(context, string, node, breakPoint);
|
|
@@ -72,36 +72,33 @@ const _default = (0, _elements.define)(class Some extends _occamlanguages.Elemen
|
|
|
72
72
|
getAnonymousProcedure() {
|
|
73
73
|
return this.anonymousProcedure;
|
|
74
74
|
}
|
|
75
|
-
|
|
76
|
-
let value;
|
|
77
|
-
await this.break(context);
|
|
75
|
+
evaluate = breakable(function(context, continuation) {
|
|
78
76
|
const someString = this.getString();
|
|
79
77
|
context.trace(`Evaluating the '${someString}' some...`);
|
|
80
|
-
value = this.variable.evaluate(context);
|
|
81
|
-
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
78
|
+
const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
82
79
|
if (!valueTypeListType) {
|
|
83
80
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
84
81
|
throw exception;
|
|
85
82
|
}
|
|
86
|
-
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue
|
|
87
|
-
|
|
88
|
-
value = (0, _value.valueFromNominalValue)(nominalValue);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue; ///
|
|
84
|
+
some(nominalValues, (nominalValue, continuation)=>{
|
|
85
|
+
const { Values } = _elements.default, value = (0, _value.valueFromNominalValue)(nominalValue), values = Values.fromValue(value, context);
|
|
86
|
+
this.anonymousProcedure.call(values, context, (value)=>{
|
|
87
|
+
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
88
|
+
if (!valueTypeBooleanType) {
|
|
89
|
+
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
90
|
+
throw exception;
|
|
91
|
+
}
|
|
92
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue; ///
|
|
93
|
+
continuation(boolean);
|
|
94
|
+
});
|
|
95
|
+
}, (boolean)=>{
|
|
96
|
+
const value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
97
|
+
context.trace(`...evaluated the '${someString}' some as '${valueString}'.`);
|
|
98
|
+
continuation(value);
|
|
98
99
|
});
|
|
99
|
-
|
|
100
|
-
const valueString = value.getString();
|
|
101
|
-
context.trace(`...evaluated the '${someString}' some as '${valueString}'.`);
|
|
102
|
-
return value;
|
|
103
|
-
}
|
|
100
|
+
});
|
|
104
101
|
static name = "Some";
|
|
105
102
|
});
|
|
106
103
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiwgdmFsdWVGcm9tTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5jb25zdCB7IHNvbWUsIGJyZWFrYWJsZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgU29tZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlID0gYW5vbnltb3VzUHJvY2VkdXJlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRBbm9ueW1vdXNQcm9jZWR1cmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICAgIGNvbnN0IHNvbWVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7c29tZVN0cmluZ30nIHNvbWUuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlTGlzdFR5cGUgPSB2YWx1ZVR5cGUuaXNMaXN0VHlwZSgpO1xuXG4gICAgaWYgKCF2YWx1ZVR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlcyA9IHByaW1pdGl2ZVZhbHVlOyAvLy9cblxuICAgIHNvbWUobm9taW5hbFZhbHVlcywgKG5vbWluYWxWYWx1ZSwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCB7IFZhbHVlcyB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vbWluYWxWYWx1ZShub21pbmFsVmFsdWUpLFxuICAgICAgICAgICAgdmFsdWVzID0gVmFsdWVzLmZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlLmNhbGwodmFsdWVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICB2YWx1ZVR5cGVCb29sZWFuVHlwZSA9IHZhbHVlVHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICAgICAgaWYgKCF2YWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIHR5cGUgaXMgJyR7dmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgICAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWU7IC8vL1xuXG4gICAgICAgIGNvbnRpbnVhdGlvbihib29sZWFuKTtcbiAgICAgIH0pO1xuICAgIH0sIChib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke3NvbWVTdHJpbmd9JyBzb21lIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJTb21lXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJzb21lIiwiYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiU29tZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFZhcmlhYmxlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJjb250aW51YXRpb24iLCJzb21lU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJMSVNUX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZXMiLCJub21pbmFsVmFsdWUiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSIsInZhbHVlcyIsImZyb21WYWx1ZSIsImNhbGwiLCJ2YWx1ZVR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJCT09MRUFOX1RZUEVfTkFNRSIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7Z0NBWCtDO2tFQUUxQjtrRUFDQzsyQkFHNEI7dUJBQ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhELE1BQU0sRUFBRUEsSUFBSSxFQUFFQyxTQUFTLEVBQUUsR0FBR0MscUNBQXFCO01BRWpELFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGtCQUFrQixDQUFFO1FBQzNFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBO0lBQzVCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUNGLGtCQUFrQjtJQUNoQztJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsWUFBWTtRQUNsRCxNQUFNQyxhQUFhLElBQUksQ0FBQ0MsU0FBUztRQUVqQ1gsUUFBUVksS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLFdBQVcsU0FBUyxDQUFDO1FBRXRELE1BQU1HLFFBQVEsSUFBSSxDQUFDVCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsVUFDL0JjLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLG9CQUFvQkYsVUFBVUcsVUFBVTtRQUU5QyxJQUFJLENBQUNELG1CQUFtQjtZQUN0QixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUosVUFBVSxrQkFBa0IsRUFBRU0seUJBQWMsQ0FBQyxFQUFFLENBQUMsRUFDM0ZDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsTUFBTUU7UUFDUjtRQUVBLE1BQU1HLGlCQUFpQlgsTUFBTVksaUJBQWlCLElBQ3hDQyxnQkFBZ0JGLGdCQUFnQixHQUFHO1FBRXpDOUIsS0FBS2dDLGVBQWUsQ0FBQ0MsY0FBY2xCO1lBQ2pDLE1BQU0sRUFBRW1CLE1BQU0sRUFBRSxHQUFHQyxpQkFBUSxFQUNyQmhCLFFBQVFpQixJQUFBQSw0QkFBcUIsRUFBQ0gsZUFDOUJJLFNBQVNILE9BQU9JLFNBQVMsQ0FBQ25CLE9BQU9iO1lBRXZDLElBQUksQ0FBQ0ssa0JBQWtCLENBQUM0QixJQUFJLENBQUNGLFFBQVEvQixTQUFTLENBQUNhO2dCQUM3QyxNQUFNQyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCbUIsdUJBQXVCcEIsVUFBVXFCLGFBQWE7Z0JBRXBELElBQUksQ0FBQ0Qsc0JBQXNCO29CQUN6QixNQUFNaEIsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxtQkFBbUIsRUFBRUosVUFBVSw2QkFBNkIsRUFBRXNCLDRCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUNqSGYsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtvQkFFeEMsTUFBTUU7Z0JBQ1I7Z0JBRUEsTUFBTUcsaUJBQWlCWCxNQUFNWSxpQkFBaUIsSUFDeENZLFVBQVViLGdCQUFnQixHQUFHO2dCQUVuQ2YsYUFBYTRCO1lBQ2Y7UUFDRixHQUFHLENBQUNBO1lBQ0YsTUFBTXhCLFFBQVF5QixJQUFBQSx1QkFBZ0IsRUFBQ0QsU0FBU3JDLFVBQ2xDa0IsY0FBY0wsTUFBTUYsU0FBUztZQUVuQ1gsUUFBUVksS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVGLFdBQVcsV0FBVyxFQUFFUSxZQUFZLEVBQUUsQ0FBQztZQUUxRVQsYUFBYUk7UUFDZjtJQUNGLEdBQUc7SUFFSCxPQUFPMEIsT0FBTyxPQUFPO0FBQ3ZCIn0=
|
package/lib/element/statement.js
CHANGED
|
@@ -10,34 +10,35 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
+
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
13
14
|
const _default = (0, _elements.define)(class Statement extends _occamlanguages.Element {
|
|
14
|
-
constructor(context, string, node, breakPoint, arrayAssignment,
|
|
15
|
+
constructor(context, string, node, breakPoint, arrayAssignment, objectAssignment, variableAssignments){
|
|
15
16
|
super(context, string, node, breakPoint);
|
|
16
17
|
this.arrayAssignment = arrayAssignment;
|
|
17
|
-
this.
|
|
18
|
+
this.objectAssignment = objectAssignment;
|
|
18
19
|
this.variableAssignments = variableAssignments;
|
|
19
20
|
}
|
|
20
21
|
getArrayAssignment() {
|
|
21
22
|
return this.arrayAssignment;
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
return this.
|
|
24
|
+
getObjectAssignment() {
|
|
25
|
+
return this.objectAssignment;
|
|
25
26
|
}
|
|
26
27
|
getVariableAssignments() {
|
|
27
28
|
return this.variableAssignments;
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
+
evaluate = unbreakable(function(context, continuation) {
|
|
30
31
|
if (false) {
|
|
31
32
|
///
|
|
32
33
|
} else if (this.arrayAssignment !== null) {
|
|
33
|
-
this.arrayAssignment.evaluate(context);
|
|
34
|
-
} else if (this.
|
|
35
|
-
this.
|
|
34
|
+
this.arrayAssignment.evaluate(context, continuation);
|
|
35
|
+
} else if (this.objectAssignment !== null) {
|
|
36
|
+
this.objectAssignment.evaluate(context, continuation);
|
|
36
37
|
} else if (this.variableAssignments !== null) {
|
|
37
|
-
|
|
38
|
+
this.variableAssignments.evaluate(context, continuation);
|
|
38
39
|
}
|
|
39
|
-
}
|
|
40
|
+
});
|
|
40
41
|
static name = "Statement";
|
|
41
42
|
});
|
|
42
43
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3N0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyB1bmJyZWFrYWJsZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgU3RhdGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXlBc3NpZ25tZW50LCBvYmplY3RBc3NpZ25tZW50LCB2YXJpYWJsZUFzc2lnbm1lbnRzKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXlBc3NpZ25tZW50ID0gYXJyYXlBc3NpZ25tZW50O1xuICAgIHRoaXMub2JqZWN0QXNzaWdubWVudCA9IG9iamVjdEFzc2lnbm1lbnQ7XG4gICAgdGhpcy52YXJpYWJsZUFzc2lnbm1lbnRzID0gdmFyaWFibGVBc3NpZ25tZW50cztcbiAgfVxuXG4gIGdldEFycmF5QXNzaWdubWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheUFzc2lnbm1lbnQ7XG4gIH1cblxuICBnZXRPYmplY3RBc3NpZ25tZW50KCkge1xuICAgIHJldHVybiB0aGlzLm9iamVjdEFzc2lnbm1lbnQ7XG4gIH1cblxuICBnZXRWYXJpYWJsZUFzc2lnbm1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlQXNzaWdubWVudHM7XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy5hcnJheUFzc2lnbm1lbnQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuYXJyYXlBc3NpZ25tZW50LmV2YWx1YXRlKGNvbnRleHQsIGNvbnRpbnVhdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9iamVjdEFzc2lnbm1lbnQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMub2JqZWN0QXNzaWdubWVudC5ldmFsdWF0ZShjb250ZXh0LCBjb250aW51YXRpb24pO1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZUFzc2lnbm1lbnRzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnZhcmlhYmxlQXNzaWdubWVudHMuZXZhbHVhdGUoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICB9XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJTdGF0ZW1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInVuYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiU3RhdGVtZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsImFycmF5QXNzaWdubWVudCIsIm9iamVjdEFzc2lnbm1lbnQiLCJ2YXJpYWJsZUFzc2lnbm1lbnRzIiwiZ2V0QXJyYXlBc3NpZ25tZW50IiwiZ2V0T2JqZWN0QXNzaWdubWVudCIsImdldFZhcmlhYmxlQXNzaWdubWVudHMiLCJldmFsdWF0ZSIsImNvbnRpbnVhdGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O2dDQU4rQzswQkFFeEI7QUFFdkIsTUFBTSxFQUFFQSxXQUFXLEVBQUUsR0FBR0MscUNBQXFCO01BRTdDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLGVBQWUsRUFBRUMsZ0JBQWdCLEVBQUVDLG1CQUFtQixDQUFFO1FBQ3JHLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxlQUFlLEdBQUdBO1FBQ3ZCLElBQUksQ0FBQ0MsZ0JBQWdCLEdBQUdBO1FBQ3hCLElBQUksQ0FBQ0MsbUJBQW1CLEdBQUdBO0lBQzdCO0lBRUFDLHFCQUFxQjtRQUNuQixPQUFPLElBQUksQ0FBQ0gsZUFBZTtJQUM3QjtJQUVBSSxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUNILGdCQUFnQjtJQUM5QjtJQUVBSSx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUNILG1CQUFtQjtJQUNqQztJQUVBSSxXQUFXZixZQUFZLFNBQVVLLE9BQU8sRUFBRVcsWUFBWTtRQUNwRCxJQUFJLE9BQU87UUFDVCxHQUFHO1FBQ0wsT0FBTyxJQUFJLElBQUksQ0FBQ1AsZUFBZSxLQUFLLE1BQU07WUFDeEMsSUFBSSxDQUFDQSxlQUFlLENBQUNNLFFBQVEsQ0FBQ1YsU0FBU1c7UUFDekMsT0FBTyxJQUFJLElBQUksQ0FBQ04sZ0JBQWdCLEtBQUssTUFBTTtZQUN6QyxJQUFJLENBQUNBLGdCQUFnQixDQUFDSyxRQUFRLENBQUNWLFNBQVNXO1FBQzFDLE9BQU8sSUFBSSxJQUFJLENBQUNMLG1CQUFtQixLQUFLLE1BQU07WUFDNUMsSUFBSSxDQUFDQSxtQkFBbUIsQ0FBQ0ksUUFBUSxDQUFDVixTQUFTVztRQUM3QztJQUNGLEdBQUc7SUFFSCxPQUFPQyxPQUFPLFlBQVk7QUFDNUIifQ==
|
package/lib/element/ternary.js
CHANGED
|
@@ -17,6 +17,7 @@ function _interop_require_default(obj) {
|
|
|
17
17
|
default: obj
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
const { unbreakable } = _occamlanguages.continuationUtilities;
|
|
20
21
|
const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Element {
|
|
21
22
|
constructor(context, string, node, breakPoint, term, ifExpression, elseExpression){
|
|
22
23
|
super(context, string, node, breakPoint);
|
|
@@ -33,23 +34,22 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
33
34
|
getElseBlock() {
|
|
34
35
|
return this.elseExpression;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
let value;
|
|
37
|
+
evaluate = unbreakable(function(context, continuation) {
|
|
38
38
|
const ternaryString = this.getString(); ///
|
|
39
39
|
context.trace(`Evaluating the '${ternaryString}' ternary...`);
|
|
40
|
-
value = this.term.evaluate(context);
|
|
41
|
-
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
40
|
+
const value = this.term.evaluate(context), valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
42
41
|
if (!valueTypeBooleanType) {
|
|
43
42
|
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
44
43
|
throw exception;
|
|
45
44
|
}
|
|
46
|
-
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue;
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue, expression = boolean ? this.ifExpression : this.elseExpression;
|
|
46
|
+
expression.evaluate(context, (value)=>{
|
|
47
|
+
const valueString = value.getString();
|
|
48
|
+
context.debug(`...evaluated the '${ternaryString}' ternary as '${valueString}'.`);
|
|
49
|
+
continuation(value);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
52
|
static name = "Ternary";
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm5hcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgdW5icmVha2FibGUgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFRlcm5hcnkgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0ZXJtLCBpZkV4cHJlc3Npb24sIGVsc2VFeHByZXNzaW9uKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudGVybSA9IHRlcm07XG4gICAgdGhpcy5pZkV4cHJlc3Npb24gPSBpZkV4cHJlc3Npb247XG4gICAgdGhpcy5lbHNlRXhwcmVzc2lvbiA9IGVsc2VFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0SWZCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5pZkV4cHJlc3Npb247XG4gIH1cblxuICBnZXRFbHNlQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxzZUV4cHJlc3Npb247XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBjb250aW51YXRpb24pIHtcbiAgICBjb25zdCB0ZXJuYXJ5U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUJvb2xlYW5UeXBlID0gdmFsdWVUeXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWUsIC8vL1xuICAgICAgICAgIGV4cHJlc3Npb24gPSBib29sZWFuID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlmRXhwcmVzc2lvbiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsc2VFeHByZXNzaW9uO1xuXG4gICAgZXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dGVybmFyeVN0cmluZ30nIHRlcm5hcnkgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgY29udGludWF0aW9uKHZhbHVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm5hcnlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInVuYnJlYWthYmxlIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiVGVybmFyeSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwiaWZFeHByZXNzaW9uIiwiZWxzZUV4cHJlc3Npb24iLCJnZXRUZXJtIiwiZ2V0SWZCbG9jayIsImdldEVsc2VCbG9jayIsImV2YWx1YXRlIiwiY29udGludWF0aW9uIiwidGVybmFyeVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJib29sZWFuIiwiZXhwcmVzc2lvbiIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVCtDO2tFQUV6QjswQkFFQzsyQkFDVzs7Ozs7O0FBRWxDLE1BQU0sRUFBRUEsV0FBVyxFQUFFLEdBQUdDLHFDQUFxQjtNQUU3QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGdCQUFnQkMsdUJBQU87SUFDakQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxDQUFFO1FBQ2pGLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtJQUN4QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxZQUFZO0lBQzFCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsY0FBYztJQUM1QjtJQUVBSSxXQUFXZixZQUFZLFNBQVVLLE9BQU8sRUFBRVcsWUFBWTtRQUNwRCxNQUFNQyxnQkFBZ0IsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUUzQ2IsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGNBQWMsWUFBWSxDQUFDO1FBRTVELE1BQU1HLFFBQVEsSUFBSSxDQUFDWCxJQUFJLENBQUNNLFFBQVEsQ0FBQ1YsVUFDM0JnQixZQUFZRCxNQUFNRSxPQUFPLElBQ3pCQyx1QkFBdUJGLFVBQVVHLGFBQWE7UUFFcEQsSUFBSSxDQUFDRCxzQkFBc0I7WUFDekIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxtQkFBbUIsRUFBRUosVUFBVSw2QkFBNkIsRUFBRU0sNEJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQ2pIQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE1BQU1FO1FBQ1I7UUFFQSxNQUFNRyxpQkFBaUJYLE1BQU1ZLGlCQUFpQixJQUN4Q0MsVUFBVUYsZ0JBQ1ZHLGFBQWFELFVBQ0UsSUFBSSxDQUFDdkIsWUFBWSxHQUNmLElBQUksQ0FBQ0MsY0FBYztRQUUxQ3VCLFdBQVduQixRQUFRLENBQUNWLFNBQVMsQ0FBQ2U7WUFDNUIsTUFBTUssY0FBY0wsTUFBTUYsU0FBUztZQUVuQ2IsUUFBUThCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFbEIsY0FBYyxjQUFjLEVBQUVRLFlBQVksRUFBRSxDQUFDO1lBRWhGVCxhQUFhSTtRQUNmO0lBQ0YsR0FBRztJQUVILE9BQU9nQixPQUFPLFVBQVU7QUFDMUIifQ==
|
package/lib/element/type.js
CHANGED
|
@@ -15,7 +15,6 @@ const _instantiate = require("../process/instantiate");
|
|
|
15
15
|
const _string = require("../utilities/string");
|
|
16
16
|
const _element = require("../utilities/element");
|
|
17
17
|
const _typeNames = require("../typeNames");
|
|
18
|
-
const { breakPointToBreakPointJSON } = _occamlanguages.breakPointUtilities;
|
|
19
18
|
const _default = (0, _elements.define)(class Type extends _occamlanguages.Element {
|
|
20
19
|
constructor(context, string, node, breakPoint, name, argumentType){
|
|
21
20
|
super(context, string, node, breakPoint);
|
|
@@ -81,14 +80,8 @@ const _default = (0, _elements.define)(class Type extends _occamlanguages.Elemen
|
|
|
81
80
|
return equalTo;
|
|
82
81
|
}
|
|
83
82
|
toJSON() {
|
|
84
|
-
const string = this.getString()
|
|
85
|
-
|
|
86
|
-
breakPoint = this.getBreakPoint();
|
|
87
|
-
const breakPointJSON = breakPointToBreakPointJSON(breakPoint);
|
|
88
|
-
breakPoint = breakPointJSON; ///
|
|
89
|
-
const json = {
|
|
90
|
-
string,
|
|
91
|
-
breakPoint
|
|
83
|
+
const string = this.getString(), json = {
|
|
84
|
+
string
|
|
92
85
|
};
|
|
93
86
|
return json;
|
|
94
87
|
}
|
|
@@ -118,4 +111,4 @@ const _default = (0, _elements.define)(class Type extends _occamlanguages.Elemen
|
|
|
118
111
|
}
|
|
119
112
|
});
|
|
120
113
|
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVUeXBlIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5hbWVGcm9tVHlwZU5vZGUsIGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBJTlRFR0VSX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUeXBlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5hcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRBcmd1bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJndW1lbnRUeXBlO1xuICB9XG5cbiAgaXNMaXN0VHlwZSgpIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9ICh0aGlzLm5hbWUgPT09IExJU1RfVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBsaXN0VHlwZTtcbiAgfVxuXG4gIGlzU3RyaW5nVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IFNUUklOR19UWVBFX05BTUUpO1xuXG4gICAgcmV0dXJuIGJvb2xlYW5UeXBlO1xuICB9XG5cbiAgaXNCb29sZWFuVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IEJPT0xFQU5fVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBib29sZWFuVHlwZTtcbiAgfVxuXG4gIGlzSW50ZWdlclR5cGUoKSB7XG4gICAgY29uc3QgaW50ZWdlclR5cGUgPSAodGhpcy5uYW1lID09PSBJTlRFR0VSX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gaW50ZWdlclR5cGU7XG4gIH1cblxuICBpc05vbWluYWxWYWx1ZVR5cGUoKSB7XG4gICAgY29uc3QgbGlzdFR5cGUgPSAodGhpcy5uYW1lID09PSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gbGlzdFR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgaWYgKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5uYW1lKSB7XG4gICAgICAgIGNhc2UgTElTVF9UWVBFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCB0eXBlQXJndW1lbnRUeXBlID0gdHlwZS5nZXRBcmd1bWVudFR5cGUoKTtcblxuICAgICAgICAgIGlmICgodGhpcy5hcmd1bWVudFR5cGUgPT09IG51bGwpIHx8ICh0eXBlQXJndW1lbnRUeXBlID09PSBudWxsKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXJndW1lbnRUeXBlID09PSB0eXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlLmlzRXF1YWxUbyh0eXBlQXJndW1lbnRUeXBlKTtcblxuICAgICAgICAgICAgaWYgKGFyZ3VlbW50VHlwZUVxdWFsVG9UeXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIEJPT0xFQU5fVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIElOVEVHRVJfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FOiB7XG4gICAgICAgICAgZXF1YWxUbyA9IHRydWU7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgIGJyZWFrUG9pbnQgPSB0aGlzLmdldEJyZWFrUG9pbnQoKTtcblxuICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGNvbnN0IGpzb24gPSB7XG4gICAgICBzdHJpbmcsXG4gICAgICBicmVha1BvaW50XG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlR5cGVcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIHJldHVybiBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICB0eXBlTm9kZSA9IGluc3RhbnRpYXRlVHlwZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHR5cGVOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGFyZ3VtZW50VHlwZSA9IGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgICBjb25zdCB0eXBlID0gbmV3IFR5cGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBuYW1lLCBhcmd1bWVudFR5cGUpO1xuXG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9LCBjb250ZXh0KTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWUodHlwZU5hbWUsIGNvbnRleHQpIHtcbiAgICBsZXQgdHlwZSA9IG51bGw7XG5cbiAgICBpZiAodHlwZU5hbWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAgICBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICAgIGFyZ3VtZW50VHlwZSA9IG51bGwsXG4gICAgICAgICAgICB0eXBlU3RyaW5nID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IHR5cGVTdHJpbmcsICAvLy9cbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgdHlwZSA9IG5ldyBUeXBlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lKHR5cGVOYW1lLCBhcmd1bWVudFR5cGVOYW1lLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IG51bGwsICAvLy9cbiAgICAgICAgICBuYW1lID0gdHlwZU5hbWUsICAvLy9cbiAgICAgICAgICBhcmd1bWVudFR5cGUgPSBUeXBlLmZyb21UeXBlTmFtZShhcmd1bWVudFR5cGVOYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICB0eXBlU3RyaW5nID0gdHlwZVN0cmluZ0Zyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUodHlwZU5hbWUsIGFyZ3VtZW50VHlwZU5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHR5cGVTdHJpbmcsICAvLy9cbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdHlwZSA9IG5ldyBUeXBlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlR5cGUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwibmFtZSIsImFyZ3VtZW50VHlwZSIsImdldE5hbWUiLCJnZXRBcmd1bWVudFR5cGUiLCJpc0xpc3RUeXBlIiwibGlzdFR5cGUiLCJMSVNUX1RZUEVfTkFNRSIsImlzU3RyaW5nVHlwZSIsImJvb2xlYW5UeXBlIiwiU1RSSU5HX1RZUEVfTkFNRSIsImlzQm9vbGVhblR5cGUiLCJCT09MRUFOX1RZUEVfTkFNRSIsImlzSW50ZWdlclR5cGUiLCJpbnRlZ2VyVHlwZSIsIklOVEVHRVJfVFlQRV9OQU1FIiwiaXNOb21pbmFsVmFsdWVUeXBlIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsInR5cGVOYW1lIiwidHlwZUFyZ3VtZW50VHlwZSIsImFyZ3VlbW50VHlwZUVxdWFsVG9UeXBlQXJndW1lbnRUeXBlIiwidG9KU09OIiwiZ2V0U3RyaW5nIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwianNvbiIsImZyb21KU09OIiwiaW5zdGFudGlhdGUiLCJ0eXBlTm9kZSIsImluc3RhbnRpYXRlVHlwZSIsIm5hbWVGcm9tVHlwZU5vZGUiLCJhcmd1bWVudFR5cGVGcm9tVHlwZU5vZGUiLCJmcm9tVHlwZU5hbWUiLCJ0eXBlU3RyaW5nIiwiZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSIsImFyZ3VtZW50VHlwZU5hbWUiLCJ0eXBlU3RyaW5nRnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWjZDOzBCQUV0Qjt5QkFFSzs2QkFDSTt3QkFDMEI7eUJBQ0M7MkJBQ3FEO0FBRWhILE1BQU0sRUFBRUEsMEJBQTBCLEVBQUUsR0FBR0MsbUNBQW1CO01BRTFELFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVD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
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVUeXBlIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5hbWVGcm9tVHlwZU5vZGUsIGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBJTlRFR0VSX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUeXBlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5hcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRBcmd1bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJndW1lbnRUeXBlO1xuICB9XG5cbiAgaXNMaXN0VHlwZSgpIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9ICh0aGlzLm5hbWUgPT09IExJU1RfVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBsaXN0VHlwZTtcbiAgfVxuXG4gIGlzU3RyaW5nVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IFNUUklOR19UWVBFX05BTUUpO1xuXG4gICAgcmV0dXJuIGJvb2xlYW5UeXBlO1xuICB9XG5cbiAgaXNCb29sZWFuVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IEJPT0xFQU5fVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBib29sZWFuVHlwZTtcbiAgfVxuXG4gIGlzSW50ZWdlclR5cGUoKSB7XG4gICAgY29uc3QgaW50ZWdlclR5cGUgPSAodGhpcy5uYW1lID09PSBJTlRFR0VSX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gaW50ZWdlclR5cGU7XG4gIH1cblxuICBpc05vbWluYWxWYWx1ZVR5cGUoKSB7XG4gICAgY29uc3QgbGlzdFR5cGUgPSAodGhpcy5uYW1lID09PSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gbGlzdFR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgaWYgKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5uYW1lKSB7XG4gICAgICAgIGNhc2UgTElTVF9UWVBFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCB0eXBlQXJndW1lbnRUeXBlID0gdHlwZS5nZXRBcmd1bWVudFR5cGUoKTtcblxuICAgICAgICAgIGlmICgodGhpcy5hcmd1bWVudFR5cGUgPT09IG51bGwpIHx8ICh0eXBlQXJndW1lbnRUeXBlID09PSBudWxsKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXJndW1lbnRUeXBlID09PSB0eXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlLmlzRXF1YWxUbyh0eXBlQXJndW1lbnRUeXBlKTtcblxuICAgICAgICAgICAgaWYgKGFyZ3VlbW50VHlwZUVxdWFsVG9UeXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIEJPT0xFQU5fVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIElOVEVHRVJfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FOiB7XG4gICAgICAgICAgZXF1YWxUbyA9IHRydWU7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUeXBlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICByZXR1cm4gaW5zdGFudGlhdGUoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgICAgdHlwZU5vZGUgPSBpbnN0YW50aWF0ZVR5cGUoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSB0eXBlTm9kZSwgIC8vL1xuICAgICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgICBuYW1lID0gbmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBhcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGVGcm9tVHlwZU5vZGUodHlwZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgY29uc3QgdHlwZSA9IG5ldyBUeXBlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKTtcblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSwgY29udGV4dCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lKHR5cGVOYW1lLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGUgPSBudWxsO1xuXG4gICAgaWYgKHR5cGVOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gbnVsbCwgIC8vL1xuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBhcmd1bWVudFR5cGUgPSBudWxsLFxuICAgICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgYXJndW1lbnRUeXBlID0gVHlwZS5mcm9tVHlwZU5hbWUoYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCksXG4gICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lKHR5cGVOYW1lLCBhcmd1bWVudFR5cGVOYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUeXBlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJhcmd1bWVudFR5cGUiLCJnZXROYW1lIiwiZ2V0QXJndW1lbnRUeXBlIiwiaXNMaXN0VHlwZSIsImxpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJpc1N0cmluZ1R5cGUiLCJib29sZWFuVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJpc0ludGVnZXJUeXBlIiwiaW50ZWdlclR5cGUiLCJJTlRFR0VSX1RZUEVfTkFNRSIsImlzTm9taW5hbFZhbHVlVHlwZSIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJ0eXBlTmFtZSIsInR5cGVBcmd1bWVudFR5cGUiLCJhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSIsInRvSlNPTiIsImdldFN0cmluZyIsImpzb24iLCJmcm9tSlNPTiIsImluc3RhbnRpYXRlIiwidHlwZU5vZGUiLCJpbnN0YW50aWF0ZVR5cGUiLCJuYW1lRnJvbVR5cGVOb2RlIiwiYXJndW1lbnRUeXBlRnJvbVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lIiwidHlwZVN0cmluZyIsImZyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiLCJhcmd1bWVudFR5cGVOYW1lIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7O2dDQVZ3QjswQkFFRDt5QkFFSzs2QkFDSTt3QkFDMEI7eUJBQ0M7MkJBQ3FEO01BRWhILFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksQ0FBRTtRQUNqRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtJQUN0QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO0lBQzFCO0lBRUFHLGFBQWE7UUFDWCxNQUFNQyxXQUFZLElBQUksQ0FBQ0wsSUFBSSxLQUFLTSx5QkFBYztRQUU5QyxPQUFPRDtJQUNUO0lBRUFFLGVBQWU7UUFDYixNQUFNQyxjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLUywyQkFBZ0I7UUFFbkQsT0FBT0Q7SUFDVDtJQUVBRSxnQkFBZ0I7UUFDZCxNQUFNRixjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLVyw0QkFB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
|
package/lib/process/verify.js
CHANGED
|
@@ -8,45 +8,33 @@ Object.defineProperty(exports, "verifyFile", {
|
|
|
8
8
|
return verifyFile;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
const _occamlanguages = require("occam-languages");
|
|
12
11
|
const _occamquery = require("occam-query");
|
|
12
|
+
const _occamlanguages = require("occam-languages");
|
|
13
13
|
const _element = require("../utilities/element");
|
|
14
14
|
const { nodeQuery } = _occamquery.queryUtilities;
|
|
15
15
|
const errorNodeQuery = nodeQuery("/error"), procedureNodeQuery = nodeQuery("/procedure");
|
|
16
|
-
class TopLevelPass extends _occamlanguages.
|
|
16
|
+
class TopLevelPass extends _occamlanguages.ContinuationPass {
|
|
17
17
|
static maps = [
|
|
18
18
|
{
|
|
19
19
|
nodeQuery: errorNodeQuery,
|
|
20
|
-
run: (errorNode, context)=>{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (errorVerifies) {
|
|
24
|
-
success = true;
|
|
25
|
-
}
|
|
26
|
-
return success;
|
|
20
|
+
run: (errorNode, context, continuation)=>{
|
|
21
|
+
const error = (0, _element.errorFromErrorNode)(errorNode, context);
|
|
22
|
+
error.verify(context, continuation);
|
|
27
23
|
}
|
|
28
24
|
},
|
|
29
25
|
{
|
|
30
26
|
nodeQuery: procedureNodeQuery,
|
|
31
|
-
run: (procedureNode, context)=>{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (procedureVerifies) {
|
|
35
|
-
success = true;
|
|
36
|
-
}
|
|
37
|
-
return success;
|
|
27
|
+
run: (procedureNode, context, continuation)=>{
|
|
28
|
+
const procedure = (0, _element.procedureFromProcedureNode)(procedureNode, context);
|
|
29
|
+
procedure.verify(context, continuation);
|
|
38
30
|
}
|
|
39
31
|
}
|
|
40
32
|
];
|
|
41
33
|
}
|
|
42
34
|
const topLevelPass = new TopLevelPass();
|
|
43
|
-
function verifyFile(fileNode, context) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (success) {
|
|
47
|
-
fileVerifies = true;
|
|
48
|
-
}
|
|
49
|
-
return fileVerifies;
|
|
35
|
+
function verifyFile(fileNode, context, continuation) {
|
|
36
|
+
const node = fileNode; ///
|
|
37
|
+
topLevelPass.run(node, context, continuation);
|
|
50
38
|
}
|
|
51
39
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9jZXNzL3ZlcmlmeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcXVlcnlVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcbmltcG9ydCB7IENvbnRpbnVhdGlvblBhc3MgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGVycm9yRnJvbUVycm9yTm9kZSwgcHJvY2VkdXJlRnJvbVByb2NlZHVyZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2VsZW1lbnRcIjtcblxuY29uc3QgeyBub2RlUXVlcnkgfSA9IHF1ZXJ5VXRpbGl0aWVzO1xuXG5jb25zdCBlcnJvck5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9lcnJvclwiKSxcbiAgICAgIHByb2NlZHVyZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVcIik7XG5cbmNsYXNzIFRvcExldmVsUGFzcyBleHRlbmRzIENvbnRpbnVhdGlvblBhc3Mge1xuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGVycm9yTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAoZXJyb3JOb2RlLCBjb250ZXh0LCBjb250aW51YXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBlcnJvckZyb21FcnJvck5vZGUoZXJyb3JOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICBlcnJvci52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogcHJvY2VkdXJlTm9kZVF1ZXJ5LFxuICAgICAgcnVuOiAocHJvY2VkdXJlTm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb2NlZHVyZSA9IHByb2NlZHVyZUZyb21Qcm9jZWR1cmVOb2RlKHByb2NlZHVyZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHByb2NlZHVyZS52ZXJpZnkoY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHRvcExldmVsUGFzcyA9IG5ldyBUb3BMZXZlbFBhc3MoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUZpbGUoZmlsZU5vZGUsIGNvbnRleHQsIGNvbnRpbnVhdGlvbikge1xuICBjb25zdCBub2RlID0gZmlsZU5vZGU7IC8vL1xuXG4gIHRvcExldmVsUGFzcy5ydW4obm9kZSwgY29udGV4dCwgY29udGludWF0aW9uKTtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlGaWxlIiwibm9kZVF1ZXJ5IiwicXVlcnlVdGlsaXRpZXMiLCJlcnJvck5vZGVRdWVyeSIsInByb2NlZHVyZU5vZGVRdWVyeSIsIlRvcExldmVsUGFzcyIsIkNvbnRpbnVhdGlvblBhc3MiLCJtYXBzIiwicnVuIiwiZXJyb3JOb2RlIiwiY29udGV4dCIsImNvbnRpbnVhdGlvbiIsImVycm9yIiwiZXJyb3JGcm9tRXJyb3JOb2RlIiwidmVyaWZ5IiwicHJvY2VkdXJlTm9kZSIsInByb2NlZHVyZSIsInByb2NlZHVyZUZyb21Qcm9jZWR1cmVOb2RlIiwidG9wTGV2ZWxQYXNzIiwiZmlsZU5vZGUiLCJub2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQ2dCQTs7O2VBQUFBOzs7NEJBakNlO2dDQUNFO3lCQUU4QjtBQUUvRCxNQUFNLEVBQUVDLFNBQVMsRUFBRSxHQUFHQywwQkFBYztBQUVwQyxNQUFNQyxpQkFBaUJGLFVBQVUsV0FDM0JHLHFCQUFxQkgsVUFBVTtBQUVyQyxNQUFNSSxxQkFBcUJDLGdDQUFnQjtJQUN6QyxPQUFPQyxPQUFPO1FBQ1o7WUFDRU4sV0FBV0U7WUFDWEssS0FBSyxDQUFDQyxXQUFXQyxTQUFTQztnQkFDeEIsTUFBTUMsUUFBUUMsSUFBQUEsMkJBQWtCLEVBQUNKLFdBQVdDO2dCQUU1Q0UsTUFBTUUsTUFBTSxDQUFDSixTQUFTQztZQUN4QjtRQUNGO1FBQ0E7WUFDRVYsV0FBV0c7WUFDWEksS0FBSyxDQUFDTyxlQUFlTCxTQUFTQztnQkFDNUIsTUFBTUssWUFBWUMsSUFBQUEsbUNBQTBCLEVBQUNGLGVBQWVMO2dCQUU1RE0sVUFBVUYsTUFBTSxDQUFDSixTQUFTQztZQUM1QjtRQUNGO0tBQ0QsQ0FBQztBQUNKO0FBRUEsTUFBTU8sZUFBZSxJQUFJYjtBQUVsQixTQUFTTCxXQUFXbUIsUUFBUSxFQUFFVCxPQUFPLEVBQUVDLFlBQVk7SUFDeEQsTUFBTVMsT0FBT0QsVUFBVSxHQUFHO0lBRTFCRCxhQUFhVixHQUFHLENBQUNZLE1BQU1WLFNBQVNDO0FBQ2xDIn0=
|