occam-furtle 3.0.259 → 3.0.261
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/constants.js +42 -0
- package/lib/context/block.js +71 -0
- package/lib/context/file/furtle.js +139 -0
- package/lib/element/assignment/array.js +112 -0
- package/lib/element/assignment/object.js +168 -0
- package/lib/element/assignment/variable.js +38 -0
- package/lib/element/assignments/variable.js +34 -0
- package/lib/element/binding/named.js +68 -0
- package/lib/element/binding.js +51 -0
- package/lib/element/bindings/named.js +84 -0
- package/lib/element/bindings.js +57 -0
- package/lib/element/declaration/procedure.js +36 -0
- package/lib/element/error.js +25 -0
- package/lib/element/every.js +109 -0
- package/lib/element/expression.js +106 -0
- package/lib/element/label.js +28 -0
- package/lib/element/nodeQuery.js +71 -0
- package/lib/element/nodesQuery.js +63 -0
- package/lib/element/parameter.js +44 -0
- package/lib/element/parameters.js +57 -0
- package/lib/element/primitive.js +131 -0
- package/lib/element/procedure/anonymous.js +51 -0
- package/lib/element/procedure.js +80 -0
- package/lib/element/procedureCall.js +50 -0
- package/lib/element/reduce.js +108 -0
- package/lib/element/reference.js +28 -0
- package/lib/element/returnBlock.js +60 -0
- package/lib/element/some.js +107 -0
- package/lib/element/statement/return.js +33 -0
- package/lib/element/step.js +43 -0
- package/lib/element/term/bracketed.js +36 -0
- package/lib/element/term/comparison.js +58 -0
- package/lib/element/term/logical.js +63 -0
- package/lib/element/term/negated.js +55 -0
- package/lib/element/term.js +114 -0
- package/lib/element/terms.js +100 -0
- package/lib/element/ternary.js +55 -0
- package/lib/element/value.js +83 -0
- package/lib/element/values.js +59 -0
- package/lib/element/variable.js +90 -0
- package/lib/elements.js +27 -0
- package/lib/example/view/div/sizeable.js +25 -0
- package/lib/example/view/input/ruleName.js +48 -0
- package/lib/example/view/subHeading.js +29 -0
- package/lib/example/view/textarea/bnf.js +39 -0
- package/lib/example/view/textarea/content.js +39 -0
- package/lib/example/view/textarea/lexicalEntries.js +39 -0
- package/lib/example/view/textarea/parseTree.js +46 -0
- package/lib/example/view/textarea/tokens.js +55 -0
- package/lib/example/view/textarea.js +31 -0
- package/lib/example/view.js +90 -0
- package/lib/example.js +19 -0
- package/lib/exception.js +24 -0
- package/lib/furtle/lexer.js +15 -0
- package/lib/furtle/parser.js +24 -0
- package/lib/index.js +40 -0
- package/lib/metaTypeNames.js +26 -0
- package/lib/metaTypes.js +66 -0
- package/lib/node/assignment/array.js +32 -0
- package/lib/node/assignment/object.js +32 -0
- package/lib/node/assignment/variable.js +32 -0
- package/lib/node/assignment.js +18 -0
- package/lib/node/assignments/variable.js +38 -0
- package/lib/node/assignments.js +18 -0
- package/lib/node/binding/named.js +36 -0
- package/lib/node/binding.js +61 -0
- package/lib/node/bindings/named.js +28 -0
- package/lib/node/bindings.js +31 -0
- package/lib/node/declaration/procedure.js +46 -0
- package/lib/node/declaration.js +18 -0
- package/lib/node/document.js +18 -0
- package/lib/node/error.js +18 -0
- package/lib/node/every.js +27 -0
- package/lib/node/expression.js +55 -0
- package/lib/node/label.js +29 -0
- package/lib/node/nodeQuery.js +39 -0
- package/lib/node/nodesQuery.js +39 -0
- package/lib/node/nonsense.js +18 -0
- package/lib/node/parameter.js +39 -0
- package/lib/node/parameters.js +23 -0
- package/lib/node/primitive.js +104 -0
- package/lib/node/procedure/anoymous.js +42 -0
- package/lib/node/procedure.js +18 -0
- package/lib/node/procedureCall.js +27 -0
- package/lib/node/reduce.js +31 -0
- package/lib/node/reference.js +29 -0
- package/lib/node/returnBlock.js +35 -0
- package/lib/node/some.js +27 -0
- package/lib/node/statement/return.js +28 -0
- package/lib/node/statement.js +18 -0
- package/lib/node/step.js +31 -0
- package/lib/node/term/bracketed.js +28 -0
- package/lib/node/term/comparison.js +60 -0
- package/lib/node/term/logical.js +66 -0
- package/lib/node/term/negated.js +28 -0
- package/lib/node/term.js +51 -0
- package/lib/node/terms.js +23 -0
- package/lib/node/ternary.js +45 -0
- package/lib/node/value.js +27 -0
- package/lib/node/values.js +23 -0
- package/lib/node/variable.js +29 -0
- package/lib/nodeProperties.js +78 -0
- package/lib/nodeProperty.js +45 -0
- package/lib/nonTerminalNodeMap.js +97 -0
- package/lib/parameterNames.js +26 -0
- package/lib/preamble.js +48 -0
- package/lib/process/verify.js +51 -0
- package/lib/ruleNames.js +166 -0
- package/lib/tokenTypes.js +42 -0
- package/lib/types.js +34 -0
- package/lib/utilities/element.js +1081 -0
- package/lib/utilities/furtle.js +31 -0
- package/lib/utilities/lexers.js +55 -0
- package/lib/utilities/parameters.js +29 -0
- package/lib/utilities/parsers.js +74 -0
- package/lib/utilities/primitive.js +54 -0
- package/lib/utilities/string.js +215 -0
- package/lib/utilities/stringLiteral.js +29 -0
- package/lib/utilities/term.js +46 -0
- package/lib/utilities/value.js +90 -0
- package/lib/utilities/values.js +31 -0
- package/package.json +11 -11
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
const _elements = require("../../elements");
|
|
14
|
+
const _value = require("../../utilities/value");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const _default = (0, _elements.define)(class ComparisonTerm extends _occamlanguages.Element {
|
|
21
|
+
constructor(context, string, node, breakPoint, negated, leftTerm, rightTerm){
|
|
22
|
+
super(context, string, node, breakPoint);
|
|
23
|
+
this.negated = negated;
|
|
24
|
+
this.leftTerm = leftTerm;
|
|
25
|
+
this.rightTerm = rightTerm;
|
|
26
|
+
}
|
|
27
|
+
isNegated() {
|
|
28
|
+
return this.negated;
|
|
29
|
+
}
|
|
30
|
+
getLeftTerm() {
|
|
31
|
+
return this.leftTerm;
|
|
32
|
+
}
|
|
33
|
+
getRightTerm() {
|
|
34
|
+
return this.rightTerm;
|
|
35
|
+
}
|
|
36
|
+
evaluate(context) {
|
|
37
|
+
let value;
|
|
38
|
+
const comparisonTermString = this.getString(); ///
|
|
39
|
+
context.trace(`Evaluating the '${comparisonTermString}' comparison term...`);
|
|
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
|
+
throw exception;
|
|
44
|
+
}
|
|
45
|
+
const leftValueEqualToRightValue = leftValue.isEqualTo(rightValue);
|
|
46
|
+
let boolean = leftValueEqualToRightValue; ///
|
|
47
|
+
if (this.negated) {
|
|
48
|
+
boolean = !boolean; ///
|
|
49
|
+
}
|
|
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
|
+
}
|
|
55
|
+
static name = "ComparisonTerm";
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vY29tcGFyaXNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbXBhcmlzb25UZXJtIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmVnYXRlZCwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLm5lZ2F0ZWQgPSBuZWdhdGVkO1xuICAgIHRoaXMubGVmdFRlcm0gPSBsZWZ0VGVybTtcbiAgICB0aGlzLnJpZ2h0VGVybSA9IHJpZ2h0VGVybTtcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGNvbXBhcmlzb25UZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb21wYXJpc29uVGVybVN0cmluZ30nIGNvbXBhcmlzb24gdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0VmFsdWVUeXBlICE9PSByaWdodFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgbGVmdFZhbHVlU3RyaW5nID0gbGVmdFZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZVN0cmluZyA9IHJpZ2h0VmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtsZWZ0VmFsdWVTdHJpbmd9JyBsZWZ0IHRlcm0ncyB0eXBlIGlzICcke2xlZnRWYWx1ZVR5cGV9JyB3aGVyZWFzIHRoZSAnJHtyaWdodFZhbHVlU3RyaW5nfScgcmlnaHQgdGVybSdzIHR5cGUgaXMgJyR7cmlnaHRUZXJtVHlwZX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBsZWZ0VmFsdWVFcXVhbFRvUmlnaHRWYWx1ZSA9IGxlZnRWYWx1ZS5pc0VxdWFsVG8ocmlnaHRWYWx1ZSk7XG5cbiAgICBsZXQgYm9vbGVhbiA9IGxlZnRWYWx1ZUVxdWFsVG9SaWdodFZhbHVlOyAvLy9cblxuICAgIGlmICh0aGlzLm5lZ2F0ZWQpIHtcbiAgICAgIGJvb2xlYW4gPSAhYm9vbGVhbjsgLy8vXG4gICAgfVxuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7Y29tcGFyaXNvblRlcm1TdHJpbmd9JyBjb21wYXJpc29uIHZhbHVlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29tcGFyaXNvblRlcm1cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkNvbXBhcmlzb25UZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5lZ2F0ZWQiLCJsZWZ0VGVybSIsInJpZ2h0VGVybSIsImlzTmVnYXRlZCIsImdldExlZnRUZXJtIiwiZ2V0UmlnaHRUZXJtIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImNvbXBhcmlzb25UZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsImdldFR5cGUiLCJyaWdodFZhbHVlVHlwZSIsImxlZnRWYWx1ZVN0cmluZyIsInJpZ2h0VmFsdWVTdHJpbmciLCJtZXNzYWdlIiwicmlnaHRUZXJtVHlwZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWUiLCJpc0VxdWFsVG8iLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7MEJBRUM7dUJBQ1U7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHVCQUF1QkMsdUJBQU87SUFDeEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQzNFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDSCxRQUFRO0lBQ3RCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsU0FBUztJQUN2QjtJQUVBSSxTQUFTVixPQUFPLEVBQUU7UUFDaEIsSUFBSVc7UUFFSixNQUFNQyx1QkFBdUIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUVsRGIsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLHFCQUFxQixvQkFBb0IsQ0FBQztRQUUzRSxNQUFNRyxZQUFZLElBQUksQ0FBQ1YsUUFBUSxDQUFDSyxRQUFRLENBQUNWLFVBQ25DZ0IsYUFBYSxJQUFJLENBQUNWLFNBQVMsQ0FBQ0ksUUFBUSxDQUFDVixVQUNyQ2lCLGdCQUFnQkYsVUFBVUcsT0FBTyxJQUNqQ0MsaUJBQWlCSCxXQUFXRSxPQUFPO1FBRXpDLElBQUlELGtCQUFrQkUsZ0JBQWdCO1lBQ3BDLE1BQU1DLGtCQUFrQkwsVUFBVUYsU0FBUyxJQUNyQ1EsbUJBQW1CTCxXQUFXSCxTQUFTLElBQ3ZDUyxVQUFVLENBQUMsS0FBSyxFQUFFRixnQkFBZ0IsdUJBQXVCLEVBQUVILGNBQWMsZUFBZSxFQUFFSSxpQkFBaUIsd0JBQXdCLEVBQUVFLGNBQWMsRUFBRSxDQUFDLEVBQ3RKQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE1BQU1FO1FBQ1I7UUFFQSxNQUFNRyw2QkFBNkJaLFVBQVVhLFNBQVMsQ0FBQ1o7UUFFdkQsSUFBSWEsVUFBVUYsNEJBQTRCLEdBQUc7UUFFN0MsSUFBSSxJQUFJLENBQUN2QixPQUFPLEVBQUU7WUFDaEJ5QixVQUFVLENBQUNBLFNBQVMsR0FBRztRQUN6QjtRQUVBbEIsUUFBUW1CLElBQUFBLHVCQUFnQixFQUFDRCxTQUFTN0I7UUFFbEMsTUFBTStCLGNBQWNwQixNQUFNRSxTQUFTO1FBRW5DYixRQUFRZ0MsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVwQixxQkFBcUIsdUJBQXVCLEVBQUVtQixZQUFZLEVBQUUsQ0FBQztRQUVoRyxPQUFPcEI7SUFDVDtJQUVBLE9BQU9zQixPQUFPLGlCQUFpQjtBQUNqQyJ9
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
const _elements = require("../../elements");
|
|
14
|
+
const _types = require("../../types");
|
|
15
|
+
const _value = require("../../utilities/value");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const _default = (0, _elements.define)(class LogicalTerm extends _occamlanguages.Element {
|
|
22
|
+
constructor(context, string, node, breakPoint, type, disjunction, leftTerm, rightTerm){
|
|
23
|
+
super(context, string, node, breakPoint);
|
|
24
|
+
this.type = type;
|
|
25
|
+
this.disjunction = disjunction;
|
|
26
|
+
this.leftTerm = leftTerm;
|
|
27
|
+
this.rightTerm = rightTerm;
|
|
28
|
+
}
|
|
29
|
+
getType() {
|
|
30
|
+
return this.type;
|
|
31
|
+
}
|
|
32
|
+
isDisjunction() {
|
|
33
|
+
return this.disjunction;
|
|
34
|
+
}
|
|
35
|
+
getLeftTerm() {
|
|
36
|
+
return this.leftTerm;
|
|
37
|
+
}
|
|
38
|
+
getRightTerm() {
|
|
39
|
+
return this.rightTerm;
|
|
40
|
+
}
|
|
41
|
+
evaluate(context) {
|
|
42
|
+
let value;
|
|
43
|
+
const logicalTermString = this.getString(); ///
|
|
44
|
+
context.trace(`Evaluating the '${logicalTermString}' logical term...`);
|
|
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
|
+
throw exception;
|
|
49
|
+
}
|
|
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
|
+
throw exception;
|
|
53
|
+
}
|
|
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
|
+
}
|
|
60
|
+
static name = "LogicalTerm";
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbG9naWNhbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTG9naWNhbFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBkaXNqdW5jdGlvbiwgbGVmdFRlcm0sIHJpZ2h0VGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzanVuY3Rpb24gPSBkaXNqdW5jdGlvbjtcbiAgICB0aGlzLmxlZnRUZXJtID0gbGVmdFRlcm07XG4gICAgdGhpcy5yaWdodFRlcm0gPSByaWdodFRlcm07XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBpc0Rpc2p1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2p1bmN0aW9uO1xuICB9XG5cbiAgZ2V0TGVmdFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm07XG4gIH1cblxuICBnZXRSaWdodFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRUZXJtO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGxvZ2ljYWxUZXJtU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtsb2dpY2FsVGVybVN0cmluZ30nIGxvZ2ljYWwgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbGVmdFZhbHVlID0gdGhpcy5sZWZ0VGVybS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodFZhbHVlID0gdGhpcy5yaWdodFRlcm0uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0VmFsdWVUeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IGxlZnRWYWx1ZVN0cmluZyA9IGxlZnRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke2xlZnRWYWx1ZVN0cmluZ30nIGxlZnQgdGVybSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChyaWdodFZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCByaWdodFZhbHVlU3RyaW5nID0gcmlnaHRWYWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3JpZ2h0VmFsdWVTdHJpbmd9JyByaWdodCB0ZXJtJ3MgdHlwZSBpcyAnJHtyaWdodFZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGxlZnRWYWx1ZVByaW1pdGl2ZVZhbHVlID0gbGVmdFZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVByaW1pdGl2ZVZhbHVlID0gcmlnaHRWYWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIGxlZnRCb29sZWFuID1sZWZ0VmFsdWVQcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgcmlnaHRCb29sZWFuID0gcmlnaHRWYWx1ZVByaW1pdGl2ZVZhbHVlLCAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGhpcy5kaXNqdW5jdGlvbiA/XG4gICAgICAgICAgICAgICAgICAgICAgKGxlZnRCb29sZWFuIHx8IHJpZ2h0Qm9vbGVhbikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxlZnRCb29sZWFuICYmIHJpZ2h0Qm9vbGVhbik7XG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtsb2dpY2FsVGVybVN0cmluZ30nIGxvZ2ljYWwgdmFsdWUgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJMb2dpY2FsVGVybVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiTG9naWNhbFRlcm0iLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImRpc2p1bmN0aW9uIiwibGVmdFRlcm0iLCJyaWdodFRlcm0iLCJnZXRUeXBlIiwiaXNEaXNqdW5jdGlvbiIsImdldExlZnRUZXJtIiwiZ2V0UmlnaHRUZXJtIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImxvZ2ljYWxUZXJtU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWUiLCJyaWdodFZhbHVlIiwibGVmdFZhbHVlVHlwZSIsInJpZ2h0VmFsdWVUeXBlIiwiQk9PTEVBTl9UWVBFIiwibGVmdFZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicmlnaHRWYWx1ZVN0cmluZyIsImxlZnRWYWx1ZVByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJyaWdodFZhbHVlUHJpbWl0aXZlVmFsdWUiLCJsZWZ0Qm9vbGVhbiIsInJpZ2h0Qm9vbGVhbiIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzt1QkFDTTt1QkFDSTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsb0JBQW9CQyx1QkFBTztJQUNyRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsQ0FBRTtRQUNyRixLQUFLLENBQUNQLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO0lBQ25CO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0osSUFBSTtJQUNsQjtJQUVBSyxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0osV0FBVztJQUN6QjtJQUVBSyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNKLFFBQVE7SUFDdEI7SUFFQUssZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDSixTQUFTO0lBQ3ZCO0lBRUFLLFNBQVNaLE9BQU8sRUFBRTtRQUNoQixJQUFJYTtRQUVKLE1BQU1DLG9CQUFvQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRS9DZixRQUFRZ0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGtCQUFrQixpQkFBaUIsQ0FBQztRQUVyRSxNQUFNRyxZQUFZLElBQUksQ0FBQ1gsUUFBUSxDQUFDTSxRQUFRLENBQUNaLFVBQ25Da0IsYUFBYSxJQUFJLENBQUNYLFNBQVMsQ0FBQ0ssUUFBUSxDQUFDWixVQUNyQ21CLGdCQUFnQkYsVUFBVVQsT0FBTyxJQUNqQ1ksaUJBQWlCRixXQUFXVixPQUFPO1FBRXpDLElBQUlXLGtCQUFrQkUsbUJBQVksRUFBRTtZQUNsQyxNQUFNQyxrQkFBa0JMLFVBQVVGLFNBQVMsSUFDckNRLFVBQVUsQ0FBQyxLQUFLLEVBQUVELGdCQUFnQix1QkFBdUIsRUFBRUgsY0FBYyw2QkFBNkIsRUFBRUUsbUJBQVksQ0FBQyxFQUFFLENBQUMsRUFDeEhHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLElBQUlKLG1CQUFtQkMsbUJBQVksRUFBRTtZQUNuQyxNQUFNTSxtQkFBbUJULFdBQVdILFNBQVMsSUFDdkNRLFVBQVUsQ0FBQyxLQUFLLEVBQUVJLGlCQUFpQix3QkFBd0IsRUFBRVAsZUFBZSw2QkFBNkIsRUFBRUMsbUJBQVksQ0FBQyxFQUFFLENBQUMsRUFDM0hHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsTUFBTUM7UUFDUjtRQUVBLE1BQU1JLDBCQUEwQlgsVUFBVVksaUJBQWlCLElBQ3JEQywyQkFBMkJaLFdBQVdXLGlCQUFpQixJQUN2REUsY0FBYUgseUJBQ2JJLGVBQWVGLDBCQUNmRyxVQUFVLElBQUksQ0FBQzVCLFdBQVcsR0FDYjBCLGVBQWVDLGVBQ2JELGVBQWVDO1FBRXBDbkIsUUFBUXFCLElBQUFBLHVCQUFnQixFQUFDRCxTQUFTakM7UUFFbEMsTUFBTW1DLGNBQWN0QixNQUFNRSxTQUFTO1FBRW5DZixRQUFRb0MsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUV0QixrQkFBa0Isb0JBQW9CLEVBQUVxQixZQUFZLEVBQUUsQ0FBQztRQUUxRixPQUFPdEI7SUFDVDtJQUVBLE9BQU93QixPQUFPLGNBQWM7QUFDOUIifQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
const _elements = require("../../elements");
|
|
14
|
+
const _types = require("../../types");
|
|
15
|
+
const _value = require("../../utilities/value");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const _default = (0, _elements.define)(class NegatedTerm extends _occamlanguages.Element {
|
|
22
|
+
constructor(context, string, node, breakPoint, type, term){
|
|
23
|
+
super(context, string, node, breakPoint);
|
|
24
|
+
this.type = type;
|
|
25
|
+
this.term = term;
|
|
26
|
+
}
|
|
27
|
+
getType() {
|
|
28
|
+
return this.type;
|
|
29
|
+
}
|
|
30
|
+
getTerm() {
|
|
31
|
+
return this.term;
|
|
32
|
+
}
|
|
33
|
+
evaluate(context) {
|
|
34
|
+
let value;
|
|
35
|
+
const negatedTermString = this.getString(); ///
|
|
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
|
+
throw exception;
|
|
42
|
+
}
|
|
43
|
+
let boolean;
|
|
44
|
+
const primitiveValue = value.getPrimitiveValue();
|
|
45
|
+
boolean = primitiveValue; ///
|
|
46
|
+
boolean = !boolean;
|
|
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
|
+
}
|
|
52
|
+
static name = "NegatedTerm";
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L3Rlcm0vbmVnYXRlZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyB2YWx1ZUZyb21Cb29sZWFuIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTmVnYXRlZFRlcm0gZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCB0ZXJtKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuZWdhdGVkVGVybVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmVnYXRlZFRlcm1TdHJpbmd9JyBuZWdhdGVkIHZhbHVlLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgbGVmdCB2YWx1ZSdzIHR5cGUgaXMgJyR7dmFsdWVUeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IGJvb2xlYW47XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWU7IC8vL1xuXG4gICAgYm9vbGVhbiA9ICFib29sZWFuO1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmVnYXRlZFRlcm1TdHJpbmd9JyBuZWdhdGVkIHZhbHVlIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTmVnYXRlZFRlcm1cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIk5lZ2F0ZWRUZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJ0ZXJtIiwiZ2V0VHlwZSIsImdldFRlcm0iLCJldmFsdWF0ZSIsInZhbHVlIiwibmVnYXRlZFRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsIkJPT0xFQU5fVFlQRSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYm9vbGVhbiIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7dUJBQ007dUJBQ0k7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG9CQUFvQkMsdUJBQU87SUFDckQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLElBQUksQ0FBRTtRQUN6RCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0YsSUFBSTtJQUNsQjtJQUVBRyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFO1FBQ2hCLElBQUlTO1FBRUosTUFBTUMsb0JBQW9CLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFL0NYLFFBQVFZLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixrQkFBa0Isa0JBQWtCLENBQUM7UUFFdEVELFFBQVEsSUFBSSxDQUFDSixJQUFJLENBQUNHLFFBQVEsQ0FBQ1I7UUFFM0IsTUFBTWEsWUFBWUosTUFBTUgsT0FBTztRQUUvQixJQUFJTyxjQUFjQyxtQkFBWSxFQUFFO1lBQzlCLE1BQU1DLGNBQWNOLE1BQU1FLFNBQVMsSUFDN0JLLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksd0JBQXdCLEVBQUVGLFVBQVUsNkJBQTZCLEVBQUVDLG1CQUFZLENBQUMsRUFBRSxDQUFDLEVBQ2pIRyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQSxJQUFJRztRQUVKLE1BQU1DLGlCQUFpQlosTUFBTWEsaUJBQWlCO1FBRTlDRixVQUFVQyxnQkFBZ0IsR0FBRztRQUU3QkQsVUFBVSxDQUFDQTtRQUVYWCxRQUFRYyxJQUFBQSx1QkFBZ0IsRUFBQ0gsU0FBU3BCO1FBRWxDLE1BQU1lLGNBQWNOLE1BQU1FLFNBQVM7UUFFbkNYLFFBQVF3QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWQsa0JBQWtCLG9CQUFvQixFQUFFSyxZQUFZLEVBQUUsQ0FBQztRQUUxRixPQUFPTjtJQUNUO0lBRUEsT0FBT2dCLE9BQU8sY0FBYztBQUM5QiJ9
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _elements = require("../elements");
|
|
13
|
+
const _types = require("../types");
|
|
14
|
+
const _default = (0, _elements.define)(class Term extends _occamlanguages.Element {
|
|
15
|
+
constructor(context, string, node, breakPoint, variable, primitive, negatedTerm, logicalTerm, bracketedTerm, comparisonTerm){
|
|
16
|
+
super(context, string, node, breakPoint);
|
|
17
|
+
this.variable = variable;
|
|
18
|
+
this.primitive = primitive;
|
|
19
|
+
this.negatedTerm = negatedTerm;
|
|
20
|
+
this.logicalTerm = logicalTerm;
|
|
21
|
+
this.bracketedTerm = bracketedTerm;
|
|
22
|
+
this.comparisonTerm = comparisonTerm;
|
|
23
|
+
}
|
|
24
|
+
getVariable() {
|
|
25
|
+
return this.variable;
|
|
26
|
+
}
|
|
27
|
+
getPrimitive() {
|
|
28
|
+
return this.primitive;
|
|
29
|
+
}
|
|
30
|
+
getNegatedTerm() {
|
|
31
|
+
return this.negatedTerm;
|
|
32
|
+
}
|
|
33
|
+
getLogicalTerm() {
|
|
34
|
+
return this.logicalTerm;
|
|
35
|
+
}
|
|
36
|
+
getBreedingTerm() {
|
|
37
|
+
return this.bracketedTerm;
|
|
38
|
+
}
|
|
39
|
+
getComparisonTerm() {
|
|
40
|
+
return this.comparisonTerm;
|
|
41
|
+
}
|
|
42
|
+
getPrimitiveValue() {
|
|
43
|
+
const primitiveValue = this.primitive.getValue();
|
|
44
|
+
return primitiveValue;
|
|
45
|
+
}
|
|
46
|
+
getType() {
|
|
47
|
+
let type;
|
|
48
|
+
if (false) {
|
|
49
|
+
///
|
|
50
|
+
} else if (this.variable !== null) {
|
|
51
|
+
type = this.variable.getType();
|
|
52
|
+
} else if (this.primitive !== null) {
|
|
53
|
+
type = this.primitive.getType();
|
|
54
|
+
} else if (this.negatedTerm !== null) {
|
|
55
|
+
type = this.negatedTerm.getType();
|
|
56
|
+
} else if (this.logicalTerm !== null) {
|
|
57
|
+
type = this.logicalTerm.getType();
|
|
58
|
+
} else if (this.bracketedTerm !== null) {
|
|
59
|
+
type = this.bracketedTerm.getType();
|
|
60
|
+
} else if (this.comparisonTerm !== null) {
|
|
61
|
+
type = this.comparisonTerm.getType();
|
|
62
|
+
}
|
|
63
|
+
return type;
|
|
64
|
+
}
|
|
65
|
+
isBoolean() {
|
|
66
|
+
const type = this.getType(), boolean = type === _types.BOOLEAN_TYPE;
|
|
67
|
+
return boolean;
|
|
68
|
+
}
|
|
69
|
+
evaluate(context) {
|
|
70
|
+
let value;
|
|
71
|
+
if (false) {
|
|
72
|
+
///
|
|
73
|
+
} else if (this.variable !== null) {
|
|
74
|
+
value = this.variable.evaluate(context);
|
|
75
|
+
} else if (this.primitive !== null) {
|
|
76
|
+
value = this.primitive.evaluate(context);
|
|
77
|
+
} else if (this.negatedTerm !== null) {
|
|
78
|
+
value = this.negatedTerm.evaluate(context);
|
|
79
|
+
} else if (this.logicalTerm !== null) {
|
|
80
|
+
value = this.logicalTerm.evaluate(context);
|
|
81
|
+
} else if (this.bracketedTerm !== null) {
|
|
82
|
+
value = this.bracketedTerm.evaluate(context);
|
|
83
|
+
} else if (this.comparisonTerm !== null) {
|
|
84
|
+
value = this.comparisonTerm.evaluate(context);
|
|
85
|
+
}
|
|
86
|
+
return value;
|
|
87
|
+
}
|
|
88
|
+
isEqualTo(term) {
|
|
89
|
+
let equalTo = false;
|
|
90
|
+
if (false) {
|
|
91
|
+
///
|
|
92
|
+
} else if (this.variable !== null) {
|
|
93
|
+
const variable = term.getVariable();
|
|
94
|
+
if (variable !== null) {
|
|
95
|
+
equalTo = this.variable.isEqualTo(variable);
|
|
96
|
+
}
|
|
97
|
+
} else if (this.primitive !== null) {
|
|
98
|
+
const primitive = term.getPrimitive();
|
|
99
|
+
if (primitive !== null) {
|
|
100
|
+
equalTo = this.primitive.isEqualTo(primitive);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return equalTo;
|
|
104
|
+
}
|
|
105
|
+
static name = "Term";
|
|
106
|
+
static fromPrimitive(primitive, context) {
|
|
107
|
+
const primitiveString = primitive.getString(), string = primitiveString, node = null, breakPoint = null, variable = null, negatedTerm = null, logicalTerm = null, bracketedTerm = null, comparisonTerm = null;
|
|
108
|
+
context = null;
|
|
109
|
+
const term = new Term(context, string, node, breakPoint, variable, primitive, negatedTerm, logicalTerm, bracketedTerm, comparisonTerm);
|
|
110
|
+
return term;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUZXJtIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHByaW1pdGl2ZSwgbmVnYXRlZFRlcm0sIGxvZ2ljYWxUZXJtLCBicmFja2V0ZWRUZXJtLCBjb21wYXJpc29uVGVybSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5wcmltaXRpdmUgPSBwcmltaXRpdmU7XG4gICAgdGhpcy5uZWdhdGVkVGVybSA9IG5lZ2F0ZWRUZXJtO1xuICAgIHRoaXMubG9naWNhbFRlcm0gPSBsb2dpY2FsVGVybTtcbiAgICB0aGlzLmJyYWNrZXRlZFRlcm0gPSBicmFja2V0ZWRUZXJtO1xuICAgIHRoaXMuY29tcGFyaXNvblRlcm0gPSBjb21wYXJpc29uVGVybTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UHJpbWl0aXZlKCkge1xuICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZTtcbiAgfVxuXG4gIGdldE5lZ2F0ZWRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWRUZXJtO1xuICB9XG5cbiAgZ2V0TG9naWNhbFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMubG9naWNhbFRlcm07XG4gIH1cblxuICBnZXRCcmVlZGluZ1Rlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuYnJhY2tldGVkVGVybTtcbiAgfVxuXG4gIGdldENvbXBhcmlzb25UZXJtKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBhcmlzb25UZXJtO1xuICB9XG5cbiAgZ2V0UHJpbWl0aXZlVmFsdWUoKSB7XG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0aGlzLnByaW1pdGl2ZS5nZXRWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy52YXJpYWJsZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJpbWl0aXZlLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5lZ2F0ZWRUZXJtLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naWNhbFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmxvZ2ljYWxUZXJtLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnJhY2tldGVkVGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuYnJhY2tldGVkVGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmlzb25UZXJtICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5jb21wYXJpc29uVGVybS5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBpc0Jvb2xlYW4oKSB7XG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSAodHlwZSA9PT0gQk9PTEVBTl9UWVBFKTtcblxuICAgIHJldHVybiBib29sZWFuO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByaW1pdGl2ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnByaW1pdGl2ZS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubmVnYXRlZFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5uZWdhdGVkVGVybS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naWNhbFRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5sb2dpY2FsVGVybS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYnJhY2tldGVkVGVybSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmJyYWNrZXRlZFRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbXBhcmlzb25UZXJtICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29tcGFyaXNvblRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaXNFcXVhbFRvKHRlcm0pIHtcbiAgICBsZXQgZXF1YWxUbyA9IGZhbHNlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlID0gdGVybS5nZXRWYXJpYWJsZSgpO1xuXG4gICAgICBpZiAodmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgICAgZXF1YWxUbyA9IHRoaXMudmFyaWFibGUuaXNFcXVhbFRvKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBwcmltaXRpdmUgPSB0ZXJtLmdldFByaW1pdGl2ZSgpO1xuXG4gICAgICBpZiAocHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0aGlzLnByaW1pdGl2ZS5pc0VxdWFsVG8ocHJpbWl0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUZXJtXCI7XG5cbiAgc3RhdGljIGZyb21QcmltaXRpdmUocHJpbWl0aXZlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcHJpbWl0aXZlU3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpLFxuICAgICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZVN0cmluZywgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGUgPSBudWxsLFxuICAgICAgICAgIG5lZ2F0ZWRUZXJtID0gbnVsbCxcbiAgICAgICAgICBsb2dpY2FsVGVybSA9IG51bGwsXG4gICAgICAgICAgYnJhY2tldGVkVGVybSA9IG51bGwsXG4gICAgICAgICAgY29tcGFyaXNvblRlcm0gPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB0ZXJtID0gbmV3IFRlcm0oY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlLCBuZWdhdGVkVGVybSwgbG9naWNhbFRlcm0sIGJyYWNrZXRlZFRlcm0sIGNvbXBhcmlzb25UZXJtKTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUZXJtIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwicHJpbWl0aXZlIiwibmVnYXRlZFRlcm0iLCJsb2dpY2FsVGVybSIsImJyYWNrZXRlZFRlcm0iLCJjb21wYXJpc29uVGVybSIsImdldFZhcmlhYmxlIiwiZ2V0UHJpbWl0aXZlIiwiZ2V0TmVnYXRlZFRlcm0iLCJnZXRMb2dpY2FsVGVybSIsImdldEJyZWVkaW5nVGVybSIsImdldENvbXBhcmlzb25UZXJtIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFZhbHVlIiwiZ2V0VHlwZSIsInR5cGUiLCJpc0Jvb2xlYW4iLCJib29sZWFuIiwiQk9PTEVBTl9UWVBFIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsImlzRXF1YWxUbyIsInRlcm0iLCJlcXVhbFRvIiwibmFtZSIsImZyb21QcmltaXRpdmUiLCJwcmltaXRpdmVTdHJpbmciLCJnZXRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU9BOzs7ZUFBQTs7O2dDQUx3QjswQkFFRDt1QkFDTTtNQUU3QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGFBQWFDLHVCQUFPO0lBQzlDLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFdBQVcsRUFBRUMsV0FBVyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsQ0FBRTtRQUMzSCxLQUFLLENBQUNULFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLGFBQWEs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
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
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
|
+
}
|
|
55
|
+
const _default = (0, _elements.define)(class Terms extends _occamlanguages.Element {
|
|
56
|
+
constructor(context, string, node, breakPoint, array){
|
|
57
|
+
super(context, string, node, breakPoint);
|
|
58
|
+
this.array = array;
|
|
59
|
+
}
|
|
60
|
+
getArray() {
|
|
61
|
+
return this.array;
|
|
62
|
+
}
|
|
63
|
+
getLength() {
|
|
64
|
+
const length = this.array.length;
|
|
65
|
+
return length;
|
|
66
|
+
}
|
|
67
|
+
getTerm(index) {
|
|
68
|
+
const term = this.array[index] || null; ///
|
|
69
|
+
return term;
|
|
70
|
+
}
|
|
71
|
+
addTerm(term) {
|
|
72
|
+
this.array.push(term);
|
|
73
|
+
}
|
|
74
|
+
mapTerm(callback) {
|
|
75
|
+
return this.array.map(callback);
|
|
76
|
+
}
|
|
77
|
+
forEachTerm(callback) {
|
|
78
|
+
this.array.forEach(callback);
|
|
79
|
+
}
|
|
80
|
+
evaluate(context) {
|
|
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;
|
|
85
|
+
context = null;
|
|
86
|
+
const { Values } = _elements.default, values = new Values(context, string, node, breakPoint, array);
|
|
87
|
+
return values;
|
|
88
|
+
}
|
|
89
|
+
static name = "Terms";
|
|
90
|
+
static fromTerm(term, context) {
|
|
91
|
+
const termsArray = [
|
|
92
|
+
term
|
|
93
|
+
], termsString = (0, _string.termsStringFromTermsArray)(termsArray, context), string = termsString, array = termsArray, node = null, breakPoint = null;
|
|
94
|
+
context = null;
|
|
95
|
+
const terms = new Terms(context, string, node, breakPoint, array);
|
|
96
|
+
return terms;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm1zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgdGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSwgdmFsdWVzU3RyaW5nRnJvbVZhbHVlc0FycmF5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFRlcm1zIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0VGVybShpbmRleCkge1xuICAgIGNvbnN0IHRlcm0gPSB0aGlzLmFycmF5W2luZGV4XSB8fCBudWxsOyAgLy8vXG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIGFkZFRlcm0odGVybSkge1xuICAgIHRoaXMuYXJyYXkucHVzaCh0ZXJtKTtcbiAgfVxuXG4gIG1hcFRlcm0oY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuYXJyYXkubWFwKGNhbGxiYWNrKTsgfVxuXG4gIGZvckVhY2hUZXJtKGNhbGxiYWNrKSB7IHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7IH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVzQXJyYXkgPSB0aGlzLm1hcFRlcm0oKHRlcm0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGVybS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgeyBWYWx1ZXMgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHZhbHVlcyA9IG5ldyBWYWx1ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSk7XG5cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlRlcm1zXCI7XG5cbiAgc3RhdGljIGZyb21UZXJtKHRlcm0sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0ZXJtc0FycmF5ID0gW1xuICAgICAgICAgICAgdGVybVxuICAgICAgICAgIF0sXG4gICAgICAgICAgdGVybXNTdHJpbmcgPSB0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5KHRlcm1zQXJyYXksIGNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHRlcm1zU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHRlcm1zQXJyYXksIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB0ZXJtcyA9IG5ldyBUZXJtcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgIHJldHVybiB0ZXJtcztcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVGVybXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldFRlcm0iLCJpbmRleCIsInRlcm0iLCJhZGRUZXJtIiwicHVzaCIsIm1hcFRlcm0iLCJjYWxsYmFjayIsIm1hcCIsImZvckVhY2hUZXJtIiwiZm9yRWFjaCIsImV2YWx1YXRlIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZSIsInZhbHVlc1N0cmluZyIsInZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSIsIlZhbHVlcyIsImVsZW1lbnRzIiwidmFsdWVzIiwibmFtZSIsImZyb21UZXJtIiwidGVybXNBcnJheSIsInRlcm1zU3RyaW5nIiwidGVybXNTdHJpbmdGcm9tVGVybXNBcnJheSIsInRlcm1zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUg7d0JBR2tEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFFdkUsV0FBZUEsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLFFBQVFDLEtBQUssRUFBRTtRQUNiLE1BQU1DLE9BQU8sSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSSxNQUFPLEdBQUc7UUFFNUMsT0FBT0M7SUFDVDtJQUVBQyxRQUFRRCxJQUFJLEVBQUU7UUFDWixJQUFJLENBQUNOLEtBQUssQ0FBQ1EsSUFBSSxDQUFDRjtJQUNsQjtJQUVBRyxRQUFRQyxRQUFRLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQ1YsS0FBSyxDQUFDVyxHQUFHLENBQUNEO0lBQVc7SUFFckRFLFlBQVlGLFFBQVEsRUFBRTtRQUFFLElBQUksQ0FBQ1YsS0FBSyxDQUFDYSxPQUFPLENBQUNIO0lBQVc7SUFFdERJLFNBQVNsQixPQUFPLEVBQUU7UUFDaEIsTUFBTW1CLGNBQWMsSUFBSSxDQUFDTixPQUFPLENBQUMsQ0FBQ0g7WUFDMUIsTUFBTVUsUUFBUVYsS0FBS1EsUUFBUSxDQUFDbEI7WUFFNUIsT0FBT29CO1FBQ1QsSUFDQUMsZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNILGFBQWFuQixVQUN4REMsU0FBU29CLGNBQ1RqQixRQUFRZSxhQUNSakIsT0FBTyxNQUNQQyxhQUFhO1FBRW5CSCxVQUFVO1FBRVYsTUFBTSxFQUFFdUIsTUFBTSxFQUFFLEdBQUdDLGlCQUFRLEVBQ3JCQyxTQUFTLElBQUlGLE9BQU92QixTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQztRQUU3RCxPQUFPcUI7SUFDVDtJQUVBLE9BQU9DLE9BQU8sUUFBUTtJQUV0QixPQUFPQyxTQUFTakIsSUFBSSxFQUFFVixPQUFPLEVBQUU7UUFDN0IsTUFBTTRCLGFBQWE7WUFDWGxCO1NBQ0QsRUFDRG1CLGNBQWNDLElBQUFBLGlDQUF5QixFQUFDRixZQUFZNUIsVUFDcERDLFNBQVM0QixhQUNUekIsUUFBUXdCLFlBQ1IxQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNK0IsUUFBUSxJQUFJakMsTUFBTUUsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFM0QsT0FBTzJCO0lBQ1Q7QUFDRiJ9
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
13
|
+
const _elements = require("../elements");
|
|
14
|
+
const _types = require("../types");
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const _default = (0, _elements.define)(class Ternary extends _occamlanguages.Element {
|
|
21
|
+
constructor(context, string, node, breakPoint, term, ifExpression, elseExpression){
|
|
22
|
+
super(context, string, node, breakPoint);
|
|
23
|
+
this.term = term;
|
|
24
|
+
this.ifExpression = ifExpression;
|
|
25
|
+
this.elseExpression = elseExpression;
|
|
26
|
+
}
|
|
27
|
+
getTerm() {
|
|
28
|
+
return this.term;
|
|
29
|
+
}
|
|
30
|
+
getIfBlock() {
|
|
31
|
+
return this.ifExpression;
|
|
32
|
+
}
|
|
33
|
+
getElseBlock() {
|
|
34
|
+
return this.elseExpression;
|
|
35
|
+
}
|
|
36
|
+
async evaluate(context) {
|
|
37
|
+
let value;
|
|
38
|
+
const ternaryString = this.getString(); ///
|
|
39
|
+
context.trace(`Evaluating the '${ternaryString}' ternary...`);
|
|
40
|
+
value = this.term.evaluate(context);
|
|
41
|
+
const valueType = value.getType();
|
|
42
|
+
if (valueType !== _types.BOOLEAN_TYPE) {
|
|
43
|
+
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);
|
|
44
|
+
throw exception;
|
|
45
|
+
}
|
|
46
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue; ///
|
|
47
|
+
value = boolean ? await this.ifExpression.evaluate(context) : await this.elseExpression.evaluate(context);
|
|
48
|
+
const valueString = value.getString();
|
|
49
|
+
context.debug(`...evaluated the '${ternaryString}' ternary as '${valueString}'.`);
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
static name = "Ternary";
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Rlcm5hcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVGVybmFyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIGlmRXhwcmVzc2lvbiwgZWxzZUV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmlmRXhwcmVzc2lvbiA9IGlmRXhwcmVzc2lvbjtcbiAgICB0aGlzLmVsc2VFeHByZXNzaW9uID0gZWxzZUV4cHJlc3Npb247XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRJZkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlmRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldEVsc2VCbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5lbHNlRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGFzeW5jIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCB0ZXJuYXJ5U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt0ZXJuYXJ5U3RyaW5nfScgdGVybmFyeS4uLmApO1xuXG4gICAgdmFsdWUgPSB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgdHlwZSBpcyAnJHt2YWx1ZVR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IHByaW1pdGl2ZVZhbHVlOyAvLy9cblxuICAgIHZhbHVlID0gYm9vbGVhbiA/XG4gICAgICAgICAgICAgIGF3YWl0IHRoaXMuaWZFeHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpIDpcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmVsc2VFeHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7dGVybmFyeVN0cmluZ30nIHRlcm5hcnkgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUZXJuYXJ5XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUZXJuYXJ5IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInRlcm0iLCJpZkV4cHJlc3Npb24iLCJlbHNlRXhwcmVzc2lvbiIsImdldFRlcm0iLCJnZXRJZkJsb2NrIiwiZ2V0RWxzZUJsb2NrIiwiZXZhbHVhdGUiLCJ2YWx1ZSIsInRlcm5hcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJCT09MRUFOX1RZUEUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJib29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7MEJBRUM7dUJBQ007Ozs7OztNQUU3QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGdCQUFnQkMsdUJBQU87SUFDakQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsY0FBYyxDQUFFO1FBQ2pGLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxZQUFZLEdBQUdBO1FBQ3BCLElBQUksQ0FBQ0MsY0FBYyxHQUFHQTtJQUN4QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSCxZQUFZO0lBQzFCO0lBRUFJLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0gsY0FBYztJQUM1QjtJQUVBLE1BQU1JLFNBQVNWLE9BQU8sRUFBRTtRQUN0QixJQUFJVztRQUVKLE1BQU1DLGdCQUFnQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRTNDYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsY0FBYyxZQUFZLENBQUM7UUFFNURELFFBQVEsSUFBSSxDQUFDUCxJQUFJLENBQUNNLFFBQVEsQ0FBQ1Y7UUFFM0IsTUFBTWUsWUFBWUosTUFBTUssT0FBTztRQUUvQixJQUFJRCxjQUFjRSxtQkFBWSxFQUFFO1lBQzlCLE1BQU1DLGNBQWNQLE1BQU1FLFNBQVMsSUFDN0JNLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksbUJBQW1CLEVBQUVILFVBQVUsNkJBQTZCLEVBQUVFLG1CQUFZLENBQUMsRUFBRSxDQUFDLEVBQzVHRyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE1BQU1DO1FBQ1I7UUFFQSxNQUFNRyxpQkFBaUJaLE1BQU1hLGlCQUFpQixJQUN4Q0MsVUFBVUYsZ0JBQWdCLEdBQUc7UUFFbkNaLFFBQVFjLFVBQ0UsTUFBTSxJQUFJLENBQUNwQixZQUFZLENBQUNLLFFBQVEsQ0FBQ1YsV0FDL0IsTUFBTSxJQUFJLENBQUNNLGNBQWMsQ0FBQ0ksUUFBUSxDQUFDVjtRQUUvQyxNQUFNa0IsY0FBY1AsTUFBTUUsU0FBUztRQUVuQ2IsUUFBUTBCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFZCxjQUFjLGNBQWMsRUFBRU0sWUFBWSxFQUFFLENBQUM7UUFFaEYsT0FBT1A7SUFDVDtJQUVBLE9BQU9nQixPQUFPLFVBQVU7QUFDMUIifQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _elements = require("../elements");
|
|
13
|
+
const _types = require("../types");
|
|
14
|
+
const _value = require("../utilities/value");
|
|
15
|
+
const _default = (0, _elements.define)(class Value extends _occamlanguages.Element {
|
|
16
|
+
constructor(context, string, node, breakPoint, variable, primitive){
|
|
17
|
+
super(context, string, node, breakPoint);
|
|
18
|
+
this.variable = variable;
|
|
19
|
+
this.primitive = primitive;
|
|
20
|
+
}
|
|
21
|
+
getVariable() {
|
|
22
|
+
return this.variable;
|
|
23
|
+
}
|
|
24
|
+
getPrimitive() {
|
|
25
|
+
return this.primitive;
|
|
26
|
+
}
|
|
27
|
+
getPrimitiveValue() {
|
|
28
|
+
const primitiveValue = this.primitive.getValue();
|
|
29
|
+
return primitiveValue;
|
|
30
|
+
}
|
|
31
|
+
getType() {
|
|
32
|
+
let type;
|
|
33
|
+
if (false) {
|
|
34
|
+
///
|
|
35
|
+
} else if (this.variable !== null) {
|
|
36
|
+
type = this.variable.getType();
|
|
37
|
+
} else if (this.primitive !== null) {
|
|
38
|
+
type = this.primitive.getType();
|
|
39
|
+
}
|
|
40
|
+
return type;
|
|
41
|
+
}
|
|
42
|
+
isBoolean() {
|
|
43
|
+
const type = this.getType(), boolean = type === _types.BOOLEAN_TYPE;
|
|
44
|
+
return boolean;
|
|
45
|
+
}
|
|
46
|
+
evaluate(context) {
|
|
47
|
+
let value;
|
|
48
|
+
if (false) {
|
|
49
|
+
///
|
|
50
|
+
} else if (this.variable !== null) {
|
|
51
|
+
value = this.variable.evaluate(context);
|
|
52
|
+
} else if (this.primitive !== null) {
|
|
53
|
+
value = this.primitive.evaluate(context);
|
|
54
|
+
}
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
isEqualTo(value) {
|
|
58
|
+
let equalTo = false;
|
|
59
|
+
if (false) {
|
|
60
|
+
///
|
|
61
|
+
} else if (this.variable !== null) {
|
|
62
|
+
const variable = value.getVariable();
|
|
63
|
+
if (variable !== null) {
|
|
64
|
+
equalTo = this.variable.isEqualTo(variable);
|
|
65
|
+
}
|
|
66
|
+
} else if (this.primitive !== null) {
|
|
67
|
+
const primitive = value.getPrimitive();
|
|
68
|
+
if (primitive !== null) {
|
|
69
|
+
equalTo = this.primitive.isEqualTo(primitive);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return equalTo;
|
|
73
|
+
}
|
|
74
|
+
static name = "Value";
|
|
75
|
+
static fromPrimitive(primitive, context) {
|
|
76
|
+
const primitiveString = primitive.getString(), string = primitiveString, node = null, breakPoint = null, variable = null;
|
|
77
|
+
context = null;
|
|
78
|
+
const value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhbHVlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHByaW1pdGl2ZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5wcmltaXRpdmUgPSBwcmltaXRpdmU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFByaW1pdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wcmltaXRpdmU7XG4gIH1cblxuICBnZXRQcmltaXRpdmVWYWx1ZSgpIHtcbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRoaXMucHJpbWl0aXZlLmdldFZhbHVlKCk7XG5cbiAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFibGUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnZhcmlhYmxlLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5wcmltaXRpdmUuZ2V0VHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuID0gKHR5cGUgPT09IEJPT0xFQU5fVFlQRSk7XG5cbiAgICByZXR1cm4gYm9vbGVhbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5wcmltaXRpdmUuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgaXNFcXVhbFRvKHZhbHVlKSB7XG4gICAgbGV0IGVxdWFsVG8gPSBmYWxzZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZSA9IHZhbHVlLmdldFZhcmlhYmxlKCk7XG5cbiAgICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgICBlcXVhbFRvID0gdGhpcy52YXJpYWJsZS5pc0VxdWFsVG8odmFyaWFibGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByaW1pdGl2ZSA9IHZhbHVlLmdldFByaW1pdGl2ZSgpO1xuXG4gICAgICBpZiAocHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICAgIGVxdWFsVG8gPSB0aGlzLnByaW1pdGl2ZS5pc0VxdWFsVG8ocHJpbWl0aXZlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYWx1ZVwiO1xuXG4gIHN0YXRpYyBmcm9tUHJpbWl0aXZlKHByaW1pdGl2ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHByaW1pdGl2ZVN0cmluZyA9IHByaW1pdGl2ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmVTdHJpbmcsIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWUgPSBuZXcgVmFsdWUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiVmFsdWUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJwcmltaXRpdmUiLCJnZXRWYXJpYWJsZSIsImdldFByaW1pdGl2ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRWYWx1ZSIsImdldFR5cGUiLCJ0eXBlIiwiaXNCb29sZWFuIiwiYm9vbGVhbiIsIkJPT0xFQU5fVFlQRSIsImV2YWx1YXRlIiwidmFsdWUiLCJpc0VxdWFsVG8iLCJlcXVhbFRvIiwibmFtZSIsImZyb21QcmltaXRpdmUiLCJwcmltaXRpdmVTdHJpbmciLCJnZXRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7O2dDQU53QjswQkFFRDt1QkFDTTt1QkFDSTtN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
|