@pie-lib/graphing 2.14.22-next.0 → 2.16.0-beta.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 (259) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/lib/__tests__/graph-with-controls.test.js +215 -0
  4. package/lib/__tests__/graph.test.js +290 -0
  5. package/lib/__tests__/grid.test.js +40 -0
  6. package/lib/__tests__/labels.test.js +59 -0
  7. package/lib/__tests__/mark-label.test.js +154 -0
  8. package/lib/__tests__/toggle-bar.test.js +54 -0
  9. package/lib/__tests__/tool-menu.test.js +43 -0
  10. package/lib/__tests__/undo-redo.test.js +42 -0
  11. package/lib/__tests__/use-debounce.test.js +28 -0
  12. package/lib/__tests__/utils.js +72 -0
  13. package/lib/__tests__/utils.test.js +133 -0
  14. package/lib/axis/__tests__/arrow.test.js +68 -0
  15. package/lib/axis/__tests__/axes.test.js +214 -0
  16. package/lib/axis/arrow.js +1 -1
  17. package/lib/axis/axes.js +6 -6
  18. package/lib/axis/index.js +1 -1
  19. package/lib/bg.js +1 -1
  20. package/lib/container/actions.js +1 -1
  21. package/lib/container/index.js +2 -5
  22. package/lib/container/marks.js +1 -1
  23. package/lib/container/middleware.js +1 -1
  24. package/lib/container/reducer.js +1 -1
  25. package/lib/coordinates-label.js +6 -4
  26. package/lib/graph-with-controls.js +9 -16
  27. package/lib/graph.js +30 -13
  28. package/lib/grid-setup.js +1 -1
  29. package/lib/grid.js +7 -15
  30. package/lib/index.js +9 -1
  31. package/lib/key-legend.js +246 -0
  32. package/lib/label-svg-icon.js +56 -0
  33. package/lib/labels.js +3 -2
  34. package/lib/mark-label.js +168 -57
  35. package/lib/toggle-bar.js +4 -5
  36. package/lib/tool-menu.js +3 -23
  37. package/lib/tools/absolute/__tests__/component.test.js +74 -0
  38. package/lib/tools/absolute/component.js +35 -0
  39. package/lib/tools/absolute/index.js +63 -0
  40. package/lib/tools/circle/__tests__/bg-circle.test.js +46 -0
  41. package/lib/tools/circle/__tests__/component.test.js +259 -0
  42. package/lib/tools/circle/bg-circle.js +5 -4
  43. package/lib/tools/circle/component.js +35 -16
  44. package/lib/tools/circle/index.js +1 -1
  45. package/lib/tools/exponential/__tests__/component.test.js +73 -0
  46. package/lib/tools/exponential/component.js +34 -0
  47. package/lib/tools/exponential/index.js +71 -0
  48. package/lib/tools/index.js +27 -7
  49. package/lib/tools/line/__tests__/component.test.js +56 -0
  50. package/lib/tools/line/component.js +3 -2
  51. package/lib/tools/line/index.js +1 -1
  52. package/lib/tools/parabola/__tests__/component.test.js +73 -0
  53. package/lib/tools/parabola/component.js +7 -6
  54. package/lib/tools/parabola/index.js +1 -1
  55. package/lib/tools/point/__tests__/component.test.js +97 -0
  56. package/lib/tools/point/component.js +15 -10
  57. package/lib/tools/point/index.js +1 -1
  58. package/lib/tools/polygon/__tests__/component.test.js +255 -0
  59. package/lib/tools/polygon/__tests__/index.test.js +95 -0
  60. package/lib/tools/polygon/__tests__/line.test.js +43 -0
  61. package/lib/tools/polygon/__tests__/polygon.test.js +73 -0
  62. package/lib/tools/polygon/component.js +26 -13
  63. package/lib/tools/polygon/index.js +1 -1
  64. package/lib/tools/polygon/line.js +13 -7
  65. package/lib/tools/polygon/polygon.js +7 -4
  66. package/lib/tools/ray/__tests__/component.test.js +48 -0
  67. package/lib/tools/ray/component.js +3 -2
  68. package/lib/tools/ray/index.js +1 -1
  69. package/lib/tools/segment/__tests__/component.test.js +48 -0
  70. package/lib/tools/segment/component.js +3 -2
  71. package/lib/tools/segment/index.js +1 -1
  72. package/lib/tools/shared/__tests__/arrow-head.test.js +62 -0
  73. package/lib/tools/shared/arrow-head.js +1 -1
  74. package/lib/tools/shared/icons/CorrectSVG.js +36 -0
  75. package/lib/tools/shared/icons/IncorrectSVG.js +36 -0
  76. package/lib/tools/shared/icons/MissingSVG.js +35 -0
  77. package/lib/tools/shared/line/__tests__/index.test.js +301 -0
  78. package/lib/tools/shared/line/__tests__/line-path.test.js +78 -0
  79. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +122 -0
  80. package/lib/tools/shared/line/index.js +52 -20
  81. package/lib/tools/shared/line/line-path.js +14 -8
  82. package/lib/tools/shared/line/with-root-edge.js +20 -9
  83. package/lib/tools/shared/point/__tests__/arrow-point.test.js +137 -0
  84. package/lib/tools/shared/point/__tests__/base-point.test.js +134 -0
  85. package/lib/tools/shared/point/arrow-point.js +2 -2
  86. package/lib/tools/shared/point/arrow.js +2 -2
  87. package/lib/tools/shared/point/base-point.js +44 -8
  88. package/lib/tools/shared/point/index.js +5 -2
  89. package/lib/tools/shared/styles.js +17 -8
  90. package/lib/tools/shared/types.js +1 -1
  91. package/lib/tools/sine/__tests__/component.test.js +81 -0
  92. package/lib/tools/sine/component.js +14 -5
  93. package/lib/tools/sine/index.js +1 -1
  94. package/lib/tools/vector/__tests__/component.test.js +45 -0
  95. package/lib/tools/vector/component.js +3 -2
  96. package/lib/tools/vector/index.js +1 -1
  97. package/lib/undo-redo.js +1 -2
  98. package/lib/use-debounce.js +1 -1
  99. package/lib/utils.js +2 -2
  100. package/package.json +7 -7
  101. package/src/__tests__/__snapshots__/graph-with-controls.test.jsx.snap +237 -0
  102. package/src/__tests__/__snapshots__/graph.test.jsx.snap +211 -0
  103. package/src/__tests__/__snapshots__/grid.test.jsx.snap +54 -0
  104. package/src/__tests__/__snapshots__/labels.test.jsx.snap +30 -0
  105. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +45 -0
  106. package/src/__tests__/__snapshots__/toggle-bar.test.jsx.snap +7 -0
  107. package/src/__tests__/__snapshots__/tool-menu.test.jsx.snap +13 -0
  108. package/src/__tests__/__snapshots__/undo-redo.test.jsx.snap +14 -0
  109. package/src/__tests__/graph-with-controls.test.jsx +147 -0
  110. package/src/__tests__/graph.test.jsx +230 -0
  111. package/src/__tests__/grid.test.jsx +20 -0
  112. package/src/__tests__/labels.test.jsx +38 -0
  113. package/src/__tests__/mark-label.test.jsx +68 -0
  114. package/src/__tests__/toggle-bar.test.jsx +36 -0
  115. package/src/__tests__/tool-menu.test.jsx +29 -0
  116. package/src/__tests__/undo-redo.test.jsx +25 -0
  117. package/src/__tests__/use-debounce.test.js +21 -0
  118. package/src/__tests__/utils.js +38 -0
  119. package/src/__tests__/utils.test.js +151 -0
  120. package/src/axis/__tests__/__snapshots__/arrow.test.jsx.snap +33 -0
  121. package/src/axis/__tests__/__snapshots__/axes.test.jsx.snap +122 -0
  122. package/src/axis/__tests__/arrow.test.jsx +39 -0
  123. package/src/axis/__tests__/axes.test.jsx +220 -0
  124. package/src/axis/axes.jsx +5 -5
  125. package/src/container/index.jsx +2 -4
  126. package/src/coordinates-label.jsx +4 -3
  127. package/src/graph-with-controls.jsx +8 -10
  128. package/src/graph.jsx +22 -10
  129. package/src/grid-setup.jsx +9 -6
  130. package/src/grid.jsx +8 -10
  131. package/src/index.js +2 -2
  132. package/src/key-legend.jsx +115 -0
  133. package/src/label-svg-icon.jsx +39 -0
  134. package/src/labels.jsx +2 -1
  135. package/src/mark-label.jsx +149 -52
  136. package/src/toggle-bar.jsx +1 -2
  137. package/src/tool-menu.jsx +3 -26
  138. package/src/tools/absolute/__tests__/component.test.jsx +54 -0
  139. package/src/tools/absolute/component.jsx +23 -0
  140. package/src/tools/absolute/index.js +31 -0
  141. package/src/tools/circle/__tests__/__snapshots__/bg-circle.test.jsx.snap +46 -0
  142. package/src/tools/circle/__tests__/__snapshots__/component.test.jsx.snap +293 -0
  143. package/src/tools/circle/__tests__/bg-circle.test.jsx +28 -0
  144. package/src/tools/circle/__tests__/component.test.jsx +228 -0
  145. package/src/tools/circle/bg-circle.jsx +5 -4
  146. package/src/tools/circle/component.jsx +22 -8
  147. package/src/tools/exponential/__tests__/component.test.jsx +54 -0
  148. package/src/tools/exponential/component.jsx +23 -0
  149. package/src/tools/exponential/index.js +39 -0
  150. package/src/tools/index.js +38 -5
  151. package/src/tools/line/__tests__/__snapshots__/component.test.jsx.snap +20 -0
  152. package/src/tools/line/__tests__/component.test.jsx +36 -0
  153. package/src/tools/line/component.jsx +2 -1
  154. package/src/tools/parabola/__tests__/component.test.jsx +49 -0
  155. package/src/tools/parabola/component.jsx +7 -6
  156. package/src/tools/point/__tests__/__snapshots__/component.test.jsx.snap +40 -0
  157. package/src/tools/point/__tests__/component.test.jsx +66 -0
  158. package/src/tools/point/component.jsx +12 -6
  159. package/src/tools/polygon/__tests__/__snapshots__/component.test.jsx.snap +415 -0
  160. package/src/tools/polygon/__tests__/__snapshots__/line.test.jsx.snap +45 -0
  161. package/src/tools/polygon/__tests__/__snapshots__/polygon.test.jsx.snap +52 -0
  162. package/src/tools/polygon/__tests__/component.test.jsx +226 -0
  163. package/src/tools/polygon/__tests__/index.test.js +65 -0
  164. package/src/tools/polygon/__tests__/line.test.jsx +25 -0
  165. package/src/tools/polygon/__tests__/polygon.test.jsx +44 -0
  166. package/src/tools/polygon/component.jsx +39 -11
  167. package/src/tools/polygon/line.jsx +15 -7
  168. package/src/tools/polygon/polygon.jsx +7 -3
  169. package/src/tools/ray/__tests__/__snapshots__/component.test.jsx.snap +23 -0
  170. package/src/tools/ray/__tests__/component.test.jsx +29 -0
  171. package/src/tools/ray/component.jsx +2 -1
  172. package/src/tools/segment/__tests__/__snapshots__/component.test.jsx.snap +14 -0
  173. package/src/tools/segment/__tests__/component.test.jsx +28 -0
  174. package/src/tools/segment/component.jsx +2 -1
  175. package/src/tools/shared/__tests__/__snapshots__/arrow-head.test.jsx.snap +27 -0
  176. package/src/tools/shared/__tests__/arrow-head.test.jsx +34 -0
  177. package/src/tools/shared/icons/CorrectSVG.jsx +22 -0
  178. package/src/tools/shared/icons/IncorrectSVG.jsx +20 -0
  179. package/src/tools/shared/icons/MissingSVG.jsx +21 -0
  180. package/src/tools/shared/line/__tests__/__snapshots__/index.test.jsx.snap +360 -0
  181. package/src/tools/shared/line/__tests__/__snapshots__/line-path.test.jsx.snap +58 -0
  182. package/src/tools/shared/line/__tests__/__snapshots__/with-root-edge.test.jsx.snap +63 -0
  183. package/src/tools/shared/line/__tests__/index.test.jsx +255 -0
  184. package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
  185. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
  186. package/src/tools/shared/line/index.jsx +39 -13
  187. package/src/tools/shared/line/line-path.jsx +18 -7
  188. package/src/tools/shared/line/with-root-edge.jsx +10 -3
  189. package/src/tools/shared/point/__tests__/__snapshots__/arrow-point.test.jsx.snap +56 -0
  190. package/src/tools/shared/point/__tests__/__snapshots__/base-point.test.jsx.snap +44 -0
  191. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +87 -0
  192. package/src/tools/shared/point/__tests__/base-point.test.jsx +84 -0
  193. package/src/tools/shared/point/arrow-point.jsx +4 -1
  194. package/src/tools/shared/point/arrow.jsx +4 -1
  195. package/src/tools/shared/point/base-point.jsx +28 -3
  196. package/src/tools/shared/point/index.jsx +7 -2
  197. package/src/tools/shared/styles.js +8 -3
  198. package/src/tools/sine/__tests__/component.test.jsx +51 -0
  199. package/src/tools/sine/component.jsx +7 -7
  200. package/src/tools/vector/__tests__/__snapshots__/component.test.jsx.snap +12 -0
  201. package/src/tools/vector/__tests__/component.test.jsx +26 -0
  202. package/src/tools/vector/component.jsx +2 -1
  203. package/src/undo-redo.jsx +0 -1
  204. package/src/utils.js +1 -1
  205. package/legacy.png +0 -0
  206. package/lib/axis/arrow.js.map +0 -1
  207. package/lib/axis/axes.js.map +0 -1
  208. package/lib/axis/index.js.map +0 -1
  209. package/lib/bg.js.map +0 -1
  210. package/lib/container/actions.js.map +0 -1
  211. package/lib/container/index.js.map +0 -1
  212. package/lib/container/marks.js.map +0 -1
  213. package/lib/container/middleware.js.map +0 -1
  214. package/lib/container/reducer.js.map +0 -1
  215. package/lib/coordinates-label.js.map +0 -1
  216. package/lib/graph-with-controls.js.map +0 -1
  217. package/lib/graph.js.map +0 -1
  218. package/lib/grid-setup.js.map +0 -1
  219. package/lib/grid.js.map +0 -1
  220. package/lib/index.js.map +0 -1
  221. package/lib/labels.js.map +0 -1
  222. package/lib/mark-label.js.map +0 -1
  223. package/lib/toggle-bar.js.map +0 -1
  224. package/lib/tool-menu.js.map +0 -1
  225. package/lib/tools/circle/bg-circle.js.map +0 -1
  226. package/lib/tools/circle/component.js.map +0 -1
  227. package/lib/tools/circle/index.js.map +0 -1
  228. package/lib/tools/index.js.map +0 -1
  229. package/lib/tools/line/component.js.map +0 -1
  230. package/lib/tools/line/index.js.map +0 -1
  231. package/lib/tools/parabola/component.js.map +0 -1
  232. package/lib/tools/parabola/index.js.map +0 -1
  233. package/lib/tools/point/component.js.map +0 -1
  234. package/lib/tools/point/index.js.map +0 -1
  235. package/lib/tools/polygon/component.js.map +0 -1
  236. package/lib/tools/polygon/index.js.map +0 -1
  237. package/lib/tools/polygon/line.js.map +0 -1
  238. package/lib/tools/polygon/polygon.js.map +0 -1
  239. package/lib/tools/ray/component.js.map +0 -1
  240. package/lib/tools/ray/index.js.map +0 -1
  241. package/lib/tools/segment/component.js.map +0 -1
  242. package/lib/tools/segment/index.js.map +0 -1
  243. package/lib/tools/shared/arrow-head.js.map +0 -1
  244. package/lib/tools/shared/line/index.js.map +0 -1
  245. package/lib/tools/shared/line/line-path.js.map +0 -1
  246. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  247. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  248. package/lib/tools/shared/point/arrow.js.map +0 -1
  249. package/lib/tools/shared/point/base-point.js.map +0 -1
  250. package/lib/tools/shared/point/index.js.map +0 -1
  251. package/lib/tools/shared/styles.js.map +0 -1
  252. package/lib/tools/shared/types.js.map +0 -1
  253. package/lib/tools/sine/component.js.map +0 -1
  254. package/lib/tools/sine/index.js.map +0 -1
  255. package/lib/tools/vector/component.js.map +0 -1
  256. package/lib/tools/vector/index.js.map +0 -1
  257. package/lib/undo-redo.js.map +0 -1
  258. package/lib/use-debounce.js.map +0 -1
  259. package/lib/utils.js.map +0 -1
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _withRootEdge = require("../../shared/line/with-root-edge");
8
+
9
+ var _graphingUtils = require("@pie-lib/graphing-utils");
10
+
11
+ var _plot = require("@pie-lib/plot");
12
+
13
+ var _utils = require("../../../__tests__/utils");
14
+
15
+ var xy = _plot.utils.xy;
16
+ jest.mock('@pie-lib/graphing-utils', function () {
17
+ return {
18
+ buildDataPoints: jest.fn().mockReturnValue([]),
19
+ exponentialFromTwoPoints: jest.fn(function () {
20
+ return jest.fn();
21
+ }),
22
+ getAmplitudeAndFreq: jest.fn().mockReturnValue({
23
+ freq: 4,
24
+ amplitude: 1
25
+ })
26
+ };
27
+ });
28
+ jest.mock('../../shared/line/with-root-edge', function () {
29
+ return {
30
+ withRootEdge: jest.fn(),
31
+ rootEdgeComponent: jest.fn()
32
+ };
33
+ });
34
+ describe('Exponential', function () {
35
+ var fnBody;
36
+ var graphProps;
37
+ var root;
38
+ var edge;
39
+ var result;
40
+ beforeEach(function () {
41
+ require('../component');
42
+
43
+ fnBody = _withRootEdge.withRootEdge.mock.calls[0][0];
44
+ graphProps = (0, _utils.graphProps)();
45
+ root = xy(1, 1);
46
+ edge = xy(2, 2);
47
+ result = fnBody({
48
+ graphProps: graphProps,
49
+ root: root,
50
+ edge: edge
51
+ });
52
+ });
53
+ it('fnBody is not null', function () {
54
+ expect(fnBody).toBeDefined();
55
+ });
56
+ it('calls buildDataPoints', function () {
57
+ var _graphProps = graphProps,
58
+ domain = _graphProps.domain,
59
+ range = _graphProps.range;
60
+ expect(_graphingUtils.buildDataPoints).toHaveBeenCalledWith(domain, range, root, edge, expect.anything(), true);
61
+ });
62
+ it('calls exponentialFromTwoPoints', function () {
63
+ expect(_graphingUtils.exponentialFromTwoPoints).toHaveBeenCalledWith(root, edge);
64
+ });
65
+ it('returns dataPoints', function () {
66
+ expect(result).toEqual({
67
+ root: root,
68
+ edge: edge,
69
+ dataPoints: []
70
+ });
71
+ });
72
+ });
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9leHBvbmVudGlhbC9fX3Rlc3RzX18vY29tcG9uZW50LnRlc3QuanN4Il0sIm5hbWVzIjpbInh5IiwidXRpbHMiLCJqZXN0IiwibW9jayIsImJ1aWxkRGF0YVBvaW50cyIsImZuIiwibW9ja1JldHVyblZhbHVlIiwiZXhwb25lbnRpYWxGcm9tVHdvUG9pbnRzIiwiZ2V0QW1wbGl0dWRlQW5kRnJlcSIsImZyZXEiLCJhbXBsaXR1ZGUiLCJ3aXRoUm9vdEVkZ2UiLCJyb290RWRnZUNvbXBvbmVudCIsImRlc2NyaWJlIiwiZm5Cb2R5IiwiZ3JhcGhQcm9wcyIsInJvb3QiLCJlZGdlIiwicmVzdWx0IiwiYmVmb3JlRWFjaCIsInJlcXVpcmUiLCJjYWxscyIsIml0IiwiZXhwZWN0IiwidG9CZURlZmluZWQiLCJkb21haW4iLCJyYW5nZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiYW55dGhpbmciLCJ0b0VxdWFsIiwiZGF0YVBvaW50cyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBLElBQVFBLEVBQVIsR0FBZUMsV0FBZixDQUFRRCxFQUFSO0FBRUFFLElBQUksQ0FBQ0MsSUFBTCxDQUFVLHlCQUFWLEVBQXFDO0FBQUEsU0FBTztBQUMxQ0MsSUFBQUEsZUFBZSxFQUFFRixJQUFJLENBQUNHLEVBQUwsR0FBVUMsZUFBVixDQUEwQixFQUExQixDQUR5QjtBQUUxQ0MsSUFBQUEsd0JBQXdCLEVBQUVMLElBQUksQ0FBQ0csRUFBTCxDQUFRO0FBQUEsYUFBTUgsSUFBSSxDQUFDRyxFQUFMLEVBQU47QUFBQSxLQUFSLENBRmdCO0FBRzFDRyxJQUFBQSxtQkFBbUIsRUFBRU4sSUFBSSxDQUFDRyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEI7QUFBRUcsTUFBQUEsSUFBSSxFQUFFLENBQVI7QUFBV0MsTUFBQUEsU0FBUyxFQUFFO0FBQXRCLEtBQTFCO0FBSHFCLEdBQVA7QUFBQSxDQUFyQztBQU1BUixJQUFJLENBQUNDLElBQUwsQ0FBVSxrQ0FBVixFQUE4QztBQUFBLFNBQU87QUFDbkRRLElBQUFBLFlBQVksRUFBRVQsSUFBSSxDQUFDRyxFQUFMLEVBRHFDO0FBRW5ETyxJQUFBQSxpQkFBaUIsRUFBRVYsSUFBSSxDQUFDRyxFQUFMO0FBRmdDLEdBQVA7QUFBQSxDQUE5QztBQUtBUSxRQUFRLENBQUMsYUFBRCxFQUFnQixZQUFNO0FBQzVCLE1BQUlDLE1BQUo7QUFDQSxNQUFJQyxVQUFKO0FBQ0EsTUFBSUMsSUFBSjtBQUNBLE1BQUlDLElBQUo7QUFDQSxNQUFJQyxNQUFKO0FBRUFDLEVBQUFBLFVBQVUsQ0FBQyxZQUFNO0FBQ2ZDLElBQUFBLE9BQU8sQ0FBQyxjQUFELENBQVA7O0FBQ0FOLElBQUFBLE1BQU0sR0FBR0gsMkJBQWFSLElBQWIsQ0FBa0JrQixLQUFsQixDQUF3QixDQUF4QixFQUEyQixDQUEzQixDQUFUO0FBQ0FOLElBQUFBLFVBQVUsR0FBRyx3QkFBYjtBQUNBQyxJQUFBQSxJQUFJLEdBQUdoQixFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBVDtBQUNBaUIsSUFBQUEsSUFBSSxHQUFHakIsRUFBRSxDQUFDLENBQUQsRUFBSSxDQUFKLENBQVQ7QUFFQWtCLElBQUFBLE1BQU0sR0FBR0osTUFBTSxDQUFDO0FBQUVDLE1BQUFBLFVBQVUsRUFBVkEsVUFBRjtBQUFjQyxNQUFBQSxJQUFJLEVBQUpBLElBQWQ7QUFBb0JDLE1BQUFBLElBQUksRUFBSkE7QUFBcEIsS0FBRCxDQUFmO0FBQ0QsR0FSUyxDQUFWO0FBVUFLLEVBQUFBLEVBQUUsQ0FBQyxvQkFBRCxFQUF1QixZQUFNO0FBQzdCQyxJQUFBQSxNQUFNLENBQUNULE1BQUQsQ0FBTixDQUFlVSxXQUFmO0FBQ0QsR0FGQyxDQUFGO0FBSUFGLEVBQUFBLEVBQUUsQ0FBQyx1QkFBRCxFQUEwQixZQUFNO0FBQ2hDLHNCQUEwQlAsVUFBMUI7QUFBQSxRQUFRVSxNQUFSLGVBQVFBLE1BQVI7QUFBQSxRQUFnQkMsS0FBaEIsZUFBZ0JBLEtBQWhCO0FBQ0FILElBQUFBLE1BQU0sQ0FBQ25CLDhCQUFELENBQU4sQ0FBd0J1QixvQkFBeEIsQ0FBNkNGLE1BQTdDLEVBQXFEQyxLQUFyRCxFQUE0RFYsSUFBNUQsRUFBa0VDLElBQWxFLEVBQXdFTSxNQUFNLENBQUNLLFFBQVAsRUFBeEUsRUFBMkYsSUFBM0Y7QUFDRCxHQUhDLENBQUY7QUFLQU4sRUFBQUEsRUFBRSxDQUFDLGdDQUFELEVBQW1DLFlBQU07QUFDekNDLElBQUFBLE1BQU0sQ0FBQ2hCLHVDQUFELENBQU4sQ0FBaUNvQixvQkFBakMsQ0FBc0RYLElBQXRELEVBQTREQyxJQUE1RDtBQUNELEdBRkMsQ0FBRjtBQUlBSyxFQUFBQSxFQUFFLENBQUMsb0JBQUQsRUFBdUIsWUFBTTtBQUM3QkMsSUFBQUEsTUFBTSxDQUFDTCxNQUFELENBQU4sQ0FBZVcsT0FBZixDQUF1QjtBQUFFYixNQUFBQSxJQUFJLEVBQUpBLElBQUY7QUFBUUMsTUFBQUEsSUFBSSxFQUFKQSxJQUFSO0FBQWNhLE1BQUFBLFVBQVUsRUFBRTtBQUExQixLQUF2QjtBQUNELEdBRkMsQ0FBRjtBQUdELENBakNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgd2l0aFJvb3RFZGdlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpbmUvd2l0aC1yb290LWVkZ2UnO1xuaW1wb3J0IHsgYnVpbGREYXRhUG9pbnRzLCBleHBvbmVudGlhbEZyb21Ud29Qb2ludHMgfSBmcm9tICdAcGllLWxpYi9ncmFwaGluZy11dGlscyc7XG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJ0BwaWUtbGliL3Bsb3QnO1xuXG5pbXBvcnQgeyBncmFwaFByb3BzIGFzIGdldEdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuXG5jb25zdCB7IHh5IH0gPSB1dGlscztcblxuamVzdC5tb2NrKCdAcGllLWxpYi9ncmFwaGluZy11dGlscycsICgpID0+ICh7XG4gIGJ1aWxkRGF0YVBvaW50czogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbXSksXG4gIGV4cG9uZW50aWFsRnJvbVR3b1BvaW50czogamVzdC5mbigoKSA9PiBqZXN0LmZuKCkpLFxuICBnZXRBbXBsaXR1ZGVBbmRGcmVxOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgZnJlcTogNCwgYW1wbGl0dWRlOiAxIH0pLFxufSkpO1xuXG5qZXN0Lm1vY2soJy4uLy4uL3NoYXJlZC9saW5lL3dpdGgtcm9vdC1lZGdlJywgKCkgPT4gKHtcbiAgd2l0aFJvb3RFZGdlOiBqZXN0LmZuKCksXG4gIHJvb3RFZGdlQ29tcG9uZW50OiBqZXN0LmZuKCksXG59KSk7XG5cbmRlc2NyaWJlKCdFeHBvbmVudGlhbCcsICgpID0+IHtcbiAgbGV0IGZuQm9keTtcbiAgbGV0IGdyYXBoUHJvcHM7XG4gIGxldCByb290O1xuICBsZXQgZWRnZTtcbiAgbGV0IHJlc3VsdDtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICByZXF1aXJlKCcuLi9jb21wb25lbnQnKTtcbiAgICBmbkJvZHkgPSB3aXRoUm9vdEVkZ2UubW9jay5jYWxsc1swXVswXTtcbiAgICBncmFwaFByb3BzID0gZ2V0R3JhcGhQcm9wcygpO1xuICAgIHJvb3QgPSB4eSgxLCAxKTtcbiAgICBlZGdlID0geHkoMiwgMik7XG5cbiAgICByZXN1bHQgPSBmbkJvZHkoeyBncmFwaFByb3BzLCByb290LCBlZGdlIH0pO1xuICB9KTtcblxuICBpdCgnZm5Cb2R5IGlzIG5vdCBudWxsJywgKCkgPT4ge1xuICAgIGV4cGVjdChmbkJvZHkpLnRvQmVEZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBidWlsZERhdGFQb2ludHMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBkb21haW4sIHJhbmdlIH0gPSBncmFwaFByb3BzO1xuICAgIGV4cGVjdChidWlsZERhdGFQb2ludHMpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRvbWFpbiwgcmFuZ2UsIHJvb3QsIGVkZ2UsIGV4cGVjdC5hbnl0aGluZygpLCB0cnVlKTtcbiAgfSk7XG5cbiAgaXQoJ2NhbGxzIGV4cG9uZW50aWFsRnJvbVR3b1BvaW50cycsICgpID0+IHtcbiAgICBleHBlY3QoZXhwb25lbnRpYWxGcm9tVHdvUG9pbnRzKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChyb290LCBlZGdlKTtcbiAgfSk7XG5cbiAgaXQoJ3JldHVybnMgZGF0YVBvaW50cycsICgpID0+IHtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsgcm9vdCwgZWRnZSwgZGF0YVBvaW50czogW10gfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _debug = _interopRequireDefault(require("debug"));
11
+
12
+ var _graphingUtils = require("@pie-lib/graphing-utils");
13
+
14
+ var _withRootEdge = require("../shared/line/with-root-edge");
15
+
16
+ var log = (0, _debug["default"])('pie-lib:graphing:exponential');
17
+ var Exponential = (0, _withRootEdge.withRootEdge)(function (props) {
18
+ var root = props.root,
19
+ edge = props.edge,
20
+ graphProps = props.graphProps;
21
+ var domain = graphProps.domain,
22
+ range = graphProps.range;
23
+ var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain, range, root, edge, (0, _graphingUtils.exponentialFromTwoPoints)(root, edge), true);
24
+ log('dataPoints:', dataPoints);
25
+ return {
26
+ root: props.root,
27
+ edge: props.edge,
28
+ dataPoints: dataPoints
29
+ };
30
+ });
31
+ var Component = (0, _withRootEdge.rootEdgeComponent)(Exponential);
32
+ var _default = Component;
33
+ exports["default"] = _default;
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9leHBvbmVudGlhbC9jb21wb25lbnQuanN4Il0sIm5hbWVzIjpbImxvZyIsIkV4cG9uZW50aWFsIiwicHJvcHMiLCJyb290IiwiZWRnZSIsImdyYXBoUHJvcHMiLCJkb21haW4iLCJyYW5nZSIsImRhdGFQb2ludHMiLCJ4IiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sOEJBQU4sQ0FBWjtBQUVBLElBQU1DLFdBQVcsR0FBRyxnQ0FBYSxVQUFDQyxLQUFELEVBQVc7QUFDMUMsTUFBUUMsSUFBUixHQUFtQ0QsS0FBbkMsQ0FBUUMsSUFBUjtBQUFBLE1BQWNDLElBQWQsR0FBbUNGLEtBQW5DLENBQWNFLElBQWQ7QUFBQSxNQUFvQkMsVUFBcEIsR0FBbUNILEtBQW5DLENBQW9CRyxVQUFwQjtBQUNBLE1BQVFDLE1BQVIsR0FBMEJELFVBQTFCLENBQVFDLE1BQVI7QUFBQSxNQUFnQkMsS0FBaEIsR0FBMEJGLFVBQTFCLENBQWdCRSxLQUFoQjtBQUVBLE1BQU1DLFVBQVUsR0FDZEosSUFBSSxJQUFJQSxJQUFJLENBQUNLLENBQUwsS0FBV04sSUFBSSxDQUFDTSxDQUF4QixHQUNJLEVBREosR0FFSSxvQ0FBZ0JILE1BQWhCLEVBQXdCQyxLQUF4QixFQUErQkosSUFBL0IsRUFBcUNDLElBQXJDLEVBQTJDLDZDQUF5QkQsSUFBekIsRUFBK0JDLElBQS9CLENBQTNDLEVBQWlGLElBQWpGLENBSE47QUFLQUosRUFBQUEsR0FBRyxDQUFDLGFBQUQsRUFBZ0JRLFVBQWhCLENBQUg7QUFFQSxTQUFPO0FBQUVMLElBQUFBLElBQUksRUFBRUQsS0FBSyxDQUFDQyxJQUFkO0FBQW9CQyxJQUFBQSxJQUFJLEVBQUVGLEtBQUssQ0FBQ0UsSUFBaEM7QUFBc0NJLElBQUFBLFVBQVUsRUFBVkE7QUFBdEMsR0FBUDtBQUNELENBWm1CLENBQXBCO0FBY0EsSUFBTUUsU0FBUyxHQUFHLHFDQUFrQlQsV0FBbEIsQ0FBbEI7ZUFFZVMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBidWlsZERhdGFQb2ludHMsIGV4cG9uZW50aWFsRnJvbVR3b1BvaW50cyB9IGZyb20gJ0BwaWUtbGliL2dyYXBoaW5nLXV0aWxzJztcbmltcG9ydCB7IHdpdGhSb290RWRnZSwgcm9vdEVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZSc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOmdyYXBoaW5nOmV4cG9uZW50aWFsJyk7XG5cbmNvbnN0IEV4cG9uZW50aWFsID0gd2l0aFJvb3RFZGdlKChwcm9wcykgPT4ge1xuICBjb25zdCB7IHJvb3QsIGVkZ2UsIGdyYXBoUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGRvbWFpbiwgcmFuZ2UgfSA9IGdyYXBoUHJvcHM7XG5cbiAgY29uc3QgZGF0YVBvaW50cyA9XG4gICAgZWRnZSAmJiBlZGdlLnggPT09IHJvb3QueFxuICAgICAgPyBbXVxuICAgICAgOiBidWlsZERhdGFQb2ludHMoZG9tYWluLCByYW5nZSwgcm9vdCwgZWRnZSwgZXhwb25lbnRpYWxGcm9tVHdvUG9pbnRzKHJvb3QsIGVkZ2UpLCB0cnVlKTtcblxuICBsb2coJ2RhdGFQb2ludHM6JywgZGF0YVBvaW50cyk7XG5cbiAgcmV0dXJuIHsgcm9vdDogcHJvcHMucm9vdCwgZWRnZTogcHJvcHMuZWRnZSwgZGF0YVBvaW50cyB9O1xufSk7XG5cbmNvbnN0IENvbXBvbmVudCA9IHJvb3RFZGdlQ29tcG9uZW50KEV4cG9uZW50aWFsKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50O1xuIl19
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.tool = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _component = _interopRequireDefault(require("./component"));
13
+
14
+ var _debug = _interopRequireDefault(require("debug"));
15
+
16
+ var _utils = require("../../utils");
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ var log = (0, _debug["default"])('pie-lib:graphing:exponential');
23
+
24
+ var tool = function tool() {
25
+ return {
26
+ type: 'exponential',
27
+ Component: _component["default"],
28
+ complete: function complete(data, mark) {
29
+ return _objectSpread(_objectSpread({}, mark), {}, {
30
+ building: false,
31
+ closed: true
32
+ });
33
+ },
34
+ addPoint: function addPoint(point, mark) {
35
+ log('add point to exponential model: ', point, 'mark: ', mark);
36
+
37
+ if (mark && ((0, _utils.equalPoints)(mark.root, point) || (0, _utils.sameAxes)(mark.root, point))) {
38
+ return mark;
39
+ }
40
+
41
+ if (mark && mark.root.y * point.y < 0) {
42
+ return mark;
43
+ }
44
+
45
+ if (point.y === 0) {
46
+ return mark;
47
+ }
48
+
49
+ if (!mark) {
50
+ return {
51
+ type: 'exponential',
52
+ root: point,
53
+ edge: undefined,
54
+ closed: false,
55
+ building: true
56
+ };
57
+ } else if (mark && !mark.root) {
58
+ throw new Error('no root - should never happen');
59
+ } else {
60
+ return _objectSpread(_objectSpread({}, mark), {}, {
61
+ edge: point,
62
+ closed: true,
63
+ building: false
64
+ });
65
+ }
66
+ }
67
+ };
68
+ };
69
+
70
+ exports.tool = tool;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9leHBvbmVudGlhbC9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJ0b29sIiwidHlwZSIsIkNvbXBvbmVudCIsIkV4cG9uZW50aWFsIiwiY29tcGxldGUiLCJkYXRhIiwibWFyayIsImJ1aWxkaW5nIiwiY2xvc2VkIiwiYWRkUG9pbnQiLCJwb2ludCIsInJvb3QiLCJ5IiwiZWRnZSIsInVuZGVmaW5lZCIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sOEJBQU4sQ0FBWjs7QUFFTyxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTztBQUFBLFNBQU87QUFDekJDLElBQUFBLElBQUksRUFBRSxhQURtQjtBQUV6QkMsSUFBQUEsU0FBUyxFQUFFQyxxQkFGYztBQUd6QkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxJQUFELEVBQU9DLElBQVA7QUFBQSw2Q0FBc0JBLElBQXRCO0FBQTRCQyxRQUFBQSxRQUFRLEVBQUUsS0FBdEM7QUFBNkNDLFFBQUFBLE1BQU0sRUFBRTtBQUFyRDtBQUFBLEtBSGU7QUFJekJDLElBQUFBLFFBQVEsRUFBRSxrQkFBQ0MsS0FBRCxFQUFRSixJQUFSLEVBQWlCO0FBQ3pCUCxNQUFBQSxHQUFHLENBQUMsa0NBQUQsRUFBcUNXLEtBQXJDLEVBQTRDLFFBQTVDLEVBQXNESixJQUF0RCxDQUFIOztBQUNBLFVBQUlBLElBQUksS0FBSyx3QkFBWUEsSUFBSSxDQUFDSyxJQUFqQixFQUF1QkQsS0FBdkIsS0FBaUMscUJBQVNKLElBQUksQ0FBQ0ssSUFBZCxFQUFvQkQsS0FBcEIsQ0FBdEMsQ0FBUixFQUEyRTtBQUN6RSxlQUFPSixJQUFQO0FBQ0Q7O0FBRUQsVUFBSUEsSUFBSSxJQUFJQSxJQUFJLENBQUNLLElBQUwsQ0FBVUMsQ0FBVixHQUFjRixLQUFLLENBQUNFLENBQXBCLEdBQXdCLENBQXBDLEVBQXVDO0FBQ3JDLGVBQU9OLElBQVA7QUFDRDs7QUFFRCxVQUFJSSxLQUFLLENBQUNFLENBQU4sS0FBWSxDQUFoQixFQUFtQjtBQUNqQixlQUFPTixJQUFQO0FBQ0Q7O0FBRUQsVUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVCxlQUFPO0FBQ0xMLFVBQUFBLElBQUksRUFBRSxhQUREO0FBRUxVLFVBQUFBLElBQUksRUFBRUQsS0FGRDtBQUdMRyxVQUFBQSxJQUFJLEVBQUVDLFNBSEQ7QUFJTE4sVUFBQUEsTUFBTSxFQUFFLEtBSkg7QUFLTEQsVUFBQUEsUUFBUSxFQUFFO0FBTEwsU0FBUDtBQU9ELE9BUkQsTUFRTyxJQUFJRCxJQUFJLElBQUksQ0FBQ0EsSUFBSSxDQUFDSyxJQUFsQixFQUF3QjtBQUM3QixjQUFNLElBQUlJLEtBQUosQ0FBVSwrQkFBVixDQUFOO0FBQ0QsT0FGTSxNQUVBO0FBQ0wsK0NBQVlULElBQVo7QUFBa0JPLFVBQUFBLElBQUksRUFBRUgsS0FBeEI7QUFBK0JGLFVBQUFBLE1BQU0sRUFBRSxJQUF2QztBQUE2Q0QsVUFBQUEsUUFBUSxFQUFFO0FBQXZEO0FBQ0Q7QUFDRjtBQS9Cd0IsR0FBUDtBQUFBLENBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXhwb25lbnRpYWwgZnJvbSAnLi9jb21wb25lbnQnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IGVxdWFsUG9pbnRzLCBzYW1lQXhlcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6Z3JhcGhpbmc6ZXhwb25lbnRpYWwnKTtcblxuZXhwb3J0IGNvbnN0IHRvb2wgPSAoKSA9PiAoe1xuICB0eXBlOiAnZXhwb25lbnRpYWwnLFxuICBDb21wb25lbnQ6IEV4cG9uZW50aWFsLFxuICBjb21wbGV0ZTogKGRhdGEsIG1hcmspID0+ICh7IC4uLm1hcmssIGJ1aWxkaW5nOiBmYWxzZSwgY2xvc2VkOiB0cnVlIH0pLFxuICBhZGRQb2ludDogKHBvaW50LCBtYXJrKSA9PiB7XG4gICAgbG9nKCdhZGQgcG9pbnQgdG8gZXhwb25lbnRpYWwgbW9kZWw6ICcsIHBvaW50LCAnbWFyazogJywgbWFyayk7XG4gICAgaWYgKG1hcmsgJiYgKGVxdWFsUG9pbnRzKG1hcmsucm9vdCwgcG9pbnQpIHx8IHNhbWVBeGVzKG1hcmsucm9vdCwgcG9pbnQpKSkge1xuICAgICAgcmV0dXJuIG1hcms7XG4gICAgfVxuXG4gICAgaWYgKG1hcmsgJiYgbWFyay5yb290LnkgKiBwb2ludC55IDwgMCkge1xuICAgICAgcmV0dXJuIG1hcms7XG4gICAgfVxuXG4gICAgaWYgKHBvaW50LnkgPT09IDApIHtcbiAgICAgIHJldHVybiBtYXJrO1xuICAgIH1cblxuICAgIGlmICghbWFyaykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2V4cG9uZW50aWFsJyxcbiAgICAgICAgcm9vdDogcG9pbnQsXG4gICAgICAgIGVkZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgY2xvc2VkOiBmYWxzZSxcbiAgICAgICAgYnVpbGRpbmc6IHRydWUsXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAobWFyayAmJiAhbWFyay5yb290KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIHJvb3QgLSBzaG91bGQgbmV2ZXIgaGFwcGVuJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLm1hcmssIGVkZ2U6IHBvaW50LCBjbG9zZWQ6IHRydWUsIGJ1aWxkaW5nOiBmYWxzZSB9O1xuICAgIH1cbiAgfSxcbn0pO1xuIl19
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "absolute", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _absolute.tool;
10
+ }
11
+ });
6
12
  exports.allTools = void 0;
7
13
  Object.defineProperty(exports, "circle", {
8
14
  enumerable: true,
@@ -10,6 +16,12 @@ Object.defineProperty(exports, "circle", {
10
16
  return _circle.tool;
11
17
  }
12
18
  });
19
+ Object.defineProperty(exports, "exponential", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _exponential.tool;
23
+ }
24
+ });
13
25
  Object.defineProperty(exports, "line", {
14
26
  enumerable: true,
15
27
  get: function get() {
@@ -19,7 +31,7 @@ Object.defineProperty(exports, "line", {
19
31
  Object.defineProperty(exports, "parabola", {
20
32
  enumerable: true,
21
33
  get: function get() {
22
- return _index2.tool;
34
+ return _parabola.tool;
23
35
  }
24
36
  });
25
37
  Object.defineProperty(exports, "point", {
@@ -43,7 +55,7 @@ Object.defineProperty(exports, "ray", {
43
55
  Object.defineProperty(exports, "sine", {
44
56
  enumerable: true,
45
57
  get: function get() {
46
- return _index.tool;
58
+ return _sine.tool;
47
59
  }
48
60
  });
49
61
  exports.toolsArr = void 0;
@@ -60,9 +72,9 @@ var _circle = require("./circle");
60
72
 
61
73
  var _polygon = require("./polygon");
62
74
 
63
- var _index = require("./sine/index");
75
+ var _sine = require("./sine");
64
76
 
65
- var _index2 = require("./parabola/index");
77
+ var _parabola = require("./parabola");
66
78
 
67
79
  var _line = require("./line");
68
80
 
@@ -72,8 +84,16 @@ var _ray = require("./ray");
72
84
 
73
85
  var _vector = require("./vector");
74
86
 
75
- var allTools = ['circle', 'line', 'label', 'parabola', 'point', 'polygon', 'ray', 'segment', 'sine', 'vector'];
87
+ var _absolute = require("./absolute");
88
+
89
+ var _exponential = require("./exponential");
90
+
91
+ var allTools = ['circle', 'line', 'label', 'parabola', 'point', 'polygon', 'ray', 'segment', 'sine', 'vector', 'absolute', 'exponential']; // need this because now we should treat label as other tools PD-3736
92
+
76
93
  exports.allTools = allTools;
77
- var toolsArr = [(0, _circle.tool)(), (0, _line.tool)(), (0, _index2.tool)(), (0, _point.tool)(), (0, _polygon.tool)(), (0, _ray.tool)(), (0, _segment.tool)(), (0, _index.tool)(), (0, _vector.tool)()];
94
+ var labelTool = {
95
+ type: 'label'
96
+ };
97
+ var toolsArr = [(0, _circle.tool)(), (0, _line.tool)(), (0, _parabola.tool)(), (0, _point.tool)(), (0, _polygon.tool)(), (0, _ray.tool)(), (0, _segment.tool)(), (0, _sine.tool)(), (0, _vector.tool)(), (0, _absolute.tool)(), (0, _exponential.tool)(), labelTool];
78
98
  exports.toolsArr = toolsArr;
79
- //# sourceMappingURL=index.js.map
99
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9pbmRleC5qcyJdLCJuYW1lcyI6WyJhbGxUb29scyIsImxhYmVsVG9vbCIsInR5cGUiLCJ0b29sc0FyciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxRQUFRLEdBQUcsQ0FDZixRQURlLEVBRWYsTUFGZSxFQUdmLE9BSGUsRUFJZixVQUplLEVBS2YsT0FMZSxFQU1mLFNBTmUsRUFPZixLQVBlLEVBUWYsU0FSZSxFQVNmLE1BVGUsRUFVZixRQVZlLEVBV2YsVUFYZSxFQVlmLGFBWmUsQ0FBakIsQyxDQWVBOzs7QUFDQSxJQUFNQyxTQUFTLEdBQUc7QUFDaEJDLEVBQUFBLElBQUksRUFBRTtBQURVLENBQWxCO0FBSUEsSUFBTUMsUUFBUSxHQUFHLENBQ2YsbUJBRGUsRUFFZixpQkFGZSxFQUdmLHFCQUhlLEVBSWYsa0JBSmUsRUFLZixvQkFMZSxFQU1mLGdCQU5lLEVBT2Ysb0JBUGUsRUFRZixpQkFSZSxFQVNmLG1CQVRlLEVBVWYscUJBVmUsRUFXZix3QkFYZSxFQVlmRixTQVplLENBQWpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9vbCBhcyBwb2ludCB9IGZyb20gJy4vcG9pbnQnO1xuaW1wb3J0IHsgdG9vbCBhcyBjaXJjbGUgfSBmcm9tICcuL2NpcmNsZSc7XG5pbXBvcnQgeyB0b29sIGFzIHBvbHlnb24gfSBmcm9tICcuL3BvbHlnb24nO1xuaW1wb3J0IHsgdG9vbCBhcyBzaW5lIH0gZnJvbSAnLi9zaW5lJztcbmltcG9ydCB7IHRvb2wgYXMgcGFyYWJvbGEgfSBmcm9tICcuL3BhcmFib2xhJztcbmltcG9ydCB7IHRvb2wgYXMgbGluZSB9IGZyb20gJy4vbGluZSc7XG5pbXBvcnQgeyB0b29sIGFzIHNlZ21lbnQgfSBmcm9tICcuL3NlZ21lbnQnO1xuaW1wb3J0IHsgdG9vbCBhcyByYXkgfSBmcm9tICcuL3JheSc7XG5pbXBvcnQgeyB0b29sIGFzIHZlY3RvciB9IGZyb20gJy4vdmVjdG9yJztcbmltcG9ydCB7IHRvb2wgYXMgYWJzb2x1dGUgfSBmcm9tICcuL2Fic29sdXRlJztcbmltcG9ydCB7IHRvb2wgYXMgZXhwb25lbnRpYWwgfSBmcm9tICcuL2V4cG9uZW50aWFsJztcblxuY29uc3QgYWxsVG9vbHMgPSBbXG4gICdjaXJjbGUnLFxuICAnbGluZScsXG4gICdsYWJlbCcsXG4gICdwYXJhYm9sYScsXG4gICdwb2ludCcsXG4gICdwb2x5Z29uJyxcbiAgJ3JheScsXG4gICdzZWdtZW50JyxcbiAgJ3NpbmUnLFxuICAndmVjdG9yJyxcbiAgJ2Fic29sdXRlJyxcbiAgJ2V4cG9uZW50aWFsJyxcbl07XG5cbi8vIG5lZWQgdGhpcyBiZWNhdXNlIG5vdyB3ZSBzaG91bGQgdHJlYXQgbGFiZWwgYXMgb3RoZXIgdG9vbHMgUEQtMzczNlxuY29uc3QgbGFiZWxUb29sID0ge1xuICB0eXBlOiAnbGFiZWwnLFxufTtcblxuY29uc3QgdG9vbHNBcnIgPSBbXG4gIGNpcmNsZSgpLFxuICBsaW5lKCksXG4gIHBhcmFib2xhKCksXG4gIHBvaW50KCksXG4gIHBvbHlnb24oKSxcbiAgcmF5KCksXG4gIHNlZ21lbnQoKSxcbiAgc2luZSgpLFxuICB2ZWN0b3IoKSxcbiAgYWJzb2x1dGUoKSxcbiAgZXhwb25lbnRpYWwoKSxcbiAgbGFiZWxUb29sLFxuXTtcblxuZXhwb3J0IHsgYWxsVG9vbHMsIHRvb2xzQXJyLCBjaXJjbGUsIGxpbmUsIHBvaW50LCBwYXJhYm9sYSwgcG9seWdvbiwgcmF5LCBzaW5lLCB2ZWN0b3IsIGFic29sdXRlLCBleHBvbmVudGlhbCB9O1xuIl19
@@ -0,0 +1,56 @@
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
+ 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
+ jest.mock('@pie-lib/plot/index', function () {
20
+ var a = jest.requireActual('@pie-lib/plot/index');
21
+ return {
22
+ types: a.types,
23
+ gridDraggable: a.gridDraggable,
24
+ utils: a.utils,
25
+ trig: {
26
+ edges: jest.fn(function () {
27
+ return jest.fn().mockReturnValue([0, 0]);
28
+ })
29
+ }
30
+ };
31
+ });
32
+ describe('ArrowedLine', function () {
33
+ var w;
34
+ var onChange = jest.fn();
35
+
36
+ var wrapper = function wrapper(extras) {
37
+ var defaults = {
38
+ classes: {},
39
+ className: 'className',
40
+ onChange: onChange,
41
+ markerId: '1',
42
+ graphProps: (0, _utils.graphProps)()
43
+ };
44
+
45
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
46
+
47
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component.ArrowedLine, props));
48
+ };
49
+
50
+ describe('snapshot', function () {
51
+ it('renders', function () {
52
+ expect(wrapper()).toMatchSnapshot();
53
+ });
54
+ });
55
+ });
56
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9saW5lL19fdGVzdHNfXy9jb21wb25lbnQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJhIiwicmVxdWlyZUFjdHVhbCIsInR5cGVzIiwiZ3JpZERyYWdnYWJsZSIsInV0aWxzIiwidHJpZyIsImVkZ2VzIiwiZm4iLCJtb2NrUmV0dXJuVmFsdWUiLCJkZXNjcmliZSIsInciLCJvbkNoYW5nZSIsIndyYXBwZXIiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJtYXJrZXJJZCIsImdyYXBoUHJvcHMiLCJwcm9wcyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0FBLElBQUksQ0FBQ0MsSUFBTCxDQUFVLHFCQUFWLEVBQWlDLFlBQU07QUFDckMsTUFBTUMsQ0FBQyxHQUFHRixJQUFJLENBQUNHLGFBQUwsQ0FBbUIscUJBQW5CLENBQVY7QUFDQSxTQUFPO0FBQ0xDLElBQUFBLEtBQUssRUFBRUYsQ0FBQyxDQUFDRSxLQURKO0FBRUxDLElBQUFBLGFBQWEsRUFBRUgsQ0FBQyxDQUFDRyxhQUZaO0FBR0xDLElBQUFBLEtBQUssRUFBRUosQ0FBQyxDQUFDSSxLQUhKO0FBSUxDLElBQUFBLElBQUksRUFBRTtBQUNKQyxNQUFBQSxLQUFLLEVBQUVSLElBQUksQ0FBQ1MsRUFBTCxDQUFRO0FBQUEsZUFBTVQsSUFBSSxDQUFDUyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEIsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUExQixDQUFOO0FBQUEsT0FBUjtBQURIO0FBSkQsR0FBUDtBQVFELENBVkQ7QUFZQUMsUUFBUSxDQUFDLGFBQUQsRUFBZ0IsWUFBTTtBQUM1QixNQUFJQyxDQUFKO0FBQ0EsTUFBSUMsUUFBUSxHQUFHYixJQUFJLENBQUNTLEVBQUwsRUFBZjs7QUFDQSxNQUFNSyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsUUFBTUMsUUFBUSxHQUFHO0FBQ2ZDLE1BQUFBLE9BQU8sRUFBRSxFQURNO0FBRWZDLE1BQUFBLFNBQVMsRUFBRSxXQUZJO0FBR2ZMLE1BQUFBLFFBQVEsRUFBUkEsUUFIZTtBQUlmTSxNQUFBQSxRQUFRLEVBQUUsR0FKSztBQUtmQyxNQUFBQSxVQUFVLEVBQUU7QUFMRyxLQUFqQjs7QUFPQSxRQUFNQyxLQUFLLG1DQUFRTCxRQUFSLEdBQXFCRCxNQUFyQixDQUFYOztBQUNBLFdBQU8sbUNBQVEsZ0NBQUMsc0JBQUQsRUFBaUJNLEtBQWpCLENBQVIsQ0FBUDtBQUNELEdBVkQ7O0FBV0FWLEVBQUFBLFFBQVEsQ0FBQyxVQUFELEVBQWEsWUFBTTtBQUN6QlcsSUFBQUEsRUFBRSxDQUFDLFNBQUQsRUFBWSxZQUFNO0FBQ2xCQyxNQUFBQSxNQUFNLENBQUNULE9BQU8sRUFBUixDQUFOLENBQWtCVSxlQUFsQjtBQUNELEtBRkMsQ0FBRjtBQUdELEdBSk8sQ0FBUjtBQUtELENBbkJPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBcnJvd2VkTGluZSB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIGFzIGdldEdyYXBoUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9fX3Rlc3RzX18vdXRpbHMnO1xuamVzdC5tb2NrKCdAcGllLWxpYi9wbG90L2luZGV4JywgKCkgPT4ge1xuICBjb25zdCBhID0gamVzdC5yZXF1aXJlQWN0dWFsKCdAcGllLWxpYi9wbG90L2luZGV4Jyk7XG4gIHJldHVybiB7XG4gICAgdHlwZXM6IGEudHlwZXMsXG4gICAgZ3JpZERyYWdnYWJsZTogYS5ncmlkRHJhZ2dhYmxlLFxuICAgIHV0aWxzOiBhLnV0aWxzLFxuICAgIHRyaWc6IHtcbiAgICAgIGVkZ2VzOiBqZXN0LmZuKCgpID0+IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoWzAsIDBdKSksXG4gICAgfSxcbiAgfTtcbn0pO1xuXG5kZXNjcmliZSgnQXJyb3dlZExpbmUnLCAoKSA9PiB7XG4gIGxldCB3O1xuICBsZXQgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG1hcmtlcklkOiAnMScsXG4gICAgICBncmFwaFByb3BzOiBnZXRHcmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiBzaGFsbG93KDxBcnJvd2VkTGluZSB7Li4ucHJvcHN9IC8+KTtcbiAgfTtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -37,6 +37,7 @@ var lineStyles = function lineStyles(theme) {
37
37
  enabledArrow: _line.styles.arrow(theme),
38
38
  disabledArrow: _line.styles.disabledArrow(theme),
39
39
  disabled: _line.styles.disabled(theme),
40
+ disabledSecondary: _line.styles.disabledSecondary(theme),
40
41
  correct: _line.styles.correct(theme, 'stroke'),
41
42
  correctArrow: _line.styles.correct(theme),
42
43
  incorrect: _line.styles.incorrect(theme, 'stroke'),
@@ -77,7 +78,7 @@ var ArrowedLine = function ArrowedLine(props) {
77
78
  y1: scale.y(eFrom.y),
78
79
  x2: scale.x(eTo.x),
79
80
  y2: scale.y(eTo.y),
80
- className: (0, _classnames["default"])(classes.line, disabled && classes.disabled, classes[correctness], className),
81
+ className: (0, _classnames["default"])(classes.line, disabled && classes.disabledSecondary, classes[correctness], className),
81
82
  markerEnd: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")"),
82
83
  markerStart: "url(#".concat(props.markerId || markerId, "-").concat(suffix, ")")
83
84
  }, rest)));
@@ -99,4 +100,4 @@ var Line = (0, _line.lineBase)(StyledArrowedLine);
99
100
  var Component = (0, _line.lineToolComponent)(Line);
100
101
  var _default = Component;
101
102
  exports["default"] = _default;
102
- //# sourceMappingURL=component.js.map
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9saW5lL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibGluZVN0eWxlcyIsInRoZW1lIiwibGluZSIsInN0eWxlcyIsImVuYWJsZWRBcnJvdyIsImFycm93IiwiZGlzYWJsZWRBcnJvdyIsImRpc2FibGVkIiwiZGlzYWJsZWRTZWNvbmRhcnkiLCJjb3JyZWN0IiwiY29ycmVjdEFycm93IiwiaW5jb3JyZWN0IiwiaW5jb3JyZWN0QXJyb3ciLCJtaXNzaW5nIiwibWlzc2luZ0Fycm93IiwiQXJyb3dlZExpbmUiLCJwcm9wcyIsIm1hcmtlcklkIiwiY2xhc3NOYW1lIiwiY2xhc3NlcyIsImNvcnJlY3RuZXNzIiwiZ3JhcGhQcm9wcyIsImZyb20iLCJ0byIsInJlc3QiLCJzY2FsZSIsImRvbWFpbiIsInJhbmdlIiwidHJpZyIsImVkZ2VzIiwiZUZyb20iLCJlVG8iLCJzdWZmaXgiLCJ4IiwieSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9iamVjdCIsImJvb2wiLCJ0eXBlcyIsIkdyYXBoUHJvcHNUeXBlIiwiUG9pbnRUeXBlIiwiU3R5bGVkQXJyb3dlZExpbmUiLCJMaW5lIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1BLFVBQVUsR0FBRyxTQUFiQSxVQUFhLENBQUNDLEtBQUQ7QUFBQSxTQUFZO0FBQzdCQyxJQUFBQSxJQUFJLEVBQUVDLGFBQU9ELElBQVAsQ0FBWUQsS0FBWixDQUR1QjtBQUU3QkcsSUFBQUEsWUFBWSxFQUFFRCxhQUFPRSxLQUFQLENBQWFKLEtBQWIsQ0FGZTtBQUc3QkssSUFBQUEsYUFBYSxFQUFFSCxhQUFPRyxhQUFQLENBQXFCTCxLQUFyQixDQUhjO0FBSTdCTSxJQUFBQSxRQUFRLEVBQUVKLGFBQU9JLFFBQVAsQ0FBZ0JOLEtBQWhCLENBSm1CO0FB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QWtCQSxRQUE1QixjQUF3Q2UsTUFBeEMsTUFOWDtBQU9FLElBQUEsV0FBVyxpQkFBVWhCLEtBQUssQ0FBQ0MsUUFBTixJQUFrQkEsUUFBNUIsY0FBd0NlLE1BQXhDO0FBUGIsS0FRTVIsSUFSTixFQVJGLENBREY7QUFxQkQsQ0E3Qk07OztBQStCUFQsV0FBVyxDQUFDb0IsU0FBWixHQUF3QjtBQUN0QmpCLEVBQUFBLFNBQVMsRUFBRWtCLHNCQUFVQyxNQURDO0FBRXRCbEIsRUFBQUEsT0FBTyxFQUFFaUIsc0JBQVVFLE1BRkc7QUFHdEJsQixFQUFBQSxXQUFXLEVBQUVnQixzQkFBVUMsTUFIRDtBQUl0QjlCLEVBQUFBLFFBQVEsRUFBRTZCLHNCQUFVRyxJQUpFO0FBS3RCbEIsRUFBQUEsVUFBVSxFQUFFbUIsWUFBTUMsY0FMSTtBQU10Qm5CLEVBQUFBLElBQUksRUFBRWtCLFlBQU1FLFNBTlU7QUFPdEJuQixFQUFBQSxFQUFFLEVBQUVpQixZQUFNRSxTQVBZO0FBUXRCekIsRUFBQUEsUUFBUSxFQUFFbUIsc0JBQVVDO0FBUkUsQ0FBeEI7QUFXQSxJQUFNTSxpQkFBaUIsR0FBRyx3QkFBVzNDLFVBQVgsRUFBdUJlLFdBQXZCLENBQTFCO0FBRUEsSUFBTTZCLElBQUksR0FBRyxvQkFBU0QsaUJBQVQsQ0FBYjtBQUNBLElBQU1FLFNBQVMsR0FBRyw2QkFBa0JELElBQWxCLENBQWxCO2VBRWVDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsaW5lVG9vbENvbXBvbmVudCwgbGluZUJhc2UsIHN0eWxlcyB9IGZyb20gJy4uL3NoYXJlZC9saW5lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHJpZywgdHlwZXMgfSBmcm9tICdAcGllLWxpYi9wbG90JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBBcnJvd01hcmtlciwgZ2VuVWlkIH0gZnJvbSAnLi4vc2hhcmVkL2Fycm93LWhlYWQnO1xuaW1wb3J0IHsgdGhpbm5lclNoYXBlc05lZWRlZCwgZ2V0QWRqdXN0ZWRHcmFwaExpbWl0cyB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuY29uc3QgbGluZVN0eWxlcyA9ICh0aGVtZSkgPT4gKHtcbiAgbGluZTogc3R5bGVzLmxpbmUodGhlbWUpLFxuICBlbmFibGVkQXJyb3c6IHN0eWxlcy5hcnJvdyh0aGVtZSksXG4gIGRpc2FibGVkQXJyb3c6IHN0eWxlcy5kaXNhYmxlZEFycm93KHRoZW1lKSxcbiAgZGlzYWJsZWQ6IHN0eWxlcy5kaXNhYmxlZCh0aGVtZSksXG4gIGRpc2FibGVkU2Vjb25kYXJ5OiBzdHlsZXMuZGlzYWJsZWRTZWNvbmRhcnkodGhlbWUpLFxuICBjb3JyZWN0OiBzdHlsZXMuY29ycmVjdCh0aGVtZSwgJ3N0cm9rZScpLFxuICBjb3JyZWN0QXJyb3c6IHN0eWxlcy5jb3JyZWN0KHRoZW1lKSxcbiAgaW5jb3JyZWN0OiBzdHlsZXMuaW5jb3JyZWN0KHRoZW1lLCAnc3Ryb2tlJyksXG4gIGluY29ycmVjdEFycm93OiBzdHlsZXMuaW5jb3JyZWN0KHRoZW1lKSxcbiAgbWlzc2luZzogc3R5bGVzLm1pc3NpbmcodGhlbWUsICdzdHJva2UnKSxcbiAgbWlzc2luZ0Fycm93OiBzdHlsZXMubWlzc2luZyh0aGVtZSksXG59KTtcblxuZXhwb3J0IGNvbnN0IEFycm93ZWRMaW5lID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IG1hcmtlcklkID0gZ2VuVWlkKCk7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjbGFzc2VzLCBjb3JyZWN0bmVzcywgZGlzYWJsZWQsIGdyYXBoUHJvcHMsIGZyb20sIHRvLCAuLi5yZXN0IH0gPSBwcm9wcztcbiAgY29uc3QgeyBzY2FsZSB9ID0gZ3JhcGhQcm9wcztcbiAgY29uc3QgeyBkb21haW4sIHJhbmdlIH0gPSBnZXRBZGp1c3RlZEdyYXBoTGltaXRzKGdyYXBoUHJvcHMpO1xuICBjb25zdCBbZUZyb20sIGVUb10gPSB0cmlnLmVkZ2VzKGRvbWFpbiwgcmFuZ2UpKGZyb20sIHRvKTtcbiAgY29uc3Qgc3VmZml4ID0gY29ycmVjdG5lc3MgfHwgKGRpc2FibGVkICYmICdkaXNhYmxlZCcpIHx8ICdlbmFibGVkJztcblxuICByZXR1cm4gKFxuICAgIDxnPlxuICAgICAgPGRlZnM+XG4gICAgICAgIDxBcnJvd01hcmtlclxuICAgICAgICAgIHNpemU9e3RoaW5uZXJTaGFwZXNOZWVkZWQoZ3JhcGhQcm9wcykgPyA0IDogNX1cbiAgICAgICAgICBpZD17YCR7cHJvcHMubWFya2VySWQgfHwgbWFya2VySWR9LSR7c3VmZml4fWB9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXNbYCR7c3VmZml4fUFycm93YF0pfVxuICAgICAgICAvPlxuICAgICAgPC9kZWZzPlxuICAgICAgPGxpbmVcbiAgICAgICAgeDE9e3NjYWxlLngoZUZyb20ueCl9XG4gICAgICAgIHkxPXtzY2FsZS55KGVGcm9tLnkpfVxuICAgICAgICB4Mj17c2NhbGUueChlVG8ueCl9XG4gICAgICAgIHkyPXtzY2FsZS55KGVUby55KX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMubGluZSwgZGlzYWJsZWQgJiYgY2xhc3Nlcy5kaXNhYmxlZFNlY29uZGFyeSwgY2xhc3Nlc1tjb3JyZWN0bmVzc10sIGNsYXNzTmFtZSl9XG4gICAgICAgIG1hcmtlckVuZD17YHVybCgjJHtwcm9wcy5tYXJrZXJJZCB8fCBtYXJrZXJJZH0tJHtzdWZmaXh9KWB9XG4gICAgICAgIG1hcmtlclN0YXJ0PXtgdXJsKCMke3Byb3BzLm1hcmtlcklkIHx8IG1hcmtlcklkfS0ke3N1ZmZpeH0pYH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvZz5cbiAgKTtcbn07XG5cbkFycm93ZWRMaW5lLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBjb3JyZWN0bmVzczogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBncmFwaFByb3BzOiB0eXBlcy5HcmFwaFByb3BzVHlwZSxcbiAgZnJvbTogdHlwZXMuUG9pbnRUeXBlLFxuICB0bzogdHlwZXMuUG9pbnRUeXBlLFxuICBtYXJrZXJJZDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmNvbnN0IFN0eWxlZEFycm93ZWRMaW5lID0gd2l0aFN0eWxlcyhsaW5lU3R5bGVzKShBcnJvd2VkTGluZSk7XG5cbmNvbnN0IExpbmUgPSBsaW5lQmFzZShTdHlsZWRBcnJvd2VkTGluZSk7XG5jb25zdCBDb21wb25lbnQgPSBsaW5lVG9vbENvbXBvbmVudChMaW5lKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50O1xuIl19
@@ -13,4 +13,4 @@ var _line = require("../shared/line");
13
13
 
14
14
  var tool = (0, _line.lineTool)('line', _component["default"]);
15
15
  exports.tool = tool;
16
- //# sourceMappingURL=index.js.map
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9saW5lL2luZGV4LmpzIl0sIm5hbWVzIjpbInRvb2wiLCJMaW5lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFTyxJQUFNQSxJQUFJLEdBQUcsb0JBQVMsTUFBVCxFQUFpQkMscUJBQWpCLENBQWIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGluZSBmcm9tICcuL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBsaW5lVG9vbCB9IGZyb20gJy4uL3NoYXJlZC9saW5lJztcblxuZXhwb3J0IGNvbnN0IHRvb2wgPSBsaW5lVG9vbCgnbGluZScsIExpbmUpO1xuIl19
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _withRootEdge = require("../../shared/line/with-root-edge");
8
+
9
+ var _graphingUtils = require("@pie-lib/graphing-utils");
10
+
11
+ var _plot = require("@pie-lib/plot");
12
+
13
+ var _utils = require("../../../__tests__/utils");
14
+
15
+ var xy = _plot.utils.xy;
16
+ jest.mock('@pie-lib/graphing-utils', function () {
17
+ return {
18
+ buildDataPoints: jest.fn().mockReturnValue([]),
19
+ parabolaFromTwoPoints: jest.fn(function () {
20
+ return jest.fn();
21
+ }),
22
+ getAmplitudeAndFreq: jest.fn().mockReturnValue({
23
+ freq: 4,
24
+ amplitude: 1
25
+ })
26
+ };
27
+ });
28
+ jest.mock('../../shared/line/with-root-edge', function () {
29
+ return {
30
+ withRootEdge: jest.fn(),
31
+ rootEdgeComponent: jest.fn()
32
+ };
33
+ });
34
+ describe('Parabola', function () {
35
+ var fnBody;
36
+ var graphProps;
37
+ var root;
38
+ var edge;
39
+ var result;
40
+ beforeEach(function () {
41
+ require('../component');
42
+
43
+ fnBody = _withRootEdge.withRootEdge.mock.calls[0][0];
44
+ graphProps = (0, _utils.graphProps)();
45
+ root = xy(0, 0);
46
+ edge = xy(1, 1);
47
+ result = fnBody({
48
+ graphProps: graphProps,
49
+ root: root,
50
+ edge: edge
51
+ });
52
+ });
53
+ it('fnBody is not null', function () {
54
+ expect(fnBody).toBeDefined();
55
+ });
56
+ it('calls buildDataPoints', function () {
57
+ var _graphProps = graphProps,
58
+ domain = _graphProps.domain,
59
+ range = _graphProps.range;
60
+ expect(_graphingUtils.buildDataPoints).toHaveBeenCalledWith(domain, range, root, edge, expect.anything(), true);
61
+ });
62
+ it('calls parabolaFromTwoPoints', function () {
63
+ expect(_graphingUtils.parabolaFromTwoPoints).toHaveBeenCalledWith(root, edge);
64
+ });
65
+ it('returns dataPoints', function () {
66
+ expect(result).toEqual({
67
+ root: root,
68
+ edge: edge,
69
+ dataPoints: []
70
+ });
71
+ });
72
+ });
73
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wYXJhYm9sYS9fX3Rlc3RzX18vY29tcG9uZW50LnRlc3QuanN4Il0sIm5hbWVzIjpbInh5IiwidXRpbHMiLCJqZXN0IiwibW9jayIsImJ1aWxkRGF0YVBvaW50cyIsImZuIiwibW9ja1JldHVyblZhbHVlIiwicGFyYWJvbGFGcm9tVHdvUG9pbnRzIiwiZ2V0QW1wbGl0dWRlQW5kRnJlcSIsImZyZXEiLCJhbXBsaXR1ZGUiLCJ3aXRoUm9vdEVkZ2UiLCJyb290RWRnZUNvbXBvbmVudCIsImRlc2NyaWJlIiwiZm5Cb2R5IiwiZ3JhcGhQcm9wcyIsInJvb3QiLCJlZGdlIiwicmVzdWx0IiwiYmVmb3JlRWFjaCIsInJlcXVpcmUiLCJjYWxscyIsIml0IiwiZXhwZWN0IiwidG9CZURlZmluZWQiLCJkb21haW4iLCJyYW5nZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwiYW55dGhpbmciLCJ0b0VxdWFsIiwiZGF0YVBvaW50cyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBLElBQVFBLEVBQVIsR0FBZUMsV0FBZixDQUFRRCxFQUFSO0FBQ0FFLElBQUksQ0FBQ0MsSUFBTCxDQUFVLHlCQUFWLEVBQXFDO0FBQUEsU0FBTztBQUMxQ0MsSUFBQUEsZUFBZSxFQUFFRixJQUFJLENBQUNHLEVBQUwsR0FBVUMsZUFBVixDQUEwQixFQUExQixDQUR5QjtBQUUxQ0MsSUFBQUEscUJBQXFCLEVBQUVMLElBQUksQ0FBQ0csRUFBTCxDQUFRO0FBQUEsYUFBTUgsSUFBSSxDQUFDRyxFQUFMLEVBQU47QUFBQSxLQUFSLENBRm1CO0FBRzFDRyxJQUFBQSxtQkFBbUIsRUFBRU4sSUFBSSxDQUFDRyxFQUFMLEdBQVVDLGVBQVYsQ0FBMEI7QUFBRUcsTUFBQUEsSUFBSSxFQUFFLENBQVI7QUFBV0MsTUFBQUEsU0FBUyxFQUFFO0FBQXRCLEtBQTFCO0FBSHFCLEdBQVA7QUFBQSxDQUFyQztBQU1BUixJQUFJLENBQUNDLElBQUwsQ0FBVSxrQ0FBVixFQUE4QztBQUFBLFNBQU87QUFDbkRRLElBQUFBLFlBQVksRUFBRVQsSUFBSSxDQUFDRyxFQUFMLEVBRHFDO0FBRW5ETyxJQUFBQSxpQkFBaUIsRUFBRVYsSUFBSSxDQUFDRyxFQUFMO0FBRmdDLEdBQVA7QUFBQSxDQUE5QztBQUlBUSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsTUFBSUMsTUFBSjtBQUNBLE1BQUlDLFVBQUo7QUFDQSxNQUFJQyxJQUFKO0FBQ0EsTUFBSUMsSUFBSjtBQUNBLE1BQUlDLE1BQUo7QUFDQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkMsSUFBQUEsT0FBTyxDQUFDLGNBQUQsQ0FBUDs7QUFDQU4sSUFBQUEsTUFBTSxHQUFHSCwyQkFBYVIsSUFBYixDQUFrQmtCLEtBQWxCLENBQXdCLENBQXhCLEVBQTJCLENBQTNCLENBQVQ7QUFDQU4sSUFBQUEsVUFBVSxHQUFHLHdCQUFiO0FBQ0FDLElBQUFBLElBQUksR0FBR2hCLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSixDQUFUO0FBQ0FpQixJQUFBQSxJQUFJLEdBQUdqQixFQUFFLENBQUMsQ0FBRCxFQUFJLENBQUosQ0FBVDtBQUVBa0IsSUFBQUEsTUFBTSxHQUFHSixNQUFNLENBQUM7QUFBRUMsTUFBQUEsVUFBVSxFQUFWQSxVQUFGO0FBQWNDLE1BQUFBLElBQUksRUFBSkEsSUFBZDtBQUFvQkMsTUFBQUEsSUFBSSxFQUFKQTtBQUFwQixLQUFELENBQWY7QUFDRCxHQVJTLENBQVY7QUFTQUssRUFBQUEsRUFBRSxDQUFDLG9CQUFELEVBQXVCLFlBQU07QUFDN0JDLElBQUFBLE1BQU0sQ0FBQ1QsTUFBRCxDQUFOLENBQWVVLFdBQWY7QUFDRCxHQUZDLENBQUY7QUFJQUYsRUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDaEMsc0JBQTBCUCxVQUExQjtBQUFBLFFBQVFVLE1BQVIsZUFBUUEsTUFBUjtBQUFBLFFBQWdCQyxLQUFoQixlQUFnQkEsS0FBaEI7QUFDQUgsSUFBQUEsTUFBTSxDQUFDbkIsOEJBQUQsQ0FBTixDQUF3QnVCLG9CQUF4QixDQUE2Q0YsTUFBN0MsRUFBcURDLEtBQXJELEVBQTREVixJQUE1RCxFQUFrRUMsSUFBbEUsRUFBd0VNLE1BQU0sQ0FBQ0ssUUFBUCxFQUF4RSxFQUEyRixJQUEzRjtBQUNELEdBSEMsQ0FBRjtBQUlBTixFQUFBQSxFQUFFLENBQUMsNkJBQUQsRUFBZ0MsWUFBTTtBQUN0Q0MsSUFBQUEsTUFBTSxDQUFDaEIsb0NBQUQsQ0FBTixDQUE4Qm9CLG9CQUE5QixDQUFtRFgsSUFBbkQsRUFBeURDLElBQXpEO0FBQ0QsR0FGQyxDQUFGO0FBSUFLLEVBQUFBLEVBQUUsQ0FBQyxvQkFBRCxFQUF1QixZQUFNO0FBQzdCQyxJQUFBQSxNQUFNLENBQUNMLE1BQUQsQ0FBTixDQUFlVyxPQUFmLENBQXVCO0FBQUViLE1BQUFBLElBQUksRUFBSkEsSUFBRjtBQUFRQyxNQUFBQSxJQUFJLEVBQUpBLElBQVI7QUFBY2EsTUFBQUEsVUFBVSxFQUFFO0FBQTFCLEtBQXZCO0FBQ0QsR0FGQyxDQUFGO0FBR0QsQ0E5Qk8sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB3aXRoUm9vdEVkZ2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZSc7XG5pbXBvcnQgeyBidWlsZERhdGFQb2ludHMsIHBhcmFib2xhRnJvbVR3b1BvaW50cyB9IGZyb20gJ0BwaWUtbGliL2dyYXBoaW5nLXV0aWxzJztcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5cbmltcG9ydCB7IGdyYXBoUHJvcHMgYXMgZ2V0R3JhcGhQcm9wcyB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5cbmNvbnN0IHsgeHkgfSA9IHV0aWxzO1xuamVzdC5tb2NrKCdAcGllLWxpYi9ncmFwaGluZy11dGlscycsICgpID0+ICh7XG4gIGJ1aWxkRGF0YVBvaW50czogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbXSksXG4gIHBhcmFib2xhRnJvbVR3b1BvaW50czogamVzdC5mbigoKSA9PiBqZXN0LmZuKCkpLFxuICBnZXRBbXBsaXR1ZGVBbmRGcmVxOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHsgZnJlcTogNCwgYW1wbGl0dWRlOiAxIH0pLFxufSkpO1xuXG5qZXN0Lm1vY2soJy4uLy4uL3NoYXJlZC9saW5lL3dpdGgtcm9vdC1lZGdlJywgKCkgPT4gKHtcbiAgd2l0aFJvb3RFZGdlOiBqZXN0LmZuKCksXG4gIHJvb3RFZGdlQ29tcG9uZW50OiBqZXN0LmZuKCksXG59KSk7XG5kZXNjcmliZSgnUGFyYWJvbGEnLCAoKSA9PiB7XG4gIGxldCBmbkJvZHk7XG4gIGxldCBncmFwaFByb3BzO1xuICBsZXQgcm9vdDtcbiAgbGV0IGVkZ2U7XG4gIGxldCByZXN1bHQ7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHJlcXVpcmUoJy4uL2NvbXBvbmVudCcpO1xuICAgIGZuQm9keSA9IHdpdGhSb290RWRnZS5tb2NrLmNhbGxzWzBdWzBdO1xuICAgIGdyYXBoUHJvcHMgPSBnZXRHcmFwaFByb3BzKCk7XG4gICAgcm9vdCA9IHh5KDAsIDApO1xuICAgIGVkZ2UgPSB4eSgxLCAxKTtcblxuICAgIHJlc3VsdCA9IGZuQm9keSh7IGdyYXBoUHJvcHMsIHJvb3QsIGVkZ2UgfSk7XG4gIH0pO1xuICBpdCgnZm5Cb2R5IGlzIG5vdCBudWxsJywgKCkgPT4ge1xuICAgIGV4cGVjdChmbkJvZHkpLnRvQmVEZWZpbmVkKCk7XG4gIH0pO1xuXG4gIGl0KCdjYWxscyBidWlsZERhdGFQb2ludHMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBkb21haW4sIHJhbmdlIH0gPSBncmFwaFByb3BzO1xuICAgIGV4cGVjdChidWlsZERhdGFQb2ludHMpLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKGRvbWFpbiwgcmFuZ2UsIHJvb3QsIGVkZ2UsIGV4cGVjdC5hbnl0aGluZygpLCB0cnVlKTtcbiAgfSk7XG4gIGl0KCdjYWxscyBwYXJhYm9sYUZyb21Ud29Qb2ludHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHBhcmFib2xhRnJvbVR3b1BvaW50cykudG9IYXZlQmVlbkNhbGxlZFdpdGgocm9vdCwgZWRnZSk7XG4gIH0pO1xuXG4gIGl0KCdyZXR1cm5zIGRhdGFQb2ludHMnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbCh7IHJvb3QsIGVkZ2UsIGRhdGFQb2ludHM6IFtdIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -13,13 +13,14 @@ var _graphingUtils = require("@pie-lib/graphing-utils");
13
13
 
14
14
  var _withRootEdge = require("../shared/line/with-root-edge");
15
15
 
16
- var log = (0, _debug["default"])('pie-lib:graphing:sine');
16
+ var log = (0, _debug["default"])('pie-lib:graphing:parabola');
17
17
  var Parabola = (0, _withRootEdge.withRootEdge)(function (props) {
18
- var domain = props.graphProps.domain;
19
18
  var root = props.root,
20
- edge = props.edge;
21
- var interval = 1;
22
- var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain.min, domain.max, root, edge, domain.step || interval, (0, _graphingUtils.parabolaFromTwoPoints)(root, edge));
19
+ edge = props.edge,
20
+ graphProps = props.graphProps;
21
+ var domain = graphProps.domain,
22
+ range = graphProps.range;
23
+ var dataPoints = edge && edge.x === root.x ? [] : (0, _graphingUtils.buildDataPoints)(domain, range, root, edge, (0, _graphingUtils.parabolaFromTwoPoints)(root, edge), true);
23
24
  log('dataPoints:', dataPoints);
24
25
  return {
25
26
  root: props.root,
@@ -30,4 +31,4 @@ var Parabola = (0, _withRootEdge.withRootEdge)(function (props) {
30
31
  var Component = (0, _withRootEdge.rootEdgeComponent)(Parabola);
31
32
  var _default = Component;
32
33
  exports["default"] = _default;
33
- //# sourceMappingURL=component.js.map
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9wYXJhYm9sYS9jb21wb25lbnQuanN4Il0sIm5hbWVzIjpbImxvZyIsIlBhcmFib2xhIiwicHJvcHMiLCJyb290IiwiZWRnZSIsImdyYXBoUHJvcHMiLCJkb21haW4iLCJyYW5nZSIsImRhdGFQb2ludHMiLCJ4IiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sMkJBQU4sQ0FBWjtBQUVBLElBQU1DLFFBQVEsR0FBRyxnQ0FBYSxVQUFDQyxLQUFELEVBQVc7QUFDdkMsTUFBUUMsSUFBUixHQUFtQ0QsS0FBbkMsQ0FBUUMsSUFBUjtBQUFBLE1BQWNDLElBQWQsR0FBbUNGLEtBQW5DLENBQWNFLElBQWQ7QUFBQSxNQUFvQkMsVUFBcEIsR0FBbUNILEtBQW5DLENBQW9CRyxVQUFwQjtBQUNBLE1BQVFDLE1BQVIsR0FBMEJELFVBQTFCLENBQVFDLE1BQVI7QUFBQSxNQUFnQkMsS0FBaEIsR0FBMEJGLFVBQTFCLENBQWdCRSxLQUFoQjtBQUVBLE1BQU1DLFVBQVUsR0FDZEosSUFBSSxJQUFJQSxJQUFJLENBQUNLLENBQUwsS0FBV04sSUFBSSxDQUFDTSxDQUF4QixHQUNJLEVBREosR0FFSSxvQ0FBZ0JILE1BQWhCLEVBQXdCQyxLQUF4QixFQUErQkosSUFBL0IsRUFBcUNDLElBQXJDLEVBQTJDLDBDQUFzQkQsSUFBdEIsRUFBNEJDLElBQTVCLENBQTNDLEVBQThFLElBQTlFLENBSE47QUFLQUosRUFBQUEsR0FBRyxDQUFDLGFBQUQsRUFBZ0JRLFVBQWhCLENBQUg7QUFFQSxTQUFPO0FBQUVMLElBQUFBLElBQUksRUFBRUQsS0FBSyxDQUFDQyxJQUFkO0FBQW9CQyxJQUFBQSxJQUFJLEVBQUVGLEtBQUssQ0FBQ0UsSUFBaEM7QUFBc0NJLElBQUFBLFVBQVUsRUFBVkE7QUFBdEMsR0FBUDtBQUNELENBWmdCLENBQWpCO0FBY0EsSUFBTUUsU0FBUyxHQUFHLHFDQUFrQlQsUUFBbEIsQ0FBbEI7ZUFFZVMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBidWlsZERhdGFQb2ludHMsIHBhcmFib2xhRnJvbVR3b1BvaW50cyB9IGZyb20gJ0BwaWUtbGliL2dyYXBoaW5nLXV0aWxzJztcbmltcG9ydCB7IHdpdGhSb290RWRnZSwgcm9vdEVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvbGluZS93aXRoLXJvb3QtZWRnZSc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdwaWUtbGliOmdyYXBoaW5nOnBhcmFib2xhJyk7XG5cbmNvbnN0IFBhcmFib2xhID0gd2l0aFJvb3RFZGdlKChwcm9wcykgPT4ge1xuICBjb25zdCB7IHJvb3QsIGVkZ2UsIGdyYXBoUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGRvbWFpbiwgcmFuZ2UgfSA9IGdyYXBoUHJvcHM7XG5cbiAgY29uc3QgZGF0YVBvaW50cyA9XG4gICAgZWRnZSAmJiBlZGdlLnggPT09IHJvb3QueFxuICAgICAgPyBbXVxuICAgICAgOiBidWlsZERhdGFQb2ludHMoZG9tYWluLCByYW5nZSwgcm9vdCwgZWRnZSwgcGFyYWJvbGFGcm9tVHdvUG9pbnRzKHJvb3QsIGVkZ2UpLCB0cnVlKTtcblxuICBsb2coJ2RhdGFQb2ludHM6JywgZGF0YVBvaW50cyk7XG5cbiAgcmV0dXJuIHsgcm9vdDogcHJvcHMucm9vdCwgZWRnZTogcHJvcHMuZWRnZSwgZGF0YVBvaW50cyB9O1xufSk7XG5cbmNvbnN0IENvbXBvbmVudCA9IHJvb3RFZGdlQ29tcG9uZW50KFBhcmFib2xhKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29tcG9uZW50O1xuIl19
@@ -60,4 +60,4 @@ var tool = function tool() {
60
60
  };
61
61
 
62
62
  exports.tool = tool;
63
- //# sourceMappingURL=index.js.map
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy9wYXJhYm9sYS9pbmRleC5qcyJdLCJuYW1lcyI6WyJsb2ciLCJ0b29sIiwidHlwZSIsIkNvbXBvbmVudCIsIlBhcmFib2xhIiwiY29tcGxldGUiLCJkYXRhIiwibWFyayIsImJ1aWxkaW5nIiwiY2xvc2VkIiwiYWRkUG9pbnQiLCJwb2ludCIsInJvb3QiLCJlZGdlIiwidW5kZWZpbmVkIiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSwyQkFBTixDQUFaOztBQUVPLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPO0FBQUEsU0FBTztBQUN6QkMsSUFBQUEsSUFBSSxFQUFFLFVBRG1CO0FBRXpCQyxJQUFBQSxTQUFTLEVBQUVDLHFCQUZjO0FBR3pCQyxJQUFBQSxRQUFRLEVBQUUsa0JBQUNDLElBQUQsRUFBT0MsSUFBUDtBQUFBLDZDQUFzQkEsSUFBdEI7QUFBNEJDLFFBQUFBLFFBQVEsRUFBRSxLQUF0QztBQUE2Q0MsUUFBQUEsTUFBTSxFQUFFO0FBQXJEO0FBQUEsS0FIZTtBQUl6QkMsSUFBQUEsUUFBUSxFQUFFLGtCQUFDQyxLQUFELEVBQVFKLElBQVIsRUFBaUI7QUFDekJQLE1BQUFBLEdBQUcsQ0FBQywrQkFBRCxFQUFrQ1csS0FBbEMsRUFBeUMsUUFBekMsRUFBbURKLElBQW5ELENBQUg7O0FBQ0EsVUFBSUEsSUFBSSxLQUFLLHdCQUFZQSxJQUFJLENBQUNLLElBQWpCLEVBQXVCRCxLQUF2QixLQUFpQyxxQkFBU0osSUFBSSxDQUFDSyxJQUFkLEVBQW9CRCxLQUFwQixDQUF0QyxDQUFSLEVBQTJFO0FBQ3pFLGVBQU9KLElBQVA7QUFDRDs7QUFFRCxVQUFJLENBQUNBLElBQUwsRUFBVztBQUNULGVBQU87QUFDTEwsVUFBQUEsSUFBSSxFQUFFLFVBREQ7QUFFTFUsVUFBQUEsSUFBSSxFQUFFRCxLQUZEO0FBR0xFLFVBQUFBLElBQUksRUFBRUMsU0FIRDtBQUlMTCxVQUFBQSxNQUFNLEVBQUUsS0FKSDtBQUtMRCxVQUFBQSxRQUFRLEVBQUU7QUFMTCxTQUFQO0FBT0QsT0FSRCxNQVFPLElBQUlELElBQUksSUFBSSxDQUFDQSxJQUFJLENBQUNLLElBQWxCLEVBQXdCO0FBQzdCLGNBQU0sSUFBSUcsS0FBSixDQUFVLCtCQUFWLENBQU47QUFDRCxPQUZNLE1BRUE7QUFDTCwrQ0FBWVIsSUFBWjtBQUFrQk0sVUFBQUEsSUFBSSxFQUFFRixLQUF4QjtBQUErQkYsVUFBQUEsTUFBTSxFQUFFLElBQXZDO0FBQTZDRCxVQUFBQSxRQUFRLEVBQUU7QUFBdkQ7QUFDRDtBQUNGO0FBdkJ3QixHQUFQO0FBQUEsQ0FBYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJhYm9sYSBmcm9tICcuL2NvbXBvbmVudCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgZXF1YWxQb2ludHMsIHNhbWVBeGVzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygncGllLWxpYjpncmFwaGluZzpwYXJhYm9sYScpO1xuXG5leHBvcnQgY29uc3QgdG9vbCA9ICgpID0+ICh7XG4gIHR5cGU6ICdwYXJhYm9sYScsXG4gIENvbXBvbmVudDogUGFyYWJvbGEsXG4gIGNvbXBsZXRlOiAoZGF0YSwgbWFyaykgPT4gKHsgLi4ubWFyaywgYnVpbGRpbmc6IGZhbHNlLCBjbG9zZWQ6IHRydWUgfSksXG4gIGFkZFBvaW50OiAocG9pbnQsIG1hcmspID0+IHtcbiAgICBsb2coJ2FkZCBwb2ludCB0byBwYXJhYm9sYSBtb2RlbDogJywgcG9pbnQsICdtYXJrOiAnLCBtYXJrKTtcbiAgICBpZiAobWFyayAmJiAoZXF1YWxQb2ludHMobWFyay5yb290LCBwb2ludCkgfHwgc2FtZUF4ZXMobWFyay5yb290LCBwb2ludCkpKSB7XG4gICAgICByZXR1cm4gbWFyaztcbiAgICB9XG5cbiAgICBpZiAoIW1hcmspIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwYXJhYm9sYScsXG4gICAgICAgIHJvb3Q6IHBvaW50LFxuICAgICAgICBlZGdlOiB1bmRlZmluZWQsXG4gICAgICAgIGNsb3NlZDogZmFsc2UsXG4gICAgICAgIGJ1aWxkaW5nOiB0cnVlLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKG1hcmsgJiYgIW1hcmsucm9vdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdubyByb290IC0gc2hvdWxkIG5ldmVyIGhhcHBlbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4geyAuLi5tYXJrLCBlZGdlOiBwb2ludCwgY2xvc2VkOiB0cnVlLCBidWlsZGluZzogZmFsc2UgfTtcbiAgICB9XG4gIH0sXG59KTtcbiJdfQ==
@@ -0,0 +1,97 @@
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 = _interopRequireDefault(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
+ describe('Component', function () {
20
+ var w;
21
+ var onChange = jest.fn();
22
+
23
+ var wrapper = function wrapper(extras, opts) {
24
+ var defaults = {
25
+ classes: {},
26
+ className: 'className',
27
+ onChange: onChange,
28
+ graphProps: (0, _utils.graphProps)()
29
+ };
30
+
31
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
32
+
33
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_component["default"], props), opts);
34
+ };
35
+
36
+ describe('snapshot', function () {
37
+ it('renders', function () {
38
+ w = wrapper();
39
+ expect(w).toMatchSnapshot();
40
+ });
41
+ });
42
+ describe('logic', function () {
43
+ describe('move', function () {
44
+ it('calls onChange', function () {
45
+ var w = wrapper({
46
+ mark: _objectSpread({}, (0, _utils.xy)(0, 0))
47
+ });
48
+ w.instance().move({
49
+ x: 1,
50
+ y: 1
51
+ });
52
+ expect(w.state('mark')).toMatchObject(_objectSpread({}, (0, _utils.xy)(1, 1)));
53
+ });
54
+ });
55
+ describe('labelChange', function () {
56
+ it('callsOnChange with label removed', function () {
57
+ var mark = {
58
+ label: 'foo'
59
+ };
60
+ var update = {};
61
+ var w = wrapper({
62
+ mark: mark
63
+ });
64
+ w.instance().labelChange(undefined);
65
+ expect(onChange).toHaveBeenCalledWith(mark, update);
66
+ });
67
+ });
68
+ describe('clickPoint', function () {
69
+ var mark;
70
+ var w;
71
+ beforeEach(function () {
72
+ mark = {
73
+ label: 'foo'
74
+ };
75
+ w = wrapper({
76
+ mark: mark,
77
+ labelModeEnabled: true
78
+ }, {
79
+ disableLifecycleMethods: true
80
+ });
81
+ w.instance().input = {
82
+ focus: jest.fn()
83
+ };
84
+ w.instance().clickPoint();
85
+ });
86
+ it('calls onChange if labelModeEnabeld', function () {
87
+ expect(onChange).toHaveBeenCalledWith(mark, _objectSpread({
88
+ label: ''
89
+ }, mark));
90
+ });
91
+ it('calls input.focus', function () {
92
+ expect(w.instance().input.focus).toHaveBeenCalled();
93
+ });
94
+ });
95
+ });
96
+ });
97
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90b29scy9wb2ludC9fX3Rlc3RzX18vY29tcG9uZW50LnRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidyIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwid3JhcHBlciIsImV4dHJhcyIsIm9wdHMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwicHJvcHMiLCJpdCIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm1hcmsiLCJpbnN0YW5jZSIsIm1vdmUiLCJ4IiwieSIsInN0YXRlIiwidG9NYXRjaE9iamVjdCIsImxhYmVsIiwidXBkYXRlIiwibGFiZWxDaGFuZ2UiLCJ1bmRlZmluZWQiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCIsImJlZm9yZUVhY2giLCJsYWJlbE1vZGVFbmFibGVkIiwiZGlzYWJsZUxpZmVjeWNsZU1ldGhvZHMiLCJpbnB1dCIsImZvY3VzIiwiY2xpY2tQb2ludCIsInRvSGF2ZUJlZW5DYWxsZWQiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUFFQUEsUUFBUSxDQUFDLFdBQUQsRUFBYyxZQUFNO0FBQzFCLE1BQUlDLENBQUo7QUFDQSxNQUFJQyxRQUFRLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUFmOztBQUNBLE1BQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFVLENBQUNDLE1BQUQsRUFBU0MsSUFBVCxFQUFrQjtBQUNoQyxRQUFNQyxRQUFRLEdBQUc7QUFDZkMsTUFBQUEsT0FBTyxFQUFFLEVBRE07QUFFZkMsTUFBQUEsU0FBUyxFQUFFLFdBRkk7QUFHZlIsTUFBQUEsUUFBUSxFQUFSQSxRQUhlO0FBSWZTLE1BQUFBLFVBQVUsRUFBRTtBQUpHLEtBQWpCOztBQU1BLFFBQU1DLEtBQUssbUNBQVFKLFFBQVIsR0FBcUJGLE1BQXJCLENBQVg7O0FBQ0EsV0FBTyxtQ0FBUSxnQ0FBQyxxQkFBRCxFQUFlTSxLQUFmLENBQVIs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QUFGO0FBR0QsS0FqQk8sQ0FBUjtBQWtCRCxHQXJDTyxDQUFSO0FBc0NELENBM0RPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBncmFwaFByb3BzLCB4eSB9IGZyb20gJy4uLy4uLy4uL19fdGVzdHNfXy91dGlscyc7XG5cbmltcG9ydCBDb21wb25lbnQgZnJvbSAnLi4vY29tcG9uZW50JztcblxuZGVzY3JpYmUoJ0NvbXBvbmVudCcsICgpID0+IHtcbiAgbGV0IHc7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgY29uc3Qgd3JhcHBlciA9IChleHRyYXMsIG9wdHMpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IHtcbiAgICAgIGNsYXNzZXM6IHt9LFxuICAgICAgY2xhc3NOYW1lOiAnY2xhc3NOYW1lJyxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgZ3JhcGhQcm9wczogZ3JhcGhQcm9wcygpLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gc2hhbGxvdyg8Q29tcG9uZW50IHsuLi5wcm9wc30gLz4sIG9wdHMpO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIHcgPSB3cmFwcGVyKCk7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBkZXNjcmliZSgnbW92ZScsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgY29uc3QgdyA9IHdyYXBwZXIoeyBtYXJrOiB7IC4uLnh5KDAsIDApIH0gfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5tb3ZlKHsgeDogMSwgeTogMSB9KTtcbiAgICAgICAgZXhwZWN0KHcuc3RhdGUoJ21hcmsnKSkudG9NYXRjaE9iamVjdCh7IC4uLnh5KDEsIDEpIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnbGFiZWxDaGFuZ2UnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHNPbkNoYW5nZSB3aXRoIGxhYmVsIHJlbW92ZWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcmsgPSB7IGxhYmVsOiAnZm9vJyB9O1xuICAgICAgICBjb25zdCB1cGRhdGUgPSB7fTtcbiAgICAgICAgY29uc3QgdyA9IHdyYXBwZXIoeyBtYXJrIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkubGFiZWxDaGFuZ2UodW5kZWZpbmVkKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChtYXJrLCB1cGRhdGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2xpY2tQb2ludCcsICgpID0+IHtcbiAgICAgIGxldCBtYXJrO1xuICAgICAgbGV0IHc7XG4gICAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgbWFyayA9IHsgbGFiZWw6ICdmb28nIH07XG4gICAgICAgIHcgPSB3cmFwcGVyKHsgbWFyaywgbGFiZWxNb2RlRW5hYmxlZDogdHJ1ZSB9LCB7IGRpc2FibGVMaWZlY3ljbGVNZXRob2RzOiB0cnVlIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkuaW5wdXQgPSB7XG4gICAgICAgICAgZm9jdXM6IGplc3QuZm4oKSxcbiAgICAgICAgfTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmNsaWNrUG9pbnQoKTtcbiAgICAgIH0pO1xuICAgICAgaXQoJ2NhbGxzIG9uQ2hhbmdlIGlmIGxhYmVsTW9kZUVuYWJlbGQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgobWFyaywgeyBsYWJlbDogJycsIC4uLm1hcmsgfSk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdjYWxscyBpbnB1dC5mb2N1cycsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5pbnB1dC5mb2N1cykudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=