occam-furtle 3.0.461 → 3.0.464
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/block.js +2 -2
- package/lib/element/anonymousProcedure.js +12 -11
- package/lib/element/assignment/list.js +5 -5
- package/lib/element/assignment/object.js +35 -31
- package/lib/element/binding/named.js +6 -5
- package/lib/element/binding.js +5 -4
- package/lib/element/bindings/named.js +34 -28
- package/lib/element/bindings.js +14 -10
- package/lib/element/contains.js +4 -4
- package/lib/element/endsWith.js +4 -4
- package/lib/element/every.js +4 -4
- package/lib/element/expression.js +17 -27
- package/lib/element/lengthOf.js +4 -4
- package/lib/element/nodeQuery.js +7 -7
- package/lib/element/nodesQuery.js +6 -6
- package/lib/element/parameter.js +4 -3
- package/lib/element/parameters.js +14 -11
- package/lib/element/primitive.js +3 -3
- package/lib/element/procedure.js +13 -12
- package/lib/element/procedureCall.js +12 -10
- package/lib/element/reduce.js +3 -3
- package/lib/element/returnBlock.js +2 -2
- package/lib/element/returnStatement.js +3 -3
- package/lib/element/some.js +3 -3
- package/lib/element/startsWith.js +4 -4
- package/lib/element/term/bracketed.js +3 -3
- package/lib/element/term/comparison.js +4 -4
- package/lib/element/term/logical.js +5 -5
- package/lib/element/term/negated.js +4 -4
- package/lib/element/term.js +8 -10
- package/lib/element/terms.js +13 -14
- package/lib/element/ternary.js +2 -2
- package/lib/element/toInteger.js +5 -5
- package/lib/element/tryInteger.js +4 -4
- package/lib/element/value.js +4 -6
- package/lib/element/values.js +13 -11
- package/lib/element/variable.js +4 -4
- package/lib/nominalValueProperties.js +18 -17
- package/lib/nominalValueProperty.js +3 -3
- package/package.json +2 -2
- package/src/context/block.js +1 -1
- package/src/element/anonymousProcedure.js +15 -15
- package/src/element/assignment/list.js +4 -4
- package/src/element/assignment/object.js +36 -34
- package/src/element/binding/named.js +6 -4
- package/src/element/binding.js +5 -3
- package/src/element/bindings/named.js +46 -34
- package/src/element/bindings.js +19 -11
- package/src/element/contains.js +3 -3
- package/src/element/endsWith.js +3 -3
- package/src/element/every.js +3 -3
- package/src/element/expression.js +17 -35
- package/src/element/lengthOf.js +3 -3
- package/src/element/nodeQuery.js +6 -6
- package/src/element/nodesQuery.js +5 -5
- package/src/element/parameter.js +4 -2
- package/src/element/parameters.js +19 -12
- package/src/element/primitive.js +2 -2
- package/src/element/procedure.js +16 -16
- package/src/element/procedureCall.js +11 -10
- package/src/element/reduce.js +2 -2
- package/src/element/returnBlock.js +1 -1
- package/src/element/returnStatement.js +2 -2
- package/src/element/some.js +2 -2
- package/src/element/startsWith.js +3 -3
- package/src/element/term/bracketed.js +2 -2
- package/src/element/term/comparison.js +3 -3
- package/src/element/term/logical.js +4 -4
- package/src/element/term/negated.js +3 -3
- package/src/element/term.js +7 -11
- package/src/element/terms.js +20 -19
- package/src/element/ternary.js +1 -1
- package/src/element/toInteger.js +4 -4
- package/src/element/tryInteger.js +3 -3
- package/src/element/value.js +3 -7
- package/src/element/values.js +22 -17
- package/src/element/variable.js +3 -3
- package/src/nominalValueProperties.js +22 -18
- package/src/nominalValueProperty.js +2 -2
|
@@ -30,7 +30,7 @@ const _default = (0, _elements.define)(class StartsWith extends _occamlanguages.
|
|
|
30
30
|
getSubstring() {
|
|
31
31
|
return this.substring;
|
|
32
32
|
}
|
|
33
|
-
evaluate(context) {
|
|
33
|
+
evaluate(context, back, forward) {
|
|
34
34
|
let value;
|
|
35
35
|
const startsWithString = this.getString(); ///
|
|
36
36
|
context.trace(`Evaluating the '${startsWithString}' function...`);
|
|
@@ -38,15 +38,15 @@ const _default = (0, _elements.define)(class StartsWith extends _occamlanguages.
|
|
|
38
38
|
const valueType = value.getType(), valueTypeStringType = valueType.isStringType();
|
|
39
39
|
if (!valueTypeStringType) {
|
|
40
40
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
41
|
-
|
|
41
|
+
return back(exception);
|
|
42
42
|
}
|
|
43
43
|
const string = value.getString(), boolean = string.startsWith(this.substring);
|
|
44
44
|
value = (0, _value.valueFromBoolean)(boolean);
|
|
45
45
|
const valueString = value.getString();
|
|
46
46
|
context.debug(`...evaluated the '${startsWithString}' function as '${valueString}'.`);
|
|
47
|
-
return value;
|
|
47
|
+
return forward(value);
|
|
48
48
|
}
|
|
49
49
|
static name = "StartsWith";
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3N0YXJ0c1dpdGguanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IFNUUklOR19UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgU3RhcnRzV2l0aCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBzdWJzdHJpbmcpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuc3Vic3RyaW5nID0gc3Vic3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRTdWJzdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3Vic3RyaW5nO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IHN0YXJ0c1dpdGhTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtzdGFydHNXaXRoU3RyaW5nfScgZnVuY3Rpb24uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmdUeXBlID0gdmFsdWVUeXBlLmlzU3RyaW5nVHlwZSgpO1xuXG4gICAgaWYgKCF2YWx1ZVR5cGVTdHJpbmdUeXBlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIGJvb2xlYW4gPSBzdHJpbmcuc3RhcnRzV2l0aCh0aGlzLnN1YnN0cmluZyk7XG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbik7XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtzdGFydHNXaXRoU3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTdGFydHNXaXRoXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJTdGFydHNXaXRoIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwic3Vic3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRTdWJzdHJpbmciLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFsdWUiLCJzdGFydHNXaXRoU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIlNUUklOR19UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImJvb2xlYW4iLCJzdGFydHNXaXRoIiwidmFsdWVGcm9tQm9vbGVhbiIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7Z0NBUndCO2tFQUVGOzBCQUVDOzJCQUNVO3VCQUNBOzs7Ozs7TUFFakMsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxtQkFBbUJDLHVCQUFPO0lBQ3BELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLENBQUU7UUFDbEUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO0lBQ25CO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7SUFDdkI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixJQUFJQztRQUVKLE1BQU1DLG1CQUFtQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRS9DYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsaUJBQWlCLGFBQWEsQ0FBQztRQUVoRUQsUUFBUSxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUjtRQUUvQixNQUFNZSxZQUFZSixNQUFNSyxPQUFPLElBQ3pCQyxzQkFBc0JGLFVBQVVHLFlBQVk7UUFFbEQsSUFBSSxDQUFDRCxxQkFBcUI7WUFDeEIsTUFBTUUsY0FBY1IsTUFBTUUsU0FBUyxJQUM3Qk8sVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLDJCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUM3RkMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtZQUV4QyxPQUFPWCxLQUFLYTtRQUNkO1FBRUEsTUFBTXJCLFNBQVNVLE1BQU1FLFNBQVMsSUFDeEJZLFVBQVV4QixPQUFPeUIsVUFBVSxDQUFDLElBQUksQ0FBQ3JCLFNBQVM7UUFFaERNLFFBQVFnQixJQUFBQSx1QkFBZ0IsRUFBQ0Y7UUFFekIsTUFBTU4sY0FBY1IsTUFBTUUsU0FBUztRQUVuQ2IsUUFBUTRCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFaEIsaUJBQWlCLGVBQWUsRUFBRU8sWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBT1QsUUFBUUM7SUFDakI7SUFFQSxPQUFPa0IsT0FBTyxhQUFhO0FBQzdCIn0=
|
|
@@ -21,16 +21,16 @@ const _default = (0, _elements.define)(class BracketedTerm extends _occamlanguag
|
|
|
21
21
|
getType() {
|
|
22
22
|
return this.term.getType();
|
|
23
23
|
}
|
|
24
|
-
evaluate(context) {
|
|
24
|
+
evaluate(context, back, forward) {
|
|
25
25
|
let value;
|
|
26
26
|
const bracketedTermString = this.getString(); ///
|
|
27
27
|
context.trace(`Evaluating the '${bracketedTermString}' bracketed term...`);
|
|
28
28
|
value = this.term.evaluate(context);
|
|
29
29
|
const valueString = value.getString();
|
|
30
30
|
context.debug(`...evaluated the '${bracketedTermString}' bracketed term as '${valueString}'.`);
|
|
31
|
-
return value;
|
|
31
|
+
return forward(value);
|
|
32
32
|
}
|
|
33
33
|
static name = "BracketedTerm";
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vYnJhY2tldGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEJyYWNrZXRlZFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0ZXJtKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudGVybSA9IHRlcm07XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy50ZXJtLmdldFR5cGUoKTsgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBicmFja2V0ZWRUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHticmFja2V0ZWRUZXJtU3RyaW5nfScgYnJhY2tldGVkIHRlcm0uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YnJhY2tldGVkVGVybVN0cmluZ30nIGJyYWNrZXRlZCB0ZXJtIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQnJhY2tldGVkVGVybVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQnJhY2tldGVkVGVybSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwiZ2V0VGVybSIsImdldFR5cGUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFsdWUiLCJicmFja2V0ZWRUZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVN0cmluZyIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsc0JBQXNCQyx1QkFBTztJQUN2RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksQ0FBRTtRQUNuRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0QsSUFBSTtJQUNsQjtJQUVBRSxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUNGLElBQUksQ0FBQ0UsT0FBTztJQUFJO0lBRXhDQyxTQUFTUCxPQUFPLEVBQUVRLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLElBQUlDO1FBRUosTUFBTUMsc0JBQXNCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFakRaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixvQkFBb0IsbUJBQW1CLENBQUM7UUFFekVELFFBQVEsSUFBSSxDQUFDTixJQUFJLENBQUNHLFFBQVEsQ0FBQ1A7UUFFM0IsTUFBTWMsY0FBY0osTUFBTUUsU0FBUztRQUVuQ1osUUFBUWUsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVKLG9CQUFvQixxQkFBcUIsRUFBRUcsWUFBWSxFQUFFLENBQUM7UUFFN0YsT0FBT0wsUUFBUUM7SUFDakI7SUFFQSxPQUFPTSxPQUFPLGdCQUFnQjtBQUNoQyJ9
|
|
@@ -33,14 +33,14 @@ const _default = (0, _elements.define)(class ComparisonTerm extends _occamlangua
|
|
|
33
33
|
getRightTerm() {
|
|
34
34
|
return this.rightTerm;
|
|
35
35
|
}
|
|
36
|
-
evaluate(context) {
|
|
36
|
+
evaluate(context, back, forward) {
|
|
37
37
|
let value;
|
|
38
38
|
const comparisonTermString = this.getString(); ///
|
|
39
39
|
context.trace(`Evaluating the '${comparisonTermString}' comparison term...`);
|
|
40
40
|
const leftValue = this.leftTerm.evaluate(context), rightValue = this.rightTerm.evaluate(context), leftValueType = leftValue.getType(), rightValueType = rightValue.getType(), leftValueTypeEqualToRightValueType = leftValueType.isEqualTo(rightValueType);
|
|
41
41
|
if (!leftValueTypeEqualToRightValueType) {
|
|
42
42
|
const leftValueString = leftValue.getString(), rightValueString = rightValue.getString(), leftValueTypeString = leftValueType.getString(), rightValueTypeString = rightValueType.getString(), message = `The '${leftValueString}' left term's type is '${leftValueTypeString}' whereas the '${rightValueString}' right term's type is '${rightValueTypeString}'.`, exception = _exception.default.fromMessage(message);
|
|
43
|
-
|
|
43
|
+
return back(exception);
|
|
44
44
|
}
|
|
45
45
|
const leftValueEqualToRightValue = leftValue.isEqualTo(rightValue);
|
|
46
46
|
let boolean = leftValueEqualToRightValue; ///
|
|
@@ -50,9 +50,9 @@ const _default = (0, _elements.define)(class ComparisonTerm extends _occamlangua
|
|
|
50
50
|
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
51
51
|
const valueString = value.getString();
|
|
52
52
|
context.debug(`...evaluated the '${comparisonTermString}' comparison value as '${valueString}'.`);
|
|
53
|
-
return value;
|
|
53
|
+
return forward(value);
|
|
54
54
|
}
|
|
55
55
|
static name = "ComparisonTerm";
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vY29tcGFyaXNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbXBhcmlzb25UZXJtIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmVnYXRlZCwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLm5lZ2F0ZWQgPSBuZWdhdGVkO1xuICAgIHRoaXMubGVmdFRlcm0gPSBsZWZ0VGVybTtcbiAgICB0aGlzLnJpZ2h0VGVybSA9IHJpZ2h0VGVybTtcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGNvbXBhcmlzb25UZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb21wYXJpc29uVGVybVN0cmluZ30nIGNvbXBhcmlzb24gdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICBsZWZ0VmFsdWVUeXBlRXF1YWxUb1JpZ2h0VmFsdWVUeXBlID0gbGVmdFZhbHVlVHlwZS5pc0VxdWFsVG8ocmlnaHRWYWx1ZVR5cGUpO1xuXG4gICAgaWYgKCFsZWZ0VmFsdWVUeXBlRXF1YWxUb1JpZ2h0VmFsdWVUeXBlKSB7XG4gICAgICBjb25zdCBsZWZ0VmFsdWVTdHJpbmcgPSBsZWZ0VmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICByaWdodFZhbHVlU3RyaW5nID0gcmlnaHRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIGxlZnRWYWx1ZVR5cGVTdHJpbmcgPSBsZWZ0VmFsdWVUeXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZVR5cGVTdHJpbmcgPSByaWdodFZhbHVlVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke2xlZnRWYWx1ZVN0cmluZ30nIGxlZnQgdGVybSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZVN0cmluZ30nIHdoZXJlYXMgdGhlICcke3JpZ2h0VmFsdWVTdHJpbmd9JyByaWdodCB0ZXJtJ3MgdHlwZSBpcyAnJHtyaWdodFZhbHVlVHlwZVN0cmluZ30nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWUgPSBsZWZ0VmFsdWUuaXNFcXVhbFRvKHJpZ2h0VmFsdWUpO1xuXG4gICAgbGV0IGJvb2xlYW4gPSBsZWZ0VmFsdWVFcXVhbFRvUmlnaHRWYWx1ZTsgLy8vXG5cbiAgICBpZiAodGhpcy5uZWdhdGVkKSB7XG4gICAgICBib29sZWFuID0gIWJvb2xlYW47IC8vL1xuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2NvbXBhcmlzb25UZXJtU3RyaW5nfScgY29tcGFyaXNvbiB2YWx1ZSBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbXBhcmlzb25UZXJtXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJDb21wYXJpc29uVGVybSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJuZWdhdGVkIiwibGVmdFRlcm0iLCJyaWdodFRlcm0iLCJpc05lZ2F0ZWQiLCJnZXRMZWZ0VGVybSIsImdldFJpZ2h0VGVybSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsImNvbXBhcmlzb25UZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsImdldFR5cGUiLCJyaWdodFZhbHVlVHlwZSIsImxlZnRWYWx1ZVR5cGVFcXVhbFRvUmlnaHRWYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJsZWZ0VmFsdWVTdHJpbmciLCJyaWdodFZhbHVlU3RyaW5nIiwibGVmdFZhbHVlVHlwZVN0cmluZyIsInJpZ2h0VmFsdWVUeXBlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWUiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7MEJBRUM7dUJBQ1U7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHVCQUF1QkMsdUJBQU87SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQzNFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDSCxRQUFRO0lBQ3RCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsU0FBUztJQUN2QjtJQUVBSSxTQUFTVixPQUFPLEVBQUVXLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLElBQUlDO1FBRUosTUFBTUMsdUJBQXVCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFbERmLFFBQVFnQixLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYscUJBQXFCLG9CQUFvQixDQUFDO1FBRTNFLE1BQU1HLFlBQVksSUFBSSxDQUFDWixRQUFRLENBQUNLLFFBQVEsQ0FBQ1YsVUFDbkNrQixhQUFhLElBQUksQ0FBQ1osU0FBUyxDQUFDSSxRQUFRLENBQUNWLFVBQ3JDbUIsZ0JBQWdCRixVQUFVRyxPQUFPLElBQ2pDQyxpQkFBaUJILFdBQVdFLE9BQU8sSUFDbkNFLHFDQUFxQ0gsY0FBY0ksU0FBUyxDQUFDRjtRQUVuRSxJQUFJLENBQUNDLG9DQUFvQztZQUN2QyxNQUFNRSxrQkFBa0JQLFVBQVVGLFNBQVMsSUFDckNVLG1CQUFtQlAsV0FBV0gsU0FBUyxJQUN2Q1csc0JBQXNCUCxjQUFjSixTQUFTLElBQzdDWSx1QkFBdUJOLGVBQWVOLFNBQVMsSUFDL0NhLFVBQVUsQ0FBQyxLQUFLLEVBQUVKLGdCQUFnQix1QkFBdUIsRUFBRUUsb0JBQW9CLGVBQWUsRUFBRUQsaUJBQWlCLHdCQUF3QixFQUFFRSxxQkFBcUIsRUFBRSxDQUFDLEVBQ25LRSxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE9BQU9qQixLQUFLa0I7UUFDZDtRQUVBLE1BQU1HLDZCQUE2QmYsVUFBVU0sU0FBUyxDQUFDTDtRQUV2RCxJQUFJZSxVQUFVRCw0QkFBNEIsR0FBRztRQUU3QyxJQUFJLElBQUksQ0FBQzVCLE9BQU8sRUFBRTtZQUNoQjZCLFVBQVUsQ0FBQ0EsU0FBUyxHQUFHO1FBQ3pCO1FBRUFwQixRQUFRcUIsSUFBQUEsdUJBQWdCLEVBQUNELFNBQVNqQztRQUVsQyxNQUFNbUMsY0FBY3RCLE1BQU1FLFNBQVM7UUFFbkNmLFFBQVFvQyxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRXRCLHFCQUFxQix1QkFBdUIsRUFBRXFCLFlBQVksRUFBRSxDQUFDO1FBRWhHLE9BQU92QixRQUFRQztJQUNqQjtJQUVBLE9BQU93QixPQUFPLGlCQUFpQjtBQUNqQyJ9
|
|
@@ -38,26 +38,26 @@ const _default = (0, _elements.define)(class LogicalTerm extends _occamlanguages
|
|
|
38
38
|
getRightTerm() {
|
|
39
39
|
return this.rightTerm;
|
|
40
40
|
}
|
|
41
|
-
evaluate(context) {
|
|
41
|
+
evaluate(context, back, forward) {
|
|
42
42
|
let value;
|
|
43
43
|
const logicalTermString = this.getString(); ///
|
|
44
44
|
context.trace(`Evaluating the '${logicalTermString}' logical term...`);
|
|
45
45
|
const leftValue = this.leftTerm.evaluate(context), rightValue = this.rightTerm.evaluate(context), leftValueType = leftValue.getType(), rightValueType = rightValue.getType(), leftValueTypeBooleanType = leftValueType.isBooleanType(), rightValueTypeBooleanType = rightValueType.isBooleanType();
|
|
46
46
|
if (!leftValueTypeBooleanType) {
|
|
47
47
|
const leftValueString = leftValue.getString(), message = `The '${leftValueString}' left term's type is '${leftValueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
48
|
-
|
|
48
|
+
return back(exception);
|
|
49
49
|
}
|
|
50
50
|
if (!rightValueTypeBooleanType) {
|
|
51
51
|
const rightValueString = rightValue.getString(), message = `The '${rightValueString}' right term's type is '${rightValueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
52
|
-
|
|
52
|
+
return back(exception);
|
|
53
53
|
}
|
|
54
54
|
const leftValuePrimitiveValue = leftValue.getPrimitiveValue(), rightValuePrimitiveValue = rightValue.getPrimitiveValue(), leftBoolean = leftValuePrimitiveValue, rightBoolean = rightValuePrimitiveValue, boolean = this.disjunction ? leftBoolean || rightBoolean : leftBoolean && rightBoolean;
|
|
55
55
|
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
56
56
|
const valueString = value.getString();
|
|
57
57
|
context.debug(`...evaluated the '${logicalTermString}' logical value as '${valueString}'.`);
|
|
58
|
-
return value;
|
|
58
|
+
return forward(value);
|
|
59
59
|
}
|
|
60
60
|
static name = "LogicalTerm";
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbG9naWNhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTG9naWNhbFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBkaXNqdW5jdGlvbiwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzanVuY3Rpb24gPSBkaXNqdW5jdGlvbjtcbiAgICB0aGlzLmxlZnRUZXJtID0gbGVmdFRlcm07XG4gICAgdGhpcy5yaWdodFRlcm0gPSByaWdodFRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBpc0Rpc2p1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2p1bmN0aW9uO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGxvZ2ljYWxUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtsb2dpY2FsVGVybVN0cmluZ30nIGxvZ2ljYWwgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICBsZWZ0VmFsdWVUeXBlQm9vbGVhblR5cGUgPSBsZWZ0VmFsdWVUeXBlLmlzQm9vbGVhblR5cGUoKSxcbiAgICAgICAgICByaWdodFZhbHVlVHlwZUJvb2xlYW5UeXBlID0gcmlnaHRWYWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCFsZWZ0VmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IGxlZnRWYWx1ZVN0cmluZyA9IGxlZnRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke2xlZnRWYWx1ZVN0cmluZ30nIGxlZnQgdGVybSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGlmICghcmlnaHRWYWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgcmlnaHRWYWx1ZVN0cmluZyA9IHJpZ2h0VmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtyaWdodFZhbHVlU3RyaW5nfScgcmlnaHQgdGVybSdzIHR5cGUgaXMgJyR7cmlnaHRWYWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZWZ0VmFsdWVQcmltaXRpdmVWYWx1ZSA9IGxlZnRWYWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIHJpZ2h0VmFsdWVQcmltaXRpdmVWYWx1ZSA9IHJpZ2h0VmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBsZWZ0Qm9vbGVhbiA9bGVmdFZhbHVlUHJpbWl0aXZlVmFsdWUsIC8vL1xuICAgICAgICAgIHJpZ2h0Qm9vbGVhbiA9IHJpZ2h0VmFsdWVQcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgYm9vbGVhbiA9IHRoaXMuZGlzanVuY3Rpb24gP1xuICAgICAgICAgICAgICAgICAgICAgIChsZWZ0Qm9vbGVhbiB8fCByaWdodEJvb2xlYW4pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZWZ0Qm9vbGVhbiAmJiByaWdodEJvb2xlYW4pO1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bG9naWNhbFRlcm1TdHJpbmd9JyBsb2dpY2FsIHZhbHVlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTG9naWNhbFRlcm1cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkxvZ2ljYWxUZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJkaXNqdW5jdGlvbiIsImxlZnRUZXJtIiwicmlnaHRUZXJtIiwiZ2V0VHlwZSIsImlzRGlzanVuY3Rpb24iLCJnZXRMZWZ0VGVybSIsImdldFJpZ2h0VGVybSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsImxvZ2ljYWxUZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsInJpZ2h0VmFsdWVUeXBlIiwibGVmdFZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsInJpZ2h0VmFsdWVUeXBlQm9vbGVhblR5cGUiLCJsZWZ0VmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInJpZ2h0VmFsdWVTdHJpbmciLCJsZWZ0VmFsdWVQcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwicmlnaHRWYWx1ZVByaW1pdGl2ZVZhbHVlIiwibGVmdEJvb2xlYW4iLCJyaWdodEJvb2xlYW4iLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7MkJBQ1c7dUJBQ0Q7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsdUJBQU87SUFDckQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLENBQUU7UUFDckYsS0FBSyxDQUFDUCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNKLElBQUk7SUFDbEI7SUFFQUssZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNKLFdBQVc7SUFDekI7SUFFQUssY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDSixRQUFRO0lBQ3RCO0lBRUFLLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0osU0FBUztJQUN2QjtJQUVBSyxTQUFTWixPQUFPLEVBQUVhLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLElBQUlDO1FBRUosTUFBTUMsb0JBQW9CLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFL0NqQixRQUFRa0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGtCQUFrQixpQkFBaUIsQ0FBQztRQUVyRSxNQUFNRyxZQUFZLElBQUksQ0FBQ2IsUUFBUSxDQUFDTSxRQUFRLENBQUNaLFVBQ25Db0IsYUFBYSxJQUFJLENBQUNiLFNBQVMsQ0FBQ0ssUUFBUSxDQUFDWixVQUNyQ3FCLGdCQUFnQkYsVUFBVVgsT0FBTyxJQUNqQ2MsaUJBQWlCRixXQUFXWixPQUFPLElBQ25DZSwyQkFBMkJGLGNBQWNHLGFBQWEsSUFDdERDLDRCQUE0QkgsZUFBZUUsYUFBYTtRQUU5RCxJQUFJLENBQUNELDBCQUEwQjtZQUM3QixNQUFNRyxrQkFBa0JQLFVBQVVGLFNBQVMsSUFDckNVLFVBQVUsQ0FBQyxLQUFLLEVBQUVELGdCQUFnQix1QkFBdUIsRUFBRUwsY0FBYyw2QkFBNkIsRUFBRU8sNEJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQzdIQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE9BQU9kLEtBQUtnQjtRQUNkO1FBRUEsSUFBSSxDQUFDSiwyQkFBMkI7WUFDOUIsTUFBTU8sbUJBQW1CWixXQUFXSCxTQUFTLElBQ3ZDVSxVQUFVLENBQUMsS0FBSyxFQUFFSyxpQkFBaUIsd0JBQXdCLEVBQUVWLGVBQWUsNkJBQTZCLEVBQUVNLDRCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUNoSUMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtZQUV4QyxPQUFPZCxLQUFLZ0I7UUFDZDtRQUVBLE1BQU1JLDBCQUEwQmQsVUFBVWUsaUJBQWlCLElBQ3JEQywyQkFBMkJmLFdBQVdjLGlCQUFpQixJQUN2REUsY0FBYUgseUJBQ2JJLGVBQWVGLDBCQUNmRyxVQUFVLElBQUksQ0FBQ2pDLFdBQVcsR0FDYitCLGVBQWVDLGVBQ2JELGVBQWVDO1FBRXBDdEIsUUFBUXdCLElBQUFBLHVCQUFnQixFQUFDRCxTQUFTdEM7UUFFbEMsTUFBTXdDLGNBQWN6QixNQUFNRSxTQUFTO1FBRW5DakIsUUFBUXlDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFekIsa0JBQWtCLG9CQUFvQixFQUFFd0IsWUFBWSxFQUFFLENBQUM7UUFFMUYsT0FBTzFCLFFBQVFDO0lBQ2pCO0lBRUEsT0FBTzJCLE9BQU8sY0FBYztBQUM5QiJ9
|
|
@@ -30,7 +30,7 @@ const _default = (0, _elements.define)(class NegatedTerm extends _occamlanguages
|
|
|
30
30
|
getTerm() {
|
|
31
31
|
return this.term;
|
|
32
32
|
}
|
|
33
|
-
evaluate(context) {
|
|
33
|
+
evaluate(context, back, forward) {
|
|
34
34
|
let value;
|
|
35
35
|
const negatedTermString = this.getString(); ///
|
|
36
36
|
context.trace(`Evaluating the '${negatedTermString}' negated value...`);
|
|
@@ -38,7 +38,7 @@ const _default = (0, _elements.define)(class NegatedTerm extends _occamlanguages
|
|
|
38
38
|
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
39
39
|
if (!valueTypeBooleanType) {
|
|
40
40
|
const valueString = value.getString(), message = `The '${valueString}' left value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
41
|
-
|
|
41
|
+
return back(exception);
|
|
42
42
|
}
|
|
43
43
|
let boolean;
|
|
44
44
|
const primitiveValue = value.getPrimitiveValue();
|
|
@@ -47,9 +47,9 @@ const _default = (0, _elements.define)(class NegatedTerm extends _occamlanguages
|
|
|
47
47
|
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
48
48
|
const valueString = value.getString();
|
|
49
49
|
context.debug(`...evaluated the '${negatedTermString}' negated value as '${valueString}'.`);
|
|
50
|
-
return value;
|
|
50
|
+
return forward(value);
|
|
51
51
|
}
|
|
52
52
|
static name = "NegatedTerm";
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbmVnYXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTmVnYXRlZFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCB0ZXJtKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuZWdhdGVkVGVybVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmVnYXRlZFRlcm1TdHJpbmd9JyBuZWdhdGVkIHZhbHVlLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVCb29sZWFuVHlwZSA9IHZhbHVlVHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXZhbHVlVHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyBsZWZ0IHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBsZXQgYm9vbGVhbjtcblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKTtcblxuICAgIGJvb2xlYW4gPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICBib29sZWFuID0gIWJvb2xlYW47XG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtuZWdhdGVkVGVybVN0cmluZ30nIG5lZ2F0ZWQgdmFsdWUgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOZWdhdGVkVGVybVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiTmVnYXRlZFRlcm0iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsInRlcm0iLCJnZXRUeXBlIiwiZ2V0VGVybSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsIm5lZ2F0ZWRUZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJ2YWx1ZVR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJCT09MRUFOX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYm9vbGVhbiIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7MkJBQ1c7dUJBQ0Q7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsdUJBQU87SUFDckQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLElBQUksQ0FBRTtRQUN6RCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixJQUFJQztRQUVKLE1BQU1DLG9CQUFvQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRS9DYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsa0JBQWtCLGtCQUFrQixDQUFDO1FBRXRFRCxRQUFRLElBQUksQ0FBQ04sSUFBSSxDQUFDRyxRQUFRLENBQUNSO1FBRTNCLE1BQU1lLFlBQVlKLE1BQU1MLE9BQU8sSUFDekJVLHVCQUF1QkQsVUFBVUUsYUFBYTtRQUVwRCxJQUFJLENBQUNELHNCQUFzQjtZQUN6QixNQUFNRSxjQUFjUCxNQUFNRSxTQUFTLElBQzdCTSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLHdCQUF3QixFQUFFSCxVQUFVLDZCQUE2QixFQUFFSyw0QkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFDdEhDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsT0FBT1YsS0FBS1k7UUFDZDtRQUVBLElBQUlHO1FBRUosTUFBTUMsaUJBQWlCZCxNQUFNZSxpQkFBaUI7UUFFOUNGLFVBQVVDLGdCQUFnQixHQUFHO1FBRTdCRCxVQUFVLENBQUNBO1FBRVhiLFFBQVFnQixJQUFBQSx1QkFBZ0IsRUFBQ0gsU0FBU3hCO1FBRWxDLE1BQU1rQixjQUFjUCxNQUFNRSxTQUFTO1FBRW5DYixRQUFRNEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVoQixrQkFBa0Isb0JBQW9CLEVBQUVNLFlBQVksRUFBRSxDQUFDO1FBRTFGLE9BQU9SLFFBQVFDO0lBQ2pCO0lBRUEsT0FBT2tCLE9BQU8sY0FBYztBQUM5QiJ9
|
package/lib/element/term.js
CHANGED
|
@@ -65,24 +65,22 @@ const _default = (0, _elements.define)(class Term extends _occamlanguages.Elemen
|
|
|
65
65
|
const type = this.getType(), booleanType = type.isBooleanType(), boolean = booleanType; ///
|
|
66
66
|
return boolean;
|
|
67
67
|
}
|
|
68
|
-
evaluate(context) {
|
|
69
|
-
let value;
|
|
68
|
+
evaluate(context, back, forward) {
|
|
70
69
|
if (false) {
|
|
71
70
|
///
|
|
72
71
|
} else if (this.variable !== null) {
|
|
73
|
-
|
|
72
|
+
return this.variable.evaluate(context, back, forward);
|
|
74
73
|
} else if (this.primitive !== null) {
|
|
75
|
-
|
|
74
|
+
return this.primitive.evaluate(context, back, forward);
|
|
76
75
|
} else if (this.negatedTerm !== null) {
|
|
77
|
-
|
|
76
|
+
return this.negatedTerm.evaluate(context, back, forward);
|
|
78
77
|
} else if (this.logicalTerm !== null) {
|
|
79
|
-
|
|
78
|
+
return this.logicalTerm.evaluate(context, back, forward);
|
|
80
79
|
} else if (this.bracketedTerm !== null) {
|
|
81
|
-
|
|
80
|
+
return this.bracketedTerm.evaluate(context, back, forward);
|
|
82
81
|
} else if (this.comparisonTerm !== null) {
|
|
83
|
-
|
|
82
|
+
return this.comparisonTerm.evaluate(context, back, forward);
|
|
84
83
|
}
|
|
85
|
-
return value;
|
|
86
84
|
}
|
|
87
85
|
isEqualTo(term) {
|
|
88
86
|
let equalTo = false;
|
|
@@ -110,4 +108,4 @@ const _default = (0, _elements.define)(class Term extends _occamlanguages.Elemen
|
|
|
110
108
|
}
|
|
111
109
|
});
|
|
112
110
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBwcmltaXRpdmUsIG5lZ2F0ZWRUZXJtLCBsb2dpY2FsVGVybSwgYnJhY2tldGVkVGVybSwgY29tcGFyaXNvblRlcm0pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucHJpbWl0aXZlID0gcHJpbWl0aXZlO1xuICAgIHRoaXMubmVnYXRlZFRlcm0gPSBuZWdhdGVkVGVybTtcbiAgICB0aGlzLmxvZ2ljYWxUZXJtID0gbG9naWNhbFRlcm07XG4gICAgdGhpcy5icmFja2V0ZWRUZXJtID0gYnJhY2tldGVkVGVybTtcbiAgICB0aGlzLmNvbXBhcmlzb25UZXJtID0gY29tcGFyaXNvblRlcm07XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFByaW1pdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmltaXRpdmU7XG4gIH1cblxuICBnZXROZWdhdGVkVGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkVGVybTtcbiAgfVxuXG4gIGdldExvZ2ljYWxUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLmxvZ2ljYWxUZXJtO1xuICB9XG5cbiAgZ2V0QnJlZWRpbmdUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLmJyYWNrZXRlZFRlcm07XG4gIH1cblxuICBnZXRDb21wYXJpc29uVGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYXJpc29uVGVybTtcbiAgfVxuXG4gIGdldFByaW1pdGl2ZVZhbHVlKCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGhpcy5wcmltaXRpdmUuZ2V0VmFsdWUoKTtcblxuICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudmFyaWFibGUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnByaW1pdGl2ZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5lZ2F0ZWRUZXJtICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5uZWdhdGVkVGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxvZ2ljYWxUZXJtICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5sb2dpY2FsVGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmJyYWNrZXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmJyYWNrZXRlZFRlcm0uZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb21wYXJpc29uVGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29tcGFyaXNvblRlcm0uZ2V0VHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBib29sZWFuVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIGJvb2xlYW47XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5lZ2F0ZWRUZXJtLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sb2dpY2FsVGVybSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubG9naWNhbFRlcm0uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmJyYWNrZXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmJyYWNrZXRlZFRlcm0uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmlzb25UZXJtICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJpc29uVGVybS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG4gIH1cblxuICBpc0VxdWFsVG8odGVybSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSB0ZXJtLmdldFZhcmlhYmxlKCk7XG5cbiAgICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBlcXVhbFRvID0gdGhpcy52YXJpYWJsZS5pc0VxdWFsVG8odmFyaWFibGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByaW1pdGl2ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlKCk7XG5cbiAgICAgIGlmIChwcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgICAgZXF1YWxUbyA9IHRoaXMucHJpbWl0aXZlLmlzRXF1YWxUbyhwcmltaXRpdmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm1cIjtcblxuICBzdGF0aWMgZnJvbVByaW1pdGl2ZShwcmltaXRpdmUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcmltaXRpdmVTdHJpbmcgPSBwcmltaXRpdmUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlU3RyaW5nLCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICB2YXJpYWJsZSA9IG51bGwsXG4gICAgICAgICAgbmVnYXRlZFRlcm0gPSBudWxsLFxuICAgICAgICAgIGxvZ2ljYWxUZXJtID0gbnVsbCxcbiAgICAgICAgICBicmFja2V0ZWRUZXJtID0gbnVsbCxcbiAgICAgICAgICBjb21wYXJpc29uVGVybSA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHRlcm0gPSBuZXcgVGVybShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBwcmltaXRpdmUsIG5lZ2F0ZWRUZXJtLCBsb2dpY2FsVGVybSwgYnJhY2tldGVkVGVybSwgY29tcGFyaXNvblRlcm0pO1xuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlRlcm0iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJwcmltaXRpdmUiLCJuZWdhdGVkVGVybSIsImxvZ2ljYWxUZXJtIiwiYnJhY2tldGVkVGVybSIsImNvbXBhcmlzb25UZXJtIiwiZ2V0VmFyaWFibGUiLCJnZXRQcmltaXRpdmUiLCJnZXROZWdhdGVkVGVybSIsImdldExvZ2ljYWxUZXJtIiwiZ2V0QnJlZWRpbmdUZXJtIiwiZ2V0Q29tcGFyaXNvblRlcm0iLCJnZXRQcmltaXRpdmVWYWx1ZSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0VmFsdWUiLCJnZXRUeXBlIiwidHlwZSIsImlzQm9vbGVhbiIsImJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsImJvb2xlYW4iLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwiaXNFcXVhbFRvIiwidGVybSIsImVxdWFsVG8iLCJuYW1lIiwiZnJvbVByaW1pdGl2ZSIsInByaW1pdGl2ZVN0cmluZyIsImdldFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsY0FBYyxDQUFFO1FBQzNILEtBQUssQ0FBQ1QsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNq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
|
package/lib/element/terms.js
CHANGED
|
@@ -52,6 +52,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
52
52
|
}
|
|
53
53
|
return newObj;
|
|
54
54
|
}
|
|
55
|
+
const { map } = _occamlanguages.continuationUtilities;
|
|
55
56
|
const _default = (0, _elements.define)(class Terms extends _occamlanguages.Element {
|
|
56
57
|
constructor(context, string, node, breakPoint, array){
|
|
57
58
|
super(context, string, node, breakPoint);
|
|
@@ -71,20 +72,18 @@ const _default = (0, _elements.define)(class Terms extends _occamlanguages.Eleme
|
|
|
71
72
|
addTerm(term) {
|
|
72
73
|
this.array.push(term);
|
|
73
74
|
}
|
|
74
|
-
mapTerm(callback) {
|
|
75
|
-
return this.array
|
|
75
|
+
mapTerm(callback, back, forward) {
|
|
76
|
+
return map(this.array, callback, back, forward);
|
|
76
77
|
}
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const { Values } = _elements.default, values = new Values(context, string, node, breakPoint, array);
|
|
87
|
-
return values;
|
|
78
|
+
evaluate(context, back, forwarsd) {
|
|
79
|
+
return this.mapTerm((term, back, forward)=>{
|
|
80
|
+
return term.evaluate(context, back, forward);
|
|
81
|
+
}, back, (valuesArray)=>{
|
|
82
|
+
const valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray, context), string = valuesString, array = valuesArray, node = null, breakPoint = null;
|
|
83
|
+
context = null;
|
|
84
|
+
const { Values } = _elements.default, values = new Values(context, string, node, breakPoint, array);
|
|
85
|
+
return forwarsd(values);
|
|
86
|
+
});
|
|
88
87
|
}
|
|
89
88
|
static name = "Terms";
|
|
90
89
|
static fromTerm(term, context) {
|
|
@@ -97,4 +96,4 @@ const _default = (0, _elements.define)(class Terms extends _occamlanguages.Eleme
|
|
|
97
96
|
}
|
|
98
97
|
});
|
|
99
98
|
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm1zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5LCB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCB7IG1hcCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybXMgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheTtcbiAgfVxuXG4gIGdldExlbmd0aCgpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmFycmF5Lmxlbmd0aDtcblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBnZXRUZXJtKGluZGV4KSB7XG4gICAgY29uc3QgdGVybSA9IHRoaXMuYXJyYXlbaW5kZXhdIHx8IG51bGw7ICAvLy9cblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgYWRkVGVybSh0ZXJtKSB7XG4gICAgdGhpcy5hcnJheS5wdXNoKHRlcm0pO1xuICB9XG5cbiAgbWFwVGVybShjYWxsYmFjaywgYmFjaywgZm9yd2FyZCkge1xuICAgIHJldHVybiBtYXAodGhpcy5hcnJheSwgY2FsbGJhY2ssIGJhY2ssIGZvcndhcmQpO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2Fyc2QpIHtcbiAgICByZXR1cm4gdGhpcy5tYXBUZXJtKCh0ZXJtLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICByZXR1cm4gdGVybS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9LCBiYWNrLCAodmFsdWVzQXJyYXkpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgICBzdHJpbmcgPSB2YWx1ZXNTdHJpbmcsIC8vL1xuICAgICAgICAgICAgYXJyYXkgPSB2YWx1ZXNBcnJheSwgLy8vXG4gICAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFsdWVzID0gbmV3IFZhbHVlcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgICAgcmV0dXJuIGZvcndhcnNkKHZhbHVlcyk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVGVybXNcIjtcblxuICBzdGF0aWMgZnJvbVRlcm0odGVybSwgY29udGV4dCkge1xuICAgIGNvbnN0IHRlcm1zQXJyYXkgPSBbXG4gICAgICAgICAgICB0ZXJtXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0ZXJtc1N0cmluZyA9IHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdGVybXNTdHJpbmcsIC8vL1xuICAgICAgICAgIGFycmF5ID0gdGVybXNBcnJheSwgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHRlcm1zID0gbmV3IFRlcm1zKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpO1xuXG4gICAgcmV0dXJuIHRlcm1zO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJtYXAiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJkZWZpbmUiLCJUZXJtcyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheSIsImdldEFycmF5IiwiZ2V0TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0VGVybSIsImluZGV4IiwidGVybSIsImFkZFRlcm0iLCJwdXNoIiwibWFwVGVybSIsImNhbGxiYWNrIiwiYmFjayIsImZvcndhcmQiLCJldmFsdWF0ZSIsImZvcndhcnNkIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZXNTdHJpbmciLCJ2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlcyIsIm5hbWUiLCJmcm9tVGVybSIsInRlcm1zQXJyYXkiLCJ0ZXJtc1N0cmluZyIsInRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkiLCJ0ZXJtcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVCtDO2tFQUUxQjt3QkFHa0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV2RSxNQUFNLEVBQUVBLEdBQUcsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFckMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLFFBQVFDLEtBQUssRUFBRTtRQUNiLE1BQU1DLE9BQU8sSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSSxNQUFPLEdBQUc7UUFFNUMsT0FBT0M7SUFDVDtJQUVBQyxRQUFRRCxJQUFJLEVBQUU7UUFDWixJQUFJLENBQUNOLEtBQUssQ0FBQ1EsSUFBSSxDQUFDRjtJQUNsQjtJQUVBRyxRQUFRQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLE9BQU9yQixJQUFJLElBQUksQ0FBQ1MsS0FBSyxFQUFFVSxVQUFVQyxNQUFNQztJQUN6QztJQUVBQyxTQUFTakIsT0FBTyxFQUFFZSxJQUFJLEVBQUVHLFFBQVEsRUFBRTtRQUNoQyxPQUFPLElBQUksQ0FBQ0wsT0FBTyxDQUFDLENBQUNILE1BQU1LLE1BQU1DO1lBQy9CLE9BQU9OLEtBQUtPLFFBQVEsQ0FBQ2pCLFNBQVNlLE1BQU1DO1FBQ3RDLEdBQUdELE1BQU0sQ0FBQ0k7WUFDUixNQUFNQyxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsYUFBYW5CLFVBQ3hEQyxTQUFTbUIsY0FDVGhCLFFBQVFlLGFBQ1JqQixPQUFPLE1BQ1BDLGFBQWE7WUFFbkJILFVBQVU7WUFFVixNQUFNLEVBQUVzQixNQUFNLEVBQUUsR0FBR0MsaUJBQVEsRUFDckJDLFNBQVMsSUFBSUYsT0FBT3RCLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDO1lBRTdELE9BQU9jLFNBQVNNO1FBQ2xCO0lBQ0Y7SUFFQSxPQUFPQyxPQUFPLFFBQVE7SUFFdEIsT0FBT0MsU0FBU2hCLElBQUksRUFBRVYsT0FBTyxFQUFFO1FBQzdCLE1BQU0yQixhQUFhO1lBQ1hqQjtTQUNELEVBQ0RrQixjQUFjQyxJQUFBQSxpQ0FBeUIsRUFBQ0YsWUFBWTNCLFVBQ3BEQyxTQUFTMkIsYUFDVHhCLFFBQVF1QixZQUNSekIsT0FBTyxNQUNQQyxhQUFhO1FBRW5CSCxVQUFVO1FBRVYsTUFBTThCLFFBQVEsSUFBSWhDLE1BQU1FLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDO1FBRTNELE9BQU8wQjtJQUNUO0FBQ0YifQ==
|
package/lib/element/ternary.js
CHANGED
|
@@ -39,7 +39,7 @@ const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Ele
|
|
|
39
39
|
const value = this.term.evaluate(context), valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
40
40
|
if (!valueTypeBooleanType) {
|
|
41
41
|
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);
|
|
42
|
-
|
|
42
|
+
return back(exception);
|
|
43
43
|
}
|
|
44
44
|
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue, expression = boolean ? this.ifExpression : this.elseExpression;
|
|
45
45
|
return expression.evaluate(context, back, (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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm5hcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybmFyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIGlmRXhwcmVzc2lvbiwgZWxzZUV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmlmRXhwcmVzc2lvbiA9IGlmRXhwcmVzc2lvbjtcbiAgICB0aGlzLmVsc2VFeHByZXNzaW9uID0gZWxzZUV4cHJlc3Npb247XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRJZkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlmRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldEVsc2VCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5lbHNlRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0ZXJuYXJ5U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUJvb2xlYW5UeXBlID0gdmFsdWVUeXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IHByaW1pdGl2ZVZhbHVlLCAvLy9cbiAgICAgICAgICBleHByZXNzaW9uID0gYm9vbGVhbiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pZkV4cHJlc3Npb24gOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbHNlRXhwcmVzc2lvbjtcblxuICAgIHJldHVybiBleHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeSBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVGVybmFyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVGVybmFyeSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwiaWZFeHByZXNzaW9uIiwiZWxzZUV4cHJlc3Npb24iLCJnZXRUZXJtIiwiZ2V0SWZCbG9jayIsImdldEVsc2VCbG9jayIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ0ZXJuYXJ5U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJCT09MRUFOX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsImJvb2xlYW4iLCJleHByZXNzaW9uIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7MEJBRUM7MkJBQ1c7Ozs7OztNQUVsQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGdCQUFnQkMsdUJBQU87SUFDakQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxDQUFFO1FBQ2pGLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtJQUN4QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxZQUFZO0lBQzFCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsY0FBYztJQUM1QjtJQUVBSSxTQUFTVixPQUFPLEVBQUVXLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLE1BQU1DLGdCQUFnQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRTNDZCxRQUFRZSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsY0FBYyxZQUFZLENBQUM7UUFFNUQsTUFBTUcsUUFBUSxJQUFJLENBQUNaLElBQUksQ0FBQ00sUUFBUSxDQUFDVixVQUMzQmlCLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLHVCQUF1QkYsVUFBVUcsYUFBYTtRQUVwRCxJQUFJLENBQUNELHNCQUFzQjtZQUN6QixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSixVQUFVLDZCQUE2QixFQUFFTSw0QkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFDakhDLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7WUFFeEMsT0FBT1gsS0FBS2E7UUFDZDtRQUVBLE1BQU1HLGlCQUFpQlgsTUFBTVksaUJBQWlCLElBQ3hDQyxVQUFVRixnQkFDVkcsYUFBYUQsVUFDRSxJQUFJLENBQUN4QixZQUFZLEdBQ2YsSUFBSSxDQUFDQyxjQUFjO1FBRTFDLE9BQU93QixXQUFXcEIsUUFBUSxDQUFDVixTQUFTVyxNQUFNLENBQUNLO1lBQ3pDLE1BQU1LLGNBQWNMLE1BQU1GLFNBQVM7WUFFbkNkLFFBQVErQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWxCLGNBQWMsY0FBYyxFQUFFUSxZQUFZLEVBQUUsQ0FBQztZQUVoRixPQUFPVCxRQUFRSTtRQUNqQjtJQUNGO0lBRUEsT0FBT2dCLE9BQU8sVUFBVTtBQUMxQiJ9
|
package/lib/element/toInteger.js
CHANGED
|
@@ -27,7 +27,7 @@ const _default = (0, _elements.define)(class ToInteger extends _occamlanguages.E
|
|
|
27
27
|
getVariable() {
|
|
28
28
|
return this.variable;
|
|
29
29
|
}
|
|
30
|
-
evaluate(context) {
|
|
30
|
+
evaluate(context, back, forward) {
|
|
31
31
|
let value;
|
|
32
32
|
const toIntegerString = this.getString(); ///
|
|
33
33
|
context.trace(`Evaluating the '${toIntegerString}' function...`);
|
|
@@ -40,7 +40,7 @@ const _default = (0, _elements.define)(class ToInteger extends _occamlanguages.E
|
|
|
40
40
|
case _typeNames.INTEGER_TYPE_NAME:
|
|
41
41
|
{
|
|
42
42
|
const message = `Cannot evaluate the '${toIntegerString}' function because the '${valueTypeName}' type of its argument is not supported.`, exception = _exception.default.fromMessage(message);
|
|
43
|
-
|
|
43
|
+
return back(exception);
|
|
44
44
|
}
|
|
45
45
|
case _typeNames.STRING_TYPE_NAME:
|
|
46
46
|
case _typeNames.NOMINAL_VALUE_TYPE_NAME:
|
|
@@ -48,7 +48,7 @@ const _default = (0, _elements.define)(class ToInteger extends _occamlanguages.E
|
|
|
48
48
|
const valueString = value.getString(), boolean = _tryInteger.integerRegularExpresssion.test(valueString);
|
|
49
49
|
if (!boolean) {
|
|
50
50
|
const message = `Cannot evaluate the '${toIntegerString}' function because the '${valueTypeName}' value is not an integer.`, exception = _exception.default.fromMessage(message);
|
|
51
|
-
|
|
51
|
+
return back(exception);
|
|
52
52
|
}
|
|
53
53
|
integer = Number(valueString);
|
|
54
54
|
break;
|
|
@@ -57,9 +57,9 @@ const _default = (0, _elements.define)(class ToInteger extends _occamlanguages.E
|
|
|
57
57
|
value = (0, _value.valueFromInteger)(integer);
|
|
58
58
|
const valueString = value.getString();
|
|
59
59
|
context.debug(`...evaluated the '${toIntegerString}' function as '${valueString}'.`);
|
|
60
|
-
return value;
|
|
60
|
+
return forward(value);
|
|
61
61
|
}
|
|
62
62
|
static name = "ToInteger";
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3RvSW50ZWdlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tSW50ZWdlciB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcbmltcG9ydCB7IGludGVnZXJSZWd1bGFyRXhwcmVzc3Npb24gfSBmcm9tIFwiLi90cnlJbnRlZ2VyXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgU1RSSU5HX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUsIElOVEVHRVJfVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFRvSW50ZWdlciBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IHRvSW50ZWdlclN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3RvSW50ZWdlclN0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlTmFtZSA9IHZhbHVlVHlwZS5nZXROYW1lKCk7XG5cbiAgICBsZXQgaW50ZWdlcjtcblxuICAgIHN3aXRjaCAodmFsdWVUeXBlTmFtZSkge1xuICAgICAgY2FzZSBMSVNUX1RZUEVfTkFNRTpcbiAgICAgIGNhc2UgQk9PTEVBTl9UWVBFX05BTUU6XG4gICAgICBjYXNlIElOVEVHRVJfVFlQRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ2Fubm90IGV2YWx1YXRlIHRoZSAnJHt0b0ludGVnZXJTdHJpbmd9JyBmdW5jdGlvbiBiZWNhdXNlIHRoZSAnJHt2YWx1ZVR5cGVOYW1lfScgdHlwZSBvZiBpdHMgYXJndW1lbnQgaXMgbm90IHN1cHBvcnRlZC5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgY2FzZSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRToge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBib29sZWFuID0gaW50ZWdlclJlZ3VsYXJFeHByZXNzc2lvbi50ZXN0KHZhbHVlU3RyaW5nKTtcblxuICAgICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYENhbm5vdCBldmFsdWF0ZSB0aGUgJyR7dG9JbnRlZ2VyU3RyaW5nfScgZnVuY3Rpb24gYmVjYXVzZSB0aGUgJyR7dmFsdWVUeXBlTmFtZX0nIHZhbHVlIGlzIG5vdCBhbiBpbnRlZ2VyLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGludGVnZXIgPSBOdW1iZXIodmFsdWVTdHJpbmcpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWVGcm9tSW50ZWdlcihpbnRlZ2VyKTtcblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3RvSW50ZWdlclN0cmluZ30nIGZ1bmN0aW9uIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVG9JbnRlZ2VyXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUb0ludGVnZXIiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJnZXRWYXJpYWJsZSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsInRvSW50ZWdlclN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5hbWUiLCJnZXROYW1lIiwiaW50ZWdlciIsIkxJU1RfVFlQRV9OQU1FIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJJTlRFR0VSX1RZUEVfTkFNRSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIlNUUklOR19UWVBFX05BTUUiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsInZhbHVlU3RyaW5nIiwiYm9vbGVhbiIsImludGVnZXJSZWd1bGFyRXhwcmVzc3Npb24iLCJ0ZXN0IiwiTnVtYmVyIiwidmFsdWVGcm9tSW50ZWdlciIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVHdCO2tFQUVGOzBCQUVDO3VCQUNVOzRCQUNTOzJCQUNzRTs7Ozs7O01BRWhILFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsQ0FBRTtRQUN2RCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtJQUNsQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNELFFBQVE7SUFDdEI7SUFFQUUsU0FBU04sT0FBTyxFQUFFTyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixJQUFJQztRQUVKLE1BQU1DLGtCQUFrQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTlDWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsZ0JBQWdCLGFBQWEsQ0FBQztRQUUvREQsUUFBUSxJQUFJLENBQUNMLFFBQVEsQ0FBQ0UsUUFBUSxDQUFDTjtRQUUvQixNQUFNYSxZQUFZSixNQUFNSyxPQUFPLElBQ3pCQyxnQkFBZ0JGLFVBQVVHLE9BQU87UUFFdkMsSUFBSUM7UUFFSixPQUFRRjtZQUNOLEtBQUtHLHlCQUFjO1lBQ25CLEtBQUtDLDRCQUFpQjtZQUN0QixLQUFLQyw0QkFBaUI7Z0JBQUU7b0JBQ3RCLE1BQU1DLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRVgsZ0JBQWdCLHdCQUF3QixFQUFFSyxjQUFjLHdDQUF3QyxDQUFDLEVBQ25JTyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxPQUFPZCxLQUFLZTtnQkFDZDtZQUVBLEtBQUtHLDJCQUFnQjtZQUNyQixLQUFLQyxrQ0FBdUI7Z0JBQUU7b0JBQzVCLE1BQU1DLGNBQWNsQixNQUFNRSxTQUFTLElBQzdCaUIsVUFBVUMscUNBQXlCLENBQUNDLElBQUksQ0FBQ0g7b0JBRS9DLElBQUksQ0FBQ0MsU0FBUzt3QkFDWixNQUFNUCxVQUFVLENBQUMscUJBQXFCLEVBQUVYLGdCQUFnQix3QkFBd0IsRUFBRUssY0FBYywwQkFBMEIsQ0FBQyxFQUNySE8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDt3QkFFeEMsT0FBT2QsS0FBS2U7b0JBQ2Q7b0JBRUFMLFVBQVVjLE9BQU9KO29CQUVqQjtnQkFDRjtRQUNGO1FBRUFsQixRQUFRdUIsSUFBQUEsdUJBQWdCLEVBQUNmO1FBRXpCLE1BQU1VLGNBQWNsQixNQUFNRSxTQUFTO1FBRW5DWCxRQUFRaUMsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUV2QixnQkFBZ0IsZUFBZSxFQUFFaUIsWUFBWSxFQUFFLENBQUM7UUFFbkYsT0FBT25CLFFBQVFDO0lBQ2pCO0lBRUEsT0FBT3lCLE9BQU8sWUFBWTtBQUM1QiJ9
|
|
@@ -35,7 +35,7 @@ const _default = (0, _elements.define)(class TryInteger extends _occamlanguages.
|
|
|
35
35
|
getVariable() {
|
|
36
36
|
return this.variable;
|
|
37
37
|
}
|
|
38
|
-
evaluate(context) {
|
|
38
|
+
evaluate(context, back, forward) {
|
|
39
39
|
let value;
|
|
40
40
|
const tryIntegerString = this.getString(); ///
|
|
41
41
|
context.trace(`Evaluating the '${tryIntegerString}' function...`);
|
|
@@ -48,7 +48,7 @@ const _default = (0, _elements.define)(class TryInteger extends _occamlanguages.
|
|
|
48
48
|
case _typeNames.INTEGER_TYPE_NAME:
|
|
49
49
|
{
|
|
50
50
|
const message = `Cannot evaluate the '${tryIntegerString}' function because the '${valueTypeName}' type of its argument is not supported.`, exception = _exception.default.fromMessage(message);
|
|
51
|
-
|
|
51
|
+
return back(exception);
|
|
52
52
|
}
|
|
53
53
|
case _typeNames.STRING_TYPE_NAME:
|
|
54
54
|
case _typeNames.NOMINAL_VALUE_TYPE_NAME:
|
|
@@ -61,9 +61,9 @@ const _default = (0, _elements.define)(class TryInteger extends _occamlanguages.
|
|
|
61
61
|
value = (0, _value.valueFromBoolean)(boolean);
|
|
62
62
|
const valueString = value.getString();
|
|
63
63
|
context.debug(`...evaluated the '${tryIntegerString}' function as '${valueString}'.`);
|
|
64
|
-
return value;
|
|
64
|
+
return forward(value);
|
|
65
65
|
}
|
|
66
66
|
static name = "TryInteger";
|
|
67
67
|
});
|
|
68
68
|
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3RyeUludGVnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgU1RSSU5HX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUsIElOVEVHRVJfVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcblxuZXhwb3J0IGNvbnN0IGludGVnZXJSZWd1bGFyRXhwcmVzc3Npb24gPSAvXlsrLV0/
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3RyeUludGVnZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgU1RSSU5HX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUsIElOVEVHRVJfVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcblxuZXhwb3J0IGNvbnN0IGludGVnZXJSZWd1bGFyRXhwcmVzc3Npb24gPSAvXlsrLV0/XFxkKyQvO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVHJ5SW50ZWdlciBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IHRyeUludGVnZXJTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0cnlJbnRlZ2VyU3RyaW5nfScgZnVuY3Rpb24uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVOYW1lID0gdmFsdWVUeXBlLmdldE5hbWUoKTtcblxuICAgIGxldCBib29sZWFuO1xuXG4gICAgc3dpdGNoICh2YWx1ZVR5cGVOYW1lKSB7XG4gICAgICBjYXNlIExJU1RfVFlQRV9OQU1FOlxuICAgICAgY2FzZSBCT09MRUFOX1RZUEVfTkFNRTpcbiAgICAgIGNhc2UgSU5URUdFUl9UWVBFX05BTUU6IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBDYW5ub3QgZXZhbHVhdGUgdGhlICcke3RyeUludGVnZXJTdHJpbmd9JyBmdW5jdGlvbiBiZWNhdXNlIHRoZSAnJHt2YWx1ZVR5cGVOYW1lfScgdHlwZSBvZiBpdHMgYXJndW1lbnQgaXMgbm90IHN1cHBvcnRlZC5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgY2FzZSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRToge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgIGJvb2xlYW4gPSBpbnRlZ2VyUmVndWxhckV4cHJlc3NzaW9uLnRlc3QodmFsdWVTdHJpbmcpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuKTtcblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3RyeUludGVnZXJTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRyeUludGVnZXJcIjtcbn0pO1xuXG4iXSwibmFtZXMiOlsiaW50ZWdlclJlZ3VsYXJFeHByZXNzc2lvbiIsImRlZmluZSIsIlRyeUludGVnZXIiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJnZXRWYXJpYWJsZSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsInRyeUludGVnZXJTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVOYW1lIiwiZ2V0TmFtZSIsImJvb2xlYW4iLCJMSVNUX1RZUEVfTkFNRSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwiSU5URUdFUl9UWVBFX05BTUUiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJTVFJJTkdfVFlQRV9OQU1FIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJ2YWx1ZVN0cmluZyIsInRlc3QiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFZQTtlQUFBOztRQUZhQTtlQUFBQTs7O2dDQVJXO2tFQUVGOzBCQUVDO3VCQUNVOzJCQUMrRTs7Ozs7O0FBRXpHLE1BQU1BLDRCQUE0QjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG1CQUFtQkMsdUJBQU87SUFDcEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLENBQUU7UUFDdkQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7SUFDbEI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRCxRQUFRO0lBQ3RCO0lBRUFFLFNBQVNOLE9BQU8sRUFBRU8sSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsSUFBSUM7UUFFSixNQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUUvQ1gsUUFBUVksS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGlCQUFpQixhQUFhLENBQUM7UUFFaEVELFFBQVEsSUFBSSxDQUFDTCxRQUFRLENBQUNFLFFBQVEsQ0FBQ047UUFFL0IsTUFBTWEsWUFBWUosTUFBTUssT0FBTyxJQUN6QkMsZ0JBQWdCRixVQUFVRyxPQUFPO1FBRXZDLElBQUlDO1FBRUosT0FBUUY7WUFDTixLQUFLRyx5QkFBYztZQUNuQixLQUFLQyw0QkFBaUI7WUFDdEIsS0FBS0MsNEJBQWlCO2dCQUFFO29CQUN0QixNQUFNQyxVQUFVLENBQUMscUJBQXFCLEVBQUVYLGlCQUFpQix3QkFBd0IsRUFBRUssY0FBYyx3Q0FBd0MsQ0FBQyxFQUNwSU8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsT0FBT2QsS0FBS2U7Z0JBQ2Q7WUFFQSxLQUFLRywyQkFBZ0I7WUFDckIsS0FBS0Msa0NBQXVCO2dCQUFFO29CQUM1QixNQUFNQyxjQUFjbEIsTUFBTUUsU0FBUztvQkFFbkNNLFVBQVVyQiwwQkFBMEJnQyxJQUFJLENBQUNEO29CQUV6QztnQkFDRjtRQUNGO1FBRUFsQixRQUFRb0IsSUFBQUEsdUJBQWdCLEVBQUNaO1FBRXpCLE1BQU1VLGNBQWNsQixNQUFNRSxTQUFTO1FBRW5DWCxRQUFROEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVwQixpQkFBaUIsZUFBZSxFQUFFaUIsWUFBWSxFQUFFLENBQUM7UUFFcEYsT0FBT25CLFFBQVFDO0lBQ2pCO0lBRUEsT0FBT3NCLE9BQU8sYUFBYTtBQUM3QiJ9
|
package/lib/element/value.js
CHANGED
|
@@ -82,16 +82,14 @@ const _default = (0, _elements.define)(class Value extends _occamlanguages.Eleme
|
|
|
82
82
|
const type = this.getType(), booleanType = type.isBooleanType(), boolean = booleanType; ///
|
|
83
83
|
return boolean;
|
|
84
84
|
}
|
|
85
|
-
evaluate(context) {
|
|
86
|
-
let value;
|
|
85
|
+
evaluate(context, back, forward) {
|
|
87
86
|
if (false) {
|
|
88
87
|
///
|
|
89
88
|
} else if (this.variable !== null) {
|
|
90
|
-
|
|
89
|
+
return this.variable.evaluate(context, back, forward);
|
|
91
90
|
} else if (this.primitive !== null) {
|
|
92
|
-
|
|
91
|
+
return this.primitive.evaluate(context, back, forward);
|
|
93
92
|
}
|
|
94
|
-
return value;
|
|
95
93
|
}
|
|
96
94
|
isEqualTo(value) {
|
|
97
95
|
let equalTo = false;
|
|
@@ -131,4 +129,4 @@ const _default = (0, _elements.define)(class Value extends _occamlanguages.Eleme
|
|
|
131
129
|
}
|
|
132
130
|
});
|
|
133
131
|
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFsdWUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnByaW1pdGl2ZSA9IHByaW1pdGl2ZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UHJpbWl0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZTtcbiAgfVxuXG4gIGdldFByaW1pdGl2ZVZhbHVlKCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGhpcy5wcmltaXRpdmUuZ2V0VmFsdWUoKTtcblxuICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudmFyaWFibGUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnByaW1pdGl2ZS5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBpc0Jvb2xlYW4oKSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IGJvb2xlYW5UeXBlOyAvLy9cblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5wcmltaXRpdmUuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuICB9XG5cbiAgaXNFcXVhbFRvKHZhbHVlKSB7XG4gICAgbGV0IGVxdWFsVG8gPSBmYWxzZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZSA9IHZhbHVlLmdldFZhcmlhYmxlKCk7XG5cbiAgICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBlcXVhbFRvID0gdGhpcy52YXJpYWJsZS5pc0VxdWFsVG8odmFyaWFibGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByaW1pdGl2ZSA9IHZhbHVlLmdldFByaW1pdGl2ZSgpO1xuXG4gICAgICBpZiAocHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0aGlzLnByaW1pdGl2ZS5pc0VxdWFsVG8ocHJpbWl0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGxpZnQoY29udGV4dCkge1xuICAgIGNvbnN0IHsgUHJpbWl0aXZlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBwcmltaXRpdmVWYWx1ZSA9IHRoaXMuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBwcmltaXRpdmVWYWx1ZXMgPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICBsZXQgdHlwZTtcblxuICAgIHR5cGUgPSB0aGlzLmdldFR5cGUoKTtcblxuICAgIGNvbnN0IGFyZ3VtZW50VHlwZSA9IHR5cGUuZ2V0QXJndW1lbnRUeXBlKCk7XG5cbiAgICB0eXBlID0gYXJndW1lbnRUeXBlOyAgLy8vXG5cbiAgICBjb25zdCB2YWx1ZXMgPSBwcmltaXRpdmVWYWx1ZXMubWFwKChwcmltaXRpdmVWYWx1ZSk9PiB7XG4gICAgICAgICAgICBjb25zdCBwcmltaXRpdmUgPSBQcmltaXRpdmUuZnJvbVByaW1pdGl2ZVZhbHVlQW5kVHlwZShwcmltaXRpdmVWYWx1ZSwgdHlwZSwgY29udGV4dCksXG4gICAgICAgICAgICAgICAgICB2YWx1ZSA9IFZhbHVlLmZyb21QcmltaXRpdmUocHJpbWl0aXZlLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYWx1ZVwiO1xuXG4gIHN0YXRpYyBmcm9tUHJpbWl0aXZlKHByaW1pdGl2ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVN0cmluZyA9IHByaW1pdGl2ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmVTdHJpbmcsIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWUgPSBuZXcgVmFsdWUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVmFsdWUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJwcmltaXRpdmUiLCJnZXRWYXJpYWJsZSIsImdldFByaW1pdGl2ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRWYWx1ZSIsImdldFR5cGUiLCJ0eXBlIiwiaXNCb29sZWFuIiwiYm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiYm9vbGVhbiIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJpc0VxdWFsVG8iLCJ2YWx1ZSIsImVxdWFsVG8iLCJsaWZ0IiwiUHJpbWl0aXZlIiwiZWxlbWVudHMiLCJwcmltaXRpdmVWYWx1ZXMiLCJhcmd1bWVudFR5cGUiLCJnZXRBcmd1bWVudFR5cGUiLCJ2YWx1ZXMiLCJtYXAiLCJmcm9tUHJpbWl0aXZlVmFsdWVBbmRUeXBlIiwiZnJvbVByaW1pdGl2ZSIsIm5hbWUiLCJwcmltaXRpdmVTdHJpbmciLCJnZXRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O2dDQU53QjtrRUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BSXJCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsdUJBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsQ0FBRTtRQUNsRSxLQUFLLENBQUNM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
|