@pie-element/ebsr 13.0.0-beta.0 → 13.0.0-beta.1

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 (65) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/package.json +3 -3
  4. package/controller/CHANGELOG.md +0 -11
  5. package/controller/package.json +3 -3
  6. package/package.json +4 -4
  7. package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.json +0 -1972
  8. package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.md +0 -4213
  9. package/configure/node_modules/@pie-element/multiple-choice/PRINT.md +0 -35
  10. package/configure/node_modules/@pie-element/multiple-choice/README.md +0 -56
  11. package/configure/node_modules/@pie-element/multiple-choice/choice.png +0 -0
  12. package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.json +0 -1387
  13. package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.md +0 -3351
  14. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/__tests__/root.test.js +0 -248
  15. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js +0 -200
  16. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js.map +0 -1
  17. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js +0 -211
  18. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js.map +0 -1
  19. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js +0 -477
  20. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js.map +0 -1
  21. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js +0 -18
  22. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js.map +0 -1
  23. package/configure/node_modules/@pie-element/multiple-choice/configure/package.json +0 -22
  24. package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.json +0 -527
  25. package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.md +0 -2316
  26. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/__tests__/index.test.js +0 -520
  27. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/__tests__/utils.test.js +0 -8
  28. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js +0 -33
  29. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js.map +0 -1
  30. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js +0 -251
  31. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js.map +0 -1
  32. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js +0 -16
  33. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js.map +0 -1
  34. package/configure/node_modules/@pie-element/multiple-choice/controller/package.json +0 -15
  35. package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json +0 -2993
  36. package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json.md +0 -2217
  37. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/config.js +0 -8
  38. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/generate.js +0 -61
  39. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/index.html +0 -1
  40. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/pie.manifest.json +0 -11
  41. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/session.js +0 -7
  42. package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json +0 -1332
  43. package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json.md +0 -1015
  44. package/configure/node_modules/@pie-element/multiple-choice/lib/__tests__/choice-input-test.js +0 -117
  45. package/configure/node_modules/@pie-element/multiple-choice/lib/__tests__/index-test.js +0 -151
  46. package/configure/node_modules/@pie-element/multiple-choice/lib/__tests__/key-events-test.js +0 -95
  47. package/configure/node_modules/@pie-element/multiple-choice/lib/__tests__/multiple-choice-test.js +0 -223
  48. package/configure/node_modules/@pie-element/multiple-choice/lib/__tests__/session-updater-test.js +0 -70
  49. package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js +0 -370
  50. package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js.map +0 -1
  51. package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js +0 -197
  52. package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js.map +0 -1
  53. package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js +0 -130
  54. package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js.map +0 -1
  55. package/configure/node_modules/@pie-element/multiple-choice/lib/index.js +0 -292
  56. package/configure/node_modules/@pie-element/multiple-choice/lib/index.js.map +0 -1
  57. package/configure/node_modules/@pie-element/multiple-choice/lib/main.js +0 -54
  58. package/configure/node_modules/@pie-element/multiple-choice/lib/main.js.map +0 -1
  59. package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js +0 -386
  60. package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js.map +0 -1
  61. package/configure/node_modules/@pie-element/multiple-choice/lib/print.js +0 -92
  62. package/configure/node_modules/@pie-element/multiple-choice/lib/print.js.map +0 -1
  63. package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js +0 -37
  64. package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js.map +0 -1
  65. package/configure/node_modules/@pie-element/multiple-choice/package.json +0 -39
@@ -1,223 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _react = _interopRequireDefault(require("react"));
5
- var _enzyme = require("enzyme");
6
- var _multipleChoice = require("../multiple-choice");
7
- var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
8
- describe('Choice', () => {
9
- let wrapper,
10
- onChoiceChanged = jest.fn();
11
- beforeEach(() => {
12
- wrapper = extras => {
13
- const props = {
14
- classes: {},
15
- choice: {},
16
- index: 0,
17
- choicesLength: 1,
18
- showCorrect: false,
19
- isEvaluateMode: false,
20
- choiceMode: 'radio',
21
- disabled: true,
22
- onChoiceChanged,
23
- checked: true,
24
- correctness: 'correct',
25
- displayKey: '0',
26
- choicesLayout: 'grid',
27
- gridColumns: 2,
28
- ...extras
29
- };
30
- return (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_multipleChoice.Choice, props));
31
- };
32
- });
33
- describe('snapshot', () => {
34
- it('renders', () => {
35
- expect(wrapper()).toMatchSnapshot();
36
- });
37
- });
38
- describe('logic', () => {
39
- it('does not call onChoiceChanged if disabled is true', () => {
40
- let w = wrapper();
41
- w.instance().onChange();
42
- expect(onChoiceChanged).not.toHaveBeenCalled();
43
- });
44
- it('calls onChoiceChanged if disabled is false', () => {
45
- let w = wrapper({
46
- disabled: false
47
- });
48
- w.instance().onChange();
49
- expect(onChoiceChanged).toHaveBeenCalled();
50
- });
51
- });
52
- });
53
- describe('CorespringChoice', () => {
54
- let wrapper, toggle;
55
- beforeEach(() => {
56
- toggle = () => {
57
- return /*#__PURE__*/_react.default.createElement("div", null, "mocked-toggle");
58
- };
59
- });
60
- let mkWrapper = (opts, clone = true) => {
61
- opts = clone ? {
62
- classes: {},
63
- choices: [],
64
- disabled: false,
65
- keyMode: 'letters',
66
- onChoiceChanged: jest.fn(),
67
- mode: 'gather',
68
- ...opts
69
- } : opts;
70
- return (0, _enzyme.shallow)(/*#__PURE__*/_react.default.createElement(_multipleChoice.MultipleChoice, opts));
71
- };
72
- describe('snapshot', () => {
73
- it('renders', () => {
74
- wrapper = mkWrapper({
75
- choices: [{
76
- value: 'a',
77
- label: 'label a',
78
- correct: true,
79
- feedback: 'great'
80
- }, {
81
- value: 'b',
82
- label: 'label b'
83
- }, {
84
- value: 'c',
85
- label: 'label c',
86
- correct: true,
87
- feedback: 'great'
88
- }]
89
- });
90
- expect(wrapper).toMatchSnapshot();
91
- });
92
- describe('renders incorrect tick if one answer is correct but it is not checked', () => {
93
- it('renders', () => {
94
- let w = mkWrapper({
95
- mode: 'evaluate',
96
- keyMode: 'none',
97
- choices: [{
98
- value: 'a',
99
- label: 'label a',
100
- correct: true,
101
- feedback: 'great'
102
- }, {
103
- value: 'b',
104
- label: 'label b'
105
- }, {
106
- value: 'c',
107
- label: 'label c',
108
- correct: true,
109
- feedback: 'great'
110
- }],
111
- session: {
112
- value: ['a']
113
- }
114
- });
115
- expect(w).toMatchSnapshot();
116
- });
117
- });
118
- describe('getCorrectness', () => {
119
- let itemChoices = [{
120
- value: 'a',
121
- label: 'label a',
122
- correct: true,
123
- feedback: 'great'
124
- }, {
125
- value: 'b',
126
- label: 'label b'
127
- }, {
128
- value: 'c',
129
- label: 'label c',
130
- feedback: 'great'
131
- }, {
132
- value: 'd',
133
- label: 'label d',
134
- correct: true,
135
- feedback: 'great'
136
- }];
137
- let w = mkWrapper({
138
- mode: 'evaluate',
139
- choices: itemChoices,
140
- session: {
141
- value: ['a', 'c']
142
- }
143
- });
144
- describe('showCorrectToggle disabled (state.showCorrect is false)', () => {
145
- it('shows choice correctness only if was checked', () => {
146
- // this one was selected and is correct
147
- expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct');
148
- // this one was not selected and is incorrect
149
- expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined);
150
- // this one was selected, but is incorrect
151
- expect(w.instance().getCorrectness(itemChoices[2])).toEqual('incorrect');
152
- // this one was not selected and is correct
153
- expect(w.instance().getCorrectness(itemChoices[3])).toEqual('incorrect');
154
- });
155
- });
156
- describe('showCorrectToggle enabled (state.showCorrect is true)', () => {
157
- it('shows choice correctness no matter if was checked or not', () => {
158
- w.instance().state.showCorrect = true;
159
-
160
- // this one is correct
161
- expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct');
162
- // this one is not correct
163
- expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined);
164
- // this one is not correct
165
- expect(w.instance().getCorrectness(itemChoices[2])).toEqual(undefined);
166
- // this one is correct
167
- expect(w.instance().getCorrectness(itemChoices[3])).toEqual('correct');
168
- });
169
- });
170
- });
171
- describe('onToggle', () => {
172
- it('toggles the state', () => {
173
- let w = mkWrapper({
174
- mode: 'evaluate'
175
- });
176
- expect(w.state('showCorrect')).toEqual(false);
177
- w.instance().onToggle();
178
- expect(w.state('showCorrect')).toEqual(true);
179
- });
180
- });
181
- describe('Toggle', () => {
182
- it('toggle is rendered', () => {
183
- const t = mkWrapper().find(_correctAnswerToggle.default);
184
- expect(t.length).toEqual(1);
185
- });
186
- it('toggle show is set to false', () => {
187
- expect(mkWrapper().find(_correctAnswerToggle.default).prop('show')).toEqual(false);
188
- });
189
- it('shows toggle if mode is evaluate, feedback is enabled and responseCorrect is false', () => {
190
- expect(mkWrapper({
191
- mode: 'evaluate',
192
- responseCorrect: false,
193
- feedbackEnabled: true
194
- }).find(_correctAnswerToggle.default).prop('show')).toEqual(true);
195
- });
196
- it('hides toggle if mode is evaluate and responseCorrect is false', () => {
197
- expect(mkWrapper({
198
- mode: 'evaluate',
199
- responseCorrect: true
200
- }).find(_correctAnswerToggle.default).prop('show')).toEqual(false);
201
- });
202
- it('not toggled if showCorrect is false', () => {
203
- let w = mkWrapper({
204
- mode: 'evaluate'
205
- });
206
- w.setState({
207
- showCorrect: false
208
- });
209
- expect(w.find(_correctAnswerToggle.default).prop('toggled')).toEqual(false);
210
- });
211
- it('is toggled showCorrect=true && mode=evaluate', () => {
212
- let w = mkWrapper({
213
- mode: 'evaluate'
214
- });
215
- w.setState({
216
- showCorrect: true
217
- });
218
- expect(w.find(_correctAnswerToggle.default).prop('toggled')).toEqual(true);
219
- });
220
- });
221
- });
222
- });
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9lbnp5bWUiLCJfbXVsdGlwbGVDaG9pY2UiLCJfY29ycmVjdEFuc3dlclRvZ2dsZSIsImRlc2NyaWJlIiwid3JhcHBlciIsIm9uQ2hvaWNlQ2hhbmdlZCIsImplc3QiLCJmbiIsImJlZm9yZUVhY2giLCJleHRyYXMiLCJwcm9wcyIsImNsYXNzZXMiLCJjaG9pY2UiLCJpbmRleCIsImNob2ljZXNMZW5ndGgiLCJzaG93Q29ycmVjdCIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlTW9kZSIsImRpc2FibGVkIiwiY2hlY2tlZCIsImNvcnJlY3RuZXNzIiwiZGlzcGxheUtleSIsImNob2ljZXNMYXlvdXQiLCJncmlkQ29sdW1ucyIsInNoYWxsb3ciLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkNob2ljZSIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidyIsImluc3RhbmNlIiwib25DaGFuZ2UiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9nZ2xlIiwibWtXcmFwcGVyIiwib3B0cyIsImNsb25lIiwiY2hvaWNlcyIsImtleU1vZGUiLCJtb2RlIiwiTXVsdGlwbGVDaG9pY2UiLCJ2YWx1ZSIsImxhYmVsIiwiY29ycmVjdCIsImZlZWRiYWNrIiwic2Vzc2lvbiIsIml0ZW1DaG9pY2VzIiwiZ2V0Q29ycmVjdG5lc3MiLCJ0b0VxdWFsIiwidW5kZWZpbmVkIiwic3RhdGUiLCJvblRvZ2dsZSIsInQiLCJmaW5kIiwiQ29ycmVjdEFuc3dlclRvZ2dsZSIsImxlbmd0aCIsInByb3AiLCJyZXNwb25zZUNvcnJlY3QiLCJmZWVkYmFja0VuYWJsZWQiLCJzZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbXVsdGlwbGUtY2hvaWNlLXRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzaGFsbG93IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCB7IE11bHRpcGxlQ2hvaWNlLCBDaG9pY2UgfSBmcm9tICcuLi9tdWx0aXBsZS1jaG9pY2UnO1xuaW1wb3J0IENvcnJlY3RBbnN3ZXJUb2dnbGUgZnJvbSAnQHBpZS1saWIvY29ycmVjdC1hbnN3ZXItdG9nZ2xlJztcblxuZGVzY3JpYmUoJ0Nob2ljZScsICgpID0+IHtcbiAgbGV0IHdyYXBwZXIsXG4gICAgb25DaG9pY2VDaGFuZ2VkID0gamVzdC5mbigpO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHdyYXBwZXIgPSAoZXh0cmFzKSA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIGNob2ljZToge30sXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBjaG9pY2VzTGVuZ3RoOiAxLFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICAgIGlzRXZhbHVhdGVNb2RlOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlTW9kZTogJ3JhZGlvJyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgY29ycmVjdG5lc3M6ICdjb3JyZWN0JyxcbiAgICAgICAgZGlzcGxheUtleTogJzAnLFxuICAgICAgICBjaG9pY2VzTGF5b3V0OiAnZ3JpZCcsXG4gICAgICAgIGdyaWRDb2x1bW5zOiAyLFxuICAgICAgICAuLi5leHRyYXMsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHNoYWxsb3coPENob2ljZSB7Li4ucHJvcHN9IC8+KTtcbiAgICB9O1xuICB9KTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICBleHBlY3Qod3JhcHBlcigpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2xvZ2ljJywgKCkgPT4ge1xuICAgIGl0KCdkb2VzIG5vdCBjYWxsIG9uQ2hvaWNlQ2hhbmdlZCBpZiBkaXNhYmxlZCBpcyB0cnVlJywgKCkgPT4ge1xuICAgICAgbGV0IHcgPSB3cmFwcGVyKCk7XG5cbiAgICAgIHcuaW5zdGFuY2UoKS5vbkNoYW5nZSgpO1xuXG4gICAgICBleHBlY3Qob25DaG9pY2VDaGFuZ2VkKS5ub3QudG9IYXZlQmVlbkNhbGxlZCgpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIG9uQ2hvaWNlQ2hhbmdlZCBpZiBkaXNhYmxlZCBpcyBmYWxzZScsICgpID0+IHtcbiAgICAgIGxldCB3ID0gd3JhcHBlcih7IGRpc2FibGVkOiBmYWxzZSB9KTtcblxuICAgICAgdy5pbnN0YW5jZSgpLm9uQ2hhbmdlKCk7XG5cbiAgICAgIGV4cGVjdChvbkNob2ljZUNoYW5nZWQpLnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ0NvcmVzcHJpbmdDaG9pY2UnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyLCB0b2dnbGU7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdG9nZ2xlID0gKCkgPT4ge1xuICAgICAgcmV0dXJuIDxkaXY+bW9ja2VkLXRvZ2dsZTwvZGl2PjtcbiAgICB9O1xuICB9KTtcblxuICBsZXQgbWtXcmFwcGVyID0gKG9wdHMsIGNsb25lID0gdHJ1ZSkgPT4ge1xuICAgIG9wdHMgPSBjbG9uZVxuICAgICAgPyB7XG4gICAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgICAgY2hvaWNlczogW10sXG4gICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGtleU1vZGU6ICdsZXR0ZXJzJyxcbiAgICAgICAgICBvbkNob2ljZUNoYW5nZWQ6IGplc3QuZm4oKSxcbiAgICAgICAgICBtb2RlOiAnZ2F0aGVyJyxcbiAgICAgICAgICAuLi5vcHRzLFxuICAgICAgICB9XG4gICAgICA6IG9wdHM7XG5cbiAgICByZXR1cm4gc2hhbGxvdyg8TXVsdGlwbGVDaG9pY2Ugey4uLm9wdHN9IC8+KTtcbiAgfTtcblxuICBkZXNjcmliZSgnc25hcHNob3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyID0gbWtXcmFwcGVyKHtcbiAgICAgICAgY2hvaWNlczogW1xuICAgICAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdsYWJlbCBhJywgY29ycmVjdDogdHJ1ZSwgZmVlZGJhY2s6ICdncmVhdCcgfSxcbiAgICAgICAgICB7IHZhbHVlOiAnYicsIGxhYmVsOiAnbGFiZWwgYicgfSxcbiAgICAgICAgICB7IHZhbHVlOiAnYycsIGxhYmVsOiAnbGFiZWwgYycsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcblxuICAgICAgZXhwZWN0KHdyYXBwZXIpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3JlbmRlcnMgaW5jb3JyZWN0IHRpY2sgaWYgb25lIGFuc3dlciBpcyBjb3JyZWN0IGJ1dCBpdCBpcyBub3QgY2hlY2tlZCcsICgpID0+IHtcbiAgICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgICBsZXQgdyA9IG1rV3JhcHBlcih7XG4gICAgICAgICAgbW9kZTogJ2V2YWx1YXRlJyxcbiAgICAgICAgICBrZXlNb2RlOiAnbm9uZScsXG4gICAgICAgICAgY2hvaWNlczogW1xuICAgICAgICAgICAgeyB2YWx1ZTogJ2EnLCBsYWJlbDogJ2xhYmVsIGEnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgICAgICAgeyB2YWx1ZTogJ2InLCBsYWJlbDogJ2xhYmVsIGInIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnYycsIGxhYmVsOiAnbGFiZWwgYycsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgICB2YWx1ZTogWydhJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhwZWN0KHcpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnZ2V0Q29ycmVjdG5lc3MnLCAoKSA9PiB7XG4gICAgICBsZXQgaXRlbUNob2ljZXMgPSBbXG4gICAgICAgIHsgdmFsdWU6ICdhJywgbGFiZWw6ICdsYWJlbCBhJywgY29ycmVjdDogdHJ1ZSwgZmVlZGJhY2s6ICdncmVhdCcgfSxcbiAgICAgICAgeyB2YWx1ZTogJ2InLCBsYWJlbDogJ2xhYmVsIGInIH0sXG4gICAgICAgIHsgdmFsdWU6ICdjJywgbGFiZWw6ICdsYWJlbCBjJywgZmVlZGJhY2s6ICdncmVhdCcgfSxcbiAgICAgICAgeyB2YWx1ZTogJ2QnLCBsYWJlbDogJ2xhYmVsIGQnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgXTtcbiAgICAgIGxldCB3ID0gbWtXcmFwcGVyKHtcbiAgICAgICAgbW9kZTogJ2V2YWx1YXRlJyxcbiAgICAgICAgY2hvaWNlczogaXRlbUNob2ljZXMsXG4gICAgICAgIHNlc3Npb246IHtcbiAgICAgICAgICB2YWx1ZTogWydhJywgJ2MnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBkZXNjcmliZSgnc2hvd0NvcnJlY3RUb2dnbGUgZGlzYWJsZWQgKHN0YXRlLnNob3dDb3JyZWN0IGlzIGZhbHNlKScsICgpID0+IHtcbiAgICAgICAgaXQoJ3Nob3dzIGNob2ljZSBjb3JyZWN0bmVzcyBvbmx5IGlmIHdhcyBjaGVja2VkJywgKCkgPT4ge1xuICAgICAgICAgIC8vIHRoaXMgb25lIHdhcyBzZWxlY3RlZCBhbmQgaXMgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMF0pKS50b0VxdWFsKCdjb3JyZWN0Jyk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgd2FzIG5vdCBzZWxlY3RlZCBhbmQgaXMgaW5jb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1sxXSkpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSB3YXMgc2VsZWN0ZWQsIGJ1dCBpcyBpbmNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzJdKSkudG9FcXVhbCgnaW5jb3JyZWN0Jyk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgd2FzIG5vdCBzZWxlY3RlZCBhbmQgaXMgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbM10pKS50b0VxdWFsKCdpbmNvcnJlY3QnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgZGVzY3JpYmUoJ3Nob3dDb3JyZWN0VG9nZ2xlIGVuYWJsZWQgKHN0YXRlLnNob3dDb3JyZWN0IGlzIHRydWUpJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvd3MgY2hvaWNlIGNvcnJlY3RuZXNzIG5vIG1hdHRlciBpZiB3YXMgY2hlY2tlZCBvciBub3QnLCAoKSA9PiB7XG4gICAgICAgICAgdy5pbnN0YW5jZSgpLnN0YXRlLnNob3dDb3JyZWN0ID0gdHJ1ZTtcblxuICAgICAgICAgIC8vIHRoaXMgb25lIGlzIGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzBdKSkudG9FcXVhbCgnY29ycmVjdCcpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIGlzIG5vdCBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1sxXSkpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSBpcyBub3QgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMl0pKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgaXMgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbM10pKS50b0VxdWFsKCdjb3JyZWN0Jyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgnb25Ub2dnbGUnLCAoKSA9PiB7XG4gICAgICBpdCgndG9nZ2xlcyB0aGUgc3RhdGUnLCAoKSA9PiB7XG4gICAgICAgIGxldCB3ID0gbWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJyB9KTtcbiAgICAgICAgZXhwZWN0KHcuc3RhdGUoJ3Nob3dDb3JyZWN0JykpLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgICB3Lmluc3RhbmNlKCkub25Ub2dnbGUoKTtcbiAgICAgICAgZXhwZWN0KHcuc3RhdGUoJ3Nob3dDb3JyZWN0JykpLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdUb2dnbGUnLCAoKSA9PiB7XG4gICAgICBpdCgndG9nZ2xlIGlzIHJlbmRlcmVkJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB0ID0gbWtXcmFwcGVyKCkuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKTtcbiAgICAgICAgZXhwZWN0KHQubGVuZ3RoKS50b0VxdWFsKDEpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCd0b2dnbGUgc2hvdyBpcyBzZXQgdG8gZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChta1dyYXBwZXIoKS5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpLnByb3AoJ3Nob3cnKSkudG9FcXVhbChmYWxzZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3Nob3dzIHRvZ2dsZSBpZiBtb2RlIGlzIGV2YWx1YXRlLCBmZWVkYmFjayBpcyBlbmFibGVkIGFuZCByZXNwb25zZUNvcnJlY3QgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBta1dyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnLCByZXNwb25zZUNvcnJlY3Q6IGZhbHNlLCBmZWVkYmFja0VuYWJsZWQ6IHRydWUgfSlcbiAgICAgICAgICAgIC5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpXG4gICAgICAgICAgICAucHJvcCgnc2hvdycpLFxuICAgICAgICApLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2hpZGVzIHRvZ2dsZSBpZiBtb2RlIGlzIGV2YWx1YXRlIGFuZCByZXNwb25zZUNvcnJlY3QgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChta1dyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnLCByZXNwb25zZUNvcnJlY3Q6IHRydWUgfSkuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKS5wcm9wKCdzaG93JykpLnRvRXF1YWwoXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ25vdCB0b2dnbGVkIGlmIHNob3dDb3JyZWN0IGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBsZXQgdyA9IG1rV3JhcHBlcih7IG1vZGU6ICdldmFsdWF0ZScgfSk7XG4gICAgICAgIHcuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogZmFsc2UgfSk7XG4gICAgICAgIGV4cGVjdCh3LmZpbmQoQ29ycmVjdEFuc3dlclRvZ2dsZSkucHJvcCgndG9nZ2xlZCcpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnaXMgdG9nZ2xlZCBzaG93Q29ycmVjdD10cnVlICYmIG1vZGU9ZXZhbHVhdGUnLCAoKSA9PiB7XG4gICAgICAgIGxldCB3ID0gbWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJyB9KTtcbiAgICAgICAgdy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiB0cnVlIH0pO1xuICAgICAgICBleHBlY3Qody5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpLnByb3AoJ3RvZ2dsZWQnKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxlQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTTtFQUN2QixJQUFJQyxPQUFPO0lBQ1RDLGVBQWUsR0FBR0MsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztFQUU3QkMsVUFBVSxDQUFDLE1BQU07SUFDZkosT0FBTyxHQUFJSyxNQUFNLElBQUs7TUFDcEIsTUFBTUMsS0FBSyxHQUFHO1FBQ1pDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDWEMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNWQyxLQUFLLEVBQUUsQ0FBQztRQUNSQyxhQUFhLEVBQUUsQ0FBQztRQUNoQkMsV0FBVyxFQUFFLEtBQUs7UUFDbEJDLGNBQWMsRUFBRSxLQUFLO1FBQ3JCQyxVQUFVLEVBQUUsT0FBTztRQUNuQkMsUUFBUSxFQUFFLElBQUk7UUFDZGIsZUFBZTtRQUNmYyxPQUFPLEVBQUUsSUFBSTtRQUNiQyxXQUFXLEVBQUUsU0FBUztRQUN0QkMsVUFBVSxFQUFFLEdBQUc7UUFDZkMsYUFBYSxFQUFFLE1BQU07UUFDckJDLFdBQVcsRUFBRSxDQUFDO1FBQ2QsR0FBR2Q7TUFDTCxDQUFDO01BQ0QsT0FBTyxJQUFBZSxlQUFPLGVBQUMzQixNQUFBLENBQUE0QixPQUFBLENBQUFDLGFBQUEsQ0FBQ3pCLGVBQUEsQ0FBQTBCLE1BQU0sRUFBS2pCLEtBQVEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7RUFDSCxDQUFDLENBQUM7RUFFRlAsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNO0lBQ3pCeUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO01BQ2xCQyxNQUFNLENBQUN6QixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMwQixlQUFlLENBQUMsQ0FBQztJQUNyQyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7RUFFRjNCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTTtJQUN0QnlCLEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxNQUFNO01BQzVELElBQUlHLENBQUMsR0FBRzNCLE9BQU8sQ0FBQyxDQUFDO01BRWpCMkIsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQztNQUV2QkosTUFBTSxDQUFDeEIsZUFBZSxDQUFDLENBQUM2QixHQUFHLENBQUNDLGdCQUFnQixDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDO0lBRUZQLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxNQUFNO01BQ3JELElBQUlHLENBQUMsR0FBRzNCLE9BQU8sQ0FBQztRQUFFYyxRQUFRLEVBQUU7TUFBTSxDQUFDLENBQUM7TUFFcENhLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUM7TUFFdkJKLE1BQU0sQ0FBQ3hCLGVBQWUsQ0FBQyxDQUFDOEIsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRmhDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNO0VBQ2pDLElBQUlDLE9BQU8sRUFBRWdDLE1BQU07RUFFbkI1QixVQUFVLENBQUMsTUFBTTtJQUNmNEIsTUFBTSxHQUFHQSxDQUFBLEtBQU07TUFDYixvQkFBT3ZDLE1BQUEsQ0FBQTRCLE9BQUEsQ0FBQUMsYUFBQSxjQUFLLGVBQWtCLENBQUM7SUFDakMsQ0FBQztFQUNILENBQUMsQ0FBQztFQUVGLElBQUlXLFNBQVMsR0FBR0EsQ0FBQ0MsSUFBSSxFQUFFQyxLQUFLLEdBQUcsSUFBSSxLQUFLO0lBQ3RDRCxJQUFJLEdBQUdDLEtBQUssR0FDUjtNQUNFNUIsT0FBTyxFQUFFLENBQUMsQ0FBQztNQUNYNkIsT0FBTyxFQUFFLEVBQUU7TUFDWHRCLFFBQVEsRUFBRSxLQUFLO01BQ2Z1QixPQUFPLEVBQUUsU0FBUztNQUNsQnBDLGVBQWUsRUFBRUMsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztNQUMxQm1DLElBQUksRUFBRSxRQUFRO01BQ2QsR0FBR0o7SUFDTCxDQUFDLEdBQ0RBLElBQUk7SUFFUixPQUFPLElBQUFkLGVBQU8sZUFBQzNCLE1BQUEsQ0FBQTRCLE9BQUEsQ0FBQUMsYUFBQSxDQUFDekIsZUFBQSxDQUFBMEMsY0FBYyxFQUFLTCxJQUFPLENBQUMsQ0FBQztFQUM5QyxDQUFDO0VBRURuQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU07SUFDekJ5QixFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU07TUFDbEJ4QixPQUFPLEdBQUdpQyxTQUFTLENBQUM7UUFDbEJHLE9BQU8sRUFBRSxDQUNQO1VBQUVJLEtBQUssRUFBRSxHQUFHO1VBQUVDLEtBQUssRUFBRSxTQUFTO1VBQUVDLE9BQU8sRUFBRSxJQUFJO1VBQUVDLFFBQVEsRUFBRTtRQUFRLENBQUMsRUFDbEU7VUFBRUgsS0FBSyxFQUFFLEdBQUc7VUFBRUMsS0FBSyxFQUFFO1FBQVUsQ0FBQyxFQUNoQztVQUFFRCxLQUFLLEVBQUUsR0FBRztVQUFFQyxLQUFLLEVBQUUsU0FBUztVQUFFQyxPQUFPLEVBQUUsSUFBSTtVQUFFQyxRQUFRLEVBQUU7UUFBUSxDQUFDO01BRXRFLENBQUMsQ0FBQztNQUVGbEIsTUFBTSxDQUFDekIsT0FBTyxDQUFDLENBQUMwQixlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUM7SUFFRjNCLFFBQVEsQ0FBQyx1RUFBdUUsRUFBRSxNQUFNO01BQ3RGeUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNO1FBQ2xCLElBQUlHLENBQUMsR0FBR00sU0FBUyxDQUFDO1VBQ2hCSyxJQUFJLEVBQUUsVUFBVTtVQUNoQkQsT0FBTyxFQUFFLE1BQU07VUFDZkQsT0FBTyxFQUFFLENBQ1A7WUFBRUksS0FBSyxFQUFFLEdBQUc7WUFBRUMsS0FBSyxFQUFFLFNBQVM7WUFBRUMsT0FBTyxFQUFFLElBQUk7WUFBRUMsUUFBUSxFQUFFO1VBQVEsQ0FBQyxFQUNsRTtZQUFFSCxLQUFLLEVBQUUsR0FBRztZQUFFQyxLQUFLLEVBQUU7VUFBVSxDQUFDLEVBQ2hDO1lBQUVELEtBQUssRUFBRSxHQUFHO1lBQUVDLEtBQUssRUFBRSxTQUFTO1lBQUVDLE9BQU8sRUFBRSxJQUFJO1lBQUVDLFFBQVEsRUFBRTtVQUFRLENBQUMsQ0FDbkU7VUFDREMsT0FBTyxFQUFFO1lBQ1BKLEtBQUssRUFBRSxDQUFDLEdBQUc7VUFDYjtRQUNGLENBQUMsQ0FBQztRQUVGZixNQUFNLENBQUNFLENBQUMsQ0FBQyxDQUFDRCxlQUFlLENBQUMsQ0FBQztNQUM3QixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjNCLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNO01BQy9CLElBQUk4QyxXQUFXLEdBQUcsQ0FDaEI7UUFBRUwsS0FBSyxFQUFFLEdBQUc7UUFBRUMsS0FBSyxFQUFFLFNBQVM7UUFBRUMsT0FBTyxFQUFFLElBQUk7UUFBRUMsUUFBUSxFQUFFO01BQVEsQ0FBQyxFQUNsRTtRQUFFSCxLQUFLLEVBQUUsR0FBRztRQUFFQyxLQUFLLEVBQUU7TUFBVSxDQUFDLEVBQ2hDO1FBQUVELEtBQUssRUFBRSxHQUFHO1FBQUVDLEtBQUssRUFBRSxTQUFTO1FBQUVFLFFBQVEsRUFBRTtNQUFRLENBQUMsRUFDbkQ7UUFBRUgsS0FBSyxFQUFFLEdBQUc7UUFBRUMsS0FBSyxFQUFFLFNBQVM7UUFBRUMsT0FBTyxFQUFFLElBQUk7UUFBRUMsUUFBUSxFQUFFO01BQVEsQ0FBQyxDQUNuRTtNQUNELElBQUloQixDQUFDLEdBQUdNLFNBQVMsQ0FBQztRQUNoQkssSUFBSSxFQUFFLFVBQVU7UUFDaEJGLE9BQU8sRUFBRVMsV0FBVztRQUNwQkQsT0FBTyxFQUFFO1VBQ1BKLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ2xCO01BQ0YsQ0FBQyxDQUFDO01BRUZ6QyxRQUFRLENBQUMseURBQXlELEVBQUUsTUFBTTtRQUN4RXlCLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxNQUFNO1VBQ3ZEO1VBQ0FDLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDa0IsY0FBYyxDQUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRSxPQUFPLENBQUMsU0FBUyxDQUFDO1VBQ3RFO1VBQ0F0QixNQUFNLENBQUNFLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ2tCLGNBQWMsQ0FBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsT0FBTyxDQUFDQyxTQUFTLENBQUM7VUFDdEU7VUFDQXZCLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDa0IsY0FBYyxDQUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRSxPQUFPLENBQUMsV0FBVyxDQUFDO1VBQ3hFO1VBQ0F0QixNQUFNLENBQUNFLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ2tCLGNBQWMsQ0FBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUMxRSxDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7TUFFRmhELFFBQVEsQ0FBQyx1REFBdUQsRUFBRSxNQUFNO1FBQ3RFeUIsRUFBRSxDQUFDLDBEQUEwRCxFQUFFLE1BQU07VUFDbkVHLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ3FCLEtBQUssQ0FBQ3RDLFdBQVcsR0FBRyxJQUFJOztVQUVyQztVQUNBYyxNQUFNLENBQUNFLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ2tCLGNBQWMsQ0FBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsT0FBTyxDQUFDLFNBQVMsQ0FBQztVQUN0RTtVQUNBdEIsTUFBTSxDQUFDRSxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDLENBQUNrQixjQUFjLENBQUNELFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNFLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDO1VBQ3RFO1VBQ0F2QixNQUFNLENBQUNFLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQ2tCLGNBQWMsQ0FBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0UsT0FBTyxDQUFDQyxTQUFTLENBQUM7VUFDdEU7VUFDQXZCLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDa0IsY0FBYyxDQUFDRCxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRSxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3hFLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGaEQsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNO01BQ3pCeUIsRUFBRSxDQUFDLG1CQUFtQixFQUFFLE1BQU07UUFDNUIsSUFBSUcsQ0FBQyxHQUFHTSxTQUFTLENBQUM7VUFBRUssSUFBSSxFQUFFO1FBQVcsQ0FBQyxDQUFDO1FBQ3ZDYixNQUFNLENBQUNFLENBQUMsQ0FBQ3NCLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDRixPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdDcEIsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxDQUFDc0IsUUFBUSxDQUFDLENBQUM7UUFDdkJ6QixNQUFNLENBQUNFLENBQUMsQ0FBQ3NCLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDRixPQUFPLENBQUMsSUFBSSxDQUFDO01BQzlDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGaEQsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNO01BQ3ZCeUIsRUFBRSxDQUFDLG9CQUFvQixFQUFFLE1BQU07UUFDN0IsTUFBTTJCLENBQUMsR0FBR2xCLFNBQVMsQ0FBQyxDQUFDLENBQUNtQixJQUFJLENBQUNDLDRCQUFtQixDQUFDO1FBQy9DNUIsTUFBTSxDQUFDMEIsQ0FBQyxDQUFDRyxNQUFNLENBQUMsQ0FBQ1AsT0FBTyxDQUFDLENBQUMsQ0FBQztNQUM3QixDQUFDLENBQUM7TUFFRnZCLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSxNQUFNO1FBQ3RDQyxNQUFNLENBQUNRLFNBQVMsQ0FBQyxDQUFDLENBQUNtQixJQUFJLENBQUNDLDRCQUFtQixDQUFDLENBQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDUixPQUFPLENBQUMsS0FBSyxDQUFDO01BQzNFLENBQUMsQ0FBQztNQUVGdkIsRUFBRSxDQUFDLG9GQUFvRixFQUFFLE1BQU07UUFDN0ZDLE1BQU0sQ0FDSlEsU0FBUyxDQUFDO1VBQUVLLElBQUksRUFBRSxVQUFVO1VBQUVrQixlQUFlLEVBQUUsS0FBSztVQUFFQyxlQUFlLEVBQUU7UUFBSyxDQUFDLENBQUMsQ0FDM0VMLElBQUksQ0FBQ0MsNEJBQW1CLENBQUMsQ0FDekJFLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsQ0FBQ1IsT0FBTyxDQUFDLElBQUksQ0FBQztNQUNqQixDQUFDLENBQUM7TUFFRnZCLEVBQUUsQ0FBQywrREFBK0QsRUFBRSxNQUFNO1FBQ3hFQyxNQUFNLENBQUNRLFNBQVMsQ0FBQztVQUFFSyxJQUFJLEVBQUUsVUFBVTtVQUFFa0IsZUFBZSxFQUFFO1FBQUssQ0FBQyxDQUFDLENBQUNKLElBQUksQ0FBQ0MsNEJBQW1CLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUNSLE9BQU8sQ0FDM0csS0FDRixDQUFDO01BQ0gsQ0FBQyxDQUFDO01BRUZ2QixFQUFFLENBQUMscUNBQXFDLEVBQUUsTUFBTTtRQUM5QyxJQUFJRyxDQUFDLEdBQUdNLFNBQVMsQ0FBQztVQUFFSyxJQUFJLEVBQUU7UUFBVyxDQUFDLENBQUM7UUFDdkNYLENBQUMsQ0FBQytCLFFBQVEsQ0FBQztVQUFFL0MsV0FBVyxFQUFFO1FBQU0sQ0FBQyxDQUFDO1FBQ2xDYyxNQUFNLENBQUNFLENBQUMsQ0FBQ3lCLElBQUksQ0FBQ0MsNEJBQW1CLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUM7TUFDcEUsQ0FBQyxDQUFDO01BRUZ2QixFQUFFLENBQUMsOENBQThDLEVBQUUsTUFBTTtRQUN2RCxJQUFJRyxDQUFDLEdBQUdNLFNBQVMsQ0FBQztVQUFFSyxJQUFJLEVBQUU7UUFBVyxDQUFDLENBQUM7UUFDdkNYLENBQUMsQ0FBQytCLFFBQVEsQ0FBQztVQUFFL0MsV0FBVyxFQUFFO1FBQUssQ0FBQyxDQUFDO1FBQ2pDYyxNQUFNLENBQUNFLENBQUMsQ0FBQ3lCLElBQUksQ0FBQ0MsNEJBQW1CLENBQUMsQ0FBQ0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUM7TUFDbkUsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- var _sessionUpdater = require("../session-updater");
4
- describe('session-updater', () => {
5
- let updater;
6
- beforeEach(() => {});
7
- describe('updateSessionValue', () => {
8
- const assert = (mode, session, data, expected) => {
9
- return () => {
10
- (0, _sessionUpdater.updateSessionValue)(session, mode, data);
11
- expect(session.value).toEqual(expected);
12
- };
13
- };
14
- describe('checkbox', () => {
15
- const cb = assert.bind(null, 'checkbox');
16
- it('adds 1', cb({
17
- value: []
18
- }, {
19
- value: '1',
20
- selected: true
21
- }, ['1']));
22
- it('removes 1', cb({
23
- value: ['1']
24
- }, {
25
- value: '1',
26
- selected: false
27
- }, []));
28
- it('adds 2', cb({
29
- value: ['1']
30
- }, {
31
- value: '2',
32
- selected: true
33
- }, ['1', '2']));
34
- it('does not add duplicate 1', cb({
35
- value: ['1']
36
- }, {
37
- value: '1',
38
- selected: true
39
- }, ['1']));
40
- it('does not remove if not in arrary', cb({
41
- value: ['1']
42
- }, {
43
- value: '2',
44
- selected: false
45
- }, ['1']));
46
- });
47
- describe('radio', () => {
48
- const cb = assert.bind(null, 'radio');
49
- it('adds 1', cb({
50
- value: []
51
- }, {
52
- value: '1',
53
- selected: true
54
- }, ['1']));
55
- it('adds 2', cb({
56
- value: ['1']
57
- }, {
58
- value: '2',
59
- selected: true
60
- }, ['2']));
61
- it('does not add duplicate 1', cb({
62
- value: ['1']
63
- }, {
64
- value: '1',
65
- selected: true
66
- }, ['1']));
67
- });
68
- });
69
- });
70
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc2Vzc2lvblVwZGF0ZXIiLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJ1cGRhdGVyIiwiYmVmb3JlRWFjaCIsImFzc2VydCIsIm1vZGUiLCJzZXNzaW9uIiwiZGF0YSIsImV4cGVjdGVkIiwidXBkYXRlU2Vzc2lvblZhbHVlIiwiZXhwZWN0IiwidmFsdWUiLCJ0b0VxdWFsIiwiY2IiLCJiaW5kIiwiaXQiLCJzZWxlY3RlZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2Vzc2lvbi11cGRhdGVyLXRlc3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVwZGF0ZVNlc3Npb25WYWx1ZSB9IGZyb20gJy4uL3Nlc3Npb24tdXBkYXRlcic7XG5cbmRlc2NyaWJlKCdzZXNzaW9uLXVwZGF0ZXInLCAoKSA9PiB7XG4gIGxldCB1cGRhdGVyO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge30pO1xuXG4gIGRlc2NyaWJlKCd1cGRhdGVTZXNzaW9uVmFsdWUnLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0ID0gKG1vZGUsIHNlc3Npb24sIGRhdGEsIGV4cGVjdGVkKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB1cGRhdGVTZXNzaW9uVmFsdWUoc2Vzc2lvbiwgbW9kZSwgZGF0YSk7XG4gICAgICAgIGV4cGVjdChzZXNzaW9uLnZhbHVlKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgICAgIH07XG4gICAgfTtcblxuICAgIGRlc2NyaWJlKCdjaGVja2JveCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gYXNzZXJ0LmJpbmQobnVsbCwgJ2NoZWNrYm94Jyk7XG4gICAgICBpdCgnYWRkcyAxJywgY2IoeyB2YWx1ZTogW10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ3JlbW92ZXMgMScsIGNiKHsgdmFsdWU6IFsnMSddIH0sIHsgdmFsdWU6ICcxJywgc2VsZWN0ZWQ6IGZhbHNlIH0sIFtdKSk7XG4gICAgICBpdCgnYWRkcyAyJywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzInLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnLCAnMiddKSk7XG4gICAgICBpdCgnZG9lcyBub3QgYWRkIGR1cGxpY2F0ZSAxJywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ2RvZXMgbm90IHJlbW92ZSBpZiBub3QgaW4gYXJyYXJ5JywgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzInLCBzZWxlY3RlZDogZmFsc2UgfSwgWycxJ10pKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyYWRpbycsICgpID0+IHtcbiAgICAgIGNvbnN0IGNiID0gYXNzZXJ0LmJpbmQobnVsbCwgJ3JhZGlvJyk7XG4gICAgICBpdCgnYWRkcyAxJywgY2IoeyB2YWx1ZTogW10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogdHJ1ZSB9LCBbJzEnXSkpO1xuICAgICAgaXQoJ2FkZHMgMicsIGNiKHsgdmFsdWU6IFsnMSddIH0sIHsgdmFsdWU6ICcyJywgc2VsZWN0ZWQ6IHRydWUgfSwgWycyJ10pKTtcbiAgICAgIGl0KCdkb2VzIG5vdCBhZGQgZHVwbGljYXRlIDEnLCBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMScsIHNlbGVjdGVkOiB0cnVlIH0sIFsnMSddKSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBQUEsZUFBQSxHQUFBQyxPQUFBO0FBRUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNO0VBQ2hDLElBQUlDLE9BQU87RUFFWEMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFFcEJGLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxNQUFNO0lBQ25DLE1BQU1HLE1BQU0sR0FBR0EsQ0FBQ0MsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLElBQUksRUFBRUMsUUFBUSxLQUFLO01BQ2hELE9BQU8sTUFBTTtRQUNYLElBQUFDLGtDQUFrQixFQUFDSCxPQUFPLEVBQUVELElBQUksRUFBRUUsSUFBSSxDQUFDO1FBQ3ZDRyxNQUFNLENBQUNKLE9BQU8sQ0FBQ0ssS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBQ0osUUFBUSxDQUFDO01BQ3pDLENBQUM7SUFDSCxDQUFDO0lBRURQLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTTtNQUN6QixNQUFNWSxFQUFFLEdBQUdULE1BQU0sQ0FBQ1UsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7TUFDeENDLEVBQUUsQ0FBQyxRQUFRLEVBQUVGLEVBQUUsQ0FBQztRQUFFRixLQUFLLEVBQUU7TUFBRyxDQUFDLEVBQUU7UUFBRUEsS0FBSyxFQUFFLEdBQUc7UUFBRUssUUFBUSxFQUFFO01BQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztNQUN0RUQsRUFBRSxDQUFDLFdBQVcsRUFBRUYsRUFBRSxDQUFDO1FBQUVGLEtBQUssRUFBRSxDQUFDLEdBQUc7TUFBRSxDQUFDLEVBQUU7UUFBRUEsS0FBSyxFQUFFLEdBQUc7UUFBRUssUUFBUSxFQUFFO01BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO01BQzFFRCxFQUFFLENBQUMsUUFBUSxFQUFFRixFQUFFLENBQUM7UUFBRUYsS0FBSyxFQUFFLENBQUMsR0FBRztNQUFFLENBQUMsRUFBRTtRQUFFQSxLQUFLLEVBQUUsR0FBRztRQUFFSyxRQUFRLEVBQUU7TUFBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztNQUM5RUQsRUFBRSxDQUFDLDBCQUEwQixFQUFFRixFQUFFLENBQUM7UUFBRUYsS0FBSyxFQUFFLENBQUMsR0FBRztNQUFFLENBQUMsRUFBRTtRQUFFQSxLQUFLLEVBQUUsR0FBRztRQUFFSyxRQUFRLEVBQUU7TUFBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO01BQzNGRCxFQUFFLENBQUMsa0NBQWtDLEVBQUVGLEVBQUUsQ0FBQztRQUFFRixLQUFLLEVBQUUsQ0FBQyxHQUFHO01BQUUsQ0FBQyxFQUFFO1FBQUVBLEtBQUssRUFBRSxHQUFHO1FBQUVLLFFBQVEsRUFBRTtNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEcsQ0FBQyxDQUFDO0lBRUZmLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTTtNQUN0QixNQUFNWSxFQUFFLEdBQUdULE1BQU0sQ0FBQ1UsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7TUFDckNDLEVBQUUsQ0FBQyxRQUFRLEVBQUVGLEVBQUUsQ0FBQztRQUFFRixLQUFLLEVBQUU7TUFBRyxDQUFDLEVBQUU7UUFBRUEsS0FBSyxFQUFFLEdBQUc7UUFBRUssUUFBUSxFQUFFO01BQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztNQUN0RUQsRUFBRSxDQUFDLFFBQVEsRUFBRUYsRUFBRSxDQUFDO1FBQUVGLEtBQUssRUFBRSxDQUFDLEdBQUc7TUFBRSxDQUFDLEVBQUU7UUFBRUEsS0FBSyxFQUFFLEdBQUc7UUFBRUssUUFBUSxFQUFFO01BQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztNQUN6RUQsRUFBRSxDQUFDLDBCQUEwQixFQUFFRixFQUFFLENBQUM7UUFBRUYsS0FBSyxFQUFFLENBQUMsR0FBRztNQUFFLENBQUMsRUFBRTtRQUFFQSxLQUFLLEVBQUUsR0FBRztRQUFFSyxRQUFRLEVBQUU7TUFBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==