occam-furtle 3.0.529 → 3.0.535
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/anonymousProcedure.js +3 -3
- package/lib/element/apply.js +2 -2
- package/lib/element/assignment/object.js +34 -24
- package/lib/element/bindings/named.js +2 -9
- package/lib/element/every.js +6 -3
- package/lib/element/primitive.js +3 -3
- package/lib/element/procedure.js +3 -3
- package/lib/element/procedureCall.js +2 -1
- package/lib/element/some.js +6 -3
- package/lib/element/term.js +1 -7
- package/lib/element/terms.js +4 -4
- package/lib/nominalValueProperties.js +2 -9
- package/lib/nominalValueProperty.js +2 -6
- package/package.json +2 -2
- package/src/element/anonymousProcedure.js +2 -2
- package/src/element/apply.js +1 -1
- package/src/element/assignment/object.js +48 -38
- package/src/element/bindings/named.js +1 -11
- package/src/element/every.js +7 -2
- package/src/element/primitive.js +3 -3
- package/src/element/procedure.js +2 -2
- package/src/element/procedureCall.js +4 -0
- package/src/element/some.js +6 -2
- package/src/element/term.js +0 -18
- package/src/element/terms.js +3 -3
- package/src/nominalValueProperties.js +1 -11
- package/src/nominalValueProperty.js +1 -7
|
@@ -37,7 +37,7 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
37
37
|
evaluate(values, context, forward, back) {
|
|
38
38
|
forward = cut(forward, back); ///
|
|
39
39
|
const anonymousProcedureString = this.getString(); ///
|
|
40
|
-
context.trace(`
|
|
40
|
+
context.trace(`Evaluating the '${anonymousProcedureString}' anonymous function...`);
|
|
41
41
|
return this.parameters.compareValues(values, context, (back)=>{
|
|
42
42
|
const variables = (0, _parameters.variablesFromValuesAndParameters)(values, this.parameters, context);
|
|
43
43
|
return this.returnBlock.evaluate(variables, context, (value, back)=>{
|
|
@@ -46,7 +46,7 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
46
46
|
const typeString = this.type.getString(), valueString = value.getString(), valueTypeString = valueType.getString(), message = `The '${valueString}' value's '${valueTypeString}' type is not equal to the '${anonymousProcedureString}' anonymous function's '${typeString}' type.`, exception = _exception.default.fromMessage(message);
|
|
47
47
|
return back(exception);
|
|
48
48
|
}
|
|
49
|
-
context.debug(`...
|
|
49
|
+
context.debug(`...evaluated the '${anonymousProcedureString}' anonymous function.`);
|
|
50
50
|
return forward(value, back);
|
|
51
51
|
}, back);
|
|
52
52
|
}, back);
|
|
@@ -54,4 +54,4 @@ const _default = (0, _elements.define)(class AnonymousProcedure extends _occamla
|
|
|
54
54
|
static name = "AnonymousProcedure";
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Fub255bW91c1Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuXG5jb25zdCB7IGN1dCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgQW5vbnltb3VzUHJvY2VkdXJlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgcGFyYW1ldGVycywgcmV0dXJuQmxvY2spIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZXZhbHVhdGUodmFsdWVzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgZm9yd2FyZCA9IGN1dChmb3J3YXJkLCBiYWNrKTsgLy8vXG5cbiAgICBjb25zdCBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30nIGFub255bW91cyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycy5jb21wYXJlVmFsdWVzKHZhbHVlcywgY29udGV4dCwgKGJhY2spID0+IHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzKHZhbHVlcywgdGhpcy5wYXJhbWV0ZXJzLCBjb250ZXh0KTtcblxuICAgICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICB0eXBlRXF1YWxUb1ZhbHVlVHlwZSA9IHRoaXMudHlwZS5pc0VxdWFsVG8odmFsdWVUeXBlKTtcblxuICAgICAgICBpZiAoIXR5cGVFcXVhbFRvVmFsdWVUeXBlKSB7XG4gICAgICAgICAgY29uc3QgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICAgIHZhbHVlVHlwZVN0cmluZyA9IHZhbHVlVHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlU3RyaW5nfScgdHlwZSBpcyBub3QgZXF1YWwgdG8gdGhlICcke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30nIGFub255bW91cyBmdW5jdGlvbidzICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfScgYW5vbnltb3VzIGZ1bmN0aW9uLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgICAgIH0sIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkFub255bW91c1Byb2NlZHVyZVwiO1xufSk7XG4iXSwibmFtZXMiOlsiY3V0IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiQW5vbnltb3VzUHJvY2VkdXJlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInR5cGUiLCJwYXJhbWV0ZXJzIiwicmV0dXJuQmxvY2siLCJnZXRUeXBlIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiZXZhbHVhdGUiLCJ2YWx1ZXMiLCJmb3J3YXJkIiwiYmFjayIsImFub255bW91c1Byb2NlZHVyZVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwiY29tcGFyZVZhbHVlcyIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInR5cGVTdHJpbmciLCJ2YWx1ZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7Z0NBVCtDO2tFQUV6QjswQkFFQzs0QkFDMEI7Ozs7OztBQUVqRCxNQUFNLEVBQUVBLEdBQUcsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFckMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQywyQkFBMkJDLHVCQUFPO0lBQzVELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsQ0FBRTtRQUM1RSxLQUFLLENBQUNOLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO0lBQ2xCO0lBRUFJLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDSCxVQUFVO0lBQ3hCO0lBRUFJLGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDSCxXQUFXO0lBQ3pCO0lBRUFJLFNBQVNDLE1BQU0sRUFBRVgsT0FBTyxFQUFFWSxPQUFPLEVBQUVDLElBQUksRUFBRTtRQUN2Q0QsVUFBVWpCLElBQUlpQixTQUFTQyxPQUFPLEdBQUc7UUFFakMsTUFBTUMsMkJBQTJCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFdERmLFFBQVFnQixLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYseUJBQXlCLHVCQUF1QixDQUFDO1FBRWxGLE9BQU8sSUFBSSxDQUFDVCxVQUFVLENBQUNZLGFBQWEsQ0FBQ04sUUFBUVgsU0FBUyxDQUFDYTtZQUNyRCxNQUFNSyxZQUFZQyxJQUFBQSw0Q0FBZ0MsRUFBQ1IsUUFBUSxJQUFJLENBQUNOLFVBQVUsRUFBRUw7WUFFNUUsT0FBTyxJQUFJLENBQUNNLFdBQVcsQ0FBQ0ksUUFBUSxDQUFDUSxXQUFXbEIsU0FBUyxDQUFDb0IsT0FBT1A7Z0JBQzNELE1BQU1RLFlBQVlELE1BQU1iLE9BQU8sSUFDekJlLHVCQUF1QixJQUFJLENBQUNsQixJQUFJLENBQUNtQixTQUFTLENBQUNGO2dCQUVqRCxJQUFJLENBQUNDLHNCQUFzQjtvQkFDekIsTUFBTUUsYUFBYSxJQUFJLENBQUNwQixJQUFJLENBQUNXLFNBQVMsSUFDaENVLGNBQWNMLE1BQU1MLFNBQVMsSUFDN0JXLGtCQUFrQkwsVUFBVU4sU0FBUyxJQUNyQ1ksVUFBVSxDQUFDLEtBQUssRUFBRUYsWUFBWSxXQUFXLEVBQUVDLGdCQUFnQiw0QkFBNEIsRUFBRVoseUJBQXlCLHdCQUF3QixFQUFFVSxXQUFXLE9BQU8sQ0FBQyxFQUMvSkksWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsT0FBT2QsS0FBS2U7Z0JBQ2Q7Z0JBRUE1QixRQUFRK0IsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUVqQix5QkFBeUIscUJBQXFCLENBQUM7Z0JBRWxGLE9BQU9GLFFBQVFRLE9BQU9QO1lBQ3hCLEdBQUdBO1FBQ0wsR0FBR0E7SUFDTDtJQUVBLE9BQU9tQixPQUFPLHFCQUFxQjtBQUNyQyJ9
|
package/lib/element/apply.js
CHANGED
|
@@ -100,7 +100,7 @@ const _default = (0, _elements.define)(class Apply extends _occamlanguages.Eleme
|
|
|
100
100
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
101
101
|
return back(exception);
|
|
102
102
|
}
|
|
103
|
-
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue;
|
|
103
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue; ///
|
|
104
104
|
if (!boolean) {
|
|
105
105
|
return back();
|
|
106
106
|
}
|
|
@@ -124,4 +124,4 @@ const _default = (0, _elements.define)(class Apply extends _occamlanguages.Eleme
|
|
|
124
124
|
static name = "Apply";
|
|
125
125
|
});
|
|
126
126
|
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2FwcGx5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgdW5icmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBcHBseSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhbHVlcywgdmFyaWFibGUsIHJlZmVyZW5jZXMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucmVmZXJlbmNlcyA9IHJlZmVyZW5jZXM7XG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXM7XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgYXBwbHlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YXBwbHlTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlLmxpZnQoY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZXNMZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgICAgcmVmZXJlbmNlc0xlbmd0aCA9IHRoaXMucmVmZXJlbmNlcy5nZXRMZW5ndGgoKTtcblxuICAgICAgaWYgKHZhbHVlc0xlbmd0aCAhPT0gcmVmZXJlbmNlc0xlbmd0aCkge1xuICAgICAgICBjb25zdCBib29sZWFuID0gZmFsc2UsXG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2FwcGx5U3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBldmVyeSh2YWx1ZXMsICh2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaywgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5yZWZlcmVuY2VzLmdldFJlZmVyZW5jZShpbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbFByb2NlZHVyZShyZWZlcmVuY2UsIHZhbHVlLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2FwcGx5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgdW5icmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBcHBseSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhbHVlcywgdmFyaWFibGUsIHJlZmVyZW5jZXMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucmVmZXJlbmNlcyA9IHJlZmVyZW5jZXM7XG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXM7XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgYXBwbHlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7YXBwbHlTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlLmxpZnQoY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZXNMZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgICAgcmVmZXJlbmNlc0xlbmd0aCA9IHRoaXMucmVmZXJlbmNlcy5nZXRMZW5ndGgoKTtcblxuICAgICAgaWYgKHZhbHVlc0xlbmd0aCAhPT0gcmVmZXJlbmNlc0xlbmd0aCkge1xuICAgICAgICBjb25zdCBib29sZWFuID0gZmFsc2UsXG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2FwcGx5U3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBldmVyeSh2YWx1ZXMsICh2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaywgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gdGhpcy5yZWZlcmVuY2VzLmdldFJlZmVyZW5jZShpbmRleCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbFByb2NlZHVyZShyZWZlcmVuY2UsIHZhbHVlLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICAgICAgaWYgKCF2YWx1ZVR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgICAgICAgIGJvb2xlYW4gPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICAgICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgICAgIH0sIGJhY2spO1xuICAgICAgfSwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgICAgY29uc3QgYm9vbGVhbiA9IHRydWUsXG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2FwcGx5U3RyaW5nfScgZnVuY3Rpb24gYXMgJyR7dmFsdWVTdHJpbmd9Jy5gKTtcblxuICAgICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfSk7XG5cbiAgY2FsbFByb2NlZHVyZShyZWZlcmVuY2UsIHZhbHVlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgbGV0IHZhbHVlcztcblxuICAgIGNvbnN0IHsgVmFsdWVzIH0gPSBlbGVtZW50cztcblxuICAgIHZhbHVlcyA9IFZhbHVlcy5mcm9tVmFsdWUodmFsdWUpO1xuXG4gICAgdmFsdWVzID0gdmFsdWVzLm1lcmdlKHRoaXMudmFsdWVzKTsgLy8vXG5cbiAgICBjb25zdCB7IFByb2NlZHVyZUNhbGwgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHByb2NlZHVyZUNhbGwgPSBQcm9jZWR1cmVDYWxsLmZyb21SZWZlcmVuY2VBbmRWYWx1ZXMocmVmZXJlbmNlLCB2YWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZUNhbGwuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQXBwbHlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImV2ZXJ5IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwidW5icmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiQXBwbHkiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFsdWVzIiwidmFyaWFibGUiLCJyZWZlcmVuY2VzIiwiZ2V0VmFsdWVzIiwiZ2V0VmFyaWFibGUiLCJnZXRSZWZlcmVuY2VzIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsImFwcGx5U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVMaXN0VHlwZSIsImlzTGlzdFR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJMSVNUX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGlmdCIsInZhbHVlc0xlbmd0aCIsImxlbmd0aCIsInJlZmVyZW5jZXNMZW5ndGgiLCJnZXRMZW5ndGgiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsImluZGV4IiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiY2FsbFByb2NlZHVyZSIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIlZhbHVlcyIsImVsZW1lbnRzIiwiZnJvbVZhbHVlIiwibWVyZ2UiLCJQcm9jZWR1cmVDYWxsIiwicHJvY2VkdXJlQ2FsbCIsImZyb21SZWZlcmVuY2VBbmRWYWx1ZXMiLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFjQTs7O2VBQUE7OztnQ0Fab0U7a0VBRS9DO2tFQUNDO3VCQUdXOzJCQUNpQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEQsTUFBTSxFQUFFQSxLQUFLLEVBQUUsR0FBR0MscUNBQXFCLEVBQ2pDLEVBQUVDLFdBQVcsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFM0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVLENBQUU7UUFDM0UsS0FBSyxDQUFDTixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNGLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNHLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0gsTUFBTTtJQUNwQjtJQUVBSSxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNILFFBQVE7SUFDdEI7SUFFQUksZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNILFVBQVU7SUFDeEI7SUFFQUksV0FBV2YsWUFBWSxTQUFVSyxPQUFPLEVBQUVXLE9BQU8sRUFBRUMsSUFBSTtRQUNyRCxNQUFNQyxjQUFjLElBQUksQ0FBQ0MsU0FBUztRQUVsQ2QsUUFBUWUsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLFlBQVksYUFBYSxDQUFDO1FBRTNELE9BQU8sSUFBSSxDQUFDUixRQUFRLENBQUNLLFFBQVEsQ0FBQ1YsU0FBUyxDQUFDZ0IsT0FBT0o7WUFDN0MsTUFBTUssWUFBWUQsTUFBTUUs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
|
|
@@ -94,9 +94,9 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
94
94
|
}, back);
|
|
95
95
|
}, back);
|
|
96
96
|
});
|
|
97
|
-
evaluateNamedBinding(namedBinding,
|
|
98
|
-
const
|
|
99
|
-
context.trace(`Evaluating the '${namedBindingString}' named binding against the '${
|
|
97
|
+
evaluateNamedBinding(namedBinding, value, context, forward, back) {
|
|
98
|
+
const valueString = value.getString(), namedBindingString = namedBinding.getString();
|
|
99
|
+
context.trace(`Evaluating the '${namedBindingString}' named binding against the '${valueString}' value...`);
|
|
100
100
|
const name = namedBinding.getName();
|
|
101
101
|
let evaluateNamedBinding;
|
|
102
102
|
switch(name){
|
|
@@ -126,15 +126,15 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
126
126
|
break;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
-
return evaluateNamedBinding(namedBinding,
|
|
129
|
+
return evaluateNamedBinding(namedBinding, value, context, (value, back)=>{
|
|
130
130
|
const { Variable } = _elements.default, variable = Variable.fromNamedBinding(namedBinding, context);
|
|
131
131
|
return variable.assign(value, context, (back)=>{
|
|
132
|
-
context.debug(`...evaluated the '${namedBindingString}'
|
|
132
|
+
context.debug(`...evaluated the '${namedBindingString}' named binding against the '${valueString}' value.`);
|
|
133
133
|
return forward(back);
|
|
134
134
|
}, back);
|
|
135
135
|
}, back);
|
|
136
136
|
}
|
|
137
|
-
evaluateTypeNamedBinding(namedBinding,
|
|
137
|
+
evaluateTypeNamedBinding(namedBinding, value, context, forward, back) {
|
|
138
138
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
139
139
|
context.trace(`Evaluating the type '${namedBindingString}' named binding...`);
|
|
140
140
|
const typeStringType = type.isStringType();
|
|
@@ -142,16 +142,18 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
142
142
|
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
143
143
|
return back(exception);
|
|
144
144
|
}
|
|
145
|
-
const primitiveValue =
|
|
145
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
146
146
|
if (!nodeTerminalNode) {
|
|
147
|
-
const
|
|
147
|
+
const valueString = value.getString(), message = `The '${valueString}' value's node must be terminal.`, exception = _exception.default.fromMessage(message);
|
|
148
148
|
return back(exception);
|
|
149
149
|
}
|
|
150
|
-
const terminalNode = node, terminalNodeType = terminalNode.getType(), string = terminalNodeType, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string)
|
|
150
|
+
const terminalNode = node, terminalNodeType = terminalNode.getType(), string = terminalNodeType, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string);
|
|
151
|
+
value = (0, _value.valueFromStringLiteral)(stringLiteral, context); ///
|
|
152
|
+
const valueSttring = value.getString();
|
|
151
153
|
context.debug(`...evaluated the type '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
152
154
|
return forward(value, back);
|
|
153
155
|
}
|
|
154
|
-
evaluateContentNamedBinding(namedBinding,
|
|
156
|
+
evaluateContentNamedBinding(namedBinding, value, context, forward, back) {
|
|
155
157
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
156
158
|
context.trace(`Evaluating the content '${namedBindingString}' named binding...`);
|
|
157
159
|
const typeStringType = type.isStringType();
|
|
@@ -159,16 +161,18 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
159
161
|
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
160
162
|
return back(exception);
|
|
161
163
|
}
|
|
162
|
-
const primitiveValue =
|
|
164
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
163
165
|
if (!nodeTerminalNode) {
|
|
164
|
-
const
|
|
166
|
+
const valueString = value.getString(), message = `The '${valueString}' value's node must be terminal.`, exception = _exception.default.fromMessage(message);
|
|
165
167
|
return back(exception);
|
|
166
168
|
}
|
|
167
|
-
const terminalNode = node, content = terminalNode.getContent(), string = content, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string)
|
|
169
|
+
const terminalNode = node, content = terminalNode.getContent(), string = content, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string);
|
|
170
|
+
value = (0, _value.valueFromStringLiteral)(stringLiteral, context); ///
|
|
171
|
+
const valueSttring = value.getString();
|
|
168
172
|
context.debug(`...evaluated the content '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
169
173
|
return forward(value, back);
|
|
170
174
|
}
|
|
171
|
-
evaluateTerminalNamedBinding(namedBinding,
|
|
175
|
+
evaluateTerminalNamedBinding(namedBinding, value, context, forward, back) {
|
|
172
176
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
173
177
|
context.trace(`Evaluating the terminal '${namedBindingString}' named binding...`);
|
|
174
178
|
const typeBooleanType = type.isBooleanType();
|
|
@@ -176,11 +180,13 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
176
180
|
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
177
181
|
return back(exception);
|
|
178
182
|
}
|
|
179
|
-
const primitiveValue =
|
|
183
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode(), terminal = nodeTerminalNode, boolean = terminal; ///
|
|
184
|
+
value = (0, _value.valueFromBoolean)(boolean, context); ///
|
|
185
|
+
const valueSttring = value.getString();
|
|
180
186
|
context.debug(`...evaluated the terminal '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
181
187
|
return forward(value, back);
|
|
182
188
|
}
|
|
183
|
-
evaluateChildNodesNamedBinding(namedBinding,
|
|
189
|
+
evaluateChildNodesNamedBinding(namedBinding, value, context, forward, back) {
|
|
184
190
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
185
191
|
context.trace(`Evaluating the child nodes '${namedBindingString}' named binding...`);
|
|
186
192
|
const typeListType = type.isListType();
|
|
@@ -188,16 +194,18 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
188
194
|
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
189
195
|
return back(exception);
|
|
190
196
|
}
|
|
191
|
-
const primitiveValue =
|
|
197
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeNonTerminalNode = node.isNonTerminalNode();
|
|
192
198
|
if (!nodeNonTerminalNode) {
|
|
193
|
-
const
|
|
199
|
+
const valueString = value.getString(), message = `The '${valueString}' value's node must be non-terminal.`, exception = _exception.default.fromMessage(message);
|
|
194
200
|
return back(exception);
|
|
195
201
|
}
|
|
196
|
-
const nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes
|
|
202
|
+
const nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes; ///
|
|
203
|
+
value = (0, _value.valueFromNodesAndNominalValue)(nodes, nominalValue); ///
|
|
204
|
+
const valueSttring = value.getString();
|
|
197
205
|
context.debug(`...evaluated the childNodes '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
198
206
|
return forward(value, back);
|
|
199
207
|
}
|
|
200
|
-
evaluateNoWhitespaceNamedBinding(namedBinding,
|
|
208
|
+
evaluateNoWhitespaceNamedBinding(namedBinding, value, context, forward, back) {
|
|
201
209
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
202
210
|
context.trace(`Evaluating the no whitespace '${namedBindingString}' named binding...`);
|
|
203
211
|
const typeBooleanType = type.isBooleanType();
|
|
@@ -205,16 +213,18 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
205
213
|
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
206
214
|
return back(exception);
|
|
207
215
|
}
|
|
208
|
-
const primitiveValue =
|
|
216
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
209
217
|
if (!nodeTerminalNode) {
|
|
210
|
-
const
|
|
218
|
+
const valueString = value.getString(), message = `The '${valueString}' value's node must be terminal.`, exception = _exception.default.fromMessage(message);
|
|
211
219
|
return back(exception);
|
|
212
220
|
}
|
|
213
|
-
const terminalNode = node, noWhiteapce = terminalNode.isNoWhitespaceNode(), boolean = noWhiteapce
|
|
221
|
+
const terminalNode = node, noWhiteapce = terminalNode.isNoWhitespaceNode(), boolean = noWhiteapce; ///
|
|
222
|
+
value = (0, _value.valueFromBoolean)(boolean, context); ///
|
|
223
|
+
const valueSttring = value.getString();
|
|
214
224
|
context.debug(`...evaluated the no whitespace '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
215
225
|
return forward(value, back);
|
|
216
226
|
}
|
|
217
227
|
static name = "ObjectAssignment";
|
|
218
228
|
});
|
|
219
229
|
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfUEFSQU1FVEVSX05BTUUsIENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBsZXQgZXZhbHVhdGVOYW1lZEJpbmRpbmc7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgVFlQRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVUeXBlTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgZXZhbHVhdGVOYW1lZEJpbmRpbmcgPSB0aGlzLmV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZVR5cGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgdHlwZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nVHlwZSA9IHR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVTdHJpbmdUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVR5cGUgPSB0ZXJtaW5hbE5vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHRlcm1pbmFsTm9kZVR5cGUsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIHR5cGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmdUeXBlID0gdHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdHlwZVN0cmluZ1R5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGVybWluYWwsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSwgIC8vL1xuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNoaWxkIG5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVMaXN0VHlwZSA9IHR5cGUuaXNMaXN0VHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIG5vbi10ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbm9XaGl0ZWFwY2UgPSB0ZXJtaW5hbE5vZGUuaXNOb1doaXRlc3BhY2VOb2RlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IG5vV2hpdGVhcGNlLCAgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiT2JqZWN0QXNzaWdubWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIk9iamVjdEFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJuYW1lZEJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXROYW1lZEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUiLCJpc05vbWluYWxWYWx1ZVR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9taW5hbFZhbHVlUHJvcGVydGllcyIsImNvbXBhcmVOYW1lZEJpbmRpbmdzIiwiZm9yRWFjaE5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsImV2YWx1YXRlTmFtZWRCaW5kaW5nIiwiZGVidWciLCJ0ZXJtIiwidGVybVN0cmluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiVFlQRV9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVHlwZU5hbWVkQmluZGluZyIsImJpbmQiLCJDT05URU5UX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVR5cGUiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0eXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJ0ZXJtaW5hbCIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsIkxJU1RfVFlQRV9OQU1FIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsInZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIiwibm9XaGl0ZWFwY2UiLCJpc05vV2hpdGVzcGFjZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OztnQ0FkNkM7a0VBRXhCO2tFQUNDOytFQUNhOytCQUdLO3VCQUNnRDsyQkFDSztnQ0FDa0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9JLE1BQU0sRUFBRUEsU0FBUyxFQUFFLEdBQUdDLG1DQUFtQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHlCQUF5QkMsdUJBQU87SUFDMUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsQ0FBRTtRQUN0RSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7SUFDdkI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0YsYUFBYTtJQUMzQjtJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsT0FBTyxFQUFFQyxJQUFJO1FBQ25ELE1BQU1DLHlCQUF5QixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXBEWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsdUJBQXVCLHNCQUFzQixDQUFDO1FBRS9FLE9BQU8sSUFBSSxDQUFDUCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsU0FBUyxDQUFDYyxPQUFPSjtZQUM3QyxNQUFNSyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCQyw0QkFBNEJGLFVB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
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfUEFSQU1FVEVSX05BTUUsIENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlLi4uYCk7XG5cbiAgICBjb25zdCBuYW1lID0gbmFtZWRCaW5kaW5nLmdldE5hbWUoKTtcblxuICAgIGxldCBldmFsdWF0ZU5hbWVkQmluZGluZztcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBUWVBFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZVR5cGVOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZy5iaW5kKHRoaXMpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV2YWx1YXRlTmFtZWRCaW5kaW5nID0gdGhpcy5ldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZy5iaW5kKHRoaXMpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBldmFsdWF0ZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZVR5cGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIHR5cGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZVN0cmluZ1R5cGUgPSB0eXBlLmlzU3RyaW5nVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlU3RyaW5nVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVR5cGUgPSB0ZXJtaW5hbE5vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHRlcm1pbmFsTm9kZVR5cGUsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKTtcblxuICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KTsgLy8vXG5cbiAgICBjb25zdCB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgdHlwZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdmFsdWUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmdUeXBlID0gdHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdHlwZVN0cmluZ1R5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBzdHJpbmcgPSBjb250ZW50LCAgLy8vXG4gICAgICAgICAgc3RyaW5nTGl0ZXJhbCA9IHN0cmluZ0xpdGVyYWxGcm9tU3RyaW5nKHN0cmluZyk7XG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCk7IC8vL1xuXG4gICAgY29uc3QgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIHRlcm1pbmFsICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVCb29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGVybWluYWw7IC8vL1xuXG4gICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb25zdCB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHZhbHVlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY2hpbGQgbm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUxpc3RUeXBlID0gdHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVMaXN0VHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzOyAvLy9cblxuICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSk7IC8vL1xuXG4gICAgY29uc3QgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdmFsdWUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVCb29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbm9XaGl0ZWFwY2UgPSB0ZXJtaW5hbE5vZGUuaXNOb1doaXRlc3BhY2VOb2RlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IG5vV2hpdGVhcGNlOyAgLy8vXG5cbiAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7IC8vL1xuXG4gICAgY29uc3QgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJPYmplY3RBc3NpZ25tZW50XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJicmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiT2JqZWN0QXNzaWdubWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YXJpYWJsZSIsIm5hbWVkQmluZGluZ3MiLCJnZXRWYXJpYWJsZSIsImdldE5hbWVkQmluZGluZ3MiLCJldmFsdWF0ZSIsImZvcndhcmQiLCJiYWNrIiwib2JqZWN0QXNzaWdubWVudFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSIsImlzTm9taW5hbFZhbHVlVHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub21pbmFsVmFsdWVQcm9wZXJ0aWVzIiwiY29tcGFyZU5hbWVkQmluZGluZ3MiLCJmb3JFYWNoTmFtZWRCaW5kaW5nIiwibmFtZWRCaW5kaW5nIiwiZXZhbHVhdGVOYW1lZEJpbmRpbmciLCJkZWJ1ZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiVFlQRV9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVHlwZU5hbWVkQmluZGluZyIsImJpbmQiLCJDT05URU5UX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVR5cGUiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0eXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJ0ZXJtaW5hbCIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsIkxJU1RfVFlQRV9OQU1FIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsInZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIiwibm9XaGl0ZWFwY2UiLCJpc05vV2hpdGVzcGFjZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OztnQ0FkNkM7a0VBRXhCO2tFQUNDOytFQUNhOytCQUdLO3VCQUNnRDsyQkFDSztnQ0FDa0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9JLE1BQU0sRUFBRUEsU0FBUyxFQUFFLEdBQUdDLG1DQUFtQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHlCQUF5QkMsdUJBQU87SUFDMUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsQ0FBRTtRQUN0RSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7SUFDdkI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0YsYUFBYTtJQUMzQjtJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsT0FBTyxFQUFFQyxJQUFJO1FBQ25ELE1BQU1DLHlCQUF5QixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXBEWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsdUJBQXVCLHNCQUFzQixDQUFDO1FBRS9FLE9BQU8sSUFBSSxDQUFDUCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsU0FBUyxDQUFDYyxPQUFPSjtZQUM3QyxNQUFNSyxZQUFZRCxNQUFNRSxPQUFP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
|
|
@@ -71,14 +71,7 @@ const _default = (0, _elements.define)(class NamedBindings extends _occamlanguag
|
|
|
71
71
|
}, (back)=>{
|
|
72
72
|
context.debug(`...compared the '${namedBindingString}' named binding with the '${namedBindingsString}' named bindings.`);
|
|
73
73
|
return forward(back);
|
|
74
|
-
},
|
|
75
|
-
if (exception) {
|
|
76
|
-
return back(exception);
|
|
77
|
-
}
|
|
78
|
-
const message = `The '${namedBindingString}' namedBinding does not compare to any of the '${namedBindingsString}' named bindings.`;
|
|
79
|
-
exception = _exception.default.fromMessage(message);
|
|
80
|
-
return back(exception);
|
|
81
|
-
});
|
|
74
|
+
}, back);
|
|
82
75
|
}
|
|
83
76
|
compareNamedBindings(namedBindings, context, forward, back) {
|
|
84
77
|
return namedBindings.forEachNamedBinding((namedBinding, forward, back)=>{
|
|
@@ -91,4 +84,4 @@ const _default = (0, _elements.define)(class NamedBindings extends _occamlanguag
|
|
|
91
84
|
static name = "NamedBindings";
|
|
92
85
|
});
|
|
93
86
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmdzL25hbWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBzb21lLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBOYW1lZEJpbmRpbmdzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5nKGluZGV4KSB7XG4gICAgY29uc3QgbmFtZWRCaW5kaW5nID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBuYW1lZEJpbmRpbmc7XG4gIH1cblxuICBzb21lTmFtZWRCaW5kaW5nKGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIHNvbWUodGhpcy5hcnJheSwgY2FsbGJhY2ssIGZvcndhcmQsIGJhY2spO1xuICB9XG5cbiAgZm9yRWFjaE5hbWVkQmluZGluZyhjYWxsYmFjaywgZm9yd2FyZCwgYmFjaykge1xuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKTtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtcyh0ZXJtcywgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHt0ZXJtc1N0cmluZ30nIHRlcm1zIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0ZXJtcy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdzTGVuZ3RoID0gdGhpcy5nZXRMZW5ndGgoKTtcblxuICAgIGlmICh0ZXJtc0xlbmd0aCAhPT0gbmFtZWRCaW5kaW5nc0xlbmd0aCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyBhbmQgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGVybSA9IHRlcm1zLmdldFRlcm0oaW5kZXgpO1xuXG4gICAgICByZXR1cm4gbmFtZWRCaW5kaW5nLmNvbXBhcmVUZXJtKHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jb21wYXJlZCB0aGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgY29tcGFyZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgbmFtZWRCaW5kaW5nQSA9IG5hbWVkQmluZGluZzsgLy8vXG5cbiAgICByZXR1cm4gdGhpcy5zb21lTmFtZWRCaW5kaW5nKChuYW1lZEJpbmRpbmcsIGZvcndhcmQsIGJhY2spID0+
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2JpbmRpbmdzL25hbWVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyBzb21lLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBOYW1lZEJpbmRpbmdzIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgYXJyYXkpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xuICB9XG5cbiAgZ2V0QXJyYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJyYXk7XG4gIH1cblxuICBnZXRMZW5ndGgoKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5hcnJheS5sZW5ndGg7XG5cbiAgICByZXR1cm4gbGVuZ3RoO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5nKGluZGV4KSB7XG4gICAgY29uc3QgbmFtZWRCaW5kaW5nID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDtcblxuICAgIHJldHVybiBuYW1lZEJpbmRpbmc7XG4gIH1cblxuICBzb21lTmFtZWRCaW5kaW5nKGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIHNvbWUodGhpcy5hcnJheSwgY2FsbGJhY2ssIGZvcndhcmQsIGJhY2spO1xuICB9XG5cbiAgZm9yRWFjaE5hbWVkQmluZGluZyhjYWxsYmFjaywgZm9yd2FyZCwgYmFjaykge1xuICAgIHJldHVybiBmb3JFYWNoKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKTtcbiAgfVxuXG4gIGNvbXBhcmVUZXJtcyh0ZXJtcywgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHRlcm1zU3RyaW5nID0gdGVybXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHt0ZXJtc1N0cmluZ30nIHRlcm1zIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgdGVybXNMZW5ndGggPSB0ZXJtcy5nZXRMZW5ndGgoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdzTGVuZ3RoID0gdGhpcy5nZXRMZW5ndGgoKTtcblxuICAgIGlmICh0ZXJtc0xlbmd0aCAhPT0gbmFtZWRCaW5kaW5nc0xlbmd0aCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyBhbmQgJyR7bmFtZWRCaW5kaW5nc1N0cmluZ30nIG5hbWVkIGJpbmRpbmdzIGFyZSBub3Qgb2YgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdGVybSA9IHRlcm1zLmdldFRlcm0oaW5kZXgpO1xuXG4gICAgICByZXR1cm4gbmFtZWRCaW5kaW5nLmNvbXBhcmVUZXJtKHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jb21wYXJlZCB0aGUgJyR7dGVybXNTdHJpbmd9JyB0ZXJtcyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgY29tcGFyZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nc1N0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgQ29tcGFyaW5nIHRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIHdpdGggdGhlICcke25hbWVkQmluZGluZ3NTdHJpbmd9JyBuYW1lZCBiaW5kaW5ncy4uLmApO1xuXG4gICAgY29uc3QgbmFtZWRCaW5kaW5nQSA9IG5hbWVkQmluZGluZzsgLy8vXG5cbiAgICByZXR1cm4gdGhpcy5zb21lTmFtZWRCaW5kaW5nKChuYW1lZEJpbmRpbmcsIGZvcndhcmQsIGJhY2spID0+IHtcbiAgICAgIGlmIChuYW1lZEJpbmRpbmcgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZvcndhcmQoYmFjayk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ0IgPSBuYW1lZEJpbmRpbmc7IC8vL1xuXG4gICAgICByZXR1cm4gbmFtZWRCaW5kaW5nQS5jb21wYXJlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZ0IsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5jb21wYXJlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyB3aXRoIHRoZSAnJHtuYW1lZEJpbmRpbmdzU3RyaW5nfScgbmFtZWQgYmluZGluZ3MuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgY29tcGFyZU5hbWVkQmluZGluZ3MobmFtZWRCaW5kaW5ncywgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIHJldHVybiBuYW1lZEJpbmRpbmdzLmZvckVhY2hOYW1lZEJpbmRpbmcoKG5hbWVkQmluZGluZywgZm9yd2FyZCwgYmFjaykgPT4ge1xuICAgICAgaWYgKG5hbWVkQmluZGluZyA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIGZvcndhcmQsIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5hbWVkQmluZGluZ3NcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInNvbWUiLCJmb3JFYWNoIiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwiZGVmaW5lIiwiTmFtZWRCaW5kaW5ncyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheSIsImdldEFycmF5IiwiZ2V0TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0TmFtZWRCaW5kaW5nIiwiaW5kZXgiLCJuYW1lZEJpbmRpbmciLCJzb21lTmFtZWRCaW5kaW5nIiwiY2FsbGJhY2siLCJmb3J3YXJkIiwiYmFjayIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJjb21wYXJlVGVybXMiLCJ0ZXJtcyIsInRlcm1zU3RyaW5nIiwiZ2V0U3RyaW5nIiwibmFtZWRCaW5kaW5nc1N0cmluZyIsInRyYWNlIiwidGVybXNMZW5ndGgiLCJuYW1lZEJpbmRpbmdzTGVuZ3RoIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidGVybSIsImdldFRlcm0iLCJjb21wYXJlVGVybSIsImRlYnVnIiwiY29tcGFyZU5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWVkQmluZGluZ0EiLCJuYW1lZEJpbmRpbmdCIiwiY29tcGFyZU5hbWVkQmluZGluZ3MiLCJuYW1lZEJpbmRpbmdzIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7Z0NBUitDO2tFQUV6QjswQkFFQzs7Ozs7O0FBRXZCLE1BQU0sRUFBRUEsSUFBSSxFQUFFQyxPQUFPLEVBQUUsR0FBR0MscUNBQXFCO01BRS9DLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsc0JBQXNCQyx1QkFBTztJQUN2RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLGdCQUFnQkMsS0FBSyxFQUFFO1FBQ3JCLE1BQU1DLGVBQWUsSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSTtRQUUxQyxPQUFPQztJQUNUO0lBRUFDLGlCQUFpQkMsUUFBUSxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRTtRQUN4QyxPQUFPcEIsS0FBSyxJQUFJLENBQUNVLEtBQUssRUFBRVEsVUFBVUMsU0FBU0M7SUFDN0M7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
|
package/lib/element/every.js
CHANGED
|
@@ -100,11 +100,14 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
100
100
|
const valueString = value.getString(), message = `The '${valueString}' value's type is '${valueType}' when it should be of type '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
101
101
|
return back(exception);
|
|
102
102
|
}
|
|
103
|
-
const
|
|
104
|
-
|
|
103
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue; ///
|
|
104
|
+
if (!boolean) {
|
|
105
|
+
return back();
|
|
106
|
+
}
|
|
107
|
+
return forward(context, back);
|
|
105
108
|
}, back);
|
|
106
109
|
}
|
|
107
110
|
static name = "Every";
|
|
108
111
|
});
|
|
109
112
|
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IExJU1RfVFlQRV9OQU1FLCBCT09MRUFOX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbU5vbWluYWxWYWx1ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuY29uc3QgeyBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEV2ZXJ5IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUgPSBhbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgZXZlcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICAgIHJldHVybiBldmVyeShub21pbmFsVmFsdWVzLCAobm9taW5hbFZhbHVlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlQW5vbnltb3VzUHJvY2VkdXJlKG5vbWluYWxWYWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICB9LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICBjb25zdCBib29sZWFuID0gdHJ1ZSxcbiAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgIGNvbnRleHQudHJhY2UoYC4uLmV2YWx1YXRlZCB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgICAgIH0sIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9KTtcblxuICBldmFsdWF0ZUFub255bW91c1Byb2NlZHVyZShub21pbmFsVmFsdWUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB7IFZhbHVlcyB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZXMgPSBWYWx1ZXMuZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZS5ldmFsdWF0ZSh2YWx1ZXMsIGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICBpZiAoIXZhbHVlVHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgICAgYm9vbGVhbiA9IHByaW1pdGl2ZVZhbHVlOyAvLy9cblxuICAgICAgaWYgKCFib29sZWFuKSB7XG4gICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkV2ZXJ5XCI7XG59KTtcbiJdLCJuYW1lcyI6WyJldmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsInVuYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkV2ZXJ5IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwiYW5vbnltb3VzUHJvY2VkdXJlIiwiZ2V0VmFyaWFibGUiLCJnZXRBbm9ueW1vdXNQcm9jZWR1cmUiLCJldmFsdWF0ZSIsImZvcndhcmQiLCJiYWNrIiwiZXZlcnlTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsInZhbHVlU3RyaW5nIiwibWVzc2FnZSIsIkxJU1RfVFlQRV9OQU1FIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlcyIsIm5vbWluYWxWYWx1ZSIsImV2YWx1YXRlQW5vbnltb3VzUHJvY2VkdXJlIiwiYm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSIsInZhbHVlcyIsImZyb21WYWx1ZSIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWm9FO2tFQUUvQztrRUFDQzsyQkFHNEI7dUJBQ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhELE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHFDQUFxQixFQUNqQyxFQUFFQyxXQUFXLEVBQUUsR0FBR0MsbUNBQW1CO01BRTNDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsdUJBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGtCQUFrQixDQUFFO1FBQzNFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDRixNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDRyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBO0lBQzVCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUNGLGtCQUFrQjtJQUNoQztJQUVBRyxXQUFXYixZQUFZLFNBQVVLLE9BQU8sRUFBRVMsT0FBTyxFQUFFQyxJQUFJO1FBQ3JELE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTO1FBRWxDWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsWUFBWSxhQUFhLENBQUM7UUFFM0QsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixTQUFTLENBQUNjLE9BQU9KO1lBQzdDLE1BQU1LLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLG9CQUFvQkYsVUFBVUcsVUFBVTtZQUU5QyxJQUFJLENBQUNELG1CQUFtQjtnQkFDdEIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLHlCQUFjLENBQUMsRUFBRSxDQUFDLEVBQzNGQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO2dCQUV4QyxPQUFPVixLQUFLWTtZQUNkO1lBRUEsTUFBTUcsaUJBQWlCWCxNQUFNWSxpQkFBaUIsSUFDeENDLGdCQUFnQkYsZ0JBQWdCLEdBQUc7WUFFekMsT0FBT2hDLE1BQU1rQyxlQUFlLENBQUNDLGNBQWM1QixTQUFTUyxTQUFTQztnQkFDM0QsT0FBTyxJQUFJLENBQUNtQiwwQkFBMEIsQ0FBQ0QsY0FBYzVCLFNBQVNTLFNBQVNDO1lBQ3pFLEdBQUdWLFNBQVMsQ0FBQ0EsU0FBU1U7Z0JBQ3BCLE1BQU1vQixVQUFVLE1BQ1ZoQixRQUFRaUIsSUFBQUEsdUJBQWdCLEVBQUNELFNBQVM5QixVQUNsQ21CLGNBQWNMLE1BQU1GLFNBQVM7Z0JBRW5DWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUYsWUFBWSxlQUFlLEVBQUVRLFlBQVksRUFBRSxDQUFDO2dCQUUvRSxPQUFPVixRQUFRSyxPQUFPSjtZQUN4QixHQUFHQTtRQUNMLEdBQUdBO0lBQ0wsR0FBRztJQUVIbUIsMkJBQTJCRCxZQUFZLEVBQUU1QixPQUFPLEVBQUVTLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQy9ELE1BQU0sRUFBRXNCLE1BQU0sRUFBRSxHQUFHQyxpQkFBUSxFQUNyQm5CLFFBQVFvQixJQUFBQSw0QkFBcUIsRUFBQ04sY0FBYzVCLFVBQzVDbUMsU0FBU0gsT0FBT0ksU0FBUyxDQUFDdEIsT0FBT2Q7UUFFdkMsT0FBTyxJQUFJLENBQUNLLGtCQUFrQixDQUFDRyxRQUFRLENBQUMyQixRQUFRbkMsU0FBUyxDQUFDYyxPQUFPSjtZQUMvRCxNQUFNSyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCcUIsdUJBQXVCdEIsVUFBVXVCLGFBQWE7WUFFcEQsSUFBSSxDQUFDRCxzQkFBc0I7Z0JBQ3pCLE1BQU1sQixjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSixVQUFVLDZCQUE2QixFQUFFd0IsNEJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQ2pIakIsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtnQkFFeEMsT0FBT1YsS0FBS1k7WUFDZDtZQUVBLE1BQU1HLGlCQUFpQlgsTUFBTVksaUJBQWlCLElBQ3hDSSxVQUFVTCxnQkFBZ0IsR0FBRztZQUVuQyxJQUFJLENBQUNLLFNBQVM7Z0JBQ1osT0FBT3BCO1lBQ1Q7WUFFQSxPQUFPRCxRQUFRVCxTQUFTVTtRQUMxQixHQUFHQTtJQUNMO0lBRUEsT0FBTzhCLE9BQU8sUUFBUTtBQUN4QiJ9
|
package/lib/element/primitive.js
CHANGED
|
@@ -67,8 +67,8 @@ const _default = (0, _elements.define)(class Primitive extends _occamlanguages.E
|
|
|
67
67
|
return this.value;
|
|
68
68
|
}
|
|
69
69
|
evaluate(context, forward, back) {
|
|
70
|
-
const {
|
|
71
|
-
return forward(
|
|
70
|
+
const { Value } = _elements.default, primitive = this, value = Value.fromPrimitive(primitive, context);
|
|
71
|
+
return forward(value, back);
|
|
72
72
|
}
|
|
73
73
|
isEqualTo(primitive) {
|
|
74
74
|
let equalTo = false;
|
|
@@ -147,4 +147,4 @@ const _default = (0, _elements.define)(class Primitive extends _occamlanguages.E
|
|
|
147
147
|
}
|
|
148
148
|
});
|
|
149
149
|
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ByaW1pdGl2ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBJTlRFR0VSX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgbWF0Y2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgUHJpbWl0aXZlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgdmFsdWUpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB7IFZhbHVlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBwcmltaXRpdmUgPSB0aGlzLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbVByaW1pdGl2ZShwcmltaXRpdmUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgaXNFcXVhbFRvKHByaW1pdGl2ZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCBwcmltaXRpdmVUeXBlID0gcHJpbWl0aXZlLmdldFR5cGUoKSxcbiAgICAgICAgICB0eXBlRXF1YWxUb1ByaW1pdGl2ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHByaW1pdGl2ZVR5cGUpO1xuXG4gICAgaWYgKHR5cGVFcXVhbFRvUHJpbWl0aXZlVHlwZSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBwcmltaXRpdmUuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKTtcblxuICAgICAgc3dpdGNoICh0eXBlTmFtZSkge1xuICAgICAgICBjYXNlIExJU1RfVFlQRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgbGlzdEEgPSB0aGlzLnZhbHVlLCAvLy9cbiAgICAgICAgICAgICAgICBsaXN0QiA9IHZhbHVlLCAgLy8vXG4gICAgICAgICAgICAgICAgbWF0Y2hlcyA9IG1hdGNoKGxpc3RBLCBsaXN0QiwgKHZhbHVlQSwgdmFsdWVCKSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gdmFsdWVBLmlzRXF1YWxUbyh2YWx1ZUIpO1xuXG4gICAgICAgICAgICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICBlcXVhbFRvID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgU1RSSU5HX1RZUEVfTkFNRToge1xuICAgICAgICAgIGNvbnN0IHN0cmluZ0xpdGVyYWxBID0gdGhpcy52YWx1ZSwgLy8vXG4gICAgICAgICAgICAgICAgc3RyaW5nTGl0ZXJhbEIgPSB2YWx1ZTsgIC8vL1xuXG4gICAgICAgICAgaWYgKHN0cmluZ0xpdGVyYWxBID09PSBzdHJpbmdMaXRlcmFsQikge1xuICAgICAgICAgICAgZXF1YWxUbyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjYXNlIEJPT0xFQU5fVFlQRV9OQU1FOiB7XG4gICAgICAgICAgY29uc3QgYm9vbGVhbkEgPSB0aGlzLnZhbHVlLCAvLy9cbiAgICAgICAgICAgICAgICBib29sZWFuQiA9IHZhbHVlOyAgLy8vXG5cbiAgICAgICAgICBpZiAoYm9vbGVhbkEgPT09IGJvb2xlYW5CKSB7XG4gICAgICAgICAgICBlcXVhbFRvID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgSU5URUdFUl9UWVBFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCBpbnRlZ2VyQSA9IHRoaXMudmFsdWUsIC8vL1xuICAgICAgICAgICAgICAgIGludGVnZXJCID0gdmFsdWU7ICAvLy9cblxuICAgICAgICAgIGlmIChpbnRlZ2VyQSA9PT0gaW50ZWdlckIpIHtcbiAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRToge1xuICAgICAgICAgIGNvbnN0IG5vbWluYWxWYWx1ZUEgPSB0aGlzLnZhbHVlLCAvLy9cbiAgICAgICAgICAgICAgICBub21pbWFsVmFsdWVCID0gdmFsdWUsICAvLy9cbiAgICAgICAgICAgICAgICBtYXRjaGVzID0gbm9taW5hbFZhbHVlQS5tYXRjaChub21pbWFsVmFsdWVCKTtcblxuICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICBlcXVhbFRvID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByaW1pdGl2ZVwiO1xuXG4gIHN0YXRpYyBmcm9tUHJpbWl0aXZlVmFsdWVBbmRUeXBlKHByaW1pdGl2ZVZhbHVlLCB0eXBlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgLy8vXG4gICAgICAgICAgdHlwZU5hbWUgPSB0eXBlLmdldE5hbWUoKTtcblxuICAgIGxldCBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHR5cGVOYW1lKSB7XG4gICAgICBjYXNlIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FOiB7XG4gICAgICAgIGNvbnN0IG5vbWluYWxWYWx1ZSA9IHZhbHVlOyAgLy8vXG5cbiAgICAgICAgc3RyaW5nID0gbm9taW5hbFZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHN0cmluZyA9IGAke3ZhbHVlfWA7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IG51bGwsXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgcHJpbWl0aXZlID0gbmV3IFByaW1pdGl2ZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHZhbHVlKTtcblxuICAgIHJldHVybiBwcmltaXRpdmU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbIm1hdGNoIiwiYXJyYXlVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcmltaXRpdmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsInZhbHVlIiwiZ2V0VHlwZSIsImdldFZhbHVlIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsIlZhbHVlIiwiZWxlbWVudHMiLCJwcmltaXRpdmUiLCJmcm9tUHJpbWl0aXZlIiwiaXNFcXVhbFRvIiwiZXF1YWxUbyIsInByaW1pdGl2ZVR5cGUiLCJ0eXBlRXF1YWxUb1ByaW1pdGl2ZVR5cGUiLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJMSVNUX1RZUEVfTkFNRSIsImxpc3RBIiwibGlzdEIiLCJtYXRjaGVzIiwidmFsdWVBIiwidmFsdWVCIiwiU1RSSU5HX1RZUEVfTkFNRSIsInN0cmluZ0xpdGVyYWxBIiwic3RyaW5nTGl0ZXJhbEIiLCJCT09MRUFOX1RZUEVfTkFNRSIsImJvb2xlYW5BIiwiYm9vbGVhbkIiLCJJTlRFR0VSX1RZUEVfTkFNRSIsImludGVnZXJBIiwiaW50ZWdlckIiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsIm5vbWluYWxWYWx1ZUEiLCJub21pbWFsVmFsdWVCIiwibmFtZSIsImZyb21QcmltaXRpdmVWYWx1ZUFuZFR5cGUiLCJwcmltaXRpdmVWYWx1ZSIsIm5vbWluYWxWYWx1ZSIsImdldFN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7Z0NBVndCOzJCQUNPO2tFQUVWOzJCQUcyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhILE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHlCQUFjO01BRWhDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsa0JBQWtCQyx1QkFBTztJQUNuRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsS0FBSyxDQUFFO1FBQzFELEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFD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
|