@interactors/core 0.4.0 → 1.0.0-effection.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/cjs/constructor.js +55 -126
  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.map +1 -1
  8. package/dist/cjs/inspector.js +2 -1
  9. package/dist/cjs/inspector.js.map +1 -1
  10. package/dist/cjs/interaction.js +54 -35
  11. package/dist/cjs/interaction.js.map +1 -1
  12. package/dist/cjs/match.js +17 -7
  13. package/dist/cjs/match.js.map +1 -1
  14. package/dist/cjs/matcher.js +13 -1
  15. package/dist/cjs/matcher.js.map +1 -1
  16. package/dist/cjs/matchers/and.js +3 -0
  17. package/dist/cjs/matchers/and.js.map +1 -1
  18. package/dist/cjs/matchers/every.js +3 -0
  19. package/dist/cjs/matchers/every.js.map +1 -1
  20. package/dist/cjs/matchers/including.js +4 -0
  21. package/dist/cjs/matchers/including.js.map +1 -1
  22. package/dist/cjs/matchers/matching.js +4 -0
  23. package/dist/cjs/matchers/matching.js.map +1 -1
  24. package/dist/cjs/matchers/not.js +3 -0
  25. package/dist/cjs/matchers/not.js.map +1 -1
  26. package/dist/cjs/matchers/or.js +3 -0
  27. package/dist/cjs/matchers/or.js.map +1 -1
  28. package/dist/cjs/matchers/some.js +3 -0
  29. package/dist/cjs/matchers/some.js.map +1 -1
  30. package/dist/cjs/resolvers.js +98 -0
  31. package/dist/cjs/resolvers.js.map +1 -0
  32. package/dist/cjs/serialize.js +48 -0
  33. package/dist/cjs/serialize.js.map +1 -0
  34. package/dist/constructor.d.ts +2 -8
  35. package/dist/constructor.d.ts.map +1 -1
  36. package/dist/converge.d.ts +2 -1
  37. package/dist/converge.d.ts.map +1 -1
  38. package/dist/esm/constructor.js +52 -117
  39. package/dist/esm/constructor.js.map +1 -1
  40. package/dist/esm/converge.js +3 -5
  41. package/dist/esm/converge.js.map +1 -1
  42. package/dist/esm/{format-table.js → format.js} +19 -1
  43. package/dist/esm/format.js.map +1 -0
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/inspector.js +2 -1
  46. package/dist/esm/inspector.js.map +1 -1
  47. package/dist/esm/interaction.js +51 -29
  48. package/dist/esm/interaction.js.map +1 -1
  49. package/dist/esm/match.js +17 -7
  50. package/dist/esm/match.js.map +1 -1
  51. package/dist/esm/matcher.js +11 -0
  52. package/dist/esm/matcher.js.map +1 -1
  53. package/dist/esm/matchers/and.js +4 -1
  54. package/dist/esm/matchers/and.js.map +1 -1
  55. package/dist/esm/matchers/every.js +4 -1
  56. package/dist/esm/matchers/every.js.map +1 -1
  57. package/dist/esm/matchers/including.js +4 -0
  58. package/dist/esm/matchers/including.js.map +1 -1
  59. package/dist/esm/matchers/matching.js +4 -0
  60. package/dist/esm/matchers/matching.js.map +1 -1
  61. package/dist/esm/matchers/not.js +4 -1
  62. package/dist/esm/matchers/not.js.map +1 -1
  63. package/dist/esm/matchers/or.js +4 -1
  64. package/dist/esm/matchers/or.js.map +1 -1
  65. package/dist/esm/matchers/some.js +4 -1
  66. package/dist/esm/matchers/some.js.map +1 -1
  67. package/dist/esm/resolvers.js +88 -0
  68. package/dist/esm/resolvers.js.map +1 -0
  69. package/dist/esm/serialize.js +43 -0
  70. package/dist/esm/serialize.js.map +1 -0
  71. package/dist/format.d.ts +10 -0
  72. package/dist/format.d.ts.map +1 -0
  73. package/dist/index.d.ts +4 -2
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/inspector.d.ts.map +1 -1
  76. package/dist/interaction.d.ts +38 -10
  77. package/dist/interaction.d.ts.map +1 -1
  78. package/dist/match.d.ts +5 -5
  79. package/dist/match.d.ts.map +1 -1
  80. package/dist/matcher.d.ts +2 -0
  81. package/dist/matcher.d.ts.map +1 -1
  82. package/dist/matchers/and.d.ts.map +1 -1
  83. package/dist/matchers/every.d.ts.map +1 -1
  84. package/dist/matchers/including.d.ts.map +1 -1
  85. package/dist/matchers/matching.d.ts.map +1 -1
  86. package/dist/matchers/not.d.ts.map +1 -1
  87. package/dist/matchers/or.d.ts.map +1 -1
  88. package/dist/matchers/some.d.ts.map +1 -1
  89. package/dist/resolvers.d.ts +9 -0
  90. package/dist/resolvers.d.ts.map +1 -0
  91. package/dist/serialize.d.ts +13 -0
  92. package/dist/serialize.d.ts.map +1 -0
  93. package/dist/specification.d.ts +19 -17
  94. package/dist/specification.d.ts.map +1 -1
  95. package/dist/tsconfig.build.tsbuildinfo +1 -1
  96. package/package.json +3 -2
  97. package/src/constructor.ts +63 -138
  98. package/src/converge.ts +3 -6
  99. package/src/format.ts +58 -0
  100. package/src/index.ts +4 -2
  101. package/src/inspector.ts +2 -1
  102. package/src/interaction.ts +96 -36
  103. package/src/match.ts +23 -15
  104. package/src/matcher.ts +11 -0
  105. package/src/matchers/and.ts +4 -1
  106. package/src/matchers/every.ts +4 -1
  107. package/src/matchers/including.ts +4 -1
  108. package/src/matchers/matching.ts +4 -1
  109. package/src/matchers/not.ts +4 -1
  110. package/src/matchers/or.ts +4 -1
  111. package/src/matchers/some.ts +4 -1
  112. package/src/resolvers.ts +100 -0
  113. package/src/serialize.ts +54 -0
  114. package/src/specification.ts +21 -19
  115. package/CHANGELOG.md +0 -27
  116. package/dist/cjs/format-table.js +0 -30
  117. package/dist/cjs/format-table.js.map +0 -1
  118. package/dist/esm/format-table.js.map +0 -1
  119. package/dist/format-table.d.ts +0 -6
  120. package/dist/format-table.d.ts.map +0 -1
  121. package/src/format-table.ts +0 -34
@@ -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.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
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,14 +58,18 @@ function instantiateInteractor(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
  },
157
75
  find(child) {
@@ -161,25 +79,27 @@ function instantiateInteractor(options, resolver) {
161
79
  }, resolver);
162
80
  },
163
81
  exists() {
164
- return interaction_1.checkFilter(`${description(options)} exists`, () => {
165
- return converge_1.converge(() => {
166
- resolveNonEmpty(unsafeSyncResolveParent(options), options);
167
- });
168
- }, (element) => {
169
- return findMatchesMatching(element, options).length > 0;
170
- });
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));
171
90
  },
172
91
  absent() {
173
- return interaction_1.checkFilter(`${description(options)} does not exist`, () => {
174
- return converge_1.converge(() => {
175
- resolveEmpty(unsafeSyncResolveParent(options), options);
176
- });
177
- }, (element) => {
178
- return findMatchesMatching(element, options).length === 0;
179
- });
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));
180
100
  },
181
101
  apply(parentElement) {
182
- let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
102
+ let element = [...options.ancestors, options].reduce(resolvers_1.resolveUnique, parentElement);
183
103
  return match_1.applyFilter(options.specification.locator || defaultLocator, element);
184
104
  }
185
105
  };
@@ -191,7 +111,13 @@ function instantiateInteractor(options, resolver) {
191
111
  if (args.length) {
192
112
  actionDescription += ` with ` + args.map((a) => JSON.stringify(a)).join(', ');
193
113
  }
194
- 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
+ });
195
121
  },
196
122
  configurable: true,
197
123
  writable: true,
@@ -203,10 +129,13 @@ function instantiateInteractor(options, resolver) {
203
129
  if (!interactor.hasOwnProperty(filterName)) {
204
130
  Object.defineProperty(interactor, filterName, {
205
131
  value: function () {
206
- return interaction_1.interactionFilter(`${filterName} of ${description(options)}`, async () => {
207
- 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))),
208
137
  }, (parentElement) => {
209
- let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
138
+ let element = [...options.ancestors, options].reduce(resolvers_1.resolveUnique, parentElement);
210
139
  return match_1.applyFilter(filter, element);
211
140
  });
212
141
  },
@@ -230,7 +159,7 @@ function createConstructor(name, specification) {
230
159
  else {
231
160
  filter = new filter_set_1.FilterSet(specification, args[0] || {});
232
161
  }
233
- return instantiateInteractor({ name, specification, filter, locator, ancestors: [] }, unsafeSyncResolveUnique);
162
+ return instantiateInteractor({ name, specification, filter, locator, ancestors: [] }, resolvers_1.unsafeSyncResolveUnique);
234
163
  }
235
164
  return Object.assign(initInteractor, {
236
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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"}
@@ -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,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"}
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,12 +3,13 @@
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
+ let elements = resolvers_1.findElements(parentElement !== null && parentElement !== void 0 ? parentElement : resolvers_1.unsafeSyncResolveParent(options), options);
12
13
  return elements.map(element => (Object.assign(constructor_1.instantiateInteractor(options, () => element), {
13
14
  element,
14
15
  find(constructor) {
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/inspector.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAEvD,+CAA6F;AAmB7F,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,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
+ {"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,72 @@
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() {
16
+ let run = () => options.run(options.interactor);
17
+ let operation = globals_1.globals.wrapInteraction
18
+ ? globals_1.globals.wrapInteraction(interaction, async () => run)
19
+ : globals_1.globals.wrapAction(interaction.description, async () => run, type);
20
+ return function* () {
21
+ // NOTE: If effection gets Promise it will fulfill and treat the result as ended value
22
+ // NOTE: Sometimes original interaction function might be wrapped multiple times into async function
23
+ // NOTE: That means effection returns the original interaction function from a wrapped one instead of executing it
24
+ // NOTE: We `yield` operation until we get the `run` function which returns a generator
25
+ // NOTE: Then we yield it and return a result
26
+ while (operation != run) {
27
+ operation = yield operation;
28
+ }
29
+ return yield operation;
30
+ };
31
+ }
32
+ ;
33
+ function action() {
34
+ if (!task) {
35
+ task = core_1.run(operation);
36
+ }
37
+ return task;
38
+ }
39
+ ;
40
+ let serializedOptions = serialize_1.serializeInteractionOptions(type, options);
41
+ let interaction = {
42
+ type,
43
+ options: serializedOptions,
44
+ description: options.description,
45
+ interactor: options.interactor,
46
+ run: options.run,
14
47
  action,
48
+ check: type === 'assertion' ? action : undefined,
49
+ code: () => serializedOptions.code(),
50
+ halt: () => action().halt(),
15
51
  [interactionSymbol]: true,
16
- [Symbol.toStringTag]: `[interaction ${description}]`,
52
+ [core_1.Symbol.toStringTag]: `[interaction ${options.description}]`,
53
+ [core_1.Symbol.operation]: operation,
17
54
  then(onFulfill, onReject) {
18
- if (!promise) {
19
- promise = this.action();
20
- }
21
- return promise.then(onFulfill, onReject);
55
+ return action().then(onFulfill, onReject);
22
56
  },
23
57
  catch(onReject) {
24
- if (!promise) {
25
- promise = this.action();
26
- }
27
- return promise.catch(onReject);
58
+ return action().catch(onReject);
28
59
  },
29
60
  finally(handler) {
30
- if (!promise) {
31
- promise = this.action();
32
- }
33
- return promise.finally(handler);
61
+ return action().finally(handler);
34
62
  }
35
63
  };
64
+ if (apply) {
65
+ return Object.assign(interaction, { apply });
66
+ }
67
+ else {
68
+ return interaction;
69
+ }
36
70
  }
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;
71
+ exports.createInteraction = createInteraction;
53
72
  //# 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;QAChB,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,SAAS,GAAG,iBAAO,CAAC,eAAe;YACrC,CAAC,CAAC,iBAAO,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC;YACvD,CAAC,CAAC,iBAAO,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAEtE,OAAO,QAAQ,CAAC;YACd,sFAAsF;YACtF,oGAAoG;YACpG,kHAAkH;YAClH,uFAAuF;YACvF,6CAA6C;YAC7C,OAAO,SAAS,IAAI,GAAG,EAAE;gBACvB,SAAS,GAAG,MAAM,SAAS,CAAA;aAC5B;YACD,OAAO,MAAM,SAAS,CAAC;QACzB,CAAiB,CAAC;IACpB,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;AA1DD,8CA0DC"}
package/dist/cjs/match.js CHANGED
@@ -11,7 +11,9 @@ class Match {
11
11
  this.locator = locator;
12
12
  this.matchLocator = locator && new MatchLocator(element, locator);
13
13
  this.matchFilter = new MatchFilter(element, filterSet);
14
- this.matches = (this.matchLocator ? this.matchLocator.matches : true) && this.matchFilter.matches;
14
+ }
15
+ get matches() {
16
+ return (this.matchLocator ? this.matchLocator.matches : true) && this.matchFilter.matches;
15
17
  }
16
18
  asTableHeader(name) {
17
19
  if (this.matchLocator) {
@@ -48,7 +50,9 @@ class MatchLocator {
48
50
  this.locator = locator;
49
51
  this.expected = locator.value;
50
52
  this.actual = locator.apply(element);
51
- this.matches = matcher_1.applyMatcher(this.expected, this.actual);
53
+ }
54
+ get matches() {
55
+ return matcher_1.applyMatcher(this.expected, this.actual);
52
56
  }
53
57
  formatActual() {
54
58
  return JSON.stringify(this.actual);
@@ -68,7 +72,9 @@ class MatchFilter {
68
72
  this.items = Object.entries(filter.all).map(([key, expected]) => {
69
73
  return new MatchFilterItem(element, filter, key, expected);
70
74
  });
71
- this.matches = this.items.every((match) => match.matches);
75
+ }
76
+ get matches() {
77
+ return this.items.every((match) => match.matches);
72
78
  }
73
79
  asTableRow() {
74
80
  return this.items.map((f) => f.description());
@@ -97,15 +103,19 @@ class MatchFilterItem {
97
103
  this.filter = filter;
98
104
  this.key = key;
99
105
  this.expected = expected;
106
+ }
107
+ get matches() {
108
+ return matcher_1.applyMatcher(this.expected, this.actual);
109
+ }
110
+ get actual() {
100
111
  if (this.filter.specification.filters && this.filter.specification.filters[this.key]) {
101
112
  let definition = this.filter.specification.filters[this.key];
102
- if (typeof (definition) === 'function') {
103
- this.actual = definition(this.element);
113
+ if (typeof definition === 'function') {
114
+ return definition(this.element);
104
115
  }
105
116
  else {
106
- this.actual = definition.apply(this.element);
117
+ return definition.apply(this.element);
107
118
  }
108
- this.matches = matcher_1.applyMatcher(this.expected, this.actual);
109
119
  }
110
120
  else {
111
121
  throw new Error(`interactor does not define a filter named ${JSON.stringify(this.key)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/match.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/match.ts"],"names":[],"mappings":"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"}