@interactors/core 0.3.0 → 1.0.0-effection.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 (152) hide show
  1. package/dist/cjs/constructor.js +66 -143
  2. package/dist/cjs/constructor.js.map +1 -1
  3. package/dist/cjs/converge.js +3 -5
  4. package/dist/cjs/converge.js.map +1 -1
  5. package/dist/cjs/format.js +50 -0
  6. package/dist/cjs/format.js.map +1 -0
  7. package/dist/cjs/index.js +1 -20
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/inspector.js +3 -2
  10. package/dist/cjs/inspector.js.map +1 -1
  11. package/dist/cjs/interaction.js +43 -35
  12. package/dist/cjs/interaction.js.map +1 -1
  13. package/dist/cjs/match.js +17 -7
  14. package/dist/cjs/match.js.map +1 -1
  15. package/dist/cjs/matcher.js +13 -1
  16. package/dist/cjs/matcher.js.map +1 -1
  17. package/dist/cjs/matchers/and.js +3 -0
  18. package/dist/cjs/matchers/and.js.map +1 -1
  19. package/dist/cjs/matchers/every.js +3 -0
  20. package/dist/cjs/matchers/every.js.map +1 -1
  21. package/dist/cjs/matchers/including.js +4 -0
  22. package/dist/cjs/matchers/including.js.map +1 -1
  23. package/dist/cjs/matchers/matching.js +4 -0
  24. package/dist/cjs/matchers/matching.js.map +1 -1
  25. package/dist/cjs/matchers/not.js +3 -0
  26. package/dist/cjs/matchers/not.js.map +1 -1
  27. package/dist/cjs/matchers/or.js +3 -0
  28. package/dist/cjs/matchers/or.js.map +1 -1
  29. package/dist/cjs/matchers/some.js +3 -0
  30. package/dist/cjs/matchers/some.js.map +1 -1
  31. package/dist/cjs/resolvers.js +98 -0
  32. package/dist/cjs/resolvers.js.map +1 -0
  33. package/dist/cjs/serialize.js +48 -0
  34. package/dist/cjs/serialize.js.map +1 -0
  35. package/dist/constructor.d.ts +3 -10
  36. package/dist/constructor.d.ts.map +1 -1
  37. package/dist/converge.d.ts +2 -1
  38. package/dist/converge.d.ts.map +1 -1
  39. package/dist/esm/constructor.js +64 -134
  40. package/dist/esm/constructor.js.map +1 -1
  41. package/dist/esm/converge.js +3 -5
  42. package/dist/esm/converge.js.map +1 -1
  43. package/dist/esm/{format-table.js → format.js} +19 -1
  44. package/dist/esm/format.js.map +1 -0
  45. package/dist/esm/index.js +0 -4
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/inspector.js +3 -2
  48. package/dist/esm/inspector.js.map +1 -1
  49. package/dist/esm/interaction.js +40 -29
  50. package/dist/esm/interaction.js.map +1 -1
  51. package/dist/esm/match.js +17 -7
  52. package/dist/esm/match.js.map +1 -1
  53. package/dist/esm/matcher.js +11 -0
  54. package/dist/esm/matcher.js.map +1 -1
  55. package/dist/esm/matchers/and.js +4 -1
  56. package/dist/esm/matchers/and.js.map +1 -1
  57. package/dist/esm/matchers/every.js +4 -1
  58. package/dist/esm/matchers/every.js.map +1 -1
  59. package/dist/esm/matchers/including.js +4 -0
  60. package/dist/esm/matchers/including.js.map +1 -1
  61. package/dist/esm/matchers/matching.js +4 -0
  62. package/dist/esm/matchers/matching.js.map +1 -1
  63. package/dist/esm/matchers/not.js +4 -1
  64. package/dist/esm/matchers/not.js.map +1 -1
  65. package/dist/esm/matchers/or.js +4 -1
  66. package/dist/esm/matchers/or.js.map +1 -1
  67. package/dist/esm/matchers/some.js +4 -1
  68. package/dist/esm/matchers/some.js.map +1 -1
  69. package/dist/esm/resolvers.js +88 -0
  70. package/dist/esm/resolvers.js.map +1 -0
  71. package/dist/esm/serialize.js +43 -0
  72. package/dist/esm/serialize.js.map +1 -0
  73. package/dist/format.d.ts +10 -0
  74. package/dist/format.d.ts.map +1 -0
  75. package/dist/index.d.ts +4 -6
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/inspector.d.ts +2 -2
  78. package/dist/inspector.d.ts.map +1 -1
  79. package/dist/interaction.d.ts +38 -10
  80. package/dist/interaction.d.ts.map +1 -1
  81. package/dist/match.d.ts +5 -5
  82. package/dist/match.d.ts.map +1 -1
  83. package/dist/matcher.d.ts +2 -0
  84. package/dist/matcher.d.ts.map +1 -1
  85. package/dist/matchers/and.d.ts.map +1 -1
  86. package/dist/matchers/every.d.ts.map +1 -1
  87. package/dist/matchers/including.d.ts.map +1 -1
  88. package/dist/matchers/matching.d.ts.map +1 -1
  89. package/dist/matchers/not.d.ts.map +1 -1
  90. package/dist/matchers/or.d.ts.map +1 -1
  91. package/dist/matchers/some.d.ts.map +1 -1
  92. package/dist/resolvers.d.ts +9 -0
  93. package/dist/resolvers.d.ts.map +1 -0
  94. package/dist/serialize.d.ts +13 -0
  95. package/dist/serialize.d.ts.map +1 -0
  96. package/dist/specification.d.ts +49 -51
  97. package/dist/specification.d.ts.map +1 -1
  98. package/dist/tsconfig.build.tsbuildinfo +1 -1
  99. package/package.json +3 -3
  100. package/src/constructor.ts +76 -160
  101. package/src/converge.ts +3 -6
  102. package/src/format.ts +58 -0
  103. package/src/index.ts +4 -6
  104. package/src/inspector.ts +5 -4
  105. package/src/interaction.ts +85 -36
  106. package/src/match.ts +23 -15
  107. package/src/matcher.ts +11 -0
  108. package/src/matchers/and.ts +4 -1
  109. package/src/matchers/every.ts +4 -1
  110. package/src/matchers/including.ts +4 -1
  111. package/src/matchers/matching.ts +4 -1
  112. package/src/matchers/not.ts +4 -1
  113. package/src/matchers/or.ts +4 -1
  114. package/src/matchers/some.ts +4 -1
  115. package/src/resolvers.ts +100 -0
  116. package/src/serialize.ts +54 -0
  117. package/src/specification.ts +58 -61
  118. package/CHANGELOG.md +0 -14
  119. package/dist/cjs/dispatch.js +0 -34
  120. package/dist/cjs/dispatch.js.map +0 -1
  121. package/dist/cjs/element/fill-in.js +0 -71
  122. package/dist/cjs/element/fill-in.js.map +0 -1
  123. package/dist/cjs/focused.js +0 -47
  124. package/dist/cjs/focused.js.map +0 -1
  125. package/dist/cjs/format-table.js +0 -30
  126. package/dist/cjs/format-table.js.map +0 -1
  127. package/dist/cjs/perform.js +0 -13
  128. package/dist/cjs/perform.js.map +0 -1
  129. package/dist/dispatch.d.ts +0 -6
  130. package/dist/dispatch.d.ts.map +0 -1
  131. package/dist/element/fill-in.d.ts +0 -12
  132. package/dist/element/fill-in.d.ts.map +0 -1
  133. package/dist/esm/dispatch.js +0 -26
  134. package/dist/esm/dispatch.js.map +0 -1
  135. package/dist/esm/element/fill-in.js +0 -67
  136. package/dist/esm/element/fill-in.js.map +0 -1
  137. package/dist/esm/focused.js +0 -41
  138. package/dist/esm/focused.js.map +0 -1
  139. package/dist/esm/format-table.js.map +0 -1
  140. package/dist/esm/perform.js +0 -9
  141. package/dist/esm/perform.js.map +0 -1
  142. package/dist/focused.d.ts +0 -30
  143. package/dist/focused.d.ts.map +0 -1
  144. package/dist/format-table.d.ts +0 -6
  145. package/dist/format-table.d.ts.map +0 -1
  146. package/dist/perform.d.ts +0 -3
  147. package/dist/perform.d.ts.map +0 -1
  148. package/src/dispatch.ts +0 -24
  149. package/src/element/fill-in.ts +0 -76
  150. package/src/focused.ts +0 -43
  151. package/src/format-table.ts +0 -34
  152. package/src/perform.ts +0 -11
@@ -1,102 +1,18 @@
1
1
  "use strict";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.createConstructor = exports.instantiateInteractor = exports.instantiateBaseInteractor = exports.unsafeSyncResolveUnique = exports.unsafeSyncResolveParent = exports.resolveEmpty = exports.resolveNonEmpty = exports.resolveUnique = exports.findElements = void 0;
5
- const globals_1 = require("@interactors/globals");
4
+ exports.createConstructor = exports.instantiateInteractor = void 0;
6
5
  const converge_1 = require("./converge");
7
6
  const filter_set_1 = require("./filter-set");
8
7
  const locator_1 = require("./locator");
9
8
  const match_1 = require("./match");
10
- const format_table_1 = require("./format-table");
9
+ const format_1 = require("./format");
11
10
  const errors_1 = require("./errors");
12
11
  const interaction_1 = require("./interaction");
13
- const match_2 = require("./match");
14
- const errors_2 = require("./errors");
15
12
  const matcher_1 = require("./matcher");
16
13
  const matching_1 = require("./matchers/matching");
14
+ const resolvers_1 = require("./resolvers");
17
15
  const defaultLocator = (element) => element.textContent || "";
18
- const defaultSelector = 'div';
19
- function findElements(parentElement, interactor) {
20
- if (typeof (interactor.specification.selector) === 'function') {
21
- return interactor.specification.selector(parentElement);
22
- }
23
- else if (interactor.specification.selector === ':root') {
24
- // this is a bit of a hack, because otherwise there isn't a good way of selecting the root element
25
- return [parentElement.ownerDocument.querySelector(':root')];
26
- }
27
- else {
28
- return Array.from(parentElement.querySelectorAll(interactor.specification.selector || defaultSelector));
29
- }
30
- }
31
- exports.findElements = findElements;
32
- function findMatches(parentElement, interactor) {
33
- if (!interactor.name) {
34
- throw new Error('One of your interactors was created without a name. Please provide a label for your interactor:\n\tHTML.extend(\'my interactor\') || createInteractor(\'my interactor\')');
35
- }
36
- return findElements(parentElement, interactor).map((e) => new match_2.Match(e, interactor.filter, interactor.locator));
37
- }
38
- function findMatchesMatching(parentElement, interactor) {
39
- return findMatches(parentElement, interactor).filter((m) => m.matches);
40
- }
41
- function findMatchesNonEmpty(parentElement, interactor) {
42
- let matches = findMatches(parentElement, interactor);
43
- let matching = matches.filter((m) => m.matches);
44
- if (matching.length > 0) {
45
- return matching;
46
- }
47
- else if (matches.length === 0) {
48
- throw new errors_2.NoSuchElementError(`did not find ${description(interactor)}`);
49
- }
50
- else {
51
- let table = format_table_1.formatTable({
52
- headers: interactor.locator ? [interactor.name, ...interactor.filter.asTableHeader()] : interactor.filter.asTableHeader(),
53
- rows: matches.slice().sort((a, b) => b.sortWeight - a.sortWeight).map((m) => m.asTableRow()),
54
- });
55
- throw new errors_2.NoSuchElementError(`did not find ${description(interactor)}, did you mean one of:\n\n${table}`);
56
- }
57
- }
58
- // Given a parent element, and an interactor, find exactly one matching element
59
- // and return it. If no elements match, raise an error. If more than one
60
- // element matches, raise an error.
61
- function resolveUnique(parentElement, interactor) {
62
- let matching = findMatchesNonEmpty(parentElement, interactor);
63
- if (matching.length === 1) {
64
- return matching[0].element;
65
- }
66
- else {
67
- let alternatives = matching.map((m) => '- ' + m.elementDescription());
68
- throw new errors_2.AmbiguousElementError(`${description(interactor)} matches multiple elements:\n\n${alternatives.join('\n')}`);
69
- }
70
- }
71
- exports.resolveUnique = resolveUnique;
72
- // Given a parent element, and an interactor, find all matching elements and
73
- // return them. If no elements match, raise an error.
74
- function resolveNonEmpty(parentElement, interactor) {
75
- return findMatchesNonEmpty(parentElement, interactor).map(m => m.element);
76
- }
77
- exports.resolveNonEmpty = resolveNonEmpty;
78
- // Given a parent element, and an interactor, check if there are any matching
79
- // elements, and throw an error if there are. Otherwise return undefined.
80
- function resolveEmpty(parentElement, interactor) {
81
- let matching = findMatchesMatching(parentElement, interactor);
82
- if (matching.length !== 0) {
83
- let alternatives = matching.map((m) => '- ' + m.elementDescription());
84
- throw new errors_2.NotAbsentError(`${description(interactor)} exists but should not:\n\n${alternatives.join('\n')}`);
85
- }
86
- }
87
- exports.resolveEmpty = resolveEmpty;
88
- function ownDescription(options) {
89
- if (options.locator) {
90
- return `${options.name} ${options.locator.description} ${options.filter.description}`.trim();
91
- }
92
- else {
93
- return `${options.name} ${options.filter.description}`.trim();
94
- }
95
- }
96
- function description(options) {
97
- let ancestorsAndSelf = options.ancestors.concat(options);
98
- return ancestorsAndSelf.reverse().map(ownDescription).join(' within ');
99
- }
100
16
  /**
101
17
  * Removes any default values for a filter from the lookup if that filter is present in the
102
18
  * assertion. Otherwise, it is not possible to make an assertion on a filter that might conflict
@@ -115,28 +31,26 @@ function getLookupFilterForAssertion(filter, filters) {
115
31
  }
116
32
  return lookupFilter;
117
33
  }
118
- function unsafeSyncResolveParent(options) {
119
- return options.ancestors.reduce(resolveUnique, globals_1.globals.document.documentElement);
120
- }
121
- exports.unsafeSyncResolveParent = unsafeSyncResolveParent;
122
- function unsafeSyncResolveUnique(options) {
123
- return resolveUnique(unsafeSyncResolveParent(options), options);
124
- }
125
- exports.unsafeSyncResolveUnique = unsafeSyncResolveUnique;
126
- function instantiateBaseInteractor(options, resolver) {
34
+ function instantiateInteractor(options, resolver) {
127
35
  let interactor = {
128
36
  options,
129
37
  get description() {
130
- return description(options);
38
+ return format_1.formatDescription(options);
131
39
  },
132
40
  perform(fn) {
133
- return interaction_1.interaction(`run perform on ${description(options)}`, () => converge_1.converge(() => fn(resolver(options))));
41
+ return interaction_1.createInteraction('action', {
42
+ name: "perform",
43
+ interactor,
44
+ description: `run perform on ${format_1.formatDescription(options)}`,
45
+ run: (interactor) => converge_1.converge(() => fn(resolver(interactor.options))),
46
+ });
134
47
  },
135
48
  assert(fn) {
136
- return interaction_1.check(`${description(options)} asserts`, () => {
137
- return converge_1.converge(() => {
138
- fn(resolver(options));
139
- });
49
+ return interaction_1.createInteraction('assertion', {
50
+ name: "assert",
51
+ interactor,
52
+ description: `${format_1.formatDescription(options)} asserts`,
53
+ run: (interactor) => converge_1.converge(() => { fn(resolver(interactor.options)); }),
140
54
  });
141
55
  },
142
56
  has(filters) {
@@ -144,18 +58,48 @@ function instantiateBaseInteractor(options, resolver) {
144
58
  },
145
59
  is(filters) {
146
60
  let filter = new filter_set_1.FilterSet(options.specification, filters);
147
- return interaction_1.check(`${description(options)} matches filters: ${filter.description}`, () => {
148
- return converge_1.converge(() => {
149
- let element = resolver({ ...options, filter: getLookupFilterForAssertion(options.filter, filters) });
61
+ return interaction_1.createInteraction('assertion', {
62
+ name: "is",
63
+ interactor,
64
+ filters,
65
+ description: `${format_1.formatDescription(options)} matches filters: ${filter.description}`,
66
+ run: (interactor) => converge_1.converge(() => {
67
+ let element = resolver({ ...interactor.options, filter: getLookupFilterForAssertion(interactor.options.filter, filters) });
150
68
  let match = new match_1.MatchFilter(element, filter);
151
69
  if (!match.matches) {
152
- throw new errors_1.FilterNotMatchingError(`${description(options)} does not match filters:\n\n${match.formatAsExpectations()}`);
70
+ throw new errors_1.FilterNotMatchingError(`${format_1.formatDescription(options)} does not match filters:\n\n${match.formatAsExpectations()}`);
153
71
  }
154
- });
72
+ }),
155
73
  });
156
74
  },
75
+ find(child) {
76
+ return instantiateInteractor({
77
+ ...child.options,
78
+ ancestors: [...options.ancestors, options, ...child.options.ancestors]
79
+ }, resolver);
80
+ },
81
+ exists() {
82
+ return interaction_1.createInteraction('assertion', {
83
+ name: 'exists',
84
+ interactor,
85
+ description: `${format_1.formatDescription(options)} exists`,
86
+ run: (interactor) => converge_1.converge(() => {
87
+ resolvers_1.resolveFirst(resolvers_1.unsafeSyncResolveParent(interactor.options), options);
88
+ }),
89
+ }, (element) => resolvers_1.hasMatchMatching(element, options));
90
+ },
91
+ absent() {
92
+ return interaction_1.createInteraction('assertion', {
93
+ name: 'absent',
94
+ interactor,
95
+ description: `${format_1.formatDescription(options)} does not exist`,
96
+ run: (interactor) => converge_1.converge(() => {
97
+ resolvers_1.resolveEmpty(resolvers_1.unsafeSyncResolveParent(interactor.options), options);
98
+ }),
99
+ }, (element) => !resolvers_1.hasMatchMatching(element, options));
100
+ },
157
101
  apply(parentElement) {
158
- let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
102
+ let element = [...options.ancestors, options].reduce(resolvers_1.resolveUnique, parentElement);
159
103
  return match_1.applyFilter(options.specification.locator || defaultLocator, element);
160
104
  }
161
105
  };
@@ -167,7 +111,13 @@ function instantiateBaseInteractor(options, resolver) {
167
111
  if (args.length) {
168
112
  actionDescription += ` with ` + args.map((a) => JSON.stringify(a)).join(', ');
169
113
  }
170
- return interaction_1.interaction(`${actionDescription} on ${description(options)}`, () => action(interactor, ...args));
114
+ return interaction_1.createInteraction('action', {
115
+ name: actionName,
116
+ interactor,
117
+ args,
118
+ description: `${actionDescription} on ${format_1.formatDescription(options)}`,
119
+ run: (interactor) => action(interactor, ...args)
120
+ });
171
121
  },
172
122
  configurable: true,
173
123
  writable: true,
@@ -179,10 +129,13 @@ function instantiateBaseInteractor(options, resolver) {
179
129
  if (!interactor.hasOwnProperty(filterName)) {
180
130
  Object.defineProperty(interactor, filterName, {
181
131
  value: function () {
182
- return interaction_1.interactionFilter(`${filterName} of ${description(options)}`, async () => {
183
- return match_1.applyFilter(filter, resolver(options));
132
+ return interaction_1.createInteraction('assertion', {
133
+ name: filterName,
134
+ interactor,
135
+ description: `${filterName} of ${format_1.formatDescription(options)}`,
136
+ run: (interactor) => converge_1.converge(() => match_1.applyFilter(filter, resolver(interactor.options))),
184
137
  }, (parentElement) => {
185
- let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
138
+ let element = [...options.ancestors, options].reduce(resolvers_1.resolveUnique, parentElement);
186
139
  return match_1.applyFilter(filter, element);
187
140
  });
188
141
  },
@@ -194,36 +147,6 @@ function instantiateBaseInteractor(options, resolver) {
194
147
  }
195
148
  return interactor;
196
149
  }
197
- exports.instantiateBaseInteractor = instantiateBaseInteractor;
198
- function instantiateInteractor(options) {
199
- let interactor = instantiateBaseInteractor(options, unsafeSyncResolveUnique);
200
- return Object.assign(interactor, {
201
- find(child) {
202
- return instantiateInteractor({
203
- ...child.options,
204
- ancestors: [...options.ancestors, options, ...child.options.ancestors]
205
- });
206
- },
207
- exists() {
208
- return interaction_1.checkFilter(`${description(options)} exists`, () => {
209
- return converge_1.converge(() => {
210
- resolveNonEmpty(unsafeSyncResolveParent(options), options);
211
- });
212
- }, (element) => {
213
- return findMatchesMatching(element, options).length > 0;
214
- });
215
- },
216
- absent() {
217
- return interaction_1.checkFilter(`${description(options)} does not exist`, () => {
218
- return converge_1.converge(() => {
219
- resolveEmpty(unsafeSyncResolveParent(options), options);
220
- });
221
- }, (element) => {
222
- return findMatchesMatching(element, options).length === 0;
223
- });
224
- }
225
- });
226
- }
227
150
  exports.instantiateInteractor = instantiateInteractor;
228
151
  function createConstructor(name, specification) {
229
152
  function initInteractor(...args) {
@@ -236,7 +159,7 @@ function createConstructor(name, specification) {
236
159
  else {
237
160
  filter = new filter_set_1.FilterSet(specification, args[0] || {});
238
161
  }
239
- return instantiateInteractor({ name, specification, filter, locator, ancestors: [] });
162
+ return instantiateInteractor({ name, specification, filter, locator, ancestors: [] }, resolvers_1.unsafeSyncResolveUnique);
240
163
  }
241
164
  return Object.assign(initInteractor, {
242
165
  selector: (value) => {
@@ -1 +1 @@
1
- {"version":3,"file":"constructor.js","sourceRoot":"","sources":["../../src/constructor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constructor.js","sourceRoot":"","sources":["../../src/constructor.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.converge = void 0;
4
+ const core_1 = require("@effection/core");
4
5
  const performance_api_1 = require("performance-api");
5
6
  const globals_1 = require("@interactors/globals");
6
- function wait(ms) {
7
- return new Promise((resolve) => setTimeout(resolve, ms));
8
- }
9
- async function converge(fn) {
7
+ function* converge(fn) {
10
8
  let startTime = performance_api_1.performance.now();
11
9
  while (true) {
12
10
  try {
@@ -18,7 +16,7 @@ async function converge(fn) {
18
16
  throw e;
19
17
  }
20
18
  else {
21
- await wait(1);
19
+ yield core_1.sleep(1);
22
20
  }
23
21
  }
24
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converge.js","sourceRoot":"","sources":["../../src/converge.ts"],"names":[],"mappings":";;;AAAA,qDAA8C;AAC9C,kDAA8C;AAE9C,SAAS,IAAI,CAAC,EAAU;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAI,EAAW;IAC3C,IAAI,SAAS,GAAG,6BAAW,CAAC,GAAG,EAAE,CAAC;IAClC,OAAM,IAAI,EAAE;QACV,IAAI;YACF,OAAO,EAAE,EAAE,CAAC;SACb;QAAC,OAAM,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,6BAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAG,IAAI,GAAG,iBAAO,CAAC,iBAAiB,EAAE;gBACnC,MAAM,CAAC,CAAC;aACT;iBAAM;gBACL,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;SACF;KACF;AACH,CAAC;AAdD,4BAcC"}
1
+ {"version":3,"file":"converge.js","sourceRoot":"","sources":["../../src/converge.ts"],"names":[],"mappings":";;;AAAA,0CAAmD;AACnD,qDAA8C;AAC9C,kDAA8C;AAE9C,QAAe,CAAC,CAAC,QAAQ,CAAI,EAAW;IACtC,IAAI,SAAS,GAAG,6BAAW,CAAC,GAAG,EAAE,CAAC;IAClC,OAAM,IAAI,EAAE;QACV,IAAI;YACF,OAAO,EAAE,EAAE,CAAC;SACb;QAAC,OAAM,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,6BAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAG,IAAI,GAAG,iBAAO,CAAC,iBAAiB,EAAE;gBACnC,MAAM,CAAC,CAAC;aACT;iBAAM;gBACL,MAAM,YAAK,CAAC,CAAC,CAAC,CAAC;aAChB;SACF;KACF;AACH,CAAC;AAdD,4BAcC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatMatchesTable = exports.formatDescription = exports.formatTable = void 0;
4
+ const MAX_COLUMN_WIDTH = 40;
5
+ function formatValue(value, width) {
6
+ if (value.length > width) {
7
+ return value.slice(0, width - 1) + '…';
8
+ }
9
+ else {
10
+ return value.padEnd(width);
11
+ }
12
+ }
13
+ function formatTable(options) {
14
+ let columnWidths = options.headers.map((h, index) => {
15
+ return Math.min(MAX_COLUMN_WIDTH, Math.max(h.length, ...options.rows.map((r) => r[index].length)));
16
+ });
17
+ let formatRow = (cells) => {
18
+ return '┃ ' + cells.map((c, index) => formatValue(c, columnWidths[index])).join(' ┃ ') + ' ┃';
19
+ };
20
+ let spacerRow = () => {
21
+ return '┣━' + columnWidths.map((w) => "━".repeat(w)).join('━╋━') + '━┫';
22
+ };
23
+ return [
24
+ formatRow(options.headers),
25
+ spacerRow(),
26
+ ...options.rows.map((row) => formatRow(row))
27
+ ].join('\n');
28
+ }
29
+ exports.formatTable = formatTable;
30
+ function ownDescription(options) {
31
+ if (options.locator) {
32
+ return `${options.name} ${options.locator.description} ${options.filter.description}`.trim();
33
+ }
34
+ else {
35
+ return `${options.name} ${options.filter.description}`.trim();
36
+ }
37
+ }
38
+ function formatDescription(options) {
39
+ let ancestorsAndSelf = options.ancestors.concat(options);
40
+ return ancestorsAndSelf.reverse().map(ownDescription).join(' within ');
41
+ }
42
+ exports.formatDescription = formatDescription;
43
+ function formatMatchesTable(interactor, matches) {
44
+ return formatTable({
45
+ headers: interactor.locator ? [interactor.name, ...interactor.filter.asTableHeader()] : interactor.filter.asTableHeader(),
46
+ rows: matches.slice().sort((a, b) => b.sortWeight - a.sortWeight).map((m) => m.asTableRow()),
47
+ });
48
+ }
49
+ exports.formatMatchesTable = formatMatchesTable;
50
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,31 +1,14 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
2
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.click = exports.fillIn = exports.every = exports.some = exports.not = exports.or = exports.and = exports.matching = exports.including = exports.isVisible = exports.blur = exports.focus = exports.focused = exports.perform = exports.createInspector = exports.createInteractor = exports.isInteraction = void 0;
3
+ exports.click = exports.every = exports.some = exports.not = exports.or = exports.and = exports.matching = exports.including = exports.isVisible = exports.createInspector = exports.createInteractor = exports.isInteraction = void 0;
14
4
  var interaction_1 = require("./interaction");
15
5
  Object.defineProperty(exports, "isInteraction", { enumerable: true, get: function () { return interaction_1.isInteraction; } });
16
6
  var create_interactor_1 = require("./create-interactor");
17
7
  Object.defineProperty(exports, "createInteractor", { enumerable: true, get: function () { return create_interactor_1.createInteractor; } });
18
8
  var inspector_1 = require("./inspector");
19
9
  Object.defineProperty(exports, "createInspector", { enumerable: true, get: function () { return inspector_1.createInspector; } });
20
- var perform_1 = require("./perform");
21
- Object.defineProperty(exports, "perform", { enumerable: true, get: function () { return perform_1.perform; } });
22
- var focused_1 = require("./focused");
23
- Object.defineProperty(exports, "focused", { enumerable: true, get: function () { return focused_1.focused; } });
24
- Object.defineProperty(exports, "focus", { enumerable: true, get: function () { return focused_1.focus; } });
25
- Object.defineProperty(exports, "blur", { enumerable: true, get: function () { return focused_1.blur; } });
26
10
  var element_is_visible_1 = require("element-is-visible");
27
11
  Object.defineProperty(exports, "isVisible", { enumerable: true, get: function () { return element_is_visible_1.isVisible; } });
28
- __exportStar(require("./dispatch"), exports);
29
12
  var including_1 = require("./matchers/including");
30
13
  Object.defineProperty(exports, "including", { enumerable: true, get: function () { return including_1.including; } });
31
14
  var matching_1 = require("./matchers/matching");
@@ -40,8 +23,6 @@ var some_1 = require("./matchers/some");
40
23
  Object.defineProperty(exports, "some", { enumerable: true, get: function () { return some_1.some; } });
41
24
  var every_1 = require("./matchers/every");
42
25
  Object.defineProperty(exports, "every", { enumerable: true, get: function () { return every_1.every; } });
43
- var fill_in_1 = require("./element/fill-in");
44
- Object.defineProperty(exports, "fillIn", { enumerable: true, get: function () { return fill_in_1.fillIn; } });
45
26
  var click_1 = require("./element/click");
46
27
  Object.defineProperty(exports, "click", { enumerable: true, get: function () { return click_1.click; } });
47
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,6CAAgF;AAArC,4GAAA,aAAa,OAAA;AACxD,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,yCAA6C;AAApC,4GAAA,eAAe,OAAA;AACxB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,qCAAiD;AAAxC,kGAAA,OAAO,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,+FAAA,IAAI,OAAA;AAC7B,yDAA+C;AAAtC,+GAAA,SAAS,OAAA;AAElB,6CAA2B;AAE3B,kDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,sCAAqC;AAA5B,0FAAA,GAAG,OAAA;AACZ,oCAAmC;AAA1B,wFAAA,EAAE,OAAA;AACX,sCAAqC;AAA5B,0FAAA,GAAG,OAAA;AACZ,wCAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,0CAAyC;AAAhC,8FAAA,KAAK,OAAA;AAEd,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AACf,yCAAwC;AAA/B,8FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6CAAoG;AAArC,4GAAA,aAAa,OAAA;AAC5E,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,yCAA6C;AAApC,4GAAA,eAAe,OAAA;AACxB,yDAA+C;AAAtC,+GAAA,SAAS,OAAA;AAGlB,kDAAiD;AAAxC,sGAAA,SAAS,OAAA;AAClB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,sCAAqC;AAA5B,0FAAA,GAAG,OAAA;AACZ,oCAAmC;AAA1B,wFAAA,EAAE,OAAA;AACX,sCAAqC;AAA5B,0FAAA,GAAG,OAAA;AACZ,wCAAuC;AAA9B,4FAAA,IAAI,OAAA;AACb,0CAAyC;AAAhC,8FAAA,KAAK,OAAA;AAEd,yCAAwC;AAA/B,8FAAA,KAAK,OAAA"}
@@ -3,13 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.createInspector = void 0;
5
5
  const constructor_1 = require("./constructor");
6
+ const resolvers_1 = require("./resolvers");
6
7
  function createInspector(constructor, parentElement) {
7
8
  // NOTE: Wait for https://github.com/thefrontside/bigtest/pull/895 to use specification instead
8
9
  let options = constructor().options;
9
10
  return {
10
11
  all() {
11
- let elements = constructor_1.findElements(parentElement !== null && parentElement !== void 0 ? parentElement : constructor_1.unsafeSyncResolveParent(options), options);
12
- return elements.map(element => (Object.assign(constructor_1.instantiateBaseInteractor(options, () => element), {
12
+ let elements = resolvers_1.findElements(parentElement !== null && parentElement !== void 0 ? parentElement : resolvers_1.unsafeSyncResolveParent(options), options);
13
+ return elements.map(element => (Object.assign(constructor_1.instantiateInteractor(options, () => element), {
13
14
  element,
14
15
  find(constructor) {
15
16
  return createInspector(constructor, element);
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/inspector.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,+CAAiG;AAmBjG,SAAgB,eAAe,CAC7B,WAAe,EACf,aAAuB;IAEvB,+FAA+F;IAC/F,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC,OAAoC,CAAA;IAChE,OAAO;QACL,GAAG;YACD,IAAI,QAAQ,GAAG,0BAAY,CAAiB,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,qCAAuB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,GAAG,CACjB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CACvB,uCAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAA+E,EAAE;gBACjI,OAAO;gBACP,IAAI,CAAsD,WAAc;oBACtE,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC9C,CAAC;aACF,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AApBD,0CAoBC"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/inspector.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,+CAAsD;AACtD,2CAAmE;AAmBnE,SAAgB,eAAe,CAC7B,WAAe,EACf,aAAuB;IAEvB,+FAA+F;IAC/F,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC,OAAoC,CAAA;IAChE,OAAO;QACL,GAAG;YACD,IAAI,QAAQ,GAAG,wBAAY,CAAiB,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,mCAAuB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,GAAG,CACjB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CACvB,mCAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAA2E,EAAE;gBACzH,OAAO;gBACP,IAAI,CAAsD,WAAc;oBACtE,OAAO,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC9C,CAAC;aACF,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AApBD,0CAoBC"}
@@ -1,53 +1,61 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.checkFilter = exports.interactionFilter = exports.check = exports.interaction = exports.isInteraction = void 0;
3
+ exports.createInteraction = exports.isInteraction = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ const core_1 = require("@effection/core");
4
6
  const globals_1 = require("@interactors/globals");
5
- const interactionSymbol = Symbol.for('interaction');
7
+ const serialize_1 = require("./serialize");
8
+ const interactionSymbol = core_1.Symbol.for('interaction');
6
9
  function isInteraction(x) {
7
10
  return typeof x === 'object' && x != null && interactionSymbol in x;
8
11
  }
9
12
  exports.isInteraction = isInteraction;
10
- function createInteraction(description, action) {
11
- let promise;
12
- return {
13
- description,
13
+ function createInteraction(type, options, apply) {
14
+ let task;
15
+ function operation(scope) {
16
+ let run = () => options.run(options.interactor);
17
+ return (globals_1.globals.wrapInteraction
18
+ ? globals_1.globals.wrapInteraction(interaction, () => scope.run(run))
19
+ : globals_1.globals.wrapAction(interaction.description, () => scope.run(run), type));
20
+ }
21
+ ;
22
+ function action() {
23
+ if (!task) {
24
+ task = core_1.run(operation);
25
+ }
26
+ return task;
27
+ }
28
+ ;
29
+ let serializedOptions = serialize_1.serializeInteractionOptions(type, options);
30
+ let interaction = {
31
+ type,
32
+ options: serializedOptions,
33
+ description: options.description,
34
+ interactor: options.interactor,
35
+ run: options.run,
14
36
  action,
37
+ check: type === 'assertion' ? action : undefined,
38
+ code: () => serializedOptions.code(),
39
+ halt: () => action().halt(),
15
40
  [interactionSymbol]: true,
16
- [Symbol.toStringTag]: `[interaction ${description}]`,
41
+ [core_1.Symbol.toStringTag]: `[interaction ${options.description}]`,
42
+ [core_1.Symbol.operation]: operation,
17
43
  then(onFulfill, onReject) {
18
- if (!promise) {
19
- promise = this.action();
20
- }
21
- return promise.then(onFulfill, onReject);
44
+ return action().then(onFulfill, onReject);
22
45
  },
23
46
  catch(onReject) {
24
- if (!promise) {
25
- promise = this.action();
26
- }
27
- return promise.catch(onReject);
47
+ return action().catch(onReject);
28
48
  },
29
49
  finally(handler) {
30
- if (!promise) {
31
- promise = this.action();
32
- }
33
- return promise.finally(handler);
50
+ return action().finally(handler);
34
51
  }
35
52
  };
53
+ if (apply) {
54
+ return Object.assign(interaction, { apply });
55
+ }
56
+ else {
57
+ return interaction;
58
+ }
36
59
  }
37
- function interaction(description, action) {
38
- return createInteraction(description, globals_1.globals.wrapAction(description, action, 'interaction'));
39
- }
40
- exports.interaction = interaction;
41
- function check(description, check) {
42
- return { check() { return this.action(); }, ...createInteraction(description, globals_1.globals.wrapAction(description, check, 'check')) };
43
- }
44
- exports.check = check;
45
- function interactionFilter(description, action, filter) {
46
- return { apply: filter, ...interaction(description, action) };
47
- }
48
- exports.interactionFilter = interactionFilter;
49
- function checkFilter(description, action, filter) {
50
- return { apply: filter, ...check(description, action) };
51
- }
52
- exports.checkFilter = checkFilter;
60
+ exports.createInteraction = createInteraction;
53
61
  //# sourceMappingURL=interaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/interaction.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAG/C,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAEpD,SAAgB,aAAa,CAAC,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,iBAAiB,IAAI,CAAC,CAAA;AACrE,CAAC;AAFD,sCAEC;AAsCD,SAAS,iBAAiB,CAAI,WAAmB,EAAE,MAAwB;IACzE,IAAI,OAAmB,CAAC;IACxB,OAAO;QACL,WAAW;QACX,MAAM;QACN,CAAC,iBAAiB,CAAC,EAAE,IAAI;QACzB,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,gBAAgB,WAAW,GAAG;QACpD,IAAI,CAAC,SAAS,EAAE,QAAQ;YACtB,IAAG,CAAC,OAAO,EAAE;gBAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;aAAE;YACzC,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAG,CAAC,OAAO,EAAE;gBAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;aAAE;YACzC,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,OAAO;YACb,IAAG,CAAC,OAAO,EAAE;gBAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;aAAE;YACzC,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAgB,WAAW,CAAI,WAAmB,EAAE,MAAwB;IAC1E,OAAO,iBAAiB,CAAC,WAAW,EAAE,iBAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AAC/F,CAAC;AAFD,kCAEC;AAED,SAAgB,KAAK,CAAI,WAAmB,EAAE,KAAuB;IACnE,OAAO,EAAE,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA,CAAC,CAAC,EAAE,GAAG,iBAAiB,CAAC,WAAW,EAAE,iBAAO,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;AAClI,CAAC;AAFD,sBAEC;AAED,SAAgB,iBAAiB,CAAO,WAAmB,EAAE,MAAwB,EAAE,MAA+B;IACpH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;AAChE,CAAC;AAFD,8CAEC;AAED,SAAgB,WAAW,CAAO,WAAmB,EAAE,MAAwB,EAAE,MAA+B;IAC9G,OAAO,EAAE,KAAK,EAAE,MAAM,EAAG,GAAG,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;AAC3D,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/interaction.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,0CAA+D;AAC/D,kDAAoH;AAEpH,2CAA0D;AAE1D,MAAM,iBAAiB,GAAkB,aAAM,CAAC,GAAG,CAAC,aAAa,CAAQ,CAAC;AAE1E,SAAgB,aAAa,CAAC,CAAU;IACtC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,iBAAiB,IAAI,CAAC,CAAA;AACrE,CAAC;AAFD,sCAEC;AAyED,SAAgB,iBAAiB,CAA0B,IAAqB,EAAE,OAAiC,EAAE,KAA4B;IAC/I,IAAI,IAAa,CAAC;IAElB,SAAS,SAAS,CAAC,KAAW;QAC5B,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO,CAAC,iBAAO,CAAC,eAAe;YAC7B,CAAC,CAAC,iBAAO,CAAC,eAAe,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC,CAAC,iBAAO,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAiB,CAAC;IAC/F,CAAC;IAAA,CAAC;IAEF,SAAS,MAAM;QACb,IAAG,CAAC,IAAI,EAAE;YACR,IAAI,GAAG,UAAG,CAAC,SAAS,CAAC,CAAC;SACvB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAA,CAAC;IAEF,IAAI,iBAAiB,GAAG,uCAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClE,IAAI,WAAW,GAAqC;QAClD,IAAI;QACJ,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM;QACN,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QAChD,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE;QACpC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QAC3B,CAAC,iBAAiB,CAAC,EAAE,IAAI;QACzB,CAAC,aAAM,CAAC,WAAW,CAAC,EAAE,gBAAgB,OAAO,CAAC,WAAW,GAAG;QAC5D,CAAC,aAAM,CAAC,SAAS,CAAC,EAAE,SAAS;QAC7B,IAAI,CAAC,SAAS,EAAE,QAAQ;YACtB,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,OAAO;YACb,OAAO,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;KACF,CAAA;IACD,IAAI,KAAK,EAAE;QACT,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,WAAW,CAAC;KACpB;AACH,CAAC;AA/CD,8CA+CC"}