@interactors/core 1.0.0 → 1.1.0-alpha.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.
- package/esm/mod.d.ts +2 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +2 -0
- package/esm/mod.js.map +1 -0
- package/esm/package.json +3 -0
- package/{dist → esm/src}/constructor.d.ts +1 -1
- package/esm/src/constructor.d.ts.map +1 -0
- package/{dist/esm → esm/src}/constructor.js +20 -13
- package/esm/src/constructor.js.map +1 -0
- package/esm/src/converge.d.ts +3 -0
- package/esm/src/converge.d.ts.map +1 -0
- package/esm/src/converge.js.map +1 -0
- package/{dist → esm/src}/create-interactor.d.ts +1 -1
- package/esm/src/create-interactor.d.ts.map +1 -0
- package/{dist/esm → esm/src}/create-interactor.js +1 -1
- package/esm/src/create-interactor.js.map +1 -0
- package/esm/src/element/click.d.ts +3 -0
- package/esm/src/element/click.d.ts.map +1 -0
- package/esm/src/element/click.js +5 -0
- package/esm/src/element/click.js.map +1 -0
- package/esm/src/errors.d.ts.map +1 -0
- package/esm/src/errors.js +45 -0
- package/esm/src/errors.js.map +1 -0
- package/esm/src/escape-html.d.ts.map +1 -0
- package/esm/src/escape-html.js.map +1 -0
- package/{dist → esm/src}/filter-set.d.ts +1 -1
- package/esm/src/filter-set.d.ts.map +1 -0
- package/{dist/esm → esm/src}/filter-set.js +14 -6
- package/esm/src/filter-set.js.map +1 -0
- package/{dist → esm/src}/format.d.ts +2 -2
- package/esm/src/format.d.ts.map +1 -0
- package/esm/src/format.js.map +1 -0
- package/esm/src/index.d.ts +21 -0
- package/esm/src/index.d.ts.map +1 -0
- package/esm/src/index.js +15 -0
- package/esm/src/index.js.map +1 -0
- package/{dist → esm/src}/inspector.d.ts +1 -1
- package/esm/src/inspector.d.ts.map +1 -0
- package/{dist/esm → esm/src}/inspector.js +3 -3
- package/esm/src/inspector.js.map +1 -0
- package/{dist → esm/src}/interaction.d.ts +3 -3
- package/esm/src/interaction.d.ts.map +1 -0
- package/{dist/esm → esm/src}/interaction.js +2 -2
- package/esm/src/interaction.js.map +1 -0
- package/{dist → esm/src}/locator.d.ts +2 -2
- package/esm/src/locator.d.ts.map +1 -0
- package/esm/src/locator.js +25 -0
- package/esm/src/locator.js.map +1 -0
- package/{dist → esm/src}/match.d.ts +4 -4
- package/esm/src/match.d.ts.map +1 -0
- package/{dist/esm → esm/src}/match.js +99 -16
- package/esm/src/match.js.map +1 -0
- package/{dist → esm/src}/matcher.d.ts +4 -0
- package/esm/src/matcher.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matcher.js +8 -0
- package/esm/src/matcher.js.map +1 -0
- package/esm/src/matchers/and.d.ts +3 -0
- package/esm/src/matchers/and.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/and.js +2 -1
- package/esm/src/matchers/and.js.map +1 -0
- package/esm/src/matchers/every.d.ts +3 -0
- package/esm/src/matchers/every.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/every.js +2 -1
- package/esm/src/matchers/every.js.map +1 -0
- package/esm/src/matchers/including.d.ts +3 -0
- package/esm/src/matchers/including.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/including.js +2 -1
- package/esm/src/matchers/including.js.map +1 -0
- package/esm/src/matchers/matching.d.ts +3 -0
- package/esm/src/matchers/matching.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/matching.js +2 -1
- package/esm/src/matchers/matching.js.map +1 -0
- package/esm/src/matchers/not.d.ts +3 -0
- package/esm/src/matchers/not.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/not.js +2 -1
- package/esm/src/matchers/not.js.map +1 -0
- package/esm/src/matchers/or.d.ts +3 -0
- package/esm/src/matchers/or.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/or.js +2 -1
- package/esm/src/matchers/or.js.map +1 -0
- package/esm/src/matchers/some.d.ts +3 -0
- package/esm/src/matchers/some.d.ts.map +1 -0
- package/{dist/esm → esm/src}/matchers/some.js +2 -1
- package/esm/src/matchers/some.js.map +1 -0
- package/esm/src/merge-objects.d.ts +2 -0
- package/esm/src/merge-objects.d.ts.map +1 -0
- package/{dist/cjs → esm/src}/merge-objects.js.map +1 -1
- package/esm/src/metadata.d.ts +50 -0
- package/esm/src/metadata.d.ts.map +1 -0
- package/esm/src/metadata.js +96 -0
- package/esm/src/metadata.js.map +1 -0
- package/{dist → esm/src}/resolvers.d.ts +1 -1
- package/esm/src/resolvers.d.ts.map +1 -0
- package/{dist/esm → esm/src}/resolvers.js +3 -3
- package/esm/src/resolvers.js.map +1 -0
- package/{dist → esm/src}/serialize.d.ts +3 -3
- package/esm/src/serialize.d.ts.map +1 -0
- package/{dist/esm → esm/src}/serialize.js +2 -3
- package/esm/src/serialize.js.map +1 -0
- package/{dist → esm/src}/specification.d.ts +6 -6
- package/esm/src/specification.d.ts.map +1 -0
- package/esm/src/specification.js.map +1 -0
- package/package.json +19 -47
- package/script/mod.d.ts +2 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +18 -0
- package/script/mod.js.map +1 -0
- package/script/package.json +3 -0
- package/script/src/constructor.d.ts +4 -0
- package/script/src/constructor.d.ts.map +1 -0
- package/{dist/cjs → script/src}/constructor.js +61 -55
- package/script/src/constructor.js.map +1 -0
- package/script/src/converge.d.ts +3 -0
- package/script/src/converge.d.ts.map +1 -0
- package/{dist/cjs → script/src}/converge.js +1 -2
- package/script/src/converge.js.map +1 -0
- package/script/src/create-interactor.d.ts +18 -0
- package/script/src/create-interactor.d.ts.map +1 -0
- package/{dist/cjs → script/src}/create-interactor.js +3 -4
- package/script/src/create-interactor.js.map +1 -0
- package/script/src/element/click.d.ts +3 -0
- package/script/src/element/click.d.ts.map +1 -0
- package/script/src/element/click.js +8 -0
- package/script/src/element/click.js.map +1 -0
- package/script/src/errors.d.ts +13 -0
- package/script/src/errors.d.ts.map +1 -0
- package/{dist/cjs → script/src}/errors.js +24 -4
- package/script/src/errors.js.map +1 -0
- package/script/src/escape-html.d.ts +2 -0
- package/script/src/escape-html.d.ts.map +1 -0
- package/{dist/cjs → script/src}/escape-html.js +1 -2
- package/script/src/escape-html.js.map +1 -0
- package/script/src/filter-set.d.ts +10 -0
- package/script/src/filter-set.d.ts.map +1 -0
- package/{dist/cjs → script/src}/filter-set.js +16 -8
- package/script/src/filter-set.js.map +1 -0
- package/script/src/format.d.ts +10 -0
- package/script/src/format.d.ts.map +1 -0
- package/{dist/cjs → script/src}/format.js +3 -4
- package/script/src/format.js.map +1 -0
- package/script/src/index.d.ts +21 -0
- package/script/src/index.d.ts.map +1 -0
- package/script/src/index.js +36 -0
- package/script/src/index.js.map +1 -0
- package/script/src/inspector.d.ts +17 -0
- package/script/src/inspector.d.ts.map +1 -0
- package/{dist/cjs → script/src}/inspector.js +5 -6
- package/script/src/inspector.js.map +1 -0
- package/script/src/interaction.d.ts +70 -0
- package/script/src/interaction.d.ts.map +1 -0
- package/{dist/cjs → script/src}/interaction.js +5 -6
- package/script/src/interaction.js.map +1 -0
- package/script/src/locator.d.ts +10 -0
- package/script/src/locator.d.ts.map +1 -0
- package/script/src/locator.js +29 -0
- package/script/src/locator.js.map +1 -0
- package/script/src/match.d.ts +54 -0
- package/script/src/match.d.ts.map +1 -0
- package/{dist/cjs → script/src}/match.js +105 -22
- package/script/src/match.js.map +1 -0
- package/script/src/matcher.d.ts +15 -0
- package/script/src/matcher.d.ts.map +1 -0
- package/{dist/cjs → script/src}/matcher.js +13 -5
- package/script/src/matcher.js.map +1 -0
- package/script/src/matchers/and.d.ts +3 -0
- package/script/src/matchers/and.d.ts.map +1 -0
- package/script/src/matchers/and.js +19 -0
- package/script/src/matchers/and.js.map +1 -0
- package/script/src/matchers/every.d.ts +3 -0
- package/script/src/matchers/every.d.ts.map +1 -0
- package/script/src/matchers/every.js +19 -0
- package/script/src/matchers/every.js.map +1 -0
- package/script/src/matchers/including.d.ts +3 -0
- package/script/src/matchers/including.d.ts.map +1 -0
- package/{dist/cjs → script/src}/matchers/including.js +4 -4
- package/script/src/matchers/including.js.map +1 -0
- package/script/src/matchers/matching.d.ts +3 -0
- package/script/src/matchers/matching.d.ts.map +1 -0
- package/{dist/cjs → script/src}/matchers/matching.js +4 -4
- package/script/src/matchers/matching.js.map +1 -0
- package/script/src/matchers/not.d.ts +3 -0
- package/script/src/matchers/not.d.ts.map +1 -0
- package/script/src/matchers/not.js +19 -0
- package/script/src/matchers/not.js.map +1 -0
- package/script/src/matchers/or.d.ts +3 -0
- package/script/src/matchers/or.d.ts.map +1 -0
- package/script/src/matchers/or.js +19 -0
- package/script/src/matchers/or.js.map +1 -0
- package/script/src/matchers/some.d.ts +3 -0
- package/script/src/matchers/some.d.ts.map +1 -0
- package/script/src/matchers/some.js +19 -0
- package/script/src/matchers/some.js.map +1 -0
- package/script/src/merge-objects.d.ts +2 -0
- package/script/src/merge-objects.d.ts.map +1 -0
- package/{dist/esm → script/src}/merge-objects.js.map +1 -1
- package/script/src/metadata.d.ts +50 -0
- package/script/src/metadata.d.ts.map +1 -0
- package/script/src/metadata.js +105 -0
- package/script/src/metadata.js.map +1 -0
- package/script/src/resolvers.d.ts +9 -0
- package/script/src/resolvers.d.ts.map +1 -0
- package/{dist/cjs → script/src}/resolvers.js +17 -18
- package/script/src/resolvers.js.map +1 -0
- package/script/src/serialize.d.ts +13 -0
- package/script/src/serialize.d.ts.map +1 -0
- package/{dist/cjs → script/src}/serialize.js +6 -8
- package/script/src/serialize.js.map +1 -0
- package/script/src/specification.d.ts +216 -0
- package/script/src/specification.d.ts.map +1 -0
- package/script/src/specification.js.map +1 -0
- package/src/mod.ts +1 -0
- package/src/{constructor.ts → src/constructor.ts} +25 -16
- package/src/{converge.ts → src/converge.ts} +1 -1
- package/src/{create-interactor.ts → src/create-interactor.ts} +2 -2
- package/src/src/element/click.ts +5 -0
- package/src/{errors.ts → src/errors.ts} +4 -4
- package/src/{filter-set.ts → src/filter-set.ts} +2 -3
- package/src/{format.ts → src/format.ts} +2 -2
- package/src/src/index.ts +31 -0
- package/src/{inspector.ts → src/inspector.ts} +3 -3
- package/src/{interaction.ts → src/interaction.ts} +4 -4
- package/src/{locator.ts → src/locator.ts} +3 -3
- package/src/{match.ts → src/match.ts} +5 -6
- package/src/{matcher.ts → src/matcher.ts} +12 -0
- package/src/{matchers → src/matchers}/and.ts +3 -1
- package/src/{matchers → src/matchers}/every.ts +3 -1
- package/src/{matchers → src/matchers}/including.ts +3 -1
- package/src/{matchers → src/matchers}/matching.ts +3 -1
- package/src/{matchers → src/matchers}/not.ts +3 -1
- package/src/{matchers → src/matchers}/or.ts +3 -1
- package/src/{matchers → src/matchers}/some.ts +3 -1
- package/src/src/merge-objects.ts +4 -0
- package/src/src/metadata.ts +166 -0
- package/src/{resolvers.ts → src/resolvers.ts} +4 -4
- package/src/{serialize.ts → src/serialize.ts} +4 -4
- package/src/{specification.ts → src/specification.ts} +6 -6
- package/dist/cjs/constructor.js.map +0 -1
- package/dist/cjs/converge.js.map +0 -1
- package/dist/cjs/create-interactor.js.map +0 -1
- package/dist/cjs/element/click.js +0 -12
- package/dist/cjs/element/click.js.map +0 -1
- package/dist/cjs/errors.js.map +0 -1
- package/dist/cjs/escape-html.js.map +0 -1
- package/dist/cjs/filter-set.js.map +0 -1
- package/dist/cjs/format.js.map +0 -1
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/inspector.js.map +0 -1
- package/dist/cjs/interaction.js.map +0 -1
- package/dist/cjs/locator.js +0 -19
- package/dist/cjs/locator.js.map +0 -1
- package/dist/cjs/match.js.map +0 -1
- package/dist/cjs/matcher.js.map +0 -1
- package/dist/cjs/matchers/and.js +0 -19
- package/dist/cjs/matchers/and.js.map +0 -1
- package/dist/cjs/matchers/every.js +0 -19
- package/dist/cjs/matchers/every.js.map +0 -1
- package/dist/cjs/matchers/including.js.map +0 -1
- package/dist/cjs/matchers/matching.js.map +0 -1
- package/dist/cjs/matchers/not.js +0 -19
- package/dist/cjs/matchers/not.js.map +0 -1
- package/dist/cjs/matchers/or.js +0 -19
- package/dist/cjs/matchers/or.js.map +0 -1
- package/dist/cjs/matchers/some.js +0 -19
- package/dist/cjs/matchers/some.js.map +0 -1
- package/dist/cjs/resolvers.js.map +0 -1
- package/dist/cjs/serialize.js.map +0 -1
- package/dist/cjs/specification.js.map +0 -1
- package/dist/constructor.d.ts.map +0 -1
- package/dist/converge.d.ts +0 -3
- package/dist/converge.d.ts.map +0 -1
- package/dist/create-interactor.d.ts.map +0 -1
- package/dist/element/click.d.ts +0 -2
- package/dist/element/click.d.ts.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/escape-html.d.ts.map +0 -1
- package/dist/esm/constructor.js.map +0 -1
- package/dist/esm/converge.js.map +0 -1
- package/dist/esm/create-interactor.js.map +0 -1
- package/dist/esm/element/click.js +0 -5
- package/dist/esm/element/click.js.map +0 -1
- package/dist/esm/errors.js +0 -25
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/escape-html.js.map +0 -1
- package/dist/esm/filter-set.js.map +0 -1
- package/dist/esm/format.js.map +0 -1
- package/dist/esm/index.js +0 -13
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/inspector.js.map +0 -1
- package/dist/esm/interaction.js.map +0 -1
- package/dist/esm/locator.js +0 -15
- package/dist/esm/locator.js.map +0 -1
- package/dist/esm/match.js.map +0 -1
- package/dist/esm/matcher.js.map +0 -1
- package/dist/esm/matchers/and.js.map +0 -1
- package/dist/esm/matchers/every.js.map +0 -1
- package/dist/esm/matchers/including.js.map +0 -1
- package/dist/esm/matchers/matching.js.map +0 -1
- package/dist/esm/matchers/not.js.map +0 -1
- package/dist/esm/matchers/or.js.map +0 -1
- package/dist/esm/matchers/some.js.map +0 -1
- package/dist/esm/resolvers.js.map +0 -1
- package/dist/esm/serialize.js.map +0 -1
- package/dist/esm/specification.js.map +0 -1
- package/dist/filter-set.d.ts.map +0 -1
- package/dist/format.d.ts.map +0 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/inspector.d.ts.map +0 -1
- package/dist/interaction.d.ts.map +0 -1
- package/dist/locator.d.ts.map +0 -1
- package/dist/match.d.ts.map +0 -1
- package/dist/matcher.d.ts.map +0 -1
- package/dist/matchers/and.d.ts +0 -3
- package/dist/matchers/and.d.ts.map +0 -1
- package/dist/matchers/every.d.ts +0 -3
- package/dist/matchers/every.d.ts.map +0 -1
- package/dist/matchers/including.d.ts +0 -3
- package/dist/matchers/including.d.ts.map +0 -1
- package/dist/matchers/matching.d.ts +0 -3
- package/dist/matchers/matching.d.ts.map +0 -1
- package/dist/matchers/not.d.ts +0 -3
- package/dist/matchers/not.d.ts.map +0 -1
- package/dist/matchers/or.d.ts +0 -3
- package/dist/matchers/or.d.ts.map +0 -1
- package/dist/matchers/some.d.ts +0 -3
- package/dist/matchers/some.d.ts.map +0 -1
- package/dist/merge-objects.d.ts +0 -2
- package/dist/merge-objects.d.ts.map +0 -1
- package/dist/resolvers.d.ts.map +0 -1
- package/dist/serialize.d.ts.map +0 -1
- package/dist/specification.d.ts.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/src/element/click.ts +0 -5
- package/src/index.ts +0 -18
- package/src/merge-objects.ts +0 -2
- /package/{dist/esm → esm/src}/converge.js +0 -0
- /package/{dist → esm/src}/errors.d.ts +0 -0
- /package/{dist → esm/src}/escape-html.d.ts +0 -0
- /package/{dist/esm → esm/src}/escape-html.js +0 -0
- /package/{dist/esm → esm/src}/format.js +0 -0
- /package/{dist/esm → esm/src}/merge-objects.js +0 -0
- /package/{dist/esm → esm/src}/specification.js +0 -0
- /package/{dist/cjs → script/src}/merge-objects.js +0 -0
- /package/{dist/cjs → script/src}/specification.js +0 -0
- /package/src/{escape-html.ts → src/escape-html.ts} +0 -0
|
@@ -1,11 +1,38 @@
|
|
|
1
|
-
import { escapeHtml } from './escape-html';
|
|
2
|
-
import { applyMatcher, matcherDescription } from './matcher';
|
|
1
|
+
import { escapeHtml } from './escape-html.js';
|
|
2
|
+
import { applyMatcher, matcherDescription } from './matcher.js';
|
|
3
3
|
const check = (value) => value ? "✓" : "⨯";
|
|
4
4
|
export class Match {
|
|
5
5
|
constructor(element, filterSet, locator) {
|
|
6
|
-
this
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
Object.defineProperty(this, "element", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true,
|
|
10
|
+
value: element
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(this, "filterSet", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true,
|
|
16
|
+
value: filterSet
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(this, "locator", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true,
|
|
22
|
+
value: locator
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(this, "matchLocator", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true,
|
|
28
|
+
value: void 0
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(this, "matchFilter", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
configurable: true,
|
|
33
|
+
writable: true,
|
|
34
|
+
value: void 0
|
|
35
|
+
});
|
|
9
36
|
this.matchLocator = locator && new MatchLocator(element, locator);
|
|
10
37
|
this.matchFilter = new MatchFilter(element, filterSet);
|
|
11
38
|
}
|
|
@@ -29,8 +56,7 @@ export class Match {
|
|
|
29
56
|
}
|
|
30
57
|
}
|
|
31
58
|
get sortWeight() {
|
|
32
|
-
|
|
33
|
-
return (((_a = this.matchLocator) === null || _a === void 0 ? void 0 : _a.sortWeight) || 0) + this.matchFilter.sortWeight;
|
|
59
|
+
return (this.matchLocator?.sortWeight || 0) + this.matchFilter.sortWeight;
|
|
34
60
|
}
|
|
35
61
|
elementDescription() {
|
|
36
62
|
let tag = this.element.tagName.toLowerCase();
|
|
@@ -42,8 +68,30 @@ export class Match {
|
|
|
42
68
|
}
|
|
43
69
|
export class MatchLocator {
|
|
44
70
|
constructor(element, locator) {
|
|
45
|
-
this
|
|
46
|
-
|
|
71
|
+
Object.defineProperty(this, "element", {
|
|
72
|
+
enumerable: true,
|
|
73
|
+
configurable: true,
|
|
74
|
+
writable: true,
|
|
75
|
+
value: element
|
|
76
|
+
});
|
|
77
|
+
Object.defineProperty(this, "locator", {
|
|
78
|
+
enumerable: true,
|
|
79
|
+
configurable: true,
|
|
80
|
+
writable: true,
|
|
81
|
+
value: locator
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(this, "expected", {
|
|
84
|
+
enumerable: true,
|
|
85
|
+
configurable: true,
|
|
86
|
+
writable: true,
|
|
87
|
+
value: void 0
|
|
88
|
+
});
|
|
89
|
+
Object.defineProperty(this, "actual", {
|
|
90
|
+
enumerable: true,
|
|
91
|
+
configurable: true,
|
|
92
|
+
writable: true,
|
|
93
|
+
value: void 0
|
|
94
|
+
});
|
|
47
95
|
this.expected = locator.value;
|
|
48
96
|
this.actual = locator.apply(element);
|
|
49
97
|
}
|
|
@@ -62,8 +110,24 @@ export class MatchLocator {
|
|
|
62
110
|
}
|
|
63
111
|
export class MatchFilter {
|
|
64
112
|
constructor(element, filter) {
|
|
65
|
-
this
|
|
66
|
-
|
|
113
|
+
Object.defineProperty(this, "element", {
|
|
114
|
+
enumerable: true,
|
|
115
|
+
configurable: true,
|
|
116
|
+
writable: true,
|
|
117
|
+
value: element
|
|
118
|
+
});
|
|
119
|
+
Object.defineProperty(this, "filter", {
|
|
120
|
+
enumerable: true,
|
|
121
|
+
configurable: true,
|
|
122
|
+
writable: true,
|
|
123
|
+
value: filter
|
|
124
|
+
});
|
|
125
|
+
Object.defineProperty(this, "items", {
|
|
126
|
+
enumerable: true,
|
|
127
|
+
configurable: true,
|
|
128
|
+
writable: true,
|
|
129
|
+
value: void 0
|
|
130
|
+
});
|
|
67
131
|
this.items = Object.entries(filter.all).map(([key, expected]) => {
|
|
68
132
|
return new MatchFilterItem(element, filter, key, expected);
|
|
69
133
|
});
|
|
@@ -81,7 +145,6 @@ export class MatchFilter {
|
|
|
81
145
|
return this.items.filter((i) => !i.matches).map((i) => i.formatAsExpectation()).join('\n\n');
|
|
82
146
|
}
|
|
83
147
|
}
|
|
84
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
85
148
|
export function applyFilter(definition, element) {
|
|
86
149
|
if (typeof (definition) === 'function') {
|
|
87
150
|
return definition(element);
|
|
@@ -92,10 +155,30 @@ export function applyFilter(definition, element) {
|
|
|
92
155
|
}
|
|
93
156
|
export class MatchFilterItem {
|
|
94
157
|
constructor(element, filter, key, expected) {
|
|
95
|
-
this
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
158
|
+
Object.defineProperty(this, "element", {
|
|
159
|
+
enumerable: true,
|
|
160
|
+
configurable: true,
|
|
161
|
+
writable: true,
|
|
162
|
+
value: element
|
|
163
|
+
});
|
|
164
|
+
Object.defineProperty(this, "filter", {
|
|
165
|
+
enumerable: true,
|
|
166
|
+
configurable: true,
|
|
167
|
+
writable: true,
|
|
168
|
+
value: filter
|
|
169
|
+
});
|
|
170
|
+
Object.defineProperty(this, "key", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
configurable: true,
|
|
173
|
+
writable: true,
|
|
174
|
+
value: key
|
|
175
|
+
});
|
|
176
|
+
Object.defineProperty(this, "expected", {
|
|
177
|
+
enumerable: true,
|
|
178
|
+
configurable: true,
|
|
179
|
+
writable: true,
|
|
180
|
+
value: expected
|
|
181
|
+
});
|
|
99
182
|
}
|
|
100
183
|
get matches() {
|
|
101
184
|
return applyMatcher(this.expected, this.actual);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"match.js","sourceRoot":"","sources":["../../src/src/match.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,10 @@ export interface Matcher<T> {
|
|
|
4
4
|
code?(): string;
|
|
5
5
|
}
|
|
6
6
|
export type MaybeMatcher<T> = Matcher<T> | T;
|
|
7
|
+
/**
|
|
8
|
+
* Create a matcher constructor that can be discovered by build tools.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMatcher<F extends (...args: any[]) => Matcher<any>>(name: string, constructor: F): F;
|
|
7
11
|
export declare function isMatcher<T>(value: MaybeMatcher<T>): value is Matcher<T>;
|
|
8
12
|
export declare function matcherDescription<T>(value: MaybeMatcher<T>): string;
|
|
9
13
|
export declare function applyMatcher<T>(value: MaybeMatcher<T>, actual: T): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/src/matcher.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1B,WAAW,IAAI,MAAM,CAAC;IACtB,IAAI,CAAC,IAAI,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAE7C;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACtE,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,GACb,CAAC,CAGH;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAExE;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAMpE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAM1E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAQ7D"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import isEqual from 'lodash.isequal';
|
|
2
|
+
import { defineMatcherConstructorMetadata } from './metadata.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a matcher constructor that can be discovered by build tools.
|
|
5
|
+
*/
|
|
6
|
+
export function createMatcher(name, constructor) {
|
|
7
|
+
defineMatcherConstructorMetadata(constructor, { name });
|
|
8
|
+
return constructor;
|
|
9
|
+
}
|
|
2
10
|
export function isMatcher(value) {
|
|
3
11
|
return value && typeof value.match === 'function' && typeof value.description === 'function';
|
|
4
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/src/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAUjE;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,WAAc;IAEd,gCAAgC,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAsB;IACjD,OAAO,KAAK,IAAI,OAAQ,KAAoB,CAAC,KAAK,KAAK,UAAU,IAAI,OAAQ,KAAoB,CAAC,WAAW,KAAK,UAAU,CAAC;AAC/H,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAI,KAAsB;IAC1D,IAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAI,KAAsB,EAAE,MAAS;IAC/D,IAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,KAAsB;IACnD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;SAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,eAAe,CAAC;AAE9H,wBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAY7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function and(...args) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function and(...args) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('and', and);
|
|
15
16
|
//# sourceMappingURL=and.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"and.js","sourceRoot":"","sources":["../../../src/src/matchers/and.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9H,MAAM,UAAU,GAAG,CAAI,GAAG,IAAuB;IAC/C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI;YACF,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC/D,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"every.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,eAAe,CAAC;AAE9H,wBAAgB,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYxE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyMatcher, matcherDescription, matcherCode } from '../matcher';
|
|
1
|
+
import { applyMatcher, matcherDescription, matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function every(expected) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function every(expected) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('every', every);
|
|
15
16
|
//# sourceMappingURL=every.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"every.js","sourceRoot":"","sources":["../../../src/src/matchers/every.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9H,MAAM,UAAU,KAAK,CAAI,QAAyB;IAChD,OAAO;QACL,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5E,CAAC;QACD,WAAW;YACT,OAAO,cAAc,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,IAAI;YACF,OAAO,SAAS,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"including.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/including.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,eAAe,CAAC;AAEzE,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAY5D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherCode } from '../matcher';
|
|
1
|
+
import { matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function including(subString) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function including(subString) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('including', including);
|
|
15
16
|
//# sourceMappingURL=including.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"including.js","sourceRoot":"","sources":["../../../src/src/matchers/including.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO;QACL,KAAK,CAAC,MAAc;YAClB,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD,WAAW;YACT,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,CAAC;QACD,IAAI;YACF,OAAO,aAAa,WAAW,CAAC,SAAS,CAAC,GAAG,CAAA;QAC/C,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matching.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/matching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA8B,MAAM,eAAe,CAAC;AAEzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYxD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherCode } from '../matcher';
|
|
1
|
+
import { matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function matching(regexp) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function matching(regexp) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('matching', matching);
|
|
15
16
|
//# sourceMappingURL=matching.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matching.js","sourceRoot":"","sources":["../../../src/src/matchers/matching.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO;QACL,KAAK,CAAC,MAAc;YAClB,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACtC,CAAC;QACD,WAAW;YACT,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI;YACF,OAAO,YAAY,WAAW,CAAC,MAAM,CAAC,GAAG,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,eAAe,CAAC;AAE9H,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAY3D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function not(matcher) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function not(matcher) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('not', not);
|
|
15
16
|
//# sourceMappingURL=not.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not.js","sourceRoot":"","sources":["../../../src/src/matchers/not.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9H,MAAM,UAAU,GAAG,CAAI,OAAwB;IAC7C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,WAAW;YACT,OAAO,OAAO,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI;YACF,OAAO,OAAO,WAAW,CAAC,OAAO,CAAC,GAAG,CAAA;QACvC,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,eAAe,CAAC;AAE9H,wBAAgB,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAY5D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { matcherDescription, applyMatcher, matcherCode } from '../matcher';
|
|
1
|
+
import { matcherDescription, applyMatcher, matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function or(...args) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function or(...args) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('or', or);
|
|
15
16
|
//# sourceMappingURL=or.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"or.js","sourceRoot":"","sources":["../../../src/src/matchers/or.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9H,MAAM,UAAU,EAAE,CAAI,GAAG,IAAuB;IAC9C,OAAO;QACL,KAAK,CAAC,MAAS;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,WAAW;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC9D,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"some.d.ts","sourceRoot":"","sources":["../../../src/src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAgE,MAAM,eAAe,CAAC;AAE9H,wBAAgB,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAYvE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyMatcher, matcherDescription, matcherCode } from '../matcher';
|
|
1
|
+
import { applyMatcher, matcherDescription, matcherCode, createMatcher } from '../matcher.js';
|
|
2
2
|
export function some(expected) {
|
|
3
3
|
return {
|
|
4
4
|
match(actual) {
|
|
@@ -12,4 +12,5 @@ export function some(expected) {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
createMatcher('some', some);
|
|
15
16
|
//# sourceMappingURL=some.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"some.js","sourceRoot":"","sources":["../../../src/src/matchers/some.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9H,MAAM,UAAU,IAAI,CAAI,QAAyB;IAC/C,OAAO;QACL,KAAK,CAAC,MAAmB;YACvB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,WAAW;YACT,OAAO,aAAa,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,CAAC;QACD,IAAI;YACF,OAAO,QAAQ,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAA;QACzC,CAAC;KACF,CAAA;AACH,CAAC;AAED,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-objects.d.ts","sourceRoot":"","sources":["../../src/src/merge-objects.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,GACtD,MAAM,CAAC,SAAS,KAAK,GAAG,CAAC,GACzB,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-objects.js","sourceRoot":"","sources":["../../src/merge-objects.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"merge-objects.js","sourceRoot":"","sources":["../../src/src/merge-objects.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Matcher } from "./matcher.js";
|
|
2
|
+
import type { InteractorConstructor } from "./specification.js";
|
|
3
|
+
/**
|
|
4
|
+
* Version of the metadata attached to interactor and matcher constructors.
|
|
5
|
+
*
|
|
6
|
+
* Consumers should use the helpers in this module instead of reading the
|
|
7
|
+
* symbol properties directly.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CONSTRUCTOR_METADATA_VERSION: 1;
|
|
10
|
+
/** @internal */
|
|
11
|
+
export declare const INTERACTOR_CONSTRUCTOR_METADATA: unique symbol;
|
|
12
|
+
/** @internal */
|
|
13
|
+
export declare const MATCHER_CONSTRUCTOR_METADATA: unique symbol;
|
|
14
|
+
export interface InteractorConstructorMetadata {
|
|
15
|
+
readonly kind: "interactor";
|
|
16
|
+
readonly version: typeof CONSTRUCTOR_METADATA_VERSION;
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly actions: readonly string[];
|
|
19
|
+
readonly filters: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export interface MatcherConstructorMetadata {
|
|
22
|
+
readonly kind: "matcher";
|
|
23
|
+
readonly version: typeof CONSTRUCTOR_METADATA_VERSION;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
}
|
|
26
|
+
type AnyInteractorConstructor = InteractorConstructor<Element, any, any, any>;
|
|
27
|
+
type AnyMatcherConstructor = (...args: any[]) => Matcher<any>;
|
|
28
|
+
/**
|
|
29
|
+
* Return stable, serializable metadata for an interactor constructor.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getInteractorConstructorMetadata(value: unknown): InteractorConstructorMetadata | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Determine whether a value was created by {@link createInteractor}.
|
|
34
|
+
*
|
|
35
|
+
* The brand uses the global symbol registry so this works when the producer
|
|
36
|
+
* and consumer load different copies of `@interactors/core`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function isInteractorConstructor(value: unknown): value is AnyInteractorConstructor;
|
|
39
|
+
/**
|
|
40
|
+
* Return stable, serializable metadata for a matcher constructor.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getMatcherConstructorMetadata(value: unknown): MatcherConstructorMetadata | undefined;
|
|
43
|
+
/** Determine whether a value was created by {@link createMatcher}. */
|
|
44
|
+
export declare function isMatcherConstructor(value: unknown): value is AnyMatcherConstructor;
|
|
45
|
+
/** @internal */
|
|
46
|
+
export declare function defineInteractorConstructorMetadata(constructor: Function, metadata: Omit<InteractorConstructorMetadata, "kind" | "version">): void;
|
|
47
|
+
/** @internal */
|
|
48
|
+
export declare function defineMatcherConstructorMetadata(constructor: Function, metadata: Omit<MatcherConstructorMetadata, "kind" | "version">): void;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GAAa,CAAC;AAEvD,gBAAgB;AAChB,eAAO,MAAM,+BAA+B,eAE3C,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,4BAA4B,eAExC,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,4BAA4B,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,4BAA4B,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,KAAK,wBAAwB,GAAG,qBAAqB,CACnD,OAAO,EACP,GAAG,EACH,GAAG,EACH,GAAG,CACJ,CAAC;AAEF,KAAK,qBAAqB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE9D;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,GACb,6BAA6B,GAAG,SAAS,CAQ3C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,wBAAwB,CAEnC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,OAAO,GACb,0BAA0B,GAAG,SAAS,CAQxC;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,qBAAqB,CAEhC;AAED,gBAAgB;AAChB,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,IAAI,CAAC,6BAA6B,EAAE,MAAM,GAAG,SAAS,CAAC,GAChE,IAAI,CAQN;AAED,gBAAgB;AAChB,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,IAAI,CAAC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC,GAC7D,IAAI,CAMN"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version of the metadata attached to interactor and matcher constructors.
|
|
3
|
+
*
|
|
4
|
+
* Consumers should use the helpers in this module instead of reading the
|
|
5
|
+
* symbol properties directly.
|
|
6
|
+
*/
|
|
7
|
+
export const CONSTRUCTOR_METADATA_VERSION = 1;
|
|
8
|
+
/** @internal */
|
|
9
|
+
export const INTERACTOR_CONSTRUCTOR_METADATA = Symbol.for("@interactors/core/interactor-constructor-metadata");
|
|
10
|
+
/** @internal */
|
|
11
|
+
export const MATCHER_CONSTRUCTOR_METADATA = Symbol.for("@interactors/core/matcher-constructor-metadata");
|
|
12
|
+
/**
|
|
13
|
+
* Return stable, serializable metadata for an interactor constructor.
|
|
14
|
+
*/
|
|
15
|
+
export function getInteractorConstructorMetadata(value) {
|
|
16
|
+
if (typeof value !== "function") {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
let metadata = Reflect.get(value, INTERACTOR_CONSTRUCTOR_METADATA);
|
|
20
|
+
return isInteractorConstructorMetadata(metadata) ? metadata : undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Determine whether a value was created by {@link createInteractor}.
|
|
24
|
+
*
|
|
25
|
+
* The brand uses the global symbol registry so this works when the producer
|
|
26
|
+
* and consumer load different copies of `@interactors/core`.
|
|
27
|
+
*/
|
|
28
|
+
export function isInteractorConstructor(value) {
|
|
29
|
+
return getInteractorConstructorMetadata(value) !== undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Return stable, serializable metadata for a matcher constructor.
|
|
33
|
+
*/
|
|
34
|
+
export function getMatcherConstructorMetadata(value) {
|
|
35
|
+
if (typeof value !== "function") {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
let metadata = Reflect.get(value, MATCHER_CONSTRUCTOR_METADATA);
|
|
39
|
+
return isMatcherConstructorMetadata(metadata) ? metadata : undefined;
|
|
40
|
+
}
|
|
41
|
+
/** Determine whether a value was created by {@link createMatcher}. */
|
|
42
|
+
export function isMatcherConstructor(value) {
|
|
43
|
+
return getMatcherConstructorMetadata(value) !== undefined;
|
|
44
|
+
}
|
|
45
|
+
/** @internal */
|
|
46
|
+
export function defineInteractorConstructorMetadata(constructor, metadata) {
|
|
47
|
+
defineMetadata(constructor, INTERACTOR_CONSTRUCTOR_METADATA, {
|
|
48
|
+
kind: "interactor",
|
|
49
|
+
version: CONSTRUCTOR_METADATA_VERSION,
|
|
50
|
+
name: metadata.name,
|
|
51
|
+
actions: Object.freeze([...metadata.actions].sort()),
|
|
52
|
+
filters: Object.freeze([...metadata.filters].sort()),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/** @internal */
|
|
56
|
+
export function defineMatcherConstructorMetadata(constructor, metadata) {
|
|
57
|
+
defineMetadata(constructor, MATCHER_CONSTRUCTOR_METADATA, {
|
|
58
|
+
kind: "matcher",
|
|
59
|
+
version: CONSTRUCTOR_METADATA_VERSION,
|
|
60
|
+
name: metadata.name,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
function defineMetadata(constructor, key, metadata) {
|
|
64
|
+
Object.defineProperty(constructor, key, {
|
|
65
|
+
configurable: false,
|
|
66
|
+
enumerable: false,
|
|
67
|
+
writable: false,
|
|
68
|
+
value: Object.freeze(metadata),
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function isInteractorConstructorMetadata(value) {
|
|
72
|
+
if (!isRecord(value)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return value.kind === "interactor" &&
|
|
76
|
+
value.version === CONSTRUCTOR_METADATA_VERSION &&
|
|
77
|
+
typeof value.name === "string" &&
|
|
78
|
+
isStringArray(value.actions) &&
|
|
79
|
+
isStringArray(value.filters);
|
|
80
|
+
}
|
|
81
|
+
function isMatcherConstructorMetadata(value) {
|
|
82
|
+
if (!isRecord(value)) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return value.kind === "matcher" &&
|
|
86
|
+
value.version === CONSTRUCTOR_METADATA_VERSION &&
|
|
87
|
+
typeof value.name === "string";
|
|
88
|
+
}
|
|
89
|
+
function isRecord(value) {
|
|
90
|
+
return typeof value === "object" && value !== null;
|
|
91
|
+
}
|
|
92
|
+
function isStringArray(value) {
|
|
93
|
+
return Array.isArray(value) &&
|
|
94
|
+
value.every((item) => typeof item === "string");
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/src/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InteractorOptions } from './specification';
|
|
1
|
+
import type { InteractorOptions } from './specification.js';
|
|
2
2
|
export declare function findElements<E extends Element>(parentElement: Element, interactor: InteractorOptions<any, any, any>): E[];
|
|
3
3
|
export declare function hasMatchMatching(parentElement: Element, interactor: InteractorOptions<any, any, any>): boolean;
|
|
4
4
|
export declare function resolveUnique(parentElement: Element, interactor: InteractorOptions<any, any, any>): Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../src/src/resolvers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAYzH;AA0BD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE9G;AAcD,wBAAgB,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAS3G;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,CAE1G;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAOvG;AAED,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { globals } from '@interactors/globals';
|
|
3
|
-
import { Match } from './match';
|
|
4
|
-
import { NoSuchElementError, NotAbsentError, AmbiguousElementError } from './errors';
|
|
5
|
-
import { formatDescription, formatMatchesTable } from './format';
|
|
3
|
+
import { Match } from './match.js';
|
|
4
|
+
import { NoSuchElementError, NotAbsentError, AmbiguousElementError } from './errors.js';
|
|
5
|
+
import { formatDescription, formatMatchesTable } from './format.js';
|
|
6
6
|
const defaultSelector = 'div';
|
|
7
7
|
export function findElements(parentElement, interactor) {
|
|
8
8
|
if (!interactor.name) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/src/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { InteractionOptions as SerializedInteractionOptions, InteractionType } from "@interactors/globals";
|
|
2
|
-
import { InteractionOptions } from "./interaction";
|
|
3
|
-
import { InteractorOptions } from "./specification";
|
|
1
|
+
import type { InteractionOptions as SerializedInteractionOptions, InteractionType } from "@interactors/globals";
|
|
2
|
+
import type { InteractionOptions } from "./interaction.js";
|
|
3
|
+
import type { InteractorOptions } from "./specification.js";
|
|
4
4
|
export declare function serializeInteractorOptions(options: InteractorOptions<any, any, any>): {
|
|
5
5
|
interactor: string;
|
|
6
6
|
filter: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/src/serialize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,IAAI,4BAA4B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEhH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,MAAM,CAAC;CACpB,CAcA;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,EAC9D,IAAI,EAAE,eAAe,EACrB,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GACzE,4BAA4B,CAsB9B"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { pascalCase } from "change-case";
|
|
2
|
-
import { matcherCode } from "./matcher";
|
|
2
|
+
import { matcherCode } from "./matcher.js";
|
|
3
3
|
export function serializeInteractorOptions(options) {
|
|
4
|
-
|
|
5
|
-
let locator = matcherCode((_a = options.locator) === null || _a === void 0 ? void 0 : _a.value);
|
|
4
|
+
let locator = matcherCode(options.locator?.value);
|
|
6
5
|
return {
|
|
7
6
|
interactor: options.name,
|
|
8
7
|
filter: options.filter.all,
|