@pie-lib/graphing-solution-set 3.0.0-next.0 → 3.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/lib/__tests__/graph-with-controls.test.js +199 -0
  2. package/lib/__tests__/graph.test.js +114 -0
  3. package/lib/__tests__/grid.test.js +29 -0
  4. package/lib/__tests__/labels.test.js +45 -0
  5. package/lib/__tests__/mark-label.test.js +133 -0
  6. package/lib/__tests__/toggle-bar.test.js +89 -0
  7. package/lib/__tests__/tool-menu.test.js +41 -0
  8. package/lib/__tests__/undo-redo.test.js +31 -0
  9. package/lib/__tests__/use-debounce.test.js +24 -0
  10. package/lib/__tests__/utils.js +70 -0
  11. package/lib/__tests__/utils.test.js +123 -0
  12. package/lib/axis/__tests__/arrow.test.js +60 -0
  13. package/lib/axis/__tests__/axes.test.js +162 -0
  14. package/lib/axis/arrow.js +1 -1
  15. package/lib/axis/axes.js +1 -1
  16. package/lib/axis/index.js +1 -1
  17. package/lib/bg.js +1 -1
  18. package/lib/container/actions.js +1 -1
  19. package/lib/container/index.js +1 -1
  20. package/lib/container/marks.js +1 -1
  21. package/lib/container/middleware.js +1 -1
  22. package/lib/container/reducer.js +1 -1
  23. package/lib/coordinates-label.js +1 -1
  24. package/lib/graph-with-controls.js +1 -1
  25. package/lib/graph.js +1 -1
  26. package/lib/grid-setup.js +3 -3
  27. package/lib/grid-setup.js.map +1 -1
  28. package/lib/grid.js +1 -1
  29. package/lib/index.js +1 -1
  30. package/lib/labels.js +3 -3
  31. package/lib/labels.js.map +1 -1
  32. package/lib/mark-label.js +1 -1
  33. package/lib/toggle-bar.js +1 -1
  34. package/lib/tool-menu.js +1 -1
  35. package/lib/tools/index.js +1 -1
  36. package/lib/tools/line/__tests__/component.test.js +45 -0
  37. package/lib/tools/line/component.js +1 -1
  38. package/lib/tools/line/index.js +1 -1
  39. package/lib/tools/polygon/__tests__/component.test.js +81 -0
  40. package/lib/tools/polygon/__tests__/index.test.js +92 -0
  41. package/lib/tools/polygon/__tests__/line.test.js +30 -0
  42. package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
  43. package/lib/tools/polygon/component.js +1 -1
  44. package/lib/tools/polygon/index.js +1 -1
  45. package/lib/tools/polygon/line.js +1 -1
  46. package/lib/tools/polygon/polygon.js +1 -1
  47. package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
  48. package/lib/tools/shared/arrow-head.js +1 -1
  49. package/lib/tools/shared/line/__tests__/index.test.js +129 -0
  50. package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
  51. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +83 -0
  52. package/lib/tools/shared/line/index.js +1 -1
  53. package/lib/tools/shared/line/line-path.js +1 -1
  54. package/lib/tools/shared/line/with-root-edge.js +1 -1
  55. package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
  56. package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
  57. package/lib/tools/shared/point/arrow-point.js +1 -1
  58. package/lib/tools/shared/point/arrow.js +1 -1
  59. package/lib/tools/shared/point/base-point.js +1 -1
  60. package/lib/tools/shared/point/index.js +1 -1
  61. package/lib/tools/shared/styles.js +1 -1
  62. package/lib/tools/shared/types.js +1 -1
  63. package/lib/undo-redo.js +1 -1
  64. package/lib/use-debounce.js +1 -1
  65. package/lib/utils.js +1 -1
  66. package/package.json +10 -18
  67. package/src/grid-setup.jsx +28 -34
  68. package/src/labels.jsx +1 -1
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _testUtils = require("@pie-lib/test-utils");
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _graphWithControls = require("../graph-with-controls");
8
+ var _tools = require("../tools");
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ // Mock DragProvider to avoid @dnd-kit React version conflicts
12
+ jest.mock('@pie-lib/drag', function () {
13
+ return {
14
+ DragProvider: function DragProvider(_ref) {
15
+ var children = _ref.children;
16
+ return /*#__PURE__*/_react["default"].createElement("div", {
17
+ "data-testid": "drag-provider"
18
+ }, children);
19
+ }
20
+ };
21
+ });
22
+ var line = {
23
+ type: 'line',
24
+ from: {
25
+ x: 0,
26
+ y: 0
27
+ },
28
+ to: {
29
+ x: 1,
30
+ y: 1
31
+ },
32
+ label: 'Line',
33
+ building: true
34
+ };
35
+ var polygon = {
36
+ type: 'polygon',
37
+ points: [{
38
+ x: 0,
39
+ y: 0
40
+ }, {
41
+ x: 1,
42
+ y: 1
43
+ }, {
44
+ x: 2,
45
+ y: 2
46
+ }]
47
+ };
48
+ var marks = [line, polygon];
49
+
50
+ // Pure function tests - keep as-is
51
+ describe('setToolbarAvailability', function () {
52
+ it('sets `toolbar: true` if tool should be displayed in toolbar - all tools', function () {
53
+ var result = (0, _graphWithControls.setToolbarAvailability)(_tools.allTools);
54
+ var allTrue = new Array(_tools.toolsArr.length).fill(true);
55
+ expect(result.map(function (r) {
56
+ return r.toolbar;
57
+ })).toEqual(allTrue);
58
+ });
59
+ it('sets `toolbar: true` if tool should be displayed in toolbar - few tools', function () {
60
+ var result = (0, _graphWithControls.setToolbarAvailability)(['line', 'polygon']);
61
+ var allOthersFalse = new Array(_tools.toolsArr.length - 2).fill(false);
62
+ expect(result.filter(function (r) {
63
+ return r.type === 'line' || r.type === 'polygon';
64
+ }).map(function (r) {
65
+ return r.toolbar;
66
+ })).toEqual([true, true]);
67
+ expect(result.filter(function (r) {
68
+ return r.type !== 'line' && r.type !== 'polygon';
69
+ }).map(function (r) {
70
+ return r.toolbar;
71
+ })).toEqual(allOthersFalse);
72
+ });
73
+ });
74
+ describe('toolIsAvailable', function () {
75
+ var tools = (0, _graphWithControls.setToolbarAvailability)(['line', 'polygon']);
76
+ it('returns true if tool is available', function () {
77
+ expect((0, _graphWithControls.toolIsAvailable)(tools, (0, _tools.line)())).toEqual(true);
78
+ });
79
+ });
80
+ describe('getAvailableTool', function () {
81
+ it('returns the first available tool in list if there is any', function () {
82
+ var tools = (0, _graphWithControls.setToolbarAvailability)(['line', 'polygon']);
83
+ expect((0, _graphWithControls.getAvailableTool)(tools).toolbar).toEqual(true);
84
+ });
85
+ it('returns undefined list if there is no available tool', function () {
86
+ var tools = (0, _graphWithControls.setToolbarAvailability)([]);
87
+ expect((0, _graphWithControls.getAvailableTool)(tools)).toEqual(undefined);
88
+ });
89
+ });
90
+ describe('filterByValidToolTypes', function () {
91
+ it('filters marks by valid types', function () {
92
+ var marks = [{
93
+ type: 'polygon'
94
+ }, {
95
+ type: 'a'
96
+ }, {
97
+ type: 'b'
98
+ }, {
99
+ type: 'line'
100
+ }, {
101
+ type: 'c'
102
+ }];
103
+ expect((0, _graphWithControls.filterByValidToolTypes)(marks)).toEqual([{
104
+ type: 'polygon'
105
+ }, {
106
+ type: 'line'
107
+ }]);
108
+ });
109
+ });
110
+ describe('filterByVisibleToolTypes', function () {
111
+ it('filters marks by the types that should be visible', function () {
112
+ expect((0, _graphWithControls.filterByVisibleToolTypes)(['line', 'polygon'], [{
113
+ type: 'point'
114
+ }, {
115
+ type: 'line'
116
+ }, {
117
+ type: 'polygon'
118
+ }])).toEqual([{
119
+ type: 'line'
120
+ }, {
121
+ type: 'polygon'
122
+ }]);
123
+ expect((0, _graphWithControls.filterByVisibleToolTypes)(['line'], [{
124
+ type: 'point'
125
+ }, {
126
+ type: 'line'
127
+ }, {
128
+ type: 'circle'
129
+ }])).toEqual([{
130
+ type: 'line'
131
+ }]);
132
+ expect((0, _graphWithControls.filterByVisibleToolTypes)(['segment'], [{
133
+ type: 'point'
134
+ }, {
135
+ type: 'line'
136
+ }, {
137
+ type: 'circle'
138
+ }])).toEqual([]);
139
+ });
140
+ });
141
+ describe('GraphWithControls', function () {
142
+ var onChangeMarks = jest.fn();
143
+ beforeEach(function () {
144
+ onChangeMarks.mockClear();
145
+ });
146
+ var defaultProps = function defaultProps() {
147
+ return {
148
+ axesSettings: {
149
+ includeArrows: true
150
+ },
151
+ className: '',
152
+ coordinatesOnHover: false,
153
+ domain: {
154
+ min: 0,
155
+ max: 10,
156
+ step: 1
157
+ },
158
+ labels: {
159
+ top: 'a',
160
+ left: 'b',
161
+ right: 'c',
162
+ bottom: 'd'
163
+ },
164
+ labelModeEnabled: true,
165
+ marks: marks,
166
+ onChangeMarks: onChangeMarks,
167
+ range: {
168
+ min: 0,
169
+ max: 10,
170
+ step: 1
171
+ },
172
+ size: {
173
+ width: 500,
174
+ height: 500
175
+ },
176
+ title: 'Title',
177
+ toolbarTools: _tools.allTools,
178
+ language: 'en'
179
+ };
180
+ };
181
+ var initialProps = defaultProps();
182
+ var renderComponent = function renderComponent(extras) {
183
+ var props = _objectSpread(_objectSpread({}, initialProps), extras);
184
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graphWithControls.GraphWithControls, props));
185
+ };
186
+ describe('rendering', function () {
187
+ it('renders without crashing', function () {
188
+ var _renderComponent = renderComponent(),
189
+ container = _renderComponent.container;
190
+ expect(container.firstChild).toBeInTheDocument();
191
+ });
192
+ it('renders Graph component', function () {
193
+ var _renderComponent2 = renderComponent(),
194
+ container = _renderComponent2.container;
195
+ expect(container.querySelector('svg')).toBeInTheDocument();
196
+ });
197
+ });
198
+ });
199
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ3JhcGhXaXRoQ29udHJvbHMiLCJfdG9vbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImplc3QiLCJtb2NrIiwiRHJhZ1Byb3ZpZGVyIiwiX3JlZiIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsImxpbmUiLCJ0eXBlIiwiZnJvbSIsIngiLCJ5IiwidG8iLCJsYWJlbCIsImJ1aWxkaW5nIiwicG9seWdvbiIsInBvaW50cyIsIm1hcmtzIiwiZGVzY3JpYmUiLCJpdCIsInJlc3VsdCIsInNldFRvb2xiYXJBdmFpbGFiaWxpdHkiLCJhbGxUb29scyIsImFsbFRydWUiLCJBcnJheSIsInRvb2xzQXJyIiwiZmlsbCIsImV4cGVjdCIsIm1hcCIsInRvb2xiYXIiLCJ0b0VxdWFsIiwiYWxsT3RoZXJzRmFsc2UiLCJ0b29scyIsInRvb2xJc0F2YWlsYWJsZSIsImxpbmVUb29sIiwiZ2V0QXZhaWxhYmxlVG9vbCIsInVuZGVmaW5lZCIsImZpbHRlckJ5VmFsaWRUb29sVHlwZXMiLCJmaWx0ZXJCeVZpc2libGVUb29sVHlwZXMiLCJvbkNoYW5nZU1hcmtzIiwiZm4iLCJiZWZvcmVFYWNoIiwibW9ja0NsZWFyIiwiZGVmYXVsdFByb3BzIiwiYXhlc1NldHRpbmdzIiwiaW5jbHVkZUFycm93cyIsImNsYXNzTmFtZSIsImNvb3JkaW5hdGVzT25Ib3ZlciIsImRvbWFpbiIsIm1pbiIsIm1heCIsInN0ZXAiLCJsYWJlbHMiLCJ0b3AiLCJsZWZ0IiwicmlnaHQiLCJib3R0b20iLCJsYWJlbE1vZGVFbmFibGVkIiwicmFuZ2UiLCJzaXplIiwid2lkdGgiLCJoZWlnaHQiLCJ0aXRsZSIsInRvb2xiYXJUb29scyIsImxhbmd1YWdlIiwiaW5pdGlhbFByb3BzIiwicmVuZGVyQ29tcG9uZW50IiwiZXh0cmFzIiwicHJvcHMiLCJyZW5kZXIiLCJHcmFwaFdpdGhDb250cm9scyIsIl9yZW5kZXJDb21wb25lbnQiLCJjb250YWluZXIiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJfcmVuZGVyQ29tcG9uZW50MiIsInF1ZXJ5U2VsZWN0b3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2dyYXBoLXdpdGgtY29udHJvbHMudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHBpZS1saWIvdGVzdC11dGlscyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG4vLyBNb2NrIERyYWdQcm92aWRlciB0byBhdm9pZCBAZG5kLWtpdCBSZWFjdCB2ZXJzaW9uIGNvbmZsaWN0c1xuamVzdC5tb2NrKCdAcGllLWxpYi9kcmFnJywgKCkgPT4gKHtcbiAgRHJhZ1Byb3ZpZGVyOiAoeyBjaGlsZHJlbiB9KSA9PiA8ZGl2IGRhdGEtdGVzdGlkPVwiZHJhZy1wcm92aWRlclwiPntjaGlsZHJlbn08L2Rpdj4sXG59KSk7XG5cbmltcG9ydCB7XG4gIEdyYXBoV2l0aENvbnRyb2xzLFxuICBzZXRUb29sYmFyQXZhaWxhYmlsaXR5LFxuICB0b29sSXNBdmFpbGFibGUsXG4gIGdldEF2YWlsYWJsZVRvb2wsXG4gIGZpbHRlckJ5VmFsaWRUb29sVHlwZXMsXG4gIGZpbHRlckJ5VmlzaWJsZVRvb2xUeXBlcyxcbn0gZnJvbSAnLi4vZ3JhcGgtd2l0aC1jb250cm9scyc7XG5pbXBvcnQgeyB0b29sc0FyciwgYWxsVG9vbHMsIGxpbmUgYXMgbGluZVRvb2wgfSBmcm9tICcuLi90b29scyc7XG5cbmNvbnN0IGxpbmUgPSB7XG4gIHR5cGU6ICdsaW5lJyxcbiAgZnJvbTogeyB4OiAwLCB5OiAwIH0sXG4gIHRvOiB7IHg6IDEsIHk6IDEgfSxcbiAgbGFiZWw6ICdMaW5lJyxcbiAgYnVpbGRpbmc6IHRydWUsXG59O1xuXG5jb25zdCBwb2x5Z29uID0ge1xuICB0eXBlOiAncG9seWdvbicsXG4gIHBvaW50czogW1xuICAgIHsgeDogMCwgeTogMCB9LFxuICAgIHsgeDogMSwgeTogMSB9LFxuICAgIHsgeDogMiwgeTogMiB9LFxuICBdLFxufTtcblxuY29uc3QgbWFya3MgPSBbbGluZSwgcG9seWdvbl07XG5cbi8vIFB1cmUgZnVuY3Rpb24gdGVzdHMgLSBrZWVwIGFzLWlzXG5kZXNjcmliZSgnc2V0VG9vbGJhckF2YWlsYWJpbGl0eScsICgpID0+IHtcbiAgaXQoJ3NldHMgYHRvb2xiYXI6IHRydWVgIGlmIHRvb2wgc2hvdWxkIGJlIGRpc3BsYXllZCBpbiB0b29sYmFyIC0gYWxsIHRvb2xzJywgKCkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkoYWxsVG9vbHMpO1xuICAgIGNvbnN0IGFsbFRydWUgPSBuZXcgQXJyYXkodG9vbHNBcnIubGVuZ3RoKS5maWxsKHRydWUpO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5tYXAoKHIpID0+IHIudG9vbGJhcikpLnRvRXF1YWwoYWxsVHJ1ZSk7XG4gIH0pO1xuXG4gIGl0KCdzZXRzIGB0b29sYmFyOiB0cnVlYCBpZiB0b29sIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gdG9vbGJhciAtIGZldyB0b29scycsICgpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBzZXRUb29sYmFyQXZhaWxhYmlsaXR5KFsnbGluZScsICdwb2x5Z29uJ10pO1xuICAgIGNvbnN0IGFsbE90aGVyc0ZhbHNlID0gbmV3IEFycmF5KHRvb2xzQXJyLmxlbmd0aCAtIDIpLmZpbGwoZmFsc2UpO1xuXG4gICAgZXhwZWN0KHJlc3VsdC5maWx0ZXIoKHIpID0+IHIudHlwZSA9PT0gJ2xpbmUnIHx8IHIudHlwZSA9PT0gJ3BvbHlnb24nKS5tYXAoKHIpID0+IHIudG9vbGJhcikpLnRvRXF1YWwoW3RydWUsIHRydWVdKTtcbiAgICBleHBlY3QocmVzdWx0LmZpbHRlcigocikgPT4gci50eXBlICE9PSAnbGluZScgJiYgci50eXBlICE9PSAncG9seWdvbicpLm1hcCgocikgPT4gci50b29sYmFyKSkudG9FcXVhbChcbiAgICAgIGFsbE90aGVyc0ZhbHNlLFxuICAgICk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCd0b29sSXNBdmFpbGFibGUnLCAoKSA9PiB7XG4gIGNvbnN0IHRvb2xzID0gc2V0VG9vbGJhckF2YWlsYWJpbGl0eShbJ2xpbmUnLCAncG9seWdvbiddKTtcblxuICBpdCgncmV0dXJucyB0cnVlIGlmIHRvb2wgaXMgYXZhaWxhYmxlJywgKCkgPT4ge1xuICAgIGV4cGVjdCh0b29sSXNBdmFpbGFibGUodG9vbHMsIGxpbmVUb29sKCkpKS50b0VxdWFsKHRydWUpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZ2V0QXZhaWxhYmxlVG9vbCcsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgdGhlIGZpcnN0IGF2YWlsYWJsZSB0b29sIGluIGxpc3QgaWYgdGhlcmUgaXMgYW55JywgKCkgPT4ge1xuICAgIGNvbnN0IHRvb2xzID0gc2V0VG9vbGJhckF2YWlsYWJpbGl0eShbJ2xpbmUnLCAncG9seWdvbiddKTtcblxuICAgIGV4cGVjdChnZXRBdmFpbGFibGVUb29sKHRvb2xzKS50b29sYmFyKS50b0VxdWFsKHRydWUpO1xuICB9KTtcblxuICBpdCgncmV0dXJucyB1bmRlZmluZWQgbGlzdCBpZiB0aGVyZSBpcyBubyBhdmFpbGFibGUgdG9vbCcsICgpID0+IHtcbiAgICBjb25zdCB0b29scyA9IHNldFRvb2xiYXJBdmFpbGFiaWxpdHkoW10pO1xuXG4gICAgZXhwZWN0KGdldEF2YWlsYWJsZVRvb2wodG9vbHMpKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdmaWx0ZXJCeVZhbGlkVG9vbFR5cGVzJywgKCkgPT4ge1xuICBpdCgnZmlsdGVycyBtYXJrcyBieSB2YWxpZCB0eXBlcycsICgpID0+IHtcbiAgICBjb25zdCBtYXJrcyA9IFt7IHR5cGU6ICdwb2x5Z29uJyB9LCB7IHR5cGU6ICdhJyB9LCB7IHR5cGU6ICdiJyB9LCB7IHR5cGU6ICdsaW5lJyB9LCB7IHR5cGU6ICdjJyB9XTtcblxuICAgIGV4cGVjdChmaWx0ZXJCeVZhbGlkVG9vbFR5cGVzKG1hcmtzKSkudG9FcXVhbChbeyB0eXBlOiAncG9seWdvbicgfSwgeyB0eXBlOiAnbGluZScgfV0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzJywgKCkgPT4ge1xuICBpdCgnZmlsdGVycyBtYXJrcyBieSB0aGUgdHlwZXMgdGhhdCBzaG91bGQgYmUgdmlzaWJsZScsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBmaWx0ZXJCeVZpc2libGVUb29sVHlwZXMoWydsaW5lJywgJ3BvbHlnb24nXSwgW3sgdHlwZTogJ3BvaW50JyB9LCB7IHR5cGU6ICdsaW5lJyB9LCB7IHR5cGU6ICdwb2x5Z29uJyB9XSksXG4gICAgKS50b0VxdWFsKFt7IHR5cGU6ICdsaW5lJyB9LCB7IHR5cGU6ICdwb2x5Z29uJyB9XSk7XG5cbiAgICBleHBlY3QoZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzKFsnbGluZSddLCBbeyB0eXBlOiAncG9pbnQnIH0sIHsgdHlwZTogJ2xpbmUnIH0sIHsgdHlwZTogJ2NpcmNsZScgfV0pKS50b0VxdWFsKFtcbiAgICAgIHsgdHlwZTogJ2xpbmUnIH0sXG4gICAgXSk7XG5cbiAgICBleHBlY3QoZmlsdGVyQnlWaXNpYmxlVG9vbFR5cGVzKFsnc2VnbWVudCddLCBbeyB0eXBlOiAncG9pbnQnIH0sIHsgdHlwZTogJ2xpbmUnIH0sIHsgdHlwZTogJ2NpcmNsZScgfV0pKS50b0VxdWFsKFxuICAgICAgW10sXG4gICAgKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0dyYXBoV2l0aENvbnRyb2xzJywgKCkgPT4ge1xuICBsZXQgb25DaGFuZ2VNYXJrcyA9IGplc3QuZm4oKTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZU1hcmtzLm1vY2tDbGVhcigpO1xuICB9KTtcblxuICBjb25zdCBkZWZhdWx0UHJvcHMgPSAoKSA9PiAoe1xuICAgIGF4ZXNTZXR0aW5nczogeyBpbmNsdWRlQXJyb3dzOiB0cnVlIH0sXG4gICAgY2xhc3NOYW1lOiAnJyxcbiAgICBjb29yZGluYXRlc09uSG92ZXI6IGZhbHNlLFxuICAgIGRvbWFpbjogeyBtaW46IDAsIG1heDogMTAsIHN0ZXA6IDEgfSxcbiAgICBsYWJlbHM6IHsgdG9wOiAnYScsIGxlZnQ6ICdiJywgcmlnaHQ6ICdjJywgYm90dG9tOiAnZCcgfSxcbiAgICBsYWJlbE1vZGVFbmFibGVkOiB0cnVlLFxuICAgIG1hcmtzLFxuICAgIG9uQ2hhbmdlTWFya3MsXG4gICAgcmFuZ2U6IHsgbWluOiAwLCBtYXg6IDEwLCBzdGVwOiAxIH0sXG4gICAgc2l6ZTogeyB3aWR0aDogNTAwLCBoZWlnaHQ6IDUwMCB9LFxuICAgIHRpdGxlOiAnVGl0bGUnLFxuICAgIHRvb2xiYXJUb29sczogYWxsVG9vbHMsXG4gICAgbGFuZ3VhZ2U6ICdlbicsXG4gIH0pO1xuICBjb25zdCBpbml0aWFsUHJvcHMgPSBkZWZhdWx0UHJvcHMoKTtcblxuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmluaXRpYWxQcm9wcywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHJlbmRlcig8R3JhcGhXaXRoQ29udHJvbHMgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgR3JhcGggY29tcG9uZW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5xdWVyeVNlbGVjdG9yKCdzdmcnKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLElBQUFBLFVBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQU9BLElBQUFHLGtCQUFBLEdBQUFILE9BQUE7QUFRQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFBZ0UsU0FBQUssUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1BQUEsQ0FBQWUsZ0JBQUEsQ0FBQWxCLENBQUEsRUFBQUcsTUFBQSxDQUFBYyx5QkFBQSxDQUFBZixDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFhLE9BQUEsV0FBQWQsQ0FBQSxJQUFBRSxNQUFBLENBQUFnQixjQUFBLENBQUFuQixDQUFBLEVBQUFDLENBQUEsRUFBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBTixDQUFBLEVBQUFELENBQUEsaUJBQUFELENBQUE7QUFiaEU7QUFDQW9CLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGVBQWUsRUFBRTtFQUFBLE9BQU87SUFDaENDLFlBQVksRUFBRSxTQUFkQSxZQUFZQSxDQUFBQyxJQUFBO01BQUEsSUFBS0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7TUFBQSxvQkFBTzdCLE1BQUEsWUFBQThCLGFBQUE7UUFBSyxlQUFZO01BQWUsR0FBRUQsUUFBYyxDQUFDO0lBQUE7RUFDbkYsQ0FBQztBQUFBLENBQUMsQ0FBQztBQVlILElBQU1FLElBQUksR0FBRztFQUNYQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxJQUFJLEVBQUU7SUFBRUMsQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUUsQ0FBQztFQUNwQkMsRUFBRSxFQUFFO0lBQUVGLENBQUMsRUFBRSxDQUFDO0lBQUVDLENBQUMsRUFBRTtFQUFFLENBQUM7RUFDbEJFLEtBQUssRUFBRSxNQUFNO0VBQ2JDLFFBQVEsRUFBRTtBQUNaLENBQUM7QUFFRCxJQUFNQyxPQUFPLEdBQUc7RUFDZFAsSUFBSSxFQUFFLFNBQVM7RUFDZlEsTUFBTSxFQUFFLENBQ047SUFBRU4sQ0FBQyxFQUFFLENBQUM7SUFBRUMsQ0FBQyxFQUFFO0VBQUUsQ0FBQyxFQUNkO0lBQUVELENBQUMsRUFBRSxDQUFDO0lBQUVDLENBQUMsRUFBRTtFQUFFLENBQUMsRUFDZDtJQUFFRCxDQUFDLEVBQUUsQ0FBQztJQUFFQyxDQUFDLEVBQUU7RUFBRSxDQUFDO0FBRWxCLENBQUM7QUFFRCxJQUFNTSxLQUFLLEdBQUcsQ0FBQ1YsSUFBSSxFQUFFUSxPQUFPLENBQUM7O0FBRTdCO0FBQ0FHLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxZQUFNO0VBQ3ZDQyxFQUFFLENBQUMseUVBQXlFLEVBQUUsWUFBTTtJQUNsRixJQUFNQyxNQUFNLEdBQUcsSUFBQUMseUNBQXNCLEVBQUNDLGVBQVEsQ0FBQztJQUMvQyxJQUFNQyxPQUFPLEdBQUcsSUFBSUMsS0FBSyxDQUFDQyxlQUFRLENBQUM5QixNQUFNLENBQUMsQ0FBQytCLElBQUksQ0FBQyxJQUFJLENBQUM7SUFFckRDLE1BQU0sQ0FBQ1AsTUFBTSxDQUFDUSxHQUFHLENBQUMsVUFBQzlDLENBQUM7TUFBQSxPQUFLQSxDQUFDLENBQUMrQyxPQUFPO0lBQUEsRUFBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQ1AsT0FBTyxDQUFDO0VBQ3ZELENBQUMsQ0FBQztFQUVGSixFQUFFLENBQUMseUVBQXlFLEVBQUUsWUFBTTtJQUNsRixJQUFNQyxNQUFNLEdBQUcsSUFBQUMseUNBQXNCLEVBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsSUFBTVUsY0FBYyxHQUFHLElBQUlQLEtBQUssQ0FBQ0MsZUFBUSxDQUFDOUIsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDK0IsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUVqRUMsTUFBTSxDQUFDUCxNQUFNLENBQUNoQyxNQUFNLENBQUMsVUFBQ04sQ0FBQztNQUFBLE9BQUtBLENBQUMsQ0FBQzBCLElBQUksS0FBSyxNQUFNLElBQUkxQixDQUFDLENBQUMwQixJQUFJLEtBQUssU0FBUztJQUFBLEVBQUMsQ0FBQ29CLEdBQUcsQ0FBQyxVQUFDOUMsQ0FBQztNQUFBLE9BQUtBLENBQUMsQ0FBQytDLE9BQU87SUFBQSxFQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25ISCxNQUFNLENBQUNQLE1BQU0sQ0FBQ2hDLE1BQU0sQ0FBQyxVQUFDTixDQUFDO01BQUEsT0FBS0EsQ0FBQyxDQUFDMEIsSUFBSSxLQUFLLE1BQU0sSUFBSTFCLENBQUMsQ0FBQzBCLElBQUksS0FBSyxTQUFTO0lBQUEsRUFBQyxDQUFDb0IsR0FBRyxDQUFDLFVBQUM5QyxDQUFDO01BQUEsT0FBS0EsQ0FBQyxDQUFDK0MsT0FBTztJQUFBLEVBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQ25HQyxjQUNGLENBQUM7RUFDSCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRmIsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07RUFDaEMsSUFBTWMsS0FBSyxHQUFHLElBQUFYLHlDQUFzQixFQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0VBRXpERixFQUFFLENBQUMsbUNBQW1DLEVBQUUsWUFBTTtJQUM1Q1EsTUFBTSxDQUFDLElBQUFNLGtDQUFlLEVBQUNELEtBQUssRUFBRSxJQUFBRSxXQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0osT0FBTyxDQUFDLElBQUksQ0FBQztFQUMxRCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRlosUUFBUSxDQUFDLGtCQUFrQixFQUFFLFlBQU07RUFDakNDLEVBQUUsQ0FBQywwREFBMEQsRUFBRSxZQUFNO0lBQ25FLElBQU1hLEtBQUssR0FBRyxJQUFBWCx5Q0FBc0IsRUFBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUV6RE0sTUFBTSxDQUFDLElBQUFRLG1DQUFnQixFQUFDSCxLQUFLLENBQUMsQ0FBQ0gsT0FBTyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUM7RUFDdkQsQ0FBQyxDQUFDO0VBRUZYLEVBQUUsQ0FBQyxzREFBc0QsRUFBRSxZQUFNO0lBQy9ELElBQU1hLEtBQUssR0FBRyxJQUFBWCx5Q0FBc0IsRUFBQyxFQUFFLENBQUM7SUFFeENNLE1BQU0sQ0FBQyxJQUFBUSxtQ0FBZ0IsRUFBQ0gsS0FBSyxDQUFDLENBQUMsQ0FBQ0YsT0FBTyxDQUFDTSxTQUFTLENBQUM7RUFDcEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUZsQixRQUFRLENBQUMsd0JBQXdCLEVBQUUsWUFBTTtFQUN2Q0MsRUFBRSxDQUFDLDhCQUE4QixFQUFFLFlBQU07SUFDdkMsSUFBTUYsS0FBSyxHQUFHLENBQUM7TUFBRVQsSUFBSSxFQUFFO0lBQVUsQ0FBQyxFQUFFO01BQUVBLElBQUksRUFBRTtJQUFJLENBQUMsRUFBRTtNQUFFQSxJQUFJLEVBQUU7SUFBSSxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQU8sQ0FBQyxFQUFFO01BQUVBLElBQUksRUFBRTtJQUFJLENBQUMsQ0FBQztJQUVsR21CLE1BQU0sQ0FBQyxJQUFBVSx5Q0FBc0IsRUFBQ3BCLEtBQUssQ0FBQyxDQUFDLENBQUNhLE9BQU8sQ0FBQyxDQUFDO01BQUV0QixJQUFJLEVBQUU7SUFBVSxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQU8sQ0FBQyxDQUFDLENBQUM7RUFDeEYsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUZVLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxZQUFNO0VBQ3pDQyxFQUFFLENBQUMsbURBQW1ELEVBQUUsWUFBTTtJQUM1RFEsTUFBTSxDQUNKLElBQUFXLDJDQUF3QixFQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7TUFBRTlCLElBQUksRUFBRTtJQUFRLENBQUMsRUFBRTtNQUFFQSxJQUFJLEVBQUU7SUFBTyxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQVUsQ0FBQyxDQUFDLENBQzFHLENBQUMsQ0FBQ3NCLE9BQU8sQ0FBQyxDQUFDO01BQUV0QixJQUFJLEVBQUU7SUFBTyxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQVUsQ0FBQyxDQUFDLENBQUM7SUFFbERtQixNQUFNLENBQUMsSUFBQVcsMkNBQXdCLEVBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO01BQUU5QixJQUFJLEVBQUU7SUFBUSxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQU8sQ0FBQyxFQUFFO01BQUVBLElBQUksRUFBRTtJQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3NCLE9BQU8sQ0FBQyxDQUM1RztNQUFFdEIsSUFBSSxFQUFFO0lBQU8sQ0FBQyxDQUNqQixDQUFDO0lBRUZtQixNQUFNLENBQUMsSUFBQVcsMkNBQXdCLEVBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO01BQUU5QixJQUFJLEVBQUU7SUFBUSxDQUFDLEVBQUU7TUFBRUEsSUFBSSxFQUFFO0lBQU8sQ0FBQyxFQUFFO01BQUVBLElBQUksRUFBRTtJQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3NCLE9BQU8sQ0FDOUcsRUFDRixDQUFDO0VBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUZaLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDLElBQUlxQixhQUFhLEdBQUd0QyxJQUFJLENBQUN1QyxFQUFFLENBQUMsQ0FBQztFQUU3QkMsVUFBVSxDQUFDLFlBQU07SUFDZkYsYUFBYSxDQUFDRyxTQUFTLENBQUMsQ0FBQztFQUMzQixDQUFDLENBQUM7RUFFRixJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQTtJQUFBLE9BQVU7TUFDMUJDLFlBQVksRUFBRTtRQUFFQyxhQUFhLEVBQUU7TUFBSyxDQUFDO01BQ3JDQyxTQUFTLEVBQUUsRUFBRTtNQUNiQyxrQkFBa0IsRUFBRSxLQUFLO01BQ3pCQyxNQUFNLEVBQUU7UUFBRUMsR0FBRyxFQUFFLENBQUM7UUFBRUMsR0FBRyxFQUFFLEVBQUU7UUFBRUMsSUFBSSxFQUFFO01BQUUsQ0FBQztNQUNwQ0MsTUFBTSxFQUFFO1FBQUVDLEdBQUcsRUFBRSxHQUFHO1FBQUVDLElBQUksRUFBRSxHQUFHO1FBQUVDLEtBQUssRUFBRSxHQUFHO1FBQUVDLE1BQU0sRUFBRTtNQUFJLENBQUM7TUFDeERDLGdCQUFnQixFQUFFLElBQUk7TUFDdEJ4QyxLQUFLLEVBQUxBLEtBQUs7TUFDTHNCLGFBQWEsRUFBYkEsYUFBYTtNQUNibUIsS0FBSyxFQUFFO1FBQUVULEdBQUcsRUFBRSxDQUFDO1FBQUVDLEdBQUcsRUFBRSxFQUFFO1FBQUVDLElBQUksRUFBRTtNQUFFLENBQUM7TUFDbkNRLElBQUksRUFBRTtRQUFFQyxLQUFLLEVBQUUsR0FBRztRQUFFQyxNQUFNLEVBQUU7TUFBSSxDQUFDO01BQ2pDQyxLQUFLLEVBQUUsT0FBTztNQUNkQyxZQUFZLEVBQUV6QyxlQUFRO01BQ3RCMEMsUUFBUSxFQUFFO0lBQ1osQ0FBQztFQUFBLENBQUM7RUFDRixJQUFNQyxZQUFZLEdBQUd0QixZQUFZLENBQUMsQ0FBQztFQUVuQyxJQUFNdUIsZUFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUFJQyxNQUFNLEVBQUs7SUFDbEMsSUFBTUMsS0FBSyxHQUFBM0UsYUFBQSxDQUFBQSxhQUFBLEtBQVF3RSxZQUFZLEdBQUtFLE1BQU0sQ0FBRTtJQUM1QyxPQUFPLElBQUFFLGlCQUFNLGVBQUM3RixNQUFBLFlBQUE4QixhQUFBLENBQUM1QixrQkFBQSxDQUFBNEYsaUJBQWlCLEVBQUtGLEtBQVEsQ0FBQyxDQUFDO0VBQ2pELENBQUM7RUFFRGxELFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQkMsRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07TUFDbkMsSUFBQW9ELGdCQUFBLEdBQXNCTCxlQUFlLENBQUMsQ0FBQztRQUEvQk0sU0FBUyxHQUFBRCxnQkFBQSxDQUFUQyxTQUFTO01BQ2pCN0MsTUFBTSxDQUFDNkMsU0FBUyxDQUFDQyxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7SUFFRnZELEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO01BQ2xDLElBQUF3RCxpQkFBQSxHQUFzQlQsZUFBZSxDQUFDLENBQUM7UUFBL0JNLFNBQVMsR0FBQUcsaUJBQUEsQ0FBVEgsU0FBUztNQUNqQjdDLE1BQU0sQ0FBQzZDLFNBQVMsQ0FBQ0ksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUNGLGlCQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _testUtils = require("@pie-lib/test-utils");
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _utils = require("./utils");
9
+ var _graph = _interopRequireWildcard(require("../graph"));
10
+ var _tools = require("../tools");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ // Pure function tests - keep as-is
15
+ describe('removeBuildingToolIfCurrentToolDiffers', function () {
16
+ var marks = [{
17
+ type: 'point',
18
+ x: 2,
19
+ y: 2,
20
+ label: 'Point',
21
+ showLabel: true
22
+ }, {
23
+ type: 'line',
24
+ from: {
25
+ x: 0,
26
+ y: 0
27
+ },
28
+ label: 'Line',
29
+ building: true
30
+ }];
31
+ it('keeps all marks if currentTool is the same', function () {
32
+ expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
33
+ marks: marks,
34
+ currentTool: {
35
+ type: 'line'
36
+ }
37
+ })).toEqual(marks);
38
+ });
39
+ it('removes building marks if currentTool is different', function () {
40
+ expect((0, _graph.removeBuildingToolIfCurrentToolDiffers)({
41
+ marks: marks,
42
+ currentTool: {
43
+ type: 'different'
44
+ }
45
+ })).toEqual([marks[0]]);
46
+ });
47
+ });
48
+
49
+ // Note: Instance method tests have been removed. Component behavior should be tested
50
+ // through user interactions and integration tests.
51
+ describe('Graph', function () {
52
+ var onChangeMarks = jest.fn();
53
+ beforeEach(function () {
54
+ onChangeMarks.mockClear();
55
+ });
56
+ var complete = jest.fn();
57
+ var addPoint = jest.fn();
58
+ var currentTool = _tools.toolsArr[0];
59
+ currentTool.complete = complete;
60
+ currentTool.addPoint = addPoint;
61
+ var props = {
62
+ className: 'className',
63
+ onChangeMarks: onChangeMarks,
64
+ tools: _tools.toolsArr,
65
+ domain: {
66
+ min: 0,
67
+ max: 1,
68
+ step: 1
69
+ },
70
+ range: {
71
+ min: 0,
72
+ max: 1,
73
+ step: 1
74
+ },
75
+ size: {
76
+ width: 400,
77
+ height: 400
78
+ },
79
+ currentTool: currentTool
80
+ };
81
+ var renderComponent = function renderComponent(extras) {
82
+ var properties = _objectSpread(_objectSpread({}, props), {}, {
83
+ marks: [{
84
+ type: 'point',
85
+ x: 2,
86
+ y: 2,
87
+ label: 'Point',
88
+ showLabel: true
89
+ }, {
90
+ type: 'line',
91
+ from: {
92
+ x: 0,
93
+ y: 0
94
+ },
95
+ label: 'Line',
96
+ building: true
97
+ }]
98
+ }, extras);
99
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_graph["default"], properties));
100
+ };
101
+ describe('rendering', function () {
102
+ it('renders without crashing', function () {
103
+ var _renderComponent = renderComponent(),
104
+ container = _renderComponent.container;
105
+ expect(container.firstChild).toBeInTheDocument();
106
+ });
107
+ it('renders SVG graph', function () {
108
+ var _renderComponent2 = renderComponent(),
109
+ container = _renderComponent2.container;
110
+ expect(container.querySelector('svg')).toBeInTheDocument();
111
+ });
112
+ });
113
+ });
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXRpbHMiLCJfZ3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl90b29scyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZXNjcmliZSIsIm1hcmtzIiwidHlwZSIsIngiLCJ5IiwibGFiZWwiLCJzaG93TGFiZWwiLCJmcm9tIiwiYnVpbGRpbmciLCJpdCIsImV4cGVjdCIsInJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzIiwiY3VycmVudFRvb2wiLCJ0b0VxdWFsIiwib25DaGFuZ2VNYXJrcyIsImplc3QiLCJmbiIsImJlZm9yZUVhY2giLCJtb2NrQ2xlYXIiLCJjb21wbGV0ZSIsImFkZFBvaW50IiwidG9vbHNBcnIiLCJwcm9wcyIsImNsYXNzTmFtZSIsInRvb2xzIiwiZG9tYWluIiwibWluIiwibWF4Iiwic3RlcCIsInJhbmdlIiwic2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwicmVuZGVyQ29tcG9uZW50IiwiZXh0cmFzIiwicHJvcGVydGllcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJfcmVuZGVyQ29tcG9uZW50IiwiY29udGFpbmVyIiwiZmlyc3RDaGlsZCIsInRvQmVJblRoZURvY3VtZW50IiwiX3JlbmRlckNvbXBvbmVudDIiLCJxdWVyeVNlbGVjdG9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9ncmFwaC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IHh5IH0gZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCBHcmFwaCwgeyByZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycyB9IGZyb20gJy4uL2dyYXBoJztcbmltcG9ydCB7IHRvb2xzQXJyIH0gZnJvbSAnLi4vdG9vbHMnO1xuXG4vLyBQdXJlIGZ1bmN0aW9uIHRlc3RzIC0ga2VlcCBhcy1pc1xuZGVzY3JpYmUoJ3JlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzJywgKCkgPT4ge1xuICBsZXQgbWFya3MgPSBbXG4gICAge1xuICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICAgIHg6IDIsXG4gICAgICB5OiAyLFxuICAgICAgbGFiZWw6ICdQb2ludCcsXG4gICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnbGluZScsXG4gICAgICBmcm9tOiB7IHg6IDAsIHk6IDAgfSxcbiAgICAgIGxhYmVsOiAnTGluZScsXG4gICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICB9LFxuICBdO1xuXG4gIGl0KCdrZWVwcyBhbGwgbWFya3MgaWYgY3VycmVudFRvb2wgaXMgdGhlIHNhbWUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHJlbW92ZUJ1aWxkaW5nVG9vbElmQ3VycmVudFRvb2xEaWZmZXJzKHsgbWFya3MsIGN1cnJlbnRUb29sOiB7IHR5cGU6ICdsaW5lJyB9IH0pKS50b0VxdWFsKG1hcmtzKTtcbiAgfSk7XG5cbiAgaXQoJ3JlbW92ZXMgYnVpbGRpbmcgbWFya3MgaWYgY3VycmVudFRvb2wgaXMgZGlmZmVyZW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChyZW1vdmVCdWlsZGluZ1Rvb2xJZkN1cnJlbnRUb29sRGlmZmVycyh7IG1hcmtzLCBjdXJyZW50VG9vbDogeyB0eXBlOiAnZGlmZmVyZW50JyB9IH0pKS50b0VxdWFsKFttYXJrc1swXV0pO1xuICB9KTtcbn0pO1xuXG4vLyBOb3RlOiBJbnN0YW5jZSBtZXRob2QgdGVzdHMgaGF2ZSBiZWVuIHJlbW92ZWQuIENvbXBvbmVudCBiZWhhdmlvciBzaG91bGQgYmUgdGVzdGVkXG4vLyB0aHJvdWdoIHVzZXIgaW50ZXJhY3Rpb25zIGFuZCBpbnRlZ3JhdGlvbiB0ZXN0cy5cbmRlc2NyaWJlKCdHcmFwaCcsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlTWFya3MgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgb25DaGFuZ2VNYXJrcy5tb2NrQ2xlYXIoKTtcbiAgfSk7XG5cbiAgY29uc3QgY29tcGxldGUgPSBqZXN0LmZuKCk7XG4gIGNvbnN0IGFkZFBvaW50ID0gamVzdC5mbigpO1xuICBjb25zdCBjdXJyZW50VG9vbCA9IHRvb2xzQXJyWzBdO1xuICBjdXJyZW50VG9vbC5jb21wbGV0ZSA9IGNvbXBsZXRlO1xuICBjdXJyZW50VG9vbC5hZGRQb2ludCA9IGFkZFBvaW50O1xuXG4gIGNvbnN0IHByb3BzID0ge1xuICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgb25DaGFuZ2VNYXJrcyxcbiAgICB0b29sczogdG9vbHNBcnIsXG4gICAgZG9tYWluOiB7IG1pbjogMCwgbWF4OiAxLCBzdGVwOiAxIH0sXG4gICAgcmFuZ2U6IHsgbWluOiAwLCBtYXg6IDEsIHN0ZXA6IDEgfSxcbiAgICBzaXplOiB7IHdpZHRoOiA0MDAsIGhlaWdodDogNDAwIH0sXG4gICAgY3VycmVudFRvb2wsXG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIG1hcmtzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAncG9pbnQnLFxuICAgICAgICAgIHg6IDIsXG4gICAgICAgICAgeTogMixcbiAgICAgICAgICBsYWJlbDogJ1BvaW50JyxcbiAgICAgICAgICBzaG93TGFiZWw6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnbGluZScsXG4gICAgICAgICAgZnJvbTogeyB4OiAwLCB5OiAwIH0sXG4gICAgICAgICAgbGFiZWw6ICdMaW5lJyxcbiAgICAgICAgICBidWlsZGluZzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICAuLi5leHRyYXMsXG4gICAgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxHcmFwaCB7Li4ucHJvcGVydGllc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZW5kZXJzIFNWRyBncmFwaCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIucXVlcnlTZWxlY3Rvcignc3ZnJykpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEs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
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _testUtils = require("@pie-lib/test-utils");
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _grid = require("../grid");
8
+ var _utils = require("./utils");
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ describe('Grid', function () {
12
+ var renderComponent = function renderComponent(extras) {
13
+ var defaults = {
14
+ classes: {},
15
+ className: 'className',
16
+ graphProps: (0, _utils.graphProps)()
17
+ };
18
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
19
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_grid.Grid, props));
20
+ };
21
+ describe('rendering', function () {
22
+ it('renders without crashing', function () {
23
+ var _renderComponent = renderComponent(),
24
+ container = _renderComponent.container;
25
+ expect(container.firstChild).toBeInTheDocument();
26
+ });
27
+ });
28
+ });
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfZ3JpZCIsIl91dGlscyIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiZGVzY3JpYmUiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJncmFwaFByb3BzIiwicHJvcHMiLCJyZW5kZXIiLCJjcmVhdGVFbGVtZW50IiwiR3JpZCIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZ3JpZC50ZXN0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIgfSBmcm9tICdAcGllLWxpYi90ZXN0LXV0aWxzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSAnLi4vZ3JpZCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbmRlc2NyaWJlKCdHcmlkJywgKCkgPT4ge1xuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBncmFwaFByb3BzOiBncmFwaFByb3BzKCksXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHsgLi4uZGVmYXVsdHMsIC4uLmV4dHJhcyB9O1xuICAgIHJldHVybiByZW5kZXIoPEdyaWQgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsS0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQXFDLFNBQUFLLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFDLE1BQUEsRUFBQWIsQ0FBQSxVQUFBQyxDQUFBLFdBQUFXLFNBQUEsQ0FBQVosQ0FBQSxJQUFBWSxTQUFBLENBQUFaLENBQUEsUUFBQUEsQ0FBQSxPQUFBRixPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxPQUFBYSxPQUFBLFdBQUFkLENBQUEsUUFBQWUsZ0JBQUEsYUFBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBRXJDb0IsUUFBUSxDQUFDLE1BQU0sRUFBRSxZQUFNO0VBQ3JCLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsTUFBTSxFQUFLO0lBQ2xDLElBQU1DLFFBQVEsR0FBRztNQUNmQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO01BQ1hDLFNBQVMsRUFBRSxXQUFXO01BQ3RCQyxVQUFVLEVBQUUsSUFBQUEsaUJBQVUsRUFBQztJQUN6QixDQUFDO0lBQ0QsSUFBTUMsS0FBSyxHQUFBZixhQUFBLENBQUFBLGFBQUEsS0FBUVcsUUFBUSxHQUFLRCxNQUFNLENBQUU7SUFDeEMsT0FBTyxJQUFBTSxpQkFBTSxlQUFDakMsTUFBQSxZQUFBa0MsYUFBQSxDQUFDaEMsS0FBQSxDQUFBaUMsSUFBSSxFQUFLSCxLQUFRLENBQUMsQ0FBQztFQUNwQyxDQUFDO0VBRURQLFFBQVEsQ0FBQyxXQUFXLEVBQUUsWUFBTTtJQUMxQlcsRUFBRSxDQUFDLDBCQUEwQixFQUFFLFlBQU07TUFDbkMsSUFBQUMsZ0JBQUEsR0FBc0JYLGVBQWUsQ0FBQyxDQUFDO1FBQS9CWSxTQUFTLEdBQUFELGdCQUFBLENBQVRDLFNBQVM7TUFDakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDRSxVQUFVLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _testUtils = require("@pie-lib/test-utils");
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _labels = _interopRequireWildcard(require("../labels"));
9
+ var _utils = require("./utils");
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
13
+ describe('Labels', function () {
14
+ var onChange = jest.fn();
15
+ var renderComponent = function renderComponent(extras) {
16
+ var defaults = {
17
+ classes: {},
18
+ className: 'className',
19
+ onChange: onChange,
20
+ graphProps: (0, _utils.graphProps)()
21
+ };
22
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
23
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_labels["default"], props));
24
+ };
25
+ describe('rendering', function () {
26
+ it('renders without crashing', function () {
27
+ var _renderComponent = renderComponent(),
28
+ container = _renderComponent.container;
29
+ expect(container.firstChild).toBeInTheDocument();
30
+ });
31
+ });
32
+ });
33
+ describe('getTransform', function () {
34
+ var assertTransform = function assertTransform(side, expected) {
35
+ it("returns ".concat(expected, " for ").concat(side), function () {
36
+ var r = (0, _labels.getTransform)('left', 100, 100);
37
+ expect(r).toEqual('translate(-20, 50), rotate(-90)');
38
+ });
39
+ };
40
+ assertTransform('left', 'translate(-20, 50), rotate(-90)');
41
+ assertTransform('right', 'translate(130, 50), rotate(90)');
42
+ assertTransform('top', 'translate(50, -20), rotate(0)');
43
+ assertTransform('bottom', 'translate(50, 130), rotate(0)');
44
+ });
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbGFiZWxzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpYmUiLCJvbkNoYW5nZSIsImplc3QiLCJmbiIsInJlbmRlckNvbXBvbmVudCIsImV4dHJhcyIsImRlZmF1bHRzIiwiY2xhc3NlcyIsImNsYXNzTmFtZSIsImdyYXBoUHJvcHMiLCJwcm9wcyIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJpdCIsIl9yZW5kZXJDb21wb25lbnQiLCJjb250YWluZXIiLCJleHBlY3QiLCJmaXJzdENoaWxkIiwidG9CZUluVGhlRG9jdW1lbnQiLCJhc3NlcnRUcmFuc2Zvcm0iLCJzaWRlIiwiZXhwZWN0ZWQiLCJjb25jYXQiLCJnZXRUcmFuc2Zvcm0iLCJ0b0VxdWFsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9sYWJlbHMudGVzdC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyIH0gZnJvbSAnQHBpZS1saWIvdGVzdC11dGlscyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTGFiZWxzLCB7IGdldFRyYW5zZm9ybSB9IGZyb20gJy4uL2xhYmVscyc7XG5pbXBvcnQgeyBncmFwaFByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5cbmRlc2NyaWJlKCdMYWJlbHMnLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSA9IGplc3QuZm4oKTtcblxuICBjb25zdCByZW5kZXJDb21wb25lbnQgPSAoZXh0cmFzKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBjbGFzc2VzOiB7fSxcbiAgICAgIGNsYXNzTmFtZTogJ2NsYXNzTmFtZScsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIGdyYXBoUHJvcHM6IGdyYXBoUHJvcHMoKSxcbiAgICB9O1xuICAgIGNvbnN0IHByb3BzID0geyAuLi5kZWZhdWx0cywgLi4uZXh0cmFzIH07XG4gICAgcmV0dXJuIHJlbmRlcig8TGFiZWxzIHsuLi5wcm9wc30gLz4pO1xuICB9O1xuXG4gIGRlc2NyaWJlKCdyZW5kZXJpbmcnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMgd2l0aG91dCBjcmFzaGluZycsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoKTtcbiAgICAgIGV4cGVjdChjb250YWluZXIuZmlyc3RDaGlsZCkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2dldFRyYW5zZm9ybScsICgpID0+IHtcbiAgY29uc3QgYXNzZXJ0VHJhbnNmb3JtID0gKHNpZGUsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYHJldHVybnMgJHtleHBlY3RlZH0gZm9yICR7c2lkZX1gLCAoKSA9PiB7XG4gICAgICBjb25zdCByID0gZ2V0VHJhbnNmb3JtKCdsZWZ0JywgMTAwLCAxMDApO1xuICAgICAgZXhwZWN0KHIpLnRvRXF1YWwoJ3RyYW5zbGF0ZSgtMjAsIDUwKSwgcm90YXRlKC05MCknKTtcbiAgICB9KTtcbiAgfTtcblxuICBhc3NlcnRUcmFuc2Zvcm0oJ2xlZnQnLCAndHJhbnNsYXRlKC0yMCwgNTApLCByb3RhdGUoLTkwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ3JpZ2h0JywgJ3RyYW5zbGF0ZSgxMzAsIDUwKSwgcm90YXRlKDkwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ3RvcCcsICd0cmFuc2xhdGUoNTAsIC0yMCksIHJvdGF0ZSgwKScpO1xuICBhc3NlcnRUcmFuc2Zvcm0oJ2JvdHRvbScsICd0cmFuc2xhdGUoNTAsIDEzMCksIHJvdGF0ZSgwKScpO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsT0FBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQXFDLFNBQUFJLHdCQUFBRSxDQUFBLEVBQUFDLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBSix1QkFBQSxZQUFBQSx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLFNBQUFBLENBQUEsSUFBQUQsQ0FBQSxJQUFBQSxDQUFBLENBQUFLLFVBQUEsU0FBQUwsQ0FBQSxNQUFBTSxDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxLQUFBQyxTQUFBLG1CQUFBVCxDQUFBLGlCQUFBQSxDQUFBLGdCQUFBVSxPQUFBLENBQUFWLENBQUEsMEJBQUFBLENBQUEsU0FBQVEsQ0FBQSxNQUFBRixDQUFBLEdBQUFMLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLFFBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFVBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEdBQUFNLENBQUEsQ0FBQU8sR0FBQSxDQUFBYixDQUFBLEVBQUFRLENBQUEsY0FBQU0sRUFBQSxJQUFBZCxDQUFBLGdCQUFB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
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
+ var _testUtils = require("@pie-lib/test-utils");
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _markLabel = require("../mark-label");
8
+ var _utils = require("./utils");
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ describe('MarkLabel', function () {
12
+ var onChange = jest.fn();
13
+ var inputRef = jest.fn();
14
+ var renderComponent = function renderComponent(extras) {
15
+ var defaults = {
16
+ classes: {},
17
+ className: 'className',
18
+ onChange: onChange,
19
+ inputRef: inputRef,
20
+ mark: {
21
+ x: 1,
22
+ y: 1
23
+ },
24
+ graphProps: (0, _utils.graphProps)(0, 10, 0, 10)
25
+ };
26
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
27
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_markLabel.MarkLabel, props));
28
+ };
29
+ describe('rendering', function () {
30
+ it('renders without crashing', function () {
31
+ var _renderComponent = renderComponent(),
32
+ container = _renderComponent.container;
33
+ expect(container.firstChild).toBeInTheDocument();
34
+ });
35
+ it('renders with different mark position', function () {
36
+ var _renderComponent2 = renderComponent({
37
+ mark: {
38
+ x: 10,
39
+ y: 10
40
+ }
41
+ }),
42
+ container = _renderComponent2.container;
43
+ expect(container.firstChild).toBeInTheDocument();
44
+ });
45
+ });
46
+ });
47
+ describe('position', function () {
48
+ var assertPosition = function assertPosition(mark, rect, expected) {
49
+ it("".concat(mark.x, ",").concat(mark.y, " + ").concat(rect.width, ",").concat(rect.height, " => ").concat(expected), function () {
50
+ // we set range.min to a value because in pixels - the greater the Y the lower down on the screen.
51
+ var graphProps = (0, _utils.graphProps)(0, 12, 12, 0);
52
+ var result = (0, _markLabel.position)(graphProps, mark, rect);
53
+ expect(result).toEqual(expected);
54
+ });
55
+ };
56
+ assertPosition({
57
+ x: 0,
58
+ y: 0
59
+ }, {
60
+ width: 10,
61
+ height: 10
62
+ }, 'top-left');
63
+ assertPosition({
64
+ x: 0,
65
+ y: 0
66
+ }, {
67
+ width: 1,
68
+ height: 1
69
+ }, 'bottom-right');
70
+ assertPosition({
71
+ x: 0,
72
+ y: 0
73
+ }, {
74
+ width: 10,
75
+ height: 0
76
+ }, 'bottom-left');
77
+ assertPosition({
78
+ x: 0,
79
+ y: 0
80
+ }, {
81
+ width: 0,
82
+ height: 10
83
+ }, 'top-right');
84
+ });
85
+ describe('coordinates', function () {
86
+ var assertCoordinates = function assertCoordinates(mark, rect, pos, expected) {
87
+ it("".concat(mark.x, ", ").concat(mark.y, " -> ").concat(pos, " = ").concat(expected.left, ", ").concat(expected.top), function () {
88
+ var result = (0, _markLabel.coordinates)((0, _utils.graphProps)(), mark, rect, pos);
89
+ expect(result).toEqual(expected);
90
+ });
91
+ };
92
+ assertCoordinates({
93
+ x: 0,
94
+ y: 0
95
+ }, {
96
+ width: 0,
97
+ height: 0
98
+ }, 'top-left', {
99
+ left: -10,
100
+ top: -10
101
+ });
102
+ assertCoordinates({
103
+ x: 0,
104
+ y: 0
105
+ }, {
106
+ width: 0,
107
+ height: 0
108
+ }, 'bottom-left', {
109
+ left: -10,
110
+ top: 10
111
+ });
112
+ assertCoordinates({
113
+ x: 0,
114
+ y: 0
115
+ }, {
116
+ width: 0,
117
+ height: 0
118
+ }, 'top-right', {
119
+ left: 10,
120
+ top: -10
121
+ });
122
+ assertCoordinates({
123
+ x: 0,
124
+ y: 0
125
+ }, {
126
+ width: 0,
127
+ height: 0
128
+ }, 'bottom-right', {
129
+ left: 10,
130
+ top: 10
131
+ });
132
+ });
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVzdFV0aWxzIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbWFya0xhYmVsIiwiX3V0aWxzIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJkZXNjcmliZSIsIm9uQ2hhbmdlIiwiamVzdCIsImZuIiwiaW5wdXRSZWYiLCJyZW5kZXJDb21wb25lbnQiLCJleHRyYXMiLCJkZWZhdWx0cyIsImNsYXNzZXMiLCJjbGFzc05hbWUiLCJtYXJrIiwieCIsInkiLCJncmFwaFByb3BzIiwiZ2V0R3JhcGhQcm9wcyIsInByb3BzIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIk1hcmtMYWJlbCIsIml0IiwiX3JlbmRlckNvbXBvbmVudCIsImNvbnRhaW5lciIsImV4cGVjdCIsImZpcnN0Q2hpbGQiLCJ0b0JlSW5UaGVEb2N1bWVudCIsIl9yZW5kZXJDb21wb25lbnQyIiwiYXNzZXJ0UG9zaXRpb24iLCJyZWN0IiwiZXhwZWN0ZWQiLCJjb25jYXQiLCJ3aWR0aCIsImhlaWdodCIsInJlc3VsdCIsInBvc2l0aW9uIiwidG9FcXVhbCIsImFzc2VydENvb3JkaW5hdGVzIiwicG9zIiwibGVmdCIsInRvcCIsImNvb3JkaW5hdGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9tYXJrLWxhYmVsLnRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciB9IGZyb20gJ0BwaWUtbGliL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IE1hcmtMYWJlbCwgcG9zaXRpb24sIGNvb3JkaW5hdGVzIH0gZnJvbSAnLi4vbWFyay1sYWJlbCc7XG5pbXBvcnQgeyBncmFwaFByb3BzIGFzIGdldEdyYXBoUHJvcHMgfSBmcm9tICcuL3V0aWxzJztcblxuZGVzY3JpYmUoJ01hcmtMYWJlbCcsICgpID0+IHtcbiAgbGV0IG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICBsZXQgaW5wdXRSZWYgPSBqZXN0LmZuKCk7XG5cbiAgY29uc3QgcmVuZGVyQ29tcG9uZW50ID0gKGV4dHJhcykgPT4ge1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgY2xhc3Nlczoge30sXG4gICAgICBjbGFzc05hbWU6ICdjbGFzc05hbWUnLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBpbnB1dFJlZixcbiAgICAgIG1hcms6IHsgeDogMSwgeTogMSB9LFxuICAgICAgZ3JhcGhQcm9wczogZ2V0R3JhcGhQcm9wcygwLCAxMCwgMCwgMTApLFxuICAgIH07XG4gICAgY29uc3QgcHJvcHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5leHRyYXMgfTtcbiAgICByZXR1cm4gcmVuZGVyKDxNYXJrTGFiZWwgey4uLnByb3BzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3JlbmRlcmluZycsICgpID0+IHtcbiAgICBpdCgncmVuZGVycyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlckNvbXBvbmVudCgpO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlbmRlcnMgd2l0aCBkaWZmZXJlbnQgbWFyayBwb3NpdGlvbicsICgpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGFpbmVyIH0gPSByZW5kZXJDb21wb25lbnQoeyBtYXJrOiB7IHg6IDEwLCB5OiAxMCB9IH0pO1xuICAgICAgZXhwZWN0KGNvbnRhaW5lci5maXJzdENoaWxkKS50b0JlSW5UaGVEb2N1bWVudCgpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgncG9zaXRpb24nLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydFBvc2l0aW9uID0gKG1hcmssIHJlY3QsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYCR7bWFyay54fSwke21hcmsueX0gKyAke3JlY3Qud2lkdGh9LCR7cmVjdC5oZWlnaHR9ID0+ICR7ZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgLy8gd2Ugc2V0IHJhbmdlLm1pbiB0byBhIHZhbHVlIGJlY2F1c2UgaW4gcGl4ZWxzIC0gdGhlIGdyZWF0ZXIgdGhlIFkgdGhlIGxvd2VyIGRvd24gb24gdGhlIHNjcmVlbi5cbiAgICAgIGNvbnN0IGdyYXBoUHJvcHMgPSBnZXRHcmFwaFByb3BzKDAsIDEyLCAxMiwgMCk7XG4gICAgICBjb25zdCByZXN1bHQgPSBwb3NpdGlvbihncmFwaFByb3BzLCBtYXJrLCByZWN0KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGFzc2VydFBvc2l0aW9uKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAxMCwgaGVpZ2h0OiAxMCB9LCAndG9wLWxlZnQnKTtcbiAgYXNzZXJ0UG9zaXRpb24oeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDEsIGhlaWdodDogMSB9LCAnYm90dG9tLXJpZ2h0Jyk7XG4gIGFzc2VydFBvc2l0aW9uKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAxMCwgaGVpZ2h0OiAwIH0sICdib3R0b20tbGVmdCcpO1xuICBhc3NlcnRQb3NpdGlvbih7IHg6IDAsIHk6IDAgfSwgeyB3aWR0aDogMCwgaGVpZ2h0OiAxMCB9LCAndG9wLXJpZ2h0Jyk7XG59KTtcblxuZGVzY3JpYmUoJ2Nvb3JkaW5hdGVzJywgKCkgPT4ge1xuICBjb25zdCBhc3NlcnRDb29yZGluYXRlcyA9IChtYXJrLCByZWN0LCBwb3MsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYCR7bWFyay54fSwgJHttYXJrLnl9IC0+ICR7cG9zfSA9ICR7ZXhwZWN0ZWQubGVmdH0sICR7ZXhwZWN0ZWQudG9wfWAsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvb3JkaW5hdGVzKGdldEdyYXBoUHJvcHMoKSwgbWFyaywgcmVjdCwgcG9zKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgIH0pO1xuICB9O1xuICBhc3NlcnRDb29yZGluYXRlcyh7IHg6IDAsIHk6IDAgfSwgeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH0sICd0b3AtbGVmdCcsIHsgbGVmdDogLTEwLCB0b3A6IC0xMCB9KTtcbiAgYXNzZXJ0Q29vcmRpbmF0ZXMoeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9LCAnYm90dG9tLWxlZnQnLCB7IGxlZnQ6IC0xMCwgdG9wOiAxMCB9KTtcbiAgYXNzZXJ0Q29vcmRpbmF0ZXMoeyB4OiAwLCB5OiAwIH0sIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9LCAndG9wLXJpZ2h0JywgeyBsZWZ0OiAxMCwgdG9wOiAtMTAgfSk7XG4gIGFzc2VydENvb3JkaW5hdGVzKHsgeDogMCwgeTogMCB9LCB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfSwgJ2JvdHRvbS1yaWdodCcsIHtcbiAgICBsZWZ0OiAxMCxcbiAgICB0b3A6IDEwLFxuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQXNELFNBQUFLLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9B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