@pie-lib/graphing 3.2.0-next.2 → 3.2.0-next.4

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.
Files changed (114) hide show
  1. package/CHANGELOG.md +18 -30
  2. package/LICENSE.md +5 -0
  3. package/lib/axis/arrow.js +1 -1
  4. package/lib/axis/axes.js +1 -1
  5. package/lib/axis/index.js +1 -1
  6. package/lib/bg.js +1 -1
  7. package/lib/container/actions.js +1 -1
  8. package/lib/container/index.js +1 -1
  9. package/lib/container/marks.js +1 -1
  10. package/lib/container/middleware.js +1 -1
  11. package/lib/container/reducer.js +1 -1
  12. package/lib/coordinates-label.js +1 -1
  13. package/lib/graph-with-controls.js +1 -1
  14. package/lib/graph.js +1 -1
  15. package/lib/grid-setup.js +1 -1
  16. package/lib/grid.js +1 -1
  17. package/lib/index.js +1 -1
  18. package/lib/key-legend.js +1 -1
  19. package/lib/label-svg-icon.js +1 -1
  20. package/lib/labels.js +1 -1
  21. package/lib/mark-label.js +1 -1
  22. package/lib/toggle-bar.js +1 -1
  23. package/lib/tool-menu.js +1 -1
  24. package/lib/tools/absolute/component.js +1 -1
  25. package/lib/tools/absolute/index.js +1 -1
  26. package/lib/tools/circle/bg-circle.js +1 -1
  27. package/lib/tools/circle/component.js +1 -1
  28. package/lib/tools/circle/index.js +1 -1
  29. package/lib/tools/exponential/component.js +1 -1
  30. package/lib/tools/exponential/index.js +1 -1
  31. package/lib/tools/index.js +1 -1
  32. package/lib/tools/line/component.js +1 -1
  33. package/lib/tools/line/index.js +1 -1
  34. package/lib/tools/parabola/component.js +1 -1
  35. package/lib/tools/parabola/index.js +1 -1
  36. package/lib/tools/point/component.js +1 -1
  37. package/lib/tools/point/index.js +1 -1
  38. package/lib/tools/polygon/component.js +1 -1
  39. package/lib/tools/polygon/index.js +1 -1
  40. package/lib/tools/polygon/line.js +1 -1
  41. package/lib/tools/polygon/polygon.js +1 -1
  42. package/lib/tools/ray/component.js +1 -1
  43. package/lib/tools/ray/index.js +1 -1
  44. package/lib/tools/segment/component.js +1 -1
  45. package/lib/tools/segment/index.js +1 -1
  46. package/lib/tools/shared/arrow-head.js +1 -1
  47. package/lib/tools/shared/icons/CorrectSVG.js +1 -1
  48. package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
  49. package/lib/tools/shared/icons/MissingSVG.js +1 -1
  50. package/lib/tools/shared/line/index.js +1 -1
  51. package/lib/tools/shared/line/line-path.js +1 -1
  52. package/lib/tools/shared/line/with-root-edge.js +1 -1
  53. package/lib/tools/shared/point/arrow-point.js +1 -1
  54. package/lib/tools/shared/point/arrow.js +1 -1
  55. package/lib/tools/shared/point/base-point.js +1 -1
  56. package/lib/tools/shared/point/index.js +1 -1
  57. package/lib/tools/shared/styles.js +1 -1
  58. package/lib/tools/shared/types.js +1 -1
  59. package/lib/tools/sine/component.js +1 -1
  60. package/lib/tools/sine/index.js +1 -1
  61. package/lib/tools/vector/component.js +1 -1
  62. package/lib/tools/vector/index.js +1 -1
  63. package/lib/undo-redo.js +1 -1
  64. package/lib/use-debounce.js +1 -1
  65. package/lib/utils.js +1 -1
  66. package/package.json +4 -4
  67. package/lib/__tests__/bg.test.js +0 -282
  68. package/lib/__tests__/coordinates-label.test.js +0 -276
  69. package/lib/__tests__/graph-with-controls.test.js +0 -275
  70. package/lib/__tests__/graph.test.js +0 -927
  71. package/lib/__tests__/grid-setup.test.js +0 -729
  72. package/lib/__tests__/grid.test.js +0 -29
  73. package/lib/__tests__/key-legend.test.js +0 -321
  74. package/lib/__tests__/label-svg-icon.test.js +0 -373
  75. package/lib/__tests__/labels.test.js +0 -61
  76. package/lib/__tests__/mark-label.test.js +0 -133
  77. package/lib/__tests__/toggle-bar.test.js +0 -197
  78. package/lib/__tests__/tool-menu.test.js +0 -151
  79. package/lib/__tests__/undo-redo.test.js +0 -31
  80. package/lib/__tests__/use-debounce.test.js +0 -24
  81. package/lib/__tests__/utils.js +0 -70
  82. package/lib/__tests__/utils.test.js +0 -123
  83. package/lib/axis/__tests__/arrow.test.js +0 -60
  84. package/lib/axis/__tests__/axes.test.js +0 -195
  85. package/lib/container/__tests__/actions.test.js +0 -108
  86. package/lib/container/__tests__/index.test.js +0 -503
  87. package/lib/container/__tests__/marks.test.js +0 -259
  88. package/lib/container/__tests__/middleware.test.js +0 -244
  89. package/lib/container/__tests__/reducer.test.js +0 -450
  90. package/lib/tools/absolute/__tests__/component.test.js +0 -65
  91. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
  92. package/lib/tools/circle/__tests__/component.test.js +0 -615
  93. package/lib/tools/circle/__tests__/index.test.js +0 -576
  94. package/lib/tools/exponential/__tests__/component.test.js +0 -64
  95. package/lib/tools/exponential/__tests__/index.test.js +0 -828
  96. package/lib/tools/line/__tests__/component.test.js +0 -45
  97. package/lib/tools/parabola/__tests__/component.test.js +0 -64
  98. package/lib/tools/parabola/__tests__/index.test.js +0 -564
  99. package/lib/tools/point/__tests__/component.test.js +0 -434
  100. package/lib/tools/point/__tests__/index.test.js +0 -262
  101. package/lib/tools/polygon/__tests__/component.test.js +0 -485
  102. package/lib/tools/polygon/__tests__/index.test.js +0 -303
  103. package/lib/tools/polygon/__tests__/line.test.js +0 -50
  104. package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
  105. package/lib/tools/ray/__tests__/component.test.js +0 -35
  106. package/lib/tools/segment/__tests__/component.test.js +0 -35
  107. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  108. package/lib/tools/shared/line/__tests__/index.test.js +0 -124
  109. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
  110. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
  111. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  112. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  113. package/lib/tools/sine/__tests__/component.test.js +0 -72
  114. package/lib/tools/vector/__tests__/component.test.js +0 -32
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.xy = exports.scaleMock = exports.graphProps = void 0;
7
- var _scaleMock = exports.scaleMock = function scaleMock() {
8
- var fn = jest.fn(function (n) {
9
- return n;
10
- });
11
- fn.invert = jest.fn(function (n) {
12
- return n;
13
- });
14
- fn.domain = jest.fn(function () {
15
- return fn;
16
- });
17
- fn.range = jest.fn(function () {
18
- return fn;
19
- });
20
- fn.copy = jest.fn(function () {
21
- return _scaleMock();
22
- });
23
- return fn;
24
- };
25
- var graphProps = exports.graphProps = function graphProps() {
26
- var dmin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
27
- var dmax = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
28
- var rmin = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
29
- var rmax = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
30
- return {
31
- scale: {
32
- x: _scaleMock(),
33
- y: _scaleMock()
34
- },
35
- snap: {
36
- x: jest.fn(function (n) {
37
- return n;
38
- }),
39
- y: jest.fn(function (n) {
40
- return n;
41
- })
42
- },
43
- domain: {
44
- min: dmin,
45
- max: dmax,
46
- step: 1
47
- },
48
- range: {
49
- min: rmin,
50
- max: rmax,
51
- step: 1
52
- },
53
- size: {
54
- width: 400,
55
- height: 400
56
- }
57
- };
58
- };
59
- var xy = exports.xy = function xy(x, y, index) {
60
- var out = {
61
- x: x,
62
- y: y,
63
- index: index
64
- };
65
- if (!Number.isFinite(index)) {
66
- delete out.index;
67
- }
68
- return out;
69
- };
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzY2FsZU1vY2siLCJleHBvcnRzIiwiZm4iLCJqZXN0IiwibiIsImludmVydCIsImRvbWFpbiIsInJhbmdlIiwiY29weSIsImdyYXBoUHJvcHMiLCJkbWluIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiZG1heCIsInJtaW4iLCJybWF4Iiwic2NhbGUiLCJ4IiwieSIsInNuYXAiLCJtaW4iLCJtYXgiLCJzdGVwIiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwieHkiLCJpbmRleCIsIm91dCIsIk51bWJlciIsImlzRmluaXRlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy91dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc2NhbGVNb2NrID0gKCkgPT4ge1xuICBjb25zdCBmbiA9IGplc3QuZm4oKG4pID0+IG4pO1xuICBmbi5pbnZlcnQgPSBqZXN0LmZuKChuKSA9PiBuKTtcbiAgZm4uZG9tYWluID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLnJhbmdlID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLmNvcHkgPSBqZXN0LmZuKCgpID0+IHNjYWxlTW9jaygpKTtcbiAgcmV0dXJuIGZuO1xufTtcblxuZXhwb3J0IGNvbnN0IGdyYXBoUHJvcHMgPSAoZG1pbiA9IDAsIGRtYXggPSAxLCBybWluID0gMCwgcm1heCA9IDEpID0+ICh7XG4gIHNjYWxlOiB7XG4gICAgeDogc2NhbGVNb2NrKCksXG4gICAgeTogc2NhbGVNb2NrKCksXG4gIH0sXG4gIHNuYXA6IHtcbiAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICB5OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgfSxcbiAgZG9tYWluOiB7XG4gICAgbWluOiBkbWluLFxuICAgIG1heDogZG1heCxcbiAgICBzdGVwOiAxLFxuICB9LFxuICByYW5nZToge1xuICAgIG1pbjogcm1pbixcbiAgICBtYXg6IHJtYXgsXG4gICAgc3RlcDogMSxcbiAgfSxcbiAgc2l6ZToge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiA0MDAsXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IHh5ID0gKHgsIHksIGluZGV4KSA9PiB7XG4gIGNvbnN0IG91dCA9IHsgeCwgeSwgaW5kZXggfTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoaW5kZXgpKSB7XG4gICAgZGVsZXRlIG91dC5pbmRleDtcbiAgfVxuICByZXR1cm4gb3V0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQU8sSUFBTUEsVUFBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBRyxTQUFaQSxTQUFTQSxDQUFBLEVBQVM7RUFDN0IsSUFBTUUsRUFBRSxHQUFHQyxJQUFJLENBQUNELEVBQUUsQ0FBQyxVQUFDRSxDQUFDO0lBQUEsT0FBS0EsQ0FBQztFQUFBLEVBQUM7RUFDNUJGLEVBQUUsQ0FBQ0csTUFBTSxHQUFHRixJQUFJLENBQUNELEVBQUUsQ0FBQyxVQUFDRSxDQUFDO0lBQUEsT0FBS0EsQ0FBQztFQUFBLEVBQUM7RUFDN0JGLEVBQUUsQ0FBQ0ksTUFBTSxHQUFHSCxJQUFJLENBQUNELEVBQUUsQ0FBQztJQUFBLE9BQU1BLEVBQUU7RUFBQSxFQUFDO0VBQzdCQSxFQUFFLENBQUNLLEtBQUssR0FBR0osSUFBSSxDQUFDRCxFQUFFLENBQUM7SUFBQSxPQUFNQSxFQUFFO0VBQUEsRUFBQztFQUM1QkEsRUFBRSxDQUFDTSxJQUFJLEdBQUdMLElBQUksQ0FBQ0QsRUFBRSxDQUFDO0lBQUEsT0FBTUYsVUFBUyxDQUFDLENBQUM7RUFBQSxFQUFDO0VBQ3BDLE9BQU9FLEVBQUU7QUFDWCxDQUFDO0FBRU0sSUFBTU8sVUFBVSxHQUFBUixPQUFBLENBQUFRLFVBQUEsR0FBRyxTQUFiQSxVQUFVQSxDQUFBO0VBQUEsSUFBSUMsSUFBSSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDO0VBQUEsSUFBRUcsSUFBSSxHQUFBSCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDO0VBQUEsSUFBRUksSUFBSSxHQUFBSixTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDO0VBQUEsSUFBRUssSUFBSSxHQUFBTCxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxDQUFDO0VBQUEsT0FBTTtJQUNyRU0sS0FBSyxFQUFFO01BQ0xDLENBQUMsRUFBRWxCLFVBQVMsQ0FBQyxDQUFDO01BQ2RtQixDQUFDLEVBQUVuQixVQUFTLENBQUM7SUFDZixDQUFDO0lBQ0RvQixJQUFJLEVBQUU7TUFDSkYsQ0FBQyxFQUFFZixJQUFJLENBQUNELEVBQUUsQ0FBQyxVQUFDRSxDQUFDO1FBQUEsT0FBS0EsQ0FBQztNQUFBLEVBQUM7TUFDcEJlLENBQUMsRUFBRWhCLElBQUksQ0FBQ0QsRUFBRSxDQUFDLFVBQUNFLENBQUM7UUFBQSxPQUFLQSxDQUFDO01BQUE7SUFDckIsQ0FBQztJQUNERSxNQUFNLEVBQUU7TUFDTmUsR0FBRyxFQUFFWCxJQUFJO01BQ1RZLEdBQUcsRUFBRVIsSUFBSTtNQUNUUyxJQUFJLEVBQUU7SUFDUixDQUFDO0lBQ0RoQixLQUFLLEVBQUU7TUFDTGMsR0FBRyxFQUFFTixJQUFJO01BQ1RPLEdBQUcsRUFBRU4sSUFBSTtNQUNUTyxJQUFJLEVBQUU7SUFDUixDQUFDO0lBQ0RDLElBQUksRUFBRTtNQUNKQyxLQUFLLEVBQUUsR0FBRztNQUNWQyxNQUFNLEVBQUU7SUFDVjtFQUNGLENBQUM7QUFBQSxDQUFDO0FBRUssSUFBTUMsRUFBRSxHQUFBMUIsT0FBQSxDQUFBMEIsRUFBQSxHQUFHLFNBQUxBLEVBQUVBLENBQUlULENBQUMsRUFBRUMsQ0FBQyxFQUFFUyxLQUFLLEVBQUs7RUFDakMsSUFBTUMsR0FBRyxHQUFHO0lBQUVYLENBQUMsRUFBREEsQ0FBQztJQUFFQyxDQUFDLEVBQURBLENBQUM7SUFBRVMsS0FBSyxFQUFMQTtFQUFNLENBQUM7RUFDM0IsSUFBSSxDQUFDRSxNQUFNLENBQUNDLFFBQVEsQ0FBQ0gsS0FBSyxDQUFDLEVBQUU7SUFDM0IsT0FBT0MsR0FBRyxDQUFDRCxLQUFLO0VBQ2xCO0VBQ0EsT0FBT0MsR0FBRztBQUNaLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,123 +0,0 @@
1
- "use strict";
2
-
3
- var _typeof = require("@babel/runtime/helpers/typeof");
4
- var utils = _interopRequireWildcard(require("../utils"));
5
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
6
- var xy = function xy(x, y) {
7
- return {
8
- x: x,
9
- y: y
10
- };
11
- };
12
- var tick = function tick(isMajor, v) {
13
- return {
14
- major: isMajor,
15
- value: v,
16
- x: v
17
- };
18
- };
19
- var major = tick.bind(null, true);
20
- var minor = tick.bind(null, false);
21
- describe('utils', function () {
22
- describe('polygonToArea', function () {
23
- var assertPolygon = function assertPolygon(points, area) {
24
- it("converts ".concat(points, " -> ").concat(area), function () {
25
- var result = utils.polygonToArea(points);
26
- expect(result).toEqual(area);
27
- });
28
- };
29
- assertPolygon([xy(0, 0), xy(1, 1), xy(1, -1)], {
30
- left: 0,
31
- top: 1,
32
- bottom: -1,
33
- right: 1
34
- });
35
- assertPolygon([xy(0, 0), xy(3, 0), xy(2, -1), xy(4, -3), xy(1, -4), xy(2, -2)], {
36
- left: 0,
37
- top: 0,
38
- bottom: -4,
39
- right: 4
40
- });
41
- });
42
- describe('lineToArea', function () {
43
- var assertLine = function assertLine(from, to, expected) {
44
- it("".concat(from, ",").concat(to, " => ").concat(expected), function () {
45
- var result = utils.lineToArea(from, to);
46
- expect(result).toEqual(expected);
47
- });
48
- };
49
- assertLine(xy(1, 1), xy(2, 2), {
50
- left: 1,
51
- top: 2,
52
- bottom: 1,
53
- right: 2
54
- });
55
- assertLine(xy(-1, 4), xy(4, -3), {
56
- left: -1,
57
- top: 4,
58
- bottom: -3,
59
- right: 4
60
- });
61
- });
62
- describe('getTickValues', function () {
63
- var assertGetTickValues = function assertGetTickValues(props, expected) {
64
- it(" => ".concat(expected), function () {
65
- var result = utils.getTickValues(props);
66
- expect(result).toEqual(expected);
67
- });
68
- };
69
- assertGetTickValues({
70
- min: 0,
71
- max: 10,
72
- step: 1
73
- }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
74
- assertGetTickValues({
75
- min: 0,
76
- max: 3,
77
- step: 0.5
78
- }, [0, 0.5, 1, 1.5, 2, 2.5, 3]);
79
- assertGetTickValues({
80
- min: -0.2,
81
- max: 2,
82
- step: 0.6
83
- }, [0, 0.6, 1.2, 1.8]);
84
- assertGetTickValues({
85
- min: -3.4,
86
- max: 6.2,
87
- step: 1.2
88
- }, [0, -1.2, -2.4, 1.2, 2.4, 3.6, 4.8, 6]);
89
- assertGetTickValues({
90
- min: 0.6,
91
- max: 4.8,
92
- step: 0.3
93
- }, [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8]);
94
- assertGetTickValues({
95
- min: 0.5,
96
- max: 4.9,
97
- step: 0.3
98
- }, [0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8]);
99
- assertGetTickValues({
100
- min: 0,
101
- max: 3,
102
- step: 0.125
103
- }, [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1, 1.125, 1.25, 1.375, 1.5, 1.625, 1.75, 1.875, 2, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875, 3]);
104
- });
105
- describe('countWords', function () {
106
- it('should return 1 if label is undefined', function () {
107
- var label = undefined;
108
- var result = utils.countWords(label);
109
- expect(result).toEqual(1);
110
- });
111
- it('should return 1 if label is null', function () {
112
- var label = null;
113
- var result = utils.countWords(label);
114
- expect(result).toEqual(1);
115
- });
116
- it('should return 3 if label has 3 words', function () {
117
- var label = 'Number of months';
118
- var result = utils.countWords(label);
119
- expect(result).toEqual(3);
120
- });
121
- });
122
- });
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1dGlscyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwieHkiLCJ4IiwieSIsInRpY2siLCJpc01ham9yIiwidiIsIm1ham9yIiwidmFsdWUiLCJiaW5kIiwibWlub3IiLCJkZXNjcmliZSIsImFzc2VydFBvbHlnb24iLCJwb2ludHMiLCJhcmVhIiwiaXQiLCJjb25jYXQiLCJyZXN1bHQiLCJwb2x5Z29uVG9BcmVhIiwiZXhwZWN0IiwidG9FcXVhbCIsImxlZnQiLCJ0b3AiLCJib3R0b20iLCJyaWdodCIsImFzc2VydExpbmUiLCJmcm9tIiwidG8iLCJleHBlY3RlZCIsImxpbmVUb0FyZWEiLCJhc3NlcnRHZXRUaWNrVmFsdWVzIiwicHJvcHMiLCJnZXRUaWNrVmFsdWVzIiwibWluIiwibWF4Iiwic3RlcCIsImxhYmVsIiwidW5kZWZpbmVkIiwiY291bnRXb3JkcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dGlscyBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbmNvbnN0IHRpY2sgPSAoaXNNYWpvciwgdikgPT4gKHtcbiAgbWFqb3I6IGlzTWFqb3IsXG4gIHZhbHVlOiB2LFxuICB4OiB2LFxufSk7XG5cbmNvbnN0IG1ham9yID0gdGljay5iaW5kKG51bGwsIHRydWUpO1xuY29uc3QgbWlub3IgPSB0aWNrLmJpbmQobnVsbCwgZmFsc2UpO1xuXG5kZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdwb2x5Z29uVG9BcmVhJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydFBvbHlnb24gPSAocG9pbnRzLCBhcmVhKSA9PiB7XG4gICAgICBpdChgY29udmVydHMgJHtwb2ludHN9IC0+ICR7YXJlYX1gLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLnBvbHlnb25Ub0FyZWEocG9pbnRzKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChhcmVhKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgYXNzZXJ0UG9seWdvbihbeHkoMCwgMCksIHh5KDEsIDEpLCB4eSgxLCAtMSldLCB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiAxLFxuICAgICAgYm90dG9tOiAtMSxcbiAgICAgIHJpZ2h0OiAxLFxuICAgIH0pO1xuICAgIGFzc2VydFBvbHlnb24oW3h5KDAsIDApLCB4eSgzLCAwKSwgeHkoMiwgLTEpLCB4eSg0LCAtMyksIHh5KDEsIC00KSwgeHkoMiwgLTIpXSwge1xuICAgICAgbGVmdDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogLTQsXG4gICAgICByaWdodDogNCxcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xpbmVUb0FyZWEnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0TGluZSA9IChmcm9tLCB0bywgZXhwZWN0ZWQpID0+IHtcbiAgICAgIGl0KGAke2Zyb219LCR7dG99ID0+ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5saW5lVG9BcmVhKGZyb20sIHRvKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgYXNzZXJ0TGluZSh4eSgxLCAxKSwgeHkoMiwgMiksIHsgbGVmdDogMSwgdG9wOiAyLCBib3R0b206IDEsIHJpZ2h0OiAyIH0pO1xuICAgIGFzc2VydExpbmUoeHkoLTEsIDQpLCB4eSg0LCAtMyksIHtcbiAgICAgIGxlZnQ6IC0xLFxuICAgICAgdG9wOiA0LFxuICAgICAgYm90dG9tOiAtMyxcbiAgICAgIHJpZ2h0OiA0LFxuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0VGlja1ZhbHVlcycsICgpID0+IHtcbiAgICBjb25zdCBhc3NlcnRHZXRUaWNrVmFsdWVzID0gKHByb3BzLCBleHBlY3RlZCkgPT4ge1xuICAgICAgaXQoYCA9PiAke2V4cGVjdGVkfWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZ2V0VGlja1ZhbHVlcyhwcm9wcyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IDAsIG1heDogMTAsIHN0ZXA6IDEgfSwgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXSk7XG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogMCwgbWF4OiAzLCBzdGVwOiAwLjUgfSwgWzAsIDAuNSwgMSwgMS41LCAyLCAyLjUsIDNdKTtcbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKHsgbWluOiAtMC4yLCBtYXg6IDIsIHN0ZXA6IDAuNiB9LCBbMCwgMC42LCAxLjIsIDEuOF0pO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IC0zLjQsIG1heDogNi4yLCBzdGVwOiAxLjIgfSwgWzAsIC0xLjIsIC0yLjQsIDEuMiwgMi40LCAzLjYsIDQuOCwgNl0pO1xuXG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyhcbiAgICAgIHsgbWluOiAwLjYsIG1heDogNC44LCBzdGVwOiAwLjMgfSxcbiAgICAgIFswLjYsIDAuOSwgMS4yLCAxLjUsIDEuOCwgMi4xLCAyLjQsIDIuNywgMy4wLCAzLjMsIDMuNiwgMy45LCA0LjIsIDQuNSwgNC44XSxcbiAgICApO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoXG4gICAgICB7IG1pbjogMC41LCBtYXg6IDQuOSwgc3RlcDogMC4zIH0sXG4gICAgICBbMC42LCAwLjksIDEuMiwgMS41LCAxLjgsIDIuMSwgMi40LCAyLjcsIDMuMCwgMy4zLCAzLjYsIDMuOSwgNC4yLCA0LjUsIDQuOF0sXG4gICAgKTtcbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKFxuICAgICAgeyBtaW46IDAsIG1heDogMywgc3RlcDogMC4xMjUgfSxcbiAgICAgIFtcbiAgICAgICAgMCwgMC4xMjUsIDAuMjUsIDAuMzc1LCAwLjUsIDAuNjI1LCAwLjc1LCAwLjg3NSwgMSwgMS4xMjUsIDEuMjUsIDEuMzc1LCAxLjUsIDEuNjI1LCAxLjc1LCAxLjg3NSwgMiwgMi4xMjUsIDIuMjUsXG4gICAgICAgIDIuMzc1LCAyLjUsIDIuNjI1LCAyLjc1LCAyLjg3NSwgMyxcbiAgICAgIF0sXG4gICAgKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvdW50V29yZHMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMSBpZiBsYWJlbCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmNvdW50V29yZHMobGFiZWwpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMSBpZiBsYWJlbCBpcyBudWxsJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSBudWxsO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuY291bnRXb3JkcyhsYWJlbCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoMSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiAzIGlmIGxhYmVsIGhhcyAzIHdvcmRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSAnTnVtYmVyIG9mIG1vbnRocyc7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5jb3VudFdvcmRzKGxhYmVsKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgzKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQWtDLFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFBYyxFQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsSUFBQUQsQ0FBQSxHQUFBVyxNQUFBLENBQUFDLGNBQUEsS0FBQUQsTUFBQSxDQUFBRSx3QkFBQSxDQUFBbkIsQ0FBQSxFQUFBYyxFQUFBLE9BQUFQLENBQUEsQ0FBQUssR0FBQSxJQUFBTCxDQUFBLENBQUFNLEdBQUEsSUFBQVAsQ0FBQSxDQUFBRSxDQUFBLEVBQUFNLEVBQUEsRUFBQVAsQ0FBQSxJQUFBQyxDQUFBLENBQUFNLEVBQUEsSUFBQWQsQ0FB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R0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FDNUUsQ0FBQztJQUNETCxtQkFBbUIsQ0FDakI7TUFBRUcsR0FBRyxFQUFFLENBQUM7TUFBRUMsR0FBRyxFQUFFLENBQUM7TUFBRUMsSUFBSSxFQUFFO0lBQU0sQ0FBQyxFQUMvQixDQUNFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFDOUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBRXJDLENBQUM7RUFDSCxDQUFDLENBQUM7RUFFRnhCLFFBQVEsQ0FBQyxZQUFZLEVBQUUsWUFBTTtJQUMzQkksRUFBRSxDQUFDLHVDQUF1QyxFQUFFLFlBQU07TUFDaEQsSUFBTXFCLEtBQUssR0FBR0MsU0FBUztNQUN2QixJQUFNcEIsTUFBTSxHQUFHdkMsS0FBSyxDQUFDNEQsVUFBVSxDQUFDRixLQUFLLENBQUM7TUFFdENqQixNQUFNLENBQUNGLE1BQU0sQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGTCxFQUFFLENBQUMsa0NBQWtDLEVBQUUsWUFBTTtNQUMzQyxJQUFNcUIsS0FBSyxHQUFHLElBQUk7TUFDbEIsSUFBTW5CLE1BQU0sR0FBR3ZDLEtBQUssQ0FBQzRELFVBQVUsQ0FBQ0YsS0FBSyxDQUFDO01BRXRDakIsTUFBTSxDQUFDRixNQUFNLENBQUMsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFRkwsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLFlBQU07TUFDL0MsSUFBTXFCLEtBQUssR0FBRyxrQkFBa0I7TUFDaEMsSUFBTW5CLE1BQU0sR0FBR3ZDLEtBQUssQ0FBQzRELFVBQVUsQ0FBQ0YsS0FBSyxDQUFDO01BRXRDakIsTUFBTSxDQUFDRixNQUFNLENBQUMsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
- var _testUtils = require("@pie-lib/test-utils");
6
- var _react = _interopRequireDefault(require("react"));
7
- var _arrow = require("../arrow");
8
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
- describe('Arrow', function () {
11
- var onChange = jest.fn();
12
- var renderComponent = function renderComponent(extras) {
13
- var defaults = {
14
- classes: {},
15
- className: 'className',
16
- onChange: onChange,
17
- scale: {
18
- x: jest.fn(function (n) {
19
- return n;
20
- }),
21
- y: jest.fn(function (n) {
22
- return n;
23
- })
24
- }
25
- };
26
- var props = _objectSpread(_objectSpread({}, defaults), extras);
27
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_arrow.Arrow, props));
28
- };
29
- describe('rendering', function () {
30
- it('renders with direction up', function () {
31
- var _renderComponent = renderComponent({
32
- direction: 'up'
33
- }),
34
- container = _renderComponent.container;
35
- expect(container.firstChild).toBeInTheDocument();
36
- });
37
- it('renders with direction down', function () {
38
- var _renderComponent2 = renderComponent({
39
- direction: 'down'
40
- }),
41
- container = _renderComponent2.container;
42
- expect(container.firstChild).toBeInTheDocument();
43
- });
44
- it('renders with direction left', function () {
45
- var _renderComponent3 = renderComponent({
46
- direction: 'left'
47
- }),
48
- container = _renderComponent3.container;
49
- expect(container.firstChild).toBeInTheDocument();
50
- });
51
- it('renders with direction right', function () {
52
- var _renderComponent4 = renderComponent({
53
- direction: 'right'
54
- }),
55
- container = _renderComponent4.container;
56
- expect(container.firstChild).toBeInTheDocument();
57
- });
58
- });
59
- });
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfYXJyb3ciLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJzY2FsZSIsIngiLCJuIiwieSIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIkFycm93IiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiZGlyZWN0aW9uIiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJfcmVuZGVyQ29tcG9uZW50MyIsIl9yZW5kZXJDb21wb25lbnQ0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F4aXMvX190ZXN0c19fL2Fycm93LnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEFycm93IH0gZnJvbSAnLi4vYXJyb3cnO1xuXG5kZXNjcmliZSgnQXJyb3cnLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBzY2FsZToge1xuICAgICAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICAgICAgeTogamVzdC5mbigobikgPT4gbiksXG4gICAgICB9LFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxBcnJvdyB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRoIGRpcmVjdGlvbiB1cCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBkaXJlY3Rpb246ICd1cCcgfSk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkaXJlY3Rpb24gZG93bicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBkaXJlY3Rpb246ICdkb3duJyB9KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgICBpdCgncmVuZGVycyB3aXRoIGRpcmVjdGlvbiBsZWZ0JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICAgIGl0KCdyZW5kZXJzIHdpdGggZGlyZWN0aW9uIHJpZ2h0JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCh7IGRpcmVjdGlvbjogJ3JpZ2h0JyB9KTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUFpQyxTQUFBSSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFFLE1BQUEsQ0FBQWMs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
@@ -1,195 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
- var _testUtils = require("@pie-lib/test-utils");
7
- var _react = _interopRequireDefault(require("react"));
8
- var _utils = require("../../__tests__/utils");
9
- var _axes = _interopRequireWildcard(require("../axes"));
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
11
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
- describe('RawXAxis', function () {
14
- var onChange = jest.fn();
15
- var renderComponent = function renderComponent(extras) {
16
- var defaults = {
17
- classes: {},
18
- className: 'className',
19
- onChange: onChange,
20
- graphProps: (0, _utils.graphProps)(),
21
- includeArrows: {
22
- left: true,
23
- right: true,
24
- up: true,
25
- down: true
26
- },
27
- columnTicksValues: [-1, 0, 1],
28
- skipValues: [],
29
- distanceFromOriginToFirstNegativeY: 0,
30
- dy: 0
31
- };
32
- var props = _objectSpread(_objectSpread({}, defaults), extras);
33
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_axes.RawXAxis, props));
34
- };
35
- describe('rendering', function () {
36
- it('renders without crashing', function () {
37
- var _renderComponent = renderComponent(),
38
- container = _renderComponent.container;
39
- expect(container.firstChild).toBeInTheDocument();
40
- });
41
- });
42
- });
43
- describe('RawYAxis', function () {
44
- var onChange = jest.fn();
45
- var renderComponent = function renderComponent(extras) {
46
- var defaults = {
47
- classes: {},
48
- className: 'className',
49
- onChange: onChange,
50
- graphProps: (0, _utils.graphProps)(),
51
- includeArrows: {
52
- left: true,
53
- right: true,
54
- up: true,
55
- down: true
56
- },
57
- rowTickValues: [-1, 0, 1],
58
- skipValues: []
59
- };
60
- var props = _objectSpread(_objectSpread({}, defaults), extras);
61
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_axes.RawYAxis, props));
62
- };
63
- describe('rendering', function () {
64
- it('renders without crashing', function () {
65
- var _renderComponent2 = renderComponent(),
66
- container = _renderComponent2.container;
67
- expect(container.firstChild).toBeInTheDocument();
68
- });
69
- });
70
- });
71
- var _customScaleMock = function customScaleMock(distance) {
72
- var fn = jest.fn(function (n) {
73
- return n * distance;
74
- });
75
- fn.invert = jest.fn(function (n) {
76
- return n * distance;
77
- });
78
- fn.domain = jest.fn(function () {
79
- return fn;
80
- });
81
- fn.range = jest.fn(function () {
82
- return fn;
83
- });
84
- fn.copy = jest.fn(function () {
85
- return _customScaleMock(distance);
86
- });
87
- return fn;
88
- };
89
- describe('Axes', function () {
90
- var onChange = jest.fn();
91
- var customGraphProps = _objectSpread(_objectSpread({}, (0, _utils.graphProps)()), {}, {
92
- domain: {
93
- min: -2,
94
- max: 2,
95
- labelStep: 1,
96
- step: 1
97
- },
98
- range: {
99
- min: -2,
100
- max: 2,
101
- step: 1,
102
- labelStep: 1
103
- },
104
- scale: {
105
- x: _customScaleMock(200),
106
- y: _customScaleMock(150)
107
- }
108
- });
109
- var renderComponent = function renderComponent(extras) {
110
- var defaults = {
111
- classes: {},
112
- className: 'className',
113
- onChange: onChange,
114
- graphProps: customGraphProps
115
- };
116
- var props = _objectSpread(_objectSpread({}, defaults), extras);
117
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_axes["default"], props));
118
- };
119
- describe('rendering', function () {
120
- it('renders without crashing', function () {
121
- var _renderComponent3 = renderComponent(),
122
- container = _renderComponent3.container;
123
- expect(container.firstChild).toBeInTheDocument();
124
- });
125
- });
126
- });
127
- describe('firstNegativeValue', function () {
128
- it('should return undefined for undefined interval', function () {
129
- var interval = undefined;
130
- var result = (0, _axes.firstNegativeValue)(interval);
131
- expect(result).toEqual(undefined);
132
- });
133
- it('should return undefined for empty interval', function () {
134
- var interval = [];
135
- var result = (0, _axes.firstNegativeValue)(interval);
136
- expect(result).toEqual(undefined);
137
- });
138
- it('should return undefined if there is no negative in interval array', function () {
139
- var interval = [1, 5, 7, 4, 5];
140
- var result = (0, _axes.firstNegativeValue)(interval);
141
- expect(result).toEqual(undefined);
142
- });
143
- it('should return first negative number from interval', function () {
144
- var interval = [1, 5, 7, -2, 4, 5, -1];
145
- var result = (0, _axes.firstNegativeValue)(interval);
146
- expect(result).toEqual(-2);
147
- });
148
- });
149
- describe('sharedValues', function () {
150
- it('should be empty array if firstNegativeValue for one of the axes is undefined', function () {
151
- // x
152
- var intervalX = [1, 2, 3, 4, 5, 6];
153
- var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
154
- var distanceFromOriginToFirstNegativeX = -22;
155
-
156
- // y
157
- var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
158
- var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
159
- var distanceFromOriginToFirstNegativeY = -22;
160
- var deltaAllowance = 5;
161
- var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
162
- expect(result).toEqual([]);
163
- });
164
- it('should be empty array if firstNegativeX and firstNegativeY are equal but they do not overlap', function () {
165
- // x
166
- var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
167
- var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
168
- var distanceFromOriginToFirstNegativeX = -7;
169
-
170
- // y
171
- var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
172
- var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
173
- var distanceFromOriginToFirstNegativeY = -22;
174
- var deltaAllowance = 5;
175
- var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance);
176
- expect(result).toEqual([]);
177
- });
178
- it('should be -1 if firstNegativeX and firstNegativeY are equal and they overlap', function () {
179
- // x
180
- var intervalX = [-1, -2, 1, 2, 3, 4, 5, 6];
181
- var firstNegativeX = (0, _axes.firstNegativeValue)(intervalX);
182
- var distanceFromOriginToFirstNegativeX = -20;
183
-
184
- // y
185
- var intervalY = [-1, -2, 1, 2, 3, 4, 5, 6];
186
- var firstNegativeY = (0, _axes.firstNegativeValue)(intervalY);
187
- var distanceFromOriginToFirstNegativeY = -22;
188
- var deltaAllowance = 5;
189
- var dy = -20; // dy needs to be within the range for the condition to pass
190
-
191
- var result = (0, _axes.sharedValues)(firstNegativeX, firstNegativeY, distanceFromOriginToFirstNegativeX, distanceFromOriginToFirstNegativeY, deltaAllowance, dy);
192
- expect(result).toEqual([-1]);
193
- });
194
- });
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfYXhlcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwiaW5jbHVkZUFycm93cyIsImxlZnQiLCJyaWdodCIsInVwIiwiZG93biIsImNvbHVtblRpY2tzVmFsdWVzIiwic2tpcFZhbHVlcyIsImRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkiLCJkeSIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlJhd1hBeGlzIiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50Iiwicm93VGlja1ZhbHVlcyIsIlJhd1lBeGlzIiwiX3JlbmRlckNvbXBvbmVudDIiLCJjdXN0b21TY2FsZU1vY2siLCJkaXN0YW5jZSIsImludmVydCIsImRvbWFpbiIsInJhbmdlIiwiY29weSIsImN1c3RvbUdyYXBoUHJvcHMiLCJtaW4iLCJtYXgiLCJsYWJlbFN0ZXAiLCJzdGVwIiwic2NhbGUiLCJ4IiwieSIsIl9yZW5kZXJDb21wb25lbnQzIiwiaW50ZXJ2YWwiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmaXJzdE5lZ2F0aXZlVmFsdWUiLCJ0b0VxdWFsIiwiaW50ZXJ2YWxYIiwiZmlyc3ROZWdhdGl2ZVgiLCJkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYIiwiaW50ZXJ2YWxZIiwiZmlyc3ROZWdhdGl2ZVkiLCJkZWx0YUFsbG93YW5jZSIsInNoYXJlZFZhbHVlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9heGVzLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5pbXBvcnQgQXhlcywgeyBmaXJzdE5lZ2F0aXZlVmFsdWUsIFJhd1hBeGlzLCBSYXdZQXhpcywgc2hhcmVkVmFsdWVzIH0gZnJvbSAnLi4vYXhlcyc7XG5cbmRlc2NyaWJlKCdSYXdYQXhpcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGluY2x1ZGVBcnJvd3M6IHtcbiAgICAgICAgbGVmdDogdHJ1ZSxcbiAgICAgICAgcmlnaHQ6IHRydWUsXG4gICAgICAgIHVwOiB0cnVlLFxuICAgICAgICBkb3duOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGNvbHVtblRpY2tzVmFsdWVzOiBbLTEsIDAsIDFdLFxuICAgICAgc2tpcFZhbHVlczogW10sXG4gICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZOiAwLFxuICAgICAgZHk6IDAsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPFJhd1hBeGlzIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdSYXdZQXhpcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGluY2x1ZGVBcnJvd3M6IHtcbiAgICAgICAgbGVmdDogdHJ1ZSxcbiAgICAgICAgcmlnaHQ6IHRydWUsXG4gICAgICAgIHVwOiB0cnVlLFxuICAgICAgICBkb3duOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHJvd1RpY2tWYWx1ZXM6IFstMSwgMCwgMV0sXG4gICAgICBza2lwVmFsdWVzOiBbXSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHJlbmRlcig8UmF3WUF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuY29uc3QgY3VzdG9tU2NhbGVNb2NrID0gKGRpc3RhbmNlKSA9PiB7XG4gIGNvbnN0IGZuID0gamVzdC5mbigobikgPT4gbiAqIGRpc3RhbmNlKTtcbiAgZm4uaW52ZXJ0ID0gamVzdC5mbigobikgPT4gbiAqIGRpc3RhbmNlKTtcbiAgZm4uZG9tYWluID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLnJhbmdlID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLmNvcHkgPSBqZXN0LmZuKCgpID0+IGN1c3RvbVNjYWxlTW9jayhkaXN0YW5jZSkpO1xuICByZXR1cm4gZm47XG59O1xuXG5kZXNjcmliZSgnQXhlcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGN1c3RvbUdyYXBoUHJvcHMgPSB7XG4gICAgLi4uZ3JhcGhQcm9wcygpLFxuICAgIGRvbWFpbjoge1xuICAgICAgbWluOiAtMixcbiAgICAgIG1heDogMixcbiAgICAgIGxhYmVsU3RlcDogMSxcbiAgICAgIHN0ZXA6IDEsXG4gICAgfSxcbiAgICByYW5nZToge1xuICAgICAgbWluOiAtMixcbiAgICAgIG1heDogMixcbiAgICAgIHN0ZXA6IDEsXG4gICAgICBsYWJlbFN0ZXA6IDEsXG4gICAgfSxcbiAgICBzY2FsZToge1xuICAgICAgeDogY3VzdG9tU2NhbGVNb2NrKDIwMCksXG4gICAgICB5OiBjdXN0b21TY2FsZU1vY2soMTUwKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogY3VzdG9tR3JhcGhQcm9wcyxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxBeGVzIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdmaXJzdE5lZ2F0aXZlVmFsdWUnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIGludGVydmFsJywgKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJlc3VsdCA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbCk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIGVtcHR5IGludGVydmFsJywgKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFsID0gW107XG4gICAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBubyBuZWdhdGl2ZSBpbiBpbnRlcnZhbCBhcnJheScsICgpID0+IHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IFsxLCA1LCA3LCA0LCA1XTtcbiAgICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZmlyc3QgbmVnYXRpdmUgbnVtYmVyIGZyb20gaW50ZXJ2YWwnLCAoKSA9PiB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBbMSwgNSwgNywgLTIsIDQsIDUsIC0xXTtcbiAgICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoLTIpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnc2hhcmVkVmFsdWVzJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGJlIGVtcHR5IGFycmF5IGlmIGZpcnN0TmVnYXRpdmVWYWx1ZSBmb3Igb25lIG9mIHRoZSBheGVzIGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWzEsIDIsIDMsIDQsIDUsIDZdO1xuICAgIGNvbnN0IGZpcnN0TmVnYXRpdmVYID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWCk7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMjtcblxuICAgIC8vIHlcbiAgICBjb25zdCBpbnRlcnZhbFkgPSBbLTEsIC0yLCAxLCAyLCAzLCA0LCA1LCA2XTtcbiAgICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICAgIGNvbnN0IGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkgPSAtMjI7XG5cbiAgICBjb25zdCBkZWx0YUFsbG93YW5jZSA9IDU7XG5cbiAgICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgICBmaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVksXG4gICAgICBkZWx0YUFsbG93YW5jZSxcbiAgICApO1xuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgZW1wdHkgYXJyYXkgaWYgZmlyc3ROZWdhdGl2ZVggYW5kIGZpcnN0TmVnYXRpdmVZIGFyZSBlcXVhbCBidXQgdGhleSBkbyBub3Qgb3ZlcmxhcCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYID0gLTc7XG5cbiAgICAvLyB5XG4gICAgY29uc3QgaW50ZXJ2YWxZID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVkgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxZKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gICAgY29uc3QgZGVsdGFBbGxvd2FuY2UgPSA1O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gc2hhcmVkVmFsdWVzKFxuICAgICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgICBmaXJzdE5lZ2F0aXZlWSxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgsXG4gICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGVsdGFBbGxvd2FuY2UsXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIC0xIGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYW5kIHRoZXkgb3ZlcmxhcCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYID0gLTIwO1xuXG4gICAgLy8geVxuICAgIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICAgIGNvbnN0IGZpcnN0TmVnYXRpdmVZID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWSk7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSA9IC0yMjtcblxuICAgIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcbiAgICBjb25zdCBkeSA9IC0yMDsgLy8gZHkgbmVlZHMgdG8gYmUgd2l0aGluIHRoZSByYW5nZSBmb3IgdGhlIGNvbmRpdGlvbiB0byBwYXNzXG5cbiAgICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgICBmaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVksXG4gICAgICBkZWx0YUFsbG93YW5jZSxcbiAgICAgIGR5LFxuICAgICk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKFstMV0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUFxRixTQUFBSyx3QkFBQUMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUgsdUJBQUEsWUFBQUEsd0JBQUFDLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElB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QUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQU1DLGNBQWMsR0FBRyxJQUFBTix3QkFBa0IsRUFBQ0ssU0FBUyxDQUFDO0lBQ3BELElBQU10QyxrQ0FBa0MsR0FBRyxDQUFDLEVBQUU7SUFFOUMsSUFBTXdDLGNBQWMsR0FBRyxDQUFDO0lBRXhCLElBQU1SLE1BQU0sR0FBRyxJQUFBUyxrQkFBWSxFQUN6QkwsY0FBYyxFQUNkRyxjQUFjLEVBQ2RGLGtDQUFrQyxFQUNsQ3JDLGtDQUFrQyxFQUNsQ3dDLGNBQ0YsQ0FBQztJQUVEL0IsTUFBTSxDQUFDdUIsTUFBTSxDQUFDLENBQUNFLE9BQU8sQ0FBQyxFQUFFLENBQUM7RUFDNUIsQ0FBQyxDQUFDO0VBRUY1QixFQUFFLENBQUMsOEVBQThFLEVBQUUsWUFBTTtJQUN2RjtJQUNBLElBQU02QixTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFNQyxjQUFjLEdBQUcsSUFBQUgsd0JBQWtCLEVBQUNFLFNBQVMsQ0FBQztJQUNwRCxJQUFNRSxrQ0FBa0MsR0FBRyxDQUFDLEVBQUU7O0lBRTlDO0lBQ0EsSUFBTUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsSUFBTUMsY0FBYyxHQUFHLElBQUFOLHdCQUFrQixFQUFDSyxTQUFTLENBQUM7SUFDcEQsSUFBTXRDLGtDQUFrQyxHQUFHLENBQUMsRUFBRTtJQUU5QyxJQUFNd0MsY0FBYyxHQUFHLENBQUM7SUFDeEIsSUFBTXZDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztJQUVoQixJQUFNK0IsTUFBTSxHQUFHLElBQUFTLGtCQUFZLEVBQ3pCTCxjQUFjLEVBQ2RHLGNBQWMsRUFDZEYsa0NBQWtDLEVBQ2xDckMsa0NBQWtDLEVBQ2xDd0MsY0FBYyxFQUNkdkMsRUFDRixDQUFDO0lBRURRLE1BQU0sQ0FBQ3VCLE1BQU0sQ0FBQyxDQUFDRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzlCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,108 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
5
- var _actions = require("../actions");
6
- describe('container actions', function () {
7
- describe('addMark', function () {
8
- it('creates ADD_MARK action', function () {
9
- var action = (0, _actions.addMark)();
10
- expect(action).toEqual({
11
- type: 'ADD_MARK'
12
- });
13
- });
14
- it('creates action without parameters', function () {
15
- var action = (0, _actions.addMark)();
16
- expect(action.type).toBe('ADD_MARK');
17
- expect(Object.keys(action)).toEqual(['type']);
18
- });
19
- });
20
- describe('changeMarks', function () {
21
- it('creates CHANGE_MARKS action with marks', function () {
22
- var marks = [{
23
- id: 1,
24
- type: 'point'
25
- }];
26
- var action = (0, _actions.changeMarks)(marks);
27
- expect(action).toEqual({
28
- type: 'CHANGE_MARKS',
29
- marks: marks
30
- });
31
- });
32
- it('creates action with empty marks array', function () {
33
- var marks = [];
34
- var action = (0, _actions.changeMarks)(marks);
35
- expect(action).toEqual({
36
- type: 'CHANGE_MARKS',
37
- marks: []
38
- });
39
- });
40
- it('creates action with multiple marks', function () {
41
- var marks = [{
42
- id: 1,
43
- type: 'point',
44
- x: 1,
45
- y: 2
46
- }, {
47
- id: 2,
48
- type: 'line',
49
- from: {
50
- x: 0,
51
- y: 0
52
- },
53
- to: {
54
- x: 5,
55
- y: 5
56
- }
57
- }];
58
- var action = (0, _actions.changeMarks)(marks);
59
- expect(action.marks).toEqual(marks);
60
- expect(action.marks.length).toBe(2);
61
- });
62
- it('creates action with null marks', function () {
63
- var marks = null;
64
- var action = (0, _actions.changeMarks)(marks);
65
- expect(action).toEqual({
66
- type: 'CHANGE_MARKS',
67
- marks: null
68
- });
69
- });
70
- it('creates action with undefined marks', function () {
71
- var marks = undefined;
72
- var action = (0, _actions.changeMarks)(marks);
73
- expect(action).toEqual({
74
- type: 'CHANGE_MARKS',
75
- marks: undefined
76
- });
77
- });
78
- it('preserves mark properties', function () {
79
- var marks = [{
80
- id: 1,
81
- type: 'point',
82
- x: 10,
83
- y: 20,
84
- label: 'A',
85
- correctness: {
86
- value: 'correct'
87
- }
88
- }];
89
- var action = (0, _actions.changeMarks)(marks);
90
- expect(action.marks[0]).toEqual(marks[0]);
91
- expect(action.marks[0].correctness).toBeDefined();
92
- });
93
- });
94
- describe('action types', function () {
95
- it('has consistent action type strings', function () {
96
- var addMarkAction = (0, _actions.addMark)();
97
- var changeMarksAction = (0, _actions.changeMarks)([]);
98
- expect((0, _typeof2["default"])(addMarkAction.type)).toBe('string');
99
- expect((0, _typeof2["default"])(changeMarksAction.type)).toBe('string');
100
- });
101
- it('has unique action types', function () {
102
- var addMarkAction = (0, _actions.addMark)();
103
- var changeMarksAction = (0, _actions.changeMarks)([]);
104
- expect(addMarkAction.type).not.toBe(changeMarksAction.type);
105
- });
106
- });
107
- });
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWN0aW9ucyIsInJlcXVpcmUiLCJkZXNjcmliZSIsIml0IiwiYWN0aW9uIiwiYWRkTWFyayIsImV4cGVjdCIsInRvRXF1YWwiLCJ0eXBlIiwidG9CZSIsIk9iamVjdCIsImtleXMiLCJtYXJrcyIsImlkIiwiY2hhbmdlTWFya3MiLCJ4IiwieSIsImZyb20iLCJ0byIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxhYmVsIiwiY29ycmVjdG5lc3MiLCJ2YWx1ZSIsInRvQmVEZWZpbmVkIiwiYWRkTWFya0FjdGlvbiIsImNoYW5nZU1hcmtzQWN0aW9uIiwiX3R5cGVvZjIiLCJub3QiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGFpbmVyL19fdGVzdHNfXy9hY3Rpb25zLnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkTWFyaywgY2hhbmdlTWFya3MgfSBmcm9tICcuLi9hY3Rpb25zJztcblxuZGVzY3JpYmUoJ2NvbnRhaW5lciBhY3Rpb25zJywgKCkgPT4ge1xuICBkZXNjcmliZSgnYWRkTWFyaycsICgpID0+IHtcbiAgICBpdCgnY3JlYXRlcyBBRERfTUFSSyBhY3Rpb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBhY3Rpb24gPSBhZGRNYXJrKCk7XG4gICAgICBleHBlY3QoYWN0aW9uKS50b0VxdWFsKHtcbiAgICAgICAgdHlwZTogJ0FERF9NQVJLJyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NyZWF0ZXMgYWN0aW9uIHdpdGhvdXQgcGFyYW1ldGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IGFkZE1hcmsoKTtcbiAgICAgIGV4cGVjdChhY3Rpb24udHlwZSkudG9CZSgnQUREX01BUksnKTtcbiAgICAgIGV4cGVjdChPYmplY3Qua2V5cyhhY3Rpb24pKS50b0VxdWFsKFsndHlwZSddKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NoYW5nZU1hcmtzJywgKCkgPT4ge1xuICAgIGl0KCdjcmVhdGVzIENIQU5HRV9NQVJLUyBhY3Rpb24gd2l0aCBtYXJrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtzID0gW3sgaWQ6IDEsIHR5cGU6ICdwb2ludCcgfV07XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaGFuZ2VNYXJrcyhtYXJrcyk7XG5cbiAgICAgIGV4cGVjdChhY3Rpb24pLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAnQ0hBTkdFX01BUktTJyxcbiAgICAgICAgbWFya3MsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjcmVhdGVzIGFjdGlvbiB3aXRoIGVtcHR5IG1hcmtzIGFycmF5JywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3MgPSBbXTtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IGNoYW5nZU1hcmtzKG1hcmtzKTtcblxuICAgICAgZXhwZWN0KGFjdGlvbikudG9FcXVhbCh7XG4gICAgICAgIHR5cGU6ICdDSEFOR0VfTUFSS1MnLFxuICAgICAgICBtYXJrczogW10sXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdjcmVhdGVzIGFjdGlvbiB3aXRoIG11bHRpcGxlIG1hcmtzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3MgPSBbXG4gICAgICAgIHsgaWQ6IDEsIHR5cGU6ICdwb2ludCcsIHg6IDEsIHk6IDIgfSxcbiAgICAgICAgeyBpZDogMiwgdHlwZTogJ2xpbmUnLCBmcm9tOiB7IHg6IDAsIHk6IDAgfSwgdG86IHsgeDogNSwgeTogNSB9IH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgYWN0aW9uID0gY2hhbmdlTWFya3MobWFya3MpO1xuXG4gICAgICBleHBlY3QoYWN0aW9uLm1hcmtzKS50b0VxdWFsKG1hcmtzKTtcbiAgICAgIGV4cGVjdChhY3Rpb24ubWFya3MubGVuZ3RoKS50b0JlKDIpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NyZWF0ZXMgYWN0aW9uIHdpdGggbnVsbCBtYXJrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtzID0gbnVsbDtcbiAgICAgIGNvbnN0IGFjdGlvbiA9IGNoYW5nZU1hcmtzKG1hcmtzKTtcblxuICAgICAgZXhwZWN0KGFjdGlvbikudG9FcXVhbCh7XG4gICAgICAgIHR5cGU6ICdDSEFOR0VfTUFSS1MnLFxuICAgICAgICBtYXJrczogbnVsbCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NyZWF0ZXMgYWN0aW9uIHdpdGggdW5kZWZpbmVkIG1hcmtzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFya3MgPSB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBhY3Rpb24gPSBjaGFuZ2VNYXJrcyhtYXJrcyk7XG5cbiAgICAgIGV4cGVjdChhY3Rpb24pLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAnQ0hBTkdFX01BUktTJyxcbiAgICAgICAgbWFya3M6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3ByZXNlcnZlcyBtYXJrIHByb3BlcnRpZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtYXJrcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgICAgICAgeDogMTAsXG4gICAgICAgICAgeTogMjAsXG4gICAgICAgICAgbGFiZWw6ICdBJyxcbiAgICAgICAgICBjb3JyZWN0bmVzczogeyB2YWx1ZTogJ2NvcnJlY3QnIH0sXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgY29uc3QgYWN0aW9uID0gY2hhbmdlTWFya3MobWFya3MpO1xuXG4gICAgICBleHBlY3QoYWN0aW9uLm1hcmtzWzBdKS50b0VxdWFsKG1hcmtzWzBdKTtcbiAgICAgIGV4cGVjdChhY3Rpb24ubWFya3NbMF0uY29ycmVjdG5lc3MpLnRvQmVEZWZpbmVkKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdhY3Rpb24gdHlwZXMnLCAoKSA9PiB7XG4gICAgaXQoJ2hhcyBjb25zaXN0ZW50IGFjdGlvbiB0eXBlIHN0cmluZ3MnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhZGRNYXJrQWN0aW9uID0gYWRkTWFyaygpO1xuICAgICAgY29uc3QgY2hhbmdlTWFya3NBY3Rpb24gPSBjaGFuZ2VNYXJrcyhbXSk7XG5cbiAgICAgIGV4cGVjdCh0eXBlb2YgYWRkTWFya0FjdGlvbi50eXBlKS50b0JlKCdzdHJpbmcnKTtcbiAgICAgIGV4cGVjdCh0eXBlb2YgY2hhbmdlTWFya3NBY3Rpb24udHlwZSkudG9CZSgnc3RyaW5nJyk7XG4gICAgfSk7XG5cbiAgICBpdCgnaGFzIHVuaXF1ZSBhY3Rpb24gdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhZGRNYXJrQWN0aW9uID0gYWRkTWFyaygpO1xuICAgICAgY29uc3QgY2hhbmdlTWFya3NBY3Rpb24gPSBjaGFuZ2VNYXJrcyhbXSk7XG5cbiAgICAgIGV4cGVjdChhZGRNYXJrQWN0aW9uLnR5cGUpLm5vdC50b0JlKGNoYW5nZU1hcmtzQWN0aW9uLnR5cGUpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBRUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDQSxRQUFRLENBQUMsU0FBUyxFQUFFLFlBQU07SUFDeEJDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO01BQ2xDLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBTyxFQUFDLENBQUM7TUFDeEJDLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDLENBQUNHLE9BQU8sQ0FBQztRQUNyQkMsSUFBSSxFQUFFO01BQ1IsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUZMLEVBQUUsQ0FBQyxtQ0FBbUMsRUFBRSxZQUFNO01BQzVDLElBQU1DLE1BQU0sR0FBRyxJQUFBQyxnQkFBTyxFQUFDLENBQUM7TUFDeEJDLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDSSxJQUFJLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQVUsQ0FBQztNQUNwQ0gsTUFBTSxDQUFDSSxNQUFN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