@testing-library/react-native 10.1.1 → 11.0.0-rc.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 (55) hide show
  1. package/README.md +4 -0
  2. package/build/fireEvent.js +15 -13
  3. package/build/fireEvent.js.map +1 -1
  4. package/build/helpers/errors.js +1 -3
  5. package/build/helpers/errors.js.map +1 -1
  6. package/build/helpers/matchers/matchArrayProp.d.ts +8 -0
  7. package/build/helpers/matchers/matchArrayProp.js +26 -0
  8. package/build/helpers/matchers/matchArrayProp.js.map +1 -0
  9. package/build/helpers/matchers/matchObjectProp.d.ts +12 -0
  10. package/build/helpers/matchers/matchObjectProp.js +27 -0
  11. package/build/helpers/matchers/matchObjectProp.js.map +1 -0
  12. package/build/helpers/matchers/matchStringProp.d.ts +9 -0
  13. package/build/helpers/matchers/matchStringProp.js +26 -0
  14. package/build/helpers/matchers/matchStringProp.js.map +1 -0
  15. package/build/helpers/timers.js +12 -2
  16. package/build/helpers/timers.js.map +1 -1
  17. package/build/index.flow.js +6 -24
  18. package/build/queries/a11yState.d.ts +18 -0
  19. package/build/queries/a11yState.js +53 -0
  20. package/build/queries/a11yState.js.map +1 -0
  21. package/build/queries/a11yValue.d.ts +24 -0
  22. package/build/queries/a11yValue.js +53 -0
  23. package/build/queries/a11yValue.js.map +1 -0
  24. package/build/queries/hintText.d.ts +24 -0
  25. package/build/queries/hintText.js +61 -0
  26. package/build/queries/hintText.js.map +1 -0
  27. package/build/queries/labelText.d.ts +12 -0
  28. package/build/queries/labelText.js +39 -0
  29. package/build/queries/labelText.js.map +1 -0
  30. package/build/queries/makeQueries.d.ts +6 -6
  31. package/build/queries/makeQueries.js +4 -36
  32. package/build/queries/makeQueries.js.map +1 -1
  33. package/build/queries/role.d.ts +12 -0
  34. package/build/queries/role.js +39 -0
  35. package/build/queries/role.js.map +1 -0
  36. package/build/queries/text.js +1 -3
  37. package/build/queries/text.js.map +1 -1
  38. package/build/render.d.ts +106 -64
  39. package/build/renderHook.js +2 -2
  40. package/build/renderHook.js.map +1 -1
  41. package/build/screen.js +24 -12
  42. package/build/screen.js.map +1 -1
  43. package/build/waitFor.js +1 -1
  44. package/build/waitFor.js.map +1 -1
  45. package/build/within.d.ts +106 -64
  46. package/build/within.js +16 -4
  47. package/build/within.js.map +1 -1
  48. package/package.json +21 -17
  49. package/typings/index.flow.js +6 -24
  50. package/build/queries/a11yAPI.d.ts +0 -66
  51. package/build/queries/a11yAPI.js +0 -94
  52. package/build/queries/a11yAPI.js.map +0 -1
  53. package/build/queries/makeA11yQuery.d.ts +0 -13
  54. package/build/queries/makeA11yQuery.js +0 -80
  55. package/build/queries/makeA11yQuery.js.map +0 -1
@@ -1,66 +0,0 @@
1
- import type { ReactTestInstance } from 'react-test-renderer';
2
- import type { AccessibilityRole, AccessibilityState } from 'react-native';
3
- import type { WaitForOptions } from '../waitFor';
4
- import type { TextMatch } from '../matches';
5
- declare type AccessibilityStateKey = keyof AccessibilityState;
6
- declare type A11yValue = {
7
- min?: number;
8
- max?: number;
9
- now?: number;
10
- text?: string;
11
- };
12
- declare type GetReturn = ReactTestInstance;
13
- declare type GetAllReturn = Array<ReactTestInstance>;
14
- declare type QueryReturn = ReactTestInstance | null;
15
- declare type QueryAllReturn = Array<ReactTestInstance>;
16
- declare type FindReturn = Promise<GetReturn>;
17
- declare type FindAllReturn = Promise<GetAllReturn>;
18
- export declare type A11yAPI = {
19
- getByLabelText: (label: TextMatch) => GetReturn;
20
- getAllByLabelText: (label: TextMatch) => GetAllReturn;
21
- queryByLabelText: (label: TextMatch) => QueryReturn;
22
- queryAllByLabelText: (label: TextMatch) => QueryAllReturn;
23
- findByLabelText: (label: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
24
- findAllByLabelText: (label: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
25
- getByA11yHint: (a11yHint: TextMatch) => GetReturn;
26
- getByHintText: (a11yHint: TextMatch) => GetReturn;
27
- getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;
28
- getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;
29
- queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;
30
- queryByHintText: (a11yHint: TextMatch) => QueryReturn;
31
- queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;
32
- queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;
33
- findByA11yHint: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
34
- findByHintText: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindReturn;
35
- findAllByA11yHint: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
36
- findAllByHintText: (a11yHint: TextMatch, waitForOptions?: WaitForOptions) => FindAllReturn;
37
- getByRole: (role: AccessibilityRole | RegExp) => GetReturn;
38
- getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;
39
- queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;
40
- queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;
41
- findByRole: (role: AccessibilityRole, waitForOptions?: WaitForOptions) => FindReturn;
42
- findAllByRole: (role: AccessibilityRole, waitForOptions?: WaitForOptions) => FindAllReturn;
43
- getByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => GetReturn;
44
- getAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => GetAllReturn;
45
- queryByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => QueryReturn;
46
- queryAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>) => QueryAllReturn;
47
- findByA11yStates: (accessibilityStateKey: AccessibilityStateKey, waitForOptions?: WaitForOptions) => FindReturn;
48
- findAllByA11yStates: (accessibilityStateKey: AccessibilityStateKey, waitForOptions?: WaitForOptions) => FindAllReturn;
49
- getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;
50
- getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;
51
- queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;
52
- queryAllByA11yState: (accessibilityState: AccessibilityState) => QueryAllReturn;
53
- findByA11yState: (accessibilityState: AccessibilityState, waitForOptions?: WaitForOptions) => FindReturn;
54
- findAllByA11yState: (accessibilityState: AccessibilityState, waitForOptions?: WaitForOptions) => FindAllReturn;
55
- getByA11yValue: (a11yValue: A11yValue) => GetReturn;
56
- getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;
57
- queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;
58
- queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;
59
- findByA11yValue: (a11yValue: A11yValue, waitForOptions?: WaitForOptions) => FindReturn;
60
- findAllByA11yValue: (a11yValue: A11yValue, waitForOptions?: WaitForOptions) => FindAllReturn;
61
- };
62
- export declare function matchStringValue(prop: string | undefined, matcher: TextMatch): boolean;
63
- export declare function matchArrayValue(prop: Array<string> | undefined, matcher: string | Array<string>): boolean;
64
- export declare function matchObject<T extends Record<string, unknown>>(prop: T | undefined, matcher: T): boolean;
65
- export declare const a11yAPI: (instance: ReactTestInstance) => A11yAPI;
66
- export {};
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.a11yAPI = void 0;
7
- exports.matchArrayValue = matchArrayValue;
8
- exports.matchObject = matchObject;
9
- exports.matchStringValue = matchStringValue;
10
-
11
- var _makeA11yQuery = _interopRequireDefault(require("./makeA11yQuery"));
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- function matchStringValue(prop, matcher) {
16
- if (!prop) {
17
- return false;
18
- }
19
-
20
- if (typeof matcher === 'string') {
21
- return prop === matcher;
22
- }
23
-
24
- return Boolean(prop.match(matcher));
25
- }
26
-
27
- function matchArrayValue(prop, matcher) {
28
- if (!prop || matcher.length === 0) {
29
- return false;
30
- }
31
-
32
- if (typeof matcher === 'string') {
33
- return prop.includes(matcher);
34
- }
35
-
36
- return !matcher.some(e => !prop.includes(e));
37
- }
38
-
39
- function matchObject(prop, matcher) {
40
- return prop ? Object.keys(matcher).length !== 0 && Object.keys(prop).length !== 0 && !Object.keys(matcher).some(key => prop[key] !== matcher[key]) : false;
41
- }
42
-
43
- const a11yAPI = instance => ({ ...(0, _makeA11yQuery.default)('accessibilityLabel', {
44
- getBy: ['getByLabelText'],
45
- getAllBy: ['getAllByLabelText'],
46
- queryBy: ['queryByLabelText'],
47
- queryAllBy: ['queryAllByLabelText'],
48
- findBy: ['findByLabelText'],
49
- findAllBy: ['findAllByLabelText']
50
- }, matchStringValue)(instance),
51
- ...(0, _makeA11yQuery.default)('accessibilityHint', {
52
- getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],
53
- getAllBy: ['getAllByA11yHint', 'getAllByAccessibilityHint', 'getAllByHintText'],
54
- queryBy: ['queryByA11yHint', 'queryByAccessibilityHint', 'queryByHintText'],
55
- queryAllBy: ['queryAllByA11yHint', 'queryAllByAccessibilityHint', 'queryAllByHintText'],
56
- findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],
57
- findAllBy: ['findAllByA11yHint', 'findAllByAccessibilityHint', 'findAllByHintText']
58
- }, matchStringValue)(instance),
59
- ...(0, _makeA11yQuery.default)('accessibilityRole', {
60
- getBy: ['getByRole'],
61
- getAllBy: ['getAllByRole'],
62
- queryBy: ['queryByRole'],
63
- queryAllBy: ['queryAllByRole'],
64
- findBy: ['findByRole'],
65
- findAllBy: ['findAllByRole']
66
- }, matchStringValue)(instance),
67
- ...(0, _makeA11yQuery.default)('accessibilityStates', {
68
- getBy: ['getByA11yStates', 'getByAccessibilityStates'],
69
- getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],
70
- queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],
71
- queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],
72
- findBy: ['findByA11yStates', 'findByAccessibilityStates'],
73
- findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates']
74
- }, matchArrayValue)(instance),
75
- ...(0, _makeA11yQuery.default)('accessibilityState', {
76
- getBy: ['getByA11yState', 'getByAccessibilityState'],
77
- getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],
78
- queryBy: ['queryByA11yState', 'queryByAccessibilityState'],
79
- queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],
80
- findBy: ['findByA11yState', 'findByAccessibilityState'],
81
- findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState']
82
- }, matchObject)(instance),
83
- ...(0, _makeA11yQuery.default)('accessibilityValue', {
84
- getBy: ['getByA11yValue', 'getByAccessibilityValue'],
85
- getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],
86
- queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],
87
- queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],
88
- findBy: ['findByA11yValue', 'findByAccessibilityValue'],
89
- findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue']
90
- }, matchObject)(instance)
91
- });
92
-
93
- exports.a11yAPI = a11yAPI;
94
- //# sourceMappingURL=a11yAPI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/queries/a11yAPI.ts"],"names":["matchStringValue","prop","matcher","Boolean","match","matchArrayValue","length","includes","some","e","matchObject","Object","keys","key","a11yAPI","instance","getBy","getAllBy","queryBy","queryAllBy","findBy","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { AccessibilityRole, AccessibilityState } from 'react-native';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport makeA11yQuery from './makeA11yQuery';\n\ntype AccessibilityStateKey = keyof AccessibilityState;\ntype A11yValue = {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n};\n\ntype GetReturn = ReactTestInstance;\ntype GetAllReturn = Array<ReactTestInstance>;\ntype QueryReturn = ReactTestInstance | null;\ntype QueryAllReturn = Array<ReactTestInstance>;\ntype FindReturn = Promise<GetReturn>;\ntype FindAllReturn = Promise<GetAllReturn>;\n\nexport type A11yAPI = {\n // Label\n getByLabelText: (label: TextMatch) => GetReturn;\n getAllByLabelText: (label: TextMatch) => GetAllReturn;\n queryByLabelText: (label: TextMatch) => QueryReturn;\n queryAllByLabelText: (label: TextMatch) => QueryAllReturn;\n findByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByLabelText: (\n label: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Hint\n getByA11yHint: (a11yHint: TextMatch) => GetReturn;\n getByHintText: (a11yHint: TextMatch) => GetReturn;\n getAllByA11yHint: (a11yHint: TextMatch) => GetAllReturn;\n getAllByHintText: (a11yHint: TextMatch) => GetAllReturn;\n queryByA11yHint: (a11yHint: TextMatch) => QueryReturn;\n queryByHintText: (a11yHint: TextMatch) => QueryReturn;\n queryAllByA11yHint: (a11yHint: TextMatch) => QueryAllReturn;\n queryAllByHintText: (a11yHint: TextMatch) => QueryAllReturn;\n findByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yHint: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n findAllByHintText: (\n a11yHint: TextMatch,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Role\n getByRole: (role: AccessibilityRole | RegExp) => GetReturn;\n getAllByRole: (role: AccessibilityRole | RegExp) => GetAllReturn;\n queryByRole: (role: AccessibilityRole | RegExp) => QueryReturn;\n queryAllByRole: (role: AccessibilityRole | RegExp) => QueryAllReturn;\n findByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByRole: (\n role: AccessibilityRole,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // States\n getByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetReturn;\n getAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => GetAllReturn;\n queryByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryReturn;\n queryAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey | Array<AccessibilityStateKey>\n ) => QueryAllReturn;\n findByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yStates: (\n accessibilityStateKey: AccessibilityStateKey,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // State\n getByA11yState: (accessibilityState: AccessibilityState) => GetReturn;\n getAllByA11yState: (accessibilityState: AccessibilityState) => GetAllReturn;\n queryByA11yState: (accessibilityState: AccessibilityState) => QueryReturn;\n queryAllByA11yState: (\n accessibilityState: AccessibilityState\n ) => QueryAllReturn;\n findByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yState: (\n accessibilityState: AccessibilityState,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n\n // Value\n getByA11yValue: (a11yValue: A11yValue) => GetReturn;\n getAllByA11yValue: (a11yValue: A11yValue) => GetAllReturn;\n queryByA11yValue: (a11yValue: A11yValue) => QueryReturn;\n queryAllByA11yValue: (a11yValue: A11yValue) => QueryAllReturn;\n findByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindReturn;\n findAllByA11yValue: (\n a11yValue: A11yValue,\n waitForOptions?: WaitForOptions\n ) => FindAllReturn;\n};\n\nexport function matchStringValue(\n prop: string | undefined,\n matcher: TextMatch\n): boolean {\n if (!prop) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop === matcher;\n }\n\n return Boolean(prop.match(matcher));\n}\n\nexport function matchArrayValue(\n prop: Array<string> | undefined,\n matcher: string | Array<string>\n): boolean {\n if (!prop || matcher.length === 0) {\n return false;\n }\n\n if (typeof matcher === 'string') {\n return prop.includes(matcher);\n }\n\n return !matcher.some((e) => !prop.includes(e));\n}\n\nexport function matchObject<T extends Record<string, unknown>>(\n prop: T | undefined,\n matcher: T\n): boolean {\n return prop\n ? Object.keys(matcher).length !== 0 &&\n Object.keys(prop).length !== 0 &&\n !Object.keys(matcher).some((key) => prop[key] !== matcher[key])\n : false;\n}\n\nexport const a11yAPI = (instance: ReactTestInstance): A11yAPI =>\n ({\n ...makeA11yQuery(\n 'accessibilityLabel',\n {\n getBy: ['getByLabelText'],\n getAllBy: ['getAllByLabelText'],\n queryBy: ['queryByLabelText'],\n queryAllBy: ['queryAllByLabelText'],\n findBy: ['findByLabelText'],\n findAllBy: ['findAllByLabelText'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityHint',\n {\n getBy: ['getByA11yHint', 'getByAccessibilityHint', 'getByHintText'],\n getAllBy: [\n 'getAllByA11yHint',\n 'getAllByAccessibilityHint',\n 'getAllByHintText',\n ],\n queryBy: [\n 'queryByA11yHint',\n 'queryByAccessibilityHint',\n 'queryByHintText',\n ],\n queryAllBy: [\n 'queryAllByA11yHint',\n 'queryAllByAccessibilityHint',\n 'queryAllByHintText',\n ],\n findBy: ['findByA11yHint', 'findByAccessibilityHint', 'findByHintText'],\n findAllBy: [\n 'findAllByA11yHint',\n 'findAllByAccessibilityHint',\n 'findAllByHintText',\n ],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityRole',\n {\n getBy: ['getByRole'],\n getAllBy: ['getAllByRole'],\n queryBy: ['queryByRole'],\n queryAllBy: ['queryAllByRole'],\n findBy: ['findByRole'],\n findAllBy: ['findAllByRole'],\n },\n matchStringValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityStates',\n {\n getBy: ['getByA11yStates', 'getByAccessibilityStates'],\n getAllBy: ['getAllByA11yStates', 'getAllByAccessibilityStates'],\n queryBy: ['queryByA11yStates', 'queryByAccessibilityStates'],\n queryAllBy: ['queryAllByA11yStates', 'queryAllByAccessibilityStates'],\n findBy: ['findByA11yStates', 'findByAccessibilityStates'],\n findAllBy: ['findAllByA11yStates', 'findAllByAccessibilityStates'],\n },\n matchArrayValue\n )(instance),\n ...makeA11yQuery(\n 'accessibilityState',\n {\n getBy: ['getByA11yState', 'getByAccessibilityState'],\n getAllBy: ['getAllByA11yState', 'getAllByAccessibilityState'],\n queryBy: ['queryByA11yState', 'queryByAccessibilityState'],\n queryAllBy: ['queryAllByA11yState', 'queryAllByAccessibilityState'],\n findBy: ['findByA11yState', 'findByAccessibilityState'],\n findAllBy: ['findAllByA11yState', 'findAllByAccessibilityState'],\n },\n matchObject\n )(instance),\n ...makeA11yQuery(\n 'accessibilityValue',\n {\n getBy: ['getByA11yValue', 'getByAccessibilityValue'],\n getAllBy: ['getAllByA11yValue', 'getAllByAccessibilityValue'],\n queryBy: ['queryByA11yValue', 'queryByAccessibilityValue'],\n queryAllBy: ['queryAllByA11yValue', 'queryAllByAccessibilityValue'],\n findBy: ['findByA11yValue', 'findByAccessibilityValue'],\n findAllBy: ['findAllByA11yValue', 'findAllByAccessibilityValue'],\n },\n matchObject\n )(instance),\n } as any);\n"],"file":"a11yAPI.js"}
@@ -1,13 +0,0 @@
1
- import type { ReactTestInstance } from 'react-test-renderer';
2
- declare type QueryNames = {
3
- getBy: Array<string>;
4
- getAllBy: Array<string>;
5
- queryBy: Array<string>;
6
- queryAllBy: Array<string>;
7
- findBy: Array<string>;
8
- findAllBy: Array<string>;
9
- };
10
- declare const makeA11yQuery: <P extends unknown, M extends unknown>(name: string, queryNames: QueryNames, matcherFn: (prop: P, value: M) => boolean) => (instance: ReactTestInstance) => {
11
- [x: string]: Function;
12
- };
13
- export default makeA11yQuery;
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _waitFor = _interopRequireDefault(require("../waitFor"));
9
-
10
- var _errors = require("../helpers/errors");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- function isNodeValid(node) {
15
- return typeof node.type === 'string';
16
- }
17
-
18
- function makeAliases(aliases, query) {
19
- return aliases.map(alias => ({
20
- [alias]: query
21
- })).reduce((acc, query) => ({ ...acc,
22
- ...query
23
- }), {});
24
- }
25
-
26
- const makeA11yQuery = (name, queryNames, matcherFn) => instance => {
27
- const getBy = matcher => {
28
- try {
29
- return instance.find(node => isNodeValid(node) && matcherFn(node.props[name], matcher));
30
- } catch (error) {
31
- throw new _errors.ErrorWithStack((0, _errors.prepareErrorMessage)(error, name, matcher), getBy);
32
- }
33
- };
34
-
35
- const getAllBy = matcher => {
36
- const results = instance.findAll(node => isNodeValid(node) && matcherFn(node.props[name], matcher));
37
-
38
- if (results.length === 0) {
39
- throw new _errors.ErrorWithStack((0, _errors.prepareErrorMessage)(new Error('No instances found'), name, matcher), getAllBy);
40
- }
41
-
42
- return results;
43
- };
44
-
45
- const queryBy = matcher => {
46
- try {
47
- return getBy(matcher);
48
- } catch (error) {
49
- return (0, _errors.createQueryByError)(error, queryBy);
50
- }
51
- };
52
-
53
- const queryAllBy = matcher => {
54
- try {
55
- return getAllBy(matcher);
56
- } catch (error) {
57
- return [];
58
- }
59
- };
60
-
61
- const findBy = (matcher, waitForOptions) => {
62
- return (0, _waitFor.default)(() => getBy(matcher), waitForOptions);
63
- };
64
-
65
- const findAllBy = (matcher, waitForOptions) => {
66
- return (0, _waitFor.default)(() => getAllBy(matcher), waitForOptions);
67
- };
68
-
69
- return { ...makeAliases(queryNames.getBy, getBy),
70
- ...makeAliases(queryNames.getAllBy, getAllBy),
71
- ...makeAliases(queryNames.queryBy, queryBy),
72
- ...makeAliases(queryNames.queryAllBy, queryAllBy),
73
- ...makeAliases(queryNames.findBy, findBy),
74
- ...makeAliases(queryNames.findAllBy, findAllBy)
75
- };
76
- };
77
-
78
- var _default = makeA11yQuery;
79
- exports.default = _default;
80
- //# sourceMappingURL=makeA11yQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/queries/makeA11yQuery.ts"],"names":["isNodeValid","node","type","makeAliases","aliases","query","map","alias","reduce","acc","makeA11yQuery","name","queryNames","matcherFn","instance","getBy","matcher","find","props","error","ErrorWithStack","getAllBy","results","findAll","length","Error","queryBy","queryAllBy","findBy","waitForOptions","findAllBy"],"mappings":"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","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\nimport {\n ErrorWithStack,\n prepareErrorMessage,\n createQueryByError,\n} from '../helpers/errors';\n\nfunction isNodeValid(node: ReactTestInstance) {\n return typeof node.type === 'string';\n}\n\nfunction makeAliases(aliases: Array<string>, query: Function) {\n return aliases\n .map((alias) => ({ [alias]: query }))\n .reduce((acc, query) => ({ ...acc, ...query }), {});\n}\n\ntype QueryNames = {\n getBy: Array<string>;\n getAllBy: Array<string>;\n queryBy: Array<string>;\n queryAllBy: Array<string>;\n findBy: Array<string>;\n findAllBy: Array<string>;\n};\n\nconst makeA11yQuery = <P extends unknown, M extends unknown>(\n name: string,\n queryNames: QueryNames,\n matcherFn: (prop: P, value: M) => boolean\n) => (instance: ReactTestInstance) => {\n const getBy = (matcher: M) => {\n try {\n return instance.find(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n } catch (error) {\n throw new ErrorWithStack(\n prepareErrorMessage(error, name, matcher),\n getBy\n );\n }\n };\n\n const getAllBy = (matcher: M) => {\n const results = instance.findAll(\n (node) => isNodeValid(node) && matcherFn(node.props[name], matcher)\n );\n\n if (results.length === 0) {\n throw new ErrorWithStack(\n prepareErrorMessage(new Error('No instances found'), name, matcher),\n getAllBy\n );\n }\n\n return results;\n };\n\n const queryBy = (matcher: M) => {\n try {\n return getBy(matcher);\n } catch (error) {\n return createQueryByError(error, queryBy);\n }\n };\n\n const queryAllBy = (matcher: M) => {\n try {\n return getAllBy(matcher);\n } catch (error) {\n return [];\n }\n };\n\n const findBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getBy(matcher), waitForOptions);\n };\n\n const findAllBy = (matcher: M, waitForOptions?: WaitForOptions) => {\n return waitFor(() => getAllBy(matcher), waitForOptions);\n };\n\n return {\n ...makeAliases(queryNames.getBy, getBy),\n ...makeAliases(queryNames.getAllBy, getAllBy),\n ...makeAliases(queryNames.queryBy, queryBy),\n ...makeAliases(queryNames.queryAllBy, queryAllBy),\n ...makeAliases(queryNames.findBy, findBy),\n ...makeAliases(queryNames.findAllBy, findAllBy),\n };\n};\n\nexport default makeA11yQuery;\n"],"file":"makeA11yQuery.js"}