occam-furtle 3.0.464 → 3.0.467
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/element/assignment/list.js +24 -22
- package/lib/element/assignment/object.js +14 -12
- package/lib/element/assignment/variable.js +2 -2
- package/lib/element/assignments/variable.js +2 -2
- package/lib/element/binding/named.js +8 -3
- package/lib/element/bindings/named.js +12 -12
- package/lib/element/contains.js +13 -13
- package/lib/element/endsWith.js +13 -13
- package/lib/element/every.js +23 -21
- package/lib/element/lengthOf.js +13 -13
- package/lib/element/nodeQuery.js +32 -32
- package/lib/element/nodesQuery.js +20 -20
- package/lib/element/reduce.js +21 -19
- package/lib/element/returnBlock.js +6 -4
- package/lib/element/returnStatement.js +6 -6
- package/lib/element/some.js +23 -21
- package/lib/element/startsWith.js +13 -13
- package/lib/element/term/bracketed.js +6 -6
- package/lib/element/term/comparison.js +19 -15
- package/lib/element/term/logical.js +19 -15
- package/lib/element/term/negated.js +16 -16
- package/lib/element/ternary.js +13 -11
- package/lib/element/toInteger.js +27 -27
- package/lib/element/tryInteger.js +25 -25
- package/lib/nominalValueProperties.js +5 -6
- package/lib/nominalValueProperty.js +4 -3
- package/package.json +2 -2
- package/src/element/assignment/list.js +33 -33
- package/src/element/assignment/object.js +16 -15
- package/src/element/assignment/variable.js +1 -1
- package/src/element/assignments/variable.js +1 -1
- package/src/element/binding/named.js +8 -2
- package/src/element/bindings/named.js +13 -13
- package/src/element/contains.js +16 -18
- package/src/element/endsWith.js +16 -18
- package/src/element/every.js +32 -31
- package/src/element/lengthOf.js +17 -19
- package/src/element/nodeQuery.js +39 -41
- package/src/element/nodesQuery.js +25 -27
- package/src/element/reduce.js +25 -24
- package/src/element/returnBlock.js +5 -4
- package/src/element/returnStatement.js +5 -7
- package/src/element/some.js +34 -33
- package/src/element/startsWith.js +16 -18
- package/src/element/term/bracketed.js +5 -7
- package/src/element/term/comparison.js +25 -23
- package/src/element/term/logical.js +40 -38
- package/src/element/term/negated.js +18 -20
- package/src/element/ternary.js +19 -18
- package/src/element/toInteger.js +29 -31
- package/src/element/tryInteger.js +23 -25
- package/src/nominalValueProperties.js +5 -7
- package/src/nominalValueProperty.js +4 -2
|
@@ -58,7 +58,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
58
58
|
}
|
|
59
59
|
return newObj;
|
|
60
60
|
}
|
|
61
|
-
const {
|
|
61
|
+
const { breakable } = _occamlanguages.breakPointUtilities;
|
|
62
62
|
const _default = (0, _elements.define)(class ListAssignment extends _occamlanguages.Element {
|
|
63
63
|
constructor(context, string, node, breakPoint, variable, bindings){
|
|
64
64
|
super(context, string, node, breakPoint);
|
|
@@ -74,27 +74,29 @@ const _default = (0, _elements.define)(class ListAssignment extends _occamlangua
|
|
|
74
74
|
evaluate = breakable(function(context, back, forward) {
|
|
75
75
|
const listAssignmentString = this.getString(); ///
|
|
76
76
|
context.trace(`Evaluating the '${listAssignmentString}' list assignment...`);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const bindingsLength = this.bindings.getLength(), primitiveValue = value.getPrimitiveValue(), primitiveValueLength = primitiveValue.length;
|
|
83
|
-
if (bindingsLength > primitiveValueLength) {
|
|
84
|
-
const valueString = value.getString(), bindingsString = this.bindings.getString(), message = `The length of the '${bindingsString}' bindings is greater than the length of the '${valueString}' list.`, exception = _exception.default.fromMessage(message);
|
|
85
|
-
return back(exception);
|
|
86
|
-
}
|
|
87
|
-
const values = value.lift(context);
|
|
88
|
-
return forEach(this.bindings, (binding, back, forward, index)=>{
|
|
89
|
-
const elided = binding.isElided();
|
|
90
|
-
if (elided) {
|
|
91
|
-
return forward();
|
|
77
|
+
return this.variable.evaluate(context, back, (value)=>{
|
|
78
|
+
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
79
|
+
if (!valueTypeListType) {
|
|
80
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
81
|
+
return back(exception);
|
|
92
82
|
}
|
|
93
|
-
const value =
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
const bindingsLength = this.bindings.getLength(), primitiveValue = value.getPrimitiveValue(), primitiveValueLength = primitiveValue.length;
|
|
84
|
+
if (bindingsLength > primitiveValueLength) {
|
|
85
|
+
const valueString = value.getString(), bindingsString = this.bindings.getString(), message = `The length of the '${bindingsString}' bindings is greater than the length of the '${valueString}' list.`, exception = _exception.default.fromMessage(message);
|
|
86
|
+
return back(exception);
|
|
87
|
+
}
|
|
88
|
+
const values = value.lift(context);
|
|
89
|
+
return this.bindings.forEachBinding((binding, back, forward, index)=>{
|
|
90
|
+
const elided = binding.isElided();
|
|
91
|
+
if (elided) {
|
|
92
|
+
return forward();
|
|
93
|
+
}
|
|
94
|
+
const value = values[index];
|
|
95
|
+
return this.evaluateBinding(binding, value, context, back, forward);
|
|
96
|
+
}, back, ()=>{
|
|
97
|
+
context.debug(`...evaluated the '${listAssignmentString}' list assignment.`);
|
|
98
|
+
return forward();
|
|
99
|
+
});
|
|
98
100
|
});
|
|
99
101
|
});
|
|
100
102
|
evaluateBinding(binding, value, context, back, forward) {
|
|
@@ -114,4 +116,4 @@ const _default = (0, _elements.define)(class ListAssignment extends _occamlangua
|
|
|
114
116
|
static name = "ListAssignment";
|
|
115
117
|
});
|
|
116
118
|
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvbGlzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTGlzdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgYmluZGluZ3MpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYmluZGluZ3MgPSBiaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZGluZ3M7XG4gIH1cblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IGxpc3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtsaXN0QXNzaWdubWVudFN0cmluZ30nIGxpc3QgYXNzaWdubWVudC4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJpbmRpbmdzTGVuZ3RoID0gdGhpcy5iaW5kaW5ncy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICAgIHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgIHByaW1pdGl2ZVZhbHVlTGVuZ3RoID0gcHJpbWl0aXZlVmFsdWUubGVuZ3RoO1xuXG4gICAgICBpZiAoYmluZGluZ3NMZW5ndGggPiBwcmltaXRpdmVWYWx1ZUxlbmd0aCkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBiaW5kaW5nc1N0cmluZyA9IHRoaXMuYmluZGluZ3MuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlIGxlbmd0aCBvZiB0aGUgJyR7YmluZGluZ3NTdHJpbmd9JyBiaW5kaW5ncyBpcyBncmVhdGVyIHRoYW4gdGhlIGxlbmd0aCBvZiB0aGUgJyR7dmFsdWVTdHJpbmd9JyBsaXN0LmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZS5saWZ0KGNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gdGhpcy5iaW5kaW5ncy5mb3JFYWNoQmluZGluZygoYmluZGluZywgYmFjaywgZm9yd2FyZCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZWxpZGVkID0gYmluZGluZy5pc0VsaWRlZCgpO1xuXG4gICAgICAgIGlmIChlbGlkZWQpIHtcbiAgICAgICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB2YWx1ZXNbaW5kZXhdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlQmluZGluZyhiaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgICB9LCBiYWNrLCAoKSA9PiB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bGlzdEFzc2lnbm1lbnRTdHJpbmd9JyBsaXN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBldmFsdWF0ZUJpbmRpbmcoYmluZGluZywgdmFsdWUsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgIGJpbmRpbmdTdHJpbmcgPSBiaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS4uLmApO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgIGJpbmRpbmdUeXBlID0gYmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgYmluZGluZ1R5cGVFcXVhbFRvVmFsdWVUeXBlID0gYmluZGluZ1R5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICBpZiAoIWJpbmRpbmdUeXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgYmluZGluZ1R5cGVTdHJpbmcgPSBiaW5kaW5nVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZyA9IHZhbHVlVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtiaW5kaW5nU3RyaW5nfScgYmluZGluZydzICcke2JpbmRpbmdUeXBlU3RyaW5nfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tQmluZGluZyhiaW5kaW5nLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssICgpID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YmluZGluZ1N0cmluZ30nIGJpbmRpbmcgYWdhaW5zdCB0aGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZS5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJMaXN0QXNzaWdubWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkxpc3RBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsImxpc3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJMSVNUX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwiYmluZGluZ3NMZW5ndGgiLCJnZXRMZW5ndGgiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwicHJpbWl0aXZlVmFsdWVMZW5ndGgiLCJsZW5ndGgiLCJiaW5kaW5nc1N0cmluZyIsInZhbHVlcyIsImxpZnQiLCJmb3JFYWNoQmluZGluZyIsImJpbmRpbmciLCJpbmRleCIsImVsaWRlZCIsImlzRWxpZGVkIiwiZXZhbHVhdGVCaW5kaW5nIiwiZGVidWciLCJiaW5kaW5nU3RyaW5nIiwiYmluZGluZ1R5cGUiLCJiaW5kaW5nVHlwZUVxdWFsVG9WYWx1ZVR5cGUiLCJpc0VxdWFsVG8iLCJiaW5kaW5nVHlwZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tQmluZGluZyIsImFzc2lnbiIsIm5h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
|
|
@@ -78,17 +78,19 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
78
78
|
evaluate = breakable(function(context, back, forward) {
|
|
79
79
|
const objectAssignmentString = this.getString(); ///
|
|
80
80
|
context.trace(`Evaluating the '${objectAssignmentString}' object assignment...`);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
return this.namedBindings
|
|
88
|
-
return this.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
81
|
+
return this.variable.evaluate(context, back, (value)=>{
|
|
82
|
+
const valueType = value.getType(), valueTypeNominalValueType = valueType.isNominalValueType();
|
|
83
|
+
if (!valueTypeNominalValueType) {
|
|
84
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.NOMINAL_VALUE_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
85
|
+
return back(exception);
|
|
86
|
+
}
|
|
87
|
+
return _nominalValueProperties.default.compareNamedBindings(this.namedBindings, context, back, ()=>{
|
|
88
|
+
return this.namedBindings.forEachNamedBinding((namedBinding, back, forward)=>{
|
|
89
|
+
return this.evaluateNamedBinding(namedBinding, value, context, back, forward);
|
|
90
|
+
}, back, ()=>{
|
|
91
|
+
context.debug(`...evaluated the '${objectAssignmentString}' object assignment.`);
|
|
92
|
+
return forward();
|
|
93
|
+
});
|
|
92
94
|
});
|
|
93
95
|
});
|
|
94
96
|
});
|
|
@@ -193,4 +195,4 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
193
195
|
static name = "ObjectAssignment";
|
|
194
196
|
});
|
|
195
197
|
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgIGlmICghdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vbWluYWxWYWx1ZVByb3BlcnRpZXMuY29tcGFyZU5hbWVkQmluZGluZ3ModGhpcy5uYW1lZEJpbmRpbmdzLCBjb250ZXh0LCBiYWNrLCAoKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzLmZvckVhY2hOYW1lZEJpbmRpbmcoKG5hbWVkQmluZGluZywgYmFjaywgZm9yd2FyZCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICAgIH0sIGJhY2ssICgpID0+IHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBjb25zdCBuYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKTtcblxuICAgIGxldCBldmFsdWF0ZU5hbWVkQmluZGluZztcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZy5iaW5kKHRoaXMpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZy5iaW5kKHRoaXMpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21OYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHZhcmlhYmxlLmFzc2lnbih2YWx1ZSwgY29udGV4dCwgYmFjaywgKCkgPT4ge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIHBhcmFtZXRlciBuYW1lZCBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcblxuICAgICAgICBmb3J3YXJkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmdUeXBlID0gdHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdHlwZVN0cmluZ1R5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGVybWluYWwsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSwgIC8vL1xuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNoaWxkIG5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVMaXN0VHlwZSA9IHR5cGUuaXNMaXN0VHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIG5vbi10ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbm9XaGl0ZWFwY2UgPSB0ZXJtaW5hbE5vZGUuaXNOb1doaXRlc3BhY2VOb2RlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IG5vV2hpdGVhcGNlLCAgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiT2JqZWN0QXNzaWdubWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIk9iamVjdEFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJuYW1lZEJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXROYW1lZEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUiLCJpc05vbWluYWxWYWx1ZVR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9taW5hbFZhbHVlUHJvcGVydGllcyIsImNvbXBhcmVOYW1lZEJpbmRpbmdzIiwiZm9yRWFjaE5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsImV2YWx1YXRlTmFtZWRCaW5kaW5nIiwiZGVidWciLCJ0ZXJtIiwidGVybVN0cmluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiQ09OVEVOVF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyIsImJpbmQiLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmciLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyIsIk5PX1dISVRFU1BBQ0VfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyIsIlZhcmlhYmxlIiwiZWxlbWVudHMiLCJmcm9tTmFtZWRCaW5kaW5nIiwiYXNzaWduIiwidHlwZSIsInR5cGVTdHJpbmdUeXBlIiwiaXNTdHJpbmdUeXBlIiwiU1RSSU5HX1RZUEVfTkFNRSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJub21pbmFsVmFsdWUiLCJnZXROb2RlIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwidHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwidGVybWluYWwiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsInR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJMSVNUX1RZUEVfTkFNRSIsIm5vZGVOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwibm9kZXMiLCJ2YWx1ZUZyb21Ob2Rlc0FuZE5vbWluYWxWYWx1ZSIsIm5vV2hpdGVhcGNlIiwiaXNOb1doaXRlc3BhY2VOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnQkE7OztlQUFBOzs7Z0NBZDZDO2tFQUV4QjtrRUFDQzsrRUFDYTsrQkFHSzt1QkFDZ0Q7MkJBQ0s7Z0NBQzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxSCxNQUFNLEVBQUVBLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyx5QkFBeUJDLHVCQUFPO0lBQzFELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxhQUFhLENBQUU7UUFDdEUsS0FBSyxDQUFDTCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO0lBQ3ZCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNGLGFBQWE7SUFDM0I7SUFFQUcsV0FBV2IsVUFBVSxTQUFVSyxPQUFPLEVBQUVTLElBQUksRUFBRUMsT0FBTztRQUNuRCxNQUFNQyx5QkFBeUIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUVwRFosUUFBUWEsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLHVCQUF1QixzQkFBc0IsQ0FBQztRQUUvRSxNQUFNRyxRQUFRLElBQUksQ0FBQ1YsUUFBUSxDQUFDSSxRQUFRLENBQUNSLFVBQy9CZSxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCQyw0QkFBNEJGLFVBQVVHLGtCQUFrQjtRQUU5RCxJQUFJLENBQUNELDJCQUEyQjtZQUM5QixNQUFNRSxjQUFjTCxNQUFNRixTQUFTLElBQzdC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
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsIGJhY2ssICh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQsIGJhY2ssICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZWRCaW5kaW5ncy5mb3JFYWNoTmFtZWRCaW5kaW5nKChuYW1lZEJpbmRpbmcsIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5ldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICAgICAgfSwgYmFjaywgKCkgPT4ge1xuICAgICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7b2JqZWN0QXNzaWdubWVudFN0cmluZ30nIG9iamVjdCBhc3NpZ25tZW50LmApO1xuXG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBsZXQgZXZhbHVhdGVOYW1lZEJpbmRpbmc7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgZXZhbHVhdGVOYW1lZEJpbmRpbmcgPSB0aGlzLmV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBiYWNrLCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssICgpID0+IHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBwYXJhbWV0ZXIgbmFtZWQgYWdhaW5zdCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uYCk7XG5cbiAgICAgICAgZm9yd2FyZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nVHlwZSA9IHR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVTdHJpbmdUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIGV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGVybWluYWwgPSBub2RlVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgYm9vbGVhbiA9IHRlcm1pbmFsLCAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksICAvLy9cbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjaGlsZCBub2RlcyAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlTGlzdFR5cGUgPSB0eXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdHlwZUxpc3RUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlKG5vZGVzLCBub21pbmFsVmFsdWUpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBjaGlsZE5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gIH1cblxuICBldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVCb29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5vV2hpdGVhcGNlID0gdGVybWluYWxOb2RlLmlzTm9XaGl0ZXNwYWNlTm9kZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub1doaXRlYXBjZSwgIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgbm8gd2hpdGVzcGFjZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUpO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJPYmplY3RBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwibmFtZWRCaW5kaW5ncyIsImdldFZhcmlhYmxlIiwiZ2V0TmFtZWRCaW5kaW5ncyIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJvYmplY3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlIiwiaXNOb21pbmFsVmFsdWVUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJjb21wYXJlTmFtZWRCaW5kaW5ncyIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJldmFsdWF0ZU5hbWVkQmluZGluZyIsImRlYnVnIiwidGVybSIsInRlcm1TdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmciLCJiaW5kIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwic3RyaW5nTGl0ZXJhbCIsInN0cmluZ0xpdGVyYWxGcm9tU3RyaW5nIiwidmFsdWVGcm9tU3RyaW5nTGl0ZXJhbCIsInZhbHVlU3R0cmluZyIsInR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJCT09MRUFOX1RZUEVfTkFNRSIsInRlcm1pbmFsIiwiYm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJ0eXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJub2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vZGVzIiwidmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUiLCJub1doaXRlYXBjZSIsImlzTm9XaGl0ZXNwYWNlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ0JBOzs7ZUFBQTs7O2dDQWQ2QztrRUFFeEI7a0VBQ0M7K0VBQ2E7K0JBR0s7dUJBQ2dEOzJCQUNLO2dDQUM2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUgsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMseUJBQXlCQyx1QkFBTztJQUMxRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxDQUFFO1FBQ3RFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtJQUN2QjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDRixhQUFhO0lBQzNCO0lBRUFHLFdBQVdiLFVBQVUsU0FBVUssT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU87UUFDbkQsTUFBTUMseUJBQXlCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFcERaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRix1QkFBdUIsc0JBQXNCLENBQUM7UUFFL0UsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixTQUFTUyxNQUFNLENBQUNLO1lBQzVDLE1BQU1DLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLDRCQUE0QkYsVUFB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
|
|
@@ -29,11 +29,11 @@ const _default = (0, _elements.define)(class VariableAssignment extends _occamla
|
|
|
29
29
|
return this.variable.assign(value, context, back, ()=>{
|
|
30
30
|
const valueString = value.getString();
|
|
31
31
|
context.debug(`...evaluated the '${variableAssignmentString}' variable assignment as '${valueString}'.`);
|
|
32
|
-
return forward(
|
|
32
|
+
return forward();
|
|
33
33
|
});
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
static name = "VariableAssignment";
|
|
37
37
|
});
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssICgpID0+
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGV4cHJlc3Npb24pIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCwgYmFjaywgKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIGJhY2ssICgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQgYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJWYXJpYWJsZUFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJleHByZXNzaW9uIiwiZ2V0VmFyaWFibGUiLCJnZXRFeHByZXNzaW9uIiwiZXZhbHVhdGUiLCJiYWNrIiwiZm9yd2FyZCIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJhc3NpZ24iLCJ2YWx1ZVN0cmluZyIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsMkJBQTJCQyx1QkFBTztJQUM1RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxDQUFFO1FBQ25FLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsU0FBU1IsT0FBTyxFQUFFUyxJQUFJLEVBQUVDLE9BQU8sRUFBRTtRQUMvQixNQUFNQywyQkFBMkIsSUFBSSxDQUFDQyxTQUFTLElBQUksR0FBRztRQUV0RFosUUFBUWEsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLHlCQUF5Qix3QkFBd0IsQ0FBQztRQUVuRixPQUFPLElBQUksQ0FBQ04sVUFBVSxDQUFDRyxRQUFRLENBQUNSLFNBQVNTLE1BQU0sQ0FBQ0s7WUFDOUMsT0FBTyxJQUFJLENBQUNWLFFBQVEsQ0FBQ1csTUFBTSxDQUFDRCxPQUFPZCxTQUFTUyxNQUFNO2dCQUNoRCxNQUFNTyxjQUFjRixNQUFNRixTQUFTO2dCQUVuQ1osUUFBUWlCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFTix5QkFBeUIsMEJBQTBCLEVBQUVLLFlBQVksRUFBRSxDQUFDO2dCQUV2RyxPQUFPTjtZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU9RLE9BQU8scUJBQXFCO0FBQ3JDIn0=
|
|
@@ -24,7 +24,7 @@ const _default = (0, _elements.define)(class VariableAssignments extends _occaml
|
|
|
24
24
|
context.trace(`Evaluating the '${variableAssignmentsString}' variable assignments...`);
|
|
25
25
|
return forEach(this.array, (variableAssignment, back, forward)=>{
|
|
26
26
|
return variableAssignment.evaluate(context, back, forward);
|
|
27
|
-
}, ()=>{
|
|
27
|
+
}, back, ()=>{
|
|
28
28
|
context.debug(`...evaluated the '${variableAssignmentsString}' variable assignments.`);
|
|
29
29
|
return forward();
|
|
30
30
|
});
|
|
@@ -32,4 +32,4 @@ const _default = (0, _elements.define)(class VariableAssignments extends _occaml
|
|
|
32
32
|
static name = "VariableAssignments";
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50cyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuLi5gKTtcblxuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksICh2YXJpYWJsZUFzc2lnbm1lbnQsIGJhY2ssIGZvcndhcmQpID0+
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnRzL3ZhcmlhYmxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgYnJlYWthYmxlIH0gPSBicmVha1BvaW50VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgVmFyaWFibGVBc3NpZ25tZW50cyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbiAgfVxuXG4gIGdldEFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLmFycmF5O1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuLi5gKTtcblxuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksICh2YXJpYWJsZUFzc2lnbm1lbnQsIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnQuZXZhbHVhdGUoY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgYmFjaywgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfScgdmFyaWFibGUgYXNzaWdubWVudHMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRzXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlZhcmlhYmxlQXNzaWdubWVudHMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImV2YWx1YXRlIiwiYmFjayIsImZvcndhcmQiLCJ2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVBvRTswQkFFN0M7QUFFdkIsTUFBTSxFQUFFQSxPQUFPLEVBQUUsR0FBR0MscUNBQXFCLEVBQ25DLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyw0QkFBNEJDLHVCQUFPO0lBQzdELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0osU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRCxLQUFLO0lBQ25CO0lBRUFFLFdBQVdYLFVBQVUsU0FBVUssT0FBTyxFQUFFTyxJQUFJLEVBQUVDLE9BQU87UUFDbkQsTUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFdkRWLFFBQVFXLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRiwwQkFBMEIseUJBQXlCLENBQUM7UUFFckYsT0FBT2hCLFFBQVEsSUFBSSxDQUFDVyxLQUFLLEVBQUUsQ0FBQ1Esb0JBQW9CTCxNQUFNQztZQUNwRCxPQUFPSSxtQkFBbUJOLFFBQVEsQ0FBQ04sU0FBU08sTUFBTUM7UUFDcEQsR0FBR0QsTUFBTTtZQUNQUCxRQUFRYSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUosMEJBQTBCLHVCQUF1QixDQUFDO1lBRXJGLE9BQU9EO1FBQ1Q7SUFDRixHQUFHO0lBRUgsT0FBT00sT0FBTyxzQkFBc0I7QUFDdEMifQ==
|
|
@@ -52,12 +52,17 @@ const _default = (0, _elements.define)(class NamedBinding extends _occamlanguage
|
|
|
52
52
|
return forward();
|
|
53
53
|
}
|
|
54
54
|
compareNamedBinding(namedBinding, context, back, forward) {
|
|
55
|
-
let namedBindingCompares;
|
|
55
|
+
let namedBindingCompares = false;
|
|
56
56
|
const namedBindingA = this, namedBindingB = namedBinding; ///
|
|
57
57
|
const namedBindingAString = namedBindingA.getString(), namedBindingBString = namedBindingB.getString();
|
|
58
58
|
context.trace(`Comparing the '${namedBindingAString}' named binding with the '${namedBindingBString}' named binding...`);
|
|
59
59
|
const namedBindingName = namedBinding.getName(), namedBindingType = namedBinding.getType(), nameEqualToNamedBindingName = this.name === namedBindingName, typeEqualToNamedBindingType = this.type.isEqualTo(namedBindingType);
|
|
60
|
-
|
|
60
|
+
if (nameEqualToNamedBindingName && typeEqualToNamedBindingType) {
|
|
61
|
+
namedBindingCompares = true;
|
|
62
|
+
}
|
|
63
|
+
if (!namedBindingCompares) {
|
|
64
|
+
return back();
|
|
65
|
+
}
|
|
61
66
|
if (namedBindingCompares) {
|
|
62
67
|
context.debug(`...compared the '${namedBindingAString}' named binding with the '${namedBindingBString}' named binding.`);
|
|
63
68
|
}
|
|
@@ -66,4 +71,4 @@ const _default = (0, _elements.define)(class NamedBinding extends _occamlanguage
|
|
|
66
71
|
static name = "NamedBinding";
|
|
67
72
|
});
|
|
68
73
|
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmcvbmFtZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE5hbWVkQmluZGluZyBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIG5hbWUsIGFsaWFzKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLmFsaWFzID0gYWxpYXM7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRBbGlhcygpIHtcbiAgICByZXR1cm4gdGhpcy5hbGlhcztcbiAgfVxuXG4gIGlzQWxpYXNlZCgpIHtcbiAgICBjb25zdCBhbGlhc2VkID0gKHRoaXMuYWxpYXMgIT09IG51bGwpO1xuXG4gICAgcmV0dXJuIGFsaWFzZWQ7XG4gIH1cblxuICBnZXRBbGlhc2VkTmFtZSgpIHtcbiAgICBjb25zdCBhbGlhc2VkID0gdGhpcy5pc0FsaWFzZWQoKSxcbiAgICAgICAgICBhbGlhc2VkTmFtZSA9IGFsaWFzZWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsaWFzIDogIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFtZTsgLy8vXG5cbiAgICByZXR1cm4gYWxpYXNlZE5hbWU7XG4gIH1cblxuICBjb21wYXJlVGVybSh0ZXJtLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtVHlwZSA9IHRlcm0uZ2V0VHlwZSgpLFxuICAgICAgICAgIHR5cGVFcXVhbFRvVGVybVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHRlcm1UeXBlKTtcblxuICAgIGlmICghdHlwZUVxdWFsVG9UZXJtVHlwZSkge1xuICAgICAgY29uc3QgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3MgJyR7dGVybVR5cGV9JyB0eXBlIGlzIG5vdCBlcXVhbCB0byAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5jb21wYXJlZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gd2l0aCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKCk7XG4gIH1cblxuICBjb21wYXJlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGxldCBuYW1lZEJpbmRpbmdDb21wYXJlcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgbmFtZWRCaW5kaW5nQSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBuYW1lZEJpbmRpbmdCID0gbmFtZWRCaW5kaW5nOyAvLy9cblxuICAgIGNvbnN0IG5hbWVkQmluZGluZ0FTdHJpbmcgPSBuYW1lZEJpbmRpbmdBLmdldFN0cmluZygpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ0JTdHJpbmcgPSBuYW1lZEJpbmRpbmdCLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdBU3RyaW5nfScgbmFtZWQgYmluZGluZyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdCU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgbmFtZWRCaW5kaW5nTmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nVHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZUVxdWFsVG9OYW1lZEJpbmRpbmdOYW1lID0gKHRoaXMubmFtZSA9PT0gbmFtZWRCaW5kaW5nTmFtZSksXG4gICAgICAgICAgdHlwZUVxdWFsVG9OYW1lZEJpbmRpbmdUeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUbyhuYW1lZEJpbmRpbmdUeXBlKTtcblxuICAgIGlmIChuYW1lRXF1YWxUb05hbWVkQmluZGluZ05hbWUgJiYgdHlwZUVxdWFsVG9OYW1lZEJpbmRpbmdUeXBlKSB7XG4gICAgICBuYW1lZEJpbmRpbmdDb21wYXJlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFuYW1lZEJpbmRpbmdDb21wYXJlcykge1xuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9XG5cbiAgICBpZiAobmFtZWRCaW5kaW5nQ29tcGFyZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNvbXBhcmVkIHRoZSAnJHtuYW1lZEJpbmRpbmdBU3RyaW5nfScgbmFtZWQgYmluZGluZyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdCU3RyaW5nfScgbmFtZWQgYmluZGluZy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9yd2FyZChuYW1lZEJpbmRpbmdDb21wYXJlcyk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTmFtZWRCaW5kaW5nXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJOYW1lZEJpbmRpbmciLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsIm5hbWUiLCJhbGlhcyIsImdldFR5cGUiLCJnZXROYW1lIiwiZ2V0QWxpYXMiLCJpc0FsaWFzZWQiLCJhbGlhc2VkIiwiZ2V0QWxpYXNlZE5hbWUiLCJhbGlhc2VkTmFtZSIsImNvbXBhcmVUZXJtIiwidGVybSIsImJhY2siLCJmb3J3YXJkIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsInRyYWNlIiwidGVybVR5cGUiLCJ0eXBlRXF1YWxUb1Rlcm1UeXBlIiwiaXNFcXVhbFRvIiwidHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwiY29tcGFyZU5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZ0NvbXBhcmVzIiwibmFtZWRCaW5kaW5nQSIsIm5hbWVkQmluZGluZ0IiLCJuYW1lZEJpbmRpbmdBU3RyaW5nIiwibmFtZWRCaW5kaW5nQlN0cmluZyIsIm5hbWVkQmluZGluZ05hbWUiLCJuYW1lZEJpbmRpbmdUeXBlIiwibmFtZUVxdWFsVG9OYW1lZEJpbmRpbmdOYW1lIiwidHlwZUVxdWFsVG9OYW1lZEJpbmRpbmdUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OztnQ0FOd0I7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
|
|
@@ -60,19 +60,19 @@ const _default = (0, _elements.define)(class NamedBindings extends _occamlanguag
|
|
|
60
60
|
}
|
|
61
61
|
compareNamedBinding(namedBinding, context, back, forward) {
|
|
62
62
|
const namedBindingString = namedBinding.getString(), namedBindingsString = this.getString(); ///
|
|
63
|
-
context.trace(`Comparing the '${namedBindingString}'
|
|
63
|
+
context.trace(`Comparing the '${namedBindingString}' named binding with the '${namedBindingsString}' named bindings...`);
|
|
64
64
|
const namedBindingA = namedBinding; ///
|
|
65
|
-
return this.someNamedBinding((namedBinding)=>{
|
|
66
|
-
if (namedBinding
|
|
67
|
-
|
|
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);
|
|
65
|
+
return this.someNamedBinding((namedBinding, back, forward)=>{
|
|
66
|
+
if (namedBinding === null) {
|
|
67
|
+
return forward();
|
|
74
68
|
}
|
|
75
|
-
|
|
69
|
+
const namedBindingB = namedBinding; ///
|
|
70
|
+
return namedBindingA.compareNamedBinding(namedBindingB, context, back, forward);
|
|
71
|
+
}, ()=>{
|
|
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);
|
|
74
|
+
}, ()=>{
|
|
75
|
+
context.debug(`...compared the '${namedBindingString}' named binding with the '${namedBindingsString}' named bindings.`);
|
|
76
76
|
return forward();
|
|
77
77
|
});
|
|
78
78
|
}
|
|
@@ -87,4 +87,4 @@ const _default = (0, _elements.define)(class NamedBindings extends _occamlanguag
|
|
|
87
87
|
static name = "NamedBindings";
|
|
88
88
|
});
|
|
89
89
|
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmdzL25hbWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBzb21lLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBOYW1lZEJpbmRpbmdzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5nKGluZGV4KSB7XG4gICAgY29uc3QgbmFtZWRCaW5kaW5nID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBuYW1lZEJpbmRpbmc7XG4gIH1cblxuICBzb21lTmFtZWRCaW5kaW5nKGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIHNvbWUodGhpcy5hcnJheSwgY2FsbGJhY2ssIGJhY2ssIGZvcndhcmQpO1xuICB9XG5cbiAgZm9yRWFjaE5hbWVkQmluZGluZyhjYWxsYmFjaywgYmFjaywgZm9yd2FyZCkge1xuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtcyh0ZXJtcywgY29udGV4dCwgYmFjaywgZm9yd2FyZCkge1xuICAgIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHt0ZXJtc1N0cmluZ30nIHRlcm1zIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0ZXJtcy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdzTGVuZ3RoID0gdGhpcy5nZXRMZW5ndGgoKTtcblxuICAgIGlmICh0ZXJtc0xlbmd0aCAhPT0gbmFtZWRCaW5kaW5nc0xlbmd0aCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyBhbmQgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBiYWNrLCBmb3J3YXJkLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0ZXJtID0gdGVybXMuZ2V0VGVybShpbmRleCk7XG5cbiAgICAgIHJldHVybiBuYW1lZEJpbmRpbmcuY29tcGFyZVRlcm0odGVybSwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgYmFjaywgKCkgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uY29tcGFyZWQgdGhlICcke3Rlcm1zU3RyaW5nfScgdGVybXMgd2l0aCB0aGUgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgY29tcGFyZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQsIGJhY2ssIGZvcndhcmQpIHtcbiAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgbmFtZWRCaW5kaW5nQSA9IG5hbWVkQmluZGluZzsgLy8vXG5cbiAgICByZXR1cm4gdGhpcy5zb21lTmFtZWRCaW5kaW5nKChuYW1lZEJpbmRpbmcsIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICAgIGlmIChuYW1lZEJpbmRpbmcgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nQiA9IG5hbWVkQmluZGluZzsgLy8vXG5cbiAgICAgIHJldHVybiBuYW1lZEJpbmRpbmdBLmNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nQiwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG4gICAgfSwgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWRCaW5kaW5nIGRvZXMgbm90IGNvbXBhcmUgdG8gYW55IG9mIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9LCAoKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jb21wYXJlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlTmFtZWRCaW5kaW5ncyhuYW1lZEJpbmRpbmdzLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIG5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBiYWNrLCBmb3J3YXJkKSA9PiB7XG4gICAgICBpZiAobmFtZWRCaW5kaW5nID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBmb3J3YXJkKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKTtcbiAgICB9LCBiYWNrLCBmb3J3YXJkKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOYW1lZEJpbmRpbmdzXCI7XG59KTtcbiJdLCJuYW1lcyI6WyJzb21lIiwiZm9yRWFjaCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIk5hbWVkQmluZGluZ3MiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldE5hbWVkQmluZGluZyIsImluZGV4IiwibmFtZWRCaW5kaW5nIiwic29tZU5hbWVkQmluZGluZyIsImNhbGxiYWNrIiwiYmFjayIsImZvcndhcmQiLCJmb3JFYWNoTmFtZWRCaW5kaW5nIiwiY29tcGFyZVRlcm1zIiwidGVybXMiLCJ0ZXJtc1N0cmluZyIsImdldFN0cmluZyIsIm5hbWVkQmluZGluZ3NTdHJpbmciLCJ0cmFjZSIsInRlcm1zTGVuZ3RoIiwibmFtZWRCaW5kaW5nc0xlbmd0aCIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInRlcm0iLCJnZXRUZXJtIiwiY29tcGFyZVRlcm0iLCJkZWJ1ZyIsImNvbXBhcmVOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lZEJpbmRpbmdBIiwibmFtZWRCaW5kaW5nQiIsImNvbXBhcmVOYW1lZEJpbmRpbmdzIiwibmFtZWRCaW5kaW5ncyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7O2dDQVIrQztrRUFFekI7MEJBRUM7Ozs7OztBQUV2QixNQUFNLEVBQUVBLElBQUksRUFBRUMsT0FBTyxFQUFFLEdBQUdDLHFDQUFxQjtNQUUvQyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHNCQUFzQkMsdUJBQU87SUFDdkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxLQUFLLENBQUU7UUFDcEQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLEtBQUssR0FBR0E7SUFDZjtJQUVBQyxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNELEtBQUs7SUFDbkI7SUFFQUUsWUFBWTtRQUNWLE1BQU1DLFNBQVMsSUFBSSxDQUFDSCxLQUFLLENBQUNHLE1BQU07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
|
package/lib/element/contains.js
CHANGED
|
@@ -31,22 +31,22 @@ const _default = (0, _elements.define)(class Contains extends _occamlanguages.El
|
|
|
31
31
|
return this.substring;
|
|
32
32
|
}
|
|
33
33
|
evaluate(context, back, forward) {
|
|
34
|
-
let value;
|
|
35
34
|
const containsString = this.getString(); ///
|
|
36
35
|
context.trace(`Evaluating the '${containsString}' function...`);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
return this.variable.evaluate(context, back, (value)=>{
|
|
37
|
+
const valueType = value.getType(), valueTypeStringType = valueType.isStringType();
|
|
38
|
+
if (!valueTypeStringType) {
|
|
39
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
40
|
+
return back(exception);
|
|
41
|
+
}
|
|
42
|
+
const string = value.getString(), boolean = string.contains(this.substring);
|
|
43
|
+
value = (0, _value.valueFromBoolean)(boolean);
|
|
44
|
+
const valueString = value.getString();
|
|
45
|
+
context.debug(`...evaluated the '${containsString}' function as '${valueString}'.`);
|
|
46
|
+
return forward(value);
|
|
47
|
+
});
|
|
48
48
|
}
|
|
49
49
|
static name = "Contains";
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NvbnRhaW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBTVFJJTkdfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbnRhaW5zIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHN1YnN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5zdWJzdHJpbmcgPSBzdWJzdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN1YnN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdHJpbmc7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgY29udGFpbnNTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtjb250YWluc1N0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZ1R5cGUgPSB2YWx1ZVR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlU3RyaW5nVHlwZSkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIGJvb2xlYW4gPSBzdHJpbmcuY29udGFpbnModGhpcy5zdWJzdHJpbmcpO1xuXG4gICAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbik7XG5cbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7Y29udGFpbnNTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29udGFpbnNcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkNvbnRhaW5zIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwic3Vic3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRTdWJzdHJpbmciLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwiY29udGFpbnNTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZVN0cmluZ1R5cGUiLCJpc1N0cmluZ1R5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJTVFJJTkdfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJib29sZWFuIiwiY29udGFpbnMiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7MkJBQ1U7dUJBQ0E7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGlCQUFpQkMsdUJBQU87SUFDbEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsQ0FBRTtRQUNsRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7SUFDbkI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxTQUFTUixPQUFPLEVBQUVTLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLE1BQU1DLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTdDWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsZUFBZSxhQUFhLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixTQUFTUyxNQUFNLENBQUNLO1lBQzVDLE1BQU1DLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLHNCQUFzQkYsVUFBVUcsWUFBWTtZQUVsRCxJQUFJLENBQUNELHFCQUFxQjtnQkFDeEIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLDJCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUM3RkMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtnQkFFeEMsT0FBT1gsS0FBS2E7WUFDZDtZQUVBLE1BQU1yQixTQUFTYSxNQUFNRixTQUFTLElBQ3hCYSxVQUFVeEIsT0FBT3lCLFFBQVEsQ0FBQyxJQUFJLENBQUNyQixTQUFTO1lBRTlDUyxRQUFRYSxJQUFBQSx1QkFBZ0IsRUFBQ0Y7WUFFekIsTUFBTU4sY0FBY0wsTUFBTUYsU0FBUztZQUVuQ1osUUFBUTRCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFakIsZUFBZSxlQUFlLEVBQUVRLFlBQVksRUFBRSxDQUFDO1lBRWxGLE9BQU9ULFFBQVFJO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPZSxPQUFPLFdBQVc7QUFDM0IifQ==
|
package/lib/element/endsWith.js
CHANGED
|
@@ -31,22 +31,22 @@ const _default = (0, _elements.define)(class EndsWith extends _occamlanguages.El
|
|
|
31
31
|
return this.substring;
|
|
32
32
|
}
|
|
33
33
|
evaluate(context, back, forward) {
|
|
34
|
-
let value;
|
|
35
34
|
const endsWithString = this.getString(); ///
|
|
36
35
|
context.trace(`Evaluating the '${endsWithString}' function...`);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
return this.variable.evaluate(context, back, (value)=>{
|
|
37
|
+
const valueType = value.getType(), valueTypeStringType = valueType.isStringType();
|
|
38
|
+
if (!valueTypeStringType) {
|
|
39
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
40
|
+
return back(exception);
|
|
41
|
+
}
|
|
42
|
+
const string = value.getString(), boolean = string.endsWith(this.substring);
|
|
43
|
+
value = (0, _value.valueFromBoolean)(boolean);
|
|
44
|
+
const valueString = value.getString();
|
|
45
|
+
context.debug(`...evaluated the '${endsWithString}' function as '${valueString}'.`);
|
|
46
|
+
return forward(value);
|
|
47
|
+
});
|
|
48
48
|
}
|
|
49
49
|
static name = "EndsWith";
|
|
50
50
|
});
|
|
51
51
|
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2VuZHNXaXRoLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBTVFJJTkdfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL3R5cGVOYW1lc1wiO1xuaW1wb3J0IHsgdmFsdWVGcm9tQm9vbGVhbiB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEVuZHNXaXRoIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHN1YnN0cmluZykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5zdWJzdHJpbmcgPSBzdWJzdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN1YnN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdHJpbmc7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgY29uc3QgZW5kc1dpdGhTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtlbmRzV2l0aFN0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0LCBiYWNrLCAodmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZ1R5cGUgPSB2YWx1ZVR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlU3RyaW5nVHlwZSkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIGJvb2xlYW4gPSBzdHJpbmcuZW5kc1dpdGgodGhpcy5zdWJzdHJpbmcpO1xuXG4gICAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbik7XG5cbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7ZW5kc1dpdGhTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSk7XG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRW5kc1dpdGhcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkVuZHNXaXRoIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwic3Vic3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRTdWJzdHJpbmciLCJldmFsdWF0ZSIsImJhY2siLCJmb3J3YXJkIiwiZW5kc1dpdGhTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZVN0cmluZ1R5cGUiLCJpc1N0cmluZ1R5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJTVFJJTkdfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJib29sZWFuIiwiZW5kc1dpdGgiLCJ2YWx1ZUZyb21Cb29sZWFuIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OztnQ0FSd0I7a0VBRUY7MEJBRUM7MkJBQ1U7dUJBQ0E7Ozs7OztNQUVqQyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGlCQUFpQkMsdUJBQU87SUFDbEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsQ0FBRTtRQUNsRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7SUFDbkI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0YsU0FBUztJQUN2QjtJQUVBRyxTQUFTUixPQUFPLEVBQUVTLElBQUksRUFBRUMsT0FBTyxFQUFFO1FBQy9CLE1BQU1DLGlCQUFpQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRTdDWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsZUFBZSxhQUFhLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixTQUFTUyxNQUFNLENBQUNLO1lBQzVDLE1BQU1DLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLHNCQUFzQkYsVUFBVUcsWUFBWTtZQUVsRCxJQUFJLENBQUNELHFCQUFxQjtnQkFDeEIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLDJCQUFnQixDQUFDLEVBQUUsQ0FBQyxFQUM3RkMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtnQkFFeEMsT0FBT1gsS0FBS2E7WUFDZDtZQUVBLE1BQU1yQixTQUFTYSxNQUFNRixTQUFTLElBQ3hCYSxVQUFVeEIsT0FBT3lCLFFBQVEsQ0FBQyxJQUFJLENBQUNyQixTQUFTO1lBRTlDUyxRQUFRYSxJQUFBQSx1QkFBZ0IsRUFBQ0Y7WUFFekIsTUFBTU4sY0FBY0wsTUFBTUYsU0FBUztZQUVuQ1osUUFBUTRCLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFakIsZUFBZSxlQUFlLEVBQUVRLFlBQVksRUFBRSxDQUFDO1lBRWxGLE9BQU9ULFFBQVFJO1FBQ2pCO0lBQ0Y7SUFFQSxPQUFPZSxPQUFPLFdBQVc7QUFDM0IifQ==
|