occam-furtle 3.0.452 → 3.0.454
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/anonymousProcedure.js +4 -4
- package/lib/element/assignment/variable.js +2 -2
- package/lib/element/procedure.js +2 -2
- package/lib/element/procedureCall.js +3 -3
- package/lib/element/returnBlock.js +4 -4
- package/lib/element/some.js +2 -2
- package/lib/element/ternary.js +2 -2
- package/package.json +2 -2
- package/src/element/anonymousProcedure.js +3 -3
- package/src/element/assignment/variable.js +1 -1
- package/src/element/procedure.js +1 -1
- package/src/element/procedureCall.js +2 -2
- package/src/element/returnBlock.js +3 -3
- package/src/element/some.js +1 -1
- package/src/element/ternary.js +1 -1
|
@@ -33,22 +33,22 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
33
33
|
getReturnBlock() {
|
|
34
34
|
return this.returnBlock;
|
|
35
35
|
}
|
|
36
|
-
call(values, context,
|
|
36
|
+
call(values, context, back, forward) {
|
|
37
37
|
const anonymousProcedureString = this.getString(); ///
|
|
38
38
|
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
39
39
|
this.parameters.compareValues(values, context);
|
|
40
40
|
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
|
|
41
|
-
this.returnBlock.evaluate(variables, context, (value)=>{
|
|
41
|
+
return this.returnBlock.evaluate(variables, context, back, (value)=>{
|
|
42
42
|
const valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
43
43
|
if (!typeEqualToValueType) {
|
|
44
44
|
const valueString = value.getString(), typeString = this.type.getString(), message = `The '${valueString}' value's '${valueType}' type is not equal to the '${anonymousProcedureString}' anonymous function's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
|
|
45
45
|
throw exception;
|
|
46
46
|
}
|
|
47
47
|
context.debug(`...called the '${anonymousProcedureString}' anonymous function.`);
|
|
48
|
-
|
|
48
|
+
return forward(value);
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
static name = "AnonymousProcedure";
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Fub255bW91c1Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEFub255bW91c1Byb2NlZHVyZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jaztcbiAgfVxuXG4gIGNhbGwodmFsdWVzLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9JyBhbm9ueW1vdXMgZnVuY3Rpb24uLi5gKTtcblxuICAgIHRoaXMucGFyYW1ldGVycy5jb21wYXJlVmFsdWVzKHZhbHVlcywgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YXJpYWJsZXMgPSB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyh2YWx1ZXMsIHRoaXMucGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdGhpcy5yZXR1cm5CbG9jay5ldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQsIGJhY2ssICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9JyBhbm9ueW1vdXMgZnVuY3Rpb24ncyAnJHt0eXBlU3RyaW5nfScgdHlwZS5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jYWxsZWQgdGhlICcke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30nIGFub255bW91cyBmdW5jdGlvbi5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkFub255bW91c1Byb2NlZHVyZVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQW5vbnltb3VzUHJvY2VkdXJlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJwYXJhbWV0ZXJzIiwicmV0dXJuQmxvY2siLCJnZXRUeXBlIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiY2FsbCIsInZhbHVlcyIsImJhY2siLCJmb3J3YXJkIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJjb21wYXJlVmFsdWVzIiwidmFyaWFibGVzIiwidmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMiLCJldmFsdWF0ZSIsInZhbHVlIiwidmFsdWVUeXBlIiwidHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJ2YWx1ZVN0cmluZyIsInR5cGVTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzs0QkFDMEI7Ozs7OztNQUVqRCxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxDQUFFO1FBQzVFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtJQUNyQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNILFVBQVU7SUFDeEI7SUFFQUksaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7SUFDekI7SUFFQUksS0FBS0MsTUFBTSxFQUFFWCxPQUFPLEVBQUVZLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQ25DLE1BQU1DLDJCQUEyQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXREZixRQUFRZ0IsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFRix5QkFBeUIsdUJBQXVCLENBQUM7UUFFL0UsSUFBSSxDQUFDVCxVQUFVLENBQUNZLGFBQWEsQ0FBQ04sUUFBUVg7UUFFdEMsTUFBTWtCLFlBQVlDLElBQUFBLDRDQUFnQyxFQUFDUixRQUFRLElBQUksQ0FBQ04sVUFBVSxFQUFFTDtRQUU1RSxPQUFPLElBQUksQ0FBQ00sV0FBVyxDQUFDYyxRQUFRLENBQUNGLFdBQVdsQixTQUFTWSxNQUFNLENBQUNTO1lBQzFELE1BQU1DLFlBQVlELE1BQU1kLE9BQU8sSUFDekJnQix1QkFBdUIsSUFBSSxDQUFDbkIsSUFBSSxDQUFDb0IsU0FBUyxDQUFDRjtZQUVqRCxJQUFJLENBQUNDLHNCQUFzQjtnQkFDekIsTUFBTUUsY0FBY0osTUFBTU4sU0FBUyxJQUM3QlcsYUFBYSxJQUFJLENBQUN0QixJQUFJLENBQUNXLFNBQVMsSUFDaENZLFVBQVUsQ0FBQyxLQUFLLEVBQUVGLFlBQVksV0FBVyxFQUFFSCxVQUFVLDRCQUE0QixFQUFFUix5QkFBeUIsd0JBQXdCLEVBQUVZLFdBQVcsT0FBTyxDQUFDLEVBQ3pKRSxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO2dCQUV4QyxNQUFNQztZQUNSO1lBRUE1QixRQUFRK0IsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFakIseUJBQXlCLHFCQUFxQixDQUFDO1lBRS9FLE9BQU9ELFFBQVFRO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPVyxPQUFPLHFCQUFxQjtBQUNyQyJ9
|
|
@@ -25,7 +25,7 @@ const _default = (0, _elements.define)(class VariableAssignment extends _occamla
|
|
|
25
25
|
evaluate(context, back, forward) {
|
|
26
26
|
const variableAssignmentString = this.getString(); ///
|
|
27
27
|
context.trace(`Evaluating the '${variableAssignmentString}' variable assignment...`);
|
|
28
|
-
this.expression.evaluate(context, (value)=>{
|
|
28
|
+
return this.expression.evaluate(context, back, (value)=>{
|
|
29
29
|
this.variable.assign(value, context);
|
|
30
30
|
const valueString = value.getString();
|
|
31
31
|
context.debug(`...evaluated the '${variableAssignmentString}' variable assignment as '${valueString}'.`);
|
|
@@ -35,4 +35,4 @@ const _default = (0, _elements.define)(class VariableAssignment extends _occamla
|
|
|
35
35
|
static name = "VariableAssignment";
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLnZhcmlhYmxlLmFzc2lnbih2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dmFyaWFibGVBc3NpZ25tZW50U3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudCBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJWYXJpYWJsZUFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJleHByZXNzaW9uIiwiZ2V0VmFyaWFibGUiLCJnZXRFeHByZXNzaW9uIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJhc3NpZ24iLCJ2YWx1ZVN0cmluZyIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsMkJBQTJCQyx1QkFBTztJQUM1RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxDQUFFO1FBQ25FLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixNQUFNQywyQkFBMkIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUV0RFosUUFBUWEsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLHlCQUF5Qix3QkFBd0IsQ0FBQztRQUVuRixPQUFPLElBQUksQ0FBQ04sVUFBVSxDQUFDRyxRQUFRLENBQUNSLFNBQVNTLE1BQU0sQ0FBQ0s7WUFDOUMsSUFBSSxDQUFDVixRQUFRLENBQUNXLE1BQU0sQ0FBQ0QsT0FBT2Q7WUFFNUIsTUFBTWdCLGNBQWNGLE1BQU1GLFNBQVM7WUFFbkNaLFFBQVFpQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRU4seUJBQXlCLDBCQUEwQixFQUFFSyxZQUFZLEVBQUUsQ0FBQztZQUV2RyxPQUFPTixRQUFRSTtRQUNqQjtJQUNGO0lBRUEsT0FBT0ksT0FBTyxxQkFBcUI7QUFDckMifQ==
|
package/lib/element/procedure.js
CHANGED
|
@@ -75,7 +75,7 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
|
|
|
75
75
|
this.parameters.compareValues(values, context);
|
|
76
76
|
this.guaranteeReturnBlock();
|
|
77
77
|
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
|
|
78
|
-
this.returnBlock.evaluate(variables, context, (value)=>{
|
|
78
|
+
return this.returnBlock.evaluate(variables, context, back, (value)=>{
|
|
79
79
|
const valueType = value.getType(), typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
80
80
|
if (!typeEqualToValueType) {
|
|
81
81
|
const valueString = value.getString(), typeString = this.type.getString(), message = `The '${valueString}' value's '${typeString}' type is not equal to the '${procedureString}' function's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
|
|
@@ -116,4 +116,4 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
|
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
118
|
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlc1wiO1xuaW1wb3J0IHsgcmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgbGFiZWxGcm9tSlNPTiwgcGFyYW1ldGVyc0Zyb21KU09OLCB0eXBlVG9UeXBlSlNPTiwgbGFiZWxUb0xhYmVsSlNPTiwgcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBicmVha2FibGUsIGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQcm9jZWR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBsYWJlbCwgcGFyYW1ldGVycywgcmV0dXJuQmxvY2spIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMubGFiZWwuZ2V0TmFtZSgpOyB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBib29sZWFuVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIGJvb2xlYW47XG4gIH1cblxuICBnZXRSZXR1cm5TdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnJldHVybkJsb2NrLmdldFJldHVyblN0YXRlbWVudCgpOyB9XG5cbiAgY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkgeyByZXR1cm4gdGhpcy5sYWJlbC5jb21wYXJlUHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTsgfVxuXG4gIGd1YXJhbnRlZVJldHVybkJsb2NrKCkge1xuICAgIGlmICh0aGlzLnJldHVybkJsb2NrICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBub2RlO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUocHJvY2VkdXJlTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYClcblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi5gKVxuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCk7XG4gIH1cblxuICBjYWxsID0gYnJlYWthYmxlKGZ1bmN0aW9uICh2YWx1ZXMsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmNvbXBhcmVWYWx1ZXModmFsdWVzLCBjb250ZXh0KTtcblxuICAgIHRoaXMuZ3VhcmFudGVlUmV0dXJuQmxvY2soKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzKHZhbHVlcywgdGhpcy5wYXJhbWV0ZXJzLCBjb250ZXh0KTtcblxuICAgIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIHR5cGVFcXVhbFRvVmFsdWVUeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUbyh2YWx1ZVR5cGUpO1xuXG4gICAgICBpZiAoIXR5cGVFcXVhbFRvVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt0eXBlU3RyaW5nfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY2FsbGVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICAgIH0pO1xuICB9KTtcblxuICBjYWxsTm9taW5hbGx5KG5vbWluYWxWYWx1ZXMsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcHJvY2VkdXJlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ2FsbGluZyB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5Li4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0aGlzLmNhbGwodmFsdWVzLCBjb250ZXh0LCBiYWNrLCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIGxhYmVsSlNPTiA9IGxhYmVsVG9MYWJlbEpTT04odGhpcy5sYWJlbCksXG4gICAgICAgICAgcGFyYW1ldGVyc0pTT04gPSBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTih0aGlzLnBhcmFtZXRlcnMpLFxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgIGJyZWFrUG9pbnQgPSB0aGlzLmdldEJyZWFrUG9pbnQoKTtcblxuICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGNvbnN0IHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGxhYmVsID0gbGFiZWxKU09OLCAgLy8vXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgIGJyZWFrUG9pbnQsXG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRGcm9tSlNPTihqc29uKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGxhYmVsID0gbGFiZWxGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSxcbiAgICAgICAgICByZXR1cm5CbG9jayA9IG51bGwsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVOb2RlLCAvLy9cbiAgICAgICAgICBwcm9jZWR1cmUgPSBuZXcgUHJvY2VkdXJlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlByb2NlZHVyZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwibGFiZWwiLCJwYXJhbWV0ZXJzIiwicmV0dXJuQmxvY2siLCJnZXRUeXBlIiwiZ2V0TGFiZWwiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXROYW1lIiwiaXNCb29sZWFuIiwiYm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiYm9vbGVhbiIsImdldFJldHVyblN0YXRlbWVudCIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlTmFtZSIsImd1YXJhbnRlZVJldHVybkJsb2NrIiwiZ2V0Tm9kZSIsImdldENvbnRleHQiLCJwcm9jZWR1cmVOb2RlIiwicmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZSIsInZlcmlmeSIsImJhY2siLCJmb3J3YXJkIiwicHJvY2VkdXJlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJwcm9jZWR1cmUiLCJhZGRQcm9jZWR1cmUiLCJkZWJ1ZyIsImNhbGwiLCJ2YWx1ZXMiLCJjb21wYXJlVmFsdWVzIiwidmFyaWFibGVzIiwidmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMiLCJldmFsdWF0ZSIsInZhbHVlIiwidmFsdWVUeXBlIiwidHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJ2YWx1ZVN0cmluZyIsInR5cGVTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJjYWxsTm9taW5hbGx5Iiwibm9taW5hbFZhbHVlcyIsInZhbHVlc0Zyb21Ob21pbmFsVmFsdWVzIiwidG9KU09OIiwidHlwZUpTT04iLCJ0eXBlVG9UeXBlSlNPTiIsImxhYmVsSlNPTiIsImxhYmVsVG9MYWJlbEpTT04iLCJwYXJhbWV0ZXJzSlNPTiIsInBhcmFtZXRlcnNUb1BhcmFtZXRlcnNKU09OIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwianNvbiIsIm5hbWUiLCJmcm9tSlNPTiIsInR5cGVGcm9tSlNPTiIsImxhYmVsRnJvbUpTT04iLCJwYXJhbWV0ZXJzRnJvbUpTT04iLCJmaW5kUHJvY2VkdXJlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWjZDO2tFQUV2QjswQkFFQzt3QkFDaUI7eUJBQ0s7NEJBQ0k7c0JBQzZFOzs7Ozs7QUFFOUgsTUFBTSxFQUFFQSxTQUFTLEVBQUVDLGtCQUFrQixFQUFFQywwQkFBMEIsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekYsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLHVCQUFPO0lBQ25ELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxDQUFFO1FBQ25GLEtBQUssQ0FBQ1AsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtJQUNyQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNKLElBQUk7SUFDbEI7SUFFQUssV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDSixLQUFLO0lBQ25CO0lBRUFLLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDSixVQUFVO0lBQ3hCO0lBRUFLLGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDSixXQUFXO0lBQ3pCO0lBRUFLLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQ1AsS0FBSyxDQUFDTyxPQUFPO0lBQUk7SUFFekNDLFlBQVk7UUFDVixNQUFNVCxPQUFPLElBQUksQ0FBQ0ksT0FBTyxJQUNuQk0sY0FBY1YsS0FBS1csYUFBYSxJQUNoQ0MsVUFBVUYsYUFBYyxHQUFHO1FBRWpDLE9BQU9FO0lBQ1Q7SUFFQUMscUJBQXFCO1FBQUUsT0FBTyxJQUFJLENBQUNWLFdBQVcsQ0FBQ1Usa0JBQWtCO0lBQUk7SUFFckVDLHFCQUFxQkMsYUFBYSxFQUFFO1FBQUUsT0FBTyxJQUFJLENBQUNkLEtBQUssQ0FBQ2Esb0JBQW9CLENBQUNDO0lBQWdCO0lBRTdGQyx1QkFBdUI7UUFDckIsSUFBSSxJQUFJLENBQUNiLFdBQVcsSUFBSSxNQUFNO1lBQzVCO1FBQ0Y7UUFFQSxNQUFNTCxPQUFPLElBQUksQ0FBQ21CLE9BQU8sSUFDbkJyQixVQUFVLElBQUksQ0FBQ3NCLFVBQVUsSUFDekJDLGdCQUFnQnJCO1FBRXRCLElBQUksQ0FBQ0ssV0FBVyxHQUFHaUIsSUFBQUEscUNBQTRCLEVBQUNELGVBQWV2QjtJQUNqRTtJQUVBeUIsT0FBT3pCLE9BQU8sRUFBRTBCLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQzdCLE1BQU1DLGtCQUFrQixJQUFJLENBQUNDLFNBQVM7UUFFdEM3QixRQUFROEIsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFRixnQkFBZ0IsYUFBYSxDQUFDO1FBRTlELE1BQU1HLFlBQVksSUFBSSxFQUFFLEdBQUc7UUFFM0IvQixRQUFRZ0MsWUFBWSxDQUFDRDtRQUVyQi9CLFFBQVFpQyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRUwsZ0JBQWdCLFdBQVcsQ0FBQztRQUU5RCxPQUFPRCxRQUFRM0I7SUFDakI7SUFFQWtDLE9BQU96QyxVQUFVLFNBQVUwQyxNQUFNLEVBQUVuQyxPQUFPLEVBQUUwQixJQUFJLEVBQUVDLE9BQU87UUFDdkQsTUFBTUMsa0JBQWtCLElBQUksQ0FBQ0MsU0FBUyxJQUFLLEdBQUc7UUFFOUM3QixRQUFROEIsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFRixnQkFBZ0IsYUFBYSxDQUFDO1FBRTVELElBQUksQ0FBQ3RCLFVBQVUsQ0FBQzhCLGFBQWEsQ0FBQ0QsUUFBUW5DO1FBRXRDLElBQUksQ0FBQ29CLG9CQUFvQjtRQUV6QixNQUFNaUIsWUFBWUMsSUFBQUEsNENBQWdDLEVBQUNILFFBQVEsSUFBSSxDQUFDN0IsVUFBVSxFQUFFTjtRQUU1RSxJQUFJLENBQUNPLFdBQVcsQ0FBQ2dDLFFBQVEsQ0FBQ0YsV0FBV3JDLFNBQVMsQ0FBQ3dDO1lBQzdDLE1BQU1DLFlBQVlELE1BQU1oQyxPQUFPLElBQ3pCa0MsdUJBQXVCLElBQUksQ0FBQ3RDLElBQUksQ0FBQ3VDLFNBQVMsQ0FBQ0Y7WUFFakQsSUFBSSxDQUFDQyxzQkFBc0I7Z0JBQ3pCLE1BQU1FLGNBQWNKLE1BQU1YLFNBQVMsSUFDN0JnQixhQUFhLElBQUksQ0FBQ3pDLElBQUksQ0FBQ3lCLFNBQVMsSUFDaENpQixVQUFVLENBQUMsS0FBSyxFQUFFRixZQUFZLFdBQVcsRUFBRUMsV0FBVyw0QkFBNEIsRUFBRWpCLGdCQUFnQixjQUFjLEVBQUVpQixXQUFXLE9BQU8sQ0FBQyxFQUN2SUUsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtnQkFFeEMsTUFBTUM7WUFDUjtZQUVBL0MsUUFBUWlDLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUwsZ0JBQWdCLFdBQVcsQ0FBQztZQUU1RCxPQUFPRCxRQUFRYTtRQUNqQjtJQUNGLEdBQUc7SUFFSFUsY0FBY0MsYUFBYSxFQUFFekIsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDMUMsTUFBTTNCLFVBQVUsSUFBSSxDQUFDc0IsVUFBVSxJQUN6Qk0sa0JBQWtCLElBQUksQ0FBQ0MsU0FBUyxJQUFLLEdBQUc7UUFFOUM3QixRQUFROEIsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFRixnQkFBZ0IsdUJBQXVCLENBQUM7UUFFdEUsTUFBTU8sU0FBU2lCLElBQUFBLCtCQUF1QixFQUFDRCxlQUFlbkQ7UUFFdEQsT0FBTyxJQUFJLENBQUNrQyxJQUFJLENBQUNDLFFBQVFuQyxTQUFTMEIsTUFBTSxDQUFDYztZQUN2Q3hDLFFBQVFpQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUVMLGdCQUFnQixxQkFBcUIsQ0FBQztZQUV0RSxPQUFPRCxRQUFRYTtRQUNqQjtJQUNGO0lBRUFhLFNBQVM7UUFDUCxNQUFNQyxXQUFXQyxJQUFBQSxvQkFBYyxFQUFDLElBQUksQ0FBQ25ELElBQUksR0FDbkNvRCxZQUFZQyxJQUFBQSxzQkFBZ0IsRUFBQyxJQUFJLENBQUNwRCxLQUFLLEdBQ3ZDcUQsaUJBQWlCQyxJQUFBQSxnQ0FBMEIsRUFBQyxJQUFJLENBQUNyRCxVQUFVLEdBQzNETCxTQUFTLElBQUksQ0FBQzRCLFNBQVM7UUFFN0IsSUFBSTFCO1FBRUpBLGFBQWEsSUFBSSxDQUFDeUQsYUFBYTtRQUUvQixNQUFNQyxpQkFBaUJsRSwyQkFBMkJRO1FBRWxEQSxhQUFhMEQsZ0JBQWlCLEdBQUc7UUFFakMsTUFBTXpELE9BQU9rRCxVQUNQakQsUUFBUW1ELFdBQ1JsRCxhQUFhb0QsZ0JBQ2JJLE9BQU87WUFDTDdEO1lBQ0FFO1lBQ0FDO1lBQ0FDO1lBQ0FDO1FBQ0Y7UUFFTixPQUFPd0Q7SUFDVDtJQUVBLE9BQU9DLE9BQU8sWUFBWTtJQUUxQixPQUFPQyxTQUFTRixJQUFJLEVBQUU5RCxPQUFPLEVBQUU7UUFDN0IsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBRzZELE1BQ2IzRCxhQUFhVCxtQkFBbUJvRSxPQUNoQzFELE9BQU82RCxJQUFBQSxrQkFBWSxFQUFDSCxNQUFNOUQsVUFDMUJLLFFBQVE2RCxJQUFBQSxtQkFBYSxFQUFDSixNQUFNOUQsVUFDNUJNLGFBQWE2RCxJQUFBQSx3QkFBa0IsRUFBQ0wsTUFBTTlELFVBQ3RDdUIsZ0JBQWdCdkIsUUFBUW9FLGlCQUFpQixDQUFDL0QsUUFDMUNFLGNBQWMsTUFDZEwsT0FBT3FCLGVBQ1BRLFlBQVksSUFBSWpDLFVBQVVFLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDLE1BQU1DLE9BQU9DLFlBQVlDO1FBRTVGLE9BQU93QjtJQUNUO0FBQ0YifQ==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlc1wiO1xuaW1wb3J0IHsgcmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgdmFyaWFibGVzRnJvbVZhbHVlc0FuZFBhcmFtZXRlcnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3BhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgbGFiZWxGcm9tSlNPTiwgcGFyYW1ldGVyc0Zyb21KU09OLCB0eXBlVG9UeXBlSlNPTiwgbGFiZWxUb0xhYmVsSlNPTiwgcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyBicmVha2FibGUsIGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQcm9jZWR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBsYWJlbCwgcGFyYW1ldGVycywgcmV0dXJuQmxvY2spIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMubGFiZWwuZ2V0TmFtZSgpOyB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBib29sZWFuVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIGJvb2xlYW47XG4gIH1cblxuICBnZXRSZXR1cm5TdGF0ZW1lbnQoKSB7IHJldHVybiB0aGlzLnJldHVybkJsb2NrLmdldFJldHVyblN0YXRlbWVudCgpOyB9XG5cbiAgY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkgeyByZXR1cm4gdGhpcy5sYWJlbC5jb21wYXJlUHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTsgfVxuXG4gIGd1YXJhbnRlZVJldHVybkJsb2NrKCkge1xuICAgIGlmICh0aGlzLnJldHVybkJsb2NrICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBub2RlO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUocHJvY2VkdXJlTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICB2ZXJpZnkoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYClcblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi5gKVxuXG4gICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCk7XG4gIH1cblxuICBjYWxsID0gYnJlYWthYmxlKGZ1bmN0aW9uICh2YWx1ZXMsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgdGhpcy5wYXJhbWV0ZXJzLmNvbXBhcmVWYWx1ZXModmFsdWVzLCBjb250ZXh0KTtcblxuICAgIHRoaXMuZ3VhcmFudGVlUmV0dXJuQmxvY2soKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzKHZhbHVlcywgdGhpcy5wYXJhbWV0ZXJzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgICAgaWYgKCF0eXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbidzICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24uYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgY2FsbE5vbWluYWxseShub21pbmFsVmFsdWVzLCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMobm9taW5hbFZhbHVlcywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdGhpcy5jYWxsKHZhbHVlcywgY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jYWxsZWQgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uIG5vbWluYWxseS5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHR5cGVKU09OID0gdHlwZVRvVHlwZUpTT04odGhpcy50eXBlKSxcbiAgICAgICAgICBsYWJlbEpTT04gPSBsYWJlbFRvTGFiZWxKU09OKHRoaXMubGFiZWwpLFxuICAgICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04odGhpcy5wYXJhbWV0ZXJzKSxcbiAgICAgICAgICBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRKU09OOyAgLy8vXG5cbiAgICBjb25zdCB0eXBlID0gdHlwZUpTT04sICAvLy9cbiAgICAgICAgICBsYWJlbCA9IGxhYmVsSlNPTiwgIC8vL1xuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICBicmVha1BvaW50LFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgcGFyYW1ldGVyc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBsYWJlbCA9IGxhYmVsRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwcm9jZWR1cmVOb2RlID0gY29udGV4dC5maW5kUHJvY2VkdXJlTm9kZShsYWJlbCksXG4gICAgICAgICAgcmV0dXJuQmxvY2sgPSBudWxsLCAvLy9cbiAgICAgICAgICBub2RlID0gcHJvY2VkdXJlTm9kZSwgLy8vXG4gICAgICAgICAgcHJvY2VkdXJlID0gbmV3IFByb2NlZHVyZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jayk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha2FibGUiLCJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcm9jZWR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImxhYmVsIiwicGFyYW1ldGVycyIsInJldHVybkJsb2NrIiwiZ2V0VHlwZSIsImdldExhYmVsIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiZ2V0TmFtZSIsImlzQm9vbGVhbiIsImJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsImJvb2xlYW4iLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJjb21wYXJlUHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJndWFyYW50ZWVSZXR1cm5CbG9jayIsImdldE5vZGUiLCJnZXRDb250ZXh0IiwicHJvY2VkdXJlTm9kZSIsInJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUiLCJ2ZXJpZnkiLCJiYWNrIiwiZm9yd2FyZCIsInByb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwicHJvY2VkdXJlIiwiYWRkUHJvY2VkdXJlIiwiZGVidWciLCJjYWxsIiwidmFsdWVzIiwiY29tcGFyZVZhbHVlcyIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsInR5cGVFcXVhbFRvVmFsdWVUeXBlIiwiaXNFcXVhbFRvIiwidmFsdWVTdHJpbmciLCJ0eXBlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiY2FsbE5vbWluYWxseSIsIm5vbWluYWxWYWx1ZXMiLCJ2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyIsInRvSlNPTiIsInR5cGVKU09OIiwidHlwZVRvVHlwZUpTT04iLCJsYWJlbEpTT04iLCJsYWJlbFRvTGFiZWxKU09OIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiIsImdldEJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsImpzb24iLCJuYW1lIiwiZnJvbUpTT04iLCJ0eXBlRnJvbUpTT04iLCJsYWJlbEZyb21KU09OIiwicGFyYW1ldGVyc0Zyb21KU09OIiwiZmluZFByb2NlZHVyZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7O2dDQVo2QztrRUFFdkI7MEJBRUM7d0JBQ2lCO3lCQUNLOzRCQUNJO3NCQUM2RTs7Ozs7O0FBRTlILE1BQU0sRUFBRUEsU0FBUyxFQUFFQyxrQkFBa0IsRUFBRUMs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
|
|
@@ -42,8 +42,8 @@ const _default = (0, _elements.define)(class ProcedureCall extends _occamlanguag
|
|
|
42
42
|
throw exception;
|
|
43
43
|
}
|
|
44
44
|
const procedure = context.findProcedureByProcedureName(procedureName), values = this.values.evaluate(context);
|
|
45
|
-
(0, _context.free)((context)=>{
|
|
46
|
-
procedure.call(values, context, (value)=>{
|
|
45
|
+
return (0, _context.free)((context)=>{
|
|
46
|
+
return procedure.call(values, context, back, (value)=>{
|
|
47
47
|
const valueString = value.getString();
|
|
48
48
|
context.debug(`...evaluated the '${procedureCallString}' function call as '${valueString}'.`);
|
|
49
49
|
return forward(value);
|
|
@@ -53,4 +53,4 @@ const _default = (0, _elements.define)(class ProcedureCall extends _occamlanguag
|
|
|
53
53
|
static name = "ProcedureCall";
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZUNhbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBmcmVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBicmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQcm9jZWR1cmVDYWxsIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgcmVmZXJlbmNlLCB2YWx1ZXMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5yZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlO1xuICB9XG5cbiAgZ2V0VmFsdWVzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxuXG4gIGdldFByb2NlZHVyZU5hbWUoKSB7IHJldHVybiB0aGlzLnJlZmVyZW5jZS5nZXRQcm9jZWR1cmVOYW1lKCk7IH1cblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHByb2NlZHVyZUNhbGxTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgZnVuY3Rpb24gY2FsbC4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVByZXNlbnQgPSBjb250ZXh0LmlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIGlmICghcHJvY2VkdXJlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIGZ1bmN0aW9uIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gY29udGV4dC5maW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpLFxuICAgICAgICAgIHZhbHVlcyA9IHRoaXMudmFsdWVzLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyZWUoKGNvbnRleHQpID0+IHtcbiAgICAgIHJldHVybiBwcm9jZWR1cmUuY2FsbCh2YWx1ZXMsIGNvbnRleHQsIGJhY2ssICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIGZ1bmN0aW9uIGNhbGwgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9LCBjb250ZXh0KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZUNhbGxcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcm9jZWR1cmVDYWxsIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInJlZmVyZW5jZSIsInZhbHVlcyIsImdldFJlZmVyZW5jZSIsImdldFZhbHVlcyIsImdldFByb2NlZHVyZU5hbWUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwicHJvY2VkdXJlQ2FsbFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwicHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZVByZXNlbnQiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcm9jZWR1cmUiLCJmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lIiwiZnJlZSIsImNhbGwiLCJ2YWx1ZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQUE7OztnQ0FUNkM7a0VBRXZCO3lCQUVEOzBCQUNFOzs7Ozs7QUFFdkIsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsc0JBQXNCQyx1QkFBTztJQUN2RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxDQUFFO1FBQ2hFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNoQjtJQUVBQyxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7SUFDdkI7SUFFQUcsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDRixNQUFNO0lBQ3BCO0lBRUFHLG1CQUFtQjtRQUFFLE9BQU8sSUFBSSxDQUFDSixTQUFTLENBQUNJLGdCQUFnQjtJQUFJO0lBRS9EQyxXQUFXZCxVQUFVLFNBQVVLLE9BQU8sRUFBRVUsSUFBSSxFQUFFQyxPQUFPO1FBQ25ELE1BQU1DLHNCQUFzQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRWxEYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsb0JBQW9CLGtCQUFrQixDQUFDO1FBRXhFLE1BQU1HLGdCQUFnQixJQUFJLENBQUNQLGdCQUFnQixJQUNyQ1EsbUJBQW1CaEIsUUFBUWlCLGlDQUFpQyxDQUFDRjtRQUVuRSxJQUFJLENBQUNDLGtCQUFrQjtZQUNyQixNQUFNRSxVQUFVLENBQUMsS0FBSyxFQUFFTixvQkFBb0IsMkJBQTJCLENBQUMsRUFDbEVPLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLE1BQU1HLFlBQVl0QixRQUFRdUIsNEJBQTRCLENBQUNSLGdCQUNqRFYsU0FBUyxJQUFJLENBQUNBLE1BQU0sQ0FBQ0ksUUFBUSxDQUFDVDtRQUVwQyxPQUFPd0IsSUFBQUEsYUFBSSxFQUFDLENBQUN4QjtZQUNYLE9BQU9zQixVQUFVRyxJQUFJLENBQUNwQixRQUFRTCxTQUFTVSxNQUFNLENBQUNnQjtnQkFDNUMsTUFBTUMsY0FBY0QsTUFBTWIsU0FBUztnQkFFbkNiLFFBQVE0QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWhCLG9CQUFvQixvQkFBb0IsRUFBRWUsWUFBWSxFQUFFLENBQUM7Z0JBRTVGLE9BQU9oQixRQUFRZTtZQUNqQjtRQUNGLEdBQUcxQjtJQUNMLEdBQUc7SUFFSCxPQUFPNkIsT0FBTyxnQkFBZ0I7QUFDaEMifQ==
|
|
@@ -41,8 +41,8 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
41
41
|
const message = `The return block is nonsensical.`, exception = _exception.default.fromMessage(message);
|
|
42
42
|
throw exception;
|
|
43
43
|
}
|
|
44
|
-
(0, _context.confine)((context)=>{
|
|
45
|
-
this.evaluateStatements(context, ()=>{
|
|
44
|
+
return (0, _context.confine)((context)=>{
|
|
45
|
+
return this.evaluateStatements(context, back, ()=>{
|
|
46
46
|
const value = this.returnStatement.evaluate(context), valueString = value.getString();
|
|
47
47
|
context.debug(`...evaluated the '${returnBlockString}' return block as '${valueString}'.`);
|
|
48
48
|
return forward(value);
|
|
@@ -54,7 +54,7 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
54
54
|
context.trace(`Evaluating the '${returnBlockString}' return block's statements...`);
|
|
55
55
|
return forEach(this.statements, (statement, back, forward)=>{
|
|
56
56
|
return statement.evaluate(context, back, forward);
|
|
57
|
-
}, ()=>{
|
|
57
|
+
}, back, ()=>{
|
|
58
58
|
context.debug(`...evaluated the '${returnBlockString}' return block's statements.`);
|
|
59
59
|
return forward();
|
|
60
60
|
});
|
|
@@ -62,4 +62,4 @@ const _default = (0, _elements.define)(class ReturnBlock extends _occamlanguages
|
|
|
62
62
|
static name = "ReturnBlock";
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3JldHVybkJsb2NrLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGNvbmZpbmUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBSZXR1cm5CbG9jayBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHN0YXRlbWVudHMsIG5vbnNlbnNpY2FsLCByZXR1cm5TdGF0ZW1lbnQpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5zdGF0ZW1lbnRzID0gc3RhdGVtZW50cztcbiAgICB0aGlzLm5vbnNlbnNpY2FsID0gbm9uc2Vuc2ljYWw7XG4gICAgdGhpcy5yZXR1cm5TdGF0ZW1lbnQgPSByZXR1cm5TdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnRzKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHM7XG4gIH1cblxuICBpc05vbnNlbnNpY2FsKCkge1xuICAgIHJldHVybiB0aGlzLm5vbnNlbnNpY2FsO1xuICB9XG5cbiAgZ2V0UmV0dXJuU3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnJldHVyblN0YXRlbWVudDtcbiAgfVxuXG4gIGV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHJldHVybkJsb2NrU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtyZXR1cm5CbG9ja1N0cmluZ30nIHJldHVybiBibG9jay4uLmApO1xuXG4gICAgaWYgKHRoaXMubm9uc2Vuc2ljYWwpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIHJldHVybiBibG9jayBpcyBub25zZW5zaWNhbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmZpbmUoKGNvbnRleHQpID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlU3RhdGVtZW50cyhjb250ZXh0LCBiYWNrLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5yZXR1cm5TdGF0ZW1lbnQuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtyZXR1cm5CbG9ja1N0cmluZ30nIHJldHVybiBibG9jayBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0sIHZhcmlhYmxlcywgY29udGV4dCk7XG4gIH1cblxuICBldmFsdWF0ZVN0YXRlbWVudHMoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHJldHVybkJsb2NrU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtyZXR1cm5CbG9ja1N0cmluZ30nIHJldHVybiBibG9jaydzIHN0YXRlbWVudHMuLi5gKTtcblxuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuc3RhdGVtZW50cywgKHN0YXRlbWVudCwgYmFjaywgZm9yd2FyZCkgPT4ge1xuICAgICAgcmV0dXJuIHN0YXRlbWVudC5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9LCBiYWNrLCAoKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3JldHVybkJsb2NrU3RyaW5nfScgcmV0dXJuIGJsb2NrJ3Mgc3RhdGVtZW50cy5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJSZXR1cm5CbG9ja1wiO1xufSk7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIlJldHVybkJsb2NrIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInN0YXRlbWVudHMiLCJub25zZW5zaWNhbCIsInJldHVyblN0YXRlbWVudCIsImdldFN0YXRlbWVudHMiLCJpc05vbnNlbnNpY2FsIiwiZ2V0UmV0dXJuU3RhdGVtZW50IiwiZXZhbHVhdGUiLCJ2YXJpYWJsZXMiLCJiYWNrIiwiZm9yd2FyZCIsInJldHVybkJsb2NrU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJjb25maW5lIiwiZXZhbHVhdGVTdGF0ZW1lbnRzIiwidmFsdWUiLCJ2YWx1ZVN0cmluZyIsImRlYnVnIiwic3RhdGVtZW50IiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVCtDO2tFQUV6QjswQkFFQzt5QkFDQzs7Ozs7O0FBRXhCLE1BQU0sRUFBRUEsT0FBTyxFQUFFLEdBQUdDLHFDQUFxQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsdUJBQU87SUFDckQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsZUFBZSxDQUFFO1FBQ3ZGLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLGVBQWUsR0FBR0E7SUFDekI7SUFFQUMsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNILFVBQVU7SUFDeEI7SUFFQUksZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNILFdBQVc7SUFDekI7SUFFQUkscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDSCxlQUFlO0lBQzdCO0lBRUFJLFNBQVNDLFNBQVMsRUFBRVgsT0FBTyxFQUFFWSxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMxQyxNQUFNQyxvQkFBb0IsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUUvQ2YsUUFBUWdCLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixrQkFBa0IsaUJBQWlCLENBQUM7UUFFckUsSUFBSSxJQUFJLENBQUNULFdBQVcsRUFBRTtZQUNwQixNQUFNWSxVQUFVLENBQUMsZ0NBQWdDLENBQUMsRUFDNUNDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLE9BQU9HLElBQUFBLGdCQUFPLEVBQUMsQ0FBQ3JCO1lBQ2QsT0FBTyxJQUFJLENBQUNzQixrQkFBa0IsQ0FBQ3RCLFNBQVNZLE1BQU07Z0JBQzVDLE1BQU1XLFFBQVEsSUFBSSxDQUFDakIsZUFBZSxDQUFDSSxRQUFRLENBQUNWLFVBQ3RDd0IsY0FBY0QsTUFBTVIsU0FBUztnQkFFbkNmLFFBQVF5QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRVgsa0JBQWtCLG1CQUFtQixFQUFFVSxZQUFZLEVBQUUsQ0FBQztnQkFFekYsT0FBT1gsUUFBUVU7WUFDakI7UUFDRixHQUFHWixXQUFXWDtJQUNoQjtJQUVBc0IsbUJBQW1CdEIsT0FBTyxFQUFFWSxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUN6QyxNQUFNQyxvQkFBb0IsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUUvQ2YsUUFBUWdCLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixrQkFBa0IsOEJBQThCLENBQUM7UUFFbEYsT0FBT25CLFFBQVEsSUFBSSxDQUFDUyxVQUFVLEVBQUUsQ0FBQ3NCLFdBQVdkLE1BQU1DO1lBQ2hELE9BQU9hLFVBQVVoQixRQUFRLENBQUNWLFNBQVNZLE1BQU1DO1FBQzNDLEdBQUdELE1BQU07WUFDUFosUUFBUXlCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFWCxrQkFBa0IsNEJBQTRCLENBQUM7WUFFbEYsT0FBT0Q7UUFDVDtJQUNGO0lBRUEsT0FBT2MsT0FBTyxjQUFjO0FBQzlCIn0=
|
package/lib/element/some.js
CHANGED
|
@@ -83,7 +83,7 @@ const _default = (0, _elements.define)(class Some extends _occamlanguages.Elemen
|
|
|
83
83
|
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue; ///
|
|
84
84
|
return some(nominalValues, (nominalValue, back, forward)=>{
|
|
85
85
|
const { Values } = _elements.default, value = (0, _value.valueFromNominalValue)(nominalValue), values = Values.fromValue(value, context);
|
|
86
|
-
this.anonymousProcedure.call(values, context, (value)=>{
|
|
86
|
+
return this.anonymousProcedure.call(values, context, back, (value)=>{
|
|
87
87
|
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
88
88
|
if (!valueTypeBooleanType) {
|
|
89
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);
|
|
@@ -101,4 +101,4 @@ const _default = (0, _elements.define)(class Some extends _occamlanguages.Elemen
|
|
|
101
101
|
static name = "Some";
|
|
102
102
|
});
|
|
103
103
|
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiwgdmFsdWVGcm9tTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5jb25zdCB7IHNvbWUgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgU29tZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlID0gYW5vbnltb3VzUHJvY2VkdXJlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRBbm9ueW1vdXNQcm9jZWR1cmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBzb21lU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3NvbWVTdHJpbmd9JyBzb21lLi4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICByZXR1cm4gc29tZShub21pbmFsVmFsdWVzLCAobm9taW5hbFZhbHVlLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICBjb25zdCB7IFZhbHVlcyB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vbWluYWxWYWx1ZShub21pbmFsVmFsdWUpLFxuICAgICAgICAgICAgdmFsdWVzID0gVmFsdWVzLmZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKHZhbHVlcywgY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgICAgYm9vbGVhbiA9IHByaW1pdGl2ZVZhbHVlOyAvLy9cblxuICAgICAgICByZXR1cm4gZm9yd2FyZChib29sZWFuKTtcbiAgICAgIH0pO1xuICAgIH0sIChib29sZWFuKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke3NvbWVTdHJpbmd9JyBzb21lIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIlNvbWVcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInNvbWUiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiU29tZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFZhcmlhYmxlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInNvbWVTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlcyIsIm5vbWluYWxWYWx1ZSIsIlZhbHVlcyIsImVsZW1lbnRzIiwidmFsdWVGcm9tTm9taW5hbFZhbHVlIiwidmFsdWVzIiwiZnJvbVZhbHVlIiwiY2FsbCIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiYm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFjQTs7O2VBQUE7OztnQ0Fab0U7a0VBRS9DO2tFQUNDOzJCQUc0Qjt1QkFDTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEQsTUFBTSxFQUFFQSxJ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
|
package/lib/element/ternary.js
CHANGED
|
@@ -42,7 +42,7 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
42
42
|
throw exception;
|
|
43
43
|
}
|
|
44
44
|
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue, expression = boolean ? this.ifExpression : this.elseExpression;
|
|
45
|
-
expression.evaluate(context, (value)=>{
|
|
45
|
+
return expression.evaluate(context, back, (value)=>{
|
|
46
46
|
const valueString = value.getString();
|
|
47
47
|
context.debug(`...evaluated the '${ternaryString}' ternary as '${valueString}'.`);
|
|
48
48
|
return forward(value);
|
|
@@ -51,4 +51,4 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
51
51
|
static name = "Ternary";
|
|
52
52
|
});
|
|
53
53
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm5hcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybmFyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIGlmRXhwcmVzc2lvbiwgZWxzZUV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmlmRXhwcmVzc2lvbiA9IGlmRXhwcmVzc2lvbjtcbiAgICB0aGlzLmVsc2VFeHByZXNzaW9uID0gZWxzZUV4cHJlc3Npb247XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRJZkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlmRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldEVsc2VCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5lbHNlRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0ZXJuYXJ5U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUJvb2xlYW5UeXBlID0gdmFsdWVUeXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWUsIC8vL1xuICAgICAgICAgIGV4cHJlc3Npb24gPSBib29sZWFuID9cbiAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlmRXhwcmVzc2lvbiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsc2VFeHByZXNzaW9uO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3Rlcm5hcnlTdHJpbmd9JyB0ZXJuYXJ5IGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUZXJuYXJ5XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUZXJuYXJ5IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInRlcm0iLCJpZkV4cHJlc3Npb24iLCJlbHNlRXhwcmVzc2lvbiIsImdldFRlcm0iLCJnZXRJZkJsb2NrIiwiZ2V0RWxzZUJsb2NrIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInRlcm5hcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwiYm9vbGVhbiIsImV4cHJlc3Npb24iLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzsyQkFDVzs7Ozs7O01BRWxDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsZ0JBQWdCQyx1QkFBTztJQUNqRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxjQUFjLENBQUU7UUFDakYsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxjQUFjLEdBQUdBO0lBQ3hCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILFlBQVk7SUFDMUI7SUFFQUksZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDSCxjQUFjO0lBQzVCO0lBRUFJLFNBQVNWLE9BQU8sRUFBRVcsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsTUFBTUMsZ0JBQWdCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFM0NkLFFBQVFlLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixjQUFjLFlBQVksQ0FBQztRQUU1RCxNQUFNRyxRQUFRLElBQUksQ0FBQ1osSUFBSSxDQUFDTSxRQUFRLENBQUNWLFVBQzNCaUIsWUFBWUQsTUFBTUUsT0FBTyxJQUN6QkMsdUJBQXVCRixVQUFVRyxhQUFhO1FBRXBELElBQUksQ0FBQ0Qsc0JBQXNCO1lBQ3pCLE1BQU1FLGNBQWNMLE1BQU1GLFNBQVMsSUFDN0JRLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksbUJBQW1CLEVBQUVKLFVBQVUsNkJBQTZCLEVBQUVNLDRCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUNqSEMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtZQUV4QyxNQUFNRTtRQUNSO1FBRUEsTUFBTUcsaUJBQWlCWCxNQUFNWSxpQkFBaUIsSUFDeENDLFVBQVVGLGdCQUNWRyxhQUFhRCxVQUNFLElBQUksQ0FBQ3hCLFlBQVksR0FDZixJQUFJLENBQUNDLGNBQWM7UUFFMUMsT0FBT3dCLFdBQVdwQixRQUFRLENBQUNWLFNBQVNXLE1BQU0sQ0FBQ0s7WUFDekMsTUFBTUssY0FBY0wsTUFBTUYsU0FBUztZQUVuQ2QsUUFBUStCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFbEIsY0FBYyxjQUFjLEVBQUVRLFlBQVksRUFBRSxDQUFDO1lBRWhGLE9BQU9ULFFBQVFJO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPZ0IsT0FBTyxVQUFVO0FBQzFCIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.454",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.6.3",
|
|
14
14
|
"occam-grammars": "^1.3.663",
|
|
15
|
-
"occam-languages": "^3.0.
|
|
15
|
+
"occam-languages": "^3.0.14",
|
|
16
16
|
"occam-lexers": "^23.2.8",
|
|
17
17
|
"occam-parsers": "^23.2.11",
|
|
18
18
|
"occam-query": "^4.1.206"
|
|
@@ -28,7 +28,7 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
28
28
|
return this.returnBlock;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
call(values, context,
|
|
31
|
+
call(values, context, back, forward) {
|
|
32
32
|
const anonymousProcedureString = this.getString(); ///
|
|
33
33
|
|
|
34
34
|
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
@@ -37,7 +37,7 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
37
37
|
|
|
38
38
|
const variables = variablesFromValuesAndParameters(values, this.parameters, context);
|
|
39
39
|
|
|
40
|
-
this.returnBlock.evaluate(variables, context, (value) => {
|
|
40
|
+
return this.returnBlock.evaluate(variables, context, back, (value) => {
|
|
41
41
|
const valueType = value.getType(),
|
|
42
42
|
typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
43
43
|
|
|
@@ -52,7 +52,7 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
52
52
|
|
|
53
53
|
context.debug(`...called the '${anonymousProcedureString}' anonymous function.`);
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
return forward(value);
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -25,7 +25,7 @@ export default define(class VariableAssignment extends Element {
|
|
|
25
25
|
|
|
26
26
|
context.trace(`Evaluating the '${variableAssignmentString}' variable assignment...`);
|
|
27
27
|
|
|
28
|
-
this.expression.evaluate(context, (value) => {
|
|
28
|
+
return this.expression.evaluate(context, back, (value) => {
|
|
29
29
|
this.variable.assign(value, context);
|
|
30
30
|
|
|
31
31
|
const valueString = value.getString();
|
package/src/element/procedure.js
CHANGED
|
@@ -89,7 +89,7 @@ export default define(class Procedure extends Element {
|
|
|
89
89
|
|
|
90
90
|
const variables = variablesFromValuesAndParameters(values, this.parameters, context);
|
|
91
91
|
|
|
92
|
-
this.returnBlock.evaluate(variables, context, (value) => {
|
|
92
|
+
return this.returnBlock.evaluate(variables, context, back, (value) => {
|
|
93
93
|
const valueType = value.getType(),
|
|
94
94
|
typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
95
95
|
|
|
@@ -45,8 +45,8 @@ export default define(class ProcedureCall extends Element {
|
|
|
45
45
|
const procedure = context.findProcedureByProcedureName(procedureName),
|
|
46
46
|
values = this.values.evaluate(context);
|
|
47
47
|
|
|
48
|
-
free((context) => {
|
|
49
|
-
procedure.call(values, context, (value) => {
|
|
48
|
+
return free((context) => {
|
|
49
|
+
return procedure.call(values, context, back, (value) => {
|
|
50
50
|
const valueString = value.getString();
|
|
51
51
|
|
|
52
52
|
context.debug(`...evaluated the '${procedureCallString}' function call as '${valueString}'.`);
|
|
@@ -42,8 +42,8 @@ export default define(class ReturnBlock extends Element {
|
|
|
42
42
|
throw exception;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
confine((context) => {
|
|
46
|
-
this.evaluateStatements(context, () => {
|
|
45
|
+
return confine((context) => {
|
|
46
|
+
return this.evaluateStatements(context, back, () => {
|
|
47
47
|
const value = this.returnStatement.evaluate(context),
|
|
48
48
|
valueString = value.getString();
|
|
49
49
|
|
|
@@ -61,7 +61,7 @@ export default define(class ReturnBlock extends Element {
|
|
|
61
61
|
|
|
62
62
|
return forEach(this.statements, (statement, back, forward) => {
|
|
63
63
|
return statement.evaluate(context, back, forward);
|
|
64
|
-
}, () => {
|
|
64
|
+
}, back, () => {
|
|
65
65
|
context.debug(`...evaluated the '${returnBlockString}' return block's statements.`);
|
|
66
66
|
|
|
67
67
|
return forward();
|
package/src/element/some.js
CHANGED
|
@@ -53,7 +53,7 @@ export default define(class Some extends Element {
|
|
|
53
53
|
value = valueFromNominalValue(nominalValue),
|
|
54
54
|
values = Values.fromValue(value, context);
|
|
55
55
|
|
|
56
|
-
this.anonymousProcedure.call(values, context, (value) => {
|
|
56
|
+
return this.anonymousProcedure.call(values, context, back, (value) => {
|
|
57
57
|
const valueType = value.getType(),
|
|
58
58
|
valueTypeBooleanType = valueType.isBooleanType();
|
|
59
59
|
|
package/src/element/ternary.js
CHANGED
|
@@ -51,7 +51,7 @@ export default define(class Ternary extends Element {
|
|
|
51
51
|
this.ifExpression :
|
|
52
52
|
this.elseExpression;
|
|
53
53
|
|
|
54
|
-
expression.evaluate(context, (value) => {
|
|
54
|
+
return expression.evaluate(context, back, (value) => {
|
|
55
55
|
const valueString = value.getString();
|
|
56
56
|
|
|
57
57
|
context.debug(`...evaluated the '${ternaryString}' ternary as '${valueString}'.`);
|