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
package/lib/element/values.js
CHANGED
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
13
|
const _string = require("../utilities/string");
|
|
14
|
+
const { map, forEach } = _occamlanguages.continuationUtilities;
|
|
14
15
|
const _default = (0, _elements.define)(class Values extends _occamlanguages.Element {
|
|
15
16
|
constructor(context, string, node, breakPoint, array){
|
|
16
17
|
super(context, string, node, breakPoint);
|
|
@@ -30,20 +31,21 @@ const _default = (0, _elements.define)(class Values extends _occamlanguages.Elem
|
|
|
30
31
|
addValue(value) {
|
|
31
32
|
this.array.push(value);
|
|
32
33
|
}
|
|
33
|
-
mapValue(callback) {
|
|
34
|
-
return this.array
|
|
34
|
+
mapValue(callback, back, forward) {
|
|
35
|
+
return map(this.array, callback, back, forward);
|
|
35
36
|
}
|
|
36
37
|
forEachValue(callback) {
|
|
37
38
|
this.array.forEach(callback);
|
|
38
39
|
}
|
|
39
|
-
evaluate(context) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
evaluate(context, back, forward) {
|
|
41
|
+
return this.mapValue((value, back, forward)=>{
|
|
42
|
+
return value.evaluate(context, back, forward);
|
|
43
|
+
}, back, (valuesArray)=>{
|
|
44
|
+
const valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray, context), string = valuesString, array = valuesArray, node = null, breakPoint = null;
|
|
45
|
+
context = null;
|
|
46
|
+
const values = new Values(context, string, node, breakPoint, array);
|
|
47
|
+
return forward(values);
|
|
48
|
+
});
|
|
47
49
|
}
|
|
48
50
|
static name = "Values";
|
|
49
51
|
static fromValue(value, context) {
|
|
@@ -56,4 +58,4 @@ const _default = (0, _elements.define)(class Values extends _occamlanguages.Elem
|
|
|
56
58
|
}
|
|
57
59
|
});
|
|
58
60
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgbWFwLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBWYWx1ZXMgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheTtcbiAgfVxuXG4gIGdldExlbmd0aCgpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmFycmF5Lmxlbmd0aDtcblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBnZXRWYWx1ZShpbmRleCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDsgIC8vL1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYWRkVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLmFycmF5LnB1c2godmFsdWUpO1xuICB9XG5cbiAgbWFwVmFsdWUoY2FsbGJhY2ssIGJhY2ssIGZvcndhcmQpIHtcbiAgICByZXR1cm4gbWFwKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGZvckVhY2hWYWx1ZShjYWxsYmFjaykge1xuICAgIHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwVmFsdWUoKHZhbHVlLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgYmFjaywgKHZhbHVlc0FycmF5KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkodmFsdWVzQXJyYXksIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICAgIGFycmF5ID0gdmFsdWVzQXJyYXksIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBWYWx1ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlcyk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFsdWVzXCI7XG5cbiAgc3RhdGljIGZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gW1xuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVzID0gbmV3IFZhbHVlcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbIm1hcCIsImZvckVhY2giLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJkZWZpbmUiLCJWYWx1ZXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldFZhbHVlIiwiaW5kZXgiLCJ2YWx1ZSIsImFkZFZhbHVlIiwicHVzaCIsIm1hcFZhbHVlIiwiY2FsbGJhY2siLCJiYWNrIiwiZm9yd2FyZCIsImZvckVhY2hWYWx1ZSIsImV2YWx1YXRlIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZXNTdHJpbmciLCJ2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkiLCJ2YWx1ZXMiLCJuYW1lIiwiZnJvbVZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQK0M7MEJBRXhCO3dCQUNxQjtBQUU1QyxNQUFNLEVBQUVBLEdBQUcsRUFBRUMsT0FBTyxFQUFFLEdBQUdDLHFDQUFxQjtNQUU5QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGVBQWVDLHVCQUFPO0lBQ2hELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0osU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRCxLQUFLO0lBQ25CO0lBRUFFLFlBQVk7UUFDVixNQUFNQyxTQUFTLElBQUksQ0FBQ0gsS0FBSyxDQUFDRyxNQUFNO1FBRWhDLE9BQU9BO0lBQ1Q7SUFFQUMsU0FBU0MsS0FBSyxFQUFFO1FBQ2QsTUFBTUMsUUFBUSxJQUFJLENBQUNOLEtBQUssQ0FBQ0ssTUFBTSxJQUFJLE1BQU8sR0FBRztRQUU3QyxPQUFPQztJQUNUO0lBRUFDLFNBQVNELEtBQUssRUFBRTtRQUNkLElBQUksQ0FBQ04sS0FBSyxDQUFDUSxJQUFJLENBQUNGO0lBQ2xCO0lBRUFHLFNBQVNDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDaEMsT0FBT3RCLElBQUksSUFBSSxDQUFDVSxLQUFLLEVBQUVVLFVBQVVDLE1BQU1DO0lBQ3pDO0lBRUFDLGFBQWFILFFBQVEsRUFBRTtRQUNyQixJQUFJLENBQUNWLEtBQUssQ0FBQ1QsT0FBTyxDQUFDbUI7SUFDckI7SUFFQUksU0FBU2xCLE9BQU8sRUFBRWUsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUNILFFBQVEsQ0FBQyxDQUFDSCxPQUFPSyxNQUFNQztZQUNqQyxPQUFPTixNQUFNUSxRQUFRLENBQUNsQixTQUFTZSxNQUFNQztRQUN2QyxHQUFHRCxNQUFNLENBQUNJO1lBQ1IsTUFBTUMsZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNGLGFBQWFuQixVQUN4REMsU0FBU21CLGNBQ1RoQixRQUFRZSxhQUNSakIsT0FBTyxNQUNQQyxhQUFhO1lBRW5CSCxVQUFVO1lBRVYsTUFBTXNCLFNBQVMsSUFBSXhCLE9BQU9FLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDO1lBRTdELE9BQU9ZLFFBQVFNO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPQyxPQUFPLFNBQVM7SUFFdkIsT0FBT0MsVUFBVWQsS0FBSyxFQUFFVixPQUFPLEVBQUU7UUFDL0IsTUFBTW1CLGNBQWM7WUFDWlQ7U0FDRCxFQUNEVSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsYUFBYW5CLFVBQ3hEQyxTQUFTbUIsY0FDVGhCLFFBQVFlLGFBQ1JqQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNc0IsU0FBUyxJQUFJeEIsT0FBT0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFN0QsT0FBT2tCO0lBQ1Q7QUFDRiJ9
|
package/lib/element/variable.js
CHANGED
|
@@ -37,17 +37,17 @@ const _default = (0, _elements.define)(class Variable extends _occamlanguages.El
|
|
|
37
37
|
const comparesToVariableName = this.name === variableName;
|
|
38
38
|
return comparesToVariableName;
|
|
39
39
|
}
|
|
40
|
-
evaluate(context) {
|
|
40
|
+
evaluate(context, back, forward) {
|
|
41
41
|
const variableString = this.getString(); ///
|
|
42
42
|
context.trace(`Evaluating the '${variableString}' variable...`);
|
|
43
43
|
const nested = true, variableName = this.name, variablePresent = context.isVariablePresentByVariableName(variableName, nested);
|
|
44
44
|
if (!variablePresent) {
|
|
45
45
|
const message = `The '${variableString}' variable is not present.'`, exception = _exception.default.fromMessage(message);
|
|
46
|
-
|
|
46
|
+
return back(exception);
|
|
47
47
|
}
|
|
48
48
|
const variable = context.findVariableByVariableName(variableName), value = variable.getValue(), valueString = value.getString();
|
|
49
49
|
context.debug(`...evaluated the '${variableString}' variable as the '${valueString}' value.`);
|
|
50
|
-
return value;
|
|
50
|
+
return forward(value);
|
|
51
51
|
}
|
|
52
52
|
assign(value, context, back, forward) {
|
|
53
53
|
const nested = false, valueString = value.getString(), variableName = this.name, variableString = this.getString(), variablePresent = context.isVariablePresentByVariableName(variableName, nested);
|
|
@@ -89,4 +89,4 @@ const _default = (0, _elements.define)(class Variable extends _occamlanguages.El
|
|
|
89
89
|
}
|
|
90
90
|
});
|
|
91
91
|
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhcmlhYmxlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgY29tcGFyZVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlc1RvVmFyaWFibGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdmFyaWFibGVOYW1lKTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvVmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgdmFsdWUgPSB2YXJpYWJsZS5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgYXMgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUuYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBhc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBuZXN0ZWQgPSBmYWxzZSxcbiAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lLCBuZXN0ZWQpO1xuXG4gICAgY29udGV4dC50cmFjZShgQXNzaWduaW5nIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIGFscmVhZHkgcHJlc2VudC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgIGlmICghdHlwZUVxdWFsVG9WYWx1ZVR5cGUpIHtcbiAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmcgPSB2YWx1ZVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30gdmFyaWFibGUncyAnJHt0eXBlU3RyaW5nfScgdHlwZSBkb2VzIG5vdCBjb21wYXJlIHRvIHRoZSB2YWx1ZSdzICcke3ZhbHVlVHlwZVN0cmluZ30nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSB0aGlzOyAgLy8vXG5cbiAgICByZXR1cm4gY29udGV4dC5hZGRWYXJpYWJsZSh2YXJpYWJsZSwgYmFjaywgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uYXNzaWduZWQgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUgdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuYCk7XG5cbiAgICAgIGZvcndhcmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZVwiO1xuXG4gIHN0YXRpYyBmcm9tQmluZGluZyhiaW5kaW5nLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IGJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBiaW5kaW5nLmdldE5hbWUoKSxcbiAgICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGxcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQpIHtcbiAgICBjb25zdCBhbGlhc2VkTmFtZSA9IG5hbWVkQmluZGluZy5nZXRBbGlhc2VkTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBhbGlhc2VkTmFtZSwgLy8vXG4gICAgICAgICAgdGVybSA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdGVybSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhbHVlQW5kUGFyYW1ldGVyKHZhbHVlLCBwYXJhbWV0ZXIsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlU3RyaW5nRnJvbU5hbWUobmFtZSksXG4gICAgICAgICAgc3RyaW5nID0gdmFyaWFibGVTdHJpbmcsICAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlZhcmlhYmxlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJuYW1lIiwidmFsdWUiLCJnZXRUeXBlIiwiZ2V0TmFtZSIsImdldFZhbHVlIiwiY29tcGFyZVZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsImNvbXBhcmVzVG9WYXJpYWJsZU5hbWUiLCJldmFsdWF0ZSIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJhc3NpZ24iLCJiYWNrIiwiZm9yd2FyZCIsInZhbHVlVHlwZSIsInR5cGVFcXVhbFRvVmFsdWVUeXBlIiwiaXNFcXVhbFRvIiwidHlwZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsImFkZFZhcmlhYmxlIiwiZnJvbUJpbmRpbmciLCJiaW5kaW5nIiwidmFyaWFibGVTdHJpbmdGcm9tTmFtZSIsImZyb21OYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJhbGlhc2VkTmFtZSIsImdldEFsaWFzZWROYW1lIiwidGVybSIsImZyb21WYWx1ZUFuZFBhcmFtZXRlciIsInBhcmFtZXRlciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7Z0NBUHdCO2tFQUVGOzBCQUVDO3dCQUNnQjs7Ozs7O01BRXZDLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsaUJBQWlCQyx1QkFBTztJQUNsRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLENBQUU7UUFDaEUsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDZjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0gsS0FBSztJQUNuQjtJQUVBSSxvQkFBb0JDLFlBQVksRUFBRTtRQUNoQyxNQUFNQyx5QkFBMEIsSUFBSSxDQUFDUCxJQUFJLEtBQUtNO1FBRTlDLE9BQU9DO0lBQ1Q7SUFFQUMsU0FBU2IsT0FBTyxFQUFFO1FBQ2hCLE1BQU1jLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRTVDZixRQUFRZ0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGVBQWUsYUFBYSxDQUFDO1FBRTlELE1BQU1HLFNBQVMsTUFDVE4sZUFBZSxJQUFJLENBQUNOLElBQUksRUFDeEJhLGtCQUFrQmxCLFFBQVFtQiwrQkFBK0IsQ0FBQ1IsY0FBY007UUFFOUUsSUFBSSxDQUFDQyxpQkFBaUI7WUFDcEIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSwyQkFBMkIsQ0FBQyxFQUM3RE8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxNQUFNQztRQUNSO1FBRUEsTUFBTUcsV0FBV3hCLFFBQVF5QiwwQkFBMEIsQ0FBQ2QsZUFDOUNMLFFBQVFrQixTQUFTZixRQUFRLElBQ3pCaUIsY0FBY3BCLE1BQU1TLFNBQVM7UUFFbkNmLFFBQVEyQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWIsZUFBZSxtQkFBbUIsRUFBRVksWUFBWSxRQUFRLENBQUM7UUFFNUYsT0FBT3BCO0lBQ1Q7SUFFQXNCLE9BQU90QixLQUFLLEVBQUVOLE9BQU8sRUFBRTZCLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQ3BDLE1BQU1iLFNBQVMsT0FDVFMsY0FBY3BCLE1BQU1TLFNBQVMsSUFDN0JKLGVBQWUsSUFBSSxDQUFDTixJQUFJLEVBQ3hCUyxpQkFBaUIsSUFBSSxDQUFDQyxTQUFTLElBQy9CRyxrQkFBa0JsQixRQUFRbUIsK0JBQStCLENBQUNSLGNBQWNNO1FBRTlFakIsUUFBUWdCLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRVUsWUFBWSxnQkFBZ0IsRUFBRVosZUFBZSxhQUFhLENBQUM7UUFFM0YsSUFBSUksaUJBQWlCO1lBQ25CLE1BQU1FLFVBQVUsQ0FBQyxLQUFLLEVBQUVOLGVBQWUsOEJBQThCLENBQUMsRUFDaEVPLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsT0FBT1MsS0FBS1I7UUFDZDtRQUVBLE1BQU1VLFlBQVl6QixNQUFNQyxPQUFPLElBQ3pCeUIsdUJBQXVCLElBQUksQ0FBQzVCLElBQUksQ0FBQzZCLFNBQVMsQ0FBQ0Y7UUFFakQsSUFBSSxDQUFDQyxzQkFBc0I7WUFDekIsTUFBTUUsYUFBYSxJQUFJLENBQUM5QixJQUFJLENBQUNXLFNBQVMsSUFDaENvQixrQkFBa0JKLFVBQVVoQixTQUFTLElBQ3JDSyxVQUFVLENBQUMsS0FBSyxFQUFFTixlQUFlLGFBQWEsRUFBRW9CLFdBQVcsd0NBQXdDLEVBQUVDLGdCQUFnQixRQUFRLENBQUMsRUFDOUhkLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7WUFFeEMsT0FBT1MsS0FBS1I7UUFDZDtRQUVBLElBQUksQ0FBQ2YsS0FBSyxHQUFHQTtRQUViLE1BQU1rQixXQUFXLElBQUksRUFBRyxHQUFHO1FBRTNCLE9BQU94QixRQUFRb0MsV0FBVyxDQUFDWixVQUFVSyxNQUFNO1lBQ3pDN0IsUUFBUTJCLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixFQUFFRCxZQUFZLGdCQUFnQixFQUFFWixlQUFlLFdBQVcsQ0FBQztZQUUzRmdCO1FBQ0Y7SUFDRjtJQUVBLE9BQU96QixPQUFPLFdBQVc7SUFFekIsT0FBT2dDLFlBQVlDLE9BQU8sRUFBRXRDLE9BQU8sRUFBRTtRQUNuQyxNQUFNSSxPQUFPa0MsUUFBUS9CLE9BQU8sSUFDdEJGLE9BQU9pQyxRQUFROUIsT0FBTyxJQUN0QkYsUUFBUSxNQUNSUSxpQkFBaUJ5QixJQUFBQSw4QkFBc0IsRUFBQ2xDLE9BQ3hDSixTQUFTYSxnQkFDVFosT0FBTyxNQUNQQyxhQUFhO1FBRW5CSCxVQUFVO1FBRVYsTUFBTXdCLFdBQVcsSUFBSTFCLFNBQVNFLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDLE1BQU1DLE1BQU1DO1FBRTdFLE9BQU9rQjtJQUNUO0lBRUEsT0FBT2dCLGlCQUFpQkMsWUFBWSxFQUFFekMsT0FBTyxFQUFFO1FBQzdDLE1BQU0wQyxjQUFjRCxhQUFhRSxjQUFjLElBQ3pDdkMsT0FBT3FDLGFBQWFsQyxPQUFPLElBQzNCRixPQUFPcUMsYUFDUEUsT0FBTyxNQUNQOUIsaUJBQWlCeUIsSUFBQUEsOEJBQXNCLEVBQUNsQyxPQUN4Q0osU0FBU2EsZ0JBQ1RaLE9BQU8sTUFDUEMsYUFBYTtRQUVuQkgsVUFBVTtRQUVWLE1BQU13QixXQUFXLElBQUkxQixTQUFTRSxTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQyxNQUFNQyxNQUFNdUM7UUFFN0UsT0FBT3BCO0lBQ1Q7SUFFQSxPQUFPcUIsc0JBQXNCdkMsS0FBSyxFQUFFd0MsU0FBUyxFQUFFOUMsT0FBTyxFQUFFO1FBQ3RELE1BQU1JLE9BQU8wQyxVQUFVdkMsT0FBTyxJQUN4QkYsT0FBT3lDLFVBQVV0QyxPQUFPLElBQ3hCTSxpQkFBaUJ5QixJQUFBQSw4QkFBc0IsRUFBQ2xDLE9BQ3hDSixTQUFTYSxnQkFDVFosT0FBTyxNQUNQQyxhQUFhO1FBRW5CSCxVQUFVO1FBRVYsTUFBTXdCLFdBQVcsSUFBSTFCLFNBQVNFLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDLE1BQU1DLE1BQU1DO1FBRTdFLE9BQU9rQjtJQUNUO0FBQ0YifQ==
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFZhcmlhYmxlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgY29tcGFyZVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpIHtcbiAgICBjb25zdCBjb21wYXJlc1RvVmFyaWFibGVOYW1lID0gKHRoaXMubmFtZSA9PT0gdmFyaWFibGVOYW1lKTtcblxuICAgIHJldHVybiBjb21wYXJlc1RvVmFyaWFibGVOYW1lO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLi4uYCk7XG5cbiAgICBjb25zdCBuZXN0ZWQgPSB0cnVlLFxuICAgICAgICAgIHZhcmlhYmxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSh2YXJpYWJsZU5hbWUpLFxuICAgICAgICAgIHZhbHVlID0gdmFyaWFibGUuZ2V0VmFsdWUoKSxcbiAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlIGFzIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgYXNzaWduKHZhbHVlLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgbmVzdGVkID0gZmFsc2UsXG4gICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICB2YXJpYWJsZU5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVQcmVzZW50ID0gY29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSwgbmVzdGVkKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEFzc2lnbmluZyB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSB0byB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSBpcyBhbHJlYWR5IHByZXNlbnQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICBpZiAoIXR5cGVFcXVhbFRvVmFsdWVUeXBlKSB7XG4gICAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgdmFsdWVUeXBlU3RyaW5nID0gdmFsdWVUeXBlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9IHZhcmlhYmxlJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUgZG9lcyBub3QgY29tcGFyZSB0byB0aGUgdmFsdWUncyAnJHt2YWx1ZVR5cGVTdHJpbmd9JyB0eXBlLidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gdGhpczsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUsIGJhY2ssICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmFzc2lnbmVkIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLmApO1xuXG4gICAgICBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVcIjtcblxuICBzdGF0aWMgZnJvbUJpbmRpbmcoYmluZGluZywgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBiaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gYmluZGluZy5nZXROYW1lKCksXG4gICAgICAgICAgdmFsdWUgPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGVTdHJpbmdGcm9tTmFtZShuYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB2YXJpYWJsZVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsXG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0KSB7XG4gICAgY29uc3QgYWxpYXNlZE5hbWUgPSBuYW1lZEJpbmRpbmcuZ2V0QWxpYXNlZE5hbWUoKSxcbiAgICAgICAgICB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gYWxpYXNlZE5hbWUsIC8vL1xuICAgICAgICAgIHRlcm0gPSBudWxsLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGVTdHJpbmdGcm9tTmFtZShuYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB2YXJpYWJsZVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gICAgY29udGV4dCA9IG51bGw7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIG5hbWUsIHRlcm0pO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYWx1ZUFuZFBhcmFtZXRlcih2YWx1ZSwgcGFyYW1ldGVyLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IHBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCksXG4gICAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpLFxuICAgICAgICAgIHN0cmluZyA9IHZhcmlhYmxlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJWYXJpYWJsZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwibmFtZSIsInZhbHVlIiwiZ2V0VHlwZSIsImdldE5hbWUiLCJnZXRWYWx1ZSIsImNvbXBhcmVWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJjb21wYXJlc1RvVmFyaWFibGVOYW1lIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInZhcmlhYmxlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJuZXN0ZWQiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJhc3NpZ24iLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInR5cGVTdHJpbmciLCJ2YWx1ZVR5cGVTdHJpbmciLCJhZGRWYXJpYWJsZSIsImZyb21CaW5kaW5nIiwiYmluZGluZyIsInZhcmlhYmxlU3RyaW5nRnJvbU5hbWUiLCJmcm9tTmFtZWRCaW5kaW5nIiwibmFtZWRCaW5kaW5nIiwiYWxpYXNlZE5hbWUiLCJnZXRBbGlhc2VkTmFtZSIsInRlcm0iLCJmcm9tVmFsdWVBbmRQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjswQkFFQzt3QkFDZ0I7Ozs7OztNQUV2QyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGlCQUFpQkMsdUJBQU87SUFDbEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxDQUFFO1FBQ2hFLEtBQUssQ0FBQ04sU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNILEtBQUs7SUFDbkI7SUFFQUksb0JBQW9CQyxZQUFZLEVBQUU7UUFDaEMsTUFBTUMseUJBQTBCLElBQUksQ0FBQ1AsSUFBSSxLQUFLTTtRQUU5QyxPQUFPQztJQUNUO0lBRUFDLFNBQVNiLE9BQU8sRUFBRWMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDL0IsTUFBTUMsaUJBQWlCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFNUNqQixRQUFRa0IsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLGVBQWUsYUFBYSxDQUFDO1FBRTlELE1BQU1HLFNBQVMsTUFDVFIsZUFBZSxJQUFJLENBQUNOLElBQUksRUFDeEJlLGtCQUFrQnBCLFFBQVFxQiwrQkFBK0IsQ0FBQ1YsY0FBY1E7UUFFOUUsSUFBSSxDQUFDQyxpQkFBaUI7WUFDcEIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSwyQkFBMkIsQ0FBQyxFQUM3RE8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPUixLQUFLUztRQUNkO1FBRUEsTUFBTUcsV0FBVzFCLFFBQVEyQiwwQkFBMEIsQ0FBQ2hCLGVBQzlDTCxRQUFRb0IsU0FBU2pCLFFBQVEsSUFDekJtQixjQUFjdEIsTUFBTVcsU0FBUztRQUVuQ2pCLFFBQVE2QixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWIsZUFBZSxtQkFBbUIsRUFBRVksWUFBWSxRQUFRLENBQUM7UUFFNUYsT0FBT2IsUUFBUVQ7SUFDakI7SUFFQXdCLE9BQU94QixLQUFLLEVBQUVOLE9BQU8sRUFBRWMsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDcEMsTUFBTUksU0FBUyxPQUNUUyxjQUFjdEIsTUFBTVcsU0FBUyxJQUM3Qk4sZUFBZSxJQUFJLENBQUNOLElBQUksRUFDeEJXLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFDL0JHLGtCQUFrQnBCLFFBQVFxQiwrQkFBK0IsQ0FBQ1YsY0FBY1E7UUFFOUVuQixRQUFRa0IsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFVSxZQUFZLGdCQUFnQixFQUFFWixlQUFlLGFBQWEsQ0FBQztRQUUzRixJQUFJSSxpQkFBaUI7WUFDbkIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSw4QkFBOEIsQ0FBQyxFQUNoRU8sWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPUixLQUFLUztRQUNkO1FBRUEsTUFBTVEsWUFBWXpCLE1BQU1DLE9BQU8sSUFDekJ5Qix1QkFBdUIsSUFBSSxDQUFDNUIsSUFBSSxDQUFDNkIsU0FBUyxDQUFDRjtRQUVqRCxJQUFJLENBQUNDLHNCQUFzQjtZQUN6QixNQUFNRSxhQUFhLElBQUksQ0FBQzlCLElBQUksQ0FBQ2EsU0FBUyxJQUNoQ2tCLGtCQUFrQkosVUFBVWQsU0FBUyxJQUNyQ0ssVUFBVSxDQUFDLEtBQUssRUFBRU4sZUFBZSxhQUFhLEVBQUVrQixXQUFXLHdDQUF3QyxFQUFFQyxnQkFBZ0IsUUFBUSxDQUFDLEVBQzlIWixZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE9BQU9SLEtBQUtTO1FBQ2Q7UUFFQSxJQUFJLENBQUNqQixLQUFLLEdBQUdBO1FBRWIsTUFBTW9CLFdBQVcsSUFBSSxFQUFHLEdBQUc7UUFFM0IsT0FBTzFCLFFBQVFvQyxXQUFXLENBQUNWLFVBQVVaLE1BQU07WUFDekNkLFFBQVE2QixLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRUQsWUFBWSxnQkFBZ0IsRUFBRVosZUFBZSxXQUFXLENBQUM7WUFFM0ZEO1FBQ0Y7SUFDRjtJQUVBLE9BQU9WLE9BQU8sV0FBVztJQUV6QixPQUFPZ0MsWUFBWUMsT0FBTyxFQUFFdEMsT0FBTyxFQUFFO1FBQ25DLE1BQU1JLE9BQU9rQyxRQUFRL0IsT0FBTyxJQUN0QkYsT0FBT2lDLFFBQVE5QixPQUFPLElBQ3RCRixRQUFRLE1BQ1JVLGlCQUFpQnVCLElBQUFBLDhCQUFzQixFQUFDbEMsT0FDeENKLFNBQVNlLGdCQUNUZCxPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNMEIsV0FBVyxJQUFJNUIsU0FBU0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUMsTUFBTUMsTUFBTUM7UUFFN0UsT0FBT29CO0lBQ1Q7SUFFQSxPQUFPYyxpQkFBaUJDLFlBQVksRUFBRXpDLE9BQU8sRUFBRTtRQUM3QyxNQUFNMEMsY0FBY0QsYUFBYUUsY0FBYyxJQUN6Q3ZDLE9BQU9xQyxhQUFhbEMsT0FBTyxJQUMzQkYsT0FBT3FDLGFBQ1BFLE9BQU8sTUFDUDVCLGlCQUFpQnVCLElBQUFBLDhCQUFzQixFQUFDbEMsT0FDeENKLFNBQVNlLGdCQUNUZCxPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNMEIsV0FBVyxJQUFJNUIsU0FBU0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUMsTUFBTUMsTUFBTXVDO1FBRTdFLE9BQU9sQjtJQUNUO0lBRUEsT0FBT21CLHNCQUFzQnZDLEtBQUssRUFBRXdDLFNBQVMsRUFBRTlDLE9BQU8sRUFBRTtRQUN0RCxNQUFNSSxPQUFPMEMsVUFBVXZDLE9BQU8sSUFDeEJGLE9BQU95QyxVQUFVdEMsT0FBTyxJQUN4QlEsaUJBQWlCdUIsSUFBQUEsOEJBQXNCLEVBQUNsQyxPQUN4Q0osU0FBU2UsZ0JBQ1RkLE9BQU8sTUFDUEMsYUFBYTtRQUVuQkgsVUFBVTtRQUVWLE1BQU0wQixXQUFXLElBQUk1QixTQUFTRSxTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQyxNQUFNQyxNQUFNQztRQUU3RSxPQUFPb0I7SUFDVDtBQUNGIn0=
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
11
12
|
const _elements = /*#__PURE__*/ _interop_require_default(require("./elements"));
|
|
12
13
|
const _exception = /*#__PURE__*/ _interop_require_default(require("./exception"));
|
|
13
14
|
const _nominalValueProperty = /*#__PURE__*/ _interop_require_default(require("./nominalValueProperty"));
|
|
@@ -19,6 +20,7 @@ function _interop_require_default(obj) {
|
|
|
19
20
|
default: obj
|
|
20
21
|
};
|
|
21
22
|
}
|
|
23
|
+
const { some } = _occamlanguages.continuationUtilities;
|
|
22
24
|
class NominalValueProperties {
|
|
23
25
|
constructor(string, array){
|
|
24
26
|
this.string = string;
|
|
@@ -30,28 +32,27 @@ class NominalValueProperties {
|
|
|
30
32
|
getArray() {
|
|
31
33
|
return this.array;
|
|
32
34
|
}
|
|
33
|
-
someNominalValueProperty(callback) {
|
|
34
|
-
return this.array
|
|
35
|
+
someNominalValueProperty(callback, back, forward) {
|
|
36
|
+
return some(this.array, callback, back, forward);
|
|
35
37
|
}
|
|
36
|
-
compareNamedBinding(namedBinding, context) {
|
|
38
|
+
compareNamedBinding(namedBinding, context, back, forward) {
|
|
37
39
|
const namedBindingString = namedBinding.getString(), nominalValuePropertiesString = this.string; ///
|
|
38
40
|
context.trace(`Comparing the '${namedBindingString}' named binding with the '${nominalValuePropertiesString}' node properties...`);
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
return this.someNominalValueProperty((nominalValueProperty, back, forward)=>{
|
|
42
|
+
return nominalValueProperty.compareNamedBinding(namedBinding, context, back, forward);
|
|
43
|
+
}, back, (namedBindingsCompare)=>{
|
|
44
|
+
if (!namedBindingsCompare) {
|
|
45
|
+
const message = `The '${namedBindingString}' named binding does not compmare to any of the '${nominalValuePropertiesString}' node properties.`, exception = _exception.default.fromMessage(message);
|
|
46
|
+
return back(exception);
|
|
43
47
|
}
|
|
48
|
+
context.debug(`...compared the '${namedBindingString}' named binding with the '${nominalValuePropertiesString}' node properties.`);
|
|
49
|
+
return forward();
|
|
44
50
|
});
|
|
45
|
-
if (!namedBindingsCompare) {
|
|
46
|
-
const message = `The '${namedBindingString}' named binding does not compmare to any of the '${nominalValuePropertiesString}' node properties.`, exception = _exception.default.fromMessage(message);
|
|
47
|
-
throw exception;
|
|
48
|
-
}
|
|
49
|
-
context.debug(`...compared the '${namedBindingString}' named binding with the '${nominalValuePropertiesString}' node properties.`);
|
|
50
51
|
}
|
|
51
|
-
compareNamedBindings(namedBindings, context) {
|
|
52
|
-
namedBindings.forEachNamedBinding((namedBinding)=>{
|
|
53
|
-
this.compareNamedBinding(namedBinding, context);
|
|
54
|
-
});
|
|
52
|
+
compareNamedBindings(namedBindings, context, back, forward) {
|
|
53
|
+
return namedBindings.forEachNamedBinding((namedBinding, back, forward)=>{
|
|
54
|
+
return this.compareNamedBinding(namedBinding, context, back, forward);
|
|
55
|
+
}, back, forward);
|
|
55
56
|
}
|
|
56
57
|
static fromNothing() {
|
|
57
58
|
const nominalValuePropertiesArray = nominalValuePropertiesArrayFromNothing(), string = (0, _string.nominalValuePropertiesStringFromNominalValuePropertiesArray)(nominalValuePropertiesArray), array = nominalValuePropertiesArray, nominalValueProperties = new NominalValueProperties(string, array);
|
|
@@ -83,4 +84,4 @@ function nominalValuePropertiesArrayFromNothing() {
|
|
|
83
84
|
return nominalValuePropertiesArray;
|
|
84
85
|
}
|
|
85
86
|
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi9leGNlcHRpb25cIjtcbmltcG9ydCBOb21pbmFsVmFsdWVQcm9wZXJ0eSBmcm9tIFwiLi9ub21pbmFsVmFsdWVQcm9wZXJ0eVwiO1xuXG5pbXBvcnQgeyBub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nRnJvbU5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheSB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IExJU1RfVFlQRV9OQU1FLCBTVFJJTkdfVFlQRV9OQU1FLCBCT09MRUFOX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuL3BhcmFtZXRlck5hbWVzXCI7XG5cbmNvbnN0IHsgc29tZSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5jbGFzcyBOb21pbmFsVmFsdWVQcm9wZXJ0aWVzIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBhcnJheSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheTtcbiAgfVxuXG4gIHNvbWVOb21pbmFsVmFsdWVQcm9wZXJ0eShjYWxsYmFjaywgYmFjaywgZm9yd2FyZCkge1xuICAgIHJldHVybiBzb21lKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDb21wYXJpbmcgdGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgd2l0aCB0aGUgJyR7bm9taW5hbFZhbHVlUHJvcGVydGllc1N0cmluZ30nIG5vZGUgcHJvcGVydGllcy4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMuc29tZU5vbWluYWxWYWx1ZVByb3BlcnR5KChub21pbmFsVmFsdWVQcm9wZXJ0eSwgYmFjaywgZm9yd2FyZCkgPT4ge1xuICAgICAgcmV0dXJuIG5vbWluYWxWYWx1ZVByb3BlcnR5LmNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9LCBiYWNrLCAobmFtZWRCaW5kaW5nc0NvbXBhcmUpID0+IHtcbiAgICAgIGlmICghbmFtZWRCaW5kaW5nc0NvbXBhcmUpIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBkb2VzIG5vdCBjb21wbWFyZSB0byBhbnkgb2YgdGhlICcke25vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmd9JyBub2RlIHByb3BlcnRpZXMuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNvbXBhcmVkIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIHdpdGggdGhlICcke25vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmd9JyBub2RlIHByb3BlcnRpZXMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlTmFtZWRCaW5kaW5ncyhuYW1lZEJpbmRpbmdzLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIG5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgYmFjaywgZm9yd2FyZCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3Qgbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5ID0gbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5RnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nRnJvbU5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheShub21pbmFsVmFsdWVQcm9wZXJ0aWVzQXJyYXkpLFxuICAgICAgICAgIGFycmF5ID0gbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5LCAgLy8vXG4gICAgICAgICAgbm9taW5hbFZhbHVlUHJvcGVydGllcyA9IG5ldyBOb21pbmFsVmFsdWVQcm9wZXJ0aWVzKHN0cmluZywgYXJyYXkpO1xuXG4gICAgcmV0dXJuIG5vbWluYWxWYWx1ZVByb3BlcnRpZXM7XG4gIH1cbn1cblxuY29uc3Qgbm9taW5hbFZhbHVlUHJvcGVydGllcyA9IE5vbWluYWxWYWx1ZVByb3BlcnRpZXMuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgbm9taW5hbFZhbHVlUHJvcGVydGllcztcblxuZnVuY3Rpb24gbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5RnJvbU5vdGhpbmcoKSB7XG4gIGNvbnN0IG5hbWVzID0gW1xuICAgICAgICAgIENPTlRFTlRfUEFSQU1FVEVSX05BTUUsXG4gICAgICAgICAgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUsXG4gICAgICAgICAgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSxcbiAgICAgICAgICBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSxcbiAgICAgICAgXSxcbiAgICAgICAgdHlwZU5hbWVzID0gW1xuICAgICAgICAgIFNUUklOR19UWVBFX05BTUUsXG4gICAgICAgICAgQk9PTEVBTl9UWVBFX05BTUUsXG4gICAgICAgICAgQk9PTEVBTl9UWVBFX05BTUUsXG4gICAgICAgICAgTElTVF9UWVBFX05BTUVcbiAgICAgICAgXSxcbiAgICAgICAgYXJndW1lbnRUeXBlTmFtZXMgPSBbXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUVcbiAgICAgICAgXSxcbiAgICAgICAgbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5ID0gbmFtZXMubWFwKChuYW1lLCBpbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgVHlwZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICAgICAgY29udGV4dCA9IG51bGwsXG4gICAgICAgICAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZXNbaW5kZXhdLFxuICAgICAgICAgICAgICAgIGFyZ3VtZW50VHlwZU5hbWUgPSBhcmd1bWVudFR5cGVOYW1lc1tpbmRleF0sXG4gICAgICAgICAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCksXG4gICAgICAgICAgICAgICAgbm9taW5hbFZhbHVlUHJvcGVydHkgPSBOb21pbmFsVmFsdWVQcm9wZXJ0eS5mcm9tTmFtZUFuZFR5cGUobmFtZSwgdHlwZSk7XG5cbiAgICAgICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydHk7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBub21pbmFsVmFsdWVQcm9wZXJ0aWVzQXJyYXk7XG59XG4iXSwibmFtZXMiOlsic29tZSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsIk5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJzdHJpbmciLCJhcnJheSIsImdldFN0cmluZyIsImdldEFycmF5Iiwic29tZU5vbWluYWxWYWx1ZVByb3BlcnR5IiwiY2FsbGJhY2siLCJiYWNrIiwiZm9yd2FyZCIsImNvbXBhcmVOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJjb250ZXh0IiwibmFtZWRCaW5kaW5nU3RyaW5nIiwibm9taW5hbFZhbHVlUHJvcGVydGllc1N0cmluZyIsInRyYWNlIiwibm9taW5hbFZhbHVlUHJvcGVydHkiLCJuYW1lZEJpbmRpbmdzQ29tcGFyZSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwiY29tcGFyZU5hbWVkQmluZGluZ3MiLCJuYW1lZEJpbmRpbmdzIiwiZm9yRWFjaE5hbWVkQmluZGluZyIsImZyb21Ob3RoaW5nIiwibm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5Iiwibm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5RnJvbU5vdGhpbmciLCJub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nRnJvbU5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJuYW1lcyIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsIk5PX1dISVRFU1BBQ0VfUEFSQU1FVEVSX05BTUUiLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsInR5cGVOYW1lcyIsIlNUUklOR19UWVBFX05BTUUiLCJCT09MRUFOX1RZUEVfTkFNRSIsIkxJU1RfVFlQRV9OQU1FIiwiYXJndW1lbnRUeXBlTmFtZXMiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsIm1hcCIsIm5hbWUiLCJpbmRleCIsIlR5cGUiLCJlbGVtZW50cyIsInR5cGVOYW1lIiwiYXJndW1lbnRUeXBlTmFtZSIsInR5cGUiLCJmcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lIiwiTm9taW5hbFZhbHVlUHJvcGVydHkiLCJmcm9tTmFtZUFuZFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXdFQTs7O2VBQUE7OztnQ0F0RXNDO2lFQUVqQjtrRUFDQzs2RUFDVzt3QkFFMkM7MkJBQ2lCO2dDQUM2Qjs7Ozs7O0FBRTFILE1BQU0sRUFBRUEsSUFBSSxFQUFFLEdBQUdDLHFDQUFxQjtBQUV0QyxNQUFNQztJQUNKLFlBQVlDLE1BQU0sRUFBRUMsS0FBSyxDQUFFO1FBQ3pCLElBQUksQ0FBQ0QsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0YsTUFBTTtJQUNwQjtJQUVBRyxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNGLEtBQUs7SUFDbkI7SUFFQUcseUJBQXlCQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQ2hELE9BQU9WLEtBQUssSUFBSSxDQUFDSSxLQUFLLEVBQUVJLFVBQVVDLE1BQU1DO0lBQzFDO0lBRUFDLG9CQUFvQkMsWUFBWSxFQUFFQyxPQUFPLEVBQUVKLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQ3hELE1BQU1JLHFCQUFxQkYsYUFBYVAsU0FBUyxJQUMzQ1UsK0JBQStCLElBQUksQ0FBQ1osTUFBTSxFQUFFLEdBQUc7UUFFckRVLFFBQVFHLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUYsbUJBQW1CLDBCQUEwQixFQUFFQyw2QkFBNkIsb0JBQW9CLENBQUM7UUFFakksT0FBTyxJQUFJLENBQUNSLHdCQUF3QixDQUFDLENBQUNVLHNCQUFzQlIsTUFBTUM7WUFDaEUsT0FBT08scUJBQXFCTixtQkFBbUIsQ0FBQ0MsY0FBY0MsU0FBU0osTUFBTUM7UUFDL0UsR0FBR0QsTUFBTSxDQUFDUztZQUNSLElBQUksQ0FBQ0Esc0JBQXNCO2dCQUN6QixNQUFNQyxVQUFVLENBQUMsS0FBSyxFQUFFTCxtQkFBbUIsaURBQWlELEVBQUVDLDZCQUE2QixrQkFBa0IsQ0FBQyxFQUN4SUssWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtnQkFFeEMsT0FBT1YsS0FBS1c7WUFDZDtZQUVBUCxRQUFRVSxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRVQsbUJBQW1CLDBCQUEwQixFQUFFQyw2QkFBNkIsa0JBQWtCLENBQUM7WUFFakksT0FBT0w7UUFDVDtJQUNGO0lBRUFjLHFCQUFxQkMsYUFBYSxFQUFFWixPQUFPLEVBQUVKLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQzFELE9BQU9lLGNBQWNDLG1CQUFtQixDQUFDLENBQUNkLGNBQWNILE1BQU1DO1lBQzVELE9BQU8sSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ0MsY0FBY0MsU0FBU0osTUFBTUM7UUFDL0QsR0FBR0QsTUFBTUM7SUFDWDtJQUVBLE9BQU9pQixjQUFjO1FBQ25CLE1BQU1DLDhCQUE4QkMsMENBQzlCMUIsU0FBUzJCLElBQUFBLG1FQUEyRCxFQUFDRiw4QkFDckV4QixRQUFRd0IsNkJBQ1JHLHlCQUF5QixJQUFJN0IsdUJBQXVCQyxRQUFRQztRQUVsRSxPQUFPMkI7SUFDVDtBQUNGO0FBRUEsTUFBTUEseUJBQXlCN0IsdUJBQXVCeUIsV0FBVztNQUVqRSxXQUFlSTtBQUVmLFNBQVNGO0lBQ1AsTUFBTUcsUUFBUTtRQUNOQyxzQ0FBc0I7UUFDdEJDLHVDQUF1QjtRQUN2QkMsNENBQTRCO1FBQzVCQywwQ0FBMEI7S0FDM0IsRUFDREMsWUFBWTtRQUNWQywyQkFBZ0I7UUFDaEJDLDRCQUFpQjtRQUNqQkEsNEJBQWlCO1FBQ2pCQyx5QkFBYztLQUNmLEVBQ0RDLG9CQUFvQjtRQUNsQjtRQUNBO1FBQ0E7UUFDQUMsa0NBQXVCO0tBQ3hCLEVBQ0RkLDhCQUE4QkksTUFBTVcsR0FBRyxDQUFDLENBQUNDLE1BQU1DO1FBQzdDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLGlCQUFRLEVBQ25CbEMsVUFBVSxNQUNWbUMsV0FBV1gsU0FBUyxDQUFDUSxNQUFNLEVBQzNCSSxtQkFBbUJSLGlCQUFpQixDQUFDSSxNQUFNLEVBQzNDSyxPQUFPSixLQUFLSywrQkFBK0IsQ0FBQ0gsVUFBVUMsa0JBQWtCcEMsVUFDeEVJLHVCQUF1Qm1DLDZCQUFvQixDQUFDQyxlQUFlLENBQUNULE1BQU1NO1FBRXhFLE9BQU9qQztJQUNUO0lBRU4sT0FBT1c7QUFDVCJ9
|
|
@@ -24,7 +24,7 @@ class NominalValueProperty {
|
|
|
24
24
|
getName() {
|
|
25
25
|
return this.name;
|
|
26
26
|
}
|
|
27
|
-
compareNamedBinding(namedBinding, context) {
|
|
27
|
+
compareNamedBinding(namedBinding, context, back, forward) {
|
|
28
28
|
let namedBindingCompares = false;
|
|
29
29
|
const nominalValuePropertyString = this.string, namedBindingString = namedBinding.getString();
|
|
30
30
|
context.trace(`Comparing the '${nominalValuePropertyString}' node property with the '${namedBindingString}' named binding...`);
|
|
@@ -35,7 +35,7 @@ class NominalValueProperty {
|
|
|
35
35
|
if (namedBindingCompares) {
|
|
36
36
|
context.debug(`...compared the '${nominalValuePropertyString}' node property with the '${namedBindingString}' named binding.`);
|
|
37
37
|
}
|
|
38
|
-
return namedBindingCompares;
|
|
38
|
+
return forward(namedBindingCompares);
|
|
39
39
|
}
|
|
40
40
|
static name = "Parameter";
|
|
41
41
|
static fromNameAndType(name, type) {
|
|
@@ -44,4 +44,4 @@ class NominalValueProperty {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub21pbmFsVmFsdWVQcm9wZXJ0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmdGcm9tTmFtZUFuZFR5cGUgfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vbWluYWxWYWx1ZVByb3BlcnR5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB0eXBlLCBuYW1lKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgbGV0IG5hbWVkQmluZGluZ0NvbXBhcmVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBDb21wYXJpbmcgdGhlICcke25vbWluYWxWYWx1ZVByb3BlcnR5U3RyaW5nfScgbm9kZSBwcm9wZXJ0eSB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCBuYW1lZEJpbmRpbmdOYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdUeXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lRXF1YWxUb05hbWVkQmluZGluZ05hbWUgPSAodGhpcy5uYW1lID09PSBuYW1lZEJpbmRpbmdOYW1lKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb05hbWVkQmluZGluZ1R5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKG5hbWVkQmluZGluZ1R5cGUpO1xuXG4gICAgaWYgKG5hbWVFcXVhbFRvTmFtZWRCaW5kaW5nTmFtZSAmJiB0eXBlRXF1YWxUb05hbWVkQmluZGluZ1R5cGUpIHtcbiAgICAgIG5hbWVkQmluZGluZ0NvbXBhcmVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmFtZWRCaW5kaW5nQ29tcGFyZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNvbXBhcmVkIHRoZSAnJHtub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZ30nIG5vZGUgcHJvcGVydHkgd2l0aCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9yd2FyZChuYW1lZEJpbmRpbmdDb21wYXJlcyk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUGFyYW1ldGVyXCI7XG5cbiAgc3RhdGljIGZyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlKSB7XG4gICAgY29uc3Qgbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmcgPSBub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZ0Zyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlKSxcbiAgICAgICAgICBzdHJpbmcgPSBub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZywgIC8vL1xuICAgICAgICAgIG5vbWluYWxWYWx1ZVByb3BlcnR5ID0gbmV3IE5vbWluYWxWYWx1ZVByb3BlcnR5KHN0cmluZywgdHlwZSwgbmFtZSk7XG5cbiAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydHk7XG4gIH1cbn07XG4iXSwibmFtZXMiOlsiTm9taW5hbFZhbHVlUHJvcGVydHkiLCJzdHJpbmciLCJ0eXBlIiwibmFtZSIsImdldFN0cmluZyIsImdldFR5cGUiLCJnZXROYW1lIiwiY29tcGFyZU5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsImNvbnRleHQiLCJiYWNrIiwiZm9yd2FyZCIsIm5hbWVkQmluZGluZ0NvbXBhcmVzIiwibm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJ0cmFjZSIsIm5hbWVkQmluZGluZ05hbWUiLCJuYW1lZEJpbmRpbmdUeXBlIiwibmFtZUVxdWFsVG9OYW1lZEJpbmRpbmdOYW1lIiwidHlwZUVxdWFsVG9OYW1lZEJpbmRpbmdUeXBlIiwiaXNFcXVhbFRvIiwiZGVidWciLCJmcm9tTmFtZUFuZFR5cGUiLCJub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZ0Zyb21OYW1lQW5kVHlwZSIsIm5vbWluYWxWYWx1ZVByb3BlcnR5Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXFCQTs7O3dCQUZxQztBQUUzQyxNQUFNQTtJQUNuQixZQUFZQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxDQUFFO1FBQzlCLElBQUksQ0FBQ0YsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtJQUNkO0lBRUFDLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7SUFDbEI7SUFFQUksVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLG9CQUFvQkMsWUFBWSxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQ3hELElBQUlDLHVCQUF1QjtRQUUzQixNQUFNQyw2QkFBNkIsSUFBSSxDQUFDWixNQUFNLEVBQ3hDYSxxQkFBcUJOLGFBQWFKLFNBQVM7UUFFakRLLFFBQVFNLEtBQUssQ0FBQyxDQUFDLGVBQWUsRUFBRUYsMkJBQTJCLDBCQUEwQixFQUFFQyxtQkFBbUIsa0JBQWtCLENBQUM7UUFFN0gsTUFBTUUsbUJBQW1CUixhQUFhRixPQUFPLElBQ3ZDVyxtQkFBbUJULGFBQWFILE9BQU8sSUFDdkNhLDhCQUErQixJQUFJLENBQUNmLElBQUksS0FBS2Esa0JBQzdDRyw4QkFBOEIsSUFBSSxDQUFDakIsSUFBSSxDQUFDa0IsU0FBUyxDQUFDSDtRQUV4RCxJQUFJQywrQkFBK0JDLDZCQUE2QjtZQUM5RFAsdUJBQXVCO1FBQ3pCO1FBRUEsSUFBSUEsc0JBQXNCO1lBQ3hCSCxRQUFRWSxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsRUFBRVIsMkJBQTJCLDBCQUEwQixFQUFFQyxtQkFBbUIsZ0JBQWdCLENBQUM7UUFDL0g7UUFFQSxPQUFPSCxRQUFRQztJQUNqQjtJQUVBLE9BQU9ULE9BQU8sWUFBWTtJQUUxQixPQUFPbUIsZ0JBQWdCbkIsSUFBSSxFQUFFRCxJQUFJLEVBQUU7UUFDakMsTUFBTVcsNkJBQTZCVSxJQUFBQSxpREFBeUMsRUFBQ3BCLE1BQU1ELE9BQzdFRCxTQUFTWSw0QkFDVFcsdUJBQXVCLElBQUl4QixxQkFBcUJDLFFBQVFDLE1BQU1DO1FBRXBFLE9BQU9xQjtJQUNUO0FBQ0YifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.464",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.6.3",
|
|
14
14
|
"occam-grammars": "^1.3.663",
|
|
15
|
-
"occam-languages": "^3.0.
|
|
15
|
+
"occam-languages": "^3.0.23",
|
|
16
16
|
"occam-lexers": "^23.2.8",
|
|
17
17
|
"occam-parsers": "^23.2.11",
|
|
18
18
|
"occam-query": "^4.1.206"
|
package/src/context/block.js
CHANGED
|
@@ -39,7 +39,7 @@ export default class BlockContext extends Context {
|
|
|
39
39
|
const message = `The '${variableString}' variable is already present.'`,
|
|
40
40
|
exception = Exception.fromMessage(message);
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
return back(exception);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
const context = this; ///
|
|
@@ -33,26 +33,26 @@ export default define(class AnonymousProcedure extends Element {
|
|
|
33
33
|
|
|
34
34
|
context.trace(`Calling the '${anonymousProcedureString}' anonymous function...`);
|
|
35
35
|
|
|
36
|
-
this.parameters.compareValues(values, context)
|
|
36
|
+
return this.parameters.compareValues(values, context, back, () => {
|
|
37
|
+
const variables = variablesFromValuesAndParameters(values, this.parameters, context);
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
return this.returnBlock.evaluate(variables, context, back, (value) => {
|
|
40
|
+
const valueType = value.getType(),
|
|
41
|
+
typeEqualToValueType = this.type.isEqualTo(valueType);
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
if (!typeEqualToValueType) {
|
|
44
|
+
const valueString = value.getString(),
|
|
45
|
+
typeString = this.type.getString(),
|
|
46
|
+
message = `The '${valueString}' value's '${valueType}' type is not equal to the '${anonymousProcedureString}' anonymous function's '${typeString}' type.`,
|
|
47
|
+
exception = Exception.fromMessage(message);
|
|
43
48
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
typeString = this.type.getString(),
|
|
47
|
-
message = `The '${valueString}' value's '${valueType}' type is not equal to the '${anonymousProcedureString}' anonymous function's '${typeString}' type.`,
|
|
48
|
-
exception = Exception.fromMessage(message);
|
|
49
|
+
return back(exception);
|
|
50
|
+
}
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
+
context.debug(`...called the '${anonymousProcedureString}' anonymous function.`);
|
|
52
53
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return forward(value);
|
|
54
|
+
return forward(value);
|
|
55
|
+
});
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -41,7 +41,7 @@ export default define(class ListAssignment extends Element {
|
|
|
41
41
|
message = `The '${valueString}' value's '${valueType}' type should be '${LIST_TYPE_NAME}'.`,
|
|
42
42
|
exception = Exception.fromMessage(message);
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
return back(exception);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
const bindingsLength = this.bindings.getLength(),
|
|
@@ -54,7 +54,7 @@ export default define(class ListAssignment extends Element {
|
|
|
54
54
|
message = `The length of the '${bindingsString}' bindings is greater than the length of the '${valueString}' list.`,
|
|
55
55
|
exception = Exception.fromMessage(message);
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
return back(exception);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
const values = value.lift(context);
|
|
@@ -69,7 +69,7 @@ export default define(class ListAssignment extends Element {
|
|
|
69
69
|
const value = values[index];
|
|
70
70
|
|
|
71
71
|
return this.evaluateBinding(binding, value, context, back, forward);
|
|
72
|
-
}, () => {
|
|
72
|
+
}, back, () => {
|
|
73
73
|
context.debug(`...evaluated the '${listAssignmentString}' list assignment.`);
|
|
74
74
|
|
|
75
75
|
return forward();
|
|
@@ -93,7 +93,7 @@ export default define(class ListAssignment extends Element {
|
|
|
93
93
|
message = `The '${bindingString}' binding's '${bindingTypeString}' type is not equal to the '${valueString}' value's '${valueTypeString}' type.`,
|
|
94
94
|
exception = Exception.fromMessage(message);
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
return back(exception);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
const { Variable } = elements,
|
|
@@ -44,18 +44,18 @@ export default define(class ObjectAssignment extends Element {
|
|
|
44
44
|
message = `The '${valueString}' value's '${valueType}' type should be '${NOMINAL_VALUE_TYPE_NAME}'.`,
|
|
45
45
|
exception = Exception.fromMessage(message);
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
return back(exception);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
nominalValueProperties.compareNamedBindings(this.namedBindings, context)
|
|
50
|
+
return nominalValueProperties.compareNamedBindings(this.namedBindings, context, back, () => {
|
|
51
|
+
return this.namedBindings.forEachNamedBinding((namedBinding, back, forward) => {
|
|
52
|
+
return this.evaluateNamedBinding(namedBinding, value, context, back, forward);
|
|
53
|
+
}, back, () => {
|
|
54
|
+
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
51
55
|
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
return forward();
|
|
57
|
+
});
|
|
54
58
|
});
|
|
55
|
-
|
|
56
|
-
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
57
|
-
|
|
58
|
-
return forward();
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
evaluateNamedBinding(namedBinding, term, context, back, forward) {
|
|
@@ -64,47 +64,49 @@ export default define(class ObjectAssignment extends Element {
|
|
|
64
64
|
|
|
65
65
|
context.trace(`Evaluating the '${namedBindingString}' named binding against the '${termString}' term...`);
|
|
66
66
|
|
|
67
|
-
let value;
|
|
68
|
-
|
|
69
67
|
const name = namedBinding.getName();
|
|
70
68
|
|
|
69
|
+
let evaluateNamedBinding;
|
|
70
|
+
|
|
71
71
|
switch (name) {
|
|
72
72
|
case CONTENT_PARAMETER_NAME: {
|
|
73
|
-
|
|
73
|
+
evaluateNamedBinding = this.evaluateContentNamedBinding.bind(this);
|
|
74
74
|
|
|
75
75
|
break;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
case TERMINAL_PARAMETER_NAME: {
|
|
79
|
-
|
|
79
|
+
evaluateNamedBinding = this.evaluateTerminalNamedBinding.bind(this);
|
|
80
80
|
|
|
81
81
|
break;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
case CHILD_NODES_PARAMETER_NAME: {
|
|
85
|
-
|
|
85
|
+
evaluateNamedBinding = this.evaluateChildNodesNamedBinding.bind(this);
|
|
86
86
|
|
|
87
87
|
break;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
case NO_WHITESPACE_PARAMETER_NAME: {
|
|
91
|
-
|
|
91
|
+
evaluateNamedBinding = this.evaluateNoWhitespaceNamedBinding.bind(this);
|
|
92
92
|
|
|
93
93
|
break;
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
return evaluateNamedBinding(namedBinding, term, context, back, (value) => {
|
|
98
|
+
const { Variable } = elements,
|
|
99
|
+
variable = Variable.fromNamedBinding(namedBinding, context);
|
|
99
100
|
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
return variable.assign(value, context, back, () => {
|
|
102
|
+
context.debug(`...evaluated the '${namedBindingString}' parameter named against the '${termString}' term.`);
|
|
102
103
|
|
|
103
|
-
|
|
104
|
+
forward();
|
|
105
|
+
});
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
|
|
107
|
-
evaluateContentNamedBinding(namedBinding, term, context) {
|
|
109
|
+
evaluateContentNamedBinding(namedBinding, term, context, back, forward) {
|
|
108
110
|
const type = namedBinding.getType(),
|
|
109
111
|
namedBindingString = namedBinding.getString();
|
|
110
112
|
|
|
@@ -117,7 +119,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
117
119
|
message = `The '${namedBindingString}' named binding's type should be '${STRING_TYPE_NAME}'.`,
|
|
118
120
|
exception = Exception.fromMessage(message);
|
|
119
121
|
|
|
120
|
-
|
|
122
|
+
return back(exception);
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
const primitiveValue = term.getPrimitiveValue(),
|
|
@@ -130,7 +132,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
130
132
|
message = `The '${termString}' term's node must be terminal.`,
|
|
131
133
|
exception = Exception.fromMessage(message);
|
|
132
134
|
|
|
133
|
-
|
|
135
|
+
return back(exception);
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
const terminalNode = node, ///
|
|
@@ -142,10 +144,10 @@ export default define(class ObjectAssignment extends Element {
|
|
|
142
144
|
|
|
143
145
|
context.debug(`...evaluated the content '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
144
146
|
|
|
145
|
-
return value;
|
|
147
|
+
return forward(value);
|
|
146
148
|
}
|
|
147
149
|
|
|
148
|
-
evaluateTerminalNamedBinding(namedBinding, term, context) {
|
|
150
|
+
evaluateTerminalNamedBinding(namedBinding, term, context, back, forward) {
|
|
149
151
|
const type = namedBinding.getType(),
|
|
150
152
|
namedBindingString = namedBinding.getString();
|
|
151
153
|
|
|
@@ -158,7 +160,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
158
160
|
message = `The '${namedBindingString}' named binding's type should be '${BOOLEAN_TYPE_NAME}'.`,
|
|
159
161
|
exception = Exception.fromMessage(message);
|
|
160
162
|
|
|
161
|
-
|
|
163
|
+
return back(exception);
|
|
162
164
|
}
|
|
163
165
|
|
|
164
166
|
const primitiveValue = term.getPrimitiveValue(),
|
|
@@ -172,10 +174,10 @@ export default define(class ObjectAssignment extends Element {
|
|
|
172
174
|
|
|
173
175
|
context.debug(`...evaluated the terminal '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
174
176
|
|
|
175
|
-
return value;
|
|
177
|
+
return forward(value);
|
|
176
178
|
}
|
|
177
179
|
|
|
178
|
-
evaluateChildNodesNamedBinding(namedBinding, term, context) {
|
|
180
|
+
evaluateChildNodesNamedBinding(namedBinding, term, context, back, forward) {
|
|
179
181
|
const type = namedBinding.getType(),
|
|
180
182
|
namedBindingString = namedBinding.getString();
|
|
181
183
|
|
|
@@ -188,7 +190,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
188
190
|
message = `The '${namedBindingString}' named binding's type should be '${LIST_TYPE_NAME}'.`,
|
|
189
191
|
exception = Exception.fromMessage(message);
|
|
190
192
|
|
|
191
|
-
|
|
193
|
+
return back(exception);
|
|
192
194
|
}
|
|
193
195
|
|
|
194
196
|
const primitiveValue = term.getPrimitiveValue(),
|
|
@@ -201,7 +203,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
201
203
|
message = `The '${termString}' term's node must be non-terminal.`,
|
|
202
204
|
exception = Exception.fromMessage(message);
|
|
203
205
|
|
|
204
|
-
|
|
206
|
+
return back(exception);
|
|
205
207
|
}
|
|
206
208
|
|
|
207
209
|
const nonTerminalNode = node, ///
|
|
@@ -212,10 +214,10 @@ export default define(class ObjectAssignment extends Element {
|
|
|
212
214
|
|
|
213
215
|
context.debug(`...evaluated the childNodes '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
214
216
|
|
|
215
|
-
return value;
|
|
217
|
+
return forward(value);
|
|
216
218
|
}
|
|
217
219
|
|
|
218
|
-
evaluateNoWhitespaceNamedBinding(namedBinding, term, context) {
|
|
220
|
+
evaluateNoWhitespaceNamedBinding(namedBinding, term, context, back, forward) {
|
|
219
221
|
const type = namedBinding.getType(),
|
|
220
222
|
namedBindingString = namedBinding.getString();
|
|
221
223
|
|
|
@@ -228,7 +230,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
228
230
|
message = `The '${namedBindingString}' named binding's type should be '${BOOLEAN_TYPE_NAME}'.`,
|
|
229
231
|
exception = Exception.fromMessage(message);
|
|
230
232
|
|
|
231
|
-
|
|
233
|
+
return back(exception);
|
|
232
234
|
}
|
|
233
235
|
|
|
234
236
|
const primitiveValue = term.getPrimitiveValue(),
|
|
@@ -241,7 +243,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
241
243
|
message = `The '${termString}' term's node must be terminal.`,
|
|
242
244
|
exception = Exception.fromMessage(message);
|
|
243
245
|
|
|
244
|
-
|
|
246
|
+
return back(exception);
|
|
245
247
|
}
|
|
246
248
|
|
|
247
249
|
const terminalNode = node, ///
|
|
@@ -252,7 +254,7 @@ export default define(class ObjectAssignment extends Element {
|
|
|
252
254
|
|
|
253
255
|
context.debug(`...evaluated the no whitespace '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
254
256
|
|
|
255
|
-
return value;
|
|
257
|
+
return forward(value);
|
|
256
258
|
}
|
|
257
259
|
|
|
258
260
|
static name = "ObjectAssignment";
|
|
@@ -42,7 +42,7 @@ export default define(class NamedBinding extends Element {
|
|
|
42
42
|
return aliasedName;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
compareTerm(term, context) {
|
|
45
|
+
compareTerm(term, context, back, forward) {
|
|
46
46
|
const termString = term.getString(),
|
|
47
47
|
namedBindingString = this.getString(); ///
|
|
48
48
|
|
|
@@ -56,13 +56,15 @@ export default define(class NamedBinding extends Element {
|
|
|
56
56
|
message = `The '${termString}' term's '${termType}' type is not equal to '${namedBindingString}' named binding's '${typeString}' type.`,
|
|
57
57
|
exception = Exception.fromMessage(message);
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
return back(exception);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
context.debug(`...compared the '${termString}' term with the '${namedBindingString}' named binding.`);
|
|
63
|
+
|
|
64
|
+
return forward();
|
|
63
65
|
}
|
|
64
66
|
|
|
65
|
-
compareNamedBinding(namedBinding, context) {
|
|
67
|
+
compareNamedBinding(namedBinding, context, back, forward) {
|
|
66
68
|
let namedBindingCompares;
|
|
67
69
|
|
|
68
70
|
const namedBindingA = this, ///
|
|
@@ -84,7 +86,7 @@ export default define(class NamedBinding extends Element {
|
|
|
84
86
|
context.debug(`...compared the '${namedBindingAString}' named binding with the '${namedBindingBString}' named binding.`);
|
|
85
87
|
}
|
|
86
88
|
|
|
87
|
-
return namedBindingCompares;
|
|
89
|
+
return forward(namedBindingCompares);
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
static name = "NamedBinding";
|