occam-furtle 3.0.305 → 3.0.310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/element/assignment/array.js +20 -20
- package/lib/element/assignment/object.js +17 -14
- package/lib/element/binding/named.js +6 -6
- package/lib/element/binding.js +4 -4
- package/lib/element/every.js +8 -8
- package/lib/element/nodeQuery.js +5 -5
- package/lib/element/nodesQuery.js +5 -5
- package/lib/element/parameter.js +4 -4
- package/lib/element/primitive.js +42 -23
- package/lib/element/procedure/anonymous.js +4 -4
- package/lib/element/procedure.js +8 -10
- package/lib/element/reduce.js +6 -6
- package/lib/element/some.js +8 -8
- package/lib/element/term/comparison.js +4 -4
- package/lib/element/term/logical.js +7 -7
- package/lib/element/term/negated.js +5 -5
- package/lib/element/term.js +3 -3
- package/lib/element/ternary.js +5 -5
- package/lib/element/type.js +94 -0
- package/lib/element/value.js +56 -5
- package/lib/element/variable.js +4 -4
- package/lib/node/assignments/variable.js +4 -10
- package/lib/node/binding/named.js +2 -2
- package/lib/node/binding.js +16 -23
- package/lib/node/declaration/procedure.js +4 -10
- package/lib/node/parameter.js +5 -10
- package/lib/node/primitive.js +9 -9
- package/lib/node/procedure/anoymous.js +4 -10
- package/lib/node/type.js +41 -0
- package/lib/nominalValueProperties.js +86 -0
- package/lib/nominalValueProperty.js +45 -0
- package/lib/nonTerminalNodeMap.js +3 -1
- package/lib/preamble.js +2 -1
- package/lib/ruleNames.js +5 -1
- package/lib/typeNames.js +34 -0
- package/lib/utilities/element.js +50 -18
- package/lib/utilities/primitive.js +13 -9
- package/lib/utilities/string.js +35 -22
- package/lib/utilities/value.js +9 -20
- package/lib/utilities/values.js +3 -3
- package/package.json +2 -2
- package/src/element/assignment/array.js +31 -26
- package/src/element/assignment/object.js +20 -13
- package/src/element/binding/named.js +10 -6
- package/src/element/binding.js +5 -3
- package/src/element/every.js +9 -7
- package/src/element/nodeQuery.js +5 -4
- package/src/element/nodesQuery.js +5 -4
- package/src/element/parameter.js +5 -3
- package/src/element/primitive.js +56 -26
- package/src/element/procedure/anonymous.js +5 -3
- package/src/element/procedure.js +8 -12
- package/src/element/reduce.js +6 -5
- package/src/element/some.js +9 -7
- package/src/element/term/comparison.js +6 -3
- package/src/element/term/logical.js +8 -6
- package/src/element/term/negated.js +5 -4
- package/src/element/term.js +3 -2
- package/src/element/ternary.js +5 -4
- package/src/element/type.js +128 -0
- package/src/element/value.js +27 -3
- package/src/element/variable.js +5 -3
- package/src/node/assignments/variable.js +5 -13
- package/src/node/binding/named.js +1 -1
- package/src/node/binding.js +19 -30
- package/src/node/declaration/procedure.js +5 -13
- package/src/node/parameter.js +6 -14
- package/src/node/primitive.js +8 -8
- package/src/node/procedure/anoymous.js +5 -13
- package/src/node/type.js +43 -0
- package/src/nominalValueProperties.js +103 -0
- package/src/nominalValueProperty.js +55 -0
- package/src/nonTerminalNodeMap.js +3 -0
- package/src/preamble.js +1 -0
- package/src/ruleNames.js +1 -0
- package/src/typeNames.js +7 -0
- package/src/utilities/element.js +67 -19
- package/src/utilities/primitive.js +31 -22
- package/src/utilities/string.js +42 -24
- package/src/utilities/value.js +18 -31
- package/src/utilities/values.js +1 -2
- package/lib/nodeProperties.js +0 -78
- package/lib/nodeProperty.js +0 -45
- package/lib/types.js +0 -34
- package/src/nodeProperties.js +0 -89
- package/src/nodeProperty.js +0 -53
- package/src/types.js +0 -7
|
@@ -23,7 +23,7 @@ _export(exports, {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
const _elements = /*#__PURE__*/ _interop_require_default(require("../elements"));
|
|
26
|
-
const
|
|
26
|
+
const _typeNames = require("../typeNames");
|
|
27
27
|
const _string = require("../utilities/string");
|
|
28
28
|
function _interop_require_default(obj) {
|
|
29
29
|
return obj && obj.__esModule ? obj : {
|
|
@@ -31,24 +31,28 @@ function _interop_require_default(obj) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
function primitiveFromBoolean(boolean, context) {
|
|
34
|
-
const { Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromBoolean)(boolean), string = primitiveString, type =
|
|
34
|
+
const { Type, Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromBoolean)(boolean), string = primitiveString, typeName = _typeNames.BOOLEAN_TYPE_NAME, type = Type.fromTypeName(typeName, context), value = boolean, node = null, breakPoint = null;
|
|
35
35
|
context = null;
|
|
36
36
|
const primitive = new Primitive(context, string, node, breakPoint, type, value);
|
|
37
37
|
return primitive;
|
|
38
38
|
}
|
|
39
|
-
function primitiveFromNominalValue(nominalValue) {
|
|
40
|
-
const { Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromNominalValue)(nominalValue), string = primitiveString,
|
|
39
|
+
function primitiveFromNominalValue(nominalValue, context) {
|
|
40
|
+
const { Type, Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromNominalValue)(nominalValue), string = primitiveString, typeName = _typeNames.NOMINAL_VALUE_TYPE_NAME, type = Type.fromTypeName(typeName, context), value = nominalValue, breakPoint = null, node = null;
|
|
41
|
+
context = null;
|
|
42
|
+
const primitive = new Primitive(context, string, node, breakPoint, type, value);
|
|
41
43
|
return primitive;
|
|
42
44
|
}
|
|
43
|
-
function
|
|
44
|
-
const { Primitive } = _elements.default, primitiveString = (0, _string.
|
|
45
|
+
function primitiveFromStringLiteral(stringLiteral, context) {
|
|
46
|
+
const { Type, Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromStringLiteral)(stringLiteral), string = primitiveString, typeName = _typeNames.STRING_TYPE_NAME, type = Type.fromTypeName(typeName, context), value = stringLiteral, node = null, breakPoint = null;
|
|
47
|
+
context = null;
|
|
48
|
+
const primitive = new Primitive(context, string, node, breakPoint, type, value);
|
|
45
49
|
return primitive;
|
|
46
50
|
}
|
|
47
|
-
function
|
|
48
|
-
const { Primitive } = _elements.default, primitiveString = (0, _string.
|
|
51
|
+
function primitiveFromNominalValues(nominalValues, context) {
|
|
52
|
+
const { Type, Primitive } = _elements.default, primitiveString = (0, _string.primtiveStringFromNominalValues)(nominalValues), string = primitiveString, argumentTypeName = _typeNames.NOMINAL_VALUE_TYPE_NAME, typeName = _typeNames.LIST_TYPE_NAME, type = Type.fromTypeNameAndArgumentTypeName(typeName, argumentTypeName, context), value = nominalValues, node = null, breakPoint = null;
|
|
49
53
|
context = null;
|
|
50
54
|
const primitive = new Primitive(context, string, node, breakPoint, type, value);
|
|
51
55
|
return primitive;
|
|
52
56
|
}
|
|
53
57
|
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcHJpbWl0aXZlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSwgTElTVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyBwcmltdGl2ZVN0cmluZ0Zyb21Cb29sZWFuLCBwcmltdGl2ZVN0cmluZ0Zyb21Ob21pbmFsVmFsdWUsIHByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZXMsIHByaW10aXZlU3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJpbWl0aXZlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCkge1xuICBjb25zdCB7IFR5cGUsIFByaW1pdGl2ZSB9ID0gZWxlbWVudHMsXG4gICAgICAgIHByaW1pdGl2ZVN0cmluZyA9IHByaW10aXZlU3RyaW5nRnJvbUJvb2xlYW4oYm9vbGVhbiksXG4gICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZVN0cmluZywgIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IEJPT0xFQU5fVFlQRV9OQU1FLFxuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUsIGNvbnRleHQpLFxuICAgICAgICB2YWx1ZSA9IGJvb2xlYW4sICAvLy9cbiAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgIGJyZWFrUG9pbnQgPSBudWxsO1xuXG4gIGNvbnRleHQgPSBudWxsO1xuXG4gIGNvbnN0IHByaW1pdGl2ZSA9IG5ldyBQcmltaXRpdmUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCB2YWx1ZSk7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW1pdGl2ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVHlwZSwgUHJpbWl0aXZlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgcHJpbWl0aXZlU3RyaW5nID0gcHJpbXRpdmVTdHJpbmdGcm9tTm9taW5hbFZhbHVlKG5vbWluYWxWYWx1ZSksXG4gICAgICAgIHN0cmluZyA9IHByaW1pdGl2ZVN0cmluZywgIC8vL1xuICAgICAgICB0eXBlTmFtZSA9IE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FLFxuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUsIGNvbnRleHQpLFxuICAgICAgICB2YWx1ZSA9IG5vbWluYWxWYWx1ZSwgLy8vXG4gICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICBub2RlID0gbnVsbDtcblxuICBjb250ZXh0ID0gbnVsbDtcblxuICBjb25zdCBwcmltaXRpdmUgPSBuZXcgUHJpbWl0aXZlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgdmFsdWUpO1xuXG4gIHJldHVybiBwcmltaXRpdmU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmltaXRpdmVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVHlwZSwgUHJpbWl0aXZlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgcHJpbWl0aXZlU3RyaW5nID0gcHJpbXRpdmVTdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsKSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlU3RyaW5nLCAgLy8vXG4gICAgICAgIHR5cGVOYW1lID0gU1RSSU5HX1RZUEVfTkFNRSxcbiAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lKHR5cGVOYW1lLCBjb250ZXh0KSxcbiAgICAgICAgdmFsdWUgPSBzdHJpbmdMaXRlcmFsLCAgLy8vXG4gICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICBjb250ZXh0ID0gbnVsbDtcblxuICBjb25zdCBwcmltaXRpdmUgPSBuZXcgUHJpbWl0aXZlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgdmFsdWUpO1xuXG4gIHJldHVybiBwcmltaXRpdmU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmltaXRpdmVGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVHlwZSwgUHJpbWl0aXZlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgcHJpbWl0aXZlU3RyaW5nID0gcHJpbXRpdmVTdHJpbmdGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzKSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlU3RyaW5nLCAgLy8vXG4gICAgICAgIGFyZ3VtZW50VHlwZU5hbWUgPSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSxcbiAgICAgICAgdHlwZU5hbWUgPSBMSVNUX1RZUEVfTkFNRSxcbiAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCksXG4gICAgICAgIHZhbHVlID0gbm9taW5hbFZhbHVlcywgIC8vL1xuICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgY29udGV4dCA9IG51bGw7XG5cbiAgY29uc3QgcHJpbWl0aXZlID0gbmV3IFByaW1pdGl2ZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHR5cGUsIHZhbHVlKTtcblxuICByZXR1cm4gcHJpbWl0aXZlO1xufVxuIl0sIm5hbWVzIjpbInByaW1pdGl2ZUZyb21Cb29sZWFuIiwicHJpbWl0aXZlRnJvbU5vbWluYWxWYWx1ZSIsInByaW1pdGl2ZUZyb21Ob21pbmFsVmFsdWVzIiwicHJpbWl0aXZlRnJvbVN0cmluZ0xpdGVyYWwiLCJib29sZWFuIiwiY29udGV4dCIsIlR5cGUiLCJQcmltaXRpdmUiLCJlbGVtZW50cyIsInByaW1pdGl2ZVN0cmluZyIsInByaW10aXZlU3RyaW5nRnJvbUJvb2xlYW4iLCJzdHJpbmciLCJ0eXBlTmFtZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwidHlwZSIsImZyb21UeXBlTmFtZSIsInZhbHVlIiwibm9kZSIsImJyZWFrUG9pbnQiLCJwcmltaXRpdmUiLCJub21pbmFsVmFsdWUiLCJwcmltdGl2ZVN0cmluZ0Zyb21Ob21pbmFsVmFsdWUiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsInN0cmluZ0xpdGVyYWwiLCJwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwiU1RSSU5HX1RZUEVfTkFNRSIsIm5vbWluYWxWYWx1ZXMiLCJwcmltdGl2ZVN0cmluZ0Zyb21Ob21pbmFsVmFsdWVzIiwiYXJndW1lbnRUeXBlTmFtZSIsIkxJU1RfVFlQRV9OQU1FIiwiZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBT2dCQTtlQUFBQTs7UUFpQkFDO2VBQUFBOztRQWtDQUM7ZUFBQUE7O1FBakJBQztlQUFBQTs7O2lFQXZDSzsyQkFFd0U7d0JBQytDOzs7Ozs7QUFFckksU0FBU0gscUJBQXFCSSxPQUFPLEVBQUVDLE9BQU87SUFDbkQsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxpQkFBUSxFQUM5QkMsa0JBQWtCQyxJQUFBQSxpQ0FBeUIsRUFBQ04sVUFDNUNPLFNBQVNGLGlCQUNURyxXQUFXQyw0QkFBaUIsRUFDNUJDLE9BQU9SLEtBQUtTLFlBQVksQ0FBQ0gsVUFBVVAsVUFDbkNXLFFBQVFaLFNBQ1JhLE9BQU8sTUFDUEMsYUFBYTtJQUVuQmIsVUFBVTtJQUVWLE1BQU1jLFlBQVksSUFBSVosVUFBVUYsU0FBU00sUUFBUU0sTUFBTUMsWUFBWUosTUFBTUU7SUFFekUsT0FBT0c7QUFDVDtBQUVPLFNBQVNsQiwwQkFBMEJtQixZQUFZLEVBQUVmLE9BQU87SUFDN0QsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxpQkFBUSxFQUM5QkMsa0JBQWtCWSxJQUFBQSxzQ0FBOEIsRUFBQ0QsZUFDakRULFNBQVNGLGlCQUNURyxXQUFXVSxrQ0FBdUIsRUFDbENSLE9BQU9SLEtBQUtTLFlBQVksQ0FBQ0gsVUFBVVAsVUFDbkNXLFFBQVFJLGNBQ1JGLGFBQWEsTUFDYkQsT0FBTztJQUViWixVQUFVO0lBRVYsTUFBTWMsWUFBWSxJQUFJWixVQUFVRixTQUFTTSxRQUFRTSxNQUFNQyxZQUFZSixNQUFNRTtJQUV6RSxPQUFPRztBQUNUO0FBRU8sU0FBU2hCLDJCQUEyQm9CLGFBQWEsRUFBRWxCLE9BQU87SUFDL0QsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsRUFBRSxHQUFHQyxpQkFBUSxFQUM5QkMsa0JBQWtCZSxJQUFBQSx1Q0FBK0IsRUFBQ0QsZ0JBQ2xEWixTQUFTRixpQkFDVEcsV0FBV2EsMkJBQWdCLEVBQzNCWCxPQUFPUixLQUFLUyxZQUFZLENBQUNILFVBQVVQLFVBQ25DVyxRQUFRTyxlQUNSTixPQUFPLE1BQ1BDLGFBQWE7SUFFbkJiLFVBQVU7SUFFVixNQUFNYyxZQUFZLElBQUlaLFVBQVVGLFNBQVNNLFFBQVFNLE1BQU1DLFlBQVlKLE1BQU1FO0lBRXpFLE9BQU9HO0FBQ1Q7QUFFTyxTQUFTakIsMkJBQTJCd0IsYUFBYSxFQUFFckIsT0FBTztJQUMvRCxNQUFNLEVBQUVDLElBQUksRUFBRUMsU0FBUyxFQUFFLEdBQUdDLGlCQUFRLEVBQzlCQyxrQkFBa0JrQixJQUFBQSx1Q0FBK0IsRUFBQ0QsZ0JBQ2xEZixTQUFTRixpQkFDVG1CLG1CQUFtQk4sa0NBQXVCLEVBQzFDVixXQUFXaUIseUJBQWMsRUFDekJmLE9BQU9SLEtBQUt3QiwrQkFBK0IsQ0FBQ2xCLFVBQVVnQixrQkFBa0J2QixVQUN4RVcsUUFBUVUsZUFDUlQsT0FBTyxNQUNQQyxhQUFhO0lBRW5CYixVQUFVO0lBRVYsTUFBTWMsWUFBWSxJQUFJWixVQUFVRixTQUFTTSxRQUFRTSxNQUFNQyxZQUFZSixNQUFNRTtJQUV6RSxPQUFPRztBQUNUIn0=
|
package/lib/utilities/string.js
CHANGED
|
@@ -18,11 +18,11 @@ _export(exports, {
|
|
|
18
18
|
get expressionStringFromProperties () {
|
|
19
19
|
return expressionStringFromProperties;
|
|
20
20
|
},
|
|
21
|
-
get
|
|
22
|
-
return
|
|
21
|
+
get nominalValuePropertiesStringFromNominalValuePropertiesArray () {
|
|
22
|
+
return nominalValuePropertiesStringFromNominalValuePropertiesArray;
|
|
23
23
|
},
|
|
24
|
-
get
|
|
25
|
-
return
|
|
24
|
+
get nominalValuePropertyStringFromNameAndType () {
|
|
25
|
+
return nominalValuePropertyStringFromNameAndType;
|
|
26
26
|
},
|
|
27
27
|
get primtiveStringFromBoolean () {
|
|
28
28
|
return primtiveStringFromBoolean;
|
|
@@ -60,6 +60,9 @@ _export(exports, {
|
|
|
60
60
|
get ternaryStringFromTerm () {
|
|
61
61
|
return ternaryStringFromTerm;
|
|
62
62
|
},
|
|
63
|
+
get typeStringFromTypeNameAndArgumentTypeName () {
|
|
64
|
+
return typeStringFromTypeNameAndArgumentTypeName;
|
|
65
|
+
},
|
|
63
66
|
get valueStringFromProperties () {
|
|
64
67
|
return valueStringFromProperties;
|
|
65
68
|
},
|
|
@@ -154,28 +157,28 @@ function primtiveStringFromNominalValues(nominalValues) {
|
|
|
154
157
|
}, null);
|
|
155
158
|
return primtiveString;
|
|
156
159
|
}
|
|
157
|
-
function nodePropertyStringFromNameAndType(name, type) {
|
|
158
|
-
const typeString = type, nameString = name, nodePropertyString = `${typeString} ${nameString}`;
|
|
159
|
-
return nodePropertyString;
|
|
160
|
-
}
|
|
161
160
|
function procedureDeclarationStringFromProcedure(procedure) {
|
|
162
|
-
const type = procedure.getType(), label = procedure.getLabel(), parameters = procedure.getParameters(), returnStatement = procedure.getReturnStatement(), labelString = label.getString(), parametersString = parameters.getString(), returnStatementString = returnStatement.getString(), procedureDelcarationString = `${
|
|
161
|
+
const type = procedure.getType(), label = procedure.getLabel(), parameters = procedure.getParameters(), returnStatement = procedure.getReturnStatement(), typeString = type.getString(), labelString = label.getString(), parametersString = parameters.getString(), returnStatementString = returnStatement.getString(), procedureDelcarationString = `${typeString} ${labelString}(${parametersString}) { ... ${returnStatementString} }`;
|
|
163
162
|
return procedureDelcarationString;
|
|
164
163
|
}
|
|
165
164
|
function returnBlockStringFromReturnStatementNode(returnStatement) {
|
|
166
165
|
const returnStatementString = returnStatement.getString(), returnBlockString = `{ ... ${returnStatementString} }`;
|
|
167
166
|
return returnBlockString;
|
|
168
167
|
}
|
|
169
|
-
function
|
|
170
|
-
const
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
168
|
+
function nominalValuePropertyStringFromNameAndType(name, type) {
|
|
169
|
+
const nameString = name, typeString = type.getString(), nominalValuePropertyString = `${typeString} ${nameString}`;
|
|
170
|
+
return nominalValuePropertyString;
|
|
171
|
+
}
|
|
172
|
+
function typeStringFromTypeNameAndArgumentTypeName(typeName, argumentTypeName) {
|
|
173
|
+
let typeString;
|
|
174
|
+
typeString = `${typeName}`;
|
|
175
|
+
if (argumentTypeName !== null) {
|
|
176
|
+
typeString = `${typeString}<${argumentTypeName}>`;
|
|
177
|
+
}
|
|
178
|
+
return typeString;
|
|
176
179
|
}
|
|
177
180
|
function variableAssignmentStringFromTypeAndVariable(type, variable) {
|
|
178
|
-
const variableString = variable.getString(), variableAssignmentString = `${
|
|
181
|
+
const typeString = type.getString(), variableString = variable.getString(), variableAssignmentString = `${typeString} ${variableString} = ... ;`;
|
|
179
182
|
return variableAssignmentString;
|
|
180
183
|
}
|
|
181
184
|
function someStringFromVariableAndAnonymousProcedure(variable, anonymousProcedure) {
|
|
@@ -191,20 +194,30 @@ function variableAssignmentStringFromVariableAssignment(variableAssignment) {
|
|
|
191
194
|
return variableAssignmentString;
|
|
192
195
|
}
|
|
193
196
|
function procedureStringFromTypeLabelParametersAndReturnBlock(type, label, parameters, returnBlock) {
|
|
194
|
-
const typeString = type, labelString = label.getString(), parametersString = parameters.getString(), returnBlockString = returnBlock.getString(), procedureString = `${typeString} ${labelString}(${parametersString}) ${returnBlockString}`;
|
|
197
|
+
const typeString = type.getString(), labelString = label.getString(), parametersString = parameters.getString(), returnBlockString = returnBlock.getString(), procedureString = `${typeString} ${labelString}(${parametersString}) ${returnBlockString}`;
|
|
195
198
|
return procedureString;
|
|
196
199
|
}
|
|
197
200
|
function anonymousProcedureStringFromTypeParametersAndReturnBlock(type, parameters, returnBlock) {
|
|
198
|
-
const typeString = type, parametersString = parameters.getString(), returnBlockString = returnBlock.getString(), anonymousProcedureString = `${typeString} (${parametersString}) ${returnBlockString}`;
|
|
201
|
+
const typeString = type.getString(), parametersString = parameters.getString(), returnBlockString = returnBlock.getString(), anonymousProcedureString = `${typeString} (${parametersString}) ${returnBlockString}`;
|
|
199
202
|
return anonymousProcedureString;
|
|
200
203
|
}
|
|
204
|
+
function nominalValuePropertiesStringFromNominalValuePropertiesArray(nominalValuePropertiesArray) {
|
|
205
|
+
const nominalValuePropertiesString = nominalValuePropertiesArray.reduce((nominalValuePropertiesString, nominalValueProperty)=>{
|
|
206
|
+
const nominalValuePropertyString = nominalValueProperty.getString();
|
|
207
|
+
nominalValuePropertiesString = nominalValuePropertiesString === null ? nominalValuePropertyString : `${nominalValuePropertiesString}, ${nominalValuePropertyString}`;
|
|
208
|
+
return nominalValuePropertiesString;
|
|
209
|
+
}, null);
|
|
210
|
+
return nominalValuePropertiesString;
|
|
211
|
+
}
|
|
201
212
|
function variableAssignmentStringFromTypeAndVariableAssignmentsArray(type, variableAssignmentsArray) {
|
|
202
|
-
let variableAssignmentsString
|
|
213
|
+
let variableAssignmentsString;
|
|
214
|
+
const typeString = type.getString();
|
|
215
|
+
variableAssignmentsString = variableAssignmentsArray.reduce((variableAssignmentsString, variableAssignment)=>{
|
|
203
216
|
const variableAssignmentString = variableAssignmentStringFromVariableAssignment(variableAssignment);
|
|
204
217
|
variableAssignmentsString = variableAssignmentsString === null ? variableAssignmentString : `${variableAssignmentsString}, ${variableAssignmentString}`;
|
|
205
218
|
return variableAssignmentsString;
|
|
206
219
|
}, null); ///
|
|
207
|
-
variableAssignmentsString = `${
|
|
220
|
+
variableAssignmentsString = `${typeString} ${variableAssignmentsString} ;`; ///
|
|
208
221
|
return variableAssignmentsString;
|
|
209
222
|
}
|
|
210
223
|
function reduceStringFromVariableInitialExpressionAndAnonymousProcedure(variable, initialExpression, anonymousProcedure) {
|
|
@@ -212,4 +225,4 @@ function reduceStringFromVariableInitialExpressionAndAnonymousProcedure(variable
|
|
|
212
225
|
return reduceString;
|
|
213
226
|
}
|
|
214
227
|
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuL3N0cmluZ0xpdGVyYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm5hcnlTdHJpbmdGcm9tVGVybSh0ZXJtKSB7XG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICB0ZXJuYXJ5U3RyaW5nID0gYGlmICgke3Rlcm1TdHJpbmd9KSB7IC4uLiB9IGVsc2UgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHRlcm5hcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSBuYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVN0cmluZ0Zyb21Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgbGV0IHRlcm1TdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgdGVybVN0cmluZyA9IHByb3BlcnR5U3RyaW5nOyAgLy8vXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGVybVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlU3RyaW5nRnJvbVByb3BlcnRpZXMocHJvcGVydGllcykge1xuICBsZXQgdmFsdWVTdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgdmFsdWVTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbihib29sZWFuKSB7XG4gIGNvbnN0IGV4cHJlc3NzaW9uU3RyaW5nID0gYCR7Ym9vbGVhbn1gO1xuXG4gIHJldHVybiBleHByZXNzc2lvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSkge1xuICBjb25zdCB0ZXJtc1N0cmluZyA9IHRlcm1zQXJyYXkucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgIHRlcm1TdHJpbmcgOlxuICAgICAgYCR7dGVybXNTdHJpbmd9LCAke3Rlcm1TdHJpbmd9YDtcblxuICAgIHJldHVybiB0ZXJtc1N0cmluZztcbiAgfSwgbnVsbCk7IC8vL1xuXG4gIHJldHVybiB0ZXJtc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSkge1xuICBjb25zdCB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNBcnJheS5yZWR1Y2UoKHZhbHVlc1N0cmluZywgdmFsdWUpID0+IHtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgdmFsdWVzU3RyaW5nID0gKHZhbHVlc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICAgICBgJHt2YWx1ZXNTdHJpbmd9LCAke3ZhbHVlU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gdmFsdWVzU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgcmV0dXJuIHZhbHVlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZShub21pbmFsVmFsdWUpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9taW5hbFZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICBwcmltdGl2ZVN0cmluZyA9IHN0cmluZzsgIC8vL1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gIGxldCBleHByZXNzaW9uU3RyaW5nO1xuXG4gIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICBpZiAocHJvcGVydHkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwpIHtcbiAgY29uc3Qgc3RyaW5nID0gc3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzKSB7XG4gIGNvbnN0IHByaW10aXZlU3RyaW5nID0gbm9taW5hbFZhbHVlcy5yZWR1Y2UoKHByaW1pdGl2ZVN0cmluZywgbm9taW5hbFZhbHVlKSA9PiB7XG4gICAgY29uc3Qgbm9taW5hbFZhbHVlU3RyaW5nID0gbm9taW5hbFZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgcHJpbWl0aXZlU3RyaW5nID0gKHByaW1pdGl2ZVN0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmltaXRpdmVTdHJpbmd9LCAke25vbWluYWxWYWx1ZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9taW5hbFZhbHVlU3RyaW5nOyAvLy9cblxuICAgIHJldHVybiBwcmltaXRpdmVTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVQcm9wZXJ0eVN0cmluZ0Zyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLCAgLy8vXG4gICAgICAgIG5hbWVTdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgIG5vZGVQcm9wZXJ0eVN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICR7bmFtZVN0cmluZ31gO1xuXG4gIHJldHVybiBub2RlUHJvcGVydHlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZ0Zyb21Qcm9jZWR1cmUocHJvY2VkdXJlKSB7XG4gIGNvbnN0IHR5cGUgPSBwcm9jZWR1cmUuZ2V0VHlwZSgpLFxuICAgICAgICBsYWJlbCA9IHByb2NlZHVyZS5nZXRMYWJlbCgpLFxuICAgICAgICBwYXJhbWV0ZXJzID0gcHJvY2VkdXJlLmdldFBhcmFtZXRlcnMoKSxcbiAgICAgICAgcmV0dXJuU3RhdGVtZW50ID0gcHJvY2VkdXJlLmdldFJldHVyblN0YXRlbWVudCgpLFxuICAgICAgICBsYWJlbFN0cmluZyA9IGxhYmVsLmdldFN0cmluZygpLFxuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICBwcm9jZWR1cmVEZWxjYXJhdGlvblN0cmluZyA9IGAke3R5cGV9ICR7bGFiZWxTdHJpbmcgfSgke3BhcmFtZXRlcnNTdHJpbmd9KSB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZURlbGNhcmF0aW9uU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0dXJuQmxvY2tTdHJpbmdGcm9tUmV0dXJuU3RhdGVtZW50Tm9kZShyZXR1cm5TdGF0ZW1lbnQpIHtcbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IGB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHJldHVybkJsb2NrU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9kZVByb3BlcnRpZXNTdHJpbmdGcm9tTm9kZVByb3BlcnRpZXNBcnJheShub2RlUHJvcGVydGllc0FycmF5KSB7XG4gIGNvbnN0IG5vZGVQcm9wZXJ0aWVzU3RyaW5nID0gbm9kZVByb3BlcnRpZXNBcnJheS5yZWR1Y2UoKG5vZGVQcm9wZXJ0aWVzU3RyaW5nLCBub2RlUHJvcGVydHkpID0+IHtcbiAgICAgIGNvbnN0IG5vZGVQcm9wZXJ0eVN0cmluZyA9IG5vZGVQcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgbm9kZVByb3BlcnRpZXNTdHJpbmcgPSAobm9kZVByb3BlcnRpZXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlUHJvcGVydHlTdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtub2RlUHJvcGVydGllc1N0cmluZ30sICR7bm9kZVByb3BlcnR5U3RyaW5nfWA7XG5cbiAgICAgIHJldHVybiBub2RlUHJvcGVydGllc1N0cmluZztcbiAgICB9LCBudWxsKTtcblxuICByZXR1cm4gbm9kZVByb3BlcnRpZXNTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlKHR5cGUsIHZhcmlhYmxlKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3R5cGV9ICR7dmFyaWFibGVTdHJpbmd9ID0gLi4uIDtgO1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb21lU3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBzb21lU3RyaW5nID0gYFNvbWUoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gc29tZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5U3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBldmVyeVN0cmluZyA9IGBFdmVyeSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSBgO1xuXG4gIHJldHVybiBldmVyeVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGVBc3NpZ25tZW50KSB7XG4gIGNvbnN0IHZhcmlhYmxlID0gdmFyaWFibGVBc3NpZ25tZW50LmdldFZhcmlhYmxlKCksXG4gICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9IC4uLmA7XG5cbiAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZVN0cmluZ0Zyb21UeXBlTGFiZWxQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2sodHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLCAgLy8vXG4gICAgICAgIGxhYmVsU3RyaW5nID0gbGFiZWwuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IHJldHVybkJsb2NrLmdldFN0cmluZygpLFxuICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAke2xhYmVsU3RyaW5nfSgke3BhcmFtZXRlcnNTdHJpbmd9KSAke3JldHVybkJsb2NrU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFub255bW91c1Byb2NlZHVyZVN0cmluZ0Zyb21UeXBlUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrKHR5cGUsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLCAgLy8vXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IHJldHVybkJsb2NrLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAoJHtwYXJhbWV0ZXJzU3RyaW5nfSkgJHtyZXR1cm5CbG9ja1N0cmluZ31gO1xuXG4gIHJldHVybiBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudHNBcnJheSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkpIHtcbiAgbGV0IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkucmVkdWNlKCh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nLCB2YXJpYWJsZUFzc2lnbm1lbnQpID0+IHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50KHZhcmlhYmxlQXNzaWdubWVudCk7XG5cbiAgICB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gKHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA6XG4gICAgICBgJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfSwgJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9YDtcblxuICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9IGAke3R5cGV9ICR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30gO2A7IC8vL1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlU3RyaW5nRnJvbVZhcmlhYmxlSW5pdGlhbEV4cHJlc3Npb25BbmRBbm9ueW1vdXNQcm9jZWR1cmUodmFyaWFibGUsIGluaXRpYWxFeHByZXNzaW9uLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgaW5pdGlhbEV4cHJlc3Npb25TdHJpbmcgPSBpbml0aWFsRXhwcmVzc2lvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICByZWR1Y2VTdHJpbmcgPSBgUmVkdWNlKCR7dmFyaWFibGVTdHJpbmd9LCAke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30sICR7aW5pdGlhbEV4cHJlc3Npb25TdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHJlZHVjZVN0cmluZztcbn1cblxuIl0sIm5hbWVzIjpbImFub255bW91c1Byb2NlZHVyZVN0cmluZ0Zyb21UeXBlUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrIiwiZXZlcnlTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJleHByZXNzaW9uU3RyaW5nRnJvbVByb3BlcnRpZXMiLCJub2RlUHJvcGVydGllc1N0cmluZ0Zyb21Ob2RlUHJvcGVydGllc0FycmF5Iiwibm9kZVByb3BlcnR5U3RyaW5nRnJvbU5hbWVBbmRUeXBlIiwicHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbiIsInByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZSIsInByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZXMiLCJwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwicHJvY2VkdXJlRGVjbGFyYXRpb25TdHJpbmdGcm9tUHJvY2VkdXJlIiwicHJvY2VkdXJlU3RyaW5nRnJvbVR5cGVMYWJlbFBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayIsInJlZHVjZVN0cmluZ0Zyb21WYXJpYWJsZUluaXRpYWxFeHByZXNzaW9uQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwicmV0dXJuQmxvY2tTdHJpbmdGcm9tUmV0dXJuU3RhdGVtZW50Tm9kZSIsInNvbWVTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJ0ZXJtU3RyaW5nRnJvbVByb3BlcnRpZXMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5IiwidGVybmFyeVN0cmluZ0Zyb21UZXJtIiwidmFsdWVTdHJpbmdGcm9tUHJvcGVydGllcyIsInZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQiLCJ2YXJpYWJsZVN0cmluZ0Zyb21OYW1lIiwidGVybSIsInRlcm1TdHJpbmciLCJnZXRTdHJpbmciLCJ0ZXJuYXJ5U3RyaW5nIiwibmFtZSIsInZhcmlhYmxlU3RyaW5nIiwicHJvcGVydGllcyIsImZvckVhY2giLCJwcm9wZXJ0eSIsInByb3BlcnR5U3RyaW5nIiwidmFsdWVTdHJpbmciLCJib29sZWFuIiwiZXhwcmVzc3Npb25TdHJpbmciLCJ0ZXJtc0FycmF5IiwidGVybXNTdHJpbmciLCJyZWR1Y2UiLCJ2YWx1ZXNBcnJheSIsInZhbHVlc1N0cmluZyIsInZhbHVlIiwibm9taW5hbFZhbHVlIiwic3RyaW5nIiwicHJpbXRpdmVTdHJpbmciLCJleHByZXNzaW9uU3RyaW5nIiwic3RyaW5nTGl0ZXJhbCIsInN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwibm9taW5hbFZhbHVlcyIsInByaW1pdGl2ZVN0cmluZyIsIm5vbWluYWxWYWx1ZVN0cmluZyIsInR5cGUiLCJ0eXBlU3RyaW5nIiwibmFtZVN0cmluZyIsIm5vZGVQcm9wZXJ0eVN0cmluZyIsInByb2NlZHVyZSIsImdldFR5cGUiLCJsYWJlbCIsImdldExhYmVsIiwicGFyYW1ldGVycyIsImdldFBhcmFtZXRlcnMiLCJyZXR1cm5TdGF0ZW1lbnQiLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJsYWJlbFN0cmluZyIsInBhcmFtZXRlcnNTdHJpbmciLCJyZXR1cm5TdGF0ZW1lbnRTdHJpbmciLCJwcm9jZWR1cmVEZWxjYXJhdGlvblN0cmluZyIsInJldHVybkJsb2NrU3RyaW5nIiwibm9kZVByb3BlcnRpZXNBcnJheSIsIm5vZGVQcm9wZXJ0aWVzU3RyaW5nIiwibm9kZVByb3BlcnR5IiwidmFyaWFibGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmciLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmciLCJzb21lU3RyaW5nIiwiZXZlcnlTdHJpbmciLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJnZXRWYXJpYWJsZSIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlU3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50c0FycmF5IiwidmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyIsImluaXRpYWxFeHByZXNzaW9uIiwiaW5pdGlhbEV4cHJlc3Npb25TdHJpbmciLCJyZWR1Y2VTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTRNZ0JBO2VBQUFBOztRQTFCQUM7ZUFBQUE7O1FBNUZBQztlQUFBQTs7UUErREFDO2VBQUFBOztRQTVCQUM7ZUFBQUE7O1FBNUVBQztlQUFBQTs7UUFrQ0FDO2VBQUFBOztRQTRCQUM7ZUFBQUE7O1FBUEFDO2VBQUFBOztRQTZCQUM7ZUFBQUE7O1FBaUVBQztlQUFBQTs7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
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzdHJpbmdGcm9tU3RyaW5nTGl0ZXJhbCB9IGZyb20gXCIuL3N0cmluZ0xpdGVyYWxcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm5hcnlTdHJpbmdGcm9tVGVybSh0ZXJtKSB7XG4gIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICB0ZXJuYXJ5U3RyaW5nID0gYGlmICgke3Rlcm1TdHJpbmd9KSB7IC4uLiB9IGVsc2UgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHRlcm5hcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZVN0cmluZ0Zyb21OYW1lKG5hbWUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSBuYW1lOyAgLy8vXG5cbiAgcmV0dXJuIHZhcmlhYmxlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybVN0cmluZ0Zyb21Qcm9wZXJ0aWVzKHByb3BlcnRpZXMpIHtcbiAgbGV0IHRlcm1TdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgdGVybVN0cmluZyA9IHByb3BlcnR5U3RyaW5nOyAgLy8vXG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGVybVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlU3RyaW5nRnJvbVByb3BlcnRpZXMocHJvcGVydGllcykge1xuICBsZXQgdmFsdWVTdHJpbmc7XG5cbiAgcHJvcGVydGllcy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgIGlmIChwcm9wZXJ0eSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcHJvcGVydHlTdHJpbmcgPSBwcm9wZXJ0eS5nZXRTdHJpbmcoKTtcblxuICAgICAgdmFsdWVTdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbihib29sZWFuKSB7XG4gIGNvbnN0IGV4cHJlc3NzaW9uU3RyaW5nID0gYCR7Ym9vbGVhbn1gO1xuXG4gIHJldHVybiBleHByZXNzc2lvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1zU3RyaW5nRnJvbVRlcm1zQXJyYXkodGVybXNBcnJheSkge1xuICBjb25zdCB0ZXJtc1N0cmluZyA9IHRlcm1zQXJyYXkucmVkdWNlKCh0ZXJtc1N0cmluZywgdGVybSkgPT4ge1xuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgdGVybXNTdHJpbmcgPSAodGVybXNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgIHRlcm1TdHJpbmcgOlxuICAgICAgYCR7dGVybXNTdHJpbmd9LCAke3Rlcm1TdHJpbmd9YDtcblxuICAgIHJldHVybiB0ZXJtc1N0cmluZztcbiAgfSwgbnVsbCk7IC8vL1xuXG4gIHJldHVybiB0ZXJtc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSkge1xuICBjb25zdCB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNBcnJheS5yZWR1Y2UoKHZhbHVlc1N0cmluZywgdmFsdWUpID0+IHtcbiAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgdmFsdWVzU3RyaW5nID0gKHZhbHVlc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICAgICBgJHt2YWx1ZXNTdHJpbmd9LCAke3ZhbHVlU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gdmFsdWVzU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgcmV0dXJuIHZhbHVlc1N0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZShub21pbmFsVmFsdWUpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9taW5hbFZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICBwcmltdGl2ZVN0cmluZyA9IHN0cmluZzsgIC8vL1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gIGxldCBleHByZXNzaW9uU3RyaW5nO1xuXG4gIHByb3BlcnRpZXMuZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICBpZiAocHJvcGVydHkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBwcm9wZXJ0eVN0cmluZzsgIC8vL1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwpIHtcbiAgY29uc3Qgc3RyaW5nID0gc3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCksXG4gICAgICAgIHByaW10aXZlU3RyaW5nID0gc3RyaW5nOyAgLy8vXG5cbiAgcmV0dXJuIHByaW10aXZlU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbXRpdmVTdHJpbmdGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzKSB7XG4gIGNvbnN0IHByaW10aXZlU3RyaW5nID0gbm9taW5hbFZhbHVlcy5yZWR1Y2UoKHByaW1pdGl2ZVN0cmluZywgbm9taW5hbFZhbHVlKSA9PiB7XG4gICAgY29uc3Qgbm9taW5hbFZhbHVlU3RyaW5nID0gbm9taW5hbFZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgcHJpbWl0aXZlU3RyaW5nID0gKHByaW1pdGl2ZVN0cmluZyAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBgJHtwcmltaXRpdmVTdHJpbmd9LCAke25vbWluYWxWYWx1ZVN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9taW5hbFZhbHVlU3RyaW5nOyAvLy9cblxuICAgIHJldHVybiBwcmltaXRpdmVTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBwcmltdGl2ZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nRnJvbVByb2NlZHVyZShwcm9jZWR1cmUpIHtcbiAgY29uc3QgdHlwZSA9IHByb2NlZHVyZS5nZXRUeXBlKCksXG4gICAgICAgIGxhYmVsID0gcHJvY2VkdXJlLmdldExhYmVsKCksXG4gICAgICAgIHBhcmFtZXRlcnMgPSBwcm9jZWR1cmUuZ2V0UGFyYW1ldGVycygpLFxuICAgICAgICByZXR1cm5TdGF0ZW1lbnQgPSBwcm9jZWR1cmUuZ2V0UmV0dXJuU3RhdGVtZW50KCksXG4gICAgICAgIHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbFN0cmluZyA9IGxhYmVsLmdldFN0cmluZygpLFxuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICBwcm9jZWR1cmVEZWxjYXJhdGlvblN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICR7bGFiZWxTdHJpbmcgfSgke3BhcmFtZXRlcnNTdHJpbmd9KSB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHByb2NlZHVyZURlbGNhcmF0aW9uU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV0dXJuQmxvY2tTdHJpbmdGcm9tUmV0dXJuU3RhdGVtZW50Tm9kZShyZXR1cm5TdGF0ZW1lbnQpIHtcbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50U3RyaW5nID0gcmV0dXJuU3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICByZXR1cm5CbG9ja1N0cmluZyA9IGB7IC4uLiAke3JldHVyblN0YXRlbWVudFN0cmluZ30gfWA7XG5cbiAgcmV0dXJuIHJldHVybkJsb2NrU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmdGcm9tTmFtZUFuZFR5cGUobmFtZSwgdHlwZSkge1xuICBjb25zdCBuYW1lU3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICB0eXBlU3RyaW5nID0gdHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAke25hbWVTdHJpbmd9YDtcblxuICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eXBlU3RyaW5nRnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSkge1xuICBsZXQgdHlwZVN0cmluZztcblxuICB0eXBlU3RyaW5nID0gYCR7dHlwZU5hbWV9YDtcblxuICBpZiAoYXJndW1lbnRUeXBlTmFtZSAhPT0gbnVsbCkge1xuICAgIHR5cGVTdHJpbmcgPSBgJHt0eXBlU3RyaW5nfTwke2FyZ3VtZW50VHlwZU5hbWV9PmA7XG4gIH1cblxuICByZXR1cm4gdHlwZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGUodHlwZSwgdmFyaWFibGUpIHtcbiAgY29uc3QgdHlwZVN0cmluZyA9IHR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICR7dmFyaWFibGVTdHJpbmd9ID0gLi4uIDtgO1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb21lU3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBzb21lU3RyaW5nID0gYFNvbWUoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gc29tZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5U3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBldmVyeVN0cmluZyA9IGBFdmVyeSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSBgO1xuXG4gIHJldHVybiBldmVyeVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFzc2lnbm1lbnQodmFyaWFibGVBc3NpZ25tZW50KSB7XG4gIGNvbnN0IHZhcmlhYmxlID0gdmFyaWFibGVBc3NpZ25tZW50LmdldFZhcmlhYmxlKCksXG4gICAgICAgIHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9IC4uLmA7XG5cbiAgcmV0dXJuIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2NlZHVyZVN0cmluZ0Zyb21UeXBlTGFiZWxQYXJhbWV0ZXJzQW5kUmV0dXJuQmxvY2sodHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpLFxuICAgICAgICBsYWJlbFN0cmluZyA9IGxhYmVsLmdldFN0cmluZygpLFxuICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgcmV0dXJuQmxvY2tTdHJpbmcgPSByZXR1cm5CbG9jay5nZXRTdHJpbmcoKSxcbiAgICAgICAgcHJvY2VkdXJlU3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHtsYWJlbFN0cmluZ30oJHtwYXJhbWV0ZXJzU3RyaW5nfSkgJHtyZXR1cm5CbG9ja1N0cmluZ31gO1xuXG4gIHJldHVybiBwcm9jZWR1cmVTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmdGcm9tVHlwZVBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayh0eXBlLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jaykge1xuICBjb25zdCB0eXBlU3RyaW5nID0gdHlwZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMuZ2V0U3RyaW5nKCksXG4gICAgICAgIHJldHVybkJsb2NrU3RyaW5nID0gcmV0dXJuQmxvY2suZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGAke3R5cGVTdHJpbmd9ICgke3BhcmFtZXRlcnNTdHJpbmd9KSAke3JldHVybkJsb2NrU3RyaW5nfWA7XG5cbiAgcmV0dXJuIGFub255bW91c1Byb2NlZHVyZVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmdGcm9tTm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5KG5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheSkge1xuICBjb25zdCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nID0gbm9taW5hbFZhbHVlUHJvcGVydGllc0FycmF5LnJlZHVjZSgobm9taW5hbFZhbHVlUHJvcGVydGllc1N0cmluZywgbm9taW5hbFZhbHVlUHJvcGVydHkpID0+IHtcbiAgICBjb25zdCBub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZyA9IG5vbWluYWxWYWx1ZVByb3BlcnR5LmdldFN0cmluZygpO1xuXG4gICAgbm9taW5hbFZhbHVlUHJvcGVydGllc1N0cmluZyA9IChub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9taW5hbFZhbHVlUHJvcGVydHlTdHJpbmcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nfSwgJHtub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIG5vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmc7XG4gIH0sIG51bGwpO1xuXG4gIHJldHVybiBub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkodHlwZSwgdmFyaWFibGVBc3NpZ25tZW50c0FycmF5KSB7XG4gIGxldCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xuXG4gIGNvbnN0IHR5cGVTdHJpbmcgPSB0eXBlLmdldFN0cmluZygpO1xuXG4gIHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRzQXJyYXkucmVkdWNlKCh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nLCB2YXJpYWJsZUFzc2lnbm1lbnQpID0+IHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50KHZhcmlhYmxlQXNzaWdubWVudCk7XG5cbiAgICB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gKHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmcgPT09IG51bGwpID9cbiAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA6XG4gICAgICBgJHt2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nfSwgJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9YDtcblxuICAgIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xuICB9LCBudWxsKTsgLy8vXG5cbiAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9IGAke3R5cGVTdHJpbmd9ICR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30gO2A7IC8vL1xuXG4gIHJldHVybiB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlU3RyaW5nRnJvbVZhcmlhYmxlSW5pdGlhbEV4cHJlc3Npb25BbmRBbm9ueW1vdXNQcm9jZWR1cmUodmFyaWFibGUsIGluaXRpYWxFeHByZXNzaW9uLCBhbm9ueW1vdXNQcm9jZWR1cmUpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgaW5pdGlhbEV4cHJlc3Npb25TdHJpbmcgPSBpbml0aWFsRXhwcmVzc2lvbi5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICByZWR1Y2VTdHJpbmcgPSBgUmVkdWNlKCR7dmFyaWFibGVTdHJpbmd9LCAke2Fub255bW91c1Byb2NlZHVyZVN0cmluZ30sICR7aW5pdGlhbEV4cHJlc3Npb25TdHJpbmd9KWA7XG5cbiAgcmV0dXJuIHJlZHVjZVN0cmluZztcbn1cblxuIl0sIm5hbWVzIjpbImFub255bW91c1Byb2NlZHVyZVN0cmluZ0Zyb21UeXBlUGFyYW1ldGVyc0FuZFJldHVybkJsb2NrIiwiZXZlcnlTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJleHByZXNzaW9uU3RyaW5nRnJvbVByb3BlcnRpZXMiLCJub21pbmFsVmFsdWVQcm9wZXJ0aWVzU3RyaW5nRnJvbU5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheSIsIm5vbWluYWxWYWx1ZVByb3BlcnR5U3RyaW5nRnJvbU5hbWVBbmRUeXBlIiwicHJpbXRpdmVTdHJpbmdGcm9tQm9vbGVhbiIsInByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZSIsInByaW10aXZlU3RyaW5nRnJvbU5vbWluYWxWYWx1ZXMiLCJwcmltdGl2ZVN0cmluZ0Zyb21TdHJpbmdMaXRlcmFsIiwicHJvY2VkdXJlRGVjbGFyYXRpb25TdHJpbmdGcm9tUHJvY2VkdXJlIiwicHJvY2VkdXJlU3RyaW5nRnJvbVR5cGVMYWJlbFBhcmFtZXRlcnNBbmRSZXR1cm5CbG9jayIsInJlZHVjZVN0cmluZ0Zyb21WYXJpYWJsZUluaXRpYWxFeHByZXNzaW9uQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwicmV0dXJuQmxvY2tTdHJpbmdGcm9tUmV0dXJuU3RhdGVtZW50Tm9kZSIsInNvbWVTdHJpbmdGcm9tVmFyaWFibGVBbmRBbm9ueW1vdXNQcm9jZWR1cmUiLCJ0ZXJtU3RyaW5nRnJvbVByb3BlcnRpZXMiLCJ0ZXJtc1N0cmluZ0Zyb21UZXJtc0FycmF5IiwidGVybmFyeVN0cmluZ0Zyb21UZXJtIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiLCJ2YWx1ZVN0cmluZ0Zyb21Qcm9wZXJ0aWVzIiwidmFsdWVzU3RyaW5nRnJvbVZhbHVlc0FycmF5IiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVR5cGVBbmRWYXJpYWJsZSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50c0FycmF5IiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nRnJvbVZhcmlhYmxlQXNzaWdubWVudCIsInZhcmlhYmxlU3RyaW5nRnJvbU5hbWUiLCJ0ZXJtIiwidGVybVN0cmluZyIsImdldFN0cmluZyIsInRlcm5hcnlTdHJpbmciLCJuYW1lIiwidmFyaWFibGVTdHJpbmciLCJwcm9wZXJ0aWVzIiwiZm9yRWFjaCIsInByb3BlcnR5IiwicHJvcGVydHlTdHJpbmciLCJ2YWx1ZVN0cmluZyIsImJvb2xlYW4iLCJleHByZXNzc2lvblN0cmluZyIsInRlcm1zQXJyYXkiLCJ0ZXJtc1N0cmluZyIsInJlZHVjZSIsInZhbHVlc0FycmF5IiwidmFsdWVzU3RyaW5nIiwidmFsdWUiLCJub21pbmFsVmFsdWUiLCJzdHJpbmciLCJwcmltdGl2ZVN0cmluZyIsImV4cHJlc3Npb25TdHJpbmciLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nRnJvbVN0cmluZ0xpdGVyYWwiLCJub21pbmFsVmFsdWVzIiwicHJpbWl0aXZlU3RyaW5nIiwibm9taW5hbFZhbHVlU3RyaW5nIiwicHJvY2VkdXJlIiwidHlwZSIsImdldFR5cGUiLCJsYWJlbCIsImdldExhYmVsIiwicGFyYW1ldGVycyIsImdldFBhcmFtZXRlcnMiLCJyZXR1cm5TdGF0ZW1lbnQiLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJ0eXBlU3RyaW5nIiwibGFiZWxTdHJpbmciLCJwYXJhbWV0ZXJzU3RyaW5nIiwicmV0dXJuU3RhdGVtZW50U3RyaW5nIiwicHJvY2VkdXJlRGVsY2FyYXRpb25TdHJpbmciLCJyZXR1cm5CbG9ja1N0cmluZyIsIm5hbWVTdHJpbmciLCJub21pbmFsVmFsdWVQcm9wZXJ0eVN0cmluZyIsInR5cGVOYW1lIiwiYXJndW1lbnRUeXBlTmFtZSIsInZhcmlhYmxlIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwiYW5vbnltb3VzUHJvY2VkdXJlIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIiwic29tZVN0cmluZyIsImV2ZXJ5U3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50IiwiZ2V0VmFyaWFibGUiLCJyZXR1cm5CbG9jayIsInByb2NlZHVyZVN0cmluZyIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXNBcnJheSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXNTdHJpbmciLCJub21pbmFsVmFsdWVQcm9wZXJ0eSIsInZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJpbml0aWFsRXhwcmVzc2lvbiIsImluaXRpYWxFeHByZXNzaW9uU3RyaW5nIiwicmVkdWNlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUE0TWdCQTtlQUFBQTs7UUExQkFDO2VBQUFBOztRQTVGQUM7ZUFBQUE7O1FBK0hBQztlQUFBQTs7UUF2RUFDO2VBQUFBOztRQWpHQUM7ZUFBQUE7O1FBa0NBQztlQUFBQTs7UUE0QkFDO2VBQUFBOztRQVBBQztlQUFBQTs7UUFxQkFDO2VBQUFBOztRQXlFQUM7ZUFBQUE7O1FBcURBQztlQUFBQTs7UUFoSEFDO2VBQUFBOztRQW1DQUM7ZUFBQUE7O1FBekpBQztlQUFBQTs7UUFrQ0FDO2VBQUFBOztRQS9DQUM7ZUFBQUE7O1FBa0pBQztlQUFBQTs7UUF2SEFDO2VBQUFBOztRQWtDQUM7ZUFBQUE7O1FBaUdBQztlQUFBQTs7UUFpRUFDO2VBQUFB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
|
package/lib/utilities/value.js
CHANGED
|
@@ -24,12 +24,6 @@ _export(exports, {
|
|
|
24
24
|
get valueFromNominalValue () {
|
|
25
25
|
return valueFromNominalValue;
|
|
26
26
|
},
|
|
27
|
-
get valueFromNominalValues () {
|
|
28
|
-
return valueFromNominalValues;
|
|
29
|
-
},
|
|
30
|
-
get valueFromPrimitive () {
|
|
31
|
-
return valueFromPrimitive;
|
|
32
|
-
},
|
|
33
27
|
get valueFromStringLiteral () {
|
|
34
28
|
return valueFromStringLiteral;
|
|
35
29
|
}
|
|
@@ -48,18 +42,10 @@ function valueFromBoolean(boolean, context) {
|
|
|
48
42
|
const value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
49
43
|
return value;
|
|
50
44
|
}
|
|
51
|
-
function valueFromPrimitive(primitive) {
|
|
52
|
-
const { Value } = _elements.default, context = null, string = primitive.getString(), node = null, breakPoint = null, variable = null, value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
53
|
-
return value;
|
|
54
|
-
}
|
|
55
45
|
function valueFromNominalValue(nominalValue) {
|
|
56
46
|
const { Value } = _elements.default, variable = null, primitive = (0, _primitive.primitiveFromNominalValue)(nominalValue), string = primitive.getString(), breakPoint = null, node = null, context = null, value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
57
47
|
return value;
|
|
58
48
|
}
|
|
59
|
-
function valueFromNominalValues(nominalValues) {
|
|
60
|
-
const { Value } = _elements.default, variable = null, primitive = (0, _primitive.primitiveFromNominalValues)(nominalValues), string = primitive.getString(), node = null, breakPoint = null, context = null, value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
61
|
-
return value;
|
|
62
|
-
}
|
|
63
49
|
function valueFromStringLiteral(stringLiteral, context) {
|
|
64
50
|
const { Value } = _elements.default, variable = null, primitive = (0, _primitive.primitiveFromStringLiteral)(stringLiteral, context), string = primitive.getString(), node = null, breakPoint = null;
|
|
65
51
|
context = null;
|
|
@@ -73,18 +59,21 @@ function valueFromNodeAndNominalValue(node, nominalValue) {
|
|
|
73
59
|
return value;
|
|
74
60
|
}
|
|
75
61
|
function valueFromNodesAndNominalValue(nodes, nominalValue) {
|
|
76
|
-
const context = nominalValue.getContext(),
|
|
62
|
+
const context = nominalValue.getContext(), nominalVvalues = nodes.map((node)=>{
|
|
77
63
|
const nominalValue = _nominalValue.default.fromNode(node, context);
|
|
78
64
|
return nominalValue;
|
|
79
|
-
}), value = valueFromNominalValues(
|
|
65
|
+
}), value = valueFromNominalValues(nominalVvalues);
|
|
80
66
|
return value;
|
|
81
67
|
}
|
|
82
68
|
const _default = {
|
|
83
69
|
valueFromBoolean,
|
|
84
|
-
valueFromNominalValue,
|
|
85
|
-
valueFromNominalValues,
|
|
86
70
|
valueFromStringLiteral,
|
|
87
|
-
|
|
71
|
+
valueFromNodeAndNominalValue,
|
|
72
|
+
valueFromNodesAndNominalValue
|
|
88
73
|
};
|
|
74
|
+
function valueFromNominalValues(nominalValues) {
|
|
75
|
+
const { Value } = _elements.default, variable = null, context = null, primitive = (0, _primitive.primitiveFromNominalValues)(nominalValues, context), string = primitive.getString(), node = null, breakPoint = null, value = new Value(context, string, node, breakPoint, variable, primitive);
|
|
76
|
+
return value;
|
|
77
|
+
}
|
|
89
78
|
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFsdWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBOb21pbmFsVmFsdWUgZnJvbSBcIi4uL25vbWluYWxWYWx1ZVwiO1xuXG5pbXBvcnQgeyBwcmltaXRpdmVGcm9tQm9vbGVhbiwgcHJpbWl0aXZlRnJvbU5vbWluYWxWYWx1ZSwgcHJpbWl0aXZlRnJvbU5vbWluYWxWYWx1ZXMsIHByaW1pdGl2ZUZyb21TdHJpbmdMaXRlcmFsIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9wcmltaXRpdmVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCkge1xuICBjb25zdCB7IFZhbHVlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgdmFyaWFibGUgPSBudWxsLFxuICAgICAgICBwcmltaXRpdmUgPSBwcmltaXRpdmVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpLFxuICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgY29udGV4dCA9IG51bGw7XG5cbiAgY29uc3QgdmFsdWUgPSBuZXcgVmFsdWUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlKTtcblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlKSB7XG4gIGNvbnN0IHsgVmFsdWUgfSA9IGVsZW1lbnRzLFxuICAgICAgICB2YXJpYWJsZSA9IG51bGwsXG4gICAgICAgIHByaW1pdGl2ZSA9IHByaW1pdGl2ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlKSxcbiAgICAgICAgc3RyaW5nID0gcHJpbWl0aXZlLmdldFN0cmluZygpLFxuICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgIGNvbnRleHQgPSBudWxsLCAgLy8vXG4gICAgICAgIHZhbHVlID0gbmV3IFZhbHVlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIHByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFsdWUgfSA9IGVsZW1lbnRzLFxuICAgICAgICB2YXJpYWJsZSA9IG51bGwsXG4gICAgICAgIHByaW1pdGl2ZSA9IHByaW1pdGl2ZUZyb21TdHJpbmdMaXRlcmFsKHN0cmluZ0xpdGVyYWwsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICBjb250ZXh0ID0gbnVsbDtcblxuICBjb25zdCB2YWx1ZSA9IG5ldyBWYWx1ZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHZhcmlhYmxlLCBwcmltaXRpdmUpO1xuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlRnJvbU5vZGVBbmROb21pbmFsVmFsdWUobm9kZSwgbm9taW5hbFZhbHVlKSB7XG4gIGNvbnN0IGNvbnRleHQgPSBub21pbmFsVmFsdWUuZ2V0Q29udGV4dCgpO1xuXG4gIG5vbWluYWxWYWx1ZSA9IE5vbWluYWxWYWx1ZS5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICBjb25zdCB2YWx1ZSA9IHZhbHVlRnJvbU5vbWluYWxWYWx1ZShub21pbmFsVmFsdWUpO1xuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlKG5vZGVzLCBub21pbmFsVmFsdWUpIHtcbiAgY29uc3QgY29udGV4dCA9IG5vbWluYWxWYWx1ZS5nZXRDb250ZXh0KCksXG4gICAgICAgIG5vbWluYWxWdmFsdWVzID0gbm9kZXMubWFwKChub2RlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgbm9taW5hbFZhbHVlID0gTm9taW5hbFZhbHVlLmZyb21Ob2RlKG5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIG5vbWluYWxWYWx1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVnZhbHVlcyk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIHZhbHVlRnJvbUJvb2xlYW4sXG4gIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsXG4gIHZhbHVlRnJvbU5vZGVBbmROb21pbmFsVmFsdWUsXG4gIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlXG59O1xuXG5mdW5jdGlvbiB2YWx1ZUZyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMpIHtcbiAgY29uc3QgeyBWYWx1ZSB9ID0gZWxlbWVudHMsXG4gICAgICAgIHZhcmlhYmxlID0gbnVsbCxcbiAgICAgICAgY29udGV4dCA9IG51bGwsXG4gICAgICAgIHByaW1pdGl2ZSA9IHByaW1pdGl2ZUZyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBwcmltaXRpdmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgdmFsdWUgPSBuZXcgVmFsdWUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgcHJpbWl0aXZlKTtcblxuICByZXR1cm4gdmFsdWU7XG59XG4iXSwibmFtZXMiOlsidmFsdWVGcm9tQm9vbGVhbiIsInZhbHVlRnJvbU5vZGVBbmROb21pbmFsVmFsdWUiLCJ2YWx1ZUZyb21Ob2Rlc0FuZE5vbWluYWxWYWx1ZSIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSIsInZhbHVlRnJvbVN0cmluZ0xpdGVyYWwiLCJib29sZWFuIiwiY29udGV4dCIsIlZhbHVlIiwiZWxlbWVudHMiLCJ2YXJpYWJsZSIsInByaW1pdGl2ZSIsInByaW1pdGl2ZUZyb21Cb29sZWFuIiwic3RyaW5nIiwiZ2V0U3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YWx1ZSIsIm5vbWluYWxWYWx1ZSIsInByaW1pdGl2ZUZyb21Ob21pbmFsVmFsdWUiLCJzdHJpbmdMaXRlcmFsIiwicHJpbWl0aXZlRnJvbVN0cmluZ0xpdGVyYWwiLCJnZXRDb250ZXh0IiwiTm9taW5hbFZhbHVlIiwiZnJvbU5vZGUiLCJub2RlcyIsIm5vbWluYWxWdmFsdWVzIiwibWFwIiwidmFsdWVGcm9tTm9taW5hbFZhbHVlcyIsIm5vbWluYWxWYWx1ZXMiLCJwcmltaXRpdmVGcm9tTm9taW5hbFZhbHVlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBd0VBO2VBQUE7O1FBakVnQkE7ZUFBQUE7O1FBMkNBQztlQUFBQTs7UUFVQUM7ZUFBQUE7O1FBdENBQztlQUFBQTs7UUFhQUM7ZUFBQUE7OztpRUFqQ0s7cUVBQ0k7MkJBRStGOzs7Ozs7QUFFakgsU0FBU0osaUJBQWlCSyxPQUFPLEVBQUVDLE9BQU87SUFDL0MsTUFBTSxFQUFFQyxLQUFLLEVBQUUsR0FBR0MsaUJBQVEsRUFDcEJDLFdBQVcsTUFDWEMsWUFBWUMsSUFBQUEsK0JBQW9CLEVBQUNOLFNBQVNDLFVBQzFDTSxTQUFTRixVQUFVRyxTQUFTLElBQzVCQyxPQUFPLE1BQ1BDLGFBQWE7SUFFbkJULFVBQVU7SUFFVixNQUFNVSxRQUFRLElBQUlULE1BQU1ELFNBQVNNLFFBQVFFLE1BQU1DLFlBQVlOLFVBQVVDO0lBRXJFLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTYixzQkFBc0JjLFlBQVk7SUFDaEQsTUFBTSxFQUFFVixLQUFLLEVBQUUsR0FBR0MsaUJBQVEsRUFDcEJDLFdBQVcsTUFDWEMsWUFBWVEsSUFBQUEsb0NBQXlCLEVBQUNELGVBQ3RDTCxTQUFTRixVQUFVRyxTQUFTLElBQzVCRSxhQUFhLE1BQ2JELE9BQU8sTUFDUFIsVUFBVSxNQUNWVSxRQUFRLElBQUlULE1BQU1ELFNBQVNNLFFBQVFFLE1BQU1DLFlBQVlOLFVBQVVDO0lBRXJFLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTWix1QkFBdUJlLGFBQWEsRUFBRWIsT0FBTztJQUMzRCxNQUFNLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxpQkFBUSxFQUNwQkMsV0FBVyxNQUNYQyxZQUFZVSxJQUFBQSxxQ0FBMEIsRUFBQ0QsZUFBZWIsVUFDdERNLFNBQVNGLFVBQVVHLFNBQVMsSUFDNUJDLE9BQU8sTUFDUEMsYUFBYTtJQUVuQlQsVUFBVTtJQUVWLE1BQU1VLFFBQVEsSUFBSVQsTUFBTUQsU0FBU00sUUFBUUUsTUFBTUMsWUFBWU4sVUFBVUM7SUFFckUsT0FBT007QUFDVDtBQUVPLFNBQVNmLDZCQUE2QmEsSUFBSSxFQUFFRyxZQUFZO0lBQzdELE1BQU1YLFVBQVVXLGFBQWFJLFVBQVU7SUFFdkNKLGVBQWVLLHFCQUFZLENBQUNDLFFBQVEsQ0FBQ1QsTUFBTVI7SUFFM0MsTUFBTVUsUUFBUWIsc0JBQXNCYztJQUVwQyxPQUFPRDtBQUNUO0FBRU8sU0FBU2QsOEJBQThCc0IsS0FBSyxFQUFFUCxZQUFZO0lBQy9ELE1BQU1YLFVBQVVXLGFBQWFJLFVBQVUsSUFDakNJLGlCQUFpQkQsTUFBTUUsR0FBRyxDQUFDLENBQUNaO1FBQzFCLE1BQU1HLGVBQWVLLHFCQUFZLENBQUNDLFFBQVEsQ0FBQ1QsTUFBTVI7UUFFakQsT0FBT1c7SUFDVCxJQUNBRCxRQUFRVyx1QkFBdUJGO0lBRXJDLE9BQU9UO0FBQ1Q7TUFFQSxXQUFlO0lBQ2JoQjtJQUNBSTtJQUNBSDtJQUNBQztBQUNGO0FBRUEsU0FBU3lCLHVCQUF1QkMsYUFBYTtJQUMzQyxNQUFNLEVBQUVyQixLQUFLLEVBQUUsR0FBR0MsaUJBQVEsRUFDcEJDLFdBQVcsTUFDWEgsVUFBVSxNQUNWSSxZQUFZbUIsSUFBQUEscUNBQTBCLEVBQUNELGVBQWV0QixVQUN0RE0sU0FBU0YsVUFBVUcsU0FBUyxJQUM1QkMsT0FBTyxNQUNQQyxhQUFhLE1BQ2JDLFFBQVEsSUFBSVQsTUFBTUQsU0FBU00sUUFBUUUsTUFBTUMsWUFBWU4sVUFBVUM7SUFFckUsT0FBT007QUFDVCJ9
|
package/lib/utilities/values.js
CHANGED
|
@@ -16,8 +16,8 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
function valuesFromNominalValues(nominalValues) {
|
|
20
|
-
const { Values } = _elements.default, valuesArray = valuesArrayFromNominalValues(nominalValues), valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray), string = valuesString, array = valuesArray, node = null, breakPoint = null,
|
|
19
|
+
function valuesFromNominalValues(nominalValues, context) {
|
|
20
|
+
const { Values } = _elements.default, valuesArray = valuesArrayFromNominalValues(nominalValues), valuesString = (0, _string.valuesStringFromValuesArray)(valuesArray), string = valuesString, array = valuesArray, node = null, breakPoint = null, values = new Values(context, string, node, breakPoint, array);
|
|
21
21
|
return values;
|
|
22
22
|
}
|
|
23
23
|
function valuesArrayFromNominalValues(nominalValues) {
|
|
@@ -28,4 +28,4 @@ function valuesArrayFromNominalValues(nominalValues) {
|
|
|
28
28
|
return valuesArray;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmFsdWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmltcG9ydCB7IHZhbHVlRnJvbU5vbWluYWxWYWx1ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcbmltcG9ydCB7IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyhub21pbmFsVmFsdWVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFsdWVzIH0gPSBlbGVtZW50cyxcbiAgICAgICAgdmFsdWVzQXJyYXkgPSB2YWx1ZXNBcnJheUZyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMpLFxuICAgICAgICB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkodmFsdWVzQXJyYXkpLFxuICAgICAgICBzdHJpbmcgPSB2YWx1ZXNTdHJpbmcsIC8vL1xuICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAgLy8vXG4gICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgdmFsdWVzID0gbmV3IFZhbHVlcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICByZXR1cm4gdmFsdWVzO1xufVxuXG5mdW5jdGlvbiB2YWx1ZXNBcnJheUZyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMpIHtcbiAgY29uc3QgdmFsdWVzQXJyYXkgPSBub21pbmFsVmFsdWVzLm1hcCgobm9taW5hbFZhbHVlKSA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlc0FycmF5O1xufVxuIl0sIm5hbWVzIjpbInZhbHVlc0Zyb21Ob21pbmFsVmFsdWVzIiwibm9taW5hbFZhbHVlcyIsImNvbnRleHQiLCJWYWx1ZXMiLCJlbGVtZW50cyIsInZhbHVlc0FycmF5IiwidmFsdWVzQXJyYXlGcm9tTm9taW5hbFZhbHVlcyIsInZhbHVlc1N0cmluZyIsInZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSIsInN0cmluZyIsImFycmF5Iiwibm9kZSIsImJyZWFrUG9pbnQiLCJ2YWx1ZXMiLCJtYXAiLCJub21pbmFsVmFsdWUiLCJ2YWx1ZSIsInZhbHVlRnJvbU5vbWluYWxWYWx1ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT2dCQTs7O2VBQUFBOzs7aUVBTEs7dUJBRWlCO3dCQUNNOzs7Ozs7QUFFckMsU0FBU0Esd0JBQXdCQyxhQUFhLEVBQUVDLE9BQU87SUFDNUQsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0MsaUJBQVEsRUFDckJDLGNBQWNDLDZCQUE2QkwsZ0JBQzNDTSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0gsY0FDM0NJLFNBQVNGLGNBQ1RHLFFBQVFMLGFBQ1JNLE9BQU8sTUFDUEMsYUFBYSxNQUNiQyxTQUFTLElBQUlWLE9BQU9ELFNBQVNPLFFBQVFFLE1BQU1DLFlBQVlGO0lBRTdELE9BQU9HO0FBQ1Q7QUFFQSxTQUFTUCw2QkFBNkJMLGFBQWE7SUFDakQsTUFBTUksY0FBY0osY0FBY2EsR0FBRyxDQUFDLENBQUNDO1FBQ3JDLE1BQU1DLFFBQVFDLElBQUFBLDRCQUFxQixFQUFDRjtRQUVwQyxPQUFPQztJQUNUO0lBRUEsT0FBT1g7QUFDVCJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.310",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^17.2.10",
|
|
14
|
-
"occam-languages": "^0.0.
|
|
14
|
+
"occam-languages": "^0.0.283",
|
|
15
15
|
"occam-lexers": "^23.1.67",
|
|
16
16
|
"occam-parsers": "^23.1.80",
|
|
17
17
|
"occam-query": "^4.1.183"
|
|
@@ -6,9 +6,8 @@ import elements from "../../elements";
|
|
|
6
6
|
import Exception from "../../exception";
|
|
7
7
|
|
|
8
8
|
import { define } from "../../elements";
|
|
9
|
-
import {
|
|
9
|
+
import { LIST_TYPE_NAME } from "../../typeNames";
|
|
10
10
|
import { primtiveStringFromNominalValues } from "../../utilities/string";
|
|
11
|
-
import { NOMINAL_VALUE_TYPE, NOMINAL_VALUES_TYPE } from "../../types";
|
|
12
11
|
|
|
13
12
|
export default define(class ArrayAssigment extends Element {
|
|
14
13
|
constructor(context, string, node, breakPoint, variable, bindings) {
|
|
@@ -32,36 +31,37 @@ export default define(class ArrayAssigment extends Element {
|
|
|
32
31
|
context.trace(`Evaluating the '${arrayAssignmentString}' array assignment...`);
|
|
33
32
|
|
|
34
33
|
const value = this.variable.evaluate(context),
|
|
35
|
-
valueType = value.getType()
|
|
34
|
+
valueType = value.getType(),
|
|
35
|
+
valueTypeListType = valueType.isListType();
|
|
36
36
|
|
|
37
|
-
if (
|
|
37
|
+
if (!valueTypeListType) {
|
|
38
38
|
const valueString = value.getString(),
|
|
39
|
-
message = `The '${valueString}' value's '${valueType}' type should be '${
|
|
39
|
+
message = `The '${valueString}' value's '${valueType}' type should be '${LIST_TYPE_NAME}'.`,
|
|
40
40
|
exception = Exception.fromMessage(message);
|
|
41
41
|
|
|
42
42
|
throw exception;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
nominalValuesLength = nominalValues.length;
|
|
45
|
+
const bindingsLength = this.bindings.getLength(),
|
|
46
|
+
primitiveValue = value.getPrimitiveValue(),
|
|
47
|
+
primitiveValueLength = primitiveValue.length;
|
|
49
48
|
|
|
50
|
-
if (bindingsLength >
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
message = `The length of the '${bindingsString}' bindings is greater than the length of the '${
|
|
49
|
+
if (bindingsLength > primitiveValueLength) {
|
|
50
|
+
const valueString = value.getString(),
|
|
51
|
+
bindingsString = this.bindings.getString(),
|
|
52
|
+
message = `The length of the '${bindingsString}' bindings is greater than the length of the '${valueString}' list.`,
|
|
54
53
|
exception = Exception.fromMessage(message);
|
|
55
54
|
|
|
56
55
|
throw exception;
|
|
57
56
|
}
|
|
58
57
|
|
|
58
|
+
const values = value.lift(context);
|
|
59
|
+
|
|
59
60
|
this.bindings.forEachBinding((binding, index) => {
|
|
60
|
-
const
|
|
61
|
+
const elided = binding.isElided();
|
|
61
62
|
|
|
62
|
-
if (!
|
|
63
|
-
const
|
|
64
|
-
value = valueFromNominalValue(nominalValue);
|
|
63
|
+
if (!elided) {
|
|
64
|
+
const value = values[index];
|
|
65
65
|
|
|
66
66
|
this.evaluateBinding(binding, value, context);
|
|
67
67
|
}
|
|
@@ -70,16 +70,21 @@ export default define(class ArrayAssigment extends Element {
|
|
|
70
70
|
context.debug(`...evaluated the '${arrayAssignmentString}' array assignment.`);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
evaluateBinding(binding,
|
|
74
|
-
const
|
|
75
|
-
|
|
73
|
+
evaluateBinding(binding, value, context) {
|
|
74
|
+
const valueString = value.getString(),
|
|
75
|
+
bindingString = binding.getString();
|
|
76
76
|
|
|
77
|
-
context.trace(`Evaluating the '${bindingString}' binding against the '${
|
|
77
|
+
context.trace(`Evaluating the '${bindingString}' binding against the '${valueString}' value...`);
|
|
78
78
|
|
|
79
|
-
const
|
|
79
|
+
const valueType = value.getType(),
|
|
80
|
+
bindingType = binding.getType(),
|
|
81
|
+
bindingTypeEqualToValueType = bindingType.isEqualTo(valueType);
|
|
80
82
|
|
|
81
|
-
if (
|
|
82
|
-
const
|
|
83
|
+
if (!bindingTypeEqualToValueType) {
|
|
84
|
+
const bindingTypeString = bindingType.getString(),
|
|
85
|
+
valueTypeString = valueType.getString(),
|
|
86
|
+
valueString = value.getString(),
|
|
87
|
+
message = `The '${bindingString}' binding's '${bindingTypeString}' type is not equal to the '${valueString}' value's '${valueTypeString}' type.`,
|
|
83
88
|
exception = Exception.fromMessage(message);
|
|
84
89
|
|
|
85
90
|
throw exception;
|
|
@@ -88,9 +93,9 @@ export default define(class ArrayAssigment extends Element {
|
|
|
88
93
|
const { Variable } = elements,
|
|
89
94
|
variable = Variable.fromBinding(binding, context);
|
|
90
95
|
|
|
91
|
-
variable.assign(
|
|
96
|
+
variable.assign(value, context);
|
|
92
97
|
|
|
93
|
-
context.debug(`...evaluated the '${bindingString}' binding against the '${
|
|
98
|
+
context.debug(`...evaluated the '${bindingString}' binding against the '${valueString}' value.`);
|
|
94
99
|
}
|
|
95
100
|
|
|
96
101
|
static name = "ArrayAssignment";
|
|
@@ -4,14 +4,14 @@ import { Element } from "occam-languages";
|
|
|
4
4
|
|
|
5
5
|
import elements from "../../elements";
|
|
6
6
|
import Exception from "../../exception";
|
|
7
|
-
import
|
|
7
|
+
import nominalValueProperties from "../../nominalValueProperties";
|
|
8
8
|
|
|
9
9
|
import { define } from "../../elements";
|
|
10
|
-
import { stringLiteralFromString } from "../../utilities/stringLiteral";
|
|
11
10
|
import { valueFromNodesAndNominalValue } from "../../utilities/value";
|
|
11
|
+
import { stringLiteralFromString } from "../../utilities/stringLiteral";
|
|
12
12
|
import { termFromBoolean, termFromStringLiteral } from "../../utilities/term";
|
|
13
|
-
import { STRING_TYPE, BOOLEAN_TYPE, NOMINAL_VALUE_TYPE, NOMINAL_VALUES_TYPE } from "../../types";
|
|
14
13
|
import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "../../parameterNames";
|
|
14
|
+
import { LIST_TYPE_NAME, STRING_TYPE_NAME, BOOLEAN_TYPE_NAME, NOMINAL_VALUE_TYPE_NAME } from "../../typeNames";
|
|
15
15
|
|
|
16
16
|
export default define(class ObjectAssigment extends Element {
|
|
17
17
|
constructor(context, string, node, breakPoint, variable, namedBindings) {
|
|
@@ -35,17 +35,18 @@ export default define(class ObjectAssigment extends Element {
|
|
|
35
35
|
context.trace(`Evaluating the '${objectAssignmentString}' object assignment...`);
|
|
36
36
|
|
|
37
37
|
const value = this.variable.evaluate(context),
|
|
38
|
-
valueType = value.getType()
|
|
38
|
+
valueType = value.getType(),
|
|
39
|
+
valueTypeNominalValueType = valueType.isNominalValueType();
|
|
39
40
|
|
|
40
|
-
if (
|
|
41
|
+
if (!valueTypeNominalValueType) {
|
|
41
42
|
const valueString = value.getString(),
|
|
42
|
-
message = `The '${valueString}' value's '${valueType}' type should be '${
|
|
43
|
+
message = `The '${valueString}' value's '${valueType}' type should be '${NOMINAL_VALUE_TYPE_NAME}'.`,
|
|
43
44
|
exception = Exception.fromMessage(message);
|
|
44
45
|
|
|
45
46
|
throw exception;
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
|
|
49
|
+
nominalValueProperties.compareNamedBindings(this.namedBindings, context);
|
|
49
50
|
|
|
50
51
|
this.namedBindings.forEachNamedBinding((namedBinding) => {
|
|
51
52
|
this.evaluateNamedBinding(namedBinding, value, context);
|
|
@@ -96,9 +97,11 @@ export default define(class ObjectAssigment extends Element {
|
|
|
96
97
|
|
|
97
98
|
context.trace(`Evaluating the content '${namedBindingString}' named binding...`);
|
|
98
99
|
|
|
99
|
-
|
|
100
|
+
const typeStringType = type.isStringType();
|
|
101
|
+
|
|
102
|
+
if (!typeStringType) {
|
|
100
103
|
const namedBindingString = namedBinding.getString(),
|
|
101
|
-
message = `The '${namedBindingString}' named binding's type should be '${
|
|
104
|
+
message = `The '${namedBindingString}' named binding's type should be '${STRING_TYPE_NAME}'.`,
|
|
102
105
|
exception = Exception.fromMessage(message);
|
|
103
106
|
|
|
104
107
|
throw exception;
|
|
@@ -137,9 +140,11 @@ export default define(class ObjectAssigment extends Element {
|
|
|
137
140
|
|
|
138
141
|
context.trace(`Evaluating the terminal '${namedBindingString}' named binding...`);
|
|
139
142
|
|
|
140
|
-
|
|
143
|
+
const typeBooleanType = type.isBooleanType();
|
|
144
|
+
|
|
145
|
+
if (!typeBooleanType) {
|
|
141
146
|
const namedBindingString = namedBinding.getString(),
|
|
142
|
-
message = `The '${namedBindingString}' named binding's type should be '${
|
|
147
|
+
message = `The '${namedBindingString}' named binding's type should be '${BOOLEAN_TYPE_NAME}'.`,
|
|
143
148
|
exception = Exception.fromMessage(message);
|
|
144
149
|
|
|
145
150
|
throw exception;
|
|
@@ -168,9 +173,11 @@ export default define(class ObjectAssigment extends Element {
|
|
|
168
173
|
|
|
169
174
|
context.trace(`Evaluating the child nodes '${namedBindingString}' named binding...`);
|
|
170
175
|
|
|
171
|
-
|
|
176
|
+
const typeListType = type.isListType();
|
|
177
|
+
|
|
178
|
+
if (!typeListType) {
|
|
172
179
|
const namedBindingString = namedBinding.getString(),
|
|
173
|
-
message = `The '${namedBindingString}' named binding's type should be '${
|
|
180
|
+
message = `The '${namedBindingString}' named binding's type should be '${LIST_TYPE_NAME}'.`,
|
|
174
181
|
exception = Exception.fromMessage(message);
|
|
175
182
|
|
|
176
183
|
throw exception;
|
|
@@ -48,10 +48,12 @@ export default define(class NamedBinding extends Element {
|
|
|
48
48
|
|
|
49
49
|
context.trace(`Comparing the '${termString}' term with the '${namedBindingString}' named binding...`);
|
|
50
50
|
|
|
51
|
-
const termType = term.getType()
|
|
51
|
+
const termType = term.getType(),
|
|
52
|
+
typeEqualToTermType = this.type.isEqualTo(termType);
|
|
52
53
|
|
|
53
|
-
if (
|
|
54
|
-
const
|
|
54
|
+
if (!typeEqualToTermType) {
|
|
55
|
+
const typeString = this.type.getString(),
|
|
56
|
+
message = `The '${termString}' term's '${termType}' type is not equal to '${namedBindingString}' named binding's '${typeString}' type.`,
|
|
55
57
|
exception = Exception.fromMessage(message);
|
|
56
58
|
|
|
57
59
|
throw exception;
|
|
@@ -71,10 +73,12 @@ export default define(class NamedBinding extends Element {
|
|
|
71
73
|
|
|
72
74
|
context.trace(`Comparing the '${namedBindingAString}' named binding with the '${namedBindingBString}' named binding...`);
|
|
73
75
|
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
+
const namedBindingName = namedBinding.getName(),
|
|
77
|
+
namedBindingType = namedBinding.getType(),
|
|
78
|
+
nameEqualToNamedBindingName = (this.name === namedBindingName),
|
|
79
|
+
typeEqualToNamedBindingType = this.type.isEqualTo(namedBindingType);
|
|
76
80
|
|
|
77
|
-
namedBindingCompares = (
|
|
81
|
+
namedBindingCompares = (nameEqualToNamedBindingName && typeEqualToNamedBindingType);
|
|
78
82
|
|
|
79
83
|
if (namedBindingCompares) {
|
|
80
84
|
context.debug(`...compared the '${namedBindingAString}' named binding with the '${namedBindingBString}' named binding.`);
|