@pie-lib/graphing 2.16.0-beta.0 → 2.17.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.
Files changed (181) hide show
  1. package/CHANGELOG.json +1 -1017
  2. package/CHANGELOG.md +96 -27
  3. package/lib/axis/arrow.js +1 -1
  4. package/lib/axis/arrow.js.map +1 -0
  5. package/lib/axis/axes.js +7 -7
  6. package/lib/axis/axes.js.map +1 -0
  7. package/lib/axis/index.js +1 -1
  8. package/lib/axis/index.js.map +1 -0
  9. package/lib/bg.js +1 -1
  10. package/lib/bg.js.map +1 -0
  11. package/lib/container/actions.js +1 -1
  12. package/lib/container/actions.js.map +1 -0
  13. package/lib/container/index.js +1 -1
  14. package/lib/container/index.js.map +1 -0
  15. package/lib/container/marks.js +1 -1
  16. package/lib/container/marks.js.map +1 -0
  17. package/lib/container/middleware.js +1 -1
  18. package/lib/container/middleware.js.map +1 -0
  19. package/lib/container/reducer.js +1 -1
  20. package/lib/container/reducer.js.map +1 -0
  21. package/lib/coordinates-label.js +3 -3
  22. package/lib/coordinates-label.js.map +1 -0
  23. package/lib/graph-with-controls.js +5 -5
  24. package/lib/graph-with-controls.js.map +1 -0
  25. package/lib/graph.js +1 -1
  26. package/lib/graph.js.map +1 -0
  27. package/lib/grid-setup.js +4 -4
  28. package/lib/grid-setup.js.map +1 -0
  29. package/lib/grid.js +1 -1
  30. package/lib/grid.js.map +1 -0
  31. package/lib/index.js +1 -1
  32. package/lib/index.js.map +1 -0
  33. package/lib/key-legend.js +3 -3
  34. package/lib/key-legend.js.map +1 -0
  35. package/lib/label-svg-icon.js +1 -1
  36. package/lib/label-svg-icon.js.map +1 -0
  37. package/lib/labels.js +4 -4
  38. package/lib/labels.js.map +1 -0
  39. package/lib/mark-label.js +18 -18
  40. package/lib/mark-label.js.map +1 -0
  41. package/lib/shared/index.js +136 -0
  42. package/lib/toggle-bar.js +10 -10
  43. package/lib/toggle-bar.js.map +1 -0
  44. package/lib/tool-menu.js +1 -1
  45. package/lib/tool-menu.js.map +1 -0
  46. package/lib/tools/absolute/component.js +1 -1
  47. package/lib/tools/absolute/component.js.map +1 -0
  48. package/lib/tools/absolute/index.js +1 -1
  49. package/lib/tools/absolute/index.js.map +1 -0
  50. package/lib/tools/circle/bg-circle.js +4 -4
  51. package/lib/tools/circle/bg-circle.js.map +1 -0
  52. package/lib/tools/circle/component.js +5 -5
  53. package/lib/tools/circle/component.js.map +1 -0
  54. package/lib/tools/circle/index.js +1 -1
  55. package/lib/tools/circle/index.js.map +1 -0
  56. package/lib/tools/exponential/component.js +1 -1
  57. package/lib/tools/exponential/component.js.map +1 -0
  58. package/lib/tools/exponential/index.js +1 -1
  59. package/lib/tools/exponential/index.js.map +1 -0
  60. package/lib/tools/index.js +1 -1
  61. package/lib/tools/index.js.map +1 -0
  62. package/lib/tools/line/component.js +1 -1
  63. package/lib/tools/line/component.js.map +1 -0
  64. package/lib/tools/line/index.js +1 -1
  65. package/lib/tools/line/index.js.map +1 -0
  66. package/lib/tools/parabola/component.js +1 -1
  67. package/lib/tools/parabola/component.js.map +1 -0
  68. package/lib/tools/parabola/index.js +1 -1
  69. package/lib/tools/parabola/index.js.map +1 -0
  70. package/lib/tools/point/component.js +1 -1
  71. package/lib/tools/point/component.js.map +1 -0
  72. package/lib/tools/point/index.js +1 -1
  73. package/lib/tools/point/index.js.map +1 -0
  74. package/lib/tools/polygon/component.js +1 -1
  75. package/lib/tools/polygon/component.js.map +1 -0
  76. package/lib/tools/polygon/index.js +1 -1
  77. package/lib/tools/polygon/index.js.map +1 -0
  78. package/lib/tools/polygon/line.js +3 -3
  79. package/lib/tools/polygon/line.js.map +1 -0
  80. package/lib/tools/polygon/polygon.js +4 -4
  81. package/lib/tools/polygon/polygon.js.map +1 -0
  82. package/lib/tools/ray/component.js +1 -1
  83. package/lib/tools/ray/component.js.map +1 -0
  84. package/lib/tools/ray/index.js +1 -1
  85. package/lib/tools/ray/index.js.map +1 -0
  86. package/lib/tools/segment/component.js +1 -1
  87. package/lib/tools/segment/component.js.map +1 -0
  88. package/lib/tools/segment/index.js +1 -1
  89. package/lib/tools/segment/index.js.map +1 -0
  90. package/lib/tools/shared/arrow-head.js +1 -1
  91. package/lib/tools/shared/arrow-head.js.map +1 -0
  92. package/lib/tools/shared/icons/CorrectSVG.js +1 -1
  93. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/IncorrectSVG.js +1 -1
  95. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  96. package/lib/tools/shared/icons/MissingSVG.js +1 -1
  97. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  98. package/lib/tools/shared/line/index.js +5 -5
  99. package/lib/tools/shared/line/index.js.map +1 -0
  100. package/lib/tools/shared/line/line-path.js +4 -4
  101. package/lib/tools/shared/line/line-path.js.map +1 -0
  102. package/lib/tools/shared/line/with-root-edge.js +1 -1
  103. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  104. package/lib/tools/shared/point/arrow-point.js +1 -1
  105. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  106. package/lib/tools/shared/point/arrow.js +1 -1
  107. package/lib/tools/shared/point/arrow.js.map +1 -0
  108. package/lib/tools/shared/point/base-point.js +1 -1
  109. package/lib/tools/shared/point/base-point.js.map +1 -0
  110. package/lib/tools/shared/point/index.js +3 -3
  111. package/lib/tools/shared/point/index.js.map +1 -0
  112. package/lib/tools/shared/styles.js +7 -7
  113. package/lib/tools/shared/styles.js.map +1 -0
  114. package/lib/tools/shared/types.js +1 -1
  115. package/lib/tools/shared/types.js.map +1 -0
  116. package/lib/tools/sine/component.js +1 -1
  117. package/lib/tools/sine/component.js.map +1 -0
  118. package/lib/tools/sine/index.js +1 -1
  119. package/lib/tools/sine/index.js.map +1 -0
  120. package/lib/tools/vector/component.js +1 -1
  121. package/lib/tools/vector/component.js.map +1 -0
  122. package/lib/tools/vector/index.js +1 -1
  123. package/lib/tools/vector/index.js.map +1 -0
  124. package/lib/undo-redo.js +3 -3
  125. package/lib/undo-redo.js.map +1 -0
  126. package/lib/use-debounce.js +1 -1
  127. package/lib/use-debounce.js.map +1 -0
  128. package/lib/utils.js +1 -1
  129. package/lib/utils.js.map +1 -0
  130. package/package.json +13 -9
  131. package/src/axis/axes.jsx +1 -1
  132. package/src/coordinates-label.jsx +1 -1
  133. package/src/graph-with-controls.jsx +1 -1
  134. package/src/grid-setup.jsx +7 -10
  135. package/src/key-legend.jsx +131 -101
  136. package/src/labels.jsx +1 -1
  137. package/src/mark-label.jsx +1 -1
  138. package/src/toggle-bar.jsx +1 -1
  139. package/src/tools/circle/bg-circle.jsx +1 -1
  140. package/src/tools/circle/component.jsx +1 -1
  141. package/src/tools/polygon/line.jsx +1 -1
  142. package/src/tools/polygon/polygon.jsx +3 -3
  143. package/src/tools/shared/line/index.jsx +1 -1
  144. package/src/tools/shared/line/line-path.jsx +1 -1
  145. package/src/tools/shared/point/index.jsx +1 -1
  146. package/src/tools/shared/styles.js +1 -1
  147. package/src/undo-redo.jsx +1 -1
  148. package/lib/__tests__/graph-with-controls.test.js +0 -215
  149. package/lib/__tests__/graph.test.js +0 -290
  150. package/lib/__tests__/grid.test.js +0 -40
  151. package/lib/__tests__/labels.test.js +0 -59
  152. package/lib/__tests__/mark-label.test.js +0 -154
  153. package/lib/__tests__/toggle-bar.test.js +0 -54
  154. package/lib/__tests__/tool-menu.test.js +0 -43
  155. package/lib/__tests__/undo-redo.test.js +0 -42
  156. package/lib/__tests__/use-debounce.test.js +0 -28
  157. package/lib/__tests__/utils.js +0 -72
  158. package/lib/__tests__/utils.test.js +0 -133
  159. package/lib/axis/__tests__/arrow.test.js +0 -68
  160. package/lib/axis/__tests__/axes.test.js +0 -214
  161. package/lib/tools/absolute/__tests__/component.test.js +0 -74
  162. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -46
  163. package/lib/tools/circle/__tests__/component.test.js +0 -259
  164. package/lib/tools/exponential/__tests__/component.test.js +0 -73
  165. package/lib/tools/line/__tests__/component.test.js +0 -56
  166. package/lib/tools/parabola/__tests__/component.test.js +0 -73
  167. package/lib/tools/point/__tests__/component.test.js +0 -97
  168. package/lib/tools/polygon/__tests__/component.test.js +0 -255
  169. package/lib/tools/polygon/__tests__/index.test.js +0 -95
  170. package/lib/tools/polygon/__tests__/line.test.js +0 -43
  171. package/lib/tools/polygon/__tests__/polygon.test.js +0 -73
  172. package/lib/tools/ray/__tests__/component.test.js +0 -48
  173. package/lib/tools/segment/__tests__/component.test.js +0 -48
  174. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -62
  175. package/lib/tools/shared/line/__tests__/index.test.js +0 -301
  176. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -78
  177. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -122
  178. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -137
  179. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -134
  180. package/lib/tools/sine/__tests__/component.test.js +0 -81
  181. package/lib/tools/vector/__tests__/component.test.js +0 -45
@@ -1,255 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _utils = require("../../../__tests__/utils");
12
-
13
- var _component = require("../component");
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
-
19
- var xyLabel = function xyLabel(x, y, index, label) {
20
- return _objectSpread(_objectSpread({}, (0, _utils.xy)(x, y, index)), {}, {
21
- label: label
22
- });
23
- };
24
-
25
- describe('buildLines', function () {
26
- var defaultPoints = [(0, _utils.xy)(0, 0), (0, _utils.xy)(1, 1), (0, _utils.xy)(1, 0)];
27
-
28
- var assertBuildLines = function assertBuildLines(points, closed, expected) {
29
- it("builds points and lines for ".concat(points, " = ").concat(expected), function () {
30
- var result = (0, _component.buildLines)(points);
31
- expect(result).toMatchObject([{
32
- from: (0, _utils.xy)(0, 0, 0),
33
- to: (0, _utils.xy)(1, 1, 1)
34
- }, {
35
- from: (0, _utils.xy)(1, 1, 1),
36
- to: (0, _utils.xy)(1, 0, 2)
37
- }]);
38
- });
39
- };
40
-
41
- assertBuildLines(defaultPoints, true, []);
42
- });
43
- describe('swap', function () {
44
- it('swaps pairs', function () {
45
- var result = (0, _component.swap)([(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 2, 2)], (0, _utils.xy)(0, 0, 0), (0, _utils.xy)(3, 3, 0));
46
- expect(result).toEqual([(0, _utils.xy)(3, 3, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 2, 2)]);
47
- });
48
- });
49
- describe('RawBaseComponent', function () {
50
- var w;
51
- var onChange = jest.fn();
52
- var onChangeProps = jest.fn();
53
-
54
- var wrapper = function wrapper(extras) {
55
- var defaults = {
56
- classes: {},
57
- className: 'className',
58
- onChange: onChange,
59
- onChangeProps: onChangeProps,
60
- onClosePolygon: jest.fn(),
61
- graphProps: (0, _utils.graphProps)(),
62
- points: []
63
- };
64
-
65
- var props = _objectSpread(_objectSpread({}, defaults), extras);
66
-
67
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component.RawBaseComponent, props));
68
- }; // used to test items that have labels attached to points
69
-
70
-
71
- var labelNode = document.createElement('foreignObject');
72
- var points = [xyLabel(0, 0, 0, 'A'), xyLabel(2, 2, 1, 'B'), xyLabel(0, 2, 2, 'C')];
73
-
74
- var wrapperWithLabels = function wrapperWithLabels(extras) {
75
- return wrapper(_objectSpread({
76
- labelNode: labelNode,
77
- points: points
78
- }, extras));
79
- };
80
-
81
- describe('snapshot', function () {
82
- it('renders', function () {
83
- w = wrapper();
84
- expect(w).toMatchSnapshot();
85
- });
86
- it('renders with labels', function () {
87
- w = wrapperWithLabels();
88
- expect(w).toMatchSnapshot();
89
- });
90
- });
91
- describe('logic', function () {
92
- describe('dragPoint', function () {
93
- it('calls onChange', function () {
94
- onChange = jest.fn();
95
- w = wrapper({
96
- points: [(0, _utils.xy)(1, 1)],
97
- onChange: onChange
98
- });
99
- w.instance().dragPoint(0, (0, _utils.xy)(1, 1), (0, _utils.xy)(2, 2));
100
- expect(onChange).toHaveBeenCalledWith([(0, _utils.xy)(2, 2)]);
101
- });
102
- it('calls onChange keeping label property from point', function () {
103
- onChange = jest.fn();
104
- w = wrapperWithLabels(onChange);
105
- w.instance().dragPoint(0, (0, _utils.xy)(0, 0), (0, _utils.xy)(0, 1));
106
- expect(onChange).toHaveBeenCalledWith([{
107
- x: 0,
108
- y: 1,
109
- label: 'A'
110
- }, points[1], points[2]]);
111
- });
112
- });
113
- describe('dragLine', function () {
114
- it('calls onChange', function () {
115
- w = wrapper({
116
- points: [(0, _utils.xy)(1, 1, 0), (0, _utils.xy)(2, 2, 1)],
117
- onChange: onChange
118
- });
119
- w.instance().dragLine({
120
- from: (0, _utils.xy)(1, 1, 0),
121
- to: (0, _utils.xy)(2, 2, 1)
122
- }, {
123
- from: (0, _utils.xy)(2, 2, 0),
124
- to: (0, _utils.xy)(4, 4, 1)
125
- });
126
- expect(onChange).toHaveBeenCalledWith([(0, _utils.xy)(2, 2, 0), (0, _utils.xy)(4, 4, 1)]);
127
- });
128
- it('calls onChange keeping label property from both points', function () {
129
- onChange = jest.fn();
130
- w = wrapperWithLabels(onChange);
131
- w.instance().dragLine({
132
- from: points[0],
133
- to: points[1]
134
- }, {
135
- from: (0, _utils.xy)(0, 1, 0),
136
- to: (0, _utils.xy)(2, 3, 1)
137
- });
138
- expect(onChange).toHaveBeenCalledWith([xyLabel(0, 1, 0, 'A'), xyLabel(2, 3, 1, 'B'), points[2]]);
139
- });
140
- });
141
- describe('dragPoly', function () {
142
- it('calls onChange', function () {
143
- w = wrapper({
144
- onChange: onChange
145
- });
146
- var existing = [(0, _utils.xy)(1, 1)];
147
- var next = [(0, _utils.xy)(2, 2)];
148
- w.instance().dragPoly(existing, next);
149
- expect(onChange).toHaveBeenCalledWith([(0, _utils.xy)(2, 2)]);
150
- });
151
- it('calls onChange keeping label property from all points', function () {
152
- onChange = jest.fn();
153
- w = wrapperWithLabels(onChange);
154
- w.instance().dragPoly(points, [(0, _utils.xy)(0, 1, 0), (0, _utils.xy)(2, 3, 1), (0, _utils.xy)(0, 3, 2)]);
155
- expect(onChange).toHaveBeenCalledWith([xyLabel(0, 1, 0, 'A'), xyLabel(2, 3, 1, 'B'), xyLabel(0, 3, 2, 'C')]);
156
- });
157
- });
158
- describe('labelChange', function () {
159
- it('updates "label" property for point', function () {
160
- w = wrapperWithLabels();
161
- w.instance().labelChange(_objectSpread(_objectSpread({}, points[0]), {}, {
162
- label: 'Label A'
163
- }), 0);
164
- expect(onChangeProps).toBeCalledWith([_objectSpread(_objectSpread({}, points[0]), {}, {
165
- label: 'Label A'
166
- }), points[1], points[2]]);
167
- w.instance().labelChange(_objectSpread(_objectSpread({}, points[1]), {}, {
168
- label: 'Label B'
169
- }), 1);
170
- expect(onChangeProps).toBeCalledWith([points[0], _objectSpread(_objectSpread({}, points[1]), {}, {
171
- label: 'Label B'
172
- }), points[2]]);
173
- });
174
- it('removes "label" property if the field is empty', function () {
175
- w = wrapperWithLabels();
176
- w.instance().labelChange(_objectSpread(_objectSpread({}, points[0]), {}, {
177
- label: ''
178
- }), 0);
179
- expect(onChangeProps).toBeCalledWith([(0, _utils.xy)(0, 0, 0), points[1], points[2]]);
180
- w.instance().labelChange(_objectSpread(_objectSpread({}, points[1]), {}, {
181
- label: ''
182
- }), 1);
183
- expect(onChangeProps).toBeCalledWith([points[0], (0, _utils.xy)(2, 2, 1), points[2]]);
184
- });
185
- });
186
- });
187
- describe('close', function () {
188
- it('calls onClosePolygon', function () {
189
- var onClosePolygon = jest.fn();
190
- w = wrapper({
191
- onClosePolygon: onClosePolygon,
192
- points: [(0, _utils.xy)(1, 1), (0, _utils.xy)(2, 2), (0, _utils.xy)(3, 3)]
193
- });
194
- w.instance().close();
195
- expect(onClosePolygon).toHaveBeenCalled();
196
- });
197
- });
198
- describe('clickPoint', function () {
199
- var onClick = jest.fn();
200
- var onClosePolygon = jest.fn();
201
- beforeEach(function () {
202
- onClosePolygon.mockClear();
203
- onClick.mockClear();
204
- });
205
-
206
- var assertCallback = function assertCallback(isToolActive, closed, index, mock) {
207
- it('calls onClosePolygon', function () {
208
- var w = wrapper({
209
- points: [(0, _utils.xy)(1, 1), (0, _utils.xy)(2, 2), (0, _utils.xy)(3, 3)],
210
- onClosePolygon: onClosePolygon,
211
- onClick: onClick,
212
- isToolActive: isToolActive,
213
- closed: closed
214
- });
215
- w.instance().clickPoint((0, _utils.xy)(1, 1, 0), index, {});
216
- expect(mock).toHaveBeenCalled();
217
- });
218
- };
219
-
220
- assertCallback(true, false, 0, onClosePolygon);
221
- assertCallback(true, false, 1, onClick);
222
- assertCallback(false, false, 0, onClick);
223
- assertCallback(true, true, 0, onClick);
224
- it('adds "label" property to a point', function () {
225
- var onChangeProps = jest.fn();
226
- var w = wrapperWithLabels({
227
- labelModeEnabled: true,
228
- onChangeProps: onChangeProps,
229
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(2, 2, 1), (0, _utils.xy)(0, 2, 2)]
230
- });
231
- w.instance().clickPoint((0, _utils.xy)(0, 0, 0), 0, {});
232
- expect(onChangeProps).toHaveBeenCalledWith([xyLabel(0, 0, 0, ''), (0, _utils.xy)(2, 2, 1), (0, _utils.xy)(0, 2, 2)]);
233
- });
234
- it('adds "label" property to a point when limit labeling', function () {
235
- var onChangeProps = jest.fn();
236
- var w = wrapperWithLabels({
237
- labelModeEnabled: true,
238
- onChangeProps: onChangeProps,
239
- limitLabeling: true
240
- });
241
- w.instance().clickPoint((0, _utils.xy)(0, 0, 0), 0, {});
242
- expect(onChangeProps).toHaveBeenCalledTimes(0);
243
- });
244
- it('if point already has label, keeps that value', function () {
245
- var onChangeProps = jest.fn();
246
- var w = wrapperWithLabels({
247
- labelModeEnabled: true,
248
- onChangeProps: onChangeProps
249
- });
250
- w.instance().clickPoint(points[0], 0, {});
251
- expect(onChangeProps).toHaveBeenCalledWith(points);
252
- });
253
- });
254
- });
255
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsieHlMYWJlbCIsIngiLCJ5IiwiaW5kZXgiLCJsYWJlbCIsImRlc2NyaWJlIiwiZGVmYXVsdFBvaW50cyIsImFzc2VydEJ1aWxkTGluZXMiLCJwb2ludHMiLCJjbG9zZWQiLCJleHBlY3RlZCIsIml0IiwicmVzdWx0IiwiZXhwZWN0IiwidG9NYXRjaE9iamVjdCIsImZyb20iLCJ0byIsInRvRXF1YWwiLCJ3Iiwib25DaGFuZ2UiLCJqZXN0IiwiZm4iLCJvbkNoYW5nZVByb3BzIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsIm9uQ2xvc2VQb2x5Z29uIiwiZ3JhcGhQcm9wcyIsInByb3BzIiwibGFiZWxOb2RlIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid3JhcHBlcldpdGhMYWJlbHMiLCJ0b01hdGNoU25hcHNob3QiLCJpbnN0YW5jZSIsImRyYWdQb2ludCIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiZHJhZ0xpbmUiLCJleGlzdGluZyIsIm5leHQiLCJkcmFnUG9seSIsImxhYmVsQ2hhbmdlIiwidG9CZUNhbGxlZFdpdGgiLCJjbG9zZSIsInRvSGF2ZUJlZW5DYWxsZWQiLCJvbkNsaWNrIiwiYmVmb3JlRWFjaCIsIm1vY2tDbGVhciIsImFzc2VydENhbGxiYWNrIiwiaXNUb29sQWN0aXZlIiwibW9jayIsImNsaWNrUG9pbnQiLCJsYWJlbE1vZGVFbmFibGVkIiwibGltaXRMYWJlbGluZyIsInRvSGF2ZUJlZW5DYWxsZWRUaW1lcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7OztBQUVBLElBQU1BLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFPQyxLQUFQLEVBQWNDLEtBQWQ7QUFBQSx5Q0FDWCxl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Q0FBc0JrQyxxQkFBdEIsQ0FBNEMsQ0FBNUM7QUFDRCxLQVZDLENBQUY7QUFZQTdDLElBQUFBLEVBQUUsQ0FBQyw4Q0FBRCxFQUFpRCxZQUFNO0FBQ3ZELFVBQU1XLGFBQWEsR0FBR0YsSUFBSSxDQUFDQyxFQUFMLEVBQXRCO0FBQ0EsVUFBTUgsQ0FBQyxHQUFHZ0IsaUJBQWlCLENBQUM7QUFBRW9CLFFBQUFBLGdCQUFnQixFQUFFLElBQXBCO0FBQTBCaEMsUUFBQUEsYUFBYSxFQUFiQTtBQUExQixPQUFELENBQTNCO0FBRUFKLE1BQUFBLENBQUMsQ0FBQ2tCLFFBQUYsR0FBYWlCLFVBQWIsQ0FBd0I3QyxNQUFNLENBQUMsQ0FBRCxDQUE5QixFQUFtQyxDQUFuQyxFQUFzQyxFQUF0QztBQUNBSyxNQUFBQSxNQUFNLENBQUNTLGFBQUQsQ0FBTixDQUFzQmdCLG9CQUF0QixDQUEyQzlCLE1BQTNDO0FBQ0QsS0FOQyxDQUFGO0FBT0QsR0EzRE8sQ0FBUjtBQTRERCxDQS9MTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcywgeHkgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5pbXBvcnQgeyBSYXdCYXNlQ29tcG9uZW50LCBidWlsZExpbmVzLCBzd2FwIH0gZnJvbSAnLi4vY29tcG9uZW50JztcblxuY29uc3QgeHlMYWJlbCA9ICh4LCB5LCBpbmRleCwgbGFiZWwpID0+ICh7XG4gIC4uLnh5KHgsIHksIGluZGV4KSxcbiAgbGFiZWwsXG59KTtcblxuZGVzY3JpYmUoJ2J1aWxkTGluZXMnLCAoKSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRQb2ludHMgPSBbeHkoMCwgMCksIHh5KDEsIDEpLCB4eSgxLCAwKV07XG5cbiAgY29uc3QgYXNzZXJ0QnVpbGRMaW5lcyA9IChwb2ludHMsIGNsb3NlZCwgZXhwZWN0ZWQpID0+IHtcbiAgICBpdChgYnVpbGRzIHBvaW50cyBhbmQgbGluZXMgZm9yICR7cG9pbnRzfSA9ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYnVpbGRMaW5lcyhwb2ludHMpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9NYXRjaE9iamVjdChbXG4gICAgICAgIHsgZnJvbTogeHkoMCwgMCwgMCksIHRvOiB4eSgxLCAxLCAxKSB9LFxuICAgICAgICB7IGZyb206IHh5KDEsIDEsIDEpLCB0bzogeHkoMSwgMCwgMikgfSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGFzc2VydEJ1aWxkTGluZXMoZGVmYXVsdFBvaW50cywgdHJ1ZSwgW10pO1xufSk7XG5cbmRlc2NyaWJlKCdzd2FwJywgKCkgPT4ge1xuICBpdCgnc3dhcHMgcGFpcnMnLCAoKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3dhcChbeHkoMCwgMCwgMCksIHh5KDEsIDEsIDEpLCB4eSgyLCAyLCAyKV0sIHh5KDAsIDAsIDApLCB4eSgzLCAzLCAwKSk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChbeHkoMywgMywgMCksIHh5KDEsIDEsIDEpLCB4eSgyLCAyLCAyKV0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnUmF3QmFzZUNvbXBvbmVudCcsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgbGV0IG9uQ2hhbmdlUHJvcHMgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9uQ2hhbmdlUHJvcHMsXG4gICAgICBvbkNsb3NlUG9seWdvbjogamVzdC5mbigpLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgICAgcG9pbnRzOiBbXSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8UmF3QmFzZUNvbXBvbmVudCB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICAvLyB1c2VkIHRvIHRlc3QgaXRlbXMgdGhhdCBoYXZlIGxhYmVscyBhdHRhY2hlZCB0byBwb2ludHNcbiAgY29uc3QgbGFiZWxOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9yZWlnbk9iamVjdCcpO1xuICBjb25zdCBwb2ludHMgPSBbeHlMYWJlbCgwLCAwLCAwLCAnQScpLCB4eUxhYmVsKDIsIDIsIDEsICdCJyksIHh5TGFiZWwoMCwgMiwgMiwgJ0MnKV07XG4gIGNvbnN0IHdyYXBwZXJXaXRoTGFiZWxzID0gKGV4dHJhcykgPT5cbiAgICB3cmFwcGVyKHtcbiAgICAgIGxhYmVsTm9kZTogbGFiZWxOb2RlLFxuICAgICAgcG9pbnRzOiBwb2ludHMsXG4gICAgICAuLi5leHRyYXMsXG4gICAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXIoKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIHdpdGggbGFiZWxzJywgKCkgPT4ge1xuICAgICAgdyA9IHdyYXBwZXJXaXRoTGFiZWxzKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBkZXNjcmliZSgnZHJhZ1BvaW50JywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICAgICAgdyA9IHdyYXBwZXIoeyBwb2ludHM6IFt4eSgxLCAxKV0sIG9uQ2hhbmdlIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkuZHJhZ1BvaW50KDAsIHh5KDEsIDEpLCB4eSgyLCAyKSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoW3h5KDIsIDIpXSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIGtlZXBpbmcgbGFiZWwgcHJvcGVydHkgZnJvbSBwb2ludCcsICgpID0+IHtcbiAgICAgICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgICAgIHcgPSB3cmFwcGVyV2l0aExhYmVscyhvbkNoYW5nZSk7XG5cbiAgICAgICAgdy5pbnN0YW5jZSgpLmRyYWdQb2ludCgwLCB4eSgwLCAwKSwgeHkoMCwgMSkpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFt7IHg6IDAsIHk6IDEsIGxhYmVsOiAnQScgfSwgcG9pbnRzWzFdLCBwb2ludHNbMl1dKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2RyYWdMaW5lJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlJywgKCkgPT4ge1xuICAgICAgICB3ID0gd3JhcHBlcih7IHBvaW50czogW3h5KDEsIDEsIDApLCB4eSgyLCAyLCAxKV0sIG9uQ2hhbmdlIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkuZHJhZ0xpbmUoeyBmcm9tOiB4eSgxLCAxLCAwKSwgdG86IHh5KDIsIDIsIDEpIH0sIHsgZnJvbTogeHkoMiwgMiwgMCksIHRvOiB4eSg0LCA0LCAxKSB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChbeHkoMiwgMiwgMCksIHh5KDQsIDQsIDEpXSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIGtlZXBpbmcgbGFiZWwgcHJvcGVydHkgZnJvbSBib3RoIHBvaW50cycsICgpID0+IHtcbiAgICAgICAgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgICAgIHcgPSB3cmFwcGVyV2l0aExhYmVscyhvbkNoYW5nZSk7XG5cbiAgICAgICAgdy5pbnN0YW5jZSgpLmRyYWdMaW5lKFxuICAgICAgICAgIHsgZnJvbTogcG9pbnRzWzBdLCB0bzogcG9pbnRzWzFdIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnJvbTogeHkoMCwgMSwgMCksXG4gICAgICAgICAgICB0bzogeHkoMiwgMywgMSksXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChbeHlMYWJlbCgwLCAxLCAwLCAnQScpLCB4eUxhYmVsKDIsIDMsIDEsICdCJyksIHBvaW50c1syXV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZHJhZ1BvbHknLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcgPSB3cmFwcGVyKHsgb25DaGFuZ2UgfSk7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nID0gW3h5KDEsIDEpXTtcbiAgICAgICAgY29uc3QgbmV4dCA9IFt4eSgyLCAyKV07XG4gICAgICAgIHcuaW5zdGFuY2UoKS5kcmFnUG9seShleGlzdGluZywgbmV4dCk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoW3h5KDIsIDIpXSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIGtlZXBpbmcgbGFiZWwgcHJvcGVydHkgZnJvbSBhbGwgcG9pbnRzJywgKCkgPT4ge1xuICAgICAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICAgICAgdyA9IHdyYXBwZXJXaXRoTGFiZWxzKG9uQ2hhbmdlKTtcblxuICAgICAgICB3Lmluc3RhbmNlKCkuZHJhZ1BvbHkocG9pbnRzLCBbeHkoMCwgMSwgMCksIHh5KDIsIDMsIDEpLCB4eSgwLCAzLCAyKV0pO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFt4eUxhYmVsKDAsIDEsIDAsICdBJyksIHh5TGFiZWwoMiwgMywgMSwgJ0InKSwgeHlMYWJlbCgwLCAzLCAyLCAnQycpXSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdsYWJlbENoYW5nZScsICgpID0+IHtcbiAgICAgIGl0KCd1cGRhdGVzIFwibGFiZWxcIiBwcm9wZXJ0eSBmb3IgcG9pbnQnLCAoKSA9PiB7XG4gICAgICAgIHcgPSB3cmFwcGVyV2l0aExhYmVscygpO1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS5sYWJlbENoYW5nZSh7IC4uLnBvaW50c1swXSwgbGFiZWw6ICdMYWJlbCBBJyB9LCAwKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlUHJvcHMpLnRvQmVDYWxsZWRXaXRoKFt7IC4uLnBvaW50c1swXSwgbGFiZWw6ICdMYWJlbCBBJyB9LCBwb2ludHNbMV0sIHBvaW50c1syXV0pO1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS5sYWJlbENoYW5nZSh7IC4uLnBvaW50c1sxXSwgbGFiZWw6ICdMYWJlbCBCJyB9LCAxKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlUHJvcHMpLnRvQmVDYWxsZWRXaXRoKFtwb2ludHNbMF0sIHsgLi4ucG9pbnRzWzFdLCBsYWJlbDogJ0xhYmVsIEInIH0sIHBvaW50c1syXV0pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdyZW1vdmVzIFwibGFiZWxcIiBwcm9wZXJ0eSBpZiB0aGUgZmllbGQgaXMgZW1wdHknLCAoKSA9PiB7XG4gICAgICAgIHcgPSB3cmFwcGVyV2l0aExhYmVscygpO1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS5sYWJlbENoYW5nZSh7IC4uLnBvaW50c1swXSwgbGFiZWw6ICcnIH0sIDApO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2VQcm9wcykudG9CZUNhbGxlZFdpdGgoW3h5KDAsIDAsIDApLCBwb2ludHNbMV0sIHBvaW50c1syXV0pO1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS5sYWJlbENoYW5nZSh7IC4uLnBvaW50c1sxXSwgbGFiZWw6ICcnIH0sIDEpO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2VQcm9wcykudG9CZUNhbGxlZFdpdGgoW3BvaW50c1swXSwgeHkoMiwgMiwgMSksIHBvaW50c1syXV0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdjbG9zZScsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgb25DbG9zZVBvbHlnb24nLCAoKSA9PiB7XG4gICAgICBjb25zdCBvbkNsb3NlUG9seWdvbiA9IGplc3QuZm4oKTtcbiAgICAgIHcgPSB3cmFwcGVyKHsgb25DbG9zZVBvbHlnb24sIHBvaW50czogW3h5KDEsIDEpLCB4eSgyLCAyKSwgeHkoMywgMyldIH0pO1xuICAgICAgdy5pbnN0YW5jZSgpLmNsb3NlKCk7XG4gICAgICBleHBlY3Qob25DbG9zZVBvbHlnb24pLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2NsaWNrUG9pbnQnLCAoKSA9PiB7XG4gICAgbGV0IG9uQ2xpY2sgPSBqZXN0LmZuKCk7XG4gICAgbGV0IG9uQ2xvc2VQb2x5Z29uID0gamVzdC5mbigpO1xuICAgIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgb25DbG9zZVBvbHlnb24ubW9ja0NsZWFyKCk7XG4gICAgICBvbkNsaWNrLm1vY2tDbGVhcigpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYXNzZXJ0Q2FsbGJhY2sgPSAoaXNUb29sQWN0aXZlLCBjbG9zZWQsIGluZGV4LCBtb2NrKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DbG9zZVBvbHlnb24nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHcgPSB3cmFwcGVyKHtcbiAgICAgICAgICBwb2ludHM6IFt4eSgxLCAxKSwgeHkoMiwgMiksIHh5KDMsIDMpXSxcbiAgICAgICAgICBvbkNsb3NlUG9seWdvbixcbiAgICAgICAgICBvbkNsaWNrLFxuICAgICAgICAgIGlzVG9vbEFjdGl2ZSxcbiAgICAgICAgICBjbG9zZWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHcuaW5zdGFuY2UoKS5jbGlja1BvaW50KHh5KDEsIDEsIDApLCBpbmRleCwge30pO1xuICAgICAgICBleHBlY3QobW9jaykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGFzc2VydENhbGxiYWNrKHRydWUsIGZhbHNlLCAwLCBvbkNsb3NlUG9seWdvbik7XG4gICAgYXNzZXJ0Q2FsbGJhY2sodHJ1ZSwgZmFsc2UsIDEsIG9uQ2xpY2spO1xuICAgIGFzc2VydENhbGxiYWNrKGZhbHNlLCBmYWxzZSwgMCwgb25DbGljayk7XG4gICAgYXNzZXJ0Q2FsbGJhY2sodHJ1ZSwgdHJ1ZSwgMCwgb25DbGljayk7XG5cbiAgICBpdCgnYWRkcyBcImxhYmVsXCIgcHJvcGVydHkgdG8gYSBwb2ludCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG9uQ2hhbmdlUHJvcHMgPSBqZXN0LmZuKCk7XG4gICAgICBjb25zdCB3ID0gd3JhcHBlcldpdGhMYWJlbHMoe1xuICAgICAgICBsYWJlbE1vZGVFbmFibGVkOiB0cnVlLFxuICAgICAgICBvbkNoYW5nZVByb3BzLFxuICAgICAgICBwb2ludHM6IFt4eSgwLCAwLCAwKSwgeHkoMiwgMiwgMSksIHh5KDAsIDIsIDIpXSxcbiAgICAgIH0pO1xuXG4gICAgICB3Lmluc3RhbmNlKCkuY2xpY2tQb2ludCh4eSgwLCAwLCAwKSwgMCwge30pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlUHJvcHMpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKFt4eUxhYmVsKDAsIDAsIDAsICcnKSwgeHkoMiwgMiwgMSksIHh5KDAsIDIsIDIpXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnYWRkcyBcImxhYmVsXCIgcHJvcGVydHkgdG8gYSBwb2ludCB3aGVuIGxpbWl0IGxhYmVsaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3Qgb25DaGFuZ2VQcm9wcyA9IGplc3QuZm4oKTtcbiAgICAgIGNvbnN0IHcgPSB3cmFwcGVyV2l0aExhYmVscyh7XG4gICAgICAgIGxhYmVsTW9kZUVuYWJsZWQ6IHRydWUsXG4gICAgICAgIG9uQ2hhbmdlUHJvcHMsXG4gICAgICAgIGxpbWl0TGFiZWxpbmc6IHRydWUsXG4gICAgICB9KTtcblxuICAgICAgdy5pbnN0YW5jZSgpLmNsaWNrUG9pbnQoeHkoMCwgMCwgMCksIDAsIHt9KTtcbiAgICAgIGV4cGVjdChvbkNoYW5nZVByb3BzKS50b0hhdmVCZWVuQ2FsbGVkVGltZXMoMCk7XG4gICAgfSk7XG5cbiAgICBpdCgnaWYgcG9pbnQgYWxyZWFkeSBoYXMgbGFiZWwsIGtlZXBzIHRoYXQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBvbkNoYW5nZVByb3BzID0gamVzdC5mbigpO1xuICAgICAgY29uc3QgdyA9IHdyYXBwZXJXaXRoTGFiZWxzKHsgbGFiZWxNb2RlRW5hYmxlZDogdHJ1ZSwgb25DaGFuZ2VQcm9wcyB9KTtcblxuICAgICAgdy5pbnN0YW5jZSgpLmNsaWNrUG9pbnQocG9pbnRzWzBdLCAwLCB7fSk7XG4gICAgICBleHBlY3Qob25DaGFuZ2VQcm9wcykudG9IYXZlQmVlbkNhbGxlZFdpdGgocG9pbnRzKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,95 +0,0 @@
1
- "use strict";
2
-
3
- var _index = require("../index");
4
-
5
- var xy = function xy(x, y) {
6
- return {
7
- x: x,
8
- y: y
9
- };
10
- };
11
-
12
- describe('polygon', function () {
13
- describe('addPointToArray', function () {
14
- var assertAddPoint = function assertAddPoint(point, arr, expected) {
15
- it("returns ".concat(expected, " when adding ").concat(point, " to ").concat(arr), function () {
16
- var result = (0, _index.addPointToArray)(point, arr);
17
- expect(result).toEqual(expected);
18
- });
19
- };
20
-
21
- assertAddPoint(xy(0, 0), [], {
22
- closed: false,
23
- points: [xy(0, 0)]
24
- });
25
- assertAddPoint(xy(0, 0), [xy(0, 0)], {
26
- closed: false,
27
- points: [xy(0, 0)]
28
- });
29
- assertAddPoint(xy(1, 1), [xy(0, 0)], {
30
- closed: false,
31
- points: [xy(0, 0), xy(1, 1)]
32
- });
33
- assertAddPoint(xy(1, 1), [xy(0, 0)], {
34
- closed: false,
35
- points: [xy(0, 0), xy(1, 1)]
36
- });
37
- });
38
- });
39
- describe('tool', function () {
40
- var t;
41
- beforeEach(function () {
42
- t = (0, _index.tool)();
43
- });
44
- it('creates polygon type', function () {
45
- expect(t.type).toEqual('polygon');
46
- });
47
- describe('complete', function () {
48
- it('closes polygon', function () {
49
- expect(t.complete()).toEqual({
50
- building: false,
51
- closed: true
52
- });
53
- });
54
- });
55
- describe('addPoint', function () {
56
- it('creates new point', function () {
57
- var mark = t.addPoint({
58
- x: 0,
59
- y: 0
60
- });
61
- expect(mark).toEqual({
62
- type: 'polygon',
63
- points: [{
64
- x: 0,
65
- y: 0
66
- }],
67
- closed: false,
68
- building: true
69
- });
70
- });
71
- it('adds the point', function () {
72
- var mark = t.addPoint({
73
- x: 0,
74
- y: 0
75
- }, {
76
- points: [{
77
- x: 1,
78
- y: 1
79
- }]
80
- });
81
- expect(mark).toEqual({
82
- building: true,
83
- closed: false,
84
- points: [{
85
- x: 1,
86
- y: 1
87
- }, {
88
- x: 0,
89
- y: 0
90
- }]
91
- });
92
- });
93
- });
94
- });
95
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9pbmRleC50ZXN0LmpzIl0sIm5hbWVzIjpbInh5IiwieCIsInkiLCJkZXNjcmliZSIsImFzc2VydEFkZFBvaW50IiwicG9pbnQiLCJhcnIiLCJleHBlY3RlZCIsIml0IiwicmVzdWx0IiwiZXhwZWN0IiwidG9FcXVhbCIsImNsb3NlZCIsInBvaW50cyIsInQiLCJiZWZvcmVFYWNoIiwidHlwZSIsImNvbXBsZXRlIiwiYnVpbGRpbmciLCJtYXJrIiwiYWRkUG9pbnQiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUEsSUFBTUEsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsU0FBVztBQUFFRCxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0MsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVg7QUFBQSxDQUFYOztBQUVBQyxRQUFRLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDeEJBLEVBQUFBLFFBQVEsQ0FBQyxpQkFBRCxFQUFvQixZQUFNO0FBQ2hDLFFBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsQ0FBQ0MsS0FBRCxFQUFRQyxHQUFSLEVBQWFDLFFBQWIsRUFBMEI7QUFDL0NDLE1BQUFBLEVBQUUsbUJBQVlELFFBQVosMEJBQW9DRixLQUFwQyxpQkFBZ0RDLEdBQWhELEdBQXVELFlBQU07QUFDN0QsWUFBTUcsTUFBTSxHQUFHLDRCQUFnQkosS0FBaEIsRUFBdUJDLEdBQXZCLENBQWY7QUFDQUksUUFBQUEsTUFBTSxDQUFDRCxNQUFELENBQU4sQ0FBZUUsT0FBZixDQUF1QkosUUFBdkI7QUFDRCxPQUhDLENBQUY7QUFJRCxLQUxEOztBQU1BSCxJQUFBQSxjQUFjLENBQUNKLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFILEVBQVcsRUFBWCxFQUFlO0FBQUVZLE1BQUFBLE1BQU0sRUFBRSxLQUFWO0FBQWlCQyxNQUFBQSxNQUFNLEVBQUUsQ0FB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Q0FBTDtBQUFRQyxRQUFBQSxDQUFDLEVBQUU7QUFBWCxPQUFYLEVBQTJCO0FBQUVXLFFBQUFBLE1BQU0sRUFBRSxDQUFDO0FBQUVaLFVBQUFBLENBQUMsRUFBRSxDQUFMO0FBQVFDLFVBQUFBLENBQUMsRUFBRTtBQUFYLFNBQUQ7QUFBVixPQUEzQixDQUFiO0FBQ0FRLE1BQUFBLE1BQU0sQ0FBQ1MsSUFBRCxDQUFOLENBQWFSLE9BQWIsQ0FBcUI7QUFDbkJPLFFBQUFBLFFBQVEsRUFBRSxJQURTO0FBRW5CTixRQUFBQSxNQUFNLEVBQUUsS0FGVztBQUduQkMsUUFBQUEsTUFBTSxFQUFFLENBQ047QUFBRVosVUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsVUFBQUEsQ0FBQyxFQUFFO0FBQVgsU0FETSxFQUVOO0FBQUVELFVBQUFBLENBQUMsRUFBRSxDQUFMO0FBQVFDLFVBQUFBLENBQUMsRUFBRTtBQUFYLFNBRk07QUFIVyxPQUFyQjtBQVFELEtBVkMsQ0FBRjtBQVdELEdBdEJPLENBQVI7QUF1QkQsQ0F2Q08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZFBvaW50VG9BcnJheSwgdG9vbCB9IGZyb20gJy4uL2luZGV4JztcblxuY29uc3QgeHkgPSAoeCwgeSkgPT4gKHsgeCwgeSB9KTtcblxuZGVzY3JpYmUoJ3BvbHlnb24nLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdhZGRQb2ludFRvQXJyYXknLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0QWRkUG9pbnQgPSAocG9pbnQsIGFyciwgZXhwZWN0ZWQpID0+IHtcbiAgICAgIGl0KGByZXR1cm5zICR7ZXhwZWN0ZWR9IHdoZW4gYWRkaW5nICR7cG9pbnR9IHRvICR7YXJyfWAsICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYWRkUG9pbnRUb0FycmF5KHBvaW50LCBhcnIpO1xuICAgICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgYXNzZXJ0QWRkUG9pbnQoeHkoMCwgMCksIFtdLCB7IGNsb3NlZDogZmFsc2UsIHBvaW50czogW3h5KDAsIDApXSB9KTtcbiAgICBhc3NlcnRBZGRQb2ludCh4eSgwLCAwKSwgW3h5KDAsIDApXSwgeyBjbG9zZWQ6IGZhbHNlLCBwb2ludHM6IFt4eSgwLCAwKV0gfSk7XG4gICAgYXNzZXJ0QWRkUG9pbnQoeHkoMSwgMSksIFt4eSgwLCAwKV0sIHtcbiAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICBwb2ludHM6IFt4eSgwLCAwKSwgeHkoMSwgMSldLFxuICAgIH0pO1xuICAgIGFzc2VydEFkZFBvaW50KHh5KDEsIDEpLCBbeHkoMCwgMCldLCB7XG4gICAgICBjbG9zZWQ6IGZhbHNlLFxuICAgICAgcG9pbnRzOiBbeHkoMCwgMCksIHh5KDEsIDEpXSxcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ3Rvb2wnLCAoKSA9PiB7XG4gIGxldCB0O1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICB0ID0gdG9vbCgpO1xuICB9KTtcblxuICBpdCgnY3JlYXRlcyBwb2x5Z29uIHR5cGUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHQudHlwZSkudG9FcXVhbCgncG9seWdvbicpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY29tcGxldGUnLCAoKSA9PiB7XG4gICAgaXQoJ2Nsb3NlcyBwb2x5Z29uJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHQuY29tcGxldGUoKSkudG9FcXVhbCh7IGJ1aWxkaW5nOiBmYWxzZSwgY2xvc2VkOiB0cnVlIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnYWRkUG9pbnQnLCAoKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXMgbmV3IHBvaW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgbWFyayA9IHQuYWRkUG9pbnQoeyB4OiAwLCB5OiAwIH0pO1xuICAgICAgZXhwZWN0KG1hcmspLnRvRXF1YWwoe1xuICAgICAgICB0eXBlOiAncG9seWdvbicsXG4gICAgICAgIHBvaW50czogW3sgeDogMCwgeTogMCB9XSxcbiAgICAgICAgY2xvc2VkOiBmYWxzZSxcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KCdhZGRzIHRoZSBwb2ludCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmsgPSB0LmFkZFBvaW50KHsgeDogMCwgeTogMCB9LCB7IHBvaW50czogW3sgeDogMSwgeTogMSB9XSB9KTtcbiAgICAgIGV4cGVjdChtYXJrKS50b0VxdWFsKHtcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIHBvaW50czogW1xuICAgICAgICAgIHsgeDogMSwgeTogMSB9LFxuICAgICAgICAgIHsgeDogMCwgeTogMCB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _line = require("../line");
12
-
13
- var _utils = require("../../../__tests__/utils");
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
-
19
- describe('Line', function () {
20
- var w;
21
- var onChange = jest.fn();
22
-
23
- var wrapper = function wrapper(extras) {
24
- var defaults = {
25
- classes: {},
26
- className: 'className',
27
- graphProps: (0, _utils.graphProps)()
28
- };
29
-
30
- var props = _objectSpread(_objectSpread({}, defaults), extras);
31
-
32
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_line.Line, props));
33
- };
34
-
35
- describe('snapshot', function () {
36
- it('renders', function () {
37
- w = wrapper();
38
- expect(w).toMatchSnapshot();
39
- });
40
- });
41
- describe('logic', function () {});
42
- });
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9saW5lLnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUFBLFFBQVEsQ0FBQyxNQUFELEVBQVMsWUFBTTtBQUNyQixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHQyxJQUFJLENBQUNDLEVBQUwsRUFBZjs7QUFDQSxNQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZDLE1BQUFBLFVBQVUsRUFBRTtBQUhHLEtBQWpCOztBQUtBLFFBQU1DLEtBQUssbUNBQVFKLFFBQVIsR0FBcUJELE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxVQUFELEVBQVVLLEtBQVYsQ0FBUixDQUFQO0FBQ0QsR0FSRDs7QUFTQVgsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCWSxJQUFBQSxFQUFFLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDbEJYLE1BQUFBLENBQUMsR0FBR0ksT0FBTyxFQUFYO0FBQ0FRLE1BQUFBLE1BQU0sQ0FBQ1osQ0FBRCxDQUFOLENBQVVhLGVBQVY7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFNQWQsRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNLENBQUUsQ0FBbEIsQ0FBUjtBQUNELENBbkJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vbGluZSc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vX190ZXN0c19fL3V0aWxzJztcblxuZGVzY3JpYmUoJ0xpbmUnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxMaW5lIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge30pO1xufSk7XG4iXX0=
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _polygon = require("../polygon");
12
-
13
- var _utils = require("../../../__tests__/utils");
14
-
15
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
16
-
17
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
-
19
- var xy = function xy(x, y) {
20
- return {
21
- x: x,
22
- y: y
23
- };
24
- };
25
-
26
- describe('Polygon', function () {
27
- var w;
28
-
29
- var wrapper = function wrapper(extras) {
30
- var defaults = {
31
- classes: {},
32
- className: 'className',
33
- graphProps: (0, _utils.graphProps)(),
34
- closed: false
35
- };
36
-
37
- var props = _objectSpread(_objectSpread({}, defaults), extras);
38
-
39
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_polygon.Polygon, props));
40
- };
41
-
42
- describe('snapshot', function () {
43
- it('renders', function () {
44
- w = wrapper({
45
- points: [{
46
- x: 1,
47
- y: 1
48
- }]
49
- });
50
- expect(w).toMatchSnapshot();
51
- });
52
- });
53
- });
54
- describe('getPointString', function () {
55
- var assertString = function assertString(arr, expected) {
56
- it('creates: ', function () {
57
- var result = (0, _polygon.getPointString)(arr, {
58
- x: jest.fn(function (n) {
59
- return n;
60
- }),
61
- y: jest.fn(function (n) {
62
- return n;
63
- })
64
- });
65
- expect(result).toEqual(expected);
66
- });
67
- };
68
-
69
- assertString([xy(1, 1)], '1,1');
70
- assertString([xy(1, 1), xy(2, 1)], '1,1 2,1');
71
- assertString([xy(1, 1), xy(2, 1), xy(4, 4)], '1,1 2,1 4,4');
72
- });
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2x5Z29uL19fdGVzdHNfXy9wb2x5Z29uLnRlc3QuanN4Il0sIm5hbWVzIjpbInh5IiwieCIsInkiLCJkZXNjcmliZSIsInciLCJ3cmFwcGVyIiwiZXh0cmFzIiwiZGVmYXVsdHMiLCJjbGFzc2VzIiwiY2xhc3NOYW1lIiwiZ3JhcGhQcm9wcyIsImNsb3NlZCIsInByb3BzIiwiaXQiLCJwb2ludHMiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJhc3NlcnRTdHJpbmciLCJhcnIiLCJleHBlY3RlZCIsInJlc3VsdCIsImplc3QiLCJmbiIsIm4iLCJ0b0VxdWFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsRUFBRSxHQUFHLFNBQUxBLEVBQUssQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsU0FBVztBQUFFRCxJQUFBQSxDQUFDLEVBQURBLENBQUY7QUFBS0MsSUFBQUEsQ0FBQyxFQUFEQTtBQUFMLEdBQVg7QUFBQSxDQUFYOztBQUVBQyxRQUFRLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDeEIsTUFBSUMsQ0FBSjs7QUFDQSxNQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZDLE1BQUFBLFVBQVUsRUFBRSx3QkFIRztBQUlmQyxNQUFBQSxNQUFNLEVBQUU7QUFKTyxLQUFqQjs7QUFNQSxRQUFNQyxLQUFLLG1DQUFRTCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsZ0JBQUQsRUFBYU0sS0FBYixDQUFSLENBQVA7QUFDRCxHQVREOztBQVdBVCxFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJVLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQlQsTUFBQUEsQ0FBQyxHQUFHQyxPQUFPLENBQUM7QUFBRVMsUUFBQUEsTUFBTSxFQUFFLENBQUM7QUFBRWIsVUFBQUEsQ0FBQyxFQUFFLENBQUw7QUFBUUMsVUFBQUEsQ0FBQyxFQUFFO0FBQVgsU0FBRDtBQUFWLE9BQUQsQ0FBWDtBQUNBYSxNQUFBQSxNQUFNLENBQUNYLENBQUQsQ0FBTixDQUFVWSxlQUFWO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMTyxDQUFSO0FBTUQsQ0FuQk8sQ0FBUjtBQXFCQWIsUUFBUSxDQUFDLGdCQUFELEVBQW1CLFlBQU07QUFDL0IsTUFBTWMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsR0FBRCxFQUFNQyxRQUFOLEVBQW1CO0FBQ3RDTixJQUFBQSxFQUFFLENBQUMsV0FBRCxFQUFjLFlBQU07QUFDcEIsVUFBTU8sTUFBTSxHQUFHLDZCQUFlRixHQUFmLEVBQW9CO0FBQ2pDakIsUUFBQUEsQ0FBQyxFQUFFb0IsSUFBSSxDQUFDQyxFQUFMLENBQVEsVUFBQ0MsQ0FBRDtBQUFBLGlCQUFPQSxDQUFQO0FBQUEsU0FBUixDQUQ4QjtBQUVqQ3JCLFFBQUFBLENBQUMsRUFBRW1CLElBQUksQ0FBQ0MsRUFBTCxDQUFRLFVBQUNDLENBQUQ7QUFBQSxpQkFBT0EsQ0FBUDtBQUFBLFNBQVI7QUFGOEIsT0FBcEIsQ0FBZjtBQUtBUixNQUFBQSxNQUFNLENBQUNLLE1BQUQsQ0FBTixDQUFlSSxPQUFmLENBQXVCTCxRQUF2QjtBQUNELEtBUEMsQ0FBRjtBQVFELEdBVEQ7O0FBV0FGLEVBQUFBLFlBQVksQ0FBQyxDQUFDakIsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQUgsQ0FBRCxFQUFhLEtBQWIsQ0FBWjtBQUNBaUIsRUFBQUEsWUFBWSxDQUFDLENBQUNqQixFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBSCxFQUFXQSxFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBYixDQUFELEVBQXVCLFNBQXZCLENBQVo7QUFDQWlCLEVBQUFBLFlBQVksQ0FBQyxDQUFDakIsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQUgsRUFBV0EsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQWIsRUFBcUJBLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUF2QixDQUFELEVBQWlDLGFBQWpDLENBQVo7QUFDRCxDQWZPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBQb2x5Z29uLCBnZXRQb2ludFN0cmluZyB9IGZyb20gJy4uL3BvbHlnb24nO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5cbmNvbnN0IHh5ID0gKHgsIHkpID0+ICh7IHgsIHkgfSk7XG5cbmRlc2NyaWJlKCdQb2x5Z29uJywgKCkgPT4ge1xuICBsZXQgdztcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxQb2x5Z29uIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKHsgcG9pbnRzOiBbeyB4OiAxLCB5OiAxIH1dIH0pO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZ2V0UG9pbnRTdHJpbmcnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydFN0cmluZyA9IChhcnIsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoJ2NyZWF0ZXM6ICcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGdldFBvaW50U3RyaW5nKGFyciwge1xuICAgICAgICB4OiBqZXN0LmZuKChuKSA9PiBuKSxcbiAgICAgICAgeTogamVzdC5mbigobikgPT4gbiksXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgYXNzZXJ0U3RyaW5nKFt4eSgxLCAxKV0sICcxLDEnKTtcbiAgYXNzZXJ0U3RyaW5nKFt4eSgxLCAxKSwgeHkoMiwgMSldLCAnMSwxIDIsMScpO1xuICBhc3NlcnRTdHJpbmcoW3h5KDEsIDEpLCB4eSgyLCAxKSwgeHkoNCwgNCldLCAnMSwxIDIsMSA0LDQnKTtcbn0pO1xuIl19
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _component = require("../component");
12
-
13
- var _utils = require("../../../__tests__/utils");
14
-
15
- var _plot = require("@pie-lib/plot");
16
-
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
-
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
-
21
- describe('RayLine', function () {
22
- var w;
23
- var onChange = jest.fn();
24
-
25
- var wrapper = function wrapper(extras) {
26
- var defaults = {
27
- classes: {},
28
- className: 'className',
29
- onChange: onChange,
30
- markerId: '1',
31
- graphProps: (0, _utils.graphProps)(),
32
- from: _plot.utils.xy(0, 0),
33
- to: _plot.utils.xy(1, 1)
34
- };
35
-
36
- var props = _objectSpread(_objectSpread({}, defaults), extras);
37
-
38
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component.RayLine, props));
39
- };
40
-
41
- describe('snapshot', function () {
42
- it('renders', function () {
43
- var w = wrapper();
44
- expect(w).toMatchSnapshot();
45
- });
46
- });
47
- });
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9yYXkvX190ZXN0c19fL2NvbXBvbmVudC50ZXN0LmpzeCJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJtYXJrZXJJZCIsImdyYXBoUHJvcHMiLCJmcm9tIiwidXRpbHMiLCJ4eSIsInRvIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUNBQSxRQUFRLENBQUMsU0FBRCxFQUFZLFlBQU07QUFDeEIsTUFBSUMsQ0FBSjtBQUNBLE1BQUlDLFFBQVEsR0FBR0MsSUFBSSxDQUFDQyxFQUFMLEVBQWY7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQ0MsTUFBRCxFQUFZO0FBQzFCLFFBQU1DLFFBQVEsR0FBRztBQUNmQyxNQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxNQUFBQSxTQUFTLEVBQUUsV0FGSTtBQUdmUCxNQUFBQSxRQUFRLEVBQVJBLFFBSGU7QUFJZlEsTUFBQUEsUUFBUSxFQUFFLEdBSks7QUFLZkMsTUFBQUEsVUFBVSxFQUFFLHdCQUxHO0FBTWZDLE1BQUFBLElBQUksRUFBRUMsWUFBTUMsRUFBTixDQUFTLENBQVQsRUFBWSxDQUFaLENBTlM7QUFPZkMsTUFBQUEsRUFBRSxFQUFFRixZQUFNQyxFQUFOLENBQVMsQ0FBVCxFQUFZLENBQVo7QUFQVyxLQUFqQjs7QUFTQSxRQUFNRSxLQUFLLG1DQUFRVCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsa0JBQUQsRUFBYVUsS0FBYixDQUFSLENBQVA7QUFDRCxHQVpEOztBQWNBaEIsRUFBQUEsUUFBUSxDQUFDLFVBQUQsRUFBYSxZQUFNO0FBQ3pCaUIsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCLFVBQU1oQixDQUFDLEdBQUdJLE9BQU8sRUFBakI7QUFDQWEsTUFBQUEsTUFBTSxDQUFDakIsQ0FBRCxDQUFOLENBQVVrQixlQUFWO0FBQ0QsS0FIQyxDQUFGO0FBSUQsR0FMTyxDQUFSO0FBTUQsQ0F2Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJheUxpbmUgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgZ3JhcGhQcm9wcyBhcyBnZXRHcmFwaFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vX190ZXN0c19fL3V0aWxzJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5kZXNjcmliZSgnUmF5TGluZScsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgbWFya2VySWQ6ICcxJyxcbiAgICAgIGdyYXBoUHJvcHM6IGdldEdyYXBoUHJvcHMoKSxcbiAgICAgIGZyb206IHV0aWxzLnh5KDAsIDApLFxuICAgICAgdG86IHV0aWxzLnh5KDEsIDEpLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8UmF5TGluZSB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
-
7
- var _enzyme = require("enzyme");
8
-
9
- var _react = _interopRequireDefault(require("react"));
10
-
11
- var _component = require("../component");
12
-
13
- var _utils = require("../../../__tests__/utils");
14
-
15
- var _plot = require("@pie-lib/plot");
16
-
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
-
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
-
21
- var xy = _plot.utils.xy;
22
- describe('Line', function () {
23
- var w;
24
- var onChange = jest.fn();
25
-
26
- var wrapper = function wrapper(extras) {
27
- var defaults = {
28
- classes: {},
29
- className: 'className',
30
- onChange: onChange,
31
- graphProps: (0, _utils.graphProps)(),
32
- from: xy(0, 0),
33
- to: xy(1, 1)
34
- };
35
-
36
- var props = _objectSpread(_objectSpread({}, defaults), extras);
37
-
38
- return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component.Line, props));
39
- };
40
-
41
- describe('snapshot', function () {
42
- it('renders', function () {
43
- var w = wrapper();
44
- expect(w).toMatchSnapshot();
45
- });
46
- });
47
- });
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9zZWdtZW50L19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsieHkiLCJ1dGlscyIsImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJmcm9tIiwidG8iLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0EsSUFBUUEsRUFBUixHQUFlQyxXQUFmLENBQVFELEVBQVI7QUFDQUUsUUFBUSxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ3JCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBWTtBQUMxQixRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlAsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZRLE1BQUFBLFVBQVUsRUFBRSx3QkFKRztBQUtmQyxNQUFBQSxJQUFJLEVBQUViLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUxPO0FBTWZjLE1BQUFBLEVBQUUsRUFBRWQsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKO0FBTlMsS0FBakI7O0FBUUEsUUFBTWUsS0FBSyxtQ0FBUU4sUUFBUixHQUFxQkQsTUFBckIsQ0FBWDs7QUFDQSxXQUFPLG1DQUFRLGdDQUFDLGVBQUQsRUFBVU8sS0FBVixDQUFSLENBQVA7QUFDRCxHQVhEOztBQVlBYixFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJjLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQixVQUFNYixDQUFDLEdBQUdJLE9BQU8sRUFBakI7QUFDQVUsTUFBQUEsTUFBTSxDQUFDZCxDQUFELENBQU4sQ0FBVWUsZUFBVjtBQUNELEtBSEMsQ0FBRjtBQUlELEdBTE8sQ0FBUjtBQU1ELENBckJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuY29uc3QgeyB4eSB9ID0gdXRpbHM7XG5kZXNjcmliZSgnTGluZScsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ2V0R3JhcGhQcm9wcygpLFxuICAgICAgZnJvbTogeHkoMCwgMCksXG4gICAgICB0bzogeHkoMSwgMSksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxMaW5lIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB3ID0gd3JhcHBlcigpO1xuICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19