@testing-library/react-native 9.0.0-alpha.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +2 -2
  2. package/build/act.d.ts +3 -0
  3. package/build/act.js +2 -1
  4. package/build/act.js.map +1 -0
  5. package/build/cleanup.d.ts +5 -0
  6. package/build/cleanup.js +3 -2
  7. package/build/cleanup.js.map +1 -0
  8. package/build/fireEvent.d.ts +8 -0
  9. package/build/fireEvent.js +2 -1
  10. package/build/fireEvent.js.map +1 -0
  11. package/build/flushMicroTasks.d.ts +5 -0
  12. package/build/flushMicroTasks.js +2 -12
  13. package/build/flushMicroTasks.js.map +1 -0
  14. package/build/helpers/a11yAPI.d.ts +66 -0
  15. package/build/helpers/a11yAPI.js +16 -15
  16. package/build/helpers/a11yAPI.js.map +1 -0
  17. package/build/helpers/byDisplayValue.d.ts +6 -0
  18. package/build/helpers/byDisplayValue.js +2 -1
  19. package/build/helpers/byDisplayValue.js.map +1 -0
  20. package/build/helpers/byPlaceholderText.d.ts +6 -0
  21. package/build/helpers/byPlaceholderText.js +2 -1
  22. package/build/helpers/byPlaceholderText.js.map +1 -0
  23. package/build/helpers/byTestId.d.ts +6 -0
  24. package/build/helpers/byTestId.js +2 -1
  25. package/build/helpers/byTestId.js.map +1 -0
  26. package/build/helpers/byText.d.ts +10 -0
  27. package/build/helpers/byText.js +8 -5
  28. package/build/helpers/byText.js.map +1 -0
  29. package/build/helpers/debugDeep.d.ts +5 -0
  30. package/build/helpers/debugDeep.js +4 -1
  31. package/build/helpers/debugDeep.js.map +1 -0
  32. package/build/helpers/debugShallow.d.ts +6 -0
  33. package/build/helpers/debugShallow.js +4 -7
  34. package/build/helpers/debugShallow.js.map +1 -0
  35. package/build/helpers/errors.d.ts +10 -0
  36. package/build/helpers/errors.js +29 -9
  37. package/build/helpers/errors.js.map +1 -0
  38. package/build/helpers/filterNodeByType.d.ts +3 -0
  39. package/build/helpers/filterNodeByType.js +2 -1
  40. package/build/helpers/filterNodeByType.js.map +1 -0
  41. package/build/helpers/findByAPI.d.ts +17 -0
  42. package/build/helpers/findByAPI.js +2 -1
  43. package/build/helpers/findByAPI.js.map +1 -0
  44. package/build/helpers/format.d.ts +3 -0
  45. package/build/helpers/format.js +4 -3
  46. package/build/helpers/format.js.map +1 -0
  47. package/build/helpers/getByAPI.d.ts +31 -0
  48. package/build/helpers/getByAPI.js +4 -19
  49. package/build/helpers/getByAPI.js.map +1 -0
  50. package/build/helpers/makeA11yQuery.d.ts +13 -0
  51. package/build/helpers/makeA11yQuery.js +2 -1
  52. package/build/helpers/makeA11yQuery.js.map +1 -0
  53. package/build/helpers/makeQueries.d.ts +20 -0
  54. package/build/helpers/makeQueries.js +6 -3
  55. package/build/helpers/makeQueries.js.map +1 -0
  56. package/build/helpers/queryByAPI.d.ts +39 -0
  57. package/build/helpers/queryByAPI.js +3 -8
  58. package/build/helpers/queryByAPI.js.map +1 -0
  59. package/build/helpers/timers.d.ts +6 -0
  60. package/build/helpers/timers.js +9 -6
  61. package/build/helpers/timers.js.map +1 -0
  62. package/build/index.d.ts +1 -0
  63. package/build/index.flow.js +384 -0
  64. package/build/index.js +2 -1
  65. package/build/index.js.map +1 -0
  66. package/build/matches.d.ts +9 -0
  67. package/build/matches.js +3 -2
  68. package/build/matches.js.map +1 -0
  69. package/build/{pure.js.flow → pure.d.ts} +4 -8
  70. package/build/pure.js +14 -31
  71. package/build/pure.js.map +1 -0
  72. package/build/render.d.ts +145 -0
  73. package/build/render.js +14 -10
  74. package/build/render.js.map +1 -0
  75. package/build/renderHook.d.ts +17 -0
  76. package/build/renderHook.js +57 -0
  77. package/build/renderHook.js.map +1 -0
  78. package/build/shallow.d.ts +8 -0
  79. package/build/shallow.js +3 -9
  80. package/build/shallow.js.map +1 -0
  81. package/build/waitFor.d.ts +8 -0
  82. package/build/waitFor.js +32 -23
  83. package/build/waitFor.js.map +1 -0
  84. package/build/waitForElementToBeRemoved.d.ts +2 -0
  85. package/build/waitForElementToBeRemoved.js +2 -1
  86. package/build/waitForElementToBeRemoved.js.map +1 -0
  87. package/build/within.d.ts +127 -0
  88. package/build/within.js +3 -2
  89. package/build/within.js.map +1 -0
  90. package/package.json +25 -15
  91. package/typings/index.flow.js +384 -0
  92. package/build/act.js.flow +0 -9
  93. package/build/cleanup.js.flow +0 -13
  94. package/build/fireEvent.js.flow +0 -127
  95. package/build/flushMicroTasks.js.flow +0 -23
  96. package/build/helpers/a11yAPI.js.flow +0 -241
  97. package/build/helpers/byDisplayValue.js.flow +0 -66
  98. package/build/helpers/byPlaceholderText.js.flow +0 -62
  99. package/build/helpers/byTestId.js.flow +0 -50
  100. package/build/helpers/byText.js.flow +0 -104
  101. package/build/helpers/debugDeep.js.flow +0 -16
  102. package/build/helpers/debugShallow.js.flow +0 -20
  103. package/build/helpers/errors.js.flow +0 -82
  104. package/build/helpers/filterNodeByType.js.flow +0 -1
  105. package/build/helpers/findByAPI.js.flow +0 -76
  106. package/build/helpers/format.js.flow +0 -10
  107. package/build/helpers/getByAPI.js.flow +0 -157
  108. package/build/helpers/makeA11yQuery.js.flow +0 -98
  109. package/build/helpers/makeQueries.js.flow +0 -165
  110. package/build/helpers/queryByAPI.js.flow +0 -166
  111. package/build/helpers/timers.js.flow +0 -88
  112. package/build/index.js.flow +0 -18
  113. package/build/matches.js.flow +0 -41
  114. package/build/render.js.flow +0 -109
  115. package/build/shallow.js.flow +0 -26
  116. package/build/types.flow.js +0 -1
  117. package/build/types.flow.js.flow +0 -59
  118. package/build/waitFor.js.flow +0 -221
  119. package/build/waitForElementToBeRemoved.js.flow +0 -42
  120. package/build/within.js.flow +0 -18
  121. package/typings/index.d.ts +0 -432
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.ErrorWithStack = void 0;
6
7
  exports.copyStackTrace = copyStackTrace;
8
+ exports.prepareErrorMessage = exports.createQueryByError = exports.createLibraryNotSupportedError = void 0;
7
9
  exports.printDeprecationWarning = printDeprecationWarning;
8
10
  exports.throwRemovedFunctionError = throwRemovedFunctionError;
9
11
  exports.throwRenamedFunctionError = throwRenamedFunctionError;
10
- exports.createQueryByError = exports.prepareErrorMessage = exports.createLibraryNotSupportedError = exports.ErrorWithStack = void 0;
11
12
 
12
13
  var _prettyFormat = _interopRequireDefault(require("pretty-format"));
13
14
 
@@ -26,13 +27,21 @@ class ErrorWithStack extends Error {
26
27
 
27
28
  exports.ErrorWithStack = ErrorWithStack;
28
29
 
29
- const createLibraryNotSupportedError = error => new Error(`Currently the only supported library to search by text is "react-native".\n\n${error.message}`);
30
+ const createLibraryNotSupportedError = error => new Error(`Currently the only supported library to search by text is "react-native".\n\n${error instanceof Error ? error.message : ''}`);
30
31
 
31
32
  exports.createLibraryNotSupportedError = createLibraryNotSupportedError;
32
33
 
33
34
  const prepareErrorMessage = (error, name, value) => {
34
- // Strip info about custom predicate
35
- let errorMessage = error.message.replace(/ matching custom predicate[^]*/gm, '');
35
+ let errorMessage;
36
+
37
+ if (error instanceof Error) {
38
+ // Strip info about custom predicate
39
+ errorMessage = error.message.replace(/ matching custom predicate[^]*/gm, '');
40
+ } else if (error && typeof error === 'object') {
41
+ errorMessage = error.toString();
42
+ } else {
43
+ errorMessage = 'Caught unknown error';
44
+ }
36
45
 
37
46
  if (name && value) {
38
47
  errorMessage += ` with ${name} ${(0, _prettyFormat.default)(value, {
@@ -46,17 +55,27 @@ const prepareErrorMessage = (error, name, value) => {
46
55
  exports.prepareErrorMessage = prepareErrorMessage;
47
56
 
48
57
  const createQueryByError = (error, callsite) => {
49
- if (error.message.includes('No instances found')) {
50
- return null;
58
+ var _toString, _ref;
59
+
60
+ if (error instanceof Error) {
61
+ if (error.message.includes('No instances found')) {
62
+ return null;
63
+ }
64
+
65
+ throw new ErrorWithStack(error.message, callsite);
51
66
  }
52
67
 
53
- throw new ErrorWithStack(error.message, callsite);
68
+ throw new ErrorWithStack( // generic refining of `unknown` is very hard, you cannot do `'toString' in error` or anything like that
69
+ // Converting as any with extra safe optional chaining will do the job just as well
70
+ `Query: caught unknown error type: ${typeof error}, value: ${error === null || error === void 0 ? void 0 : (_toString = (_ref = error).toString) === null || _toString === void 0 ? void 0 : _toString.call(_ref)}`, callsite);
54
71
  };
55
72
 
56
73
  exports.createQueryByError = createQueryByError;
57
74
 
58
75
  function copyStackTrace(target, stackTraceSource) {
59
- target.stack = stackTraceSource.stack.replace(stackTraceSource.message, target.message);
76
+ if (target instanceof Error && stackTraceSource.stack) {
77
+ target.stack = stackTraceSource.stack.replace(stackTraceSource.message, target.message);
78
+ }
60
79
  }
61
80
 
62
81
  const warned = {};
@@ -80,4 +99,5 @@ function throwRemovedFunctionError(functionName, docsRef) {
80
99
 
81
100
  function throwRenamedFunctionError(functionName, newFunctionName) {
82
101
  throw new ErrorWithStack(`The "${functionName}" function has been renamed to "${newFunctionName}". Please replace all occurrences.`, throwRenamedFunctionError);
83
- }
102
+ }
103
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/errors.ts"],"names":["ErrorWithStack","Error","constructor","message","callsite","captureStackTrace","createLibraryNotSupportedError","error","prepareErrorMessage","name","value","errorMessage","replace","toString","min","createQueryByError","includes","copyStackTrace","target","stackTraceSource","stack","warned","printDeprecationWarning","functionName","console","warn","throwRemovedFunctionError","docsRef","throwRenamedFunctionError","newFunctionName"],"mappings":"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","sourcesContent":["import prettyFormat from 'pretty-format';\n\nexport class ErrorWithStack extends Error {\n constructor(message: string | undefined, callsite: Function) {\n super(message);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, callsite);\n }\n }\n}\n\nexport const createLibraryNotSupportedError = (error: unknown): Error =>\n new Error(\n `Currently the only supported library to search by text is \"react-native\".\\n\\n${\n error instanceof Error ? error.message : ''\n }`\n );\n\nexport const prepareErrorMessage = (\n // TS states that error caught in a catch close are of type `unknown`\n // most real cases will be `Error`, but better safe than sorry\n error: unknown,\n name?: string,\n value?: unknown\n): string => {\n let errorMessage: string;\n if (error instanceof Error) {\n // Strip info about custom predicate\n errorMessage = error.message.replace(\n / matching custom predicate[^]*/gm,\n ''\n );\n } else if (error && typeof error === 'object') {\n errorMessage = error.toString();\n } else {\n errorMessage = 'Caught unknown error';\n }\n\n if (name && value) {\n errorMessage += ` with ${name} ${prettyFormat(value, { min: true })}`;\n }\n return errorMessage;\n};\n\nexport const createQueryByError = (\n error: NonNullable<unknown>,\n callsite: Function\n): null => {\n if (error instanceof Error) {\n if (error.message.includes('No instances found')) {\n return null;\n }\n throw new ErrorWithStack(error.message, callsite);\n }\n\n throw new ErrorWithStack(\n // generic refining of `unknown` is very hard, you cannot do `'toString' in error` or anything like that\n // Converting as any with extra safe optional chaining will do the job just as well\n `Query: caught unknown error type: ${typeof error}, value: ${(error as any)?.toString?.()}`,\n callsite\n );\n};\n\nexport function copyStackTrace(target: unknown, stackTraceSource: Error) {\n if (target instanceof Error && stackTraceSource.stack) {\n target.stack = stackTraceSource.stack.replace(\n stackTraceSource.message,\n target.message\n );\n }\n}\n\nconst warned: { [functionName: string]: boolean } = {};\n\nexport function printDeprecationWarning(functionName: string) {\n if (warned[functionName]) {\n return;\n }\n\n // eslint-disable-next-line no-console\n console.warn(`\n Deprecation Warning:\n Use of ${functionName} is not recommended and will be deleted in future versions of @testing-library/react-native.\n `);\n\n warned[functionName] = true;\n}\n\nexport function throwRemovedFunctionError(\n functionName: string,\n docsRef: string\n) {\n throw new Error(\n `\"${functionName}\" has been removed.\\n\\nPlease consult: https://callstack.github.io/react-native-testing-library/docs/${docsRef}`\n );\n}\n\nexport function throwRenamedFunctionError(\n functionName: string,\n newFunctionName: string\n) {\n throw new ErrorWithStack(\n `The \"${functionName}\" function has been renamed to \"${newFunctionName}\". Please replace all occurrences.`,\n throwRenamedFunctionError\n );\n}\n"],"file":"errors.js"}
@@ -0,0 +1,3 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import * as React from 'react';
3
+ export declare const filterNodeByType: (node: ReactTestInstance | React.ReactElement, type: React.ElementType) => boolean;
@@ -7,4 +7,5 @@ exports.filterNodeByType = void 0;
7
7
 
8
8
  const filterNodeByType = (node, type) => node.type === type;
9
9
 
10
- exports.filterNodeByType = filterNodeByType;
10
+ exports.filterNodeByType = filterNodeByType;
11
+ //# sourceMappingURL=filterNodeByType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/filterNodeByType.ts"],"names":["filterNodeByType","node","type"],"mappings":";;;;;;;AAGO,MAAMA,gBAAgB,GAAG,CAC9BC,IAD8B,EAE9BC,IAF8B,KAG3BD,IAAI,CAACC,IAAL,KAAcA,IAHZ","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\n\nexport const filterNodeByType = (\n node: ReactTestInstance | React.ReactElement,\n type: React.ElementType\n) => node.type === type;\n"],"file":"filterNodeByType.js"}
@@ -0,0 +1,17 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import type { WaitForOptions } from '../waitFor';
3
+ import type { TextMatch } from '../matches';
4
+ import type { TextMatchOptions } from './byText';
5
+ export declare type FindByAPI = {
6
+ findAllByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<Array<ReactTestInstance>>;
7
+ findAllByPlaceholder: () => void;
8
+ findAllByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<Array<ReactTestInstance>>;
9
+ findAllByTestId: (testId: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<Array<ReactTestInstance>>;
10
+ findAllByText: (text: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<Array<ReactTestInstance>>;
11
+ findByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
12
+ findByPlaceholder: () => void;
13
+ findByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
14
+ findByTestId: (testId: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
15
+ findByText: (text: TextMatch, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReactTestInstance>;
16
+ };
17
+ export declare const findByAPI: (instance: ReactTestInstance) => FindByAPI;
@@ -29,4 +29,5 @@ const findByAPI = instance => ({
29
29
  findAllByPlaceholder: () => (0, _errors.throwRenamedFunctionError)('findAllByPlaceholder', 'findAllByPlaceholderText')
30
30
  });
31
31
 
32
- exports.findByAPI = findByAPI;
32
+ exports.findByAPI = findByAPI;
33
+ //# sourceMappingURL=findByAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/findByAPI.ts"],"names":["findByAPI","instance","findByTestId","findByText","findByPlaceholderText","findByDisplayValue","findAllByTestId","findAllByText","findAllByPlaceholderText","findAllByDisplayValue","findByPlaceholder","findAllByPlaceholder"],"mappings":";;;;;;;AAIA;;AACA;;AACA;;AAIA;;AACA;;AA+CO,MAAMA,SAAS,GAAIC,QAAD,KAA6C;AACpEC,EAAAA,YAAY,EAAE,4BAAaD,QAAb,CADsD;AAEpEE,EAAAA,UAAU,EAAE,wBAAWF,QAAX,CAFwD;AAGpEG,EAAAA,qBAAqB,EAAE,8CAAsBH,QAAtB,CAH6C;AAIpEI,EAAAA,kBAAkB,EAAE,wCAAmBJ,QAAnB,CAJgD;AAKpEK,EAAAA,eAAe,EAAE,+BAAgBL,QAAhB,CALmD;AAMpEM,EAAAA,aAAa,EAAE,2BAAcN,QAAd,CANqD;AAOpEO,EAAAA,wBAAwB,EAAE,iDAAyBP,QAAzB,CAP0C;AAQpEQ,EAAAA,qBAAqB,EAAE,2CAAsBR,QAAtB,CAR6C;AAUpE;AACAS,EAAAA,iBAAiB,EAAE,MACjB,uCAA0B,mBAA1B,EAA+C,uBAA/C,CAZkE;AAapEC,EAAAA,oBAAoB,EAAE,MACpB,uCACE,sBADF,EAEE,0BAFF;AAdkE,CAA7C,CAAlB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport type { WaitForOptions } from '../waitFor';\nimport type { TextMatch } from '../matches';\nimport type { TextMatchOptions } from './byText';\nimport { findAllByTestId, findByTestId } from './byTestId';\nimport { findAllByText, findByText } from './byText';\nimport {\n findAllByPlaceholderText,\n findByPlaceholderText,\n} from './byPlaceholderText';\nimport { findAllByDisplayValue, findByDisplayValue } from './byDisplayValue';\nimport { throwRenamedFunctionError } from './errors';\n\nexport type FindByAPI = {\n findAllByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<Array<ReactTestInstance>>;\n findAllByPlaceholder: () => void;\n findAllByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<Array<ReactTestInstance>>;\n findAllByTestId: (\n testId: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<Array<ReactTestInstance>>;\n findAllByText: (\n text: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<Array<ReactTestInstance>>;\n findByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<ReactTestInstance>;\n findByPlaceholder: () => void;\n findByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<ReactTestInstance>;\n findByTestId: (\n testId: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<ReactTestInstance>;\n findByText: (\n text: TextMatch,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n ) => Promise<ReactTestInstance>;\n};\n\nexport const findByAPI = (instance: ReactTestInstance): FindByAPI => ({\n findByTestId: findByTestId(instance),\n findByText: findByText(instance),\n findByPlaceholderText: findByPlaceholderText(instance),\n findByDisplayValue: findByDisplayValue(instance),\n findAllByTestId: findAllByTestId(instance),\n findAllByText: findAllByText(instance),\n findAllByPlaceholderText: findAllByPlaceholderText(instance),\n findAllByDisplayValue: findAllByDisplayValue(instance),\n\n // Renamed\n findByPlaceholder: () =>\n throwRenamedFunctionError('findByPlaceholder', 'findByPlaceholderText'),\n findAllByPlaceholder: () =>\n throwRenamedFunctionError(\n 'findAllByPlaceholder',\n 'findAllByPlaceholderText'\n ),\n});\n"],"file":"findByAPI.js"}
@@ -0,0 +1,3 @@
1
+ import type { ReactTestRendererJSON } from 'react-test-renderer';
2
+ declare const format: (input: ReactTestRendererJSON | ReactTestRendererJSON[]) => string;
3
+ export default format;
@@ -7,9 +7,9 @@ exports.default = void 0;
7
7
 
8
8
  var _prettyFormat = _interopRequireWildcard(require("pretty-format"));
9
9
 
10
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
 
12
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
 
14
14
  const format = input => (0, _prettyFormat.default)(input, {
15
15
  plugins: [_prettyFormat.plugins.ReactTestComponent, _prettyFormat.plugins.ReactElement],
@@ -17,4 +17,5 @@ const format = input => (0, _prettyFormat.default)(input, {
17
17
  });
18
18
 
19
19
  var _default = format;
20
- exports.default = _default;
20
+ exports.default = _default;
21
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/format.ts"],"names":["format","input","plugins","ReactTestComponent","ReactElement","highlight"],"mappings":";;;;;;;AACA;;;;;;AAEA,MAAMA,MAAM,GAAIC,KAAD,IACb,2BAAaA,KAAb,EAAoB;AAClBC,EAAAA,OAAO,EAAE,CAACA,sBAAQC,kBAAT,EAA6BD,sBAAQE,YAArC,CADS;AAElBC,EAAAA,SAAS,EAAE;AAFO,CAApB,CADF;;eAMeL,M","sourcesContent":["import type { ReactTestRendererJSON } from 'react-test-renderer';\nimport prettyFormat, { plugins } from 'pretty-format';\n\nconst format = (input: ReactTestRendererJSON | ReactTestRendererJSON[]) =>\n prettyFormat(input, {\n plugins: [plugins.ReactTestComponent, plugins.ReactElement],\n highlight: true,\n });\n\nexport default format;\n"],"file":"format.js"}
@@ -0,0 +1,31 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import * as React from 'react';
3
+ import type { TextMatch } from '../matches';
4
+ import type { TextMatchOptions } from './byText';
5
+ export declare type GetByAPI = {
6
+ getByText: (text: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance;
7
+ getByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance;
8
+ getByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance;
9
+ getByTestId: (testID: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance;
10
+ getAllByTestId: (testID: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
11
+ getAllByText: (text: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
12
+ getAllByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
13
+ getAllByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
14
+ UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;
15
+ UNSAFE_getAllByType: <P>(type: React.ComponentType<P>) => Array<ReactTestInstance>;
16
+ UNSAFE_getByProps: (props: {
17
+ [key: string]: any;
18
+ }) => ReactTestInstance;
19
+ UNSAFE_getAllByProps: (props: {
20
+ [key: string]: any;
21
+ }) => Array<ReactTestInstance>;
22
+ };
23
+ export declare const UNSAFE_getByType: (instance: ReactTestInstance) => (type: React.ComponentType<any>) => ReactTestInstance;
24
+ export declare const UNSAFE_getByProps: (instance: ReactTestInstance) => (props: {
25
+ [propName: string]: any;
26
+ }) => ReactTestInstance;
27
+ export declare const UNSAFE_getAllByType: (instance: ReactTestInstance) => (type: React.ComponentType<any>) => Array<ReactTestInstance>;
28
+ export declare const UNSAFE_getAllByProps: (instance: ReactTestInstance) => (props: {
29
+ [propName: string]: any;
30
+ }) => Array<ReactTestInstance>;
31
+ export declare const getByAPI: (instance: ReactTestInstance) => GetByAPI;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getByAPI = exports.UNSAFE_getAllByProps = exports.UNSAFE_getAllByType = exports.UNSAFE_getByProps = exports.UNSAFE_getByType = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
6
+ exports.getByAPI = exports.UNSAFE_getByType = exports.UNSAFE_getByProps = exports.UNSAFE_getAllByType = exports.UNSAFE_getAllByProps = void 0;
9
7
 
10
8
  var _prettyFormat = _interopRequireDefault(require("pretty-format"));
11
9
 
@@ -21,10 +19,6 @@ var _byDisplayValue = require("./byDisplayValue");
21
19
 
22
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
21
 
24
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
25
-
26
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
22
  const UNSAFE_getByType = instance => function getByTypeFn(type) {
29
23
  try {
30
24
  return instance.findByType(type);
@@ -82,17 +76,8 @@ const getByAPI = instance => ({
82
76
  UNSAFE_getByType: UNSAFE_getByType(instance),
83
77
  UNSAFE_getAllByType: UNSAFE_getAllByType(instance),
84
78
  UNSAFE_getByProps: UNSAFE_getByProps(instance),
85
- UNSAFE_getAllByProps: UNSAFE_getAllByProps(instance),
86
- // Removed
87
- getByName: () => (0, _errors.throwRemovedFunctionError)('getByName', 'migration-v2#removed-functions'),
88
- getAllByName: () => (0, _errors.throwRemovedFunctionError)('getAllByName', 'migration-v2#removed-functions'),
89
- getByType: () => (0, _errors.throwRemovedFunctionError)('getByType', 'migration-v2#removed-functions'),
90
- getAllByType: () => (0, _errors.throwRemovedFunctionError)('getAllByType', 'migration-v2#removed-functions'),
91
- getByProps: () => (0, _errors.throwRemovedFunctionError)('getByProps', 'migration-v2#removed-functions'),
92
- getAllByProps: () => (0, _errors.throwRemovedFunctionError)('getAllByProps', 'migration-v2#removed-functions'),
93
- // Renamed
94
- getByPlaceholder: () => (0, _errors.throwRenamedFunctionError)('getByPlaceholder', 'getByPlaceholderText'),
95
- getAllByPlaceholder: () => (0, _errors.throwRenamedFunctionError)('getAllByPlaceholder', 'getByPlaceholderText')
79
+ UNSAFE_getAllByProps: UNSAFE_getAllByProps(instance)
96
80
  });
97
81
 
98
- exports.getByAPI = getByAPI;
82
+ exports.getByAPI = getByAPI;
83
+ //# sourceMappingURL=getByAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/getByAPI.ts"],"names":["UNSAFE_getByType","instance","getByTypeFn","type","findByType","error","ErrorWithStack","UNSAFE_getByProps","getByPropsFn","props","findByProps","UNSAFE_getAllByType","getAllByTypeFn","results","findAllByType","length","UNSAFE_getAllByProps","getAllByPropsFn","findAllByProps","getByAPI","getByText","getByPlaceholderText","getByDisplayValue","getByTestId","getAllByText","getAllByPlaceholderText","getAllByDisplayValue","getAllByTestId"],"mappings":";;;;;;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AAIA;;;;AAgDO,MAAMA,gBAAgB,GAC3BC,QAD8B,IAG9B,SAASC,WAAT,CAAqBC,IAArB,EAAqD;AACnD,MAAI;AACF,WAAOF,QAAQ,CAACG,UAAT,CAAoBD,IAApB,CAAP;AACD,GAFD,CAEE,OAAOE,KAAP,EAAc;AACd,UAAM,IAAIC,sBAAJ,CAAmB,iCAAoBD,KAApB,CAAnB,EAA+CH,WAA/C,CAAN;AACD;AACF,CATI;;;;AAWA,MAAMK,iBAAiB,GAC5BN,QAD+B,IAG/B,SAASO,YAAT,CAAsBC,KAAtB,EAA0D;AACxD,MAAI;AACF,WAAOR,QAAQ,CAACS,WAAT,CAAqBD,KAArB,CAAP;AACD,GAFD,CAEE,OAAOJ,KAAP,EAAc;AACd,UAAM,IAAIC,sBAAJ,CAAmB,iCAAoBD,KAApB,CAAnB,EAA+CG,YAA/C,CAAN;AACD;AACF,CATI;;;;AAWA,MAAMG,mBAAmB,GAC9BV,QADiC,IAGjC,SAASW,cAAT,CAAwBT,IAAxB,EAAwD;AACtD,QAAMU,OAAO,GAAGZ,QAAQ,CAACa,aAAT,CAAuBX,IAAvB,CAAhB;;AACA,MAAIU,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIT,sBAAJ,CAAmB,oBAAnB,EAAyCM,cAAzC,CAAN;AACD;;AACD,SAAOC,OAAP;AACD,CATI;;;;AAWA,MAAMG,oBAAoB,GAC/Bf,QADkC,IAGlC,SAASgB,eAAT,CAAyBR,KAAzB,EAA6D;AAC3D,QAAMI,OAAO,GAAGZ,QAAQ,CAACiB,cAAT,CAAwBT,KAAxB,CAAhB;;AACA,MAAII,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;AACxB,UAAM,IAAIT,sBAAJ,CACH,mCAAkC,2BAAaG,KAAb,CAAoB,EADnD,EAEJQ,eAFI,CAAN;AAID;;AACD,SAAOJ,OAAP;AACD,CAZI;;;;AAcA,MAAMM,QAAQ,GAAIlB,QAAD,KAA4C;AAClEmB,EAAAA,SAAS,EAAE,uBAAUnB,QAAV,CADuD;AAElEoB,EAAAA,oBAAoB,EAAE,6CAAqBpB,QAArB,CAF4C;AAGlEqB,EAAAA,iBAAiB,EAAE,uCAAkBrB,QAAlB,CAH+C;AAIlEsB,EAAAA,WAAW,EAAE,2BAAYtB,QAAZ,CAJqD;AAKlEuB,EAAAA,YAAY,EAAE,0BAAavB,QAAb,CALoD;AAMlEwB,EAAAA,uBAAuB,EAAE,gDAAwBxB,QAAxB,CANyC;AAOlEyB,EAAAA,oBAAoB,EAAE,0CAAqBzB,QAArB,CAP4C;AAQlE0B,EAAAA,cAAc,EAAE,8BAAe1B,QAAf,CARkD;AAUlE;AACAD,EAAAA,gBAAgB,EAAEA,gBAAgB,CAACC,QAAD,CAXgC;AAYlEU,EAAAA,mBAAmB,EAAEA,mBAAmB,CAACV,QAAD,CAZ0B;AAalEM,EAAAA,iBAAiB,EAAEA,iBAAiB,CAACN,QAAD,CAb8B;AAclEe,EAAAA,oBAAoB,EAAEA,oBAAoB,CAACf,QAAD;AAdwB,CAA5C,CAAjB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\nimport prettyFormat from 'pretty-format';\nimport type { TextMatch } from '../matches';\nimport { ErrorWithStack, prepareErrorMessage } from './errors';\nimport { getAllByTestId, getByTestId } from './byTestId';\nimport { getAllByText, getByText } from './byText';\nimport {\n getAllByPlaceholderText,\n getByPlaceholderText,\n} from './byPlaceholderText';\nimport { getAllByDisplayValue, getByDisplayValue } from './byDisplayValue';\nimport type { TextMatchOptions } from './byText';\n\nexport type GetByAPI = {\n getByText: (\n text: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance;\n getByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance;\n getByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance;\n getByTestId: (\n testID: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance;\n getAllByTestId: (\n testID: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n getAllByText: (\n text: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n getAllByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n getAllByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n\n // Unsafe aliases\n UNSAFE_getByType: <P>(type: React.ComponentType<P>) => ReactTestInstance;\n UNSAFE_getAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n UNSAFE_getByProps: (props: { [key: string]: any }) => ReactTestInstance;\n UNSAFE_getAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n};\n\nexport const UNSAFE_getByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance) =>\n function getByTypeFn(type: React.ComponentType<any>) {\n try {\n return instance.findByType(type);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByTypeFn);\n }\n };\n\nexport const UNSAFE_getByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance) =>\n function getByPropsFn(props: { [propName: string]: any }) {\n try {\n return instance.findByProps(props);\n } catch (error) {\n throw new ErrorWithStack(prepareErrorMessage(error), getByPropsFn);\n }\n };\n\nexport const UNSAFE_getAllByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) =>\n function getAllByTypeFn(type: React.ComponentType<any>) {\n const results = instance.findAllByType(type);\n if (results.length === 0) {\n throw new ErrorWithStack('No instances found', getAllByTypeFn);\n }\n return results;\n };\n\nexport const UNSAFE_getAllByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => Array<ReactTestInstance>) =>\n function getAllByPropsFn(props: { [propName: string]: any }) {\n const results = instance.findAllByProps(props);\n if (results.length === 0) {\n throw new ErrorWithStack(\n `No instances found with props:\\n${prettyFormat(props)}`,\n getAllByPropsFn\n );\n }\n return results;\n };\n\nexport const getByAPI = (instance: ReactTestInstance): GetByAPI => ({\n getByText: getByText(instance),\n getByPlaceholderText: getByPlaceholderText(instance),\n getByDisplayValue: getByDisplayValue(instance),\n getByTestId: getByTestId(instance),\n getAllByText: getAllByText(instance),\n getAllByPlaceholderText: getAllByPlaceholderText(instance),\n getAllByDisplayValue: getAllByDisplayValue(instance),\n getAllByTestId: getAllByTestId(instance),\n\n // Unsafe\n UNSAFE_getByType: UNSAFE_getByType(instance),\n UNSAFE_getAllByType: UNSAFE_getAllByType(instance),\n UNSAFE_getByProps: UNSAFE_getByProps(instance),\n UNSAFE_getAllByProps: UNSAFE_getAllByProps(instance),\n});\n"],"file":"getByAPI.js"}
@@ -0,0 +1,13 @@
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;
@@ -76,4 +76,5 @@ const makeA11yQuery = (name, queryNames, matcherFn) => instance => {
76
76
  };
77
77
 
78
78
  var _default = makeA11yQuery;
79
- exports.default = _default;
79
+ exports.default = _default;
80
+ //# sourceMappingURL=makeA11yQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/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":";;;;;;;AACA;;AAEA;;;;AAMA,SAASA,WAAT,CAAqBC,IAArB,EAA8C;AAC5C,SAAO,OAAOA,IAAI,CAACC,IAAZ,KAAqB,QAA5B;AACD;;AAED,SAASC,WAAT,CAAqBC,OAArB,EAA6CC,KAA7C,EAA8D;AAC5D,SAAOD,OAAO,CACXE,GADI,CACCC,KAAD,KAAY;AAAE,KAACA,KAAD,GAASF;AAAX,GAAZ,CADA,EAEJG,MAFI,CAEG,CAACC,GAAD,EAAMJ,KAAN,MAAiB,EAAE,GAAGI,GAAL;AAAU,OAAGJ;AAAb,GAAjB,CAFH,EAE2C,EAF3C,CAAP;AAGD;;AAWD,MAAMK,aAAa,GAAG,CACpBC,IADoB,EAEpBC,UAFoB,EAGpBC,SAHoB,KAIhBC,QAAD,IAAiC;AACpC,QAAMC,KAAK,GAAIC,OAAD,IAAgB;AAC5B,QAAI;AACF,aAAOF,QAAQ,CAACG,IAAT,CACJhB,IAAD,IAAUD,WAAW,CAACC,IAAD,CAAX,IAAqBY,SAAS,CAACZ,IAAI,CAACiB,KAAL,CAAWP,IAAX,CAAD,EAAmBK,OAAnB,CADnC,CAAP;AAGD,KAJD,CAIE,OAAOG,KAAP,EAAc;AACd,YAAM,IAAIC,sBAAJ,CACJ,iCAAoBD,KAApB,EAA2BR,IAA3B,EAAiCK,OAAjC,CADI,EAEJD,KAFI,CAAN;AAID;AACF,GAXD;;AAaA,QAAMM,QAAQ,GAAIL,OAAD,IAAgB;AAC/B,UAAMM,OAAO,GAAGR,QAAQ,CAACS,OAAT,CACbtB,IAAD,IAAUD,WAAW,CAACC,IAAD,CAAX,IAAqBY,SAAS,CAACZ,IAAI,CAACiB,KAAL,CAAWP,IAAX,CAAD,EAAmBK,OAAnB,CAD1B,CAAhB;;AAIA,QAAIM,OAAO,CAACE,MAAR,KAAmB,CAAvB,EAA0B;AACxB,YAAM,IAAIJ,sBAAJ,CACJ,iCAAoB,IAAIK,KAAJ,CAAU,oBAAV,CAApB,EAAqDd,IAArD,EAA2DK,OAA3D,CADI,EAEJK,QAFI,CAAN;AAID;;AAED,WAAOC,OAAP;AACD,GAbD;;AAeA,QAAMI,OAAO,GAAIV,OAAD,IAAgB;AAC9B,QAAI;AACF,aAAOD,KAAK,CAACC,OAAD,CAAZ;AACD,KAFD,CAEE,OAAOG,KAAP,EAAc;AACd,aAAO,gCAAmBA,KAAnB,EAA0BO,OAA1B,CAAP;AACD;AACF,GAND;;AAQA,QAAMC,UAAU,GAAIX,OAAD,IAAgB;AACjC,QAAI;AACF,aAAOK,QAAQ,CAACL,OAAD,CAAf;AACD,KAFD,CAEE,OAAOG,KAAP,EAAc;AACd,aAAO,EAAP;AACD;AACF,GAND;;AAQA,QAAMS,MAAM,GAAG,CAACZ,OAAD,EAAaa,cAAb,KAAiD;AAC9D,WAAO,sBAAQ,MAAMd,KAAK,CAACC,OAAD,CAAnB,EAA8Ba,cAA9B,CAAP;AACD,GAFD;;AAIA,QAAMC,SAAS,GAAG,CAACd,OAAD,EAAaa,cAAb,KAAiD;AACjE,WAAO,sBAAQ,MAAMR,QAAQ,CAACL,OAAD,CAAtB,EAAiCa,cAAjC,CAAP;AACD,GAFD;;AAIA,SAAO,EACL,GAAG1B,WAAW,CAACS,UAAU,CAACG,KAAZ,EAAmBA,KAAnB,CADT;AAEL,OAAGZ,WAAW,CAACS,UAAU,CAACS,QAAZ,EAAsBA,QAAtB,CAFT;AAGL,OAAGlB,WAAW,CAACS,UAAU,CAACc,OAAZ,EAAqBA,OAArB,CAHT;AAIL,OAAGvB,WAAW,CAACS,UAAU,CAACe,UAAZ,EAAwBA,UAAxB,CAJT;AAKL,OAAGxB,WAAW,CAACS,UAAU,CAACgB,MAAZ,EAAoBA,MAApB,CALT;AAML,OAAGzB,WAAW,CAACS,UAAU,CAACkB,SAAZ,EAAuBA,SAAvB;AANT,GAAP;AAQD,CAjED;;eAmEepB,a","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 './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"}
@@ -0,0 +1,20 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import type { WaitForOptions } from '../waitFor';
3
+ import type { TextMatchOptions } from './byText';
4
+ declare type QueryFunction<ArgType, ReturnType> = (instance: ReactTestInstance) => (args: ArgType, queryOptions?: TextMatchOptions) => ReturnType;
5
+ declare type FindQueryFunction<ArgType, ReturnType> = (instance: ReactTestInstance) => (args: ArgType, queryOptions?: TextMatchOptions & WaitForOptions, waitForOptions?: WaitForOptions) => Promise<ReturnType>;
6
+ declare type QueryAllByQuery<QueryArg> = QueryFunction<QueryArg, Array<ReactTestInstance>>;
7
+ declare type QueryByQuery<QueryArg> = QueryFunction<QueryArg, null | ReactTestInstance>;
8
+ declare type GetAllByQuery<QueryArg> = QueryFunction<QueryArg, Array<ReactTestInstance>>;
9
+ declare type GetByQuery<QueryArg> = QueryFunction<QueryArg, ReactTestInstance>;
10
+ declare type FindAllByQuery<QueryArg> = FindQueryFunction<QueryArg, Array<ReactTestInstance>>;
11
+ declare type FindByQuery<QueryArg> = FindQueryFunction<QueryArg, ReactTestInstance>;
12
+ export declare type Queries<QueryArg> = {
13
+ getBy: GetByQuery<QueryArg>;
14
+ getAllBy: GetAllByQuery<QueryArg>;
15
+ queryBy: QueryByQuery<QueryArg>;
16
+ findBy: FindByQuery<QueryArg>;
17
+ findAllBy: FindAllByQuery<QueryArg>;
18
+ };
19
+ export declare function makeQueries<QueryArg>(queryAllByQuery: QueryAllByQuery<QueryArg>, getMissingError: (args: QueryArg) => string, getMultipleError: (args: QueryArg) => string): Queries<QueryArg>;
20
+ export {};
@@ -23,12 +23,14 @@ const extractDeprecatedWaitForOptionUsage = queryOptions => {
23
23
  stackTraceError: queryOptions.stackTraceError
24
24
  };
25
25
  deprecatedKeys.forEach(key => {
26
- if (queryOptions[key]) {
26
+ const option = queryOptions[key];
27
+
28
+ if (option) {
27
29
  // eslint-disable-next-line no-console
28
30
  console.warn(`Use of option "${key}" in a findBy* query's second parameter, TextMatchOptions, is deprecated. Please pass this option in the third, WaitForOptions, parameter.
29
31
  Example:
30
32
 
31
- findByText(text, {}, { ${key}: ${queryOptions[key].toString()} })`);
33
+ findByText(text, {}, { ${key}: ${option.toString()} })`);
32
34
  }
33
35
  });
34
36
  return waitForOptions;
@@ -105,4 +107,5 @@ function makeQueries(queryAllByQuery, getMissingError, getMultipleError) {
105
107
  findBy: findByQuery,
106
108
  findAllBy: findAllByQuery
107
109
  };
108
- }
110
+ }
111
+ //# sourceMappingURL=makeQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/makeQueries.ts"],"names":["deprecatedKeys","extractDeprecatedWaitForOptionUsage","queryOptions","waitForOptions","timeout","interval","stackTraceError","forEach","key","option","console","warn","toString","makeQueries","queryAllByQuery","getMissingError","getMultipleError","getAllByQuery","instance","getAllFn","args","results","length","ErrorWithStack","queryByQuery","singleQueryFn","getByQuery","getFn","findAllByQuery","findAllFn","deprecatedWaitForOptions","findByQuery","findFn","getBy","getAllBy","queryBy","findBy","findAllBy"],"mappings":";;;;;;;AACA;;AAEA;;;;AAyCA;AACA;AACA,MAAMA,cAAwC,GAAG,CAC/C,SAD+C,EAE/C,UAF+C,EAG/C,iBAH+C,CAAjD;;AAKA,MAAMC,mCAAmC,GAAIC,YAAD,IAAmC;AAC7E,MAAIA,YAAJ,EAAkB;AAChB,UAAMC,cAA8B,GAAG;AACrCC,MAAAA,OAAO,EAAEF,YAAY,CAACE,OADe;AAErCC,MAAAA,QAAQ,EAAEH,YAAY,CAACG,QAFc;AAGrCC,MAAAA,eAAe,EAAEJ,YAAY,CAACI;AAHO,KAAvC;AAKAN,IAAAA,cAAc,CAACO,OAAf,CAAwBC,GAAD,IAAS;AAC9B,YAAMC,MAAM,GAAGP,YAAY,CAACM,GAAD,CAA3B;;AACA,UAAIC,MAAJ,EAAY;AACV;AACAC,QAAAA,OAAO,CAACC,IAAR,CACG,kBAAiBH,GAAI;AAChC;AACA;AACA,2BAA2BA,GAAI,KAAIC,MAAM,CAACG,QAAP,EAAkB,KAJ7C;AAMD;AACF,KAXD;AAYA,WAAOT,cAAP;AACD;AACF,CArBD;;AAuBO,SAASU,WAAT,CACLC,eADK,EAELC,eAFK,EAGLC,gBAHK,EAIc;AACnB,WAASC,aAAT,CAAuBC,QAAvB,EAAoD;AAClD,WAAO,SAASC,QAAT,CAAkBC,IAAlB,EAAkClB,YAAlC,EAAmE;AACxE,YAAMmB,OAAO,GAAGP,eAAe,CAACI,QAAD,CAAf,CAA0BE,IAA1B,EAAgClB,YAAhC,CAAhB;;AAEA,UAAImB,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,cAAM,IAAIC,sBAAJ,CAAmBR,eAAe,CAACK,IAAD,CAAlC,EAA0CD,QAA1C,CAAN;AACD;;AAED,aAAOE,OAAP;AACD,KARD;AASD;;AAED,WAASG,YAAT,CAAsBN,QAAtB,EAAmD;AACjD,WAAO,SAASO,aAAT,CACLL,IADK,EAELlB,YAFK,EAGL;AACA,YAAMmB,OAAO,GAAGP,eAAe,CAACI,QAAD,CAAf,CAA0BE,IAA1B,EAAgClB,YAAhC,CAAhB;;AAEA,UAAImB,OAAO,CAACC,MAAR,GAAiB,CAArB,EAAwB;AACtB,cAAM,IAAIC,sBAAJ,CAAmBP,gBAAgB,CAACI,IAAD,CAAnC,EAA2CK,aAA3C,CAAN;AACD;;AAED,UAAIJ,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,eAAO,IAAP;AACD;;AAED,aAAOD,OAAO,CAAC,CAAD,CAAd;AACD,KAfD;AAgBD;;AAED,WAASK,UAAT,CAAoBR,QAApB,EAAiD;AAC/C,WAAO,SAASS,KAAT,CAAeP,IAAf,EAA+BlB,YAA/B,EAAgE;AACrE,YAAMmB,OAAO,GAAGP,eAAe,CAACI,QAAD,CAAf,CAA0BE,IAA1B,EAAgClB,YAAhC,CAAhB;;AAEA,UAAImB,OAAO,CAACC,MAAR,GAAiB,CAArB,EAAwB;AACtB,cAAM,IAAIC,sBAAJ,CAAmBP,gBAAgB,CAACI,IAAD,CAAnC,EAA2CO,KAA3C,CAAN;AACD;;AAED,UAAIN,OAAO,CAACC,MAAR,KAAmB,CAAvB,EAA0B;AACxB,cAAM,IAAIC,sBAAJ,CAAmBR,eAAe,CAACK,IAAD,CAAlC,EAA0CO,KAA1C,CAAN;AACD;;AAED,aAAON,OAAO,CAAC,CAAD,CAAd;AACD,KAZD;AAaD;;AAED,WAASO,cAAT,CAAwBV,QAAxB,EAAqD;AACnD,WAAO,SAASW,SAAT,CACLT,IADK,EAELlB,YAFK,EAGLC,cAA8B,GAAG,EAH5B,EAIL;AACA,YAAM2B,wBAAwB,GAAG7B,mCAAmC,CAClEC,YADkE,CAApE;AAGA,aAAO,sBAAQ,MAAMe,aAAa,CAACC,QAAD,CAAb,CAAwBE,IAAxB,EAA8BlB,YAA9B,CAAd,EAA2D,EAChE,GAAG4B,wBAD6D;AAEhE,WAAG3B;AAF6D,OAA3D,CAAP;AAID,KAZD;AAaD;;AAED,WAAS4B,WAAT,CAAqBb,QAArB,EAAkD;AAChD,WAAO,SAASc,MAAT,CACLZ,IADK,EAELlB,YAFK,EAGLC,cAA8B,GAAG,EAH5B,EAIL;AACA,YAAM2B,wBAAwB,GAAG7B,mCAAmC,CAClEC,YADkE,CAApE;AAGA,aAAO,sBAAQ,MAAMwB,UAAU,CAACR,QAAD,CAAV,CAAqBE,IAArB,EAA2BlB,YAA3B,CAAd,EAAwD,EAC7D,GAAG4B,wBAD0D;AAE7D,WAAG3B;AAF0D,OAAxD,CAAP;AAID,KAZD;AAaD;;AAED,SAAO;AACL8B,IAAAA,KAAK,EAAEP,UADF;AAELQ,IAAAA,QAAQ,EAAEjB,aAFL;AAGLkB,IAAAA,OAAO,EAAEX,YAHJ;AAILY,IAAAA,MAAM,EAAEL,WAJH;AAKLM,IAAAA,SAAS,EAAET;AALN,GAAP;AAOD","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport waitFor from '../waitFor';\nimport type { WaitForOptions } from '../waitFor';\nimport { ErrorWithStack } from './errors';\nimport type { TextMatchOptions } from './byText';\n\ntype QueryFunction<ArgType, ReturnType> = (\n instance: ReactTestInstance\n) => (args: ArgType, queryOptions?: TextMatchOptions) => ReturnType;\n\ntype FindQueryFunction<ArgType, ReturnType> = (\n instance: ReactTestInstance\n) => (\n args: ArgType,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions?: WaitForOptions\n) => Promise<ReturnType>;\n\ntype QueryAllByQuery<QueryArg> = QueryFunction<\n QueryArg,\n Array<ReactTestInstance>\n>;\ntype QueryByQuery<QueryArg> = QueryFunction<QueryArg, null | ReactTestInstance>;\n\ntype GetAllByQuery<QueryArg> = QueryFunction<\n QueryArg,\n Array<ReactTestInstance>\n>;\ntype GetByQuery<QueryArg> = QueryFunction<QueryArg, ReactTestInstance>;\n\ntype FindAllByQuery<QueryArg> = FindQueryFunction<\n QueryArg,\n Array<ReactTestInstance>\n>;\ntype FindByQuery<QueryArg> = FindQueryFunction<QueryArg, ReactTestInstance>;\n\nexport type Queries<QueryArg> = {\n getBy: GetByQuery<QueryArg>;\n getAllBy: GetAllByQuery<QueryArg>;\n queryBy: QueryByQuery<QueryArg>;\n findBy: FindByQuery<QueryArg>;\n findAllBy: FindAllByQuery<QueryArg>;\n};\n\n// The WaitForOptions has been moved to the second option param of findBy* methods with the adding of TextMatchOptions\n// To make the migration easier and avoid a breaking change, keep reading this options from the first param but warn\nconst deprecatedKeys: (keyof WaitForOptions)[] = [\n 'timeout',\n 'interval',\n 'stackTraceError',\n];\nconst extractDeprecatedWaitForOptionUsage = (queryOptions?: WaitForOptions) => {\n if (queryOptions) {\n const waitForOptions: WaitForOptions = {\n timeout: queryOptions.timeout,\n interval: queryOptions.interval,\n stackTraceError: queryOptions.stackTraceError,\n };\n deprecatedKeys.forEach((key) => {\n const option = queryOptions[key];\n if (option) {\n // eslint-disable-next-line no-console\n console.warn(\n `Use of option \"${key}\" in a findBy* query's second parameter, TextMatchOptions, is deprecated. Please pass this option in the third, WaitForOptions, parameter. \nExample: \n\n findByText(text, {}, { ${key}: ${option.toString()} })`\n );\n }\n });\n return waitForOptions;\n }\n};\n\nexport function makeQueries<QueryArg>(\n queryAllByQuery: QueryAllByQuery<QueryArg>,\n getMissingError: (args: QueryArg) => string,\n getMultipleError: (args: QueryArg) => string\n): Queries<QueryArg> {\n function getAllByQuery(instance: ReactTestInstance) {\n return function getAllFn(args: QueryArg, queryOptions?: TextMatchOptions) {\n const results = queryAllByQuery(instance)(args, queryOptions);\n\n if (results.length === 0) {\n throw new ErrorWithStack(getMissingError(args), getAllFn);\n }\n\n return results;\n };\n }\n\n function queryByQuery(instance: ReactTestInstance) {\n return function singleQueryFn(\n args: QueryArg,\n queryOptions?: TextMatchOptions\n ) {\n const results = queryAllByQuery(instance)(args, queryOptions);\n\n if (results.length > 1) {\n throw new ErrorWithStack(getMultipleError(args), singleQueryFn);\n }\n\n if (results.length === 0) {\n return null;\n }\n\n return results[0];\n };\n }\n\n function getByQuery(instance: ReactTestInstance) {\n return function getFn(args: QueryArg, queryOptions?: TextMatchOptions) {\n const results = queryAllByQuery(instance)(args, queryOptions);\n\n if (results.length > 1) {\n throw new ErrorWithStack(getMultipleError(args), getFn);\n }\n\n if (results.length === 0) {\n throw new ErrorWithStack(getMissingError(args), getFn);\n }\n\n return results[0];\n };\n }\n\n function findAllByQuery(instance: ReactTestInstance) {\n return function findAllFn(\n args: QueryArg,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions: WaitForOptions = {}\n ) {\n const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(\n queryOptions\n );\n return waitFor(() => getAllByQuery(instance)(args, queryOptions), {\n ...deprecatedWaitForOptions,\n ...waitForOptions,\n });\n };\n }\n\n function findByQuery(instance: ReactTestInstance) {\n return function findFn(\n args: QueryArg,\n queryOptions?: TextMatchOptions & WaitForOptions,\n waitForOptions: WaitForOptions = {}\n ) {\n const deprecatedWaitForOptions = extractDeprecatedWaitForOptionUsage(\n queryOptions\n );\n return waitFor(() => getByQuery(instance)(args, queryOptions), {\n ...deprecatedWaitForOptions,\n ...waitForOptions,\n });\n };\n }\n\n return {\n getBy: getByQuery,\n getAllBy: getAllByQuery,\n queryBy: queryByQuery,\n findBy: findByQuery,\n findAllBy: findAllByQuery,\n };\n}\n"],"file":"makeQueries.js"}
@@ -0,0 +1,39 @@
1
+ import type { ReactTestInstance } from 'react-test-renderer';
2
+ import * as React from 'react';
3
+ import type { TextMatch } from '../matches';
4
+ import type { TextMatchOptions } from './byText';
5
+ export declare type QueryByAPI = {
6
+ queryByText: (name: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance | null;
7
+ queryAllByText: (text: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
8
+ queryByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance | null;
9
+ queryAllByPlaceholderText: (placeholder: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
10
+ queryByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions) => ReactTestInstance | null;
11
+ queryAllByDisplayValue: (value: TextMatch, queryOptions?: TextMatchOptions) => Array<ReactTestInstance>;
12
+ queryByTestId: (testID: TextMatch) => ReactTestInstance | null;
13
+ queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance>;
14
+ UNSAFE_queryByType: <P>(type: React.ComponentType<P>) => ReactTestInstance | null;
15
+ UNSAFE_queryAllByType: <P>(type: React.ComponentType<P>) => Array<ReactTestInstance>;
16
+ UNSAFE_queryByProps: (props: {
17
+ [key: string]: any;
18
+ }) => ReactTestInstance | null;
19
+ UNSAFE_queryAllByProps: (props: {
20
+ [key: string]: any;
21
+ }) => Array<ReactTestInstance>;
22
+ queryByName: () => void;
23
+ queryByType: () => void;
24
+ queryByProps: () => void;
25
+ queryAllByName: () => void;
26
+ queryAllByType: () => void;
27
+ queryAllByProps: () => void;
28
+ queryByPlaceholder: () => void;
29
+ queryAllByPlaceholder: () => void;
30
+ };
31
+ export declare const UNSAFE_queryByType: (instance: ReactTestInstance) => (type: React.ComponentType<any>) => ReactTestInstance | null;
32
+ export declare const UNSAFE_queryByProps: (instance: ReactTestInstance) => (props: {
33
+ [propName: string]: any;
34
+ }) => ReactTestInstance | null;
35
+ export declare const UNSAFE_queryAllByType: (instance: ReactTestInstance) => (type: React.ComponentType<any>) => Array<ReactTestInstance>;
36
+ export declare const UNSAFE_queryAllByProps: (instance: ReactTestInstance) => (props: {
37
+ [propName: string]: any;
38
+ }) => Array<ReactTestInstance>;
39
+ export declare const queryByAPI: (instance: ReactTestInstance) => QueryByAPI;
@@ -3,9 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.queryByAPI = exports.UNSAFE_queryAllByProps = exports.UNSAFE_queryAllByType = exports.UNSAFE_queryByProps = exports.UNSAFE_queryByType = void 0;
7
-
8
- var React = _interopRequireWildcard(require("react"));
6
+ exports.queryByAPI = exports.UNSAFE_queryByType = exports.UNSAFE_queryByProps = exports.UNSAFE_queryAllByType = exports.UNSAFE_queryAllByProps = void 0;
9
7
 
10
8
  var _getByAPI = require("./getByAPI");
11
9
 
@@ -19,10 +17,6 @@ var _byDisplayValue = require("./byDisplayValue");
19
17
 
20
18
  var _errors = require("./errors");
21
19
 
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
-
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
20
  const UNSAFE_queryByType = instance => function queryByTypeFn(type) {
27
21
  try {
28
22
  return (0, _getByAPI.UNSAFE_getByType)(instance)(type);
@@ -89,4 +83,5 @@ const queryByAPI = instance => ({
89
83
  queryAllByPlaceholder: () => (0, _errors.throwRenamedFunctionError)('queryAllByPlaceholder', 'queryAllByPlaceholderText')
90
84
  });
91
85
 
92
- exports.queryByAPI = queryByAPI;
86
+ exports.queryByAPI = queryByAPI;
87
+ //# sourceMappingURL=queryByAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/queryByAPI.ts"],"names":["UNSAFE_queryByType","instance","queryByTypeFn","type","error","UNSAFE_queryByProps","queryByPropsFn","props","UNSAFE_queryAllByType","UNSAFE_queryAllByProps","queryByAPI","queryByTestId","queryByText","queryByPlaceholderText","queryByDisplayValue","queryAllByTestId","queryAllByText","queryAllByPlaceholderText","queryAllByDisplayValue","queryByName","queryAllByName","queryByType","queryAllByType","queryByProps","queryAllByProps","queryByPlaceholder","queryAllByPlaceholder"],"mappings":";;;;;;;AAIA;;AAMA;;AACA;;AACA;;AAIA;;AACA;;AA0DO,MAAMA,kBAAkB,GAC7BC,QADgC,IAGhC,SAASC,aAAT,CAAuBC,IAAvB,EAAuD;AACrD,MAAI;AACF,WAAO,gCAAiBF,QAAjB,EAA2BE,IAA3B,CAAP;AACD,GAFD,CAEE,OAAOC,KAAP,EAAc;AACd,WAAO,gCAAmBA,KAAnB,EAA0BF,aAA1B,CAAP;AACD;AACF,CATI;;;;AAWA,MAAMG,mBAAmB,GAC9BJ,QADiC,IAGjC,SAASK,cAAT,CAAwBC,KAAxB,EAA4D;AAC1D,MAAI;AACF,WAAO,iCAAkBN,QAAlB,EAA4BM,KAA5B,CAAP;AACD,GAFD,CAEE,OAAOH,KAAP,EAAc;AACd,WAAO,gCAAmBA,KAAnB,EAA0BE,cAA1B,CAAP;AACD;AACF,CATI;;;;AAWA,MAAME,qBAAqB,GAChCP,QADmC,IAGnCE,IADmE,IAEhE;AACH,MAAI;AACF,WAAO,mCAAoBF,QAApB,EAA8BE,IAA9B,CAAP;AACD,GAFD,CAEE,OAAOC,KAAP,EAAc;AACd,WAAO,EAAP;AACD;AACF,CAVM;;;;AAYA,MAAMK,sBAAsB,GACjCR,QADoC,IAIFM,KAAD,IAAwC;AACzE,MAAI;AACF,WAAO,oCAAqBN,QAArB,EAA+BM,KAA/B,CAAP;AACD,GAFD,CAEE,OAAOH,KAAP,EAAc;AACd,WAAO,EAAP;AACD;AACF,CAVM;;;;AAYA,MAAMM,UAAU,GAAIT,QAAD,KAA8C;AACtEU,EAAAA,aAAa,EAAE,6BAAcV,QAAd,CADuD;AAEtEW,EAAAA,WAAW,EAAE,yBAAYX,QAAZ,CAFyD;AAGtEY,EAAAA,sBAAsB,EAAE,+CAAuBZ,QAAvB,CAH8C;AAItEa,EAAAA,mBAAmB,EAAE,yCAAoBb,QAApB,CAJiD;AAKtEc,EAAAA,gBAAgB,EAAE,gCAAiBd,QAAjB,CALoD;AAMtEe,EAAAA,cAAc,EAAE,4BAAef,QAAf,CANsD;AAOtEgB,EAAAA,yBAAyB,EAAE,kDAA0BhB,QAA1B,CAP2C;AAQtEiB,EAAAA,sBAAsB,EAAE,4CAAuBjB,QAAvB,CAR8C;AAUtE;AACAD,EAAAA,kBAAkB,EAAEA,kBAAkB,CAACC,QAAD,CAXgC;AAYtEO,EAAAA,qBAAqB,EAAEA,qBAAqB,CAACP,QAAD,CAZ0B;AAatEI,EAAAA,mBAAmB,EAAEA,mBAAmB,CAACJ,QAAD,CAb8B;AActEQ,EAAAA,sBAAsB,EAAEA,sBAAsB,CAACR,QAAD,CAdwB;AAgBtE;AACAkB,EAAAA,WAAW,EAAE,MACX,uCAA0B,aAA1B,EAAyC,gCAAzC,CAlBoE;AAmBtEC,EAAAA,cAAc,EAAE,MACd,uCACE,gBADF,EAEE,gCAFF,CApBoE;AAwBtEC,EAAAA,WAAW,EAAE,MACX,uCAA0B,aAA1B,EAAyC,gCAAzC,CAzBoE;AA0BtEC,EAAAA,cAAc,EAAE,MACd,uCACE,gBADF,EAEE,gCAFF,CA3BoE;AA+BtEC,EAAAA,YAAY,EAAE,MACZ,uCAA0B,cAA1B,EAA0C,gCAA1C,CAhCoE;AAiCtEC,EAAAA,eAAe,EAAE,MACf,uCACE,iBADF,EAEE,gCAFF,CAlCoE;AAuCtE;AACAC,EAAAA,kBAAkB,EAAE,MAClB,uCAA0B,oBAA1B,EAAgD,wBAAhD,CAzCoE;AA0CtEC,EAAAA,qBAAqB,EAAE,MACrB,uCACE,uBADF,EAEE,2BAFF;AA3CoE,CAA9C,CAAnB","sourcesContent":["import type { ReactTestInstance } from 'react-test-renderer';\nimport * as React from 'react';\nimport type { TextMatch } from '../matches';\nimport type { TextMatchOptions } from './byText';\nimport {\n UNSAFE_getByType,\n UNSAFE_getByProps,\n UNSAFE_getAllByType,\n UNSAFE_getAllByProps,\n} from './getByAPI';\nimport { queryByTestId, queryAllByTestId } from './byTestId';\nimport { queryByText, queryAllByText } from './byText';\nimport {\n queryByPlaceholderText,\n queryAllByPlaceholderText,\n} from './byPlaceholderText';\nimport { queryByDisplayValue, queryAllByDisplayValue } from './byDisplayValue';\nimport {\n createQueryByError,\n throwRemovedFunctionError,\n throwRenamedFunctionError,\n} from './errors';\n\nexport type QueryByAPI = {\n queryByText: (\n name: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance | null;\n queryAllByText: (\n text: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n queryByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance | null;\n queryAllByPlaceholderText: (\n placeholder: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n queryByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions\n ) => ReactTestInstance | null;\n queryAllByDisplayValue: (\n value: TextMatch,\n queryOptions?: TextMatchOptions\n ) => Array<ReactTestInstance>;\n queryByTestId: (testID: TextMatch) => ReactTestInstance | null;\n queryAllByTestId: (testID: TextMatch) => Array<ReactTestInstance>;\n\n // Unsafe aliases\n UNSAFE_queryByType: <P>(\n type: React.ComponentType<P>\n ) => ReactTestInstance | null;\n UNSAFE_queryAllByType: <P>(\n type: React.ComponentType<P>\n ) => Array<ReactTestInstance>;\n UNSAFE_queryByProps: (props: {\n [key: string]: any;\n }) => ReactTestInstance | null;\n UNSAFE_queryAllByProps: (props: {\n [key: string]: any;\n }) => Array<ReactTestInstance>;\n queryByName: () => void;\n queryByType: () => void;\n queryByProps: () => void;\n queryAllByName: () => void;\n queryAllByType: () => void;\n queryAllByProps: () => void;\n\n queryByPlaceholder: () => void;\n queryAllByPlaceholder: () => void;\n};\n\nexport const UNSAFE_queryByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => ReactTestInstance | null) =>\n function queryByTypeFn(type: React.ComponentType<any>) {\n try {\n return UNSAFE_getByType(instance)(type);\n } catch (error) {\n return createQueryByError(error, queryByTypeFn);\n }\n };\n\nexport const UNSAFE_queryByProps = (\n instance: ReactTestInstance\n): ((props: { [propName: string]: any }) => ReactTestInstance | null) =>\n function queryByPropsFn(props: { [propName: string]: any }) {\n try {\n return UNSAFE_getByProps(instance)(props);\n } catch (error) {\n return createQueryByError(error, queryByPropsFn);\n }\n };\n\nexport const UNSAFE_queryAllByType = (\n instance: ReactTestInstance\n): ((type: React.ComponentType<any>) => Array<ReactTestInstance>) => (\n type: React.ComponentType<any>\n) => {\n try {\n return UNSAFE_getAllByType(instance)(type);\n } catch (error) {\n return [];\n }\n};\n\nexport const UNSAFE_queryAllByProps = (\n instance: ReactTestInstance\n): ((props: {\n [propName: string]: any;\n}) => Array<ReactTestInstance>) => (props: { [propName: string]: any }) => {\n try {\n return UNSAFE_getAllByProps(instance)(props);\n } catch (error) {\n return [];\n }\n};\n\nexport const queryByAPI = (instance: ReactTestInstance): QueryByAPI => ({\n queryByTestId: queryByTestId(instance),\n queryByText: queryByText(instance),\n queryByPlaceholderText: queryByPlaceholderText(instance),\n queryByDisplayValue: queryByDisplayValue(instance),\n queryAllByTestId: queryAllByTestId(instance),\n queryAllByText: queryAllByText(instance),\n queryAllByPlaceholderText: queryAllByPlaceholderText(instance),\n queryAllByDisplayValue: queryAllByDisplayValue(instance),\n\n // Unsafe\n UNSAFE_queryByType: UNSAFE_queryByType(instance),\n UNSAFE_queryAllByType: UNSAFE_queryAllByType(instance),\n UNSAFE_queryByProps: UNSAFE_queryByProps(instance),\n UNSAFE_queryAllByProps: UNSAFE_queryAllByProps(instance),\n\n // Removed\n queryByName: () =>\n throwRemovedFunctionError('queryByName', 'migration-v2#removed-functions'),\n queryAllByName: () =>\n throwRemovedFunctionError(\n 'queryAllByName',\n 'migration-v2#removed-functions'\n ),\n queryByType: () =>\n throwRemovedFunctionError('queryByType', 'migration-v2#removed-functions'),\n queryAllByType: () =>\n throwRemovedFunctionError(\n 'queryAllByType',\n 'migration-v2#removed-functions'\n ),\n queryByProps: () =>\n throwRemovedFunctionError('queryByProps', 'migration-v2#removed-functions'),\n queryAllByProps: () =>\n throwRemovedFunctionError(\n 'queryAllByProps',\n 'migration-v2#removed-functions'\n ),\n\n // Renamed\n queryByPlaceholder: () =>\n throwRenamedFunctionError('queryByPlaceholder', 'queryByPlaceholderText'),\n queryAllByPlaceholder: () =>\n throwRenamedFunctionError(\n 'queryAllByPlaceholder',\n 'queryAllByPlaceholderText'\n ),\n});\n"],"file":"queryByAPI.js"}
@@ -0,0 +1,6 @@
1
+ /// <reference types="react-native" />
2
+ /// <reference types="node" />
3
+ declare function runWithRealTimers<T>(callback: () => T): T;
4
+ declare const jestFakeTimersAreEnabled: () => boolean;
5
+ declare const clearTimeoutFn: typeof clearTimeout, setImmediateFn: typeof setImmediate, setTimeoutFn: typeof setTimeout;
6
+ export { runWithRealTimers, jestFakeTimersAreEnabled, clearTimeoutFn as clearTimeout, setImmediateFn as setImmediate, setTimeoutFn as setTimeout, };
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.jestFakeTimersAreEnabled = exports.clearTimeout = void 0;
6
7
  exports.runWithRealTimers = runWithRealTimers;
7
- exports.setTimeout = exports.setImmediate = exports.clearTimeout = exports.jestFakeTimersAreEnabled = void 0;
8
+ exports.setTimeout = exports.setImmediate = void 0;
8
9
  // Most content of this file sourced directly from https://github.com/testing-library/dom-testing-library/blob/main/src/helpers.js
9
10
 
10
11
  /* globals jest */
@@ -32,15 +33,16 @@ function getJestFakeTimersType() {
32
33
  return null;
33
34
  }
34
35
 
35
- if (typeof globalObj.setTimeout._isMockFunction !== 'undefined' && globalObj.setTimeout._isMockFunction) {
36
+ if ( // @ts-expect-error jest mutates setTimeout
37
+ typeof globalObj.setTimeout._isMockFunction !== 'undefined' && // @ts-expect-error jest mutates setTimeout
38
+ globalObj.setTimeout._isMockFunction) {
36
39
  return 'legacy';
37
40
  }
38
41
 
39
- if (typeof globalObj.setTimeout.clock !== 'undefined' && // $FlowIgnore[prop-missing]
40
- typeof jest.getRealSystemTime !== 'undefined') {
42
+ if ( // @ts-expect-error jest mutates setTimeout
43
+ typeof globalObj.setTimeout.clock !== 'undefined' && typeof jest.getRealSystemTime !== 'undefined') {
41
44
  try {
42
45
  // jest.getRealSystemTime is only supported for Jest's `modern` fake timers and otherwise throws
43
- // $FlowExpectedError
44
46
  jest.getRealSystemTime();
45
47
  return 'modern';
46
48
  } catch {// not using Jest's modern fake timers
@@ -74,4 +76,5 @@ const {
74
76
  } = runWithRealTimers(bindTimeFunctions);
75
77
  exports.setTimeout = setTimeoutFn;
76
78
  exports.setImmediate = setImmediateFn;
77
- exports.clearTimeout = clearTimeoutFn;
79
+ exports.clearTimeout = clearTimeoutFn;
80
+ //# sourceMappingURL=timers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/helpers/timers.ts"],"names":["globalObj","window","global","runWithRealTimers","callback","fakeTimersType","getJestFakeTimersType","jest","useRealTimers","callbackReturnValue","useFakeTimers","setTimeout","_isMockFunction","clock","getRealSystemTime","jestFakeTimersAreEnabled","Boolean","setImmediatePolyfill","fn","bindTimeFunctions","clearTimeoutFn","clearTimeout","setImmediateFn","setImmediate","setTimeoutFn"],"mappings":";;;;;;;;AAAA;;AACA;AACA,MAAMA,SAAS,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCC,MAAhC,GAAyCD,MAA3D,C,CAEA;;AACA,SAASE,iBAAT,CAA8BC,QAA9B,EAAoD;AAClD,QAAMC,cAAc,GAAGC,qBAAqB,EAA5C;;AACA,MAAID,cAAJ,EAAoB;AAClBE,IAAAA,IAAI,CAACC,aAAL;AACD;;AAED,QAAMC,mBAAmB,GAAGL,QAAQ,EAApC;;AAEA,MAAIC,cAAJ,EAAoB;AAClBE,IAAAA,IAAI,CAACG,aAAL,CAAmBL,cAAnB;AACD;;AAED,SAAOI,mBAAP;AACD;;AAED,SAASH,qBAAT,GAAiC;AAC/B;AACA,MACE,OAAOC,IAAP,KAAgB,WAAhB,IACA,OAAOP,SAAS,CAACW,UAAjB,KAAgC,WAFlC,EAGE;AACA,WAAO,IAAP;AACD;;AAED,OACE;AACA,SAAOX,SAAS,CAACW,UAAV,CAAqBC,eAA5B,KAAgD,WAAhD,IACA;AACAZ,EAAAA,SAAS,CAACW,UAAV,CAAqBC,eAJvB,EAKE;AACA,WAAO,QAAP;AACD;;AAED,OACE;AACA,SAAOZ,SAAS,CAACW,UAAV,CAAqBE,KAA5B,KAAsC,WAAtC,IACA,OAAON,IAAI,CAACO,iBAAZ,KAAkC,WAHpC,EAIE;AACA,QAAI;AACF;AACAP,MAAAA,IAAI,CAACO,iBAAL;AACA,aAAO,QAAP;AACD,KAJD,CAIE,MAAM,CACN;AACD;AACF;;AACD,SAAO,IAAP;AACD;;AAED,MAAMC,wBAAwB,GAAG,MAC/BC,OAAO,CAACV,qBAAqB,EAAtB,CADT,C,CAGA;;;;;AACA,SAASW,oBAAT,CAA8BC,EAA9B,EAA4C;AAC1C,SAAOlB,SAAS,CAACW,UAAV,CAAqBO,EAArB,EAAyB,CAAzB,CAAP;AACD;;AAQD,SAASC,iBAAT,GAAgD;AAC9C,SAAO;AACLC,IAAAA,cAAc,EAAEpB,SAAS,CAACqB,YADrB;AAELC,IAAAA,cAAc,EAAEtB,SAAS,CAACuB,YAAV,IAA0BN,oBAFrC;AAGLO,IAAAA,YAAY,EAAExB,SAAS,CAACW;AAHnB,GAAP;AAKD;;AAED,MAAM;AAAES,EAAAA,cAAF;AAAkBE,EAAAA,cAAlB;AAAkCE,EAAAA;AAAlC,IAAmDrB,iBAAiB,CACxEgB,iBADwE,CAA1E","sourcesContent":["// Most content of this file sourced directly from https://github.com/testing-library/dom-testing-library/blob/main/src/helpers.js\n/* globals jest */\nconst globalObj = typeof window === 'undefined' ? global : window;\n\n// Currently this fn only supports jest timers, but it could support other test runners in the future.\nfunction runWithRealTimers<T>(callback: () => T): T {\n const fakeTimersType = getJestFakeTimersType();\n if (fakeTimersType) {\n jest.useRealTimers();\n }\n\n const callbackReturnValue = callback();\n\n if (fakeTimersType) {\n jest.useFakeTimers(fakeTimersType);\n }\n\n return callbackReturnValue;\n}\n\nfunction getJestFakeTimersType() {\n // istanbul ignore if\n if (\n typeof jest === 'undefined' ||\n typeof globalObj.setTimeout === 'undefined'\n ) {\n return null;\n }\n\n if (\n // @ts-expect-error jest mutates setTimeout\n typeof globalObj.setTimeout._isMockFunction !== 'undefined' &&\n // @ts-expect-error jest mutates setTimeout\n globalObj.setTimeout._isMockFunction\n ) {\n return 'legacy';\n }\n\n if (\n // @ts-expect-error jest mutates setTimeout\n typeof globalObj.setTimeout.clock !== 'undefined' &&\n typeof jest.getRealSystemTime !== 'undefined'\n ) {\n try {\n // jest.getRealSystemTime is only supported for Jest's `modern` fake timers and otherwise throws\n jest.getRealSystemTime();\n return 'modern';\n } catch {\n // not using Jest's modern fake timers\n }\n }\n return null;\n}\n\nconst jestFakeTimersAreEnabled = (): boolean =>\n Boolean(getJestFakeTimersType());\n\n// we only run our tests in node, and setImmediate is supported in node.\nfunction setImmediatePolyfill(fn: Function) {\n return globalObj.setTimeout(fn, 0);\n}\n\ntype BindTimeFunctions = {\n clearTimeoutFn: typeof clearTimeout;\n setImmediateFn: typeof setImmediate;\n setTimeoutFn: typeof setTimeout;\n};\n\nfunction bindTimeFunctions(): BindTimeFunctions {\n return {\n clearTimeoutFn: globalObj.clearTimeout,\n setImmediateFn: globalObj.setImmediate || setImmediatePolyfill,\n setTimeoutFn: globalObj.setTimeout,\n };\n}\n\nconst { clearTimeoutFn, setImmediateFn, setTimeoutFn } = runWithRealTimers(\n bindTimeFunctions\n) as BindTimeFunctions;\n\nexport {\n runWithRealTimers,\n jestFakeTimersAreEnabled,\n clearTimeoutFn as clearTimeout,\n setImmediateFn as setImmediate,\n setTimeoutFn as setTimeout,\n};\n"],"file":"timers.js"}
@@ -0,0 +1 @@
1
+ export * from './pure';