@interactors/core 1.0.0-rc1.2 → 1.0.0-rc1.4

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 (72) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/constructor.js +62 -126
  3. package/dist/cjs/constructor.js.map +1 -1
  4. package/dist/cjs/converge.js +3 -5
  5. package/dist/cjs/converge.js.map +1 -1
  6. package/dist/cjs/format.js +50 -0
  7. package/dist/cjs/format.js.map +1 -0
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/inspector.js +2 -1
  10. package/dist/cjs/inspector.js.map +1 -1
  11. package/dist/cjs/interaction.js +59 -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/resolvers.js +98 -0
  16. package/dist/cjs/resolvers.js.map +1 -0
  17. package/dist/cjs/serialize.js +48 -0
  18. package/dist/cjs/serialize.js.map +1 -0
  19. package/dist/constructor.d.ts +0 -6
  20. package/dist/constructor.d.ts.map +1 -1
  21. package/dist/converge.d.ts +2 -1
  22. package/dist/converge.d.ts.map +1 -1
  23. package/dist/esm/constructor.js +59 -117
  24. package/dist/esm/constructor.js.map +1 -1
  25. package/dist/esm/converge.js +3 -5
  26. package/dist/esm/converge.js.map +1 -1
  27. package/dist/esm/{format-table.js → format.js} +19 -1
  28. package/dist/esm/format.js.map +1 -0
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/inspector.js +2 -1
  31. package/dist/esm/inspector.js.map +1 -1
  32. package/dist/esm/interaction.js +56 -29
  33. package/dist/esm/interaction.js.map +1 -1
  34. package/dist/esm/match.js +17 -7
  35. package/dist/esm/match.js.map +1 -1
  36. package/dist/esm/resolvers.js +88 -0
  37. package/dist/esm/resolvers.js.map +1 -0
  38. package/dist/esm/serialize.js +43 -0
  39. package/dist/esm/serialize.js.map +1 -0
  40. package/dist/format.d.ts +10 -0
  41. package/dist/format.d.ts.map +1 -0
  42. package/dist/index.d.ts +1 -1
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/inspector.d.ts.map +1 -1
  45. package/dist/interaction.d.ts +38 -10
  46. package/dist/interaction.d.ts.map +1 -1
  47. package/dist/match.d.ts +5 -5
  48. package/dist/match.d.ts.map +1 -1
  49. package/dist/resolvers.d.ts +9 -0
  50. package/dist/resolvers.d.ts.map +1 -0
  51. package/dist/serialize.d.ts +13 -0
  52. package/dist/serialize.d.ts.map +1 -0
  53. package/dist/specification.d.ts +14 -11
  54. package/dist/specification.d.ts.map +1 -1
  55. package/dist/tsconfig.build.tsbuildinfo +1 -1
  56. package/package.json +4 -3
  57. package/src/constructor.ts +65 -133
  58. package/src/converge.ts +3 -6
  59. package/src/format.ts +58 -0
  60. package/src/index.ts +1 -1
  61. package/src/inspector.ts +2 -1
  62. package/src/interaction.ts +101 -36
  63. package/src/match.ts +23 -15
  64. package/src/resolvers.ts +100 -0
  65. package/src/serialize.ts +54 -0
  66. package/src/specification.ts +16 -13
  67. package/dist/cjs/format-table.js +0 -30
  68. package/dist/cjs/format-table.js.map +0 -1
  69. package/dist/esm/format-table.js.map +0 -1
  70. package/dist/format-table.d.ts +0 -6
  71. package/dist/format-table.d.ts.map +0 -1
  72. package/src/format-table.ts +0 -34
@@ -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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"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.unsafeSyncResolveUnique = exports.unsafeSyncResolveParent = exports.resolveEmpty = exports.resolveFirst = exports.resolveUnique = exports.hasMatchMatching = exports.findElements = void 0;
5
+ const globals_1 = require("@interactors/globals");
6
+ const match_1 = require("./match");
7
+ const errors_1 = require("./errors");
8
+ const format_1 = require("./format");
9
+ const defaultSelector = 'div';
10
+ function findElements(parentElement, interactor) {
11
+ if (!interactor.name) {
12
+ 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\')');
13
+ }
14
+ if (typeof interactor.specification.selector === 'function') {
15
+ return interactor.specification.selector(parentElement);
16
+ }
17
+ else if (interactor.specification.selector === ':root') {
18
+ // this is a bit of a hack, because otherwise there isn't a good way of selecting the root element
19
+ return [parentElement.ownerDocument.querySelector(':root')];
20
+ }
21
+ else {
22
+ return Array.from(parentElement.querySelectorAll(interactor.specification.selector || defaultSelector));
23
+ }
24
+ }
25
+ exports.findElements = findElements;
26
+ function findMatches(parentElement, interactor) {
27
+ return findElements(parentElement, interactor).map((e) => new match_1.Match(e, interactor.filter, interactor.locator));
28
+ }
29
+ function throwNoSuchElementError(matches, interactor) {
30
+ if (matches.length === 0) {
31
+ throw new errors_1.NoSuchElementError(`did not find ${format_1.formatDescription(interactor)}`);
32
+ }
33
+ else {
34
+ throw new errors_1.NoSuchElementError(`did not find ${format_1.formatDescription(interactor)}, did you mean one of:\n\n${format_1.formatMatchesTable(interactor, matches)}`);
35
+ }
36
+ }
37
+ function findFirstMatch(parentElement, interactor) {
38
+ let matches = [];
39
+ for (let element of findElements(parentElement, interactor)) {
40
+ let match = new match_1.Match(element, interactor.filter, interactor.locator);
41
+ matches.push(match);
42
+ if (match.matches) {
43
+ return match;
44
+ }
45
+ }
46
+ throwNoSuchElementError(matches, interactor);
47
+ }
48
+ function hasMatchMatching(parentElement, interactor) {
49
+ return findElements(parentElement, interactor).some(element => new match_1.Match(element, interactor.filter, interactor.locator).matches);
50
+ }
51
+ exports.hasMatchMatching = hasMatchMatching;
52
+ function findMatchesNonEmpty(parentElement, interactor) {
53
+ let matches = findMatches(parentElement, interactor);
54
+ let matching = matches.filter((m) => m.matches);
55
+ if (matching.length > 0) {
56
+ return matching;
57
+ }
58
+ throwNoSuchElementError(matches, interactor);
59
+ }
60
+ // Given a parent element, and an interactor, find exactly one matching element
61
+ // and return it. If no elements match, raise an error. If more than one
62
+ // element matches, raise an error.
63
+ function resolveUnique(parentElement, interactor) {
64
+ let matching = findMatchesNonEmpty(parentElement, interactor);
65
+ if (matching.length === 1) {
66
+ return matching[0].element;
67
+ }
68
+ else {
69
+ let alternatives = matching.map((m) => '- ' + m.elementDescription());
70
+ throw new errors_1.AmbiguousElementError(`${format_1.formatDescription(interactor)} matches multiple elements:\n\n${alternatives.join('\n')}`);
71
+ }
72
+ }
73
+ exports.resolveUnique = resolveUnique;
74
+ // Given a parent element, and an interactor, find the first matching element and
75
+ // return it. If no elements match, raise an error.
76
+ function resolveFirst(parentElement, interactor) {
77
+ return findFirstMatch(parentElement, interactor).element;
78
+ }
79
+ exports.resolveFirst = resolveFirst;
80
+ // Given a parent element, and an interactor, check if there are any matching
81
+ // elements, and throw an error if there are. Otherwise return undefined.
82
+ function resolveEmpty(parentElement, interactor) {
83
+ let matching = findMatches(parentElement, interactor).filter((m) => m.matches);
84
+ if (matching.length !== 0) {
85
+ let alternatives = matching.map((m) => '- ' + m.elementDescription());
86
+ throw new errors_1.NotAbsentError(`${format_1.formatDescription(interactor)} exists but should not:\n\n${alternatives.join('\n')}`);
87
+ }
88
+ }
89
+ exports.resolveEmpty = resolveEmpty;
90
+ function unsafeSyncResolveParent(options) {
91
+ return options.ancestors.reduce(resolveUnique, globals_1.globals.document.documentElement);
92
+ }
93
+ exports.unsafeSyncResolveParent = unsafeSyncResolveParent;
94
+ function unsafeSyncResolveUnique(options) {
95
+ return resolveUnique(unsafeSyncResolveParent(options), options);
96
+ }
97
+ exports.unsafeSyncResolveUnique = unsafeSyncResolveUnique;
98
+ //# sourceMappingURL=resolvers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/resolvers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeInteractionOptions = exports.serializeInteractorOptions = void 0;
4
+ const change_case_1 = require("change-case");
5
+ const matcher_1 = require("./matcher");
6
+ function serializeInteractorOptions(options) {
7
+ var _a;
8
+ let locator = matcher_1.matcherCode((_a = options.locator) === null || _a === void 0 ? void 0 : _a.value);
9
+ return {
10
+ interactor: options.name,
11
+ filter: options.filter.all,
12
+ locator,
13
+ code() {
14
+ let interactorName = change_case_1.pascalCase(options.name);
15
+ let filters = Object.entries(options.filter.all).map(([name, filter]) => `"${name}": ${matcher_1.matcherCode(filter)}`);
16
+ return `${interactorName}(${[locator, filters.length && `{ ${filters.join(", ")} }`]
17
+ .filter(Boolean)
18
+ .join(", ")})`;
19
+ },
20
+ };
21
+ }
22
+ exports.serializeInteractorOptions = serializeInteractorOptions;
23
+ function serializeInteractionOptions(type, { name, interactor: { options }, args, filters }) {
24
+ let interactor = serializeInteractorOptions(options);
25
+ let ancestors = options.ancestors.map((ancestor) => serializeInteractorOptions(ancestor));
26
+ return {
27
+ ...interactor,
28
+ ancestors,
29
+ name,
30
+ type,
31
+ args,
32
+ code() {
33
+ let serializedArgs = "";
34
+ if (filters) {
35
+ let serializedFilters = Object.entries(filters).map(([name, filter]) => `"${name}": ${matcher_1.matcherCode(filter)}`);
36
+ serializedArgs = `{ ${serializedFilters.join(", ")} }`;
37
+ }
38
+ else if (args) {
39
+ serializedArgs = args.map((arg) => JSON.stringify(arg)).join(", ");
40
+ }
41
+ return `${[...ancestors, interactor]
42
+ .map(({ code }, index) => (index == 0 ? code() : `${code()})`))
43
+ .join(".find(")}.${name}(${serializedArgs})`;
44
+ },
45
+ };
46
+ }
47
+ exports.serializeInteractionOptions = serializeInteractionOptions;
48
+ //# sourceMappingURL=serialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/serialize.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AAEzC,uCAAwC;AAGxC,SAAgB,0BAA0B,CAAC,OAAyC;;IAMlF,IAAI,OAAO,GAAG,qBAAW,CAAC,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAC,CAAC;IAClD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,IAAI;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAC1B,OAAO;QACP,IAAI;YACF,IAAI,cAAc,GAAG,wBAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,qBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9G,OAAO,GAAG,cAAc,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBACjF,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAnBD,gEAmBC;AAED,SAAgB,2BAA2B,CACzC,IAAqB,EACrB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAA4B;IAE1E,IAAI,UAAU,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1F,OAAO;QACL,GAAG,UAAU;QACb,SAAS;QACT,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;YACF,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,OAAO,EAAE;gBACX,IAAI,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,MAAM,qBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC7G,cAAc,GAAG,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACxD;iBAAM,IAAI,IAAI,EAAE;gBACf,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpE;YACD,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;iBAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC;AAzBD,kEAyBC"}
@@ -1,10 +1,4 @@
1
1
  import { InteractorOptions, ActionMethods, InteractorConstructor, Interactor, Filters, Actions, FilterParams, FilterMethods, InteractorSpecification } from './specification';
2
- export declare function findElements<E extends Element>(parentElement: Element, interactor: InteractorOptions<any, any, any>): E[];
3
- export declare function resolveUnique(parentElement: Element, interactor: InteractorOptions<any, any, any>): Element;
4
- export declare function resolveNonEmpty(parentElement: Element, interactor: InteractorOptions<any, any, any>): Element[];
5
- export declare function resolveEmpty(parentElement: Element, interactor: InteractorOptions<any, any, any>): void;
6
- export declare function unsafeSyncResolveParent(options: InteractorOptions<any, any, any>): Element;
7
- export declare function unsafeSyncResolveUnique<E extends Element>(options: InteractorOptions<E, any, any>): E;
8
2
  export declare function instantiateInteractor<E extends Element, F extends Filters<E>, A extends Actions<E, Interactor<E, FilterParams<E, F>>>>(options: InteractorOptions<E, F, A>, resolver: (options: InteractorOptions<E, F, A>) => E): Interactor<E, FilterParams<E, F>> & FilterMethods<E, F> & ActionMethods<E, A, Interactor<E, FilterParams<E, F>>>;
9
3
  export declare function createConstructor<E extends Element, FP extends FilterParams<any, any>, FM extends FilterMethods<any, any>, AM extends ActionMethods<any, any, any>>(name: string, specification: InteractorSpecification<E, any, any>): InteractorConstructor<E, FP, FM, AM>;
10
4
  //# sourceMappingURL=constructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../src/constructor.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,OAAO,EAEP,YAAY,EACZ,aAAa,EACb,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AAezB,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CASzH;AAgCD,wBAAgB,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAS3G;AAID,wBAAgB,eAAe,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,EAAE,CAE/G;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAOvG;AAkCD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE1F;AAED,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAErG;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACpI,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GACnD,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CA6GlH;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjK,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAClD,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CA8BtC"}
1
+ {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../src/constructor.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,OAAO,EAEP,YAAY,EACZ,aAAa,EACb,uBAAuB,EAExB,MAAM,iBAAiB,CAAC;AAgCzB,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACpI,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GACnD,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAqIlH;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjK,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,uBAAuB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAClD,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CA+BtC"}
@@ -1,2 +1,3 @@
1
- export declare function converge<T>(fn: () => T): Promise<T>;
1
+ import { Operation } from '@effection/core';
2
+ export declare function converge<T>(fn: () => T): Operation<T>;
2
3
  //# sourceMappingURL=converge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"converge.d.ts","sourceRoot":"","sources":["../src/converge.ts"],"names":[],"mappings":"AAOA,wBAAsB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAczD"}
1
+ {"version":3,"file":"converge.d.ts","sourceRoot":"","sources":["../src/converge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,iBAAiB,CAAC;AAInD,wBAAiB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CActD"}
@@ -1,95 +1,15 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { globals } from '@interactors/globals';
3
2
  import { converge } from './converge';
4
3
  import { FilterSet } from './filter-set';
5
4
  import { Locator } from './locator';
6
5
  import { MatchFilter, applyFilter } from './match';
7
- import { formatTable } from './format-table';
6
+ import { formatDescription } from './format';
8
7
  import { FilterNotMatchingError } from './errors';
9
- import { interaction, interactionFilter, check, checkFilter } from './interaction';
10
- import { Match } from './match';
11
- import { NoSuchElementError, NotAbsentError, AmbiguousElementError } from './errors';
8
+ import { createInteraction } from './interaction';
12
9
  import { isMatcher } from './matcher';
13
10
  import { matching } from './matchers/matching';
11
+ import { hasMatchMatching, resolveEmpty, resolveFirst, resolveUnique, unsafeSyncResolveParent, unsafeSyncResolveUnique } from './resolvers';
14
12
  const defaultLocator = (element) => element.textContent || "";
15
- const defaultSelector = 'div';
16
- export function findElements(parentElement, interactor) {
17
- if (typeof (interactor.specification.selector) === 'function') {
18
- return interactor.specification.selector(parentElement);
19
- }
20
- else if (interactor.specification.selector === ':root') {
21
- // this is a bit of a hack, because otherwise there isn't a good way of selecting the root element
22
- return [parentElement.ownerDocument.querySelector(':root')];
23
- }
24
- else {
25
- return Array.from(parentElement.querySelectorAll(interactor.specification.selector || defaultSelector));
26
- }
27
- }
28
- function findMatches(parentElement, interactor) {
29
- if (!interactor.name) {
30
- 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\')');
31
- }
32
- return findElements(parentElement, interactor).map((e) => new Match(e, interactor.filter, interactor.locator));
33
- }
34
- function findMatchesMatching(parentElement, interactor) {
35
- return findMatches(parentElement, interactor).filter((m) => m.matches);
36
- }
37
- function findMatchesNonEmpty(parentElement, interactor) {
38
- let matches = findMatches(parentElement, interactor);
39
- let matching = matches.filter((m) => m.matches);
40
- if (matching.length > 0) {
41
- return matching;
42
- }
43
- else if (matches.length === 0) {
44
- throw new NoSuchElementError(`did not find ${description(interactor)}`);
45
- }
46
- else {
47
- let table = formatTable({
48
- headers: interactor.locator ? [interactor.name, ...interactor.filter.asTableHeader()] : interactor.filter.asTableHeader(),
49
- rows: matches.slice().sort((a, b) => b.sortWeight - a.sortWeight).map((m) => m.asTableRow()),
50
- });
51
- throw new NoSuchElementError(`did not find ${description(interactor)}, did you mean one of:\n\n${table}`);
52
- }
53
- }
54
- // Given a parent element, and an interactor, find exactly one matching element
55
- // and return it. If no elements match, raise an error. If more than one
56
- // element matches, raise an error.
57
- export function resolveUnique(parentElement, interactor) {
58
- let matching = findMatchesNonEmpty(parentElement, interactor);
59
- if (matching.length === 1) {
60
- return matching[0].element;
61
- }
62
- else {
63
- let alternatives = matching.map((m) => '- ' + m.elementDescription());
64
- throw new AmbiguousElementError(`${description(interactor)} matches multiple elements:\n\n${alternatives.join('\n')}`);
65
- }
66
- }
67
- // Given a parent element, and an interactor, find all matching elements and
68
- // return them. If no elements match, raise an error.
69
- export function resolveNonEmpty(parentElement, interactor) {
70
- return findMatchesNonEmpty(parentElement, interactor).map(m => m.element);
71
- }
72
- // Given a parent element, and an interactor, check if there are any matching
73
- // elements, and throw an error if there are. Otherwise return undefined.
74
- export function resolveEmpty(parentElement, interactor) {
75
- let matching = findMatchesMatching(parentElement, interactor);
76
- if (matching.length !== 0) {
77
- let alternatives = matching.map((m) => '- ' + m.elementDescription());
78
- throw new NotAbsentError(`${description(interactor)} exists but should not:\n\n${alternatives.join('\n')}`);
79
- }
80
- }
81
- function ownDescription(options) {
82
- if (options.locator) {
83
- return `${options.name} ${options.locator.description} ${options.filter.description}`.trim();
84
- }
85
- else {
86
- return `${options.name} ${options.filter.description}`.trim();
87
- }
88
- }
89
- function description(options) {
90
- let ancestorsAndSelf = options.ancestors.concat(options);
91
- return ancestorsAndSelf.reverse().map(ownDescription).join(' within ');
92
- }
93
13
  /**
94
14
  * Removes any default values for a filter from the lookup if that filter is present in the
95
15
  * assertion. Otherwise, it is not possible to make an assertion on a filter that might conflict
@@ -108,26 +28,28 @@ function getLookupFilterForAssertion(filter, filters) {
108
28
  }
109
29
  return lookupFilter;
110
30
  }
111
- export function unsafeSyncResolveParent(options) {
112
- return options.ancestors.reduce(resolveUnique, globals.document.documentElement);
113
- }
114
- export function unsafeSyncResolveUnique(options) {
115
- return resolveUnique(unsafeSyncResolveParent(options), options);
116
- }
117
31
  export function instantiateInteractor(options, resolver) {
118
32
  let interactor = {
119
33
  options,
120
34
  get description() {
121
- return description(options);
35
+ return formatDescription(options);
122
36
  },
123
37
  perform(fn) {
124
- return interaction(`run perform on ${description(options)}`, () => converge(() => fn(resolver(options))));
38
+ return createInteraction('action', {
39
+ name: "perform",
40
+ interactor,
41
+ args: [],
42
+ description: `run perform on ${formatDescription(options)}`,
43
+ run: (interactor) => converge(() => fn(resolver(interactor.options))),
44
+ });
125
45
  },
126
46
  assert(fn) {
127
- return check(`${description(options)} asserts`, () => {
128
- return converge(() => {
129
- fn(resolver(options));
130
- });
47
+ return createInteraction('assertion', {
48
+ name: "assert",
49
+ interactor,
50
+ args: [],
51
+ description: `${formatDescription(options)} asserts`,
52
+ run: (interactor) => converge(() => { fn(resolver(interactor.options)); }),
131
53
  });
132
54
  },
133
55
  has(filters) {
@@ -135,14 +57,19 @@ export function instantiateInteractor(options, resolver) {
135
57
  },
136
58
  is(filters) {
137
59
  let filter = new FilterSet(options.specification, filters);
138
- return check(`${description(options)} matches filters: ${filter.description}`, () => {
139
- return converge(() => {
140
- let element = resolver({ ...options, filter: getLookupFilterForAssertion(options.filter, filters) });
60
+ return createInteraction('assertion', {
61
+ name: "is",
62
+ interactor,
63
+ args: [filters],
64
+ filters,
65
+ description: `${formatDescription(options)} matches filters: ${filter.description}`,
66
+ run: (interactor) => converge(() => {
67
+ let element = resolver({ ...interactor.options, filter: getLookupFilterForAssertion(interactor.options.filter, filters) });
141
68
  let match = new MatchFilter(element, filter);
142
69
  if (!match.matches) {
143
- throw new FilterNotMatchingError(`${description(options)} does not match filters:\n\n${match.formatAsExpectations()}`);
70
+ throw new FilterNotMatchingError(`${formatDescription(options)} does not match filters:\n\n${match.formatAsExpectations()}`);
144
71
  }
145
- });
72
+ }),
146
73
  });
147
74
  },
148
75
  find(child) {
@@ -152,22 +79,26 @@ export function instantiateInteractor(options, resolver) {
152
79
  }, resolver);
153
80
  },
154
81
  exists() {
155
- return checkFilter(`${description(options)} exists`, () => {
156
- return converge(() => {
157
- resolveNonEmpty(unsafeSyncResolveParent(options), options);
158
- });
159
- }, (element) => {
160
- return findMatchesMatching(element, options).length > 0;
161
- });
82
+ return createInteraction('assertion', {
83
+ name: 'exists',
84
+ interactor,
85
+ args: [],
86
+ description: `${formatDescription(options)} exists`,
87
+ run: (interactor) => converge(() => {
88
+ resolveFirst(unsafeSyncResolveParent(interactor.options), options);
89
+ }),
90
+ }, (element) => hasMatchMatching(element, options));
162
91
  },
163
92
  absent() {
164
- return checkFilter(`${description(options)} does not exist`, () => {
165
- return converge(() => {
166
- resolveEmpty(unsafeSyncResolveParent(options), options);
167
- });
168
- }, (element) => {
169
- return findMatchesMatching(element, options).length === 0;
170
- });
93
+ return createInteraction('assertion', {
94
+ name: 'absent',
95
+ interactor,
96
+ args: [],
97
+ description: `${formatDescription(options)} does not exist`,
98
+ run: (interactor) => converge(() => {
99
+ resolveEmpty(unsafeSyncResolveParent(interactor.options), options);
100
+ }),
101
+ }, (element) => !hasMatchMatching(element, options));
171
102
  },
172
103
  apply(parentElement) {
173
104
  let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
@@ -182,7 +113,13 @@ export function instantiateInteractor(options, resolver) {
182
113
  if (args.length) {
183
114
  actionDescription += ` with ` + args.map((a) => JSON.stringify(a)).join(', ');
184
115
  }
185
- return interaction(`${actionDescription} on ${description(options)}`, () => action(interactor, ...args));
116
+ return createInteraction('action', {
117
+ name: actionName,
118
+ interactor,
119
+ args,
120
+ description: `${actionDescription} on ${formatDescription(options)}`,
121
+ run: (interactor) => action(interactor, ...args)
122
+ });
186
123
  },
187
124
  configurable: true,
188
125
  writable: true,
@@ -194,8 +131,12 @@ export function instantiateInteractor(options, resolver) {
194
131
  if (!interactor.hasOwnProperty(filterName)) {
195
132
  Object.defineProperty(interactor, filterName, {
196
133
  value: function () {
197
- return interactionFilter(`${filterName} of ${description(options)}`, async () => {
198
- return converge(() => applyFilter(filter, resolver(options)));
134
+ return createInteraction('assertion', {
135
+ name: filterName,
136
+ interactor,
137
+ args: [],
138
+ description: `${filterName} of ${formatDescription(options)}`,
139
+ run: (interactor) => converge(() => applyFilter(filter, resolver(interactor.options))),
199
140
  }, (parentElement) => {
200
141
  let element = [...options.ancestors, options].reduce(resolveUnique, parentElement);
201
142
  return applyFilter(filter, element);
@@ -223,6 +164,7 @@ export function createConstructor(name, specification) {
223
164
  return instantiateInteractor({ name, specification, filter, locator, ancestors: [] }, unsafeSyncResolveUnique);
224
165
  }
225
166
  return Object.assign(initInteractor, {
167
+ interactorName: name,
226
168
  selector: (value) => {
227
169
  return createConstructor(name, { ...specification, selector: value });
228
170
  },
@@ -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,9 +1,7 @@
1
+ import { sleep } from '@effection/core';
1
2
  import { performance } from 'performance-api';
2
3
  import { globals } from '@interactors/globals';
3
- function wait(ms) {
4
- return new Promise((resolve) => setTimeout(resolve, ms));
5
- }
6
- export async function converge(fn) {
4
+ export function* converge(fn) {
7
5
  let startTime = performance.now();
8
6
  while (true) {
9
7
  try {
@@ -15,7 +13,7 @@ export async function converge(fn) {
15
13
  throw e;
16
14
  }
17
15
  else {
18
- await wait(1);
16
+ yield sleep(1);
19
17
  }
20
18
  }
21
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"converge.js","sourceRoot":"","sources":["../../src/converge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;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;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,EAAW;IAC3C,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,OAAM,IAAI,EAAE;QACV,IAAI;YACF,OAAO,EAAE,EAAE,CAAC;SACb;QAAC,OAAM,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE;gBACnC,MAAM,CAAC,CAAC;aACT;iBAAM;gBACL,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;aACf;SACF;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"converge.js","sourceRoot":"","sources":["../../src/converge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,MAAM,SAAS,CAAC,CAAC,QAAQ,CAAI,EAAW;IACtC,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAClC,OAAM,IAAI,EAAE;QACV,IAAI;YACF,OAAO,EAAE,EAAE,CAAC;SACb;QAAC,OAAM,CAAC,EAAE;YACT,IAAI,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,EAAE;gBACnC,MAAM,CAAC,CAAC;aACT;iBAAM;gBACL,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;aAChB;SACF;KACF;AACH,CAAC"}
@@ -23,4 +23,22 @@ export function formatTable(options) {
23
23
  ...options.rows.map((row) => formatRow(row))
24
24
  ].join('\n');
25
25
  }
26
- //# sourceMappingURL=format-table.js.map
26
+ function ownDescription(options) {
27
+ if (options.locator) {
28
+ return `${options.name} ${options.locator.description} ${options.filter.description}`.trim();
29
+ }
30
+ else {
31
+ return `${options.name} ${options.filter.description}`.trim();
32
+ }
33
+ }
34
+ export function formatDescription(options) {
35
+ let ancestorsAndSelf = options.ancestors.concat(options);
36
+ return ancestorsAndSelf.reverse().map(ownDescription).join(' within ');
37
+ }
38
+ export function formatMatchesTable(interactor, matches) {
39
+ return formatTable({
40
+ headers: interactor.locator ? [interactor.name, ...interactor.filter.asTableHeader()] : interactor.filter.asTableHeader(),
41
+ rows: matches.slice().sort((a, b) => b.sortWeight - a.sortWeight).map((m) => m.asTableRow()),
42
+ });
43
+ }
44
+ //# 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,OAAO,EAAoC,aAAa,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwD,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { findElements, unsafeSyncResolveParent, instantiateInteractor } from "./constructor";
2
+ import { instantiateInteractor } from "./constructor";
3
+ import { findElements, unsafeSyncResolveParent } from './resolvers';
3
4
  export function createInspector(constructor, parentElement) {
4
5
  // NOTE: Wait for https://github.com/thefrontside/bigtest/pull/895 to use specification instead
5
6
  let options = constructor().options;
@@ -1 +1 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/inspector.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAmB7F,MAAM,UAAU,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,YAAY,CAAiB,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,GAAG,CACjB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CACvB,qBAAqB,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"}
1
+ {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../src/inspector.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAmBnE,MAAM,UAAU,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,YAAY,CAAiB,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,GAAG,CACjB,OAAO,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CACvB,qBAAqB,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"}