@pie-lib/text-select 1.13.0-beta.5 → 1.13.0-beta.7

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.
@@ -1,210 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _index = require("../index");
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _enzyme = require("enzyme");
10
-
11
- var _builder = require("../builder");
12
-
13
- var tokens = function tokens() {
14
- return [{
15
- start: 0,
16
- end: 1,
17
- text: 'f'
18
- }];
19
- };
20
-
21
- var eff = function eff() {
22
- return tokens()[0];
23
- };
24
-
25
- jest.mock("../builder", function () {
26
- return {
27
- words: jest.fn().mockReturnValue([{
28
- start: 0,
29
- end: 3,
30
- text: 'foo'
31
- }]),
32
- sentences: jest.fn().mockReturnValue([{
33
- start: 0,
34
- end: 3,
35
- text: 'foo'
36
- }]),
37
- paragraphs: jest.fn().mockReturnValue([{
38
- start: 0,
39
- end: 3,
40
- text: 'foo'
41
- }])
42
- };
43
- });
44
- describe('tokenizer', function () {
45
- describe('snapshot', function () {
46
- it('renders', function () {
47
- var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
48
- text: "foo",
49
- classes: {},
50
- onChange: jest.fn(),
51
- tokens: tokens()
52
- }));
53
- expect(w).toMatchSnapshot();
54
- });
55
- });
56
- describe('logic', function () {
57
- var w;
58
- var onChange;
59
- beforeEach(function () {
60
- onChange = jest.fn();
61
- w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index.Tokenizer, {
62
- text: "foo",
63
- classes: {},
64
- onChange: onChange,
65
- tokens: tokens()
66
- }));
67
- });
68
- describe('tokenIndex', function () {
69
- it('returns 0', function () {
70
- var index = w.instance().tokenIndex(eff());
71
- expect(index).toEqual(0);
72
- });
73
- it('returns -1', function () {
74
- var index = w.instance().tokenIndex({
75
- start: 2,
76
- end: 3,
77
- text: 'f'
78
- });
79
- expect(index).toEqual(-1);
80
- });
81
- });
82
- describe('tokenClick', function () {
83
- var i;
84
- beforeEach(function () {
85
- i = w.instance();
86
- i.setCorrect = jest.fn();
87
- i.removeToken = jest.fn();
88
- });
89
- it('calls removeToken if setCorrectMode == false', function () {
90
- i.tokenClick(eff());
91
- expect(i.setCorrect).not.toBeCalled();
92
- expect(i.removeToken).toBeCalled();
93
- });
94
- it('calls setCorrect if setCorrectMode == true', function () {
95
- i.setState({
96
- setCorrectMode: true
97
- });
98
- i.tokenClick(eff());
99
- expect(i.setCorrect).toBeCalled();
100
- expect(i.removeToken).not.toBeCalled();
101
- });
102
- });
103
- describe('selectToken', function () {
104
- it('calls onChange', function () {
105
- w.instance().selectToken({
106
- start: 1,
107
- end: 3,
108
- text: 'oo'
109
- }, [{
110
- start: 0,
111
- end: 1,
112
- text: 'f'
113
- }]);
114
- expect(onChange).toBeCalledWith([{
115
- start: 1,
116
- end: 3,
117
- text: 'oo'
118
- }], '');
119
- });
120
- });
121
- describe('buildParagraphsTokens', function () {
122
- it('calls paragraphs', function () {
123
- w.instance().buildTokens('paragraph', _builder.paragraphs);
124
- expect(_builder.paragraphs).toBeCalledWith('foo');
125
- });
126
- });
127
- describe('buildSentenceTokens', function () {
128
- it('calls sentences', function () {
129
- w.instance().buildTokens('sentence', _builder.sentences);
130
- expect(_builder.sentences).toBeCalledWith('foo');
131
- });
132
- });
133
- describe('buildWordTokens', function () {
134
- it('calls words', function () {
135
- w.instance().buildTokens('word', _builder.words);
136
- expect(_builder.words).toBeCalledWith('foo');
137
- });
138
- });
139
- describe('clear', function () {
140
- it('calls onChange with an empty array', function () {
141
- w.instance().clear();
142
- expect(onChange).toBeCalledWith([], '');
143
- });
144
- });
145
- describe('toggleCorrectMode', function () {
146
- it('set state', function () {
147
- w.setState({
148
- setCorrectMode: true
149
- });
150
- w.instance().toggleCorrectMode();
151
- expect(w.state('setCorrectMode')).toEqual(false);
152
- });
153
- });
154
- describe('setCorrect', function () {
155
- it('calls onChange', function () {
156
- w.instance().setCorrect({
157
- start: 0,
158
- end: 1,
159
- text: 'f'
160
- });
161
- expect(onChange).toBeCalledWith([{
162
- start: 0,
163
- end: 1,
164
- text: 'f',
165
- correct: true
166
- }], '');
167
- });
168
- it('calls onChange w/ correct: false', function () {
169
- w.setProps({
170
- tokens: [{
171
- start: 0,
172
- end: 1,
173
- text: 'f',
174
- correct: true
175
- }]
176
- });
177
- w.instance().setCorrect({
178
- start: 0,
179
- end: 1,
180
- text: 'f'
181
- });
182
- expect(onChange).toBeCalledWith([{
183
- start: 0,
184
- end: 1,
185
- text: 'f',
186
- correct: false
187
- }], '');
188
- });
189
- });
190
- describe('removeToken', function () {
191
- it('calls onChange', function () {
192
- w.instance().removeToken({
193
- start: 0,
194
- end: 1,
195
- text: 'f'
196
- });
197
- expect(onChange).toBeCalledWith([], '');
198
- });
199
- it('does not call onChange if it cant find the token', function () {
200
- w.instance().removeToken({
201
- start: 2,
202
- end: 3,
203
- text: 'a'
204
- });
205
- expect(onChange).not.toBeCalled();
206
- });
207
- });
208
- });
209
- });
210
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL2luZGV4LnRlc3QuanN4Il0sIm5hbWVzIjpbInRva2VucyIsInN0YXJ0IiwiZW5kIiwidGV4dCIsImVmZiIsImplc3QiLCJtb2NrIiwid29yZHMiLCJmbiIsIm1vY2tSZXR1cm5WYWx1ZSIsInNlbnRlbmNlcyIsInBhcmFncmFwaHMiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uQ2hhbmdlIiwiYmVmb3JlRWFjaCIsImluZGV4IiwiaW5zdGFuY2UiLCJ0b2tlbkluZGV4IiwidG9FcXVhbCIsImkiLCJzZXRDb3JyZWN0IiwicmVtb3ZlVG9rZW4iLCJ0b2tlbkNsaWNrIiwibm90IiwidG9CZUNhbGxlZCIsInNldFN0YXRlIiwic2V0Q29ycmVjdE1vZGUiLCJzZWxlY3RUb2tlbiIsInRvQmVDYWxsZWRXaXRoIiwiYnVpbGRUb2tlbnMiLCJjbGVhciIsInRvZ2dsZUNvcnJlY3RNb2RlIiwic3RhdGUiLCJjb3JyZWN0Iiwic2V0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLFNBQU0sQ0FDbkI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLENBRFQ7QUFFRUMsSUFBQUEsR0FBRyxFQUFFLENBRlA7QUFHRUMsSUFBQUEsSUFBSSxFQUFFO0FBSFIsR0FEbUIsQ0FBTjtBQUFBLENBQWY7O0FBUUEsSUFBTUMsR0FBRyxHQUFHLFNBQU5BLEdBQU07QUFBQSxTQUFNSixNQUFNLEdBQUcsQ0FBSCxDQUFaO0FBQUEsQ0FBWjs7QUFFQUssSUFBSSxDQUFDQyxJQUFMLGVBQXdCO0FBQUEsU0FBTztBQUM3QkMsSUFBQUEsS0FBSyxFQUFFRixJQUFJLENBQUNHLEVBQUwsR0FBVUMsZUFBVixDQUEwQixDQUFDO0FBQUVSLE1BQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLE1BQUFB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QWpCLENBQWdDLEVBQWhDLEVBQW9DLEVBQXBDO0FBQ0QsT0FIQyxDQUFGO0FBSUFuQixNQUFBQSxFQUFFLENBQUMsa0RBQUQsRUFBcUQsWUFBTTtBQUMzREMsUUFBQUEsQ0FBQyxDQUFDTSxRQUFGLEdBQWFLLFdBQWIsQ0FBeUI7QUFBRXhCLFVBQUFBLEtBQUssRUFBRSxDQUFUO0FBQVlDLFVBQUFBLEdBQUcsRUFBRSxDQUFqQjtBQUFvQkMsVUFBQUEsSUFBSSxFQUFFO0FBQTFCLFNBQXpCO0FBQ0FZLFFBQUFBLE1BQU0sQ0FBQ0UsUUFBRCxDQUFOLENBQWlCVSxHQUFqQixDQUFxQkMsVUFBckI7QUFDRCxPQUhDLENBQUY7QUFJRCxLQVRPLENBQVI7QUFVRCxHQTlHTyxDQUFSO0FBK0dELENBdkhPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUb2tlbml6ZXIgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc2hhbGxvdyB9IGZyb20gJ2VuenltZSc7XG5pbXBvcnQgeyB3b3Jkcywgc2VudGVuY2VzLCBwYXJhZ3JhcGhzIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5cbmNvbnN0IHRva2VucyA9ICgpID0+IFtcbiAge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogMSxcbiAgICB0ZXh0OiAnZicsXG4gIH0sXG5dO1xuXG5jb25zdCBlZmYgPSAoKSA9PiB0b2tlbnMoKVswXTtcblxuamVzdC5tb2NrKCcuLi9idWlsZGVyJywgKCkgPT4gKHtcbiAgd29yZHM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW3sgc3RhcnQ6IDAsIGVuZDogMywgdGV4dDogJ2ZvbycgfV0pLFxuICBzZW50ZW5jZXM6IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoW3sgc3RhcnQ6IDAsIGVuZDogMywgdGV4dDogJ2ZvbycgfV0pLFxuICBwYXJhZ3JhcGhzOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFt7IHN0YXJ0OiAwLCBlbmQ6IDMsIHRleHQ6ICdmb28nIH1dKSxcbn0pKTtcbmRlc2NyaWJlKCd0b2tlbml6ZXInLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdzbmFwc2hvdCcsICgpID0+IHtcbiAgICBpdCgncmVuZGVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHcgPSBzaGFsbG93KDxUb2tlbml6ZXIgdGV4dD1cImZvb1wiIGNsYXNzZXM9e3t9fSBvbkNoYW5nZT17amVzdC5mbigpfSB0b2tlbnM9e3Rva2VucygpfSAvPik7XG4gICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBsZXQgdztcbiAgICBsZXQgb25DaGFuZ2U7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIG9uQ2hhbmdlID0gamVzdC5mbigpO1xuICAgICAgdyA9IHNoYWxsb3coPFRva2VuaXplciB0ZXh0PVwiZm9vXCIgY2xhc3Nlcz17e319IG9uQ2hhbmdlPXtvbkNoYW5nZX0gdG9rZW5zPXt0b2tlbnMoKX0gLz4pO1xuICAgIH0pO1xuICAgIGRlc2NyaWJlKCd0b2tlbkluZGV4JywgKCkgPT4ge1xuICAgICAgaXQoJ3JldHVybnMgMCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB3Lmluc3RhbmNlKCkudG9rZW5JbmRleChlZmYoKSk7XG4gICAgICAgIGV4cGVjdChpbmRleCkudG9FcXVhbCgwKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgncmV0dXJucyAtMScsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB3Lmluc3RhbmNlKCkudG9rZW5JbmRleCh7IHN0YXJ0OiAyLCBlbmQ6IDMsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KGluZGV4KS50b0VxdWFsKC0xKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Rva2VuQ2xpY2snLCAoKSA9PiB7XG4gICAgICBsZXQgaTtcblxuICAgICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIGkgPSB3Lmluc3RhbmNlKCk7XG4gICAgICAgIGkuc2V0Q29ycmVjdCA9IGplc3QuZm4oKTtcbiAgICAgICAgaS5yZW1vdmVUb2tlbiA9IGplc3QuZm4oKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgcmVtb3ZlVG9rZW4gaWYgc2V0Q29ycmVjdE1vZGUgPT0gZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGkudG9rZW5DbGljayhlZmYoKSk7XG4gICAgICAgIGV4cGVjdChpLnNldENvcnJlY3QpLm5vdC50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChpLnJlbW92ZVRva2VuKS50b0JlQ2FsbGVkKCk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2NhbGxzIHNldENvcnJlY3QgaWYgc2V0Q29ycmVjdE1vZGUgPT0gdHJ1ZScsICgpID0+IHtcbiAgICAgICAgaS5zZXRTdGF0ZSh7IHNldENvcnJlY3RNb2RlOiB0cnVlIH0pO1xuICAgICAgICBpLnRva2VuQ2xpY2soZWZmKCkpO1xuICAgICAgICBleHBlY3QoaS5zZXRDb3JyZWN0KS50b0JlQ2FsbGVkKCk7XG4gICAgICAgIGV4cGVjdChpLnJlbW92ZVRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2VsZWN0VG9rZW4nLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2UnLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5zZWxlY3RUb2tlbih7IHN0YXJ0OiAxLCBlbmQ6IDMsIHRleHQ6ICdvbycgfSwgW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH1dKTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbeyBzdGFydDogMSwgZW5kOiAzLCB0ZXh0OiAnb28nIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdidWlsZFBhcmFncmFwaHNUb2tlbnMnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgcGFyYWdyYXBocycsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmJ1aWxkVG9rZW5zKCdwYXJhZ3JhcGgnLCBwYXJhZ3JhcGhzKTtcbiAgICAgICAgZXhwZWN0KHBhcmFncmFwaHMpLnRvQmVDYWxsZWRXaXRoKCdmb28nKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2J1aWxkU2VudGVuY2VUb2tlbnMnLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgc2VudGVuY2VzJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuYnVpbGRUb2tlbnMoJ3NlbnRlbmNlJywgc2VudGVuY2VzKTtcbiAgICAgICAgZXhwZWN0KHNlbnRlbmNlcykudG9CZUNhbGxlZFdpdGgoJ2ZvbycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnYnVpbGRXb3JkVG9rZW5zJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIHdvcmRzJywgKCkgPT4ge1xuICAgICAgICB3Lmluc3RhbmNlKCkuYnVpbGRUb2tlbnMoJ3dvcmQnLCB3b3Jkcyk7XG4gICAgICAgIGV4cGVjdCh3b3JkcykudG9CZUNhbGxlZFdpdGgoJ2ZvbycpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnY2xlYXInLCAoKSA9PiB7XG4gICAgICBpdCgnY2FsbHMgb25DaGFuZ2Ugd2l0aCBhbiBlbXB0eSBhcnJheScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLmNsZWFyKCk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW10sICcnKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3RvZ2dsZUNvcnJlY3RNb2RlJywgKCkgPT4ge1xuICAgICAgaXQoJ3NldCBzdGF0ZScsICgpID0+IHtcbiAgICAgICAgdy5zZXRTdGF0ZSh7IHNldENvcnJlY3RNb2RlOiB0cnVlIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkudG9nZ2xlQ29ycmVjdE1vZGUoKTtcbiAgICAgICAgZXhwZWN0KHcuc3RhdGUoJ3NldENvcnJlY3RNb2RlJykpLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnc2V0Q29ycmVjdCcsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnNldENvcnJlY3QoeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicgfSk7XG4gICAgICAgIGV4cGVjdChvbkNoYW5nZSkudG9CZUNhbGxlZFdpdGgoW3sgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnLCBjb3JyZWN0OiB0cnVlIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZSB3LyBjb3JyZWN0OiBmYWxzZScsICgpID0+IHtcbiAgICAgICAgdy5zZXRQcm9wcyh7XG4gICAgICAgICAgdG9rZW5zOiBbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicsIGNvcnJlY3Q6IHRydWUgfV0sXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkuc2V0Q29ycmVjdCh7IHN0YXJ0OiAwLCBlbmQ6IDEsIHRleHQ6ICdmJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aChbeyBzdGFydDogMCwgZW5kOiAxLCB0ZXh0OiAnZicsIGNvcnJlY3Q6IGZhbHNlIH1dLCAnJyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyZW1vdmVUb2tlbicsICgpID0+IHtcbiAgICAgIGl0KCdjYWxscyBvbkNoYW5nZScsICgpID0+IHtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJlbW92ZVRva2VuKHsgc3RhcnQ6IDAsIGVuZDogMSwgdGV4dDogJ2YnIH0pO1xuICAgICAgICBleHBlY3Qob25DaGFuZ2UpLnRvQmVDYWxsZWRXaXRoKFtdLCAnJyk7XG4gICAgICB9KTtcbiAgICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uQ2hhbmdlIGlmIGl0IGNhbnQgZmluZCB0aGUgdG9rZW4nLCAoKSA9PiB7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yZW1vdmVUb2tlbih7IHN0YXJ0OiAyLCBlbmQ6IDMsIHRleHQ6ICdhJyB9KTtcbiAgICAgICAgZXhwZWN0KG9uQ2hhbmdlKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- var _selectionUtils = require("../selection-utils");
4
-
5
- describe('selection-utils', function () {
6
- var selection;
7
- var range;
8
- beforeEach(function () {
9
- selection = {
10
- removeAllRanges: jest.fn(),
11
- addRange: jest.fn(),
12
- getRangeAt: jest.fn().mockReturnValue(range)
13
- };
14
- global.document.getSelection = jest.fn().mockReturnValue(selection);
15
- global.document.createRange = jest.fn();
16
- });
17
- describe('clearSelection', function () {
18
- it('calls removeAllRanges', function () {
19
- (0, _selectionUtils.clearSelection)();
20
- expect(selection.removeAllRanges).toBeCalled();
21
- });
22
- });
23
- xdescribe('getCaretCharacterOffsetWithin', function () {
24
- it('TODO', function () {});
25
- });
26
- });
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3NlbGVjdGlvbi11dGlscy50ZXN0LmpzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwic2VsZWN0aW9uIiwicmFuZ2UiLCJiZWZvcmVFYWNoIiwicmVtb3ZlQWxsUmFuZ2VzIiwiamVzdCIsImZuIiwiYWRkUmFuZ2UiLCJnZXRSYW5nZUF0IiwibW9ja1JldHVyblZhbHVlIiwiZ2xvYmFsIiwiZG9jdW1lbnQiLCJnZXRTZWxlY3Rpb24iLCJjcmVhdGVSYW5nZSIsIml0IiwiZXhwZWN0IiwidG9CZUNhbGxlZCIsInhkZXNjcmliZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFFQUEsUUFBUSxDQUFDLGlCQUFELEVBQW9CLFlBQU07QUFDaEMsTUFBSUMsU0FBSjtBQUNBLE1BQUlDLEtBQUo7QUFDQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZkYsSUFBQUEsU0FBUyxHQUFHO0FBQ1ZHLE1BQUFBLGVBQWUsRUFBRUMsSUFBSSxDQUFDQyxFQUFMLEVBRFA7QUFFVkMsTUFBQUEsUUFBUSxFQUFFRixJQUFJLENBQUNDLEVBQUwsRUFGQTtBQUdWRSxNQUFBQSxVQUFVLEVBQUVILElBQUksQ0FBQ0MsRUFBTCxHQUFVRyxlQUFWLENBQTBCUCxLQUExQjtBQUhGLEtBQVo7QUFLQVEsSUFBQUEsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxZQUFoQixHQUErQlAsSUFBSSxDQUFDQyxFQUFMLEdBQVVHLGVBQVYsQ0FBMEJSLFNBQTFCLENBQS9CO0FBQ0FTLElBQUFBLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkUsV0FBaEIsR0FBOEJSLElBQUksQ0FBQ0MsRUFBTCxFQUE5QjtBQUNELEdBUlMsQ0FBVjtBQVVBTixFQUFBQSxRQUFRLENBQUMsZ0JBQUQsRUFBbUIsWUFBTTtBQUMvQmMsSUFBQUEsRUFBRSxDQUFDLHVCQUFELEVBQTBCLFlBQU07QUFDaEM7QUFDQUMsTUFBQUEsTUFBTSxDQUFDZCxTQUFTLENBQUNHLGVBQVgsQ0FBTixDQUFrQ1ksVUFBbEM7QUFDRCxLQUhDLENBQUY7QUFJRCxHQUxPLENBQVI7QUFPQUMsRUFBQUEsU0FBUyxDQUFDLCtCQUFELEVBQWtDLFlBQU07QUFDL0NILElBQUFBLEVBQUUsQ0FBQyxNQUFELEVBQVMsWUFBTSxDQUFFLENBQWpCLENBQUY7QUFDRCxHQUZRLENBQVQ7QUFHRCxDQXZCTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xlYXJTZWxlY3Rpb24sIGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluIH0gZnJvbSAnLi4vc2VsZWN0aW9uLXV0aWxzJztcblxuZGVzY3JpYmUoJ3NlbGVjdGlvbi11dGlscycsICgpID0+IHtcbiAgbGV0IHNlbGVjdGlvbjtcbiAgbGV0IHJhbmdlO1xuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBzZWxlY3Rpb24gPSB7XG4gICAgICByZW1vdmVBbGxSYW5nZXM6IGplc3QuZm4oKSxcbiAgICAgIGFkZFJhbmdlOiBqZXN0LmZuKCksXG4gICAgICBnZXRSYW5nZUF0OiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHJhbmdlKSxcbiAgICB9O1xuICAgIGdsb2JhbC5kb2N1bWVudC5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHNlbGVjdGlvbik7XG4gICAgZ2xvYmFsLmRvY3VtZW50LmNyZWF0ZVJhbmdlID0gamVzdC5mbigpO1xuICB9KTtcblxuICBkZXNjcmliZSgnY2xlYXJTZWxlY3Rpb24nLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIHJlbW92ZUFsbFJhbmdlcycsICgpID0+IHtcbiAgICAgIGNsZWFyU2VsZWN0aW9uKCk7XG4gICAgICBleHBlY3Qoc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcykudG9CZUNhbGxlZCgpO1xuICAgIH0pO1xuICB9KTtcblxuICB4ZGVzY3JpYmUoJ2dldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluJywgKCkgPT4ge1xuICAgIGl0KCdUT0RPJywgKCkgPT4ge30pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,154 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _enzyme = require("enzyme");
6
-
7
- var _react = _interopRequireDefault(require("react"));
8
-
9
- var _tokenText = _interopRequireDefault(require("../token-text"));
10
-
11
- var _builder = require("../builder");
12
-
13
- var _selectionUtils = require("../selection-utils");
14
-
15
- jest.mock("../selection-utils", function () {
16
- return {
17
- clearSelection: jest.fn(),
18
- getCaretCharacterOffsetWithin: jest.fn().mockReturnValue(10)
19
- };
20
- });
21
- jest.mock("../builder", function () {
22
- return {
23
- intersection: jest.fn().mockReturnValue({
24
- hasOverlap: jest.fn().mockReturnValue(false),
25
- surroundedTokens: jest.fn().mockReturnValue([])
26
- }),
27
- normalize: jest.fn().mockReturnValue([{
28
- text: "lorem\nfoo bar",
29
- start: 0,
30
- end: 13,
31
- predefined: true
32
- }])
33
- };
34
- });
35
-
36
- var tokens = function tokens() {
37
- return [{
38
- start: 0,
39
- end: 7,
40
- text: "lorem\nfoo bar"
41
- }];
42
- };
43
-
44
- var mkEvent = function mkEvent() {
45
- return {
46
- preventDefault: jest.fn()
47
- };
48
- };
49
-
50
- describe('token-text', function () {
51
- describe('snapshot', function () {
52
- it('renders', function () {
53
- var w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
54
- onTokenClick: jest.fn(),
55
- onSelectToken: jest.fn(),
56
- text: "lorem\nfoo bar",
57
- tokens: tokens()
58
- }));
59
- expect(w).toMatchSnapshot();
60
- });
61
- });
62
- describe('logic', function () {
63
- var w;
64
- var onSelectToken;
65
- var onTokenClick;
66
- beforeEach(function () {
67
- global.window.getSelection = jest.fn().mockReturnValue({
68
- toString: function toString() {
69
- return 'bar';
70
- }
71
- });
72
- onSelectToken = jest.fn();
73
- onTokenClick = jest.fn();
74
- w = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_tokenText["default"], {
75
- onTokenClick: onTokenClick,
76
- onSelectToken: onSelectToken,
77
- text: "lorem\nfoo bar",
78
- tokens: tokens()
79
- }));
80
- });
81
- describe('mouseup', function () {
82
- it('calls event.preventDefault', function () {
83
- var event = mkEvent();
84
- w.instance().onClick(event);
85
- expect(event.preventDefault).toBeCalled();
86
- });
87
- it('calls getCaretCharacterOffsetWithin', function () {
88
- var event = mkEvent();
89
- w.instance().root = {};
90
- w.instance().onClick(event);
91
- expect(_selectionUtils.getCaretCharacterOffsetWithin).toBeCalledWith({});
92
- });
93
- it('calls clear selection if there is an overlap', function () {
94
- _builder.intersection.mockReturnValue({
95
- hasOverlap: true
96
- });
97
-
98
- var event = mkEvent();
99
- w.instance().root = {};
100
- w.instance().onClick(event);
101
- expect(_selectionUtils.clearSelection).toBeCalled();
102
- expect(onSelectToken).not.toBeCalled();
103
- });
104
- it('calls onSelectToken', function () {
105
- var event = mkEvent();
106
-
107
- _builder.intersection.mockReturnValue({
108
- hasOverlap: false,
109
- surroundedTokens: []
110
- });
111
-
112
- w.instance().root = {};
113
- w.instance().onClick(event);
114
- expect(onSelectToken).toBeCalledWith({
115
- text: 'bar',
116
- start: 10,
117
- end: 13
118
- }, []);
119
- });
120
- it('does not call onSelectToken for ["\n", " ", "\t"]', function () {
121
- var event = mkEvent();
122
-
123
- _builder.intersection.mockReturnValue({
124
- hasOverlap: false,
125
- surroundedTokens: []
126
- });
127
-
128
- w.instance().root = {};
129
- global.window.getSelection = jest.fn().mockReturnValue({
130
- toString: function toString() {
131
- return '\n';
132
- }
133
- });
134
- w.instance().onClick(event);
135
- expect(onSelectToken).not.toBeCalled();
136
- global.window.getSelection = jest.fn().mockReturnValue({
137
- toString: function toString() {
138
- return ' ';
139
- }
140
- });
141
- w.instance().onClick(event);
142
- expect(onSelectToken).not.toBeCalled();
143
- global.window.getSelection = jest.fn().mockReturnValue({
144
- toString: function toString() {
145
- return '\t';
146
- }
147
- });
148
- w.instance().onClick(event);
149
- expect(onSelectToken).not.toBeCalled();
150
- });
151
- });
152
- });
153
- });
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b2tlbml6ZXIvX190ZXN0c19fL3Rva2VuLXRleHQudGVzdC5qc3giXSwibmFtZXMiOlsiamVzdCIsIm1vY2siLCJjbGVhclNlbGVjdGlvbiIsImZuIiwiZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4iLCJtb2NrUmV0dXJuVmFsdWUiLCJpbnRlcnNlY3Rpb24iLCJoYXNPdmVybGFwIiwic3Vycm91bmRlZFRva2VucyIsIm5vcm1hbGl6ZSIsInRleHQiLCJzdGFydCIsImVuZCIsInByZWRlZmluZWQiLCJ0b2tlbnMiLCJta0V2ZW50IiwicHJldmVudERlZmF1bHQiLCJkZXNjcmliZSIsIml0IiwidyIsImV4cGVjdCIsInRvTWF0Y2hTbmFwc2hvdCIsIm9uU2VsZWN0VG9rZW4iLCJvblRva2VuQ2xpY2siLCJiZWZvcmVFYWNoIiwiZ2xvYmFsIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwidG9TdHJpbmciLCJldmVudCIsImluc3RhbmNlIiwib25DbGljayIsInRvQmVDYWxsZWQiLCJyb290IiwidG9CZUNhbGxlZFdpdGgiLCJub3QiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQUEsSUFBSSxDQUFDQyxJQUFMLHVCQUFnQztBQUFBLFNBQU87QUFDckNDLElBQUFBLGNBQWMsRUFBRUYsSUFBSSxDQUFDRyxFQUFMLEVBRHFCO0FBRXJDQyxJQUFBQSw2QkFBNkIsRUFBRUosSUFBSSxDQUFDRyxFQUFMLEdBQVVFLGVBQVYsQ0FBMEIsRUFBMUI7QUFGTSxHQUFQO0FBQUEsQ0FBaEM7QUFLQUwsSUFBSSxDQUFDQyxJQUFMLGVBQXdCO0FBQUEsU0FBTztBQUM3QkssSUFBQUEsWUFBWSxFQUFFTixJQUFJLENBQUNHLEVBQUwsR0FBVUUsZUFBVixDQUEwQjtBQUN0Q0UsTUFBQUEsVUFBVSxFQUFFUCxJQUFJLENBQUNHLEVBQUwsR0FBVUUsZUFBVixDQUEwQixLQUExQixDQUQwQjtBQUV0Q0csTUFBQUEsZ0JBQWdCLEVBQUVSLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCLEVBQTFCO0FBRm9CLEtBQTFCLENBRGU7QUFLN0JJLElBQUFBLFNBQVMsRUFBRVQsSUFBSSxDQUFDRyxFQUFMLEdBQVVFLGVBQVYsQ0FBMEIsQ0FDbkM7QUFDRUssTUFBQUEsSUFBSSxrQkFETjtBQUVFQyxNQUFBQSxLQUFLLEVBQUUsQ0FGVDtBQUdFQyxNQUFBQSxHQUFHLEVBQUUsRUFIUDtBQUlFQyxNQUFBQSxVQUFVLEVBQUU7QUFKZCxLQURtQyxDQUExQjtBQUxrQixHQUFQO0FBQUEsQ0FBeEI7O0FBZUEsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSxTQUFNLENBQ25CO0FBQ0VILElBQUFBLEtBQUssRUFBRSxDQURUO0FBRUVDLElBQUFBLEdBQUcsRUFBRSxDQUZQO0FBR0VGLElBQUFBLElBQUk7QUFITixHQURtQixDQUFOO0FBQUEsQ0FBZjs7QUFRQSxJQUFNSyxPQUFPLEdBQUcsU0FBVkEsT0FBVTtBQUFBLFNBQU87QUFDckJDLElBQUFBLGNBQWMsRUFBRWhCLElBQUksQ0FBQ0csRUFBTDtBQURLLEdBQVA7QUFBQSxDQUFoQjs7QUFJQWMsUUFBUSxDQUFDLFlBQUQsRUFBZSxZQUFNO0FBQzNCQSxFQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekJDLElBQUFBLEVBQUUsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUNsQixVQUFNQyxDQUFDLEdBQUcsbUNBQ1IsZ0NBQUMscUJBQUQ7QUFBVyxRQUFBLFlBQVksRUFBRW5CLElBQUksQ0FBQ0csRUFBTCxFQUF6QjtBQUFvQyxRQUFBLGFBQWEsRUFBRUgsSUFBSSxDQUFDRyxFQUFMLEVBQW5EO0FBQThELFFBQUEsSUFBSSxrQkFBbEU7QUFBc0YsUUFBQSxNQUFNLEVBQUVXLE1BQU07QUFBcEcsUUFEUSxDQUFWO0FBR0FNLE1BQUFBLE1BQU0sQ0FBQ0QsQ0FBRCxDQUFOLENBQVVFLGVBQVY7QUFDRCxLQUxDLENBQUY7QUFNRCxHQVBPLENBQVI7QUFTQUosRUFBQUEsUUFBUSxDQUFDLE9BQUQsRUFBVSxZQUFNO0FBQ3RCLFFBQUlFLENBQUo7QUFDQSxRQUFJRyxhQUFKO0FBQ0EsUUFBSUMsWUFBSjtBQUNBQyxJQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmQyxNQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBY0MsWUFBZCxHQUE2QjNCLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCO0FBQ3JEdUIsUUFBQUEsUUFBUSxFQUFFO0FBQUEsaUJBQU0sS0FBTjtBQUFBO0FBRDJDLE9BQTFCLENBQTdCO0FBSUFOLE1BQUFBLGFBQWEsR0FBR3RCLElBQUksQ0FBQ0csRUFBTCxFQUFoQjtBQUNBb0IsTUFBQUEsWUFBWSxHQUFHdkIsSUFBSSxDQUFDRyxFQUFMLEVBQWY7QUFFQWdCLE1BQUFBLENBQUMsR0FBRyxtQ0FDRixnQ0FBQyxxQkFBRDtBQUNFLFFBQUEsWUFBWSxFQUFFSSxZQURoQjtBQUVFLFFBQUEsYUFBYSxFQUFFRCxhQUZqQjtBQUdFLFFBQUEsSUFBSSxrQkFITjtBQUlFLFFBQUEsTUFBTSxFQUFFUixNQUFNO0FBSmhCLFFBREUsQ0FBSjtBQVFELEtBaEJTLENBQVY7QUFrQkFHLElBQUFBLFFBQVEsQ0FBQyxTQUFELEVBQVksWUFBTTtBQUN4QkMsTUFBQUEsRUFBRSxDQUFDLDRCQUFELEVBQStCLFlBQU07QUFDckMsWUFBTVcsS0FBSyxHQUFHZCxPQUFPLEVBQXJCO0FBQ0FJLFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNTLEtBQUssQ0FBQ2IsY0FBUCxDQUFOLENBQTZCZ0IsVUFBN0I7QUFDRCxPQUpDLENBQUY7QUFNQWQsTUFBQUEsRUFBRSxDQUFDLHFDQUFELEVBQXdDLFlBQU07QUFDOUMsWUFBTVcsS0FBSyxHQUFHZCxPQUFPLEVBQXJCO0FBQ0FJLFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhRyxJQUFiLEdBQW9CLEVBQXBCO0FBQ0FkLFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNoQiw2Q0FBRCxDQUFOLENBQXNDOEIsY0FBdEMsQ0FBcUQsRUFBckQ7QUFDRCxPQUxDLENBQUY7QUFPQWhCLE1BQUFBLEVBQUUsQ0FBQyw4Q0FBRCxFQUFpRCxZQUFNO0FBQ3ZEWiw4QkFBYUQsZUFBYixDQUE2QjtBQUMzQkUsVUFBQUEsVUFBVSxFQUFFO0FBRGUsU0FBN0I7O0FBR0EsWUFBTXNCLEtBQUssR0FBR2QsT0FBTyxFQUFyQjtBQUNBSSxRQUFBQSxDQUFDLENBQUNXLFFBQUYsR0FBYUcsSUFBYixHQUFvQixFQUFwQjtBQUNBZCxRQUFBQSxDQUFDLENBQUNXLFFBQUYsR0FBYUMsT0FBYixDQUFxQkYsS0FBckI7QUFDQVQsUUFBQUEsTUFBTSxDQUFDbEIsOEJBQUQsQ0FBTixDQUF1QjhCLFVBQXZCO0FBQ0FaLFFBQUFBLE1BQU0sQ0FBQ0UsYUFBRCxDQUFOLENBQXNCYSxHQUF0QixDQUEwQkgsVUFBMUI7QUFDRCxPQVRDLENBQUY7QUFXQWQsTUFBQUEsRUFBRSxDQUFDLHFCQUFELEVBQXdCLFlBQU07QUFDOUIsWUFBTVcsS0FBSyxHQUFHZCxPQUFPLEVBQXJCOztBQUNBVCw4QkFBYUQsZUFBYixDQUE2QjtBQUMzQkUsVUFBQUEsVUFBVSxFQUFFLEtBRGU7QUFFM0JDLFVBQUFBLGdCQUFnQixFQUFFO0FBRlMsU0FBN0I7O0FBSUFXLFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhRyxJQUFiLEdBQW9CLEVBQXBCO0FBQ0FkLFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNFLGFBQUQsQ0FBTixDQUFzQlksY0FBdEIsQ0FBcUM7QUFBRXhCLFVBQUFBLElBQUksRUFBRSxLQUFSO0FBQWVDLFVBQUFBLEtBQUssRUFBRSxFQUF0QjtBQUEwQkMsVUFBQUEsR0FBRyxFQUFFO0FBQS9CLFNBQXJDLEVBQTBFLEVBQTFFO0FBQ0QsT0FUQyxDQUFGO0FBV0FNLE1BQUFBLEVBQUUsQ0FBQyxtREFBRCxFQUFzRCxZQUFNO0FBQzVELFlBQU1XLEtBQUssR0FBR2QsT0FBTyxFQUFyQjs7QUFFQVQsOEJBQWFELGVBQWIsQ0FBNkI7QUFDM0JFLFVBQUFBLFVBQVUsRUFBRSxLQURlO0FBRTNCQyxVQUFBQSxnQkFBZ0IsRUFBRTtBQUZTLFNBQTdCOztBQUlBVyxRQUFBQSxDQUFDLENBQUNXLFFBQUYsR0FBYUcsSUFBYixHQUFvQixFQUFwQjtBQUVBUixRQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBY0MsWUFBZCxHQUE2QjNCLElBQUksQ0FBQ0csRUFBTCxHQUFVRSxlQUFWLENBQTBCO0FBQ3JEdUIsVUFBQUEsUUFBUSxFQUFFO0FBQUEsbUJBQU0sSUFBTjtBQUFBO0FBRDJDLFNBQTFCLENBQTdCO0FBR0FULFFBQUFBLENBQUMsQ0FBQ1csUUFBRixHQUFhQyxPQUFiLENBQXFCRixLQUFyQjtBQUNBVCxRQUFBQSxNQUFNLENBQUNFLGFBQUQsQ0FBTixDQUFzQmEsR0FBdEIsQ0FBMEJILFVBQTFCO0FBRUFQLFFBQUFBLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjQyxZQUFkLEdBQTZCM0IsSUFBSSxDQUFDRyxFQUFMLEdBQVVFLGVBQVYsQ0FBMEI7QUFDckR1QixVQUFBQSxRQUFRLEVBQUU7QUFBQSxtQkFBTSxHQUFOO0FBQUE7QUFEMkMsU0FBMUIsQ0FBN0I7QUFHQVQsUUFBQUEsQ0FBQyxDQUFDVyxRQUFGLEdBQWFDLE9BQWIsQ0FBcUJGLEtBQXJCO0FBQ0FULFFBQUFBLE1BQU0sQ0FBQ0UsYUFBRCxDQUFOLENBQXNCYSxHQUF0QixDQUEwQkgsVUFBMUI7QUFFQVAsUUFBQUEsTUFBTSxDQUFDQyxNQUFQLENBQWNDLFlBQWQsR0FBNkIzQixJQUFJLENBQUNHLEVBQUwsR0FBVUUsZUFBVixDQUEwQjtBQUNyRHVCLFVBQUFBLFFBQVEsRUFBRTtBQUFBLG1CQUFNLElBQU47QUFBQTtBQUQyQyxTQUExQixDQUE3QjtBQUdBVCxRQUFBQSxDQUFDLENBQUNXLFFBQUYsR0FBYUMsT0FBYixDQUFxQkYsS0FBckI7QUFDQVQsUUFBQUEsTUFBTSxDQUFDRSxhQUFELENBQU4sQ0FBc0JhLEdBQXRCLENBQTBCSCxVQUExQjtBQUNELE9BMUJDLENBQUY7QUEyQkQsS0EvRE8sQ0FBUjtBQWdFRCxHQXRGTyxDQUFSO0FBdUZELENBakdPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVG9rZW5UZXh0IGZyb20gJy4uL3Rva2VuLXRleHQnO1xuaW1wb3J0IHsgaW50ZXJzZWN0aW9uIH0gZnJvbSAnLi4vYnVpbGRlcic7XG5pbXBvcnQgeyBjbGVhclNlbGVjdGlvbiwgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4gfSBmcm9tICcuLi9zZWxlY3Rpb24tdXRpbHMnO1xuXG5qZXN0Lm1vY2soJy4uL3NlbGVjdGlvbi11dGlscycsICgpID0+ICh7XG4gIGNsZWFyU2VsZWN0aW9uOiBqZXN0LmZuKCksXG4gIGdldENhcmV0Q2hhcmFjdGVyT2Zmc2V0V2l0aGluOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKDEwKSxcbn0pKTtcblxuamVzdC5tb2NrKCcuLi9idWlsZGVyJywgKCkgPT4gKHtcbiAgaW50ZXJzZWN0aW9uOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICBoYXNPdmVybGFwOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKGZhbHNlKSxcbiAgICBzdXJyb3VuZGVkVG9rZW5zOiBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKFtdKSxcbiAgfSksXG4gIG5vcm1hbGl6ZTogamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZShbXG4gICAge1xuICAgICAgdGV4dDogYGxvcmVtXFxuZm9vIGJhcmAsXG4gICAgICBzdGFydDogMCxcbiAgICAgIGVuZDogMTMsXG4gICAgICBwcmVkZWZpbmVkOiB0cnVlLFxuICAgIH0sXG4gIF0pLFxufSkpO1xuXG5jb25zdCB0b2tlbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBzdGFydDogMCxcbiAgICBlbmQ6IDcsXG4gICAgdGV4dDogYGxvcmVtXFxuZm9vIGJhcmAsXG4gIH0sXG5dO1xuXG5jb25zdCBta0V2ZW50ID0gKCkgPT4gKHtcbiAgcHJldmVudERlZmF1bHQ6IGplc3QuZm4oKSxcbn0pO1xuXG5kZXNjcmliZSgndG9rZW4tdGV4dCcsICgpID0+IHtcbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblRleHQgb25Ub2tlbkNsaWNrPXtqZXN0LmZuKCl9IG9uU2VsZWN0VG9rZW49e2plc3QuZm4oKX0gdGV4dD17YGxvcmVtXFxuZm9vIGJhcmB9IHRva2Vucz17dG9rZW5zKCl9IC8+LFxuICAgICAgKTtcbiAgICAgIGV4cGVjdCh3KS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGxldCB3O1xuICAgIGxldCBvblNlbGVjdFRva2VuO1xuICAgIGxldCBvblRva2VuQ2xpY2s7XG4gICAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICBnbG9iYWwud2luZG93LmdldFNlbGVjdGlvbiA9IGplc3QuZm4oKS5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICB0b1N0cmluZzogKCkgPT4gJ2JhcicsXG4gICAgICB9KTtcblxuICAgICAgb25TZWxlY3RUb2tlbiA9IGplc3QuZm4oKTtcbiAgICAgIG9uVG9rZW5DbGljayA9IGplc3QuZm4oKTtcblxuICAgICAgdyA9IHNoYWxsb3coXG4gICAgICAgIDxUb2tlblRleHRcbiAgICAgICAgICBvblRva2VuQ2xpY2s9e29uVG9rZW5DbGlja31cbiAgICAgICAgICBvblNlbGVjdFRva2VuPXtvblNlbGVjdFRva2VufVxuICAgICAgICAgIHRleHQ9e2Bsb3JlbVxcbmZvbyBiYXJgfVxuICAgICAgICAgIHRva2Vucz17dG9rZW5zKCl9XG4gICAgICAgIC8+LFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdtb3VzZXVwJywgKCkgPT4ge1xuICAgICAgaXQoJ2NhbGxzIGV2ZW50LnByZXZlbnREZWZhdWx0JywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3QoZXZlbnQucHJldmVudERlZmF1bHQpLnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgZ2V0Q2FyZXRDaGFyYWN0ZXJPZmZzZXRXaXRoaW4nLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChnZXRDYXJldENoYXJhY3Rlck9mZnNldFdpdGhpbikudG9CZUNhbGxlZFdpdGgoe30pO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdjYWxscyBjbGVhciBzZWxlY3Rpb24gaWYgdGhlcmUgaXMgYW4gb3ZlcmxhcCcsICgpID0+IHtcbiAgICAgICAgaW50ZXJzZWN0aW9uLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgaGFzT3ZlcmxhcDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbWtFdmVudCgpO1xuICAgICAgICB3Lmluc3RhbmNlKCkucm9vdCA9IHt9O1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChjbGVhclNlbGVjdGlvbikudG9CZUNhbGxlZCgpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikubm90LnRvQmVDYWxsZWQoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnY2FsbHMgb25TZWxlY3RUb2tlbicsICgpID0+IHtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBta0V2ZW50KCk7XG4gICAgICAgIGludGVyc2VjdGlvbi5tb2NrUmV0dXJuVmFsdWUoe1xuICAgICAgICAgIGhhc092ZXJsYXA6IGZhbHNlLFxuICAgICAgICAgIHN1cnJvdW5kZWRUb2tlbnM6IFtdLFxuICAgICAgICB9KTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLnJvb3QgPSB7fTtcbiAgICAgICAgdy5pbnN0YW5jZSgpLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICBleHBlY3Qob25TZWxlY3RUb2tlbikudG9CZUNhbGxlZFdpdGgoeyB0ZXh0OiAnYmFyJywgc3RhcnQ6IDEwLCBlbmQ6IDEzIH0sIFtdKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnZG9lcyBub3QgY2FsbCBvblNlbGVjdFRva2VuIGZvciBbXCJcXG5cIiwgXCIgXCIsIFwiXFx0XCJdJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBldmVudCA9IG1rRXZlbnQoKTtcblxuICAgICAgICBpbnRlcnNlY3Rpb24ubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICBoYXNPdmVybGFwOiBmYWxzZSxcbiAgICAgICAgICBzdXJyb3VuZGVkVG9rZW5zOiBbXSxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5yb290ID0ge307XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ1xcbicsXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuXG4gICAgICAgIGdsb2JhbC53aW5kb3cuZ2V0U2VsZWN0aW9uID0gamVzdC5mbigpLm1vY2tSZXR1cm5WYWx1ZSh7XG4gICAgICAgICAgdG9TdHJpbmc6ICgpID0+ICcgJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgZXhwZWN0KG9uU2VsZWN0VG9rZW4pLm5vdC50b0JlQ2FsbGVkKCk7XG5cbiAgICAgICAgZ2xvYmFsLndpbmRvdy5nZXRTZWxlY3Rpb24gPSBqZXN0LmZuKCkubW9ja1JldHVyblZhbHVlKHtcbiAgICAgICAgICB0b1N0cmluZzogKCkgPT4gJ1xcdCcsXG4gICAgICAgIH0pO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25DbGljayhldmVudCk7XG4gICAgICAgIGV4cGVjdChvblNlbGVjdFRva2VuKS5ub3QudG9CZUNhbGxlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=