occam-furtle 3.0.461 → 3.0.462
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/assignment/list.js +2 -2
- package/lib/element/assignment/object.js +6 -5
- package/lib/element/binding.js +5 -4
- package/lib/element/bindings/named.js +15 -8
- package/lib/element/bindings.js +15 -9
- package/lib/element/contains.js +4 -4
- package/lib/element/endsWith.js +4 -4
- package/lib/element/lengthOf.js +4 -4
- package/lib/element/nodeQuery.js +7 -7
- package/lib/element/nodesQuery.js +6 -6
- package/lib/element/primitive.js +3 -3
- package/lib/element/returnStatement.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 +3 -3
- 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 +3 -3
- package/lib/element/variable.js +4 -4
- package/package.json +2 -2
- package/src/element/assignment/list.js +1 -1
- package/src/element/assignment/object.js +6 -6
- package/src/element/binding.js +5 -3
- package/src/element/bindings/named.js +22 -10
- package/src/element/bindings.js +20 -10
- package/src/element/contains.js +3 -3
- package/src/element/endsWith.js +3 -3
- package/src/element/lengthOf.js +3 -3
- package/src/element/nodeQuery.js +6 -6
- package/src/element/nodesQuery.js +5 -5
- package/src/element/primitive.js +2 -2
- package/src/element/returnStatement.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 +2 -2
- 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 +2 -2
- package/src/element/variable.js +3 -3
|
@@ -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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
|
package/lib/element/values.js
CHANGED
|
@@ -36,14 +36,14 @@ const _default = (0, _elements.define)(class Values extends _occamlanguages.Elem
|
|
|
36
36
|
forEachValue(callback) {
|
|
37
37
|
this.array.forEach(callback);
|
|
38
38
|
}
|
|
39
|
-
evaluate(context) {
|
|
39
|
+
evaluate(context, back, forward) {
|
|
40
40
|
const valuesArray = this.mapValue((value)=>{
|
|
41
41
|
value = value.evaluate(context);
|
|
42
42
|
return value;
|
|
43
43
|
}), valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray, context), string = valuesString, array = valuesArray, node = null, breakPoint = null;
|
|
44
44
|
context = null;
|
|
45
45
|
const values = new Values(context, string, node, breakPoint, array);
|
|
46
|
-
return values;
|
|
46
|
+
return forward(values);
|
|
47
47
|
}
|
|
48
48
|
static name = "Values";
|
|
49
49
|
static fromValue(value, context) {
|
|
@@ -56,4 +56,4 @@ const _default = (0, _elements.define)(class Values extends _occamlanguages.Elem
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFsdWVzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0VmFsdWUoaW5kZXgpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuYXJyYXlbaW5kZXhdIHx8IG51bGw7ICAvLy9cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGFkZFZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5hcnJheS5wdXNoKHZhbHVlKTtcbiAgfVxuXG4gIG1hcFZhbHVlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmFycmF5Lm1hcChjYWxsYmFjayk7IH1cblxuICBmb3JFYWNoVmFsdWUoY2FsbGJhY2spIHsgdGhpcy5hcnJheS5mb3JFYWNoKGNhbGxiYWNrKTsgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YWx1ZXNBcnJheSA9IHRoaXMubWFwVmFsdWUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdmFsdWVzU3RyaW5nID0gdmFsdWVzU3RyaW5nRnJvbVZhbHVlc0FycmF5KHZhbHVlc0FycmF5LCBjb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSB2YWx1ZXNTdHJpbmcsIC8vL1xuICAgICAgICAgIGFycmF5ID0gdmFsdWVzQXJyYXksIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSBuZXcgVmFsdWVzKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWVzKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYWx1ZXNcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSBbXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmFsdWVzU3RyaW5nID0gdmFsdWVzU3RyaW5nRnJvbVZhbHVlc0FycmF5KHZhbHVlc0FycmF5LCBjb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSB2YWx1ZXNTdHJpbmcsIC8vL1xuICAgICAgICAgIGFycmF5ID0gdmFsdWVzQXJyYXksIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB2YWx1ZXMgPSBuZXcgVmFsdWVzKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpO1xuXG4gICAgcmV0dXJuIHZhbHVlcztcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVmFsdWVzIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsImFycmF5IiwiZ2V0QXJyYXkiLCJnZXRMZW5ndGgiLCJsZW5ndGgiLCJnZXRWYWx1ZSIsImluZGV4IiwidmFsdWUiLCJhZGRWYWx1ZSIsInB1c2giLCJtYXBWYWx1ZSIsImNhbGxiYWNrIiwibWFwIiwiZm9yRWFjaFZhbHVlIiwiZm9yRWFjaCIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZXNBcnJheSIsInZhbHVlc1N0cmluZyIsInZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSIsInZhbHVlcyIsIm5hbWUiLCJmcm9tVmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBQTs7O2dDQUx3QjswQkFFRDt3QkFDcUI7TUFFNUMsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxlQUFlQyx1QkFBTztJQUNoRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLFNBQVNDLEtBQUssRUFBRTtRQUNkLE1BQU1DLFFBQVEsSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSSxNQUFPLEdBQUc7UUFFN0MsT0FBT0M7SUFDVDtJQUVBQyxTQUFTRCxLQUFLLEVBQUU7UUFDZCxJQUFJLENBQUNOLEtBQUssQ0FBQ1EsSUFBSSxDQUFDRjtJQUNsQjtJQUVBRyxTQUFTQyxRQUFRLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ1YsS0FBSyxDQUFDVyxHQUFHLENBQUNEO0lBQVc7SUFFdERFLGFBQWFGLFFBQVEsRUFBRTtRQUFFLElBQUksQ0FBQ1YsS0FBSyxDQUFDYSxPQUFPLENBQUNIO0lBQVc7SUFFdkRJLFNBQVNsQixPQUFPLEVBQUVtQixJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixNQUFNQyxjQUFjLElBQUksQ0FBQ1IsUUFBUSxDQUFDLENBQUNIO1lBQzNCQSxRQUFRQSxNQUFNUSxRQUFRLENBQUNsQjtZQUV2QixPQUFPVTtRQUNULElBQ0FZLGVBQWVDLElBQUFBLG1DQUEyQixFQUFDRixhQUFhckIsVUFDeERDLFNBQVNxQixjQUNUbEIsUUFBUWlCLGFBQ1JuQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNd0IsU0FBUyxJQUFJMUIsT0FBT0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFN0QsT0FBT2dCLFFBQVFJO0lBQ2pCO0lBRUEsT0FBT0MsT0FBTyxTQUFTO0lBRXZCLE9BQU9DLFVBQVVoQixLQUFLLEVBQUVWLE9BQU8sRUFBRTtRQUMvQixNQUFNcUIsY0FBYztZQUNaWDtTQUNELEVBQ0RZLGVBQWVDLElBQUFBLG1DQUEyQixFQUFDRixhQUFhckIsVUFDeERDLFNBQVNxQixjQUNUbEIsUUFBUWlCLGFBQ1JuQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNd0IsU0FBUyxJQUFJMUIsT0FBT0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFN0QsT0FBT29CO0lBQ1Q7QUFDRiJ9
|
package/lib/element/variable.js
CHANGED
|
@@ -37,17 +37,17 @@ const _default = (0, _elements.define)(class Variable extends _occamlanguages.El
|
|
|
37
37
|
const comparesToVariableName = this.name === variableName;
|
|
38
38
|
return comparesToVariableName;
|
|
39
39
|
}
|
|
40
|
-
evaluate(context) {
|
|
40
|
+
evaluate(context, back, forward) {
|
|
41
41
|
const variableString = this.getString(); ///
|
|
42
42
|
context.trace(`Evaluating the '${variableString}' variable...`);
|
|
43
43
|
const nested = true, variableName = this.name, variablePresent = context.isVariablePresentByVariableName(variableName, nested);
|
|
44
44
|
if (!variablePresent) {
|
|
45
45
|
const message = `The '${variableString}' variable is not present.'`, exception = _exception.default.fromMessage(message);
|
|
46
|
-
|
|
46
|
+
return back(exception);
|
|
47
47
|
}
|
|
48
48
|
const variable = context.findVariableByVariableName(variableName), value = variable.getValue(), valueString = value.getString();
|
|
49
49
|
context.debug(`...evaluated the '${variableString}' variable as the '${valueString}' value.`);
|
|
50
|
-
return value;
|
|
50
|
+
return forward(value);
|
|
51
51
|
}
|
|
52
52
|
assign(value, context, back, forward) {
|
|
53
53
|
const nested = false, valueString = value.getString(), variableName = this.name, variableString = this.getString(), variablePresent = context.isVariablePresentByVariableName(variableName, nested);
|
|
@@ -89,4 +89,4 @@ const _default = (0, _elements.define)(class Variable extends _occamlanguages.El
|
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
91
|
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhcmlhYmxlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgY29tcGFyZVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlc1RvVmFyaWFibGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdmFyaWFibGVOYW1lKTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvVmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgdmFsdWUgPSB2YXJpYWJsZS5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgYXMgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBhc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpO1xuXG4gICAgY29udGV4dC50cmFjZShgQXNzaWduaW5nIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIGFscmVhZHkgcHJlc2VudC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmcgPSB2YWx1ZVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30gdmFyaWFibGUncyAnJHt0eXBlU3RyaW5nfScgdHlwZSBkb2VzIG5vdCBjb21wYXJlIHRvIHRoZSB2YWx1ZSdzICcke3ZhbHVlVHlwZVN0cmluZ30nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGV4dC5hZGRWYXJpYWJsZSh2YXJpYWJsZSwgYmFjaywgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uYXNzaWduZWQgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUgdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCk7XG5cbiAgICAgIGZvcndhcmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZVwiO1xuXG4gIHN0YXRpYyBmcm9tQmluZGluZyhiaW5kaW5nLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IGJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBiaW5kaW5nLmdldE5hbWUoKSxcbiAgICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGxcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQpIHtcbiAgICBjb25zdCBhbGlhc2VkTmFtZSA9IG5hbWVkQmluZGluZy5nZXRBbGlhc2VkTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBhbGlhc2VkTmFtZSwgLy8vXG4gICAgICAgICAgdGVybSA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdGVybSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhbHVlQW5kUGFyYW1ldGVyKHZhbHVlLCBwYXJhbWV0ZXIsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlU3RyaW5nRnJvbU5hbWUobmFtZSksXG4gICAgICAgICAgc3RyaW5nID0gdmFyaWFibGVTdHJpbmcsICAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlZhcmlhYmxlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJuYW1lIiwidmFsdWUiLCJnZXRUeXBlIiwiZ2V0TmFtZSIsImdldFZhbHVlIiwiY29tcGFyZVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsImNvbXBhcmVzVG9WYXJpYWJsZU5hbWUiLCJldmFsdWF0ZSIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJhc3NpZ24iLCJiYWNrIiwiZm9yd2FyZCIsInZhbHVlVHlwZSIsInR5cGVFcXVhbFRvVmFsdWVUeXBlIiwiaXNFcXVhbFRvIiwidHlwZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsImFkZFZhcmlhYmxlIiwiZnJvbUJpbmRpbmciLCJiaW5kaW5nIiwidmFyaWFibGVTdHJpbmdGcm9tTmFtZSIsImZyb21OYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJhbGlhc2VkTmFtZSIsImdldEFsaWFzZWROYW1lIiwidGVybSIsImZyb21WYWx1ZUFuZFBhcmFtZXRlciIsInBhcmFtZXRlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7Z0NBUHdCO2tFQUVGOzBCQUVDO3dCQUNnQjs7Ozs7O01BRXZDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLENBQUU7UUFDaEUsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FB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
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhcmlhYmxlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgY29tcGFyZVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlc1RvVmFyaWFibGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdmFyaWFibGVOYW1lKTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvVmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgICAgIHZhbHVlID0gdmFyaWFibGUuZ2V0VmFsdWUoKSxcbiAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGFzIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgYXNzaWduKHZhbHVlLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgbmVzdGVkID0gZmFsc2UsXG4gICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEFzc2lnbmluZyB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSB0byB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICBpZiAoIXR5cGVFcXVhbFRvVmFsdWVUeXBlKSB7XG4gICAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgdmFsdWVUeXBlU3RyaW5nID0gdmFsdWVUeXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9IHZhcmlhYmxlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUgZG9lcyBub3QgY29tcGFyZSB0byB0aGUgdmFsdWUncyAnJHt2YWx1ZVR5cGVTdHJpbmd9JyB0eXBlLidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpczsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUsIGJhY2ssICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmFzc2lnbmVkIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLmApO1xuXG4gICAgICBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVcIjtcblxuICBzdGF0aWMgZnJvbUJpbmRpbmcoYmluZGluZywgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBiaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gYmluZGluZy5nZXROYW1lKCksXG4gICAgICAgICAgdmFsdWUgPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGVTdHJpbmdGcm9tTmFtZShuYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB2YXJpYWJsZVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsXG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0KSB7XG4gICAgY29uc3QgYWxpYXNlZE5hbWUgPSBuYW1lZEJpbmRpbmcuZ2V0QWxpYXNlZE5hbWUoKSxcbiAgICAgICAgICB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gYWxpYXNlZE5hbWUsIC8vL1xuICAgICAgICAgIHRlcm0gPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGVTdHJpbmdGcm9tTmFtZShuYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB2YXJpYWJsZVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIG5hbWUsIHRlcm0pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYWx1ZUFuZFBhcmFtZXRlcih2YWx1ZSwgcGFyYW1ldGVyLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IHBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJWYXJpYWJsZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwibmFtZSIsInZhbHVlIiwiZ2V0VHlwZSIsImdldE5hbWUiLCJnZXRWYWx1ZSIsImNvbXBhcmVWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJjb21wYXJlc1RvVmFyaWFibGVOYW1lIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJhc3NpZ24iLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInR5cGVTdHJpbmciLCJ2YWx1ZVR5cGVTdHJpbmciLCJhZGRWYXJpYWJsZSIsImZyb21CaW5kaW5nIiwiYmluZGluZyIsInZhcmlhYmxlU3RyaW5nRnJvbU5hbWUiLCJmcm9tTmFtZWRCaW5kaW5nIiwibmFtZWRCaW5kaW5nIiwiYWxpYXNlZE5hbWUiLCJnZXRBbGlhc2VkTmFtZSIsInRlcm0iLCJmcm9tVmFsdWVBbmRQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzt3QkFDZ0I7Ozs7OztNQUV2QyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGlCQUFpQkMsdUJBQU87SUFDbEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxDQUFFO1FBQ2hFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDbkI7SUFFQUksb0JBQW9CQyxZQUFZLEVBQUU7UUFDaEMsTUFBTUMseUJBQTBCLElBQUksQ0FBQ1AsSUFBSSxLQUFLTTtRQUU5QyxPQUFPQztJQUNUO0lBRUFDLFNBQVNiLE9BQU8sRUFBRWMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsTUFBTUMsaUJBQWlCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFNUNqQixRQUFRa0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGVBQWUsYUFBYSxDQUFDO1FBRTlELE1BQU1HLFNBQVMsTUFDVFIsZUFBZSxJQUFJLENBQUNOLElBQUksRUFDeEJlLGtCQUFrQnBCLFFBQVFxQiwrQkFBK0IsQ0FBQ1YsY0FBY1E7UUFFOUUsSUFBSSxDQUFDQyxpQkFBaUI7WUFDcEIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSwyQkFBMkIsQ0FBQyxFQUM3RE8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPUixLQUFLUztRQUNkO1FBRUEsTUFBTUcsV0FBVzFCLFFBQVEyQiwwQkFBMEIsQ0FBQ2hCLGVBQzlDTCxRQUFRb0IsU0FBU2pCLFFBQVEsSUFDekJtQixjQUFjdEIsTUFBTVcsU0FBUztRQUVuQ2pCLFFBQVE2QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWIsZUFBZSxtQkFBbUIsRUFBRVksWUFBWSxRQUFRLENBQUM7UUFFNUYsT0FBT2IsUUFBUVQ7SUFDakI7SUFFQXdCLE9BQU94QixLQUFLLEVBQUVOLE9BQU8sRUFBRWMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDcEMsTUFBTUksU0FBUyxPQUNUUyxjQUFjdEIsTUFBTVcsU0FBUyxJQUM3Qk4sZUFBZSxJQUFJLENBQUNOLElBQUksRUFDeEJXLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFDL0JHLGtCQUFrQnBCLFFBQVFxQiwrQkFBK0IsQ0FBQ1YsY0FBY1E7UUFFOUVuQixRQUFRa0IsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFVSxZQUFZLGdCQUFnQixFQUFFWixlQUFlLGFBQWEsQ0FBQztRQUUzRixJQUFJSSxpQkFBaUI7WUFDbkIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSw4QkFBOEIsQ0FBQyxFQUNoRU8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPUixLQUFLUztRQUNkO1FBRUEsTUFBTVEsWUFBWXpCLE1BQU1DLE9BQU8sSUFDekJ5Qix1QkFBdUIsSUFBSSxDQUFDNUIsSUFBSSxDQUFDNkIsU0FBUyxDQUFDRjtRQUVqRCxJQUFJLENBQUNDLHNCQUFzQjtZQUN6QixNQUFNRSxhQUFhLElBQUksQ0FBQzlCLElBQUksQ0FBQ2EsU0FBUyxJQUNoQ2tCLGtCQUFrQkosVUFBVWQsU0FBUyxJQUNyQ0ssVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSxhQUFhLEVBQUVrQixXQUFXLHdDQUF3QyxFQUFFQyxnQkFBZ0IsUUFBUSxDQUFDLEVBQzlIWixZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE9BQU9SLEtBQUtTO1FBQ2Q7UUFFQSxJQUFJLENBQUNqQixLQUFLLEdBQUdBO1FBRWIsTUFBTW9CLFdBQVcsSUFBSSxFQUFHLEdBQUc7UUFFM0IsT0FBTzFCLFFBQVFvQyxXQUFXLENBQUNWLFVBQVVaLE1BQU07WUFDekNkLFFBQVE2QixLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRUQsWUFBWSxnQkFBZ0IsRUFBRVosZUFBZSxXQUFXLENBQUM7WUFFM0ZEO1FBQ0Y7SUFDRjtJQUVBLE9BQU9WLE9BQU8sV0FBVztJQUV6QixPQUFPZ0MsWUFBWUMsT0FBTyxFQUFFdEMsT0FBTyxFQUFFO1FBQ25DLE1BQU1JLE9BQU9rQyxRQUFRL0IsT0FBTyxJQUN0QkYsT0FBT2lDLFFBQVE5QixPQUFPLElBQ3RCRixRQUFRLE1BQ1JVLGlCQUFpQnVCLElBQUFBLDhCQUFzQixFQUFDbEMsT0FDeENKLFNBQVNlLGdCQUNUZCxPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNMEIsV0FBVyxJQUFJNUIsU0FBU0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUMsTUFBTUMsTUFBTUM7UUFFN0UsT0FBT29CO0lBQ1Q7SUFFQSxPQUFPYyxpQkFBaUJDLFlBQVksRUFBRXpDLE9BQU8sRUFBRTtRQUM3QyxNQUFNMEMsY0FBY0QsYUFBYUUsY0FBYyxJQUN6Q3ZDLE9BQU9xQyxhQUFhbEMsT0FBTyxJQUMzQkYsT0FBT3FDLGFBQ1BFLE9BQU8sTUFDUDVCLGlCQUFpQnVCLElBQUFBLDhCQUFzQixFQUFDbEMsT0FDeENKLFNBQVNlLGdCQUNUZCxPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNMEIsV0FBVyxJQUFJNUIsU0FBU0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUMsTUFBTUMsTUFBTXVDO1FBRTdFLE9BQU9sQjtJQUNUO0lBRUEsT0FBT21CLHNCQUFzQnZDLEtBQUssRUFBRXdDLFNBQVMsRUFBRTlDLE9BQU8sRUFBRTtRQUN0RCxNQUFNSSxPQUFPMEMsVUFBVXZDLE9BQU8sSUFDeEJGLE9BQU95QyxVQUFVdEMsT0FBTyxJQUN4QlEsaUJBQWlCdUIsSUFBQUEsOEJBQXNCLEVBQUNsQyxPQUN4Q0osU0FBU2UsZ0JBQ1RkLE9BQU8sTUFDUEMsYUFBYTtRQUVuQkgsVUFBVTtRQUVWLE1BQU0wQixXQUFXLElBQUk1QixTQUFTRSxTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQyxNQUFNQyxNQUFNQztRQUU3RSxPQUFPb0I7SUFDVDtBQUNGIn0=
|
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.462",
|
|
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.22",
|
|
16
16
|
"occam-lexers": "^23.2.8",
|
|
17
17
|
"occam-parsers": "^23.2.11",
|
|
18
18
|
"occam-query": "^4.1.206"
|
|
@@ -69,7 +69,7 @@ export default define(class ListAssignment extends Element {
|
|
|
69
69
|
const value = values[index];
|
|
70
70
|
|
|
71
71
|
return this.evaluateBinding(binding, value, context, back, forward);
|
|
72
|
-
}, () => {
|
|
72
|
+
}, back, () => {
|
|
73
73
|
context.debug(`...evaluated the '${listAssignmentString}' list assignment.`);
|
|
74
74
|
|
|
75
75
|
return forward();
|
|
@@ -49,13 +49,13 @@ export default define(class ObjectAssignment extends Element {
|
|
|
49
49
|
|
|
50
50
|
nominalValueProperties.compareNamedBindings(this.namedBindings, context);
|
|
51
51
|
|
|
52
|
-
this.namedBindings.forEachNamedBinding((namedBinding) => {
|
|
53
|
-
this.evaluateNamedBinding(namedBinding, value, context);
|
|
54
|
-
})
|
|
55
|
-
|
|
56
|
-
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
52
|
+
return this.namedBindings.forEachNamedBinding((namedBinding, back, forward) => {
|
|
53
|
+
this.evaluateNamedBinding(namedBinding, value, context, back, forward);
|
|
54
|
+
}, back, () => {
|
|
55
|
+
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
return forward();
|
|
58
|
+
});
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
evaluateNamedBinding(namedBinding, term, context, back, forward) {
|
package/src/element/binding.js
CHANGED
|
@@ -27,9 +27,9 @@ export default define(class Binding extends Element {
|
|
|
27
27
|
return this.elided;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
compareTerm(term, context) {
|
|
30
|
+
compareTerm(term, context, back, forward) {
|
|
31
31
|
if (this.elided) {
|
|
32
|
-
return;
|
|
32
|
+
return forward();
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
const termString = term.getString(),
|
|
@@ -45,10 +45,12 @@ export default define(class Binding extends Element {
|
|
|
45
45
|
message = `The '${termString}' term's '${termType}' type is not equal to the '${bindingString}' binding's '${typeString}' type.`,
|
|
46
46
|
exception = Exception.fromMessage(message);
|
|
47
47
|
|
|
48
|
-
|
|
48
|
+
return back(exception);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
context.debug(`...comparing the '${termString}' term against the '${bindingString}' binding.`);
|
|
52
|
+
|
|
53
|
+
return forward();
|
|
52
54
|
}
|
|
53
55
|
|
|
54
56
|
static name = "Binding";
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Element } from "occam-languages";
|
|
3
|
+
import { Element, continuationUtilities } from "occam-languages";
|
|
4
4
|
|
|
5
5
|
import Exception from "../../exception";
|
|
6
6
|
|
|
7
7
|
import { define } from "../../elements";
|
|
8
8
|
|
|
9
|
+
const { forEach } = continuationUtilities;
|
|
10
|
+
|
|
9
11
|
export default define(class NamedBindings extends Element {
|
|
10
12
|
constructor(context, string, node, breakPoint, array) {
|
|
11
13
|
super(context, string, node, breakPoint);
|
|
@@ -31,9 +33,15 @@ export default define(class NamedBindings extends Element {
|
|
|
31
33
|
|
|
32
34
|
someNamedBinding(callback) { return this.array.some(callback); }
|
|
33
35
|
|
|
34
|
-
forEachNamedBinding(callback
|
|
36
|
+
forEachNamedBinding(callback, back = null, forward = null) {
|
|
37
|
+
if (forward !== null) {
|
|
38
|
+
return forEach(this.array, callback, back, forward);
|
|
39
|
+
}
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
this.array.forEach(callback);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
compareTerms(terms, context, back, forward) {
|
|
37
45
|
const termsString = terms.getString(),
|
|
38
46
|
namedBindingsString = this.getString(); ///
|
|
39
47
|
|
|
@@ -46,18 +54,22 @@ export default define(class NamedBindings extends Element {
|
|
|
46
54
|
const message = `The '${termsString}' terms and '${namedBindingsString}' named bindings are not of the same length.`,
|
|
47
55
|
exception = Exception.fromMessage(message);
|
|
48
56
|
|
|
49
|
-
|
|
57
|
+
return back(exception);
|
|
50
58
|
}
|
|
51
59
|
|
|
52
|
-
this.forEachNamedBinding((namedBinding, index) => {
|
|
60
|
+
return this.forEachNamedBinding((namedBinding, back, forward, index) => {
|
|
53
61
|
if (namedBinding !== null) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
namedBinding.compareTerm(term, context);
|
|
62
|
+
forward();
|
|
57
63
|
}
|
|
58
|
-
});
|
|
59
64
|
|
|
60
|
-
|
|
65
|
+
const term = terms.getTerm(index);
|
|
66
|
+
|
|
67
|
+
return namedBinding.compareTerm(term, context, back, forward);
|
|
68
|
+
}, back, () => {
|
|
69
|
+
context.debug(`...compared the '${termsString}' terms with the '${namedBindingsString}' named bindings.`);
|
|
70
|
+
|
|
71
|
+
forward();
|
|
72
|
+
});
|
|
61
73
|
}
|
|
62
74
|
|
|
63
75
|
compareNamedBinding(namedBinding, context) {
|
package/src/element/bindings.js
CHANGED
|
@@ -29,9 +29,15 @@ export default define(class Bindings extends Element {
|
|
|
29
29
|
return binding;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
forEachBinding(callback
|
|
32
|
+
forEachBinding(callback, back = null, forward = null) {
|
|
33
|
+
if (forward !== null) {
|
|
34
|
+
return forEach(this.array, callback, back, forward);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
this.array.forEach(callback);
|
|
38
|
+
}
|
|
33
39
|
|
|
34
|
-
compareTerms(terms, context) {
|
|
40
|
+
compareTerms(terms, context, back, forward) {
|
|
35
41
|
const termsString = terms.getString(),
|
|
36
42
|
bindingsString = this.getString(); ///
|
|
37
43
|
|
|
@@ -44,18 +50,22 @@ export default define(class Bindings extends Element {
|
|
|
44
50
|
const message = `The '${termsString}' expressions and '${bindingsString}' bindings are not of the same length.`,
|
|
45
51
|
exception = Exception.fromMessage(message);
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
return back(exception);
|
|
48
54
|
}
|
|
49
55
|
|
|
50
|
-
this.forEachBinding((binding, index) => {
|
|
51
|
-
if (binding
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
binding.compareTerm(term, context);
|
|
56
|
+
return this.forEachBinding((binding, back, forward, index) => {
|
|
57
|
+
if (binding === null) {
|
|
58
|
+
return forward();
|
|
55
59
|
}
|
|
56
|
-
});
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
const term = terms.getTerm(index);
|
|
62
|
+
|
|
63
|
+
return binding.compareTerm(term, context, back, forward);
|
|
64
|
+
}, back, () => {
|
|
65
|
+
context.debug(`...compared the '${termsString}' terms against the '${bindingsString}' bindings.`);
|
|
66
|
+
|
|
67
|
+
forward();
|
|
68
|
+
});
|
|
59
69
|
}
|
|
60
70
|
|
|
61
71
|
static name = "Bindings";
|
package/src/element/contains.js
CHANGED
|
@@ -24,7 +24,7 @@ export default define(class Contains extends Element {
|
|
|
24
24
|
return this.substring;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
evaluate(context) {
|
|
27
|
+
evaluate(context, back, forward) {
|
|
28
28
|
let value;
|
|
29
29
|
|
|
30
30
|
const containsString = this.getString(); ///
|
|
@@ -41,7 +41,7 @@ export default define(class Contains extends Element {
|
|
|
41
41
|
message = `The '${valueString}' value's '${valueType}' type should be '${STRING_TYPE_NAME}'.`,
|
|
42
42
|
exception = Exception.fromMessage(message);
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
return back(exception);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
const string = value.getString(),
|
|
@@ -53,7 +53,7 @@ export default define(class Contains extends Element {
|
|
|
53
53
|
|
|
54
54
|
context.debug(`...evaluated the '${containsString}' function as '${valueString}'.`);
|
|
55
55
|
|
|
56
|
-
return value;
|
|
56
|
+
return forward(value);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
static name = "Contains";
|
package/src/element/endsWith.js
CHANGED
|
@@ -24,7 +24,7 @@ export default define(class EndsWith extends Element {
|
|
|
24
24
|
return this.substring;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
evaluate(context) {
|
|
27
|
+
evaluate(context, back, forward) {
|
|
28
28
|
let value;
|
|
29
29
|
|
|
30
30
|
const endsWithString = this.getString(); ///
|
|
@@ -41,7 +41,7 @@ export default define(class EndsWith extends Element {
|
|
|
41
41
|
message = `The '${valueString}' value's '${valueType}' type should be '${STRING_TYPE_NAME}'.`,
|
|
42
42
|
exception = Exception.fromMessage(message);
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
return back(exception);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
const string = value.getString(),
|
|
@@ -53,7 +53,7 @@ export default define(class EndsWith extends Element {
|
|
|
53
53
|
|
|
54
54
|
context.debug(`...evaluated the '${endsWithString}' function as '${valueString}'.`);
|
|
55
55
|
|
|
56
|
-
return value;
|
|
56
|
+
return forward(value);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
static name = "EndsWith";
|
package/src/element/lengthOf.js
CHANGED
|
@@ -19,7 +19,7 @@ export default define(class LengthOf extends Element {
|
|
|
19
19
|
return this.variable;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
evaluate(context) {
|
|
22
|
+
evaluate(context, back, forward) {
|
|
23
23
|
let value;
|
|
24
24
|
|
|
25
25
|
const lengthOfString = this.getString(); ///
|
|
@@ -36,7 +36,7 @@ export default define(class LengthOf extends Element {
|
|
|
36
36
|
message = `The '${valueString}' value's '${valueType}' type should be '${LIST_TYPE_NAME}'.`,
|
|
37
37
|
exception = Exception.fromMessage(message);
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
return back(exception);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
const primitiveValue = value.getPrimitiveValue(),
|
|
@@ -49,7 +49,7 @@ export default define(class LengthOf extends Element {
|
|
|
49
49
|
|
|
50
50
|
context.debug(`...evaluated the '${lengthOfString}' function as '${valueString}'.`);
|
|
51
51
|
|
|
52
|
-
return value;
|
|
52
|
+
return forward(value);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
static name = "LengthOf";
|
package/src/element/nodeQuery.js
CHANGED
|
@@ -28,7 +28,7 @@ export default define(class NodeQuery extends Element {
|
|
|
28
28
|
return this.query;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
evaluate(context) {
|
|
31
|
+
evaluate(context, back, forward) {
|
|
32
32
|
let value;
|
|
33
33
|
|
|
34
34
|
const nodeQueryString = this.getString(); ///
|
|
@@ -39,7 +39,7 @@ export default define(class NodeQuery extends Element {
|
|
|
39
39
|
const message = `Cannot evaluate the '${nodeQueryString}' function because its expression is malformed.`,
|
|
40
40
|
exception = Exception.fromMessage(message);
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
return back(exception);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
value = this.variable.evaluate(context);
|
|
@@ -52,7 +52,7 @@ export default define(class NodeQuery extends Element {
|
|
|
52
52
|
message = `The '${valueString}' value's '${valueType}' type should be '${NOMINAL_VALUE_TYPE_NAME}'.`,
|
|
53
53
|
exception = Exception.fromMessage(message);
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
return back(exception);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
let node;
|
|
@@ -67,7 +67,7 @@ export default define(class NodeQuery extends Element {
|
|
|
67
67
|
message = `The '${valueString}' value's node is null.`,
|
|
68
68
|
exception = Exception.fromMessage(message);
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
return back(exception);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
const nodes = this.query.execute(node),
|
|
@@ -89,14 +89,14 @@ export default define(class NodeQuery extends Element {
|
|
|
89
89
|
const message = `The length of the returned nodes is ${nodesLength} when it should be 0 or 1.`,
|
|
90
90
|
exception = Exception.fromMessage(message);
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
return back(exception);
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
const valueString = value.getString();
|
|
96
96
|
|
|
97
97
|
context.debug(`...evaluated the '${nodeQueryString}' function as '${valueString}'.`);
|
|
98
98
|
|
|
99
|
-
return value;
|
|
99
|
+
return forward(value);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
static name = "NodeQuery";
|
|
@@ -24,7 +24,7 @@ export default define(class NodesQuery extends Element {
|
|
|
24
24
|
return this.query;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
evaluate(context) {
|
|
27
|
+
evaluate(context, back, forward) {
|
|
28
28
|
let value;
|
|
29
29
|
|
|
30
30
|
const nodesQueryString = this.getString(); ///
|
|
@@ -35,7 +35,7 @@ export default define(class NodesQuery extends Element {
|
|
|
35
35
|
const message = `Cannot evaluate the '${nodesQueryString}' function because its expression is malformed.`,
|
|
36
36
|
exception = Exception.fromMessage(message);
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
return back(exception);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
value = this.variable.evaluate(context);
|
|
@@ -48,7 +48,7 @@ export default define(class NodesQuery extends Element {
|
|
|
48
48
|
message = `The '${valueString}' value's '${valueType}' type should be '${NOMINAL_VALUE_TYPE_NAME}'.`,
|
|
49
49
|
exception = Exception.fromMessage(message);
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
return back(exception);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
let node;
|
|
@@ -63,7 +63,7 @@ export default define(class NodesQuery extends Element {
|
|
|
63
63
|
message = `The '${valueString}' value's node is null.`,
|
|
64
64
|
exception = Exception.fromMessage(message);
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
return back(exception);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
const nodes = this.query.execute(node);
|
|
@@ -74,7 +74,7 @@ export default define(class NodesQuery extends Element {
|
|
|
74
74
|
|
|
75
75
|
context.debug(`...evaluated the '${nodesQueryString}' function as '${valueString}'.`);
|
|
76
76
|
|
|
77
|
-
return value;
|
|
77
|
+
return forward(value);
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
static name = "NodesQuery";
|
package/src/element/primitive.js
CHANGED
|
@@ -26,12 +26,12 @@ export default define(class Primitive extends Element {
|
|
|
26
26
|
return this.value;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
evaluate(context) {
|
|
29
|
+
evaluate(context, back, forward) {
|
|
30
30
|
const { Term } = elements,
|
|
31
31
|
primitive = this,
|
|
32
32
|
term = Term.fromPrimitive(primitive, context);
|
|
33
33
|
|
|
34
|
-
return term;
|
|
34
|
+
return forward(term);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
isEqualTo(primitive) {
|
|
@@ -15,7 +15,7 @@ export default define(class ReturnStatement extends Element {
|
|
|
15
15
|
return this.value;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
evaluate(context) {
|
|
18
|
+
evaluate(context, back, forward) {
|
|
19
19
|
let value;
|
|
20
20
|
|
|
21
21
|
const returnStatementString = this.getString(); ///
|
|
@@ -28,7 +28,7 @@ export default define(class ReturnStatement extends Element {
|
|
|
28
28
|
|
|
29
29
|
context.debug(`...evaluated the '${returnStatementString}' return statement as '${valueString}'.`);
|
|
30
30
|
|
|
31
|
-
return value;
|
|
31
|
+
return forward(value);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
static name = "ReturnStatement";
|