occam-furtle 3.0.461 → 3.0.464
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/context/block.js +2 -2
- package/lib/element/anonymousProcedure.js +12 -11
- package/lib/element/assignment/list.js +5 -5
- package/lib/element/assignment/object.js +35 -31
- package/lib/element/binding/named.js +6 -5
- package/lib/element/binding.js +5 -4
- package/lib/element/bindings/named.js +34 -28
- package/lib/element/bindings.js +14 -10
- package/lib/element/contains.js +4 -4
- package/lib/element/endsWith.js +4 -4
- package/lib/element/every.js +4 -4
- package/lib/element/expression.js +17 -27
- package/lib/element/lengthOf.js +4 -4
- package/lib/element/nodeQuery.js +7 -7
- package/lib/element/nodesQuery.js +6 -6
- package/lib/element/parameter.js +4 -3
- package/lib/element/parameters.js +14 -11
- package/lib/element/primitive.js +3 -3
- package/lib/element/procedure.js +13 -12
- package/lib/element/procedureCall.js +12 -10
- package/lib/element/reduce.js +3 -3
- package/lib/element/returnBlock.js +2 -2
- package/lib/element/returnStatement.js +3 -3
- package/lib/element/some.js +3 -3
- package/lib/element/startsWith.js +4 -4
- package/lib/element/term/bracketed.js +3 -3
- package/lib/element/term/comparison.js +4 -4
- package/lib/element/term/logical.js +5 -5
- package/lib/element/term/negated.js +4 -4
- package/lib/element/term.js +8 -10
- package/lib/element/terms.js +13 -14
- package/lib/element/ternary.js +2 -2
- package/lib/element/toInteger.js +5 -5
- package/lib/element/tryInteger.js +4 -4
- package/lib/element/value.js +4 -6
- package/lib/element/values.js +13 -11
- package/lib/element/variable.js +4 -4
- package/lib/nominalValueProperties.js +18 -17
- package/lib/nominalValueProperty.js +3 -3
- package/package.json +2 -2
- package/src/context/block.js +1 -1
- package/src/element/anonymousProcedure.js +15 -15
- package/src/element/assignment/list.js +4 -4
- package/src/element/assignment/object.js +36 -34
- package/src/element/binding/named.js +6 -4
- package/src/element/binding.js +5 -3
- package/src/element/bindings/named.js +46 -34
- package/src/element/bindings.js +19 -11
- package/src/element/contains.js +3 -3
- package/src/element/endsWith.js +3 -3
- package/src/element/every.js +3 -3
- package/src/element/expression.js +17 -35
- package/src/element/lengthOf.js +3 -3
- package/src/element/nodeQuery.js +6 -6
- package/src/element/nodesQuery.js +5 -5
- package/src/element/parameter.js +4 -2
- package/src/element/parameters.js +19 -12
- package/src/element/primitive.js +2 -2
- package/src/element/procedure.js +16 -16
- package/src/element/procedureCall.js +11 -10
- package/src/element/reduce.js +2 -2
- package/src/element/returnBlock.js +1 -1
- package/src/element/returnStatement.js +2 -2
- package/src/element/some.js +2 -2
- package/src/element/startsWith.js +3 -3
- package/src/element/term/bracketed.js +2 -2
- package/src/element/term/comparison.js +3 -3
- package/src/element/term/logical.js +4 -4
- package/src/element/term/negated.js +3 -3
- package/src/element/term.js +7 -11
- package/src/element/terms.js +20 -19
- package/src/element/ternary.js +1 -1
- package/src/element/toInteger.js +4 -4
- package/src/element/tryInteger.js +3 -3
- package/src/element/value.js +3 -7
- package/src/element/values.js +22 -17
- package/src/element/variable.js +3 -3
- package/src/nominalValueProperties.js +22 -18
- package/src/nominalValueProperty.js +2 -2
|
@@ -16,6 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
const { some, forEach } = _occamlanguages.continuationUtilities;
|
|
19
20
|
const _default = (0, _elements.define)(class NamedBindings extends _occamlanguages.Element {
|
|
20
21
|
constructor(context, string, node, breakPoint, array){
|
|
21
22
|
super(context, string, node, breakPoint);
|
|
@@ -32,53 +33,58 @@ const _default = (0, _elements.define)(class NamedBindings extends _occamlanguag
|
|
|
32
33
|
const namedBinding = this.array[index] || null;
|
|
33
34
|
return namedBinding;
|
|
34
35
|
}
|
|
35
|
-
someNamedBinding(callback) {
|
|
36
|
-
return this.array
|
|
36
|
+
someNamedBinding(callback, back, forward) {
|
|
37
|
+
return some(this.array, callback, back, forward);
|
|
37
38
|
}
|
|
38
|
-
forEachNamedBinding(callback) {
|
|
39
|
-
this.array
|
|
39
|
+
forEachNamedBinding(callback, back, forward) {
|
|
40
|
+
return forEach(this.array, callback, back, forward);
|
|
40
41
|
}
|
|
41
|
-
compareTerms(terms, context) {
|
|
42
|
+
compareTerms(terms, context, back, forward) {
|
|
42
43
|
const termsString = terms.getString(), namedBindingsString = this.getString(); ///
|
|
43
44
|
context.trace(`Comparing the '${termsString}' terms with the '${namedBindingsString}' named bindings...`);
|
|
44
45
|
const termsLength = terms.getLength(), namedBindingsLength = this.getLength();
|
|
45
46
|
if (termsLength !== namedBindingsLength) {
|
|
46
47
|
const message = `The '${termsString}' terms and '${namedBindingsString}' named bindings are not of the same length.`, exception = _exception.default.fromMessage(message);
|
|
47
|
-
|
|
48
|
+
return back(exception);
|
|
48
49
|
}
|
|
49
|
-
this.forEachNamedBinding((namedBinding, index)=>{
|
|
50
|
-
if (namedBinding
|
|
51
|
-
|
|
52
|
-
namedBinding.compareTerm(term, context);
|
|
50
|
+
return this.forEachNamedBinding((namedBinding, back, forward, index)=>{
|
|
51
|
+
if (namedBinding === null) {
|
|
52
|
+
return forward();
|
|
53
53
|
}
|
|
54
|
+
const term = terms.getTerm(index);
|
|
55
|
+
return namedBinding.compareTerm(term, context, back, forward);
|
|
56
|
+
}, back, ()=>{
|
|
57
|
+
context.debug(`...compared the '${termsString}' terms with the '${namedBindingsString}' named bindings.`);
|
|
58
|
+
return forward();
|
|
54
59
|
});
|
|
55
|
-
context.debug(`...compared the '${termsString}' terms with the '${namedBindingsString}' named bindings.`);
|
|
56
60
|
}
|
|
57
|
-
compareNamedBinding(namedBinding, context) {
|
|
61
|
+
compareNamedBinding(namedBinding, context, back, forward) {
|
|
58
62
|
const namedBindingString = namedBinding.getString(), namedBindingsString = this.getString(); ///
|
|
59
63
|
context.trace(`Comparing the '${namedBindingString}' namedBinding with the '${namedBindingsString}' named bindings...`);
|
|
60
|
-
const namedBindingA = namedBinding
|
|
64
|
+
const namedBindingA = namedBinding; ///
|
|
65
|
+
return this.someNamedBinding((namedBinding)=>{
|
|
61
66
|
if (namedBinding !== null) {
|
|
62
|
-
const namedBindingB = namedBinding
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
const namedBindingB = namedBinding; ///
|
|
68
|
+
return namedBindingA.compareNamedBinding(namedBindingB, context, back, forward);
|
|
69
|
+
}
|
|
70
|
+
}, back, (namedBindingCompares)=>{
|
|
71
|
+
if (!namedBindingCompares) {
|
|
72
|
+
const message = `The '${namedBindingString}' namedBinding does not compare to any of the '${namedBindingsString}' named bindings.`, exception = _exception.default.fromMessage(message);
|
|
73
|
+
return back(exception);
|
|
66
74
|
}
|
|
75
|
+
context.debug(`...compared the '${namedBindingString}' namedBinding with the '${namedBindingsString}' named bindings.`);
|
|
76
|
+
return forward();
|
|
67
77
|
});
|
|
68
|
-
if (!namedBindingCompares) {
|
|
69
|
-
const message = `The '${namedBindingString}' namedBinding does not compare to any of the '${namedBindingsString}' named bindings.`, exception = _exception.default.fromMessage(message);
|
|
70
|
-
throw exception;
|
|
71
|
-
}
|
|
72
|
-
context.debug(`...compared the '${namedBindingString}' namedBinding with the '${namedBindingsString}' named bindings.`);
|
|
73
78
|
}
|
|
74
|
-
compareNamedBindings(namedBindings, context) {
|
|
75
|
-
namedBindings.forEachNamedBinding((namedBinding)=>{
|
|
76
|
-
if (namedBinding
|
|
77
|
-
|
|
79
|
+
compareNamedBindings(namedBindings, context, back, forward) {
|
|
80
|
+
return namedBindings.forEachNamedBinding((namedBinding, back, forward)=>{
|
|
81
|
+
if (namedBinding === null) {
|
|
82
|
+
return forward();
|
|
78
83
|
}
|
|
79
|
-
|
|
84
|
+
return this.compareNamedBinding(namedBinding, context, back, forward);
|
|
85
|
+
}, back, forward);
|
|
80
86
|
}
|
|
81
87
|
static name = "NamedBindings";
|
|
82
88
|
});
|
|
83
89
|
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmdzL25hbWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBzb21lLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBOYW1lZEJpbmRpbmdzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5nKGluZGV4KSB7XG4gICAgY29uc3QgbmFtZWRCaW5kaW5nID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBuYW1lZEJpbmRpbmc7XG4gIH1cblxuICBzb21lTmFtZWRCaW5kaW5nKGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIHNvbWUodGhpcy5hcnJheSwgY2FsbGJhY2ssIGJhY2ssIGZvcndhcmQpO1xuICB9XG5cbiAgZm9yRWFjaE5hbWVkQmluZGluZyhjYWxsYmFjaywgYmFjaywgZm9yd2FyZCkge1xuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtcyh0ZXJtcywgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHt0ZXJtc1N0cmluZ30nIHRlcm1zIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0ZXJtcy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdzTGVuZ3RoID0gdGhpcy5nZXRMZW5ndGgoKTtcblxuICAgIGlmICh0ZXJtc0xlbmd0aCAhPT0gbmFtZWRCaW5kaW5nc0xlbmd0aCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyBhbmQgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBiYWNrLCBmb3J3YXJkLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0ZXJtID0gdGVybXMuZ2V0VGVybShpbmRleCk7XG5cbiAgICAgIHJldHVybiBuYW1lZEJpbmRpbmcuY29tcGFyZVRlcm0odGVybSwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgYmFjaywgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY29tcGFyZWQgdGhlICcke3Rlcm1zU3RyaW5nfScgdGVybXMgd2l0aCB0aGUgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZEJpbmRpbmcgd2l0aCB0aGUgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzLi4uYCk7XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdBID0gbmFtZWRCaW5kaW5nOyAvLy9cblxuICAgIHJldHVybiB0aGlzLnNvbWVOYW1lZEJpbmRpbmcoKG5hbWVkQmluZGluZykgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBuYW1lZEJpbmRpbmdCID0gbmFtZWRCaW5kaW5nOyAvLy9cblxuICAgICAgICByZXR1cm4gbmFtZWRCaW5kaW5nQS5jb21wYXJlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZ0IsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgICAgfVxuICAgIH0sIGJhY2ssIChuYW1lZEJpbmRpbmdDb21wYXJlcykgPT4ge1xuICAgICAgaWYgKCFuYW1lZEJpbmRpbmdDb21wYXJlcykge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZEJpbmRpbmcgZG9lcyBub3QgY29tcGFyZSB0byBhbnkgb2YgdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY29tcGFyZWQgdGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkQmluZGluZyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlTmFtZWRCaW5kaW5ncyhuYW1lZEJpbmRpbmdzLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIG5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICBpZiAobmFtZWRCaW5kaW5nID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9LCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOYW1lZEJpbmRpbmdzXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJzb21lIiwiZm9yRWFjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIk5hbWVkQmluZGluZ3MiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldE5hbWVkQmluZGluZyIsImluZGV4IiwibmFtZWRCaW5kaW5nIiwic29tZU5hbWVkQmluZGluZyIsImNhbGxiYWNrIiwiYmFjayIsImZvcndhcmQiLCJmb3JFYWNoTmFtZWRCaW5kaW5nIiwiY29tcGFyZVRlcm1zIiwidGVybXMiLCJ0ZXJtc1N0cmluZyIsImdldFN0cmluZyIsIm5hbWVkQmluZGluZ3NTdHJpbmciLCJ0cmFjZSIsInRlcm1zTGVuZ3RoIiwibmFtZWRCaW5kaW5nc0xlbmd0aCIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRlcm0iLCJnZXRUZXJtIiwiY29tcGFyZVRlcm0iLCJkZWJ1ZyIsImNvbXBhcmVOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lZEJpbmRpbmdBIiwibmFtZWRCaW5kaW5nQiIsIm5hbWVkQmluZGluZ0NvbXBhcmVzIiwiY29tcGFyZU5hbWVkQmluZGluZ3MiLCJuYW1lZEJpbmRpbmdzIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7Z0NBUitDO2tFQUV6QjswQkFFQzs7Ozs7O0FBRXZCLE1BQU0sRUFBRUEsSUFBSSxFQUFFQyxPQUFPLEVBQUUsR0FBR0MscUNBQXFCO01BRS9DLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsc0JBQXNCQyx1QkFBTztJQUN2RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLGdCQUFnQkMsS0FBSyxFQUFFO1FBQ3JCLE1BQU1DLGVBQWUsSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSTtRQUUxQyxPQUFPQztJQUNUO0lBRUFDLGlCQUFpQkMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUN4QyxPQUFPcEIsS0FBSyxJQUFJLENBQUNVLEtBQUssRUFBRVEsVUFBVUMsTUFBTUM7SUFDMUM7SUFFQUMsb0JBQW9CSCxRQUFRLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQzNDLE9BQU9uQixRQUFRLElBQUksQ0FBQ1MsS0FBSyxFQUFFUSxVQUFVQyxNQUFNQztJQUM3QztJQUVBRSxhQUFhQyxLQUFLLEVBQUVqQixPQUFPLEVBQUVhLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQzFDLE1BQU1JLGNBQWNELE1BQU1FLFNBQVMsSUFDN0JDLHNCQUFzQixJQUFJLENBQUNELFNBQVMsSUFBSSxHQUFHO1FBRWpEbkIsUUFBUXFCLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUgsWUFBWSxrQkFBa0IsRUFBRUUsb0JBQW9CLG1CQUFtQixDQUFDO1FBRXhHLE1BQU1FLGNBQWNMLE1BQU1YLFNBQVMsSUFDN0JpQixzQkFBc0IsSUFBSSxDQUFDakIsU0FBUztRQUUxQyxJQUFJZ0IsZ0JBQWdCQyxxQkFBcUI7WUFDdkMsTUFBTUMsVUFBVSxDQUFDLEtBQUssRUFBRU4sWUFBWSxhQUFhLEVBQUVFLG9CQUFvQiw0Q0FBNEMsQ0FBQyxFQUM5R0ssWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPWCxLQUFLWTtRQUNkO1FBRUEsT0FBTyxJQUFJLENBQUNWLG1CQUFtQixDQUFDLENBQUNMLGNBQWNHLE1BQU1DLFNBQVNMO1lBQzVELElBQUlDLGlCQUFpQixNQUFNO2dCQUN6QixPQUFPSTtZQUNUO1lBRUEsTUFBTWMsT0FBT1gsTUFBTVksT0FBTyxDQUFDcEI7WUFFM0IsT0FBT0MsYUFBYW9CLFdBQVcsQ0FBQ0YsTUFBTTVCLFNBQVNhLE1BQU1DO1FBQ3ZELEdBQUdELE1BQU07WUFDUGIsUUFBUStCLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixFQUFFYixZQUFZLGtCQUFrQixFQUFFRSxvQkFBb0IsaUJBQWlCLENBQUM7WUFFeEcsT0FBT047UUFDVDtJQUNGO0lBRUFrQixvQkFBb0J0QixZQUFZLEVBQUVWLE9BQU8sRUFBRWEsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDeEQsTUFBTW1CLHFCQUFxQnZCLGFBQWFTLFNBQVMsSUFDM0NDLHNCQUFzQixJQUFJLENBQUNELFNBQVMsSUFBSSxHQUFHO1FBRWpEbkIsUUFBUXFCLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRVksbUJBQW1CLHlCQUF5QixFQUFFYixvQkFBb0IsbUJBQW1CLENBQUM7UUFFdEgsTUFBTWMsZ0JBQWdCeEIsY0FBYyxHQUFHO1FBRXZDLE9BQU8sSUFBSSxDQUFDQyxnQkFBZ0IsQ0FBQyxDQUFDRDtZQUM1QixJQUFJQSxpQkFBaUIsTUFBTTtnQkFDekIsTUFBTXlCLGdCQUFnQnpCLGNBQWMsR0FBRztnQkFFdkMsT0FBT3dCLGNBQWNGLG1CQUFtQixDQUFDRyxlQUFlbkMsU0FBU2EsTUFBTUM7WUFDekU7UUFDRixHQUFHRCxNQUFNLENBQUN1QjtZQUNSLElBQUksQ0FBQ0Esc0JBQXNCO2dCQUN6QixNQUFNWixVQUFVLENBQUMsS0FBSyxFQUFFUyxtQkFBbUIsK0NBQStDLEVBQUViLG9CQUFvQixpQkFBaUIsQ0FBQyxFQUM1SEssWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtnQkFFeEMsT0FBT1gsS0FBS1k7WUFDZDtZQUVBekIsUUFBUStCLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixFQUFFRSxtQkFBbUIseUJBQXlCLEVBQUViLG9CQUFvQixpQkFBaUIsQ0FBQztZQUV0SCxPQUFPTjtRQUNUO0lBQ0Y7SUFFQXVCLHFCQUFxQkMsYUFBYSxFQUFFdEMsT0FBTyxFQUFFYSxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMxRCxPQUFPd0IsY0FBY3ZCLG1CQUFtQixDQUFDLENBQUNMLGNBQWNHLE1BQU1DO1lBQzVELElBQUlKLGlCQUFpQixNQUFNO2dCQUN6QixPQUFPSTtZQUNUO1lBRUEsT0FBTyxJQUFJLENBQUNrQixtQkFBbUIsQ0FBQ3RCLGNBQWNWLFNBQVNhLE1BQU1DO1FBQy9ELEdBQUdELE1BQU1DO0lBQ1g7SUFFQSxPQUFPeUIsT0FBTyxnQkFBZ0I7QUFDaEMifQ==
|
package/lib/element/bindings.js
CHANGED
|
@@ -16,6 +16,7 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
+
const { forEach } = _occamlanguages.continuationUtilities;
|
|
19
20
|
const _default = (0, _elements.define)(class Bindings extends _occamlanguages.Element {
|
|
20
21
|
constructor(context, string, node, breakPoint, array){
|
|
21
22
|
super(context, string, node, breakPoint);
|
|
@@ -32,26 +33,29 @@ const _default = (0, _elements.define)(class Bindings extends _occamlanguages.El
|
|
|
32
33
|
const binding = this.array[index] || null;
|
|
33
34
|
return binding;
|
|
34
35
|
}
|
|
35
|
-
forEachBinding(callback) {
|
|
36
|
-
this.array
|
|
36
|
+
forEachBinding(callback, back, forward) {
|
|
37
|
+
return forEach(this.array, callback, back, forward);
|
|
37
38
|
}
|
|
38
|
-
compareTerms(terms, context) {
|
|
39
|
+
compareTerms(terms, context, back, forward) {
|
|
39
40
|
const termsString = terms.getString(), bindingsString = this.getString(); ///
|
|
40
41
|
context.trace(`Comparing the '${termsString}' terms against the '${bindingsString}' bindings...`);
|
|
41
42
|
const termsLength = terms.getLength(), bindingsLength = this.getLength();
|
|
42
43
|
if (termsLength !== bindingsLength) {
|
|
43
44
|
const message = `The '${termsString}' expressions and '${bindingsString}' bindings are not of the same length.`, exception = _exception.default.fromMessage(message);
|
|
44
|
-
|
|
45
|
+
return back(exception);
|
|
45
46
|
}
|
|
46
|
-
this.forEachBinding((binding, index)=>{
|
|
47
|
-
if (binding
|
|
48
|
-
|
|
49
|
-
binding.compareTerm(term, context);
|
|
47
|
+
return this.forEachBinding((binding, back, forward, index)=>{
|
|
48
|
+
if (binding === null) {
|
|
49
|
+
return forward();
|
|
50
50
|
}
|
|
51
|
+
const term = terms.getTerm(index);
|
|
52
|
+
return binding.compareTerm(term, context, back, forward);
|
|
53
|
+
}, back, ()=>{
|
|
54
|
+
context.debug(`...compared the '${termsString}' terms against the '${bindingsString}' bindings.`);
|
|
55
|
+
forward();
|
|
51
56
|
});
|
|
52
|
-
context.debug(`...compared the '${termsString}' terms against the '${bindingsString}' bindings.`);
|
|
53
57
|
}
|
|
54
58
|
static name = "Bindings";
|
|
55
59
|
});
|
|
56
60
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmdzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBCaW5kaW5ncyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZ2V0TGVuZ3RoKCkge1xuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuYXJyYXkubGVuZ3RoO1xuXG4gICAgcmV0dXJuIGxlbmd0aDtcbiAgfVxuXG4gIGdldEJpbmRpbmcoaW5kZXgpIHtcbiAgICBjb25zdCBiaW5kaW5nID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBiaW5kaW5nO1xuICB9XG5cbiAgZm9yRWFjaEJpbmRpbmcoY2FsbGJhY2ssIGJhY2ssIGZvcndhcmQpIHtcbiAgICByZXR1cm4gZm9yRWFjaCh0aGlzLmFycmF5LCBjYWxsYmFjaywgYmFjaywgZm9yd2FyZCk7XG4gIH1cblxuICBjb21wYXJlVGVybXModGVybXMsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0ZXJtc1N0cmluZyA9IHRlcm1zLmdldFN0cmluZygpLFxuICAgICAgICAgIGJpbmRpbmdzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDb21wYXJpbmcgdGhlICcke3Rlcm1zU3RyaW5nfScgdGVybXMgYWdhaW5zdCB0aGUgJyR7YmluZGluZ3NTdHJpbmd9JyBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0ZXJtcy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBiaW5kaW5nc0xlbmd0aCA9IHRoaXMuZ2V0TGVuZ3RoKCk7XG5cbiAgICBpZiAodGVybXNMZW5ndGggIT09IGJpbmRpbmdzTGVuZ3RoKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtc1N0cmluZ30nIGV4cHJlc3Npb25zIGFuZCAnJHtiaW5kaW5nc1N0cmluZ30nIGJpbmRpbmdzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaEJpbmRpbmcoKGJpbmRpbmcsIGJhY2ssIGZvcndhcmQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAoYmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0ZXJtID0gdGVybXMuZ2V0VGVybShpbmRleCk7XG5cbiAgICAgIHJldHVybiBiaW5kaW5nLmNvbXBhcmVUZXJtKHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0sIGJhY2ssICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNvbXBhcmVkIHRoZSAnJHt0ZXJtc1N0cmluZ30nIHRlcm1zIGFnYWluc3QgdGhlICcke2JpbmRpbmdzU3RyaW5nfScgYmluZGluZ3MuYCk7XG5cbiAgICAgIGZvcndhcmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJCaW5kaW5nc1wiO1xufSk7XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIkJpbmRpbmdzIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsImFycmF5IiwiZ2V0QXJyYXkiLCJnZXRMZW5ndGgiLCJsZW5ndGgiLCJnZXRCaW5kaW5nIiwiaW5kZXgiLCJiaW5kaW5nIiwiZm9yRWFjaEJpbmRpbmciLCJjYWxsYmFjayIsImJhY2siLCJmb3J3YXJkIiwiY29tcGFyZVRlcm1zIiwidGVybXMiLCJ0ZXJtc1N0cmluZyIsImdldFN0cmluZyIsImJpbmRpbmdzU3RyaW5nIiwidHJhY2UiLCJ0ZXJtc0xlbmd0aCIsImJpbmRpbmdzTGVuZ3RoIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidGVybSIsImdldFRlcm0iLCJjb21wYXJlVGVybSIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7Z0NBUitDO2tFQUV6QjswQkFFQzs7Ozs7O0FBRXZCLE1BQU0sRUFBRUEsT0FBTyxFQUFFLEdBQUdDLHFDQUFxQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGlCQUFpQkMsdUJBQU87SUFDbEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxLQUFLLENBQUU7UUFDcEQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDZjtJQUVBQyxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNELEtBQUs7SUFDbkI7SUFFQUUsWUFBWTtRQUNWLE1BQU1DLFNBQVMsSUFBSSxDQUFDSCxLQUFLLENBQUNHLE1BQU07UUFFaEMsT0FBT0E7SUFDVDtJQUVBQyxXQUFXQyxLQUFLLEVBQUU7UUFDaEIsTUFBTUMsVUFBVSxJQUFJLENBQUNOLEtBQUssQ0FBQ0ssTUFBTSxJQUFJO1FBRXJDLE9BQU9DO0lBQ1Q7SUFFQUMsZUFBZUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUN0QyxPQUFPbkIsUUFBUSxJQUFJLENBQUNTLEtBQUssRUFBRVEsVUFBVUMsTUFBTUM7SUFDN0M7SUFFQUMsYUFBYUMsS0FBSyxFQUFFaEIsT0FBTyxFQUFFYSxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMxQyxNQUFNRyxjQUFjRCxNQUFNRSxTQUFTLElBQzdCQyxpQkFBaUIsSUFBSSxDQUFDRCxTQUFTLElBQUksR0FBRztRQUU1Q2xCLFFBQVFvQixLQUFLLENBQUMsQ0FBQyxlQUFlLEVBQUVILFlBQVkscUJBQXFCLEVBQUVFLGVBQWUsYUFBYSxDQUFDO1FBRWhHLE1BQU1FLGNBQWNMLE1BQU1WLFNBQVMsSUFDN0JnQixpQkFBaUIsSUFBSSxDQUFDaEIsU0FBUztRQUVyQyxJQUFJZSxnQkFBZ0JDLGdCQUFnQjtZQUNsQyxNQUFNQyxVQUFVLENBQUMsS0FBSyxFQUFFTixZQUFZLG1CQUFtQixFQUFFRSxlQUFlLHNDQUFzQyxDQUFDLEVBQ3pHSyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE9BQU9WLEtBQUtXO1FBQ2Q7UUFFQSxPQUFPLElBQUksQ0FBQ2IsY0FBYyxDQUFDLENBQUNELFNBQVNHLE1BQU1DLFNBQVNMO1lBQ2xELElBQUlDLFlBQVksTUFBTTtnQkFDcEIsT0FBT0k7WUFDVDtZQUVBLE1BQU1hLE9BQU9YLE1BQU1ZLE9BQU8sQ0FBQ25CO1lBRTNCLE9BQU9DLFFBQVFtQixXQUFXLENBQUNGLE1BQU0zQixTQUFTYSxNQUFNQztRQUNsRCxHQUFHRCxNQUFNO1lBQ1BiLFFBQVE4QixLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRWIsWUFBWSxxQkFBcUIsRUFBRUUsZUFBZSxXQUFXLENBQUM7WUFFaEdMO1FBQ0Y7SUFDRjtJQUVBLE9BQU9pQixPQUFPLFdBQVc7QUFDM0IifQ==
|
package/lib/element/contains.js
CHANGED
|
@@ -30,7 +30,7 @@ const _default = (0, _elements.define)(class Contains extends _occamlanguages.El
|
|
|
30
30
|
getSubstring() {
|
|
31
31
|
return this.substring;
|
|
32
32
|
}
|
|
33
|
-
evaluate(context) {
|
|
33
|
+
evaluate(context, back, forward) {
|
|
34
34
|
let value;
|
|
35
35
|
const containsString = this.getString(); ///
|
|
36
36
|
context.trace(`Evaluating the '${containsString}' function...`);
|
|
@@ -38,15 +38,15 @@ const _default = (0, _elements.define)(class Contains extends _occamlanguages.El
|
|
|
38
38
|
const valueType = value.getType(), valueTypeStringType = valueType.isStringType();
|
|
39
39
|
if (!valueTypeStringType) {
|
|
40
40
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
41
|
-
|
|
41
|
+
return back(exception);
|
|
42
42
|
}
|
|
43
43
|
const string = value.getString(), boolean = string.contains(this.substring);
|
|
44
44
|
value = (0, _value.valueFromBoolean)(boolean);
|
|
45
45
|
const valueString = value.getString();
|
|
46
46
|
context.debug(`...evaluated the '${containsString}' function as '${valueString}'.`);
|
|
47
|
-
return value;
|
|
47
|
+
return forward(value);
|
|
48
48
|
}
|
|
49
49
|
static name = "Contains";
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NvbnRhaW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBTVFJJTkdfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbnRhaW5zIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHN1YnN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5zdWJzdHJpbmcgPSBzdWJzdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN1YnN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdHJpbmc7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgY29udGFpbnNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb250YWluc1N0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlU3RyaW5nVHlwZSA9IHZhbHVlVHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBib29sZWFuID0gc3RyaW5nLmNvbnRhaW5zKHRoaXMuc3Vic3RyaW5nKTtcblxuICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuKTtcblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2NvbnRhaW5zU3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb250YWluc1wiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQ29udGFpbnMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJzdWJzdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFN1YnN0cmluZyIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsImNvbnRhaW5zU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIlNUUklOR19UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImJvb2xlYW4iLCJjb250YWlucyIsInZhbHVlRnJvbUJvb2xlYW4iLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzsyQkFDVTt1QkFDQTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQ2xFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDRixTQUFTO0lBQ3ZCO0lBRUFHLFNBQVNSLE9BQU8sRUFBRVMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsSUFBSUM7UUFFSixNQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUU3Q2IsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGVBQWUsYUFBYSxDQUFDO1FBRTlERCxRQUFRLElBQUksQ0FBQ1AsUUFBUSxDQUFDSSxRQUFRLENBQUNSO1FBRS9CLE1BQU1lLFlBQVlKLE1BQU1LLE9BQU8sSUFDekJDLHNCQUFzQkYsVUFBVUcsWUFBWTtRQUVsRCxJQUFJLENBQUNELHFCQUFxQjtZQUN4QixNQUFNRSxjQUFjUixNQUFNRSxTQUFTLElBQzdCTyxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUosVUFBVSxrQkFBa0IsRUFBRU0sMkJBQWdCLENBQUMsRUFBRSxDQUFDLEVBQzdGQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE9BQU9YLEtBQUthO1FBQ2Q7UUFFQSxNQUFNckIsU0FBU1UsTUFBTUUsU0FBUyxJQUN4QlksVUFBVXhCLE9BQU95QixRQUFRLENBQUMsSUFBSSxDQUFDckIsU0FBUztRQUU5Q00sUUFBUWdCLElBQUFBLHVCQUFnQixFQUFDRjtRQUV6QixNQUFNTixjQUFjUixNQUFNRSxTQUFTO1FBRW5DYixRQUFRNEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVoQixlQUFlLGVBQWUsRUFBRU8sWUFBWSxFQUFFLENBQUM7UUFFbEYsT0FBT1QsUUFBUUM7SUFDakI7SUFFQSxPQUFPa0IsT0FBTyxXQUFXO0FBQzNCIn0=
|
package/lib/element/endsWith.js
CHANGED
|
@@ -30,7 +30,7 @@ const _default = (0, _elements.define)(class EndsWith extends _occamlanguages.El
|
|
|
30
30
|
getSubstring() {
|
|
31
31
|
return this.substring;
|
|
32
32
|
}
|
|
33
|
-
evaluate(context) {
|
|
33
|
+
evaluate(context, back, forward) {
|
|
34
34
|
let value;
|
|
35
35
|
const endsWithString = this.getString(); ///
|
|
36
36
|
context.trace(`Evaluating the '${endsWithString}' function...`);
|
|
@@ -38,15 +38,15 @@ const _default = (0, _elements.define)(class EndsWith extends _occamlanguages.El
|
|
|
38
38
|
const valueType = value.getType(), valueTypeStringType = valueType.isStringType();
|
|
39
39
|
if (!valueTypeStringType) {
|
|
40
40
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
41
|
-
|
|
41
|
+
return back(exception);
|
|
42
42
|
}
|
|
43
43
|
const string = value.getString(), boolean = string.endsWith(this.substring);
|
|
44
44
|
value = (0, _value.valueFromBoolean)(boolean);
|
|
45
45
|
const valueString = value.getString();
|
|
46
46
|
context.debug(`...evaluated the '${endsWithString}' function as '${valueString}'.`);
|
|
47
|
-
return value;
|
|
47
|
+
return forward(value);
|
|
48
48
|
}
|
|
49
49
|
static name = "EndsWith";
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2VuZHNXaXRoLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBTVFJJTkdfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEVuZHNXaXRoIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHN1YnN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5zdWJzdHJpbmcgPSBzdWJzdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN1YnN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdHJpbmc7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgZW5kc1dpdGhTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtlbmRzV2l0aFN0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlU3RyaW5nVHlwZSA9IHZhbHVlVHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBib29sZWFuID0gc3RyaW5nLmVuZHNXaXRoKHRoaXMuc3Vic3RyaW5nKTtcblxuICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuKTtcblxuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2VuZHNXaXRoU3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJFbmRzV2l0aFwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRW5kc1dpdGgiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJzdWJzdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFN1YnN0cmluZyIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsImVuZHNXaXRoU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIlNUUklOR19UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImJvb2xlYW4iLCJlbmRzV2l0aCIsInZhbHVlRnJvbUJvb2xlYW4iLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzsyQkFDVTt1QkFDQTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxDQUFFO1FBQ2xFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtJQUNuQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDRixTQUFTO0lBQ3ZCO0lBRUFHLFNBQVNSLE9BQU8sRUFBRVMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsSUFBSUM7UUFFSixNQUFNQyxpQkFBaUIsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUU3Q2IsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGVBQWUsYUFBYSxDQUFDO1FBRTlERCxRQUFRLElBQUksQ0FBQ1AsUUFBUSxDQUFDSSxRQUFRLENBQUNSO1FBRS9CLE1BQU1lLFlBQVlKLE1BQU1LLE9BQU8sSUFDekJDLHNCQUFzQkYsVUFBVUcsWUFBWTtRQUVsRCxJQUFJLENBQUNELHFCQUFxQjtZQUN4QixNQUFNRSxjQUFjUixNQUFNRSxTQUFTLElBQzdCTyxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLFdBQVcsRUFBRUosVUFBVSxrQkFBa0IsRUFBRU0sMkJBQWdCLENBQUMsRUFBRSxDQUFDLEVBQzdGQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO1lBRXhDLE9BQU9YLEtBQUthO1FBQ2Q7UUFFQSxNQUFNckIsU0FBU1UsTUFBTUUsU0FBUyxJQUN4QlksVUFBVXhCLE9BQU95QixRQUFRLENBQUMsSUFBSSxDQUFDckIsU0FBUztRQUU5Q00sUUFBUWdCLElBQUFBLHVCQUFnQixFQUFDRjtRQUV6QixNQUFNTixjQUFjUixNQUFNRSxTQUFTO1FBRW5DYixRQUFRNEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVoQixlQUFlLGVBQWUsRUFBRU8sWUFBWSxFQUFFLENBQUM7UUFFbEYsT0FBT1QsUUFBUUM7SUFDakI7SUFFQSxPQUFPa0IsT0FBTyxXQUFXO0FBQzNCIn0=
|
package/lib/element/every.js
CHANGED
|
@@ -79,7 +79,7 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
79
79
|
const value = this.variable.evaluate(context), valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
80
80
|
if (valueTypeListType) {
|
|
81
81
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
82
|
-
|
|
82
|
+
return back(exception);
|
|
83
83
|
}
|
|
84
84
|
const nodes = value.getNodes();
|
|
85
85
|
return every(nodes, (node, back, forward)=>{
|
|
@@ -88,12 +88,12 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
88
88
|
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
89
89
|
if (!valueTypeBooleanType) {
|
|
90
90
|
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
91
|
-
|
|
91
|
+
return back(exception);
|
|
92
92
|
}
|
|
93
93
|
const boolean = value.getBoolean();
|
|
94
94
|
return forward(boolean);
|
|
95
95
|
});
|
|
96
|
-
}, (boolean)=>{
|
|
96
|
+
}, back, (boolean)=>{
|
|
97
97
|
const value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
98
98
|
context.trace(`...evaluated the '${everyString}' every as '${valueString}'.`);
|
|
99
99
|
return forward(value);
|
|
@@ -102,4 +102,4 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
102
102
|
static name = "Every";
|
|
103
103
|
});
|
|
104
104
|
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbU5vZGUsIHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXZlcnkgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QW5vbnltb3VzUHJvY2VkdXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGV2YWx1YXRlID0gYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgZXZlcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBldmVyeS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gdmFsdWUuZ2V0Tm9kZXMoKTtcblxuICAgIHJldHVybiBldmVyeShub2RlcywgKG5vZGUsIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICAgIGNvbnN0IHsgVmFsdWVzIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZShub2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHZhbHVlcyA9IFZhbHVlcy5mcm9tVmFsdWUodmFsdWUsIGNvbnRleHQpO1xuXG4gICAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKHZhbHVlcywgY29udGV4dCwgKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBib29sZWFuID0gdmFsdWUuZ2V0Qm9vbGVhbigpO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKGJvb2xlYW4pO1xuICAgICAgfSk7XG4gICAgfSwgYmFjaywgKGJvb2xlYW4pID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYC4uLmV2YWx1YXRlZCB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBldmVyeSBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJFdmVyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZXZlcnkiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiRXZlcnkiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRWYXJpYWJsZSIsImdldEFub255bW91c1Byb2NlZHVyZSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJldmVyeVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTElTVF9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlRnJvbU5vZGUiLCJ2YWx1ZXMiLCJmcm9tVmFsdWUiLCJjYWxsIiwidmFsdWVUeXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFjQTs7O2VBQUE7OztnQ0Fab0U7a0VBRS9DO2tFQUNDO3VCQUcwQjsyQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEQsTUFBTSxFQUFFQSxLQUFLLEVBQUUsR0FBR0MscUNBQXFCLEVBQ2pDLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsa0JBQWtCLENBQUU7UUFDM0UsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNGLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNHLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7SUFDNUI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLHdCQUF3QjtRQUN0QixPQUFPLElBQUksQ0FBQ0Ysa0JBQWtCO0lBQ2hDO0lBRUFHLFdBQVdiLFVBQVUsU0FBVUssT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU87UUFDbkQsTUFBTUMsY0FBYyxJQUFJLENBQUNDLFNBQVM7UUFFbENaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRixZQUFZLFVBQVUsQ0FBQztRQUV4RCxNQUFNRyxRQUFRLElBQUksQ0FBQ1YsUUFBUSxDQUFDSSxRQUFRLENBQUNSLFVBQy9CZSxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCQyxvQkFBb0JGLFVBQVVHLFVBQVU7UUFFOUMsSUFBSUQsbUJBQW1CO1lBQ3JCLE1BQU1FLGNBQWNMLE1BQU1GLFNBQVMsSUFDN0JRLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksV0FBVyxFQUFFSixVQUFVLGtCQUFrQixFQUFFTSx5QkFBYyxDQUFDLEVBQUUsQ0FBQyxFQUMzRkMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtZQUV4QyxPQUFPWCxLQUFLYTtRQUNkO1FBRUEsTUFBTUcsUUFBUVgsTUFBTVksUUFBUTtRQUU1QixPQUFPakMsTUFBTWdDLE9BQU8sQ0FBQ3ZCLE1BQU1PLE1BQU1DO1lBQy9CLE1BQU0sRUFBRWlCLE1BQU0sRUFBRSxHQUFHQyxpQkFBUSxFQUNyQmQsUUFBUWUsSUFBQUEsb0JBQWEsRUFBQzNCLE1BQU1GLFVBQzVCOEIsU0FBU0gsT0FBT0ksU0FBUyxDQUFDakIsT0FBT2Q7WUFFdkMsSUFBSSxDQUFDSyxrQkFBa0IsQ0FBQzJCLElBQUksQ0FBQ0YsUUFBUTlCLFNBQVMsQ0FBQ2M7Z0JBQzdDLE1BQU1DLFlBQVlELE1BQU1FLE9BQU8sSUFDekJpQix1QkFBdUJsQixVQUFVbUIsYUFBYTtnQkFFcEQsSUFBSSxDQUFDRCxzQkFBc0I7b0JBQ3pCLE1BQU1kLGNBQWNMLE1BQU1GLFNBQVMsSUFDN0JRLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksbUJBQW1CLEVBQUVKLFVBQVUsNkJBQTZCLEVBQUVvQiw0QkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFDakhiLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0o7b0JBRXhDLE9BQU9YLEtBQUthO2dCQUNkO2dCQUVBLE1BQU1jLFVBQVV0QixNQUFNdUIsVUFBVTtnQkFFaEMsT0FBTzNCLFFBQVEwQjtZQUNqQjtRQUNGLEdBQUczQixNQUFNLENBQUMyQjtZQUNSLE1BQU10QixRQUFRd0IsSUFBQUEsdUJBQWdCLEVBQUNGLFNBQVNwQyxVQUNsQ21CLGNBQWNMLE1BQU1GLFNBQVM7WUFFbkNaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFRixZQUFZLFlBQVksRUFBRVEsWUFBWSxFQUFFLENBQUM7WUFFNUUsT0FBT1QsUUFBUUk7UUFDakI7SUFDRixHQUFHO0lBRUgsT0FBT3lCLE9BQU8sUUFBUTtBQUN4QiJ9
|
|
@@ -112,52 +112,42 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
112
112
|
return type;
|
|
113
113
|
}
|
|
114
114
|
evaluate(context, back, forward) {
|
|
115
|
-
let value = null;
|
|
116
115
|
if (false) {
|
|
117
116
|
///
|
|
118
117
|
} else if (this.term !== null) {
|
|
119
|
-
|
|
118
|
+
return this.term.evaluate(context, back, forward);
|
|
120
119
|
} else if (this.nodeQuery !== null) {
|
|
121
|
-
|
|
120
|
+
return this.nodeQuery.evaluate(context, back, forward);
|
|
122
121
|
} else if (this.nodesQuery !== null) {
|
|
123
|
-
|
|
122
|
+
return this.nodesQuery.evaluate(context, back, forward);
|
|
124
123
|
} else if (this.lengthOf !== null) {
|
|
125
|
-
|
|
124
|
+
return this.lengthOf.evaluate(context, back, forward);
|
|
126
125
|
} else if (this.toInteger !== null) {
|
|
127
|
-
|
|
126
|
+
return this.toInteger.evaluate(context, back, forward);
|
|
128
127
|
} else if (this.tryInteger !== null) {
|
|
129
|
-
|
|
128
|
+
return this.tryInteger.evaluate(context, back, forward);
|
|
130
129
|
} else if (this.contains !== null) {
|
|
131
|
-
|
|
130
|
+
return this.contains.evaluate(context, back, forward);
|
|
132
131
|
} else if (this.endsWith !== null) {
|
|
133
|
-
|
|
132
|
+
return this.endsWith.evaluate(context, back, forward);
|
|
134
133
|
} else if (this.startsWith !== null) {
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
if (value !== null) {
|
|
138
|
-
return forward(value);
|
|
139
|
-
}
|
|
140
|
-
if (this.some !== null) {
|
|
134
|
+
return this.startsWith.evaluate(context, back, forward);
|
|
135
|
+
} else if (this.some !== null) {
|
|
141
136
|
return this.some.evaluate(context, back, forward);
|
|
142
|
-
}
|
|
143
|
-
if (this.every !== null) {
|
|
137
|
+
} else if (this.every !== null) {
|
|
144
138
|
return this.every.evaluate(context, back, forward);
|
|
145
|
-
}
|
|
146
|
-
if (this.reduce !== null) {
|
|
139
|
+
} else if (this.reduce !== null) {
|
|
147
140
|
return this.reduce.evaluate(context, back, forward);
|
|
148
|
-
}
|
|
149
|
-
if (this.ternary !== null) {
|
|
141
|
+
} else if (this.ternary !== null) {
|
|
150
142
|
return this.ternary.evaluate(context, back, forward);
|
|
151
|
-
}
|
|
152
|
-
|
|
143
|
+
} else if (this.procedureCall !== null) {
|
|
144
|
+
return this.procedureCall.evaluate(context, back, forward);
|
|
145
|
+
} else if (this.returnBlock !== null) {
|
|
153
146
|
const variables = [];
|
|
154
147
|
return this.returnBlock.evaluate(variables, context, back, forward);
|
|
155
148
|
}
|
|
156
|
-
if (this.procedureCall !== null) {
|
|
157
|
-
return this.procedureCall.evaluate(context, back, forward);
|
|
158
|
-
}
|
|
159
149
|
}
|
|
160
150
|
static name = "Expression";
|
|
161
151
|
});
|
|
162
152
|
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgbGV0IHZhbHVlID0gbnVsbDtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2RlUXVlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5ub2Rlc1F1ZXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmxlbmd0aE9mLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50b0ludGVnZXIuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy50cnlJbnRlZ2VyLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmNvbnRhaW5zLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmVuZHNXaXRoLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuc3RhcnRzV2l0aC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zb21lLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV2ZXJ5ICE9PSBudWxsKSB7XG4gICAgICAgcmV0dXJuIHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGVybmFyeSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVybmFyeS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5yZXR1cm5CbG9jayAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVzID0gW107XG5cbiAgICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvY2VkdXJlQ2FsbC5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIsInR5cGUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFsdWUiLCJ2YXJpYWJsZXMiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQUE7OztnQ0FKd0I7MEJBRUQ7TUFFdkIsV0FBZUEsSUFBQUEs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
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZVF1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnkuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnkuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aE9mICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5sZW5ndGhPZi5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9JbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0ludGVnZXIuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyeUludGVnZXIuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5zICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWlucy5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW5kc1dpdGggIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuZHNXaXRoLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zb21lLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICByZXR1cm4gdGhpcy5ldmVyeS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGwuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIsInR5cGUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFyaWFibGVzIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZC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
|
package/lib/element/lengthOf.js
CHANGED
|
@@ -26,7 +26,7 @@ const _default = (0, _elements.define)(class LengthOf extends _occamlanguages.El
|
|
|
26
26
|
getVariable() {
|
|
27
27
|
return this.variable;
|
|
28
28
|
}
|
|
29
|
-
evaluate(context) {
|
|
29
|
+
evaluate(context, back, forward) {
|
|
30
30
|
let value;
|
|
31
31
|
const lengthOfString = this.getString(); ///
|
|
32
32
|
context.trace(`Evaluating the '${lengthOfString}' function...`);
|
|
@@ -34,15 +34,15 @@ const _default = (0, _elements.define)(class LengthOf extends _occamlanguages.El
|
|
|
34
34
|
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
35
35
|
if (!valueTypeListType) {
|
|
36
36
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
37
|
-
|
|
37
|
+
return back(exception);
|
|
38
38
|
}
|
|
39
39
|
const primitiveValue = value.getPrimitiveValue(), length = primitiveValue.length, integer = length; ///
|
|
40
40
|
value = (0, _value.valueFromInteger)(integer, context);
|
|
41
41
|
const valueString = value.getString();
|
|
42
42
|
context.debug(`...evaluated the '${lengthOfString}' function as '${valueString}'.`);
|
|
43
|
-
return value;
|
|
43
|
+
return forward(value);
|
|
44
44
|
}
|
|
45
45
|
static name = "LengthOf";
|
|
46
46
|
});
|
|
47
47
|
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2xlbmd0aE9mLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUludGVnZXIgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBMZW5ndGhPZiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGxlbmd0aE9mU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bGVuZ3RoT2ZTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHZhbHVlVHlwZUxpc3RUeXBlID0gdmFsdWVUeXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBsZW5ndGggPSBwcmltaXRpdmVWYWx1ZS5sZW5ndGgsXG4gICAgICAgICAgaW50ZWdlciA9IGxlbmd0aDsgLy8vXG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUludGVnZXIoaW50ZWdlciwgY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtsZW5ndGhPZlN0cmluZ30nIGZ1bmN0aW9uIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTGVuZ3RoT2ZcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkxlbmd0aE9mIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiZ2V0VmFyaWFibGUiLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwidmFsdWUiLCJsZW5ndGhPZlN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibGVuZ3RoIiwiaW50ZWdlciIsInZhbHVlRnJvbUludGVnZXIiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVJ3QjtrRUFFRjswQkFFQzsyQkFDUTt1QkFDRTs7Ozs7O01BRWpDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsQ0FBRTtRQUN2RCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtJQUNsQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNELFFBQVE7SUFDdEI7SUFFQUUsU0FBU04sT0FBTyxFQUFFTyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixJQUFJQztRQUVKLE1BQU1DLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTdDWCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsZUFBZSxhQUFhLENBQUM7UUFFOURELFFBQVEsSUFBSSxDQUFDTCxRQUFRLENBQUNFLFFBQVEsQ0FBQ047UUFFL0IsTUFBTWEsWUFBWUosTUFBTUssT0FBTyxJQUN6QkMsb0JBQW9CRixVQUFVRyxVQUFVO1FBRTlDLElBQUksQ0FBQ0QsbUJBQW1CO1lBQ3RCLE1BQU1FLGNBQWNSLE1BQU1FLFNBQVMsSUFDN0JPLFVBQVUsQ0FBQyxLQUFLLEVBQUVELFlBQVksV0FBVyxFQUFFSixVQUFVLGtCQUFrQixFQUFFTSx5QkFBYyxDQUFDLEVBQUUsQ0FBQyxFQUMzRkMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtZQUV4QyxPQUFPWCxLQUFLYTtRQUNkO1FBRUEsTUFBTUcsaUJBQWlCZCxNQUFNZSxpQkFBaUIsSUFDeENDLFNBQVNGLGVBQWVFLE1BQU0sRUFDOUJDLFVBQVVELFFBQVEsR0FBRztRQUUzQmhCLFFBQVFrQixJQUFBQSx1QkFBZ0IsRUFBQ0QsU0FBUzFCO1FBRWxDLE1BQU1pQixjQUFjUixNQUFNRSxTQUFTO1FBRW5DWCxRQUFRNEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVsQixlQUFlLGVBQWUsRUFBRU8sWUFBWSxFQUFFLENBQUM7UUFFbEYsT0FBT1QsUUFBUUM7SUFDakI7SUFFQSxPQUFPb0IsT0FBTyxXQUFXO0FBQzNCIn0=
|
package/lib/element/nodeQuery.js
CHANGED
|
@@ -33,26 +33,26 @@ const _default = (0, _elements.define)(class NodeQuery extends _occamlanguages.E
|
|
|
33
33
|
getQuery() {
|
|
34
34
|
return this.query;
|
|
35
35
|
}
|
|
36
|
-
evaluate(context) {
|
|
36
|
+
evaluate(context, back, forward) {
|
|
37
37
|
let value;
|
|
38
38
|
const nodeQueryString = this.getString(); ///
|
|
39
39
|
context.trace(`Evaluating the '${nodeQueryString}' function...`);
|
|
40
40
|
if (this.query === null) {
|
|
41
41
|
const message = `Cannot evaluate the '${nodeQueryString}' function because its expression is malformed.`, exception = _exception.default.fromMessage(message);
|
|
42
|
-
|
|
42
|
+
return back(exception);
|
|
43
43
|
}
|
|
44
44
|
value = this.variable.evaluate(context);
|
|
45
45
|
const valueType = value.getType(), valueTypeNominalValueType = valueType.isNominalValueType();
|
|
46
46
|
if (!valueTypeNominalValueType) {
|
|
47
47
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.NOMINAL_VALUE_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
48
|
-
|
|
48
|
+
return back(exception);
|
|
49
49
|
}
|
|
50
50
|
let node;
|
|
51
51
|
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue; ///
|
|
52
52
|
node = nominalValue.getNode();
|
|
53
53
|
if (node === null) {
|
|
54
54
|
const valueString = value.getString(), message = `The '${valueString}' value's node is null.`, exception = _exception.default.fromMessage(message);
|
|
55
|
-
|
|
55
|
+
return back(exception);
|
|
56
56
|
}
|
|
57
57
|
const nodes = this.query.execute(node), nodesLength = nodes.length;
|
|
58
58
|
if (false) {
|
|
@@ -66,13 +66,13 @@ const _default = (0, _elements.define)(class NodeQuery extends _occamlanguages.E
|
|
|
66
66
|
value = (0, _value.valueFromNodeAndNominalValue)(node, nominalValue);
|
|
67
67
|
} else {
|
|
68
68
|
const message = `The length of the returned nodes is ${nodesLength} when it should be 0 or 1.`, exception = _exception.default.fromMessage(message);
|
|
69
|
-
|
|
69
|
+
return back(exception);
|
|
70
70
|
}
|
|
71
71
|
const valueString = value.getString();
|
|
72
72
|
context.debug(`...evaluated the '${nodeQueryString}' function as '${valueString}'.`);
|
|
73
|
-
return value;
|
|
73
|
+
return forward(value);
|
|
74
74
|
}
|
|
75
75
|
static name = "NodeQuery";
|
|
76
76
|
});
|
|
77
77
|
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L25vZGVRdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcbmltcG9ydCBOb21pbmFsVmFsdWUgZnJvbSBcIi4uL25vbWluYWxWYWx1ZVwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tTm9taW5hbFZhbHVlLCB2YWx1ZUZyb21Ob2RlQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy92YWx1ZVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE5vZGVRdWVyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBxdWVyeSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBub2RlUXVlcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgaWYgKHRoaXMucXVlcnkgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ2Fubm90IGV2YWx1YXRlIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBmdW5jdGlvbiBiZWNhdXNlIGl0cyBleHByZXNzaW9uIGlzIG1hbGZvcm1lZC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlID0gdmFsdWVUeXBlLmlzTm9taW5hbFZhbHVlVHlwZSgpO1xuXG4gICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PTUlOQUxfVkFMVUVfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBsZXQgbm9kZTtcblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZTsgIC8vL1xuXG4gICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCk7XG5cbiAgICBpZiAobm9kZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyBub2RlIGlzIG51bGwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IHRoaXMucXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmIChub2Rlc0xlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3Qgbm9taW5hbFZhbHVlID0gTm9taW5hbFZhbHVlLmZyb21Ob3RoaW5nKCk7XG5cbiAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9taW5hbFZhbHVlKG5vbWluYWxWYWx1ZSk7XG4gICAgfSBlbHNlIGlmIChub2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gZmlyc3Qobm9kZXMpO1xuXG4gICAgICBub2RlID0gZmlyc3ROb2RlIC8vL1xuXG4gICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vZGVBbmROb21pbmFsVmFsdWUobm9kZSwgbm9taW5hbFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgbGVuZ3RoIG9mIHRoZSByZXR1cm5lZCBub2RlcyBpcyAke25vZGVzTGVuZ3RofSB3aGVuIGl0IHNob3VsZCBiZSAwIG9yIDEuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5vZGVRdWVyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImRlZmluZSIsIk5vZGVRdWVyeSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsInF1ZXJ5IiwiZ2V0VmFyaWFibGUiLCJnZXRRdWVyeSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YWx1ZSIsIm5vZGVRdWVyeVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUiLCJpc05vbWluYWxWYWx1ZVR5cGUiLCJ2YWx1ZVN0cmluZyIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZSIsImdldE5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsIk5vbWluYWxWYWx1ZSIsImZyb21Ob3RoaW5nIiwidmFsdWVGcm9tTm9taW5hbFZhbHVlIiwiZmlyc3ROb2RlIiwidmFsdWVGcm9tTm9kZUFuZE5vbWluYWxWYWx1ZSIsImRlYnVnIiwibmFtZSJdLCJt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
|