occam-furtle 3.0.243 → 3.0.245
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/array.js +8 -8
- package/lib/element/assignment/object.js +35 -35
- package/lib/element/assignment/variable.js +7 -7
- package/lib/element/expression.js +3 -3
- package/lib/element/procedure/anonymous.js +8 -8
- package/lib/element/procedure.js +10 -69
- package/lib/element/reduce.js +14 -14
- package/lib/element/some.js +20 -20
- package/lib/element/term/bracketed.js +6 -6
- package/lib/element/term/comparison.js +12 -12
- package/lib/element/term/logical.js +13 -13
- package/lib/element/term/negated.js +13 -13
- package/lib/element/term.js +9 -9
- package/lib/element/terms.js +49 -8
- package/lib/element/ternary.js +11 -11
- package/lib/element/value.js +2 -1
- package/lib/element/variable.js +11 -11
- package/lib/node/reduce.js +5 -5
- package/lib/utilities/element.js +32 -32
- package/lib/utilities/parameters.js +29 -0
- package/package.json +1 -1
- package/src/element/assignment/array.js +9 -9
- package/src/element/assignment/object.js +42 -42
- package/src/element/assignment/variable.js +6 -6
- package/src/element/expression.js +2 -2
- package/src/element/procedure/anonymous.js +10 -10
- package/src/element/procedure.js +7 -24
- package/src/element/reduce.js +15 -14
- package/src/element/some.js +22 -22
- package/src/element/term/bracketed.js +5 -5
- package/src/element/term/comparison.js +16 -16
- package/src/element/term/logical.js +20 -20
- package/src/element/term/negated.js +13 -13
- package/src/element/term.js +8 -8
- package/src/element/terms.js +12 -9
- package/src/element/ternary.js +11 -11
- package/src/element/value.js +1 -0
- package/src/element/variable.js +10 -10
- package/src/node/reduce.js +8 -8
- package/src/utilities/element.js +39 -39
- package/src/utilities/parameters.js +20 -0
package/lib/element/reduce.js
CHANGED
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
13
13
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
|
-
const _term = require("../utilities/term");
|
|
15
14
|
const _types = require("../types");
|
|
15
|
+
const _nominal = require("../utilities/nominal");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -61,17 +61,17 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
61
61
|
}
|
|
62
62
|
const { asyncReduce } = _occamlanguages.asynchronousUtilities;
|
|
63
63
|
const _default = (0, _elements.define)(class Reduce extends _occamlanguages.Element {
|
|
64
|
-
constructor(context, string, node, breakPoint, variable,
|
|
64
|
+
constructor(context, string, node, breakPoint, variable, inivialValue, anonymousProcedure){
|
|
65
65
|
super(context, string, node, breakPoint);
|
|
66
66
|
this.variable = variable;
|
|
67
|
-
this.
|
|
67
|
+
this.inivialValue = inivialValue;
|
|
68
68
|
this.anonymousProcedure = anonymousProcedure;
|
|
69
69
|
}
|
|
70
70
|
getVariable() {
|
|
71
71
|
return this.variable;
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
return this.
|
|
73
|
+
getInitialValue() {
|
|
74
|
+
return this.inivialValue;
|
|
75
75
|
}
|
|
76
76
|
getAnonymousProcedure() {
|
|
77
77
|
return this.anonymousProcedure;
|
|
@@ -87,17 +87,17 @@ const _default = (0, _elements.define)(class Reduce extends _occamlanguages.Elem
|
|
|
87
87
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_types.NOMINAL_VALUES_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
88
88
|
throw exception;
|
|
89
89
|
}
|
|
90
|
-
const
|
|
91
|
-
value = await asyncReduce(
|
|
90
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue, inivialValue = await this.inivialValue.evaluate(context);
|
|
91
|
+
value = await asyncReduce(nominalValues, async (currentValue, nominalValue)=>{
|
|
92
92
|
let value;
|
|
93
|
-
const {
|
|
94
|
-
value =
|
|
95
|
-
const values =
|
|
96
|
-
value =
|
|
97
|
-
values.
|
|
93
|
+
const { Values } = _elements.default;
|
|
94
|
+
value = currentValue; ///
|
|
95
|
+
const values = Values.fromValue(value, context);
|
|
96
|
+
value = (0, _nominal.valueFromNominalValue)(nominalValue, context);
|
|
97
|
+
values.addValue(value);
|
|
98
98
|
value = await this.anonymousProcedure.call(values, context);
|
|
99
99
|
return value;
|
|
100
|
-
},
|
|
100
|
+
}, inivialValue);
|
|
101
101
|
const valueString = value.getString();
|
|
102
102
|
context.trace(`...evaluated the '${reduceString}' reduce as '${valueString}'.`);
|
|
103
103
|
return value;
|
|
@@ -105,4 +105,4 @@ const _default = (0, _elements.define)(class Reduce extends _occamlanguages.Elem
|
|
|
105
105
|
static name = "Reduce";
|
|
106
106
|
});
|
|
107
107
|
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3JlZHVjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBOT01JTkFMX1ZBTFVFU19UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Ob21pbmFsVmFsdWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vbWluYWxcIjtcblxuY29uc3QgeyBhc3luY1JlZHVjZSB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUmVkdWNlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGluaXZpYWxWYWx1ZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmluaXZpYWxWYWx1ZSA9IGluaXZpYWxWYWx1ZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0SW5pdGlhbFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmluaXZpYWxWYWx1ZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBhc3luYyBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHJlZHVjZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtyZWR1Y2VTdHJpbmd9JyByZWR1Y2UuLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PTUlOQUxfVkFMVUVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9NSU5BTF9WQUxVRVNfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlcyA9IHByaW1pdGl2ZVZhbHVlLCAvLy9cbiAgICAgICAgICBpbml2aWFsVmFsdWUgPSBhd2FpdCB0aGlzLmluaXZpYWxWYWx1ZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIHZhbHVlID0gYXdhaXQgYXN5bmNSZWR1Y2Uobm9taW5hbFZhbHVlcywgYXN5bmMgKGN1cnJlbnRWYWx1ZSwgbm9taW5hbFZhbHVlKSA9PiB7XG4gICAgICBsZXQgdmFsdWU7XG5cbiAgICAgIGNvbnN0IHsgVmFsdWVzIH0gPSBlbGVtZW50cztcblxuICAgICAgdmFsdWUgPSBjdXJyZW50VmFsdWU7IC8vL1xuXG4gICAgICBjb25zdCB2YWx1ZXMgPSBWYWx1ZXMuZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KTtcblxuICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlLCBjb250ZXh0KTtcblxuICAgICAgdmFsdWVzLmFkZFZhbHVlKHZhbHVlKTtcblxuICAgICAgdmFsdWUgPSBhd2FpdCB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKHZhbHVlcywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9LCBpbml2aWFsVmFsdWUpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYC4uLmV2YWx1YXRlZCB0aGUgJyR7cmVkdWNlU3RyaW5nfScgcmVkdWNlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUmVkdWNlXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJhc3luY1JlZHVjZSIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImRlZmluZSIsIlJlZHVjZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsImluaXZpYWxWYWx1ZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFZhcmlhYmxlIiwiZ2V0SW5pdGlhbFZhbHVlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImJyZWFrIiwicmVkdWNlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiTk9NSU5BTF9WQUxVRVNfVFlQRSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZXMiLCJjdXJyZW50VmFsdWUiLCJub21pbmFsVmFsdWUiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlcyIsImZyb21WYWx1ZSIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSIsImFkZFZhbHVlIiwiY2FsbCIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7O2dDQVgrQztrRUFFMUI7a0VBQ0M7dUJBR2M7eUJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXRDLE1BQU0sRUFBRUEsV0FBVyxFQUFFLEdBQUdDLHFDQUFxQjtNQUU3QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGVBQWVDLHVCQUFPO0lBQ2hELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxZQUFZLEVBQUVDLGtCQUFrQixDQUFFO1FBQ3pGLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGtCQUFrQixHQUFHQTtJQUM1QjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNILFFBQVE7SUFDdEI7SUFFQUksa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDSCxZQUFZO0lBQzFCO0lBRUFJLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQ0gsa0JBQWtCO0lBQ2hDO0lBRUEsTUFBTUksU0FBU1YsT0FBTyxFQUFFO1FBQ3RCLElBQUlXO1FBRUosTUFBTSxJQUFJLENBQUNDLEtBQUssQ0FBQ1o7UUFFakIsTUFBTWEsZUFBZSxJQUFJLENBQUNDLFNBQVM7UUFFbkNkLFFBQVFlLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixhQUFhLFdBQVcsQ0FBQztRQUUxREYsUUFBUSxJQUFJLENBQUNQLFFBQVEsQ0FBQ00sUUFBUSxDQUFDVjtRQUUvQixNQUFNZ0IsWUFBWUwsTUFBTU0sT0FBTztRQUUvQixJQUFJRCxjQUFjRSwwQkFBbUIsRUFBRTtZQUNyQyxNQUFNQyxjQUFjUixNQUFNRyxTQUFTLElBQzdCTSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUgsVUFBVSxrQkFBa0IsRUFBRUUsMEJBQW1CLENBQUMsRUFBRSxDQUFDLEVBQ2hHRyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQSxNQUFNRyxpQkFBaUJiLE1BQU1jLGlCQUFpQixJQUN4Q0MsZ0JBQWdCRixnQkFDaEJuQixlQUFlLE1BQU0sSUFBSSxDQUFDQSxZQUFZLENBQUNLLFFBQVEsQ0FBQ1Y7UUFFdERXLFFBQVEsTUFBTWhCLFlBQVkrQixlQUFlLE9BQU9DLGNBQWNDO1lBQzVELElBQUlqQjtZQUVKLE1BQU0sRUFBRWtCLE1BQU0sRUFBRSxHQUFHQyxpQkFBUTtZQUUzQm5CLFFBQVFnQixjQUFjLEdBQUc7WUFFekIsTUFBTUksU0FBU0YsT0FBT0csU0FBUyxDQUFDckIsT0FBT1g7WUFFdkNXLFFBQVFzQixJQUFBQSw4QkFBcUIsRUFBQ0wsY0FBYzVCO1lBRTVDK0IsT0FBT0csUUFBUSxDQUFDdkI7WUFFaEJBLFFBQVEsTUFBTSxJQUFJLENBQUNMLGtCQUFrQixDQUFDNkIsSUFBSSxDQUFDSixRQUFRL0I7WUFFbkQsT0FBT1c7UUFDVCxHQUFHTjtRQUVILE1BQU1jLGNBQWNSLE1BQU1HLFNBQVM7UUFFbkNkLFFBQVFlLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFRixhQUFhLGFBQWEsRUFBRU0sWUFBWSxFQUFFLENBQUM7UUFFOUUsT0FBT1I7SUFDVDtJQUVBLE9BQU95QixPQUFPLFNBQVM7QUFDekIifQ==
|
package/lib/element/some.js
CHANGED
|
@@ -12,7 +12,7 @@ const _occamlanguages = require("occam-languages");
|
|
|
12
12
|
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
13
13
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
14
|
const _types = require("../types");
|
|
15
|
-
const
|
|
15
|
+
const _value = require("../utilities/value");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -73,35 +73,35 @@ const _default = (0, _elements.define)(class Some extends _occamlanguages.Elemen
|
|
|
73
73
|
return this.anonymousProcedure;
|
|
74
74
|
}
|
|
75
75
|
async evaluate(context) {
|
|
76
|
-
let
|
|
76
|
+
let value;
|
|
77
77
|
await this.break(context);
|
|
78
78
|
const someString = this.getString();
|
|
79
79
|
context.trace(`Evaluating the '${someString}' some...`);
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
if (
|
|
83
|
-
const
|
|
80
|
+
value = this.variable.evaluate(context);
|
|
81
|
+
const valueType = value.getType();
|
|
82
|
+
if (valueType !== _types.NOMINAL_VALUES_TYPE) {
|
|
83
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_types.NOMINAL_VALUES_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
84
84
|
throw exception;
|
|
85
85
|
}
|
|
86
|
-
const primitiveValue =
|
|
87
|
-
let
|
|
88
|
-
|
|
89
|
-
const {
|
|
90
|
-
|
|
91
|
-
const
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
86
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue, boolean = await asyncSome(nominalValues, async (nominalValue)=>{
|
|
87
|
+
let value;
|
|
88
|
+
value = (0, _value.valueFromNominalValue)(nominalValue);
|
|
89
|
+
const { Values } = _elements.default, values = Values.fromValue(value, context);
|
|
90
|
+
value = await this.anonymousProcedure.call(values, context);
|
|
91
|
+
const valueType = value.getType();
|
|
92
|
+
if (valueType !== _types.BOOLEAN_TYPE) {
|
|
93
|
+
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_types.BOOLEAN_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
94
94
|
throw exception;
|
|
95
95
|
}
|
|
96
|
-
const primitiveValue =
|
|
96
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue; ///
|
|
97
97
|
return boolean;
|
|
98
98
|
});
|
|
99
|
-
|
|
100
|
-
const
|
|
101
|
-
context.trace(`...evaluated the '${someString}' some as '${
|
|
102
|
-
return
|
|
99
|
+
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
100
|
+
const valueString = value.getString();
|
|
101
|
+
context.trace(`...evaluated the '${someString}' some as '${valueString}'.`);
|
|
102
|
+
return value;
|
|
103
103
|
}
|
|
104
104
|
static name = "Some";
|
|
105
105
|
});
|
|
106
106
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQsIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFLCBOT01JTkFMX1ZBTFVFU19UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuLCB2YWx1ZUZyb21Ob21pbmFsVmFsdWUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5cbmNvbnN0IHsgYXN5bmNTb21lIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTb21lIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUgPSBhbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBhc3luYyBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgYXdhaXQgdGhpcy5icmVhayhjb250ZXh0KTtcblxuICAgIGNvbnN0IHNvbWVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7c29tZVN0cmluZ30nIHNvbWUuLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PTUlOQUxfVkFMVUVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9NSU5BTF9WQUxVRVNfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlcyA9IHByaW1pdGl2ZVZhbHVlLCAvLy9cbiAgICAgICAgICBib29sZWFuID0gYXdhaXQgYXN5bmNTb21lKG5vbWluYWxWYWx1ZXMsIGFzeW5jIChub21pbmFsVmFsdWUpID0+IHtcbiAgICAgICAgICAgIGxldCB2YWx1ZTtcblxuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlKTtcblxuICAgICAgICAgICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgdmFsdWVzID0gVmFsdWVzLmZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIHZhbHVlID0gYXdhaXQgdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUuY2FsbCh2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZVR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgICAgICAgIGJvb2xlYW4gPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICAgICAgICAgIHJldHVybiBib29sZWFuO1xuICAgICAgICAgIH0pO1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYC4uLmV2YWx1YXRlZCB0aGUgJyR7c29tZVN0cmluZ30nIHNvbWUgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJTb21lXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJhc3luY1NvbWUiLCJhc3luY2hyb25vdXNVdGlsaXRpZXMiLCJkZWZpbmUiLCJTb21lIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYW5vbnltb3VzUHJvY2VkdXJlIiwiZ2V0VmFyaWFibGUiLCJnZXRBbm9ueW1vdXNQcm9jZWR1cmUiLCJldmFsdWF0ZSIsInZhbHVlIiwiYnJlYWsiLCJzb21lU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiTk9NSU5BTF9WQUxVRVNfVFlQRSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZXMiLCJib29sZWFuIiwibm9taW5hbFZhbHVlIiwidmFsdWVGcm9tTm9taW5hbFZhbHVlIiwiVmFsdWVzIiwiZWxlbWVudHMiLCJ2YWx1ZXMiLCJmcm9tVmFsdWUiLCJjYWxsIiwiQk9PTEVBTl9UWVBFIiwidmFsdWVGcm9tQm9vbGVhbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7O2dDQVgrQztrRUFFMUI7a0VBQ0M7dUJBRzRCO3VCQUNNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4RCxNQUFNLEVBQUVBLFNBQVMsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFM0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxhQUFhQyx1QkFBTztJQUM5QyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsa0JBQWtCLENBQUU7UUFDM0UsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7SUFDNUI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQ0Ysa0JBQWtCO0lBQ2hDO0lBRUEsTUFBTUcsU0FBU1IsT0FBTyxFQUFFO1FBQ3RCLElBQUlTO1FBRUosTUFBTSxJQUFJLENBQUNDLEtBQUssQ0FBQ1Y7UUFFakIsTUFBTVcsYUFBYSxJQUFJLENBQUNDLFNBQVM7UUFFakNaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixXQUFXLFNBQVMsQ0FBQztRQUV0REYsUUFBUSxJQUFJLENBQUNMLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUjtRQUUvQixNQUFNYyxZQUFZTCxNQUFNTSxPQUFPO1FBRS9CLElBQUlELGNBQWNFLDBCQUFtQixFQUFFO1lBQ3JDLE1BQU1DLGNBQWNSLE1BQU1HLFNBQVMsSUFDN0JNLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksV0FBVyxFQUFFSCxVQUFVLGtCQUFrQixFQUFFRSwwQkFBbUIsQ0FBQyxFQUFFLENBQUMsRUFDaEdHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLE1BQU1HLGlCQUFpQmIsTUFBTWMsaUJBQWlCLElBQ3hDQyxnQkFBZ0JGLGdCQUNoQkcsVUFBVSxNQUFNOUIsVUFBVTZCLGVBQWUsT0FBT0U7WUFDOUMsSUFBSWpCO1lBRUpBLFFBQVFrQixJQUFBQSw0QkFBcUIsRUFBQ0Q7WUFFOUIsTUFBTSxFQUFFRSxNQUFNLEVBQUUsR0FBR0MsaUJBQVEsRUFDckJDLFNBQVNGLE9BQU9HLFNBQVMsQ0FBQ3RCLE9BQU9UO1lBRXZDUyxRQUFRLE1BQU0sSUFBSSxDQUFDSixrQkFBa0IsQ0FBQzJCLElBQUksQ0FBQ0YsUUFBUTlCO1lBRW5ELE1BQU1jLFlBQVlMLE1BQU1NLE9BQU87WUFFL0IsSUFBSUQsY0FBY21CLG1CQUFZLEVBQUU7Z0JBQzlCLE1BQU1oQixjQUFjUixNQUFNRyxTQUFTLElBQzdCTSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSCxVQUFVLDZCQUE2QixFQUFFbUIsbUJBQVksQ0FBQyxFQUFFLENBQUMsRUFDNUdkLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7Z0JBRXhDLE1BQU1DO1lBQ1I7WUFFQSxNQUFNRyxpQkFBaUJiLE1BQU1jLGlCQUFpQixJQUN4Q0UsVUFBVUgsZ0JBQWdCLEdBQUc7WUFFbkMsT0FBT0c7UUFDVDtRQUVOaEIsUUFBUXlCLElBQUFBLHVCQUFnQixFQUFDVCxTQUFTekI7UUFFbEMsTUFBTWlCLGNBQWNSLE1BQU1HLFNBQVM7UUFFbkNaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFRixXQUFXLFdBQVcsRUFBRU0sWUFBWSxFQUFFLENBQUM7UUFFMUUsT0FBT1I7SUFDVDtJQUVBLE9BQU8wQixPQUFPLE9BQU87QUFDdkIifQ==
|
|
@@ -22,15 +22,15 @@ const _default = (0, _elements.define)(class BracketedTerm extends _occamlanguag
|
|
|
22
22
|
return this.term.getType();
|
|
23
23
|
}
|
|
24
24
|
evaluate(context) {
|
|
25
|
-
let
|
|
25
|
+
let value;
|
|
26
26
|
const bracketedTermString = this.getString(); ///
|
|
27
27
|
context.trace(`Evaluating the '${bracketedTermString}' bracketed term...`);
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
context.debug(`...evaluated the '${bracketedTermString}' bracketed term as '${
|
|
31
|
-
return
|
|
28
|
+
value = this.term.evaluate(context);
|
|
29
|
+
const valueString = value.getString();
|
|
30
|
+
context.debug(`...evaluated the '${bracketedTermString}' bracketed term as '${valueString}'.`);
|
|
31
|
+
return value;
|
|
32
32
|
}
|
|
33
33
|
static name = "BracketedTerm";
|
|
34
34
|
});
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vYnJhY2tldGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEJyYWNrZXRlZFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0ZXJtKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudGVybSA9IHRlcm07XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkgeyByZXR1cm4gdGhpcy50ZXJtLmdldFR5cGUoKTsgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBicmFja2V0ZWRUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHticmFja2V0ZWRUZXJtU3RyaW5nfScgYnJhY2tldGVkIHRlcm0uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YnJhY2tldGVkVGVybVN0cmluZ30nIGJyYWNrZXRlZCB0ZXJtIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQnJhY2tldGVkVGVybVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQnJhY2tldGVkVGVybSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwiZ2V0VGVybSIsImdldFR5cGUiLCJldmFsdWF0ZSIsInZhbHVlIiwiYnJhY2tldGVkVGVybVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHNCQUFzQkMsdUJBQU87SUFDdkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLENBQUU7UUFDbkQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsVUFBVTtRQUFFLE9BQU8sSUFBSSxDQUFDRixJQUFJLENBQUNFLE9BQU87SUFBSTtJQUV4Q0MsU0FBU1AsT0FBTyxFQUFFO1FBQ2hCLElBQUlRO1FBRUosTUFBTUMsc0JBQXNCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFakRWLFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixvQkFBb0IsbUJBQW1CLENBQUM7UUFFekVELFFBQVEsSUFBSSxDQUFDSixJQUFJLENBQUNHLFFBQVEsQ0FBQ1A7UUFFM0IsTUFBTVksY0FBY0osTUFBTUUsU0FBUztRQUVuQ1YsUUFBUWEsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVKLG9CQUFvQixxQkFBcUIsRUFBRUcsWUFBWSxFQUFFLENBQUM7UUFFN0YsT0FBT0o7SUFDVDtJQUVBLE9BQU9NLE9BQU8sZ0JBQWdCO0FBQ2hDIn0=
|
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
13
|
const _elements = require("../../elements");
|
|
14
|
-
const
|
|
14
|
+
const _value = require("../../utilities/value");
|
|
15
15
|
function _interop_require_default(obj) {
|
|
16
16
|
return obj && obj.__esModule ? obj : {
|
|
17
17
|
default: obj
|
|
@@ -34,25 +34,25 @@ const _default = (0, _elements.define)(class ComparisonTerm extends _occamlangua
|
|
|
34
34
|
return this.rightTerm;
|
|
35
35
|
}
|
|
36
36
|
evaluate(context) {
|
|
37
|
-
let
|
|
37
|
+
let value;
|
|
38
38
|
const comparisonTermString = this.getString(); ///
|
|
39
39
|
context.trace(`Evaluating the '${comparisonTermString}' comparison term...`);
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
const
|
|
40
|
+
const leftValue = this.leftTerm.evaluate(context), rightValue = this.rightTerm.evaluate(context), leftValueType = leftValue.getType(), rightValueType = rightValue.getType();
|
|
41
|
+
if (leftValueType !== rightValueType) {
|
|
42
|
+
const leftValueString = leftValue.getString(), rightValueString = rightValue.getString(), message = `The '${leftValueString}' left term's type is '${leftValueType}' whereas the '${rightValueString}' right term's type is '${rightTermType}'.`, exception = _exception.default.fromMessage(message);
|
|
43
43
|
throw exception;
|
|
44
44
|
}
|
|
45
|
-
const
|
|
46
|
-
let boolean =
|
|
45
|
+
const leftValueEqualToRightValue = leftValue.isEqualTo(rightValue);
|
|
46
|
+
let boolean = leftValueEqualToRightValue; ///
|
|
47
47
|
if (this.negated) {
|
|
48
48
|
boolean = !boolean; ///
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
context.debug(`...evaluated the '${comparisonTermString}' comparison
|
|
53
|
-
return
|
|
50
|
+
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
51
|
+
const valueString = value.getString();
|
|
52
|
+
context.debug(`...evaluated the '${comparisonTermString}' comparison value as '${valueString}'.`);
|
|
53
|
+
return value;
|
|
54
54
|
}
|
|
55
55
|
static name = "ComparisonTerm";
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vY29tcGFyaXNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbXBhcmlzb25UZXJtIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmVnYXRlZCwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLm5lZ2F0ZWQgPSBuZWdhdGVkO1xuICAgIHRoaXMubGVmdFRlcm0gPSBsZWZ0VGVybTtcbiAgICB0aGlzLnJpZ2h0VGVybSA9IHJpZ2h0VGVybTtcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGNvbXBhcmlzb25UZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb21wYXJpc29uVGVybVN0cmluZ30nIGNvbXBhcmlzb24gdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0VmFsdWVUeXBlICE9PSByaWdodFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgbGVmdFZhbHVlU3RyaW5nID0gbGVmdFZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZVN0cmluZyA9IHJpZ2h0VmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtsZWZ0VmFsdWVTdHJpbmd9JyBsZWZ0IHRlcm0ncyB0eXBlIGlzICcke2xlZnRWYWx1ZVR5cGV9JyB3aGVyZWFzIHRoZSAnJHtyaWdodFZhbHVlU3RyaW5nfScgcmlnaHQgdGVybSdzIHR5cGUgaXMgJyR7cmlnaHRUZXJtVHlwZX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBsZWZ0VmFsdWVFcXVhbFRvUmlnaHRWYWx1ZSA9IGxlZnRWYWx1ZS5pc0VxdWFsVG8ocmlnaHRWYWx1ZSk7XG5cbiAgICBsZXQgYm9vbGVhbiA9IGxlZnRWYWx1ZUVxdWFsVG9SaWdodFZhbHVlOyAvLy9cblxuICAgIGlmICh0aGlzLm5lZ2F0ZWQpIHtcbiAgICAgIGJvb2xlYW4gPSAhYm9vbGVhbjsgLy8vXG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7Y29tcGFyaXNvblRlcm1TdHJpbmd9JyBjb21wYXJpc29uIHZhbHVlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29tcGFyaXNvblRlcm1cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkNvbXBhcmlzb25UZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5lZ2F0ZWQiLCJsZWZ0VGVybSIsInJpZ2h0VGVybSIsImlzTmVnYXRlZCIsImdldExlZnRUZXJtIiwiZ2V0UmlnaHRUZXJtIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImNvbXBhcmlzb25UZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsImdldFR5cGUiLCJyaWdodFZhbHVlVHlwZSIsImxlZnRWYWx1ZVN0cmluZyIsInJpZ2h0VmFsdWVTdHJpbmciLCJtZXNzYWdlIiwicmlnaHRUZXJtVHlwZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWUiLCJpc0VxdWFsVG8iLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7MEJBRUM7dUJBQ1U7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHVCQUF1QkMsdUJBQU87SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQzNFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDSCxRQUFRO0lBQ3RCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsU0FBUztJQUN2QjtJQUVBSSxTQUFTVixPQUFPLEVBQUU7UUFDaEIsSUFBSVc7UUFFSixNQUFNQyx1QkFBdUIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUVsRGIsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLHFCQUFxQixvQkFBb0IsQ0FBQztRQUUzRSxNQUFNRyxZQUFZLElBQUksQ0FBQ1YsUUFBUSxDQUFDSyxRQUFRLENBQUNWLFVBQ25DZ0IsYUFBYSxJQUFJLENBQUNWLFNBQVMsQ0FBQ0ksUUFBUSxDQUFDVixVQUNyQ2lCLGdCQUFnQkYsVUFBVUcsT0FBTyxJQUNqQ0MsaUJBQWlCSCxXQUFXRSxPQUFPO1FBRXpDLElBQUlELGtCQUFrQkUsZ0JBQWdCO1lBQ3BDLE1BQU1DLGtCQUFrQkwsVUFBVUYsU0FBUyxJQUNyQ1EsbUJBQW1CTCxXQUFXSCxTQUFTLElBQ3ZDUyxVQUFVLENBQUMsS0FBSyxFQUFFRixnQkFBZ0IsdUJBQXVCLEVBQUVILGNBQWMsZUFBZSxFQUFFSSxpQkFBaUIsd0JBQXdCLEVBQUVFLGNBQWMsRUFBRSxDQUFDLEVBQ3RKQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE1BQU1FO1FBQ1I7UUFFQSxNQUFNRyw2QkFBNkJaLFVBQVVhLFNBQVMsQ0FBQ1o7UUFFdkQsSUFBSWEsVUFBVUYsNEJBQTRCLEdBQUc7UUFFN0MsSUFBSSxJQUFJLENBQUN2QixPQUFPLEVBQUU7WUFDaEJ5QixVQUFVLENBQUNBLFNBQVMsR0FBRztRQUN6QjtRQUVBbEIsUUFBUW1CLElBQUFBLHVCQUFnQixFQUFDRCxTQUFTN0I7UUFFbEMsTUFBTStCLGNBQWNwQixNQUFNRSxTQUFTO1FBRW5DYixRQUFRZ0MsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVwQixxQkFBcUIsdUJBQXVCLEVBQUVtQixZQUFZLEVBQUUsQ0FBQztRQUVoRyxPQUFPcEI7SUFDVDtJQUVBLE9BQU9zQixPQUFPLGlCQUFpQjtBQUNqQyJ9
|
|
@@ -12,7 +12,7 @@ const _occamlanguages = require("occam-languages");
|
|
|
12
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
13
|
const _elements = require("../../elements");
|
|
14
14
|
const _types = require("../../types");
|
|
15
|
-
const
|
|
15
|
+
const _value = require("../../utilities/value");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -39,25 +39,25 @@ const _default = (0, _elements.define)(class LogicalTerm extends _occamlanguages
|
|
|
39
39
|
return this.rightTerm;
|
|
40
40
|
}
|
|
41
41
|
evaluate(context) {
|
|
42
|
-
let
|
|
42
|
+
let value;
|
|
43
43
|
const logicalTermString = this.getString(); ///
|
|
44
44
|
context.trace(`Evaluating the '${logicalTermString}' logical term...`);
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
47
|
-
const
|
|
45
|
+
const leftValue = this.leftTerm.evaluate(context), rightValue = this.rightTerm.evaluate(context), leftValueType = leftValue.getType(), rightValueType = rightValue.getType();
|
|
46
|
+
if (leftValueType !== _types.BOOLEAN_TYPE) {
|
|
47
|
+
const leftValueString = leftValue.getString(), message = `The '${leftValueString}' left term's type is '${leftValueType}' when it should be of type '${_types.BOOLEAN_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
48
48
|
throw exception;
|
|
49
49
|
}
|
|
50
|
-
if (
|
|
51
|
-
const
|
|
50
|
+
if (rightValueType !== _types.BOOLEAN_TYPE) {
|
|
51
|
+
const rightValueString = rightValue.getString(), message = `The '${rightValueString}' right term's type is '${rightValueType}' when it should be of type '${_types.BOOLEAN_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
52
52
|
throw exception;
|
|
53
53
|
}
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
context.debug(`...evaluated the '${logicalTermString}' logical
|
|
58
|
-
return
|
|
54
|
+
const leftValuePrimitiveValue = leftValue.getPrimitiveValue(), rightValuePrimitiveValue = rightValue.getPrimitiveValue(), leftBoolean = leftValuePrimitiveValue, rightBoolean = rightValuePrimitiveValue, boolean = this.disjunction ? leftBoolean || rightBoolean : leftBoolean && rightBoolean;
|
|
55
|
+
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
56
|
+
const valueString = value.getString();
|
|
57
|
+
context.debug(`...evaluated the '${logicalTermString}' logical value as '${valueString}'.`);
|
|
58
|
+
return value;
|
|
59
59
|
}
|
|
60
60
|
static name = "LogicalTerm";
|
|
61
61
|
});
|
|
62
62
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbG9naWNhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTG9naWNhbFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBkaXNqdW5jdGlvbiwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzanVuY3Rpb24gPSBkaXNqdW5jdGlvbjtcbiAgICB0aGlzLmxlZnRUZXJtID0gbGVmdFRlcm07XG4gICAgdGhpcy5yaWdodFRlcm0gPSByaWdodFRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBpc0Rpc2p1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2p1bmN0aW9uO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGxvZ2ljYWxUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtsb2dpY2FsVGVybVN0cmluZ30nIGxvZ2ljYWwgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0VmFsdWVUeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IGxlZnRWYWx1ZVN0cmluZyA9IGxlZnRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke2xlZnRWYWx1ZVN0cmluZ30nIGxlZnQgdGVybSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChyaWdodFZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCByaWdodFZhbHVlU3RyaW5nID0gcmlnaHRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3JpZ2h0VmFsdWVTdHJpbmd9JyByaWdodCB0ZXJtJ3MgdHlwZSBpcyAnJHtyaWdodFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGxlZnRWYWx1ZVByaW1pdGl2ZVZhbHVlID0gbGVmdFZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVByaW1pdGl2ZVZhbHVlID0gcmlnaHRWYWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIGxlZnRCb29sZWFuID1sZWZ0VmFsdWVQcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgcmlnaHRCb29sZWFuID0gcmlnaHRWYWx1ZVByaW1pdGl2ZVZhbHVlLCAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGhpcy5kaXNqdW5jdGlvbiA/XG4gICAgICAgICAgICAgICAgICAgICAgKGxlZnRCb29sZWFuIHx8IHJpZ2h0Qm9vbGVhbikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxlZnRCb29sZWFuICYmIHJpZ2h0Qm9vbGVhbik7XG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtsb2dpY2FsVGVybVN0cmluZ30nIGxvZ2ljYWwgdmFsdWUgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJMb2dpY2FsVGVybVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiTG9naWNhbFRlcm0iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImRpc2p1bmN0aW9uIiwibGVmdFRlcm0iLCJyaWdodFRlcm0iLCJnZXRUeXBlIiwiaXNEaXNqdW5jdGlvbiIsImdldExlZnRUZXJtIiwiZ2V0UmlnaHRUZXJtIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImxvZ2ljYWxUZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsInJpZ2h0VmFsdWVUeXBlIiwiQk9PTEVBTl9UWVBFIiwibGVmdFZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicmlnaHRWYWx1ZVN0cmluZyIsImxlZnRWYWx1ZVByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJyaWdodFZhbHVlUHJpbWl0aXZlVmFsdWUiLCJsZWZ0Qm9vbGVhbiIsInJpZ2h0Qm9vbGVhbiIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzt1QkFDTTt1QkFDSTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsb0JBQW9CQyx1QkFBTztJQUNyRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsQ0FBRTtRQUNyRixLQUFLLENBQUNQLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO0lBQ25CO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0osSUFBSTtJQUNsQjtJQUVBSyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0osV0FBVztJQUN6QjtJQUVBSyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNKLFFBQVE7SUFDdEI7SUFFQUssZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDSixTQUFTO0lBQ3ZCO0lBRUFLLFNBQVNaLE9BQU8sRUFBRTtRQUNoQixJQUFJYTtRQUVKLE1BQU1DLG9CQUFvQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRS9DZixRQUFRZ0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGtCQUFrQixpQkFBaUIsQ0FBQztRQUVyRSxNQUFNRyxZQUFZLElBQUksQ0FBQ1gsUUFBUSxDQUFDTSxRQUFRLENBQUNaLFVBQ25Da0IsYUFBYSxJQUFJLENBQUNYLFNBQVMsQ0FBQ0ssUUFBUSxDQUFDWixVQUNyQ21CLGdCQUFnQkYsVUFBVVQsT0FBTyxJQUNqQ1ksaUJBQWlCRixXQUFXVixPQUFPO1FBRXpDLElBQUlXLGtCQUFrQkUsbUJBQVksRUFBRTtZQUNsQyxNQUFNQyxrQkFBa0JMLFVBQVVGLFNBQVMsSUFDckNRLFVBQVUsQ0FBQyxLQUFLLEVBQUVELGdCQUFnQix1QkFBdUIsRUFBRUgsY0FBYyw2QkFBNkIsRUFBRUUsbUJBQVksQ0FBQyxFQUFFLENBQUMsRUFDeEhHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLElBQUlKLG1CQUFtQkMsbUJBQVksRUFBRTtZQUNuQyxNQUFNTSxtQkFBbUJULFdBQVdILFNBQVMsSUFDdkNRLFVBQVUsQ0FBQyxLQUFLLEVBQUVJLGlCQUFpQix3QkFBd0IsRUFBRVAsZUFBZSw2QkFBNkIsRUFBRUMsbUJBQVksQ0FBQyxFQUFFLENBQUMsRUFDM0hHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLE1BQU1JLDBCQUEwQlgsVUFBVVksaUJBQWlCLElBQ3JEQywyQkFBMkJaLFdBQVdXLGlCQUFpQixJQUN2REUsY0FBYUgseUJBQ2JJLGVBQWVGLDBCQUNmRyxVQUFVLElBQUksQ0FBQzVCLFdBQVcsR0FDYjBCLGVBQWVDLGVBQ2JELGVBQWVDO1FBRXBDbkIsUUFBUXFCLElBQUFBLHVCQUFnQixFQUFDRCxTQUFTakM7UUFFbEMsTUFBTW1DLGNBQWN0QixNQUFNRSxTQUFTO1FBRW5DZixRQUFRb0MsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUV0QixrQkFBa0Isb0JBQW9CLEVBQUVxQixZQUFZLEVBQUUsQ0FBQztRQUUxRixPQUFPdEI7SUFDVDtJQUVBLE9BQU93QixPQUFPLGNBQWM7QUFDOUIifQ==
|
|
@@ -12,7 +12,7 @@ const _occamlanguages = require("occam-languages");
|
|
|
12
12
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
13
|
const _elements = require("../../elements");
|
|
14
14
|
const _types = require("../../types");
|
|
15
|
-
const
|
|
15
|
+
const _value = require("../../utilities/value");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -31,25 +31,25 @@ const _default = (0, _elements.define)(class NegatedTerm extends _occamlanguages
|
|
|
31
31
|
return this.term;
|
|
32
32
|
}
|
|
33
33
|
evaluate(context) {
|
|
34
|
-
let
|
|
34
|
+
let value;
|
|
35
35
|
const negatedTermString = this.getString(); ///
|
|
36
|
-
context.trace(`Evaluating the '${negatedTermString}' negated
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
const
|
|
36
|
+
context.trace(`Evaluating the '${negatedTermString}' negated value...`);
|
|
37
|
+
value = this.term.evaluate(context);
|
|
38
|
+
const valueType = value.getType();
|
|
39
|
+
if (valueType !== _types.BOOLEAN_TYPE) {
|
|
40
|
+
const valueString = value.getString(), message = `The '${valueString}' left value's type is '${valueType}' when it should be of type '${_types.BOOLEAN_TYPE}'.`, exception = _exception.default.fromMessage(message);
|
|
41
41
|
throw exception;
|
|
42
42
|
}
|
|
43
43
|
let boolean;
|
|
44
|
-
const primitiveValue =
|
|
44
|
+
const primitiveValue = value.getPrimitiveValue();
|
|
45
45
|
boolean = primitiveValue; ///
|
|
46
46
|
boolean = !boolean;
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
context.debug(`...evaluated the '${negatedTermString}' negated
|
|
50
|
-
return
|
|
47
|
+
value = (0, _value.valueFromBoolean)(boolean, context);
|
|
48
|
+
const valueString = value.getString();
|
|
49
|
+
context.debug(`...evaluated the '${negatedTermString}' negated value as '${valueString}'.`);
|
|
50
|
+
return value;
|
|
51
51
|
}
|
|
52
52
|
static name = "NegatedTerm";
|
|
53
53
|
});
|
|
54
54
|
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbmVnYXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTmVnYXRlZFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCB0ZXJtKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuZWdhdGVkVGVybVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmVnYXRlZFRlcm1TdHJpbmd9JyBuZWdhdGVkIHZhbHVlLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgbGVmdCB2YWx1ZSdzIHR5cGUgaXMgJyR7dmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IGJvb2xlYW47XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWU7IC8vL1xuXG4gICAgYm9vbGVhbiA9ICFib29sZWFuO1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmVnYXRlZFRlcm1TdHJpbmd9JyBuZWdhdGVkIHZhbHVlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTmVnYXRlZFRlcm1cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIk5lZ2F0ZWRUZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJ0ZXJtIiwiZ2V0VHlwZSIsImdldFRlcm0iLCJldmFsdWF0ZSIsInZhbHVlIiwibmVnYXRlZFRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsIkJPT0xFQU5fVFlQRSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYm9vbGVhbiIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7dUJBQ007dUJBQ0k7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsdUJBQU87SUFDckQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLElBQUksQ0FBRTtRQUN6RCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFO1FBQ2hCLElBQUlTO1FBRUosTUFBTUMsb0JBQW9CLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFL0NYLFFBQVFZLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixrQkFBa0Isa0JBQWtCLENBQUM7UUFFdEVELFFBQVEsSUFBSSxDQUFDSixJQUFJLENBQUNHLFFBQVEsQ0FBQ1I7UUFFM0IsTUFBTWEsWUFBWUosTUFBTUgsT0FBTztRQUUvQixJQUFJTyxjQUFjQyxtQkFBWSxFQUFFO1lBQzlCLE1BQU1DLGNBQWNOLE1BQU1FLFNBQVMsSUFDN0JLLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksd0JBQXdCLEVBQUVGLFVBQVUsNkJBQTZCLEVBQUVDLG1CQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2pIRyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQSxJQUFJRztRQUVKLE1BQU1DLGlCQUFpQlosTUFBTWEsaUJBQWlCO1FBRTlDRixVQUFVQyxnQkFBZ0IsR0FBRztRQUU3QkQsVUFBVSxDQUFDQTtRQUVYWCxRQUFRYyxJQUFBQSx1QkFBZ0IsRUFBQ0gsU0FBU3BCO1FBRWxDLE1BQU1lLGNBQWNOLE1BQU1FLFNBQVM7UUFFbkNYLFFBQVF3QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWQsa0JBQWtCLG9CQUFvQixFQUFFSyxZQUFZLEVBQUUsQ0FBQztRQUUxRixPQUFPTjtJQUNUO0lBRUEsT0FBT2dCLE9BQU8sY0FBYztBQUM5QiJ9
|
package/lib/element/term.js
CHANGED
|
@@ -67,23 +67,23 @@ const _default = (0, _elements.define)(class Term extends _occamlanguages.Elemen
|
|
|
67
67
|
return boolean;
|
|
68
68
|
}
|
|
69
69
|
evaluate(context) {
|
|
70
|
-
let
|
|
70
|
+
let value;
|
|
71
71
|
if (false) {
|
|
72
72
|
///
|
|
73
73
|
} else if (this.variable !== null) {
|
|
74
|
-
|
|
74
|
+
value = this.variable.evaluate(context);
|
|
75
75
|
} else if (this.primitive !== null) {
|
|
76
|
-
|
|
76
|
+
value = this.primitive.evaluate(context);
|
|
77
77
|
} else if (this.negatedTerm !== null) {
|
|
78
|
-
|
|
78
|
+
value = this.negatedTerm.evaluate(context);
|
|
79
79
|
} else if (this.logicalTerm !== null) {
|
|
80
|
-
|
|
80
|
+
value = this.logicalTerm.evaluate(context);
|
|
81
81
|
} else if (this.bracketedTerm !== null) {
|
|
82
|
-
|
|
82
|
+
value = this.bracketedTerm.evaluate(context);
|
|
83
83
|
} else if (this.comparisonTerm !== null) {
|
|
84
|
-
|
|
84
|
+
value = this.comparisonTerm.evaluate(context);
|
|
85
85
|
}
|
|
86
|
-
return
|
|
86
|
+
return value;
|
|
87
87
|
}
|
|
88
88
|
isEqualTo(term) {
|
|
89
89
|
let equalTo = false;
|
|
@@ -111,4 +111,4 @@ const _default = (0, _elements.define)(class Term extends _occamlanguages.Elemen
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUZXJtIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHByaW1pdGl2ZSwgbmVnYXRlZFRlcm0sIGxvZ2ljYWxUZXJtLCBicmFja2V0ZWRUZXJtLCBjb21wYXJpc29uVGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5wcmltaXRpdmUgPSBwcmltaXRpdmU7XG4gICAgdGhpcy5uZWdhdGVkVGVybSA9IG5lZ2F0ZWRUZXJtO1xuICAgIHRoaXMubG9naWNhbFRlcm0gPSBsb2dpY2FsVGVybTtcbiAgICB0aGlzLmJyYWNrZXRlZFRlcm0gPSBicmFja2V0ZWRUZXJtO1xuICAgIHRoaXMuY29tcGFyaXNvblRlcm0gPSBjb21wYXJpc29uVGVybTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UHJpbWl0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZTtcbiAgfVxuXG4gIGdldE5lZ2F0ZWRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWRUZXJtO1xuICB9XG5cbiAgZ2V0TG9naWNhbFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubG9naWNhbFRlcm07XG4gIH1cblxuICBnZXRCcmVlZGluZ1Rlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuYnJhY2tldGVkVGVybTtcbiAgfVxuXG4gIGdldENvbXBhcmlzb25UZXJtKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBhcmlzb25UZXJtO1xuICB9XG5cbiAgZ2V0UHJpbWl0aXZlVmFsdWUoKSB7XG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0aGlzLnByaW1pdGl2ZS5nZXRWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy52YXJpYWJsZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJpbWl0aXZlLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5lZ2F0ZWRUZXJtLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naWNhbFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmxvZ2ljYWxUZXJtLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnJhY2tldGVkVGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuYnJhY2tldGVkVGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmlzb25UZXJtICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5jb21wYXJpc29uVGVybS5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBpc0Jvb2xlYW4oKSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSAodHlwZSA9PT0gQk9PTEVBTl9UWVBFKTtcblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnByaW1pdGl2ZS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5uZWdhdGVkVGVybS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naWNhbFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5sb2dpY2FsVGVybS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnJhY2tldGVkVGVybSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmJyYWNrZXRlZFRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmlzb25UZXJtICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29tcGFyaXNvblRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaXNFcXVhbFRvKHRlcm0pIHtcbiAgICBsZXQgZXF1YWxUbyA9IGZhbHNlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gdGVybS5nZXRWYXJpYWJsZSgpO1xuXG4gICAgICBpZiAodmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgZXF1YWxUbyA9IHRoaXMudmFyaWFibGUuaXNFcXVhbFRvKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmltaXRpdmUgPSB0ZXJtLmdldFByaW1pdGl2ZSgpO1xuXG4gICAgICBpZiAocHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0aGlzLnByaW1pdGl2ZS5pc0VxdWFsVG8ocHJpbWl0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUZXJtXCI7XG5cbiAgc3RhdGljIGZyb21QcmltaXRpdmUocHJpbWl0aXZlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcHJpbWl0aXZlU3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpLFxuICAgICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZVN0cmluZywgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGUgPSBudWxsLFxuICAgICAgICAgIG5lZ2F0ZWRUZXJtID0gbnVsbCxcbiAgICAgICAgICBsb2dpY2FsVGVybSA9IG51bGwsXG4gICAgICAgICAgYnJhY2tldGVkVGVybSA9IG51bGwsXG4gICAgICAgICAgY29tcGFyaXNvblRlcm0gPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB0ZXJtID0gbmV3IFRlcm0oY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlLCBuZWdhdGVkVGVybSwgbG9naWNhbFRlcm0sIGJyYWNrZXRlZFRlcm0sIGNvbXBhcmlzb25UZXJtKTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwicHJpbWl0aXZlIiwibmVnYXRlZFRlcm0iLCJsb2dpY2FsVGVybSIsImJyYWNrZXRlZFRlcm0iLCJjb21wYXJpc29uVGVybSIsImdldFZhcmlhYmxlIiwiZ2V0UHJpbWl0aXZlIiwiZ2V0TmVnYXRlZFRlcm0iLCJnZXRMb2dpY2FsVGVybSIsImdldEJyZWVkaW5nVGVybSIsImdldENvbXBhcmlzb25UZXJtIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFZhbHVlIiwiZ2V0VHlwZSIsInR5cGUiLCJpc0Jvb2xlYW4iLCJib29sZWFuIiwiQk9PTEVBTl9UWVBFIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImlzRXF1YWxUbyIsInRlcm0iLCJlcXVhbFRvIiwibmFtZSIsImZyb21QcmltaXRpdmUiLCJwcmltaXRpdmVTdHJpbmciLCJnZXRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBQTs7O2dDQUx3QjswQkFFRDt1QkFDTTtNQUU3QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGFBQWFDLHVCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsV0FBVyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsQ0FBRTtRQUMzSCxLQUFLLENBQUNULFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLGFBQWEs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
|
package/lib/element/terms.js
CHANGED
|
@@ -9,8 +9,49 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
|
-
const _elements = require("../elements");
|
|
12
|
+
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
13
13
|
const _string = require("../utilities/string");
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
15
|
+
if (typeof WeakMap !== "function") return null;
|
|
16
|
+
var cacheBabelInterop = new WeakMap();
|
|
17
|
+
var cacheNodeInterop = new WeakMap();
|
|
18
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
19
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
20
|
+
})(nodeInterop);
|
|
21
|
+
}
|
|
22
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
23
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
27
|
+
return {
|
|
28
|
+
default: obj
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
32
|
+
if (cache && cache.has(obj)) {
|
|
33
|
+
return cache.get(obj);
|
|
34
|
+
}
|
|
35
|
+
var newObj = {
|
|
36
|
+
__proto__: null
|
|
37
|
+
};
|
|
38
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
39
|
+
for(var key in obj){
|
|
40
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
41
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
42
|
+
if (desc && (desc.get || desc.set)) {
|
|
43
|
+
Object.defineProperty(newObj, key, desc);
|
|
44
|
+
} else {
|
|
45
|
+
newObj[key] = obj[key];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
newObj.default = obj;
|
|
50
|
+
if (cache) {
|
|
51
|
+
cache.set(obj, newObj);
|
|
52
|
+
}
|
|
53
|
+
return newObj;
|
|
54
|
+
}
|
|
14
55
|
const _default = (0, _elements.define)(class Terms extends _occamlanguages.Element {
|
|
15
56
|
constructor(context, string, node, breakPoint, array){
|
|
16
57
|
super(context, string, node, breakPoint);
|
|
@@ -37,13 +78,13 @@ const _default = (0, _elements.define)(class Terms extends _occamlanguages.Eleme
|
|
|
37
78
|
this.array.forEach(callback);
|
|
38
79
|
}
|
|
39
80
|
evaluate(context) {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
return
|
|
43
|
-
}),
|
|
81
|
+
const valuesArray = this.mapTerm((term)=>{
|
|
82
|
+
const value = term.evaluate(context);
|
|
83
|
+
return value;
|
|
84
|
+
}), valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray, context), string = valuesString, array = valuesArray, node = null, breakPoint = null;
|
|
44
85
|
context = null;
|
|
45
|
-
const
|
|
46
|
-
return
|
|
86
|
+
const { Values } = _elements.default, values = new Values(context, string, node, breakPoint, array);
|
|
87
|
+
return values;
|
|
47
88
|
}
|
|
48
89
|
static name = "Terms";
|
|
49
90
|
static fromTerm(term, context) {
|
|
@@ -56,4 +97,4 @@ const _default = (0, _elements.define)(class Terms extends _occamlanguages.Eleme
|
|
|
56
97
|
}
|
|
57
98
|
});
|
|
58
99
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm1zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSwgdmFsdWVzU3RyaW5nRnJvbVZhbHVlc0FycmF5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFRlcm1zIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0VGVybShpbmRleCkge1xuICAgIGNvbnN0IHRlcm0gPSB0aGlzLmFycmF5W2luZGV4XSB8fCBudWxsOyAgLy8vXG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIGFkZFRlcm0odGVybSkge1xuICAgIHRoaXMuYXJyYXkucHVzaCh0ZXJtKTtcbiAgfVxuXG4gIG1hcFRlcm0oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkubWFwKGNhbGxiYWNrKTsgfVxuXG4gIGZvckVhY2hUZXJtKGNhbGxiYWNrKSB7IHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7IH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSB0aGlzLm1hcFRlcm0oKHRlcm0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGVybS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHZhbHVlcyA9IG5ldyBWYWx1ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSk7XG5cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm1zXCI7XG5cbiAgc3RhdGljIGZyb21UZXJtKHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtc0FycmF5ID0gW1xuICAgICAgICAgICAgdGVybVxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5KHRlcm1zQXJyYXksIGNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHRlcm1zU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHRlcm1zQXJyYXksIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB0ZXJtcyA9IG5ldyBUZXJtcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgIHJldHVybiB0ZXJtcztcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVGVybXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldFRlcm0iLCJpbmRleCIsInRlcm0iLCJhZGRUZXJtIiwicHVzaCIsIm1hcFRlcm0iLCJjYWxsYmFjayIsIm1hcCIsImZvckVhY2hUZXJtIiwiZm9yRWFjaCIsImV2YWx1YXRlIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZSIsInZhbHVlc1N0cmluZyIsInZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSIsIlZhbHVlcyIsImVsZW1lbnRzIiwidmFsdWVzIiwibmFtZSIsImZyb21UZXJtIiwidGVybXNBcnJheSIsInRlcm1zU3RyaW5nIiwidGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSIsInRlcm1zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUg7d0JBR2tEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFFdkUsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLFFBQVFDLEtBQUssRUFBRTtRQUNiLE1BQU1DLE9BQU8sSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSSxNQUFPLEdBQUc7UUFFNUMsT0FBT0M7SUFDVDtJQUVBQyxRQUFRRCxJQUFJLEVBQUU7UUFDWixJQUFJLENBQUNOLEtBQUssQ0FBQ1EsSUFBSSxDQUFDRjtJQUNsQjtJQUVBRyxRQUFRQyxRQUFRLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ1YsS0FBSyxDQUFDVyxHQUFHLENBQUNEO0lBQVc7SUFFckRFLFlBQVlGLFFBQVEsRUFBRTtRQUFFLElBQUksQ0FBQ1YsS0FBSyxDQUFDYSxPQUFPLENBQUNIO0lBQVc7SUFFdERJLFNBQVNsQixPQUFPLEVBQUU7UUFDaEIsTUFBTW1CLGNBQWMsSUFBSSxDQUFDTixPQUFPLENBQUMsQ0FBQ0g7WUFDMUIsTUFBTVUsUUFBUVYsS0FBS1EsUUFBUSxDQUFDbEI7WUFFNUIsT0FBT29CO1FBQ1QsSUFDQUMsZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNILGFBQWFuQixVQUN4REMsU0FBU29CLGNBQ1RqQixRQUFRZSxhQUNSakIsT0FBTyxNQUNQQyxhQUFhO1FBRW5CSCxVQUFVO1FBRVYsTUFBTSxFQUFFdUIsTUFBTSxFQUFFLEdBQUdDLGlCQUFRLEVBQ3JCQyxTQUFTLElBQUlGLE9BQU92QixTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQztRQUU3RCxPQUFPcUI7SUFDVDtJQUVBLE9BQU9DLE9BQU8sUUFBUTtJQUV0QixPQUFPQyxTQUFTakIsSUFBSSxFQUFFVixPQUFPLEVBQUU7UUFDN0IsTUFBTTRCLGFBQWE7WUFDWGxCO1NBQ0QsRUFDRG1CLGNBQWNDLElBQUFBLGlDQUF5QixFQUFDRixZQUFZNUIsVUFDcERDLFNBQVM0QixhQUNUekIsUUFBUXdCLFlBQ1IxQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNK0IsUUFBUSxJQUFJakMsTUFBTUUsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFM0QsT0FBTzJCO0lBQ1Q7QUFDRiJ9
|