@pie-lib/graphing 2.34.3-next.2 → 2.34.4-next.0
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/CHANGELOG.md +6 -76
- package/lib/__tests__/graph-with-controls.test.js +226 -0
- package/lib/__tests__/graph.test.js +187 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/labels.test.js +61 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/toggle-bar.test.js +150 -0
- package/lib/__tests__/tool-menu.test.js +101 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/axes.test.js +195 -0
- package/lib/axis/arrow.js +20 -56
- package/lib/axis/arrow.js.map +1 -1
- package/lib/axis/axes.js +107 -195
- package/lib/axis/axes.js.map +1 -1
- package/lib/axis/index.js +2 -7
- package/lib/axis/index.js.map +1 -1
- package/lib/bg.js +22 -50
- package/lib/bg.js.map +1 -1
- package/lib/container/actions.js +3 -9
- package/lib/container/actions.js.map +1 -1
- package/lib/container/index.js +15 -60
- package/lib/container/index.js.map +1 -1
- package/lib/container/marks.js +2 -7
- package/lib/container/marks.js.map +1 -1
- package/lib/container/middleware.js +3 -9
- package/lib/container/middleware.js.map +1 -1
- package/lib/container/reducer.js +2 -9
- package/lib/container/reducer.js.map +1 -1
- package/lib/coordinates-label.js +25 -55
- package/lib/coordinates-label.js.map +1 -1
- package/lib/graph-with-controls.js +121 -185
- package/lib/graph-with-controls.js.map +1 -1
- package/lib/graph.js +60 -117
- package/lib/graph.js.map +1 -1
- package/lib/grid-setup.js +169 -225
- package/lib/grid-setup.js.map +1 -1
- package/lib/grid.js +30 -75
- package/lib/grid.js.map +1 -1
- package/lib/index.js +2 -14
- package/lib/index.js.map +1 -1
- package/lib/key-legend.js +41 -86
- package/lib/key-legend.js.map +1 -1
- package/lib/label-svg-icon.js +2 -8
- package/lib/label-svg-icon.js.map +1 -1
- package/lib/labels.js +66 -122
- package/lib/labels.js.map +1 -1
- package/lib/mark-label.js +121 -164
- package/lib/mark-label.js.map +1 -1
- package/lib/toggle-bar.js +156 -244
- package/lib/toggle-bar.js.map +1 -1
- package/lib/tool-menu.js +17 -51
- package/lib/tool-menu.js.map +1 -1
- package/lib/tools/absolute/__tests__/component.test.js +67 -0
- package/lib/tools/absolute/component.js +5 -11
- package/lib/tools/absolute/component.js.map +1 -1
- package/lib/tools/absolute/index.js +4 -17
- package/lib/tools/absolute/index.js.map +1 -1
- package/lib/tools/circle/__tests__/bg-circle.test.js +33 -0
- package/lib/tools/circle/__tests__/component.test.js +68 -0
- package/lib/tools/circle/bg-circle.js +43 -93
- package/lib/tools/circle/bg-circle.js.map +1 -1
- package/lib/tools/circle/component.js +79 -166
- package/lib/tools/circle/component.js.map +1 -1
- package/lib/tools/circle/index.js +4 -14
- package/lib/tools/circle/index.js.map +1 -1
- package/lib/tools/exponential/__tests__/component.test.js +66 -0
- package/lib/tools/exponential/component.js +5 -11
- package/lib/tools/exponential/component.js.map +1 -1
- package/lib/tools/exponential/index.js +4 -19
- package/lib/tools/exponential/index.js.map +1 -1
- package/lib/tools/index.js +4 -17
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/line/component.js +28 -49
- package/lib/tools/line/component.js.map +1 -1
- package/lib/tools/line/index.js +2 -7
- package/lib/tools/line/index.js.map +1 -1
- package/lib/tools/parabola/__tests__/component.test.js +66 -0
- package/lib/tools/parabola/component.js +5 -11
- package/lib/tools/parabola/component.js.map +1 -1
- package/lib/tools/parabola/index.js +4 -17
- package/lib/tools/parabola/index.js.map +1 -1
- package/lib/tools/point/__tests__/component.test.js +50 -0
- package/lib/tools/point/component.js +25 -72
- package/lib/tools/point/component.js.map +1 -1
- package/lib/tools/point/index.js +4 -12
- package/lib/tools/point/index.js.map +1 -1
- package/lib/tools/polygon/__tests__/component.test.js +85 -0
- package/lib/tools/polygon/__tests__/index.test.js +92 -0
- package/lib/tools/polygon/__tests__/line.test.js +29 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +59 -0
- package/lib/tools/polygon/component.js +84 -185
- package/lib/tools/polygon/component.js.map +1 -1
- package/lib/tools/polygon/index.js +7 -24
- package/lib/tools/polygon/index.js.map +1 -1
- package/lib/tools/polygon/line.js +49 -92
- package/lib/tools/polygon/line.js.map +1 -1
- package/lib/tools/polygon/polygon.js +66 -99
- package/lib/tools/polygon/polygon.js.map +1 -1
- package/lib/tools/ray/__tests__/component.test.js +35 -0
- package/lib/tools/ray/component.js +42 -61
- package/lib/tools/ray/component.js.map +1 -1
- package/lib/tools/ray/index.js +2 -7
- package/lib/tools/ray/index.js.map +1 -1
- package/lib/tools/segment/__tests__/component.test.js +35 -0
- package/lib/tools/segment/component.js +26 -44
- package/lib/tools/segment/component.js.map +1 -1
- package/lib/tools/segment/index.js +2 -7
- package/lib/tools/segment/index.js.map +1 -1
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/arrow-head.js +70 -29
- package/lib/tools/shared/arrow-head.js.map +1 -1
- package/lib/tools/shared/icons/CorrectSVG.js +13 -9
- package/lib/tools/shared/icons/CorrectSVG.js.map +1 -1
- package/lib/tools/shared/icons/IncorrectSVG.js +13 -9
- package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -1
- package/lib/tools/shared/icons/MissingSVG.js +13 -9
- package/lib/tools/shared/icons/MissingSVG.js.map +1 -1
- package/lib/tools/shared/line/__tests__/index.test.js +124 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +62 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +91 -0
- package/lib/tools/shared/line/index.js +141 -194
- package/lib/tools/shared/line/index.js.map +1 -1
- package/lib/tools/shared/line/line-path.js +71 -102
- package/lib/tools/shared/line/line-path.js.map +1 -1
- package/lib/tools/shared/line/with-root-edge.js +23 -57
- package/lib/tools/shared/line/with-root-edge.js.map +1 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/shared/point/arrow-point.js +22 -63
- package/lib/tools/shared/point/arrow-point.js.map +1 -1
- package/lib/tools/shared/point/arrow.js +24 -53
- package/lib/tools/shared/point/arrow.js.map +1 -1
- package/lib/tools/shared/point/base-point.js +55 -73
- package/lib/tools/shared/point/base-point.js.map +1 -1
- package/lib/tools/shared/point/index.js +23 -58
- package/lib/tools/shared/point/index.js.map +1 -1
- package/lib/tools/shared/styles.js +11 -39
- package/lib/tools/shared/styles.js.map +1 -1
- package/lib/tools/shared/types.js +3 -10
- package/lib/tools/shared/types.js.map +1 -1
- package/lib/tools/sine/__tests__/component.test.js +72 -0
- package/lib/tools/sine/component.js +9 -20
- package/lib/tools/sine/component.js.map +1 -1
- package/lib/tools/sine/index.js +4 -17
- package/lib/tools/sine/index.js.map +1 -1
- package/lib/tools/vector/__tests__/component.test.js +32 -0
- package/lib/tools/vector/component.js +25 -45
- package/lib/tools/vector/component.js.map +1 -1
- package/lib/tools/vector/index.js +2 -7
- package/lib/tools/vector/index.js.map +1 -1
- package/lib/undo-redo.js +30 -70
- package/lib/undo-redo.js.map +1 -1
- package/lib/use-debounce.js +5 -12
- package/lib/use-debounce.js.map +1 -1
- package/lib/utils.js +52 -129
- package/lib/utils.js.map +1 -1
- package/package.json +25 -29
- package/src/__tests__/graph-with-controls.test.jsx +28 -11
- package/src/__tests__/graph.test.jsx +104 -168
- package/src/__tests__/grid.test.jsx +8 -6
- package/src/__tests__/labels.test.jsx +25 -8
- package/src/__tests__/mark-label.test.jsx +12 -17
- package/src/__tests__/toggle-bar.test.jsx +92 -17
- package/src/__tests__/tool-menu.test.jsx +61 -12
- package/src/__tests__/undo-redo.test.jsx +7 -8
- package/src/__tests__/utils.js +3 -0
- package/src/axis/__tests__/arrow.test.jsx +16 -17
- package/src/axis/__tests__/axes.test.jsx +118 -122
- package/src/axis/arrow.jsx +7 -12
- package/src/axis/axes.jsx +45 -55
- package/src/coordinates-label.jsx +14 -18
- package/src/graph-with-controls.jsx +52 -59
- package/src/grid-setup.jsx +210 -206
- package/src/grid.jsx +2 -4
- package/src/key-legend.jsx +52 -56
- package/src/labels.jsx +23 -30
- package/src/mark-label.jsx +92 -81
- package/src/toggle-bar.jsx +135 -164
- package/src/tool-menu.jsx +1 -1
- package/src/tools/circle/__tests__/bg-circle.test.jsx +7 -9
- package/src/tools/circle/__tests__/component.test.jsx +17 -189
- package/src/tools/circle/bg-circle.jsx +20 -28
- package/src/tools/circle/component.jsx +28 -63
- package/src/tools/line/__tests__/component.test.jsx +7 -7
- package/src/tools/line/component.jsx +22 -15
- package/src/tools/point/__tests__/component.test.jsx +18 -43
- package/src/tools/point/component.jsx +1 -1
- package/src/tools/polygon/__tests__/component.test.jsx +18 -162
- package/src/tools/polygon/__tests__/line.test.jsx +7 -10
- package/src/tools/polygon/__tests__/polygon.test.jsx +7 -8
- package/src/tools/polygon/component.jsx +3 -4
- package/src/tools/polygon/line.jsx +30 -33
- package/src/tools/polygon/polygon.jsx +52 -45
- package/src/tools/ray/__tests__/component.test.jsx +7 -8
- package/src/tools/ray/component.jsx +38 -25
- package/src/tools/segment/__tests__/component.test.jsx +7 -8
- package/src/tools/segment/component.jsx +19 -18
- package/src/tools/shared/__tests__/arrow-head.test.jsx +14 -17
- package/src/tools/shared/arrow-head.jsx +60 -7
- package/src/tools/shared/icons/CorrectSVG.jsx +10 -0
- package/src/tools/shared/icons/IncorrectSVG.jsx +10 -0
- package/src/tools/shared/icons/MissingSVG.jsx +10 -0
- package/src/tools/shared/line/__tests__/index.test.jsx +19 -165
- package/src/tools/shared/line/__tests__/line-path.test.jsx +8 -8
- package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +22 -22
- package/src/tools/shared/line/index.jsx +52 -7
- package/src/tools/shared/line/line-path.jsx +55 -59
- package/src/tools/shared/line/with-root-edge.jsx +1 -1
- package/src/tools/shared/point/__tests__/arrow-point.test.jsx +15 -11
- package/src/tools/shared/point/__tests__/base-point.test.jsx +14 -11
- package/src/tools/shared/point/arrow-point.jsx +10 -24
- package/src/tools/shared/point/arrow.jsx +5 -11
- package/src/tools/shared/point/base-point.jsx +42 -19
- package/src/tools/shared/point/index.jsx +27 -44
- package/src/tools/vector/__tests__/component.test.jsx +7 -8
- package/src/tools/vector/component.jsx +11 -16
- package/src/undo-redo.jsx +19 -21
- package/esm/index.css +0 -847
- package/esm/index.js +0 -239949
- package/esm/index.js.map +0 -1
- package/esm/package.json +0 -3
- package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +0 -237
- package/src/__tests__/__snapshots__/graph.test.jsx.snap +0 -211
- package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -54
- package/src/__tests__/__snapshots__/labels.test.jsx.snap +0 -30
- package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -45
- package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +0 -7
- package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +0 -13
- package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +0 -14
- package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +0 -33
- package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +0 -122
- package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +0 -46
- package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +0 -293
- package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +0 -20
- package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +0 -40
- package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +0 -415
- package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +0 -45
- package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +0 -52
- package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +0 -23
- package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +0 -14
- package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +0 -27
- package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +0 -360
- package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +0 -58
- package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +0 -63
- package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +0 -56
- package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +0 -44
- package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +0 -12
|
@@ -0,0 +1,70 @@
|
|
|
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=
|
|
@@ -0,0 +1,123 @@
|
|
|
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+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuZ2V0VGlja1ZhbHVlcyhwcm9wcyk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IDAsIG1heDogMTAsIHN0ZXA6IDEgfSwgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwXSk7XG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogMCwgbWF4OiAzLCBzdGVwOiAwLjUgfSwgWzAsIDAuNSwgMSwgMS41LCAyLCAyLjUsIDNdKTtcbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKHsgbWluOiAtMC4yLCBtYXg6IDIsIHN0ZXA6IDAuNiB9LCBbMCwgMC42LCAxLjIsIDEuOF0pO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IC0zLjQsIG1heDogNi4yLCBzdGVwOiAxLjIgfSwgWzAsIC0xLjIsIC0yLjQsIDEuMiwgMi40LCAzLjYsIDQuOCwgNl0pO1xuXG4gICAgYXNzZXJ0R2V0VGlja1ZhbHVlcyh7IG1pbjogMC42LCBtYXg6IDQuOCwgc3RlcDogMC4zIH0sIFtcbiAgICAgIDAuNixcbiAgICAgIDAuOSxcbiAgICAgIDEuMixcbiAgICAgIDEuNSxcbiAgICAgIDEuOCxcbiAgICAgIDIuMSxcbiAgICAgIDIuNCxcbiAgICAgIDIuNyxcbiAgICAgIDMuMCxcbiAgICAgIDMuMyxcbiAgICAgIDMuNixcbiAgICAgIDMuOSxcbiAgICAgIDQuMixcbiAgICAgIDQuNSxcbiAgICAgIDQuOCxcbiAgICBdKTtcbiAgICBhc3NlcnRHZXRUaWNrVmFsdWVzKHsgbWluOiAwLjUsIG1heDogNC45LCBzdGVwOiAwLjMgfSwgW1xuICAgICAgMC42LFxuICAgICAgMC45LFxuICAgICAgMS4yLFxuICAgICAgMS41LFxuICAgICAgMS44LFxuICAgICAgMi4xLFxuICAgICAgMi40LFxuICAgICAgMi43LFxuICAgICAgMy4wLFxuICAgICAgMy4zLFxuICAgICAgMy42LFxuICAgICAgMy45LFxuICAgICAgNC4yLFxuICAgICAgNC41LFxuICAgICAgNC44LFxuICAgIF0pO1xuICAgIGFzc2VydEdldFRpY2tWYWx1ZXMoeyBtaW46IDAsIG1heDogMywgc3RlcDogMC4xMjUgfSwgW1xuICAgICAgMCxcbiAgICAgIDAuMTI1LFxuICAgICAgMC4yNSxcbiAgICAgIDAuMzc1LFxuICAgICAgMC41LFxuICAgICAgMC42MjUsXG4gICAgICAwLjc1LFxuICAgICAgMC44NzUsXG4gICAgICAxLFxuICAgICAgMS4xMjUsXG4gICAgICAxLjI1LFxuICAgICAgMS4zNzUsXG4gICAgICAxLjUsXG4gICAgICAxLjYyNSxcbiAgICAgIDEuNzUsXG4gICAgICAxLjg3NSxcbiAgICAgIDIsXG4gICAgICAyLjEyNSxcbiAgICAgIDIuMjUsXG4gICAgICAyLjM3NSxcbiAgICAgIDIuNSxcbiAgICAgIDIuNjI1LFxuICAgICAgMi43NSxcbiAgICAgIDIuODc1LFxuICAgICAgMyxcbiAgICBdKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NvdW50V29yZHMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMSBpZiBsYWJlbCBpcyB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHV0aWxzLmNvdW50V29yZHMobGFiZWwpO1xuXG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDEpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gMSBpZiBsYWJlbCBpcyBudWxsJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSBudWxsO1xuICAgICAgY29uc3QgcmVzdWx0ID0gdXRpbHMuY291bnRXb3JkcyhsYWJlbCk7XG5cbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoMSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHJldHVybiAzIGlmIGxhYmVsIGhhcyAzIHdvcmRzJywgKCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWwgPSAnTnVtYmVyIG9mIG1vbnRocyc7XG4gICAgICBjb25zdCByZXN1bHQgPSB1dGlscy5jb3VudFdvcmRzKGxhYmVsKTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCgzKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQWtDLFNBQUFELHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8s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QUFRLENBQUM7TUFDbEMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVERSxtQkFBbUIsQ0FBQztNQUFFRyxHQUFHLEVBQUUsQ0FBQztNQUFFQyxHQUFHLEVBQUUsRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckZMLG1CQUFtQixDQUFDO01BQUVHLEdBQUcsRUFBRSxDQUFDO01BQUVDLEdBQUcsRUFBRSxDQUFDO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9FTCxtQkFBbUIsQ0FBQztNQUFFRyxHQUFHLEVBQUUsQ0FBQyxHQUFHO01BQUVDLEdBQUcsRUFBRSxDQUFDO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3pFTCxtQkFBbUIsQ0FBQztNQUFFRyxHQUFHLEVBQUUsQ0FBQyxHQUFHO01BQUVDLEdBQUcsRUFBRSxHQUFHO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFL0ZMLG1CQUFtQixDQUFDO01BQUVHLEdBQUcsRUFBRSxHQUFHO01BQUVDLEdBQUcsRUFBRSxHQUFHO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRSxDQUNyRCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsQ0FDSixDQUFDO0lBQ0ZMLG1CQUFtQixDQUFDO01BQUVHLEdBQUcsRUFBRSxHQUFHO01BQUVDLEdBQUcsRUFBRSxHQUFHO01BQUVDLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRSxDQUNyRCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsRUFDSCxHQUFHLEVBQ0gsR0FBRyxFQUNILEdBQUcsQ0FDSixDQUFDO0lBQ0ZMLG1CQUFtQixDQUFDO01BQUVHLEdBQUcsRUFBRSxDQUFDO01BQUVDLEdBQUcsRUFBRSxDQUFDO01BQUVDLElBQUksRUFBRTtJQUFNLENBQUMsRUFBRSxDQUNuRCxDQUFDLEVBQ0QsS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEVBQ0wsR0FBRyxFQUNILEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxFQUNMLENBQUMsRUFDRCxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLEVBQ0gsS0FBSyxFQUNMLElBQUksRUFDSixLQUFLLEVBQ0wsQ0FBQyxFQUNELEtBQUssRUFDTCxJQUFJLEVBQ0osS0FBSyxFQUNMLEdBQUcsRUFDSCxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFDTCxDQUFDLENBQ0YsQ0FBQztFQUNKLENBQUMsQ0FBQztFQUVGeEIsUUFBUSxDQUFDLFlBQVksRUFBRSxZQUFNO0lBQzNCSSxFQUFFLENBQUMsdUNBQXVDLEVBQUUsWUFBTTtNQUNoRCxJQUFNcUIsS0FBSyxHQUFHQyxTQUFTO01BQ3ZCLElBQU1wQixNQUFNLEdBQUd2QyxLQUFLLENBQUM0RCxVQUFVLENBQUNGLEtBQUssQ0FBQztNQUV0Q2pCLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDLENBQUNHLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0lBRUZMLEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxZQUFNO01BQzNDLElBQU1xQixLQUFLLEdBQUcsSUFBSTtNQUNsQixJQUFNbkIsTUFBTSxHQUFHdkMsS0FBSyxDQUFDNEQsVUFBVSxDQUFDRixLQUFLLENBQUM7TUFFdENqQixNQUFNLENBQUNGLE1BQU0sQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztJQUVGTCxFQUFFLENBQUMsc0NBQXNDLEVBQUUsWUFBTTtNQUMvQyxJQUFNcUIsS0FBSyxHQUFHLGtCQUFrQjtNQUNoQyxJQUFNbkIsTUFBTSxHQUFHdkMsS0FBSyxDQUFDNEQsVUFBVSxDQUFDRixLQUFLLENBQUM7TUFFdENqQixNQUFNLENBQUNGLE1BQU0sQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
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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
|
|
@@ -0,0 +1,195 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfYXhlcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlc2NyaWJlIiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwiaW5jbHVkZUFycm93cyIsImxlZnQiLCJyaWdodCIsInVwIiwiZG93biIsImNvbHVtblRpY2tzVmFsdWVzIiwic2tpcFZhbHVlcyIsImRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkiLCJkeSIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIlJhd1hBeGlzIiwiaXQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50Iiwicm93VGlja1ZhbHVlcyIsIlJhd1lBeGlzIiwiX3JlbmRlckNvbXBvbmVudDIiLCJjdXN0b21TY2FsZU1vY2siLCJkaXN0YW5jZSIsImludmVydCIsImRvbWFpbiIsInJhbmdlIiwiY29weSIsImN1c3RvbUdyYXBoUHJvcHMiLCJtaW4iLCJtYXgiLCJsYWJlbFN0ZXAiLCJzdGVwIiwic2NhbGUiLCJ4IiwieSIsIl9yZW5kZXJDb21wb25lbnQzIiwiaW50ZXJ2YWwiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmaXJzdE5lZ2F0aXZlVmFsdWUiLCJ0b0VxdWFsIiwiaW50ZXJ2YWxYIiwiZmlyc3ROZWdhdGl2ZVgiLCJkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYIiwiaW50ZXJ2YWxZIiwiZmlyc3ROZWdhdGl2ZVkiLCJkZWx0YUFsbG93YW5jZSIsInNoYXJlZFZhbHVlcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9heGlzL19fdGVzdHNfXy9heGVzLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5pbXBvcnQgQXhlcywgeyBSYXdYQXhpcywgUmF3WUF4aXMsIGZpcnN0TmVnYXRpdmVWYWx1ZSwgc2hhcmVkVmFsdWVzIH0gZnJvbSAnLi4vYXhlcyc7XG5cbmRlc2NyaWJlKCdSYXdYQXhpcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGluY2x1ZGVBcnJvd3M6IHtcbiAgICAgICAgbGVmdDogdHJ1ZSxcbiAgICAgICAgcmlnaHQ6IHRydWUsXG4gICAgICAgIHVwOiB0cnVlLFxuICAgICAgICBkb3duOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGNvbHVtblRpY2tzVmFsdWVzOiBbLTEsIDAsIDFdLFxuICAgICAgc2tpcFZhbHVlczogW10sXG4gICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZOiAwLFxuICAgICAgZHk6IDAsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPFJhd1hBeGlzIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdSYXdZQXhpcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGluY2x1ZGVBcnJvd3M6IHtcbiAgICAgICAgbGVmdDogdHJ1ZSxcbiAgICAgICAgcmlnaHQ6IHRydWUsXG4gICAgICAgIHVwOiB0cnVlLFxuICAgICAgICBkb3duOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHJvd1RpY2tWYWx1ZXM6IFstMSwgMCwgMV0sXG4gICAgICBza2lwVmFsdWVzOiBbXSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHJlbmRlcig8UmF3WUF4aXMgey4uLnByb3BzfSAvPik7XG4gIH07XG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuY29uc3QgY3VzdG9tU2NhbGVNb2NrID0gKGRpc3RhbmNlKSA9PiB7XG4gIGNvbnN0IGZuID0gamVzdC5mbigobikgPT4gbiAqIGRpc3RhbmNlKTtcbiAgZm4uaW52ZXJ0ID0gamVzdC5mbigobikgPT4gbiAqIGRpc3RhbmNlKTtcbiAgZm4uZG9tYWluID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLnJhbmdlID0gamVzdC5mbigoKSA9PiBmbik7XG4gIGZuLmNvcHkgPSBqZXN0LmZuKCgpID0+IGN1c3RvbVNjYWxlTW9jayhkaXN0YW5jZSkpO1xuICByZXR1cm4gZm47XG59O1xuXG5kZXNjcmliZSgnQXhlcycsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuXG4gIGNvbnN0IGN1c3RvbUdyYXBoUHJvcHMgPSB7XG4gICAgLi4uZ3JhcGhQcm9wcygpLFxuICAgIGRvbWFpbjoge1xuICAgICAgbWluOiAtMixcbiAgICAgIG1heDogMixcbiAgICAgIGxhYmVsU3RlcDogMSxcbiAgICAgIHN0ZXA6IDEsXG4gICAgfSxcbiAgICByYW5nZToge1xuICAgICAgbWluOiAtMixcbiAgICAgIG1heDogMixcbiAgICAgIHN0ZXA6IDEsXG4gICAgICBsYWJlbFN0ZXA6IDEsXG4gICAgfSxcbiAgICBzY2FsZToge1xuICAgICAgeDogY3VzdG9tU2NhbGVNb2NrKDIwMCksXG4gICAgICB5OiBjdXN0b21TY2FsZU1vY2soMTUwKSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNvbXBvbmVudCA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogY3VzdG9tR3JhcGhQcm9wcyxcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxBeGVzIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgncmVuZGVyaW5nJywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzIHdpdGhvdXQgY3Jhc2hpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyQ29tcG9uZW50KCk7XG4gICAgICBleHBlY3QoY29udGFpbmVyLmZpcnN0Q2hpbGQpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdmaXJzdE5lZ2F0aXZlVmFsdWUnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBmb3IgdW5kZWZpbmVkIGludGVydmFsJywgKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHJlc3VsdCA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbCk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh1bmRlZmluZWQpO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIHJldHVybiB1bmRlZmluZWQgZm9yIGVtcHR5IGludGVydmFsJywgKCkgPT4ge1xuICAgIGNvbnN0IGludGVydmFsID0gW107XG4gICAgY29uc3QgcmVzdWx0ID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGVyZSBpcyBubyBuZWdhdGl2ZSBpbiBpbnRlcnZhbCBhcnJheScsICgpID0+IHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IFsxLCA1LCA3LCA0LCA1XTtcbiAgICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgfSk7XG5cbiAgaXQoJ3Nob3VsZCByZXR1cm4gZmlyc3QgbmVnYXRpdmUgbnVtYmVyIGZyb20gaW50ZXJ2YWwnLCAoKSA9PiB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSBbMSwgNSwgNywgLTIsIDQsIDUsIC0xXTtcbiAgICBjb25zdCByZXN1bHQgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWwpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoLTIpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnc2hhcmVkVmFsdWVzJywgKCkgPT4ge1xuICBpdCgnc2hvdWxkIGJlIGVtcHR5IGFycmF5IGlmIGZpcnN0TmVnYXRpdmVWYWx1ZSBmb3Igb25lIG9mIHRoZSBheGVzIGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWzEsIDIsIDMsIDQsIDUsIDZdO1xuICAgIGNvbnN0IGZpcnN0TmVnYXRpdmVYID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWCk7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCA9IC0yMjtcblxuICAgIC8vIHlcbiAgICBjb25zdCBpbnRlcnZhbFkgPSBbLTEsIC0yLCAxLCAyLCAzLCA0LCA1LCA2XTtcbiAgICBjb25zdCBmaXJzdE5lZ2F0aXZlWSA9IGZpcnN0TmVnYXRpdmVWYWx1ZShpbnRlcnZhbFkpO1xuICAgIGNvbnN0IGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVkgPSAtMjI7XG5cbiAgICBjb25zdCBkZWx0YUFsbG93YW5jZSA9IDU7XG5cbiAgICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgICBmaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVksXG4gICAgICBkZWx0YUFsbG93YW5jZSxcbiAgICApO1xuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChbXSk7XG4gIH0pO1xuXG4gIGl0KCdzaG91bGQgYmUgZW1wdHkgYXJyYXkgaWYgZmlyc3ROZWdhdGl2ZVggYW5kIGZpcnN0TmVnYXRpdmVZIGFyZSBlcXVhbCBidXQgdGhleSBkbyBub3Qgb3ZlcmxhcCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYID0gLTc7XG5cbiAgICAvLyB5XG4gICAgY29uc3QgaW50ZXJ2YWxZID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVkgPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxZKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZID0gLTIyO1xuXG4gICAgY29uc3QgZGVsdGFBbGxvd2FuY2UgPSA1O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gc2hhcmVkVmFsdWVzKFxuICAgICAgZmlyc3ROZWdhdGl2ZVgsXG4gICAgICBmaXJzdE5lZ2F0aXZlWSxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVgsXG4gICAgICBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGVsdGFBbGxvd2FuY2UsXG4gICAgKTtcblxuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoW10pO1xuICB9KTtcblxuICBpdCgnc2hvdWxkIGJlIC0xIGlmIGZpcnN0TmVnYXRpdmVYIGFuZCBmaXJzdE5lZ2F0aXZlWSBhcmUgZXF1YWwgYW5kIHRoZXkgb3ZlcmxhcCcsICgpID0+IHtcbiAgICAvLyB4XG4gICAgY29uc3QgaW50ZXJ2YWxYID0gWy0xLCAtMiwgMSwgMiwgMywgNCwgNSwgNl07XG4gICAgY29uc3QgZmlyc3ROZWdhdGl2ZVggPSBmaXJzdE5lZ2F0aXZlVmFsdWUoaW50ZXJ2YWxYKTtcbiAgICBjb25zdCBkaXN0YW5jZUZyb21PcmlnaW5Ub0ZpcnN0TmVnYXRpdmVYID0gLTIwO1xuXG4gICAgLy8geVxuICAgIGNvbnN0IGludGVydmFsWSA9IFstMSwgLTIsIDEsIDIsIDMsIDQsIDUsIDZdO1xuICAgIGNvbnN0IGZpcnN0TmVnYXRpdmVZID0gZmlyc3ROZWdhdGl2ZVZhbHVlKGludGVydmFsWSk7XG4gICAgY29uc3QgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWSA9IC0yMjtcblxuICAgIGNvbnN0IGRlbHRhQWxsb3dhbmNlID0gNTtcbiAgICBjb25zdCBkeSA9IC0yMDsgLy8gZHkgbmVlZHMgdG8gYmUgd2l0aGluIHRoZSByYW5nZSBmb3IgdGhlIGNvbmRpdGlvbiB0byBwYXNzXG5cbiAgICBjb25zdCByZXN1bHQgPSBzaGFyZWRWYWx1ZXMoXG4gICAgICBmaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGZpcnN0TmVnYXRpdmVZLFxuICAgICAgZGlzdGFuY2VGcm9tT3JpZ2luVG9GaXJzdE5lZ2F0aXZlWCxcbiAgICAgIGRpc3RhbmNlRnJvbU9yaWdpblRvRmlyc3ROZWdhdGl2ZVksXG4gICAgICBkZWx0YUFsbG93YW5jZSxcbiAgICAgIGR5LFxuICAgICk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKFstMV0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUFxRixTQUFBSyx3QkFBQUMsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUgsdUJBQUEsWUFBQUEsd0JBQUFDLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElB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QUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQU1DLGNBQWMsR0FBRyxJQUFBTix3QkFBa0IsRUFBQ0ssU0FBUyxDQUFDO0lBQ3BELElBQU10QyxrQ0FBa0MsR0FBRyxDQUFDLEVBQUU7SUFFOUMsSUFBTXdDLGNBQWMsR0FBRyxDQUFDO0lBRXhCLElBQU1SLE1BQU0sR0FBRyxJQUFBUyxrQkFBWSxFQUN6QkwsY0FBYyxFQUNkRyxjQUFjLEVBQ2RGLGtDQUFrQyxFQUNsQ3JDLGtDQUFrQyxFQUNsQ3dDLGNBQ0YsQ0FBQztJQUVEL0IsTUFBTSxDQUFDdUIsTUFBTSxDQUFDLENBQUNFLE9BQU8sQ0FBQyxFQUFFLENBQUM7RUFDNUIsQ0FBQyxDQUFDO0VBRUY1QixFQUFFLENBQUMsOEVBQThFLEVBQUUsWUFBTTtJQUN2RjtJQUNBLElBQU02QixTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFNQyxjQUFjLEdBQUcsSUFBQUgsd0JBQWtCLEVBQUNFLFNBQVMsQ0FBQztJQUNwRCxJQUFNRSxrQ0FBa0MsR0FBRyxDQUFDLEVBQUU7O0lBRTlDO0lBQ0EsSUFBTUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUMsSUFBTUMsY0FBYyxHQUFHLElBQUFOLHdCQUFrQixFQUFDSyxTQUFTLENBQUM7SUFDcEQsSUFBTXRDLGtDQUFrQyxHQUFHLENBQUMsRUFBRTtJQUU5QyxJQUFNd0MsY0FBYyxHQUFHLENBQUM7SUFDeEIsSUFBTXZDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDOztJQUVoQixJQUFNK0IsTUFBTSxHQUFHLElBQUFTLGtCQUFZLEVBQ3pCTCxjQUFjLEVBQ2RHLGNBQWMsRUFDZEYsa0NBQWtDLEVBQ2xDckMsa0NBQWtDLEVBQ2xDd0MsY0FBYyxFQUNkdkMsRUFDRixDQUFDO0lBRURRLE1BQU0sQ0FBQ3VCLE1BQU0sQ0FBQyxDQUFDRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQzlCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|