occam-furtle 2.0.82 → 2.0.86
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/dom/every.js +5 -5
- package/lib/dom/label.js +6 -2
- package/lib/dom/parameter/named.js +5 -3
- package/lib/dom/parameter.js +6 -2
- package/lib/dom/parameters.js +4 -12
- package/lib/dom/procedure/anonymous.js +8 -16
- package/lib/dom/procedure.js +4 -4
- package/lib/dom/procedureCall.js +6 -2
- package/lib/dom/reduce.js +4 -4
- package/lib/dom/reference.js +6 -2
- package/lib/dom/some.js +4 -4
- package/lib/dom/step.js +8 -12
- package/lib/dom/ternary.js +2 -2
- package/lib/dom/value.js +8 -28
- package/lib/dom/values.js +2 -9
- package/lib/dom/variable.js +10 -13
- package/lib/index.js +1 -4
- package/lib/nodeProperties.js +10 -3
- package/lib/nodeProperty.js +2 -2
- package/package.json +4 -4
- package/src/dom/every.js +8 -12
- package/src/dom/label.js +9 -3
- package/src/dom/parameter/named.js +7 -2
- package/src/dom/parameter.js +9 -2
- package/src/dom/parameters.js +1 -1
- package/src/dom/procedure/anonymous.js +16 -29
- package/src/dom/procedure.js +7 -10
- package/src/dom/procedureCall.js +10 -2
- package/src/dom/reduce.js +8 -11
- package/src/dom/reference.js +8 -2
- package/src/dom/some.js +7 -9
- package/src/dom/step.js +11 -13
- package/src/dom/ternary.js +4 -4
- package/src/dom/value.js +7 -32
- package/src/dom/values.js +1 -10
- package/src/dom/variable.js +12 -17
- package/src/index.js +0 -3
- package/src/nodeProperties.js +15 -1
- package/src/nodeProperty.js +3 -1
- package/lib/dom/block.js +0 -154
- package/lib/dom/conditionalBlocks.js +0 -176
- package/lib/dom/procedureCall/anonymous.js +0 -145
- package/src/dom/block.js +0 -73
- package/src/dom/conditionalBlocks.js +0 -106
- package/src/dom/procedureCall/anonymous.js +0 -68
|
@@ -1,145 +0,0 @@
|
|
|
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
|
-
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
-
var _query = require("../../utilities/query");
|
|
13
|
-
function _class_call_check(instance, Constructor) {
|
|
14
|
-
if (!(instance instanceof Constructor)) {
|
|
15
|
-
throw new TypeError("Cannot call a class as a function");
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function _defineProperties(target, props) {
|
|
19
|
-
for(var i = 0; i < props.length; i++){
|
|
20
|
-
var descriptor = props[i];
|
|
21
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
-
descriptor.configurable = true;
|
|
23
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
32
|
-
function _define_property(obj, key, value) {
|
|
33
|
-
if (key in obj) {
|
|
34
|
-
Object.defineProperty(obj, key, {
|
|
35
|
-
value: value,
|
|
36
|
-
enumerable: true,
|
|
37
|
-
configurable: true,
|
|
38
|
-
writable: true
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
obj[key] = value;
|
|
42
|
-
}
|
|
43
|
-
return obj;
|
|
44
|
-
}
|
|
45
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
-
if (typeof WeakMap !== "function") return null;
|
|
47
|
-
var cacheBabelInterop = new WeakMap();
|
|
48
|
-
var cacheNodeInterop = new WeakMap();
|
|
49
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
-
})(nodeInterop);
|
|
52
|
-
}
|
|
53
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
-
return obj;
|
|
56
|
-
}
|
|
57
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
-
return {
|
|
59
|
-
default: obj
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
-
if (cache && cache.has(obj)) {
|
|
64
|
-
return cache.get(obj);
|
|
65
|
-
}
|
|
66
|
-
var newObj = {
|
|
67
|
-
__proto__: null
|
|
68
|
-
};
|
|
69
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
-
for(var key in obj){
|
|
71
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
-
if (desc && (desc.get || desc.set)) {
|
|
74
|
-
Object.defineProperty(newObj, key, desc);
|
|
75
|
-
} else {
|
|
76
|
-
newObj[key] = obj[key];
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
newObj.default = obj;
|
|
81
|
-
if (cache) {
|
|
82
|
-
cache.set(obj, newObj);
|
|
83
|
-
}
|
|
84
|
-
return newObj;
|
|
85
|
-
}
|
|
86
|
-
var _AnonymousProcedureCall;
|
|
87
|
-
var anonymousProcedureCallNodeQuery = (0, _query.nodeQuery)("/value/anonymousProcedureCall");
|
|
88
|
-
var _default = (0, _dom.domAssigned)((_AnonymousProcedureCall = /*#__PURE__*/ function() {
|
|
89
|
-
function AnonymousProcedureCall(string, anonymousProcedure, values) {
|
|
90
|
-
_class_call_check(this, AnonymousProcedureCall);
|
|
91
|
-
this.string = string;
|
|
92
|
-
this.anonymousProcedure = anonymousProcedure;
|
|
93
|
-
this.values = values;
|
|
94
|
-
}
|
|
95
|
-
_create_class(AnonymousProcedureCall, [
|
|
96
|
-
{
|
|
97
|
-
key: "getString",
|
|
98
|
-
value: function getString() {
|
|
99
|
-
return this.string;
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
key: "getAnonymousProcedure",
|
|
104
|
-
value: function getAnonymousProcedure() {
|
|
105
|
-
return this.anonymousProcedure;
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
key: "getValues",
|
|
110
|
-
value: function getValues() {
|
|
111
|
-
return this.values;
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
key: "evaluate",
|
|
116
|
-
value: function evaluate(context) {
|
|
117
|
-
var anonymousProcedureCallString = this.string; ///
|
|
118
|
-
context.trace("Evaluating the '".concat(anonymousProcedureCallString, "' anonymous procedure call..."));
|
|
119
|
-
var values = this.values.evaluate(context), value = this.anonymousProcedure.call(values, context);
|
|
120
|
-
context.debug("...evaluated the '".concat(anonymousProcedureCallString, "' anonymous procedure call."));
|
|
121
|
-
return value;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
], [
|
|
125
|
-
{
|
|
126
|
-
key: "fromValueNode",
|
|
127
|
-
value: function fromValueNode(valueNode, context) {
|
|
128
|
-
var anonymousProcedureCall = null;
|
|
129
|
-
var anonymousProcedureCallNode = anonymousProcedureCallNodeQuery(valueNode);
|
|
130
|
-
if (anonymousProcedureCallNode !== null) {
|
|
131
|
-
var Values = _dom.default.Values, AnonymousProcedure = _dom.default.AnonymousProcedure, anonymousProcedure = AnonymousProcedure.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context), values = Values.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context), string = stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context);
|
|
132
|
-
anonymousProcedureCall = new AnonymousProcedureCall(string, anonymousProcedure, values);
|
|
133
|
-
}
|
|
134
|
-
return anonymousProcedureCall;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
]);
|
|
138
|
-
return AnonymousProcedureCall;
|
|
139
|
-
}(), _define_property(_AnonymousProcedureCall, "name", "AnonymousProcedureCall"), _AnonymousProcedureCall));
|
|
140
|
-
function stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context) {
|
|
141
|
-
var anonymousProcedureString = anonymousProcedure.getString(), valuesString = values.getString(), string = "(".concat(anonymousProcedureString, ")(").concat(valuesString, ")");
|
|
142
|
-
return string;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcHJvY2VkdXJlQ2FsbC9hbm9ueW1vdXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcblxuY29uc3QgYW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YWx1ZS9hbm9ueW1vdXNQcm9jZWR1cmVDYWxsXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBBbm9ueW1vdXNQcm9jZWR1cmVDYWxsIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBhbm9ueW1vdXNQcm9jZWR1cmUsIHZhbHVlcykge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlID0gYW5vbnltb3VzUHJvY2VkdXJlO1xuICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGFub255bW91c1Byb2NlZHVyZUNhbGxTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YW5vbnltb3VzUHJvY2VkdXJlQ2FsbFN0cmluZ30nIGFub255bW91cyBwcm9jZWR1cmUgY2FsbC4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVzID0gdGhpcy52YWx1ZXMuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWUgPSB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKHZhbHVlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2Fub255bW91c1Byb2NlZHVyZUNhbGxTdHJpbmd9JyBhbm9ueW1vdXMgcHJvY2VkdXJlIGNhbGwuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQW5vbnltb3VzUHJvY2VkdXJlQ2FsbFwiO1xuXG4gIHN0YXRpYyBmcm9tVmFsdWVOb2RlKHZhbHVlTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBhbm9ueW1vdXNQcm9jZWR1cmVDYWxsID0gbnVsbDtcblxuICAgIGNvbnN0IGFub255bW91c1Byb2NlZHVyZUNhbGxOb2RlID0gYW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGVRdWVyeSh2YWx1ZU5vZGUpO1xuXG4gICAgaWYgKGFub255bW91c1Byb2NlZHVyZUNhbGxOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB7IFZhbHVlcywgQW5vbnltb3VzUHJvY2VkdXJlIH0gPSBkb20sXG4gICAgICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmUgPSBBbm9ueW1vdXNQcm9jZWR1cmUuZnJvbUFub255bW91c1Byb2NlZHVyZUNhbGxOb2RlKGFub255bW91c1Byb2NlZHVyZUNhbGxOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHZhbHVlcyA9IFZhbHVlcy5mcm9tQW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGUoYW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUFub255bW91c1Byb2NlZHVyZUFuZFZhbHVlcyhhbm9ueW1vdXNQcm9jZWR1cmUsIHZhbHVlcywgY29udGV4dCk7XG5cbiAgICAgIGFub255bW91c1Byb2NlZHVyZUNhbGwgPSBuZXcgQW5vbnltb3VzUHJvY2VkdXJlQ2FsbChzdHJpbmcsIGFub255bW91c1Byb2NlZHVyZSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW5vbnltb3VzUHJvY2VkdXJlQ2FsbDtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21Bbm9ueW1vdXNQcm9jZWR1cmVBbmRWYWx1ZXMoYW5vbnltb3VzUHJvY2VkdXJlLCB2YWx1ZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXMuZ2V0U3RyaW5nKCksXG4gICAgICAgIHN0cmluZyA9IGAoJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSgke3ZhbHVlc1N0cmluZ30pYDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImFub255bW91c1Byb2NlZHVyZUNhbGxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIkFub255bW91c1Byb2NlZHVyZUNhbGwiLCJzdHJpbmciLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJ2YWx1ZXMiLCJnZXRTdHJpbmciLCJnZXRBbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRWYWx1ZXMiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJhbm9ueW1vdXNQcm9jZWR1cmVDYWxsU3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsImNhbGwiLCJkZWJ1ZyIsImZyb21WYWx1ZU5vZGUiLCJ2YWx1ZU5vZGUiLCJhbm9ueW1vdXNQcm9jZWR1cmVDYWxsIiwiYW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGUiLCJWYWx1ZXMiLCJkb20iLCJBbm9ueW1vdXNQcm9jZWR1cmUiLCJmcm9tQW5vbnltb3VzUHJvY2VkdXJlQ2FsbE5vZGUiLCJzdHJpbmdGcm9tQW5vbnltb3VzUHJvY2VkdXJlQW5kVmFsdWVzIiwibmFtZSIsImFub255bW91c1Byb2NlZHVyZVN0cmluZyIsInZhbHVlc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7MkRBUGdCO3FCQUVVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMUIsSUFBTUEsa0NBQWtDQyxJQUFBQSxnQkFBUyxFQUFDO0lBRWxELFdBQWVDLElBQUFBLGdCQUFXLDJDQUFDO2FBQU1DLHVCQUNuQkMsTUFBTSxFQUFFQyxrQkFBa0IsRUFBRUMsTUFBTTtnQ0FEZkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7UUFDMUIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBOzs7O1lBR2hCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILGtCQUFrQjtZQUNoQzs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxPQUFPO2dCQUNkLElBQU1DLCtCQUErQixJQUFJLENBQUNSLE1BQU0sRUFBRyxHQUFHO2dCQUV0RE8sUUFBUUUsS0FBSyxDQUFDLEFBQUMsbUJBQStDLE9BQTdCRCw4QkFBNkI7Z0JBRTlELElBQU1OLFNBQVMsSUFBSSxDQUFDQSxNQUFNLENBQUNJLFFBQVEsQ0FBQ0MsVUFDOUJHLFFBQVEsSUFBSSxDQUFDVCxrQkFBa0IsQ0FBQ1UsSUFBSSxDQUFDVCxRQUFRSztnQkFFbkRBLFFBQVFLLEtBQUssQ0FBQyxBQUFDLHFCQUFpRCxPQUE3QkosOEJBQTZCO2dCQUVoRSxPQUFPRTtZQUNUOzs7O1lBSU9HLEtBQUFBO21CQUFQLFNBQU9BLGNBQWNDLFNBQVMsRUFBRVAsT0FBTztnQkFDckMsSUFBSVEseUJBQXlCO2dCQUU3QixJQUFNQyw2QkFBNkJwQixnQ0FBZ0NrQjtnQkFFbkUsSUFBSUUsK0JBQStCLE1BQU07b0JBQ3ZDLElBQVFDLFNBQStCQyxZQUFHLENBQWxDRCxRQUFRRSxxQkFBdUJELFlBQUcsQ0FBMUJDLG9CQUNWbEIscUJBQXFCa0IsbUJBQW1CQyw4QkFBOEIsQ0FBQ0osNEJBQTRCVCxVQUNuR0wsU0FBU2UsT0FBT0csOEJBQThCLENBQUNKLDRCQUE0QlQsVUFDM0VQLFNBQVNxQixzQ0FBc0NwQixvQkFBb0JDLFFBQVFLO29CQUVqRlEseUJBQXlCLElBQUloQix1QkFBdUJDLFFBQVFDLG9CQUFvQkM7Z0JBQ2xGO2dCQUVBLE9BQU9hO1lBQ1Q7Ozs7S0FqQkEsMENBQU9PLFFBQU87QUFvQmhCLFNBQVNELHNDQUFzQ3BCLGtCQUFrQixFQUFFQyxNQUFNLEVBQUVLLE9BQU87SUFDaEYsSUFBTWdCLDJCQUEyQnRCLG1CQUFtQkUsU0FBUyxJQUN2RHFCLGVBQWV0QixPQUFPQyxTQUFTLElBQy9CSCxTQUFTLEFBQUMsSUFBZ0N3QixPQUE3QkQsMEJBQXlCLE1BQWlCLE9BQWJDLGNBQWE7SUFFN0QsT0FBT3hCO0FBQ1QifQ==
|
package/src/dom/block.js
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import dom from "../dom";
|
|
4
|
-
import BlockContext from "../context/block";
|
|
5
|
-
|
|
6
|
-
import { nodesQuery } from "../utilities/query";
|
|
7
|
-
import { domAssigned } from "../dom";
|
|
8
|
-
|
|
9
|
-
const stepNodesQuery = nodesQuery("/block/step");
|
|
10
|
-
|
|
11
|
-
export default domAssigned(class Block {
|
|
12
|
-
constructor(string, steps) {
|
|
13
|
-
this.string = string;
|
|
14
|
-
this.steps = steps;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
getString() {
|
|
18
|
-
return this.string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getSteps() {
|
|
22
|
-
return this.steps;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
evaluate(variables, context) {
|
|
26
|
-
if (context === undefined) {
|
|
27
|
-
context = variables; ///
|
|
28
|
-
|
|
29
|
-
variables = [];
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const blockContext = BlockContext.fromVariables(variables, context);
|
|
33
|
-
|
|
34
|
-
context = blockContext; ///
|
|
35
|
-
|
|
36
|
-
this.steps.forEach((step) => {
|
|
37
|
-
step.evaluate(context);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static name = "Block";
|
|
42
|
-
|
|
43
|
-
static fromBlockNode(blockNode, context) {
|
|
44
|
-
let block = null;
|
|
45
|
-
|
|
46
|
-
if (blockNode !== null) {
|
|
47
|
-
const stepNodes = stepNodesQuery(blockNode),
|
|
48
|
-
steps = stepsFromStepNodes(stepNodes, context),
|
|
49
|
-
string = stringFromSteps(steps, context);
|
|
50
|
-
|
|
51
|
-
block = new Block(string, steps);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return block;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
function stringFromSteps(steps, context) {
|
|
59
|
-
const string = `{ ... }`;
|
|
60
|
-
|
|
61
|
-
return string;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
function stepsFromStepNodes(stepNodes, context) {
|
|
65
|
-
const { Step } = dom,
|
|
66
|
-
steps = stepNodes.map((stepNode) => {
|
|
67
|
-
const step = Step.fromStepNode(stepNode, context);
|
|
68
|
-
|
|
69
|
-
return step;
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
return steps;
|
|
73
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import dom from "../dom";
|
|
4
|
-
import Exception from "../exception";
|
|
5
|
-
|
|
6
|
-
import { nodeQuery } from "../utilities/query";
|
|
7
|
-
import { domAssigned } from "../dom";
|
|
8
|
-
import { BOOLEAN_TYPE } from "../types";
|
|
9
|
-
|
|
10
|
-
const valueNodeQuery = nodeQuery("/conditionalBlocks/value"),
|
|
11
|
-
ifBlockNodeQuery = nodeQuery("/conditionalBlocks/block[0]"),
|
|
12
|
-
elseBlockNodeQuery = nodeQuery("/conditionalBlocks/block[1]"),
|
|
13
|
-
conditionalBlocksNodeQuery = nodeQuery("/step/conditionalBlocks");
|
|
14
|
-
|
|
15
|
-
export default domAssigned(class ConditionalBlocks {
|
|
16
|
-
constructor(string, value, ifBlock, elseBlock) {
|
|
17
|
-
this.string = string;
|
|
18
|
-
this.value = value;
|
|
19
|
-
this.ifBlock = ifBlock;
|
|
20
|
-
this.elseBlock = elseBlock;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
getString() {
|
|
24
|
-
return this.string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
getValue() {
|
|
28
|
-
return this.value;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
getConditionBlock() {
|
|
32
|
-
return this.ifBlock;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
getElseBlock() {
|
|
36
|
-
return this.elseBlock;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
evaluate(context) {
|
|
40
|
-
const conditionalBlocksString = this.string; ///
|
|
41
|
-
|
|
42
|
-
context.trace(`Evaluating the '${conditionalBlocksString}' conditional blocks...`);
|
|
43
|
-
|
|
44
|
-
const value = this.value.evaluate(context),
|
|
45
|
-
valueType = value.getType();
|
|
46
|
-
|
|
47
|
-
if (valueType !== BOOLEAN_TYPE) {
|
|
48
|
-
const valueString = value.asString(context),
|
|
49
|
-
message = `The ${valueString} value's type is '${valueType}' when it should be of type '${BOOLEAN_TYPE}'.`,
|
|
50
|
-
exception = Exception.fromMessage(message);
|
|
51
|
-
|
|
52
|
-
throw exception;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const boolean = value.getBoolean();
|
|
56
|
-
|
|
57
|
-
if (boolean) {
|
|
58
|
-
this.ifBlock.evaluate(context);
|
|
59
|
-
} else {
|
|
60
|
-
if (this.elseBlock !== null) {
|
|
61
|
-
this.elseBlock.evaluate(context);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
context.debug(`...evaluated the '${conditionalBlocksString}' conditional blocks.`);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
static name = "ConditionalBlocks";
|
|
69
|
-
|
|
70
|
-
static fromStepNode(stepNode, context) {
|
|
71
|
-
let conditionalBlocks = null;
|
|
72
|
-
|
|
73
|
-
const conditionalBlocksNode = conditionalBlocksNodeQuery(stepNode);
|
|
74
|
-
|
|
75
|
-
if (conditionalBlocksNode !== null) {
|
|
76
|
-
const { Block, Value } = dom,
|
|
77
|
-
ifBlockNode = ifBlockNodeQuery(conditionalBlocksNode),
|
|
78
|
-
elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode),
|
|
79
|
-
value = Value.fromConditionalBlocksNode(conditionalBlocksNode, context),
|
|
80
|
-
ifBlock = Block.fromBlockNode(ifBlockNode, context),
|
|
81
|
-
elseBlock = Block.fromBlockNode(elseBlockNode, context),
|
|
82
|
-
string = stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context);
|
|
83
|
-
|
|
84
|
-
conditionalBlocks = new ConditionalBlocks(string, value, ifBlock, elseBlock);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return conditionalBlocks;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
function stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context) {
|
|
92
|
-
let string;
|
|
93
|
-
|
|
94
|
-
const valueString = value.asString(context),
|
|
95
|
-
ifBlockString = ifBlock.getString();
|
|
96
|
-
|
|
97
|
-
string = `If (${valueString}) ${ifBlockString}`;
|
|
98
|
-
|
|
99
|
-
if (elseBlock !== null) {
|
|
100
|
-
const elseBlockString = elseBlock.getString();
|
|
101
|
-
|
|
102
|
-
string = `${string} Else ${elseBlockString}`;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return string;
|
|
106
|
-
}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import dom from "../../dom";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../../utilities/query";
|
|
6
|
-
import { domAssigned } from "../../dom";
|
|
7
|
-
|
|
8
|
-
const anonymousProcedureCallNodeQuery = nodeQuery("/value/anonymousProcedureCall");
|
|
9
|
-
|
|
10
|
-
export default domAssigned(class AnonymousProcedureCall {
|
|
11
|
-
constructor(string, anonymousProcedure, values) {
|
|
12
|
-
this.string = string;
|
|
13
|
-
this.anonymousProcedure = anonymousProcedure;
|
|
14
|
-
this.values = values;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
getString() {
|
|
18
|
-
return this.string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
getAnonymousProcedure() {
|
|
22
|
-
return this.anonymousProcedure;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getValues() {
|
|
26
|
-
return this.values;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
evaluate(context) {
|
|
30
|
-
const anonymousProcedureCallString = this.string; ///
|
|
31
|
-
|
|
32
|
-
context.trace(`Evaluating the '${anonymousProcedureCallString}' anonymous procedure call...`);
|
|
33
|
-
|
|
34
|
-
const values = this.values.evaluate(context),
|
|
35
|
-
value = this.anonymousProcedure.call(values, context);
|
|
36
|
-
|
|
37
|
-
context.debug(`...evaluated the '${anonymousProcedureCallString}' anonymous procedure call.`);
|
|
38
|
-
|
|
39
|
-
return value;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
static name = "AnonymousProcedureCall";
|
|
43
|
-
|
|
44
|
-
static fromValueNode(valueNode, context) {
|
|
45
|
-
let anonymousProcedureCall = null;
|
|
46
|
-
|
|
47
|
-
const anonymousProcedureCallNode = anonymousProcedureCallNodeQuery(valueNode);
|
|
48
|
-
|
|
49
|
-
if (anonymousProcedureCallNode !== null) {
|
|
50
|
-
const { Values, AnonymousProcedure } = dom,
|
|
51
|
-
anonymousProcedure = AnonymousProcedure.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context),
|
|
52
|
-
values = Values.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context),
|
|
53
|
-
string = stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context);
|
|
54
|
-
|
|
55
|
-
anonymousProcedureCall = new AnonymousProcedureCall(string, anonymousProcedure, values);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return anonymousProcedureCall;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
function stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context) {
|
|
63
|
-
const anonymousProcedureString = anonymousProcedure.getString(),
|
|
64
|
-
valuesString = values.getString(),
|
|
65
|
-
string = `(${anonymousProcedureString})(${valuesString})`;
|
|
66
|
-
|
|
67
|
-
return string;
|
|
68
|
-
}
|