@testing-library/react-hooks
Advanced tools
Comparing version 7.0.1 to 7.0.2
@@ -8,3 +8,3 @@ "use strict"; | ||
var _promises = require("../helpers/promises"); | ||
var _createTimeoutController = require("../helpers/createTimeoutController"); | ||
@@ -26,7 +26,11 @@ var _error = require("../helpers/error"); | ||
const timeoutSignal = (0, _createTimeoutController.createTimeoutController)(timeout); | ||
const waitForResult = async () => { | ||
while (true) { | ||
await Promise.race([new Promise(resolve => addResolver(resolve)), interval && (0, _promises.resolveAfter)(interval)].filter(Boolean)); | ||
const intervalSignal = (0, _createTimeoutController.createTimeoutController)(interval); | ||
timeoutSignal.onTimeout(() => intervalSignal.cancel()); | ||
await intervalSignal.wrap(new Promise(addResolver)); | ||
if (checkResult()) { | ||
if (checkResult() || timeoutSignal.timedOut) { | ||
return; | ||
@@ -37,17 +41,7 @@ } | ||
let timedOut = false; | ||
if (!checkResult()) { | ||
if (timeout) { | ||
const timeoutPromise = () => (0, _promises.callAfter)(() => { | ||
timedOut = true; | ||
}, timeout); | ||
await act(() => Promise.race([waitForResult(), timeoutPromise()])); | ||
} else { | ||
await act(waitForResult); | ||
} | ||
await act(() => timeoutSignal.wrap(waitForResult())); | ||
} | ||
return !timedOut; | ||
return !timeoutSignal.timedOut; | ||
}; | ||
@@ -54,0 +48,0 @@ |
{ | ||
"name": "@testing-library/react-hooks", | ||
"version": "7.0.1", | ||
"version": "7.0.2", | ||
"description": "Simple and complete React hooks testing utilities that encourage good testing practices.", | ||
@@ -36,3 +36,2 @@ "main": "lib/index.js", | ||
"validate": "kcd-scripts validate", | ||
"prepare": "npm run build", | ||
"build": "kcd-scripts build --out-dir lib && npm run generate:submodules", | ||
@@ -47,3 +46,7 @@ "generate:submodules": "ts-node scripts/generate-submodules.ts", | ||
"docs:build": "docz build", | ||
"contributors:add": "all-contributors add" | ||
"contributors:add": "all-contributors add", | ||
"install:react": "npm install --no-save react@${REACT_VERSION:-latest} react-dom@${REACT_VERSION:-latest} react-test-renderer@${REACT_VERSION:-latest}", | ||
"install:react-16.9.0": "cross-env REACT_VERSION=16.9.0 npm run install:react", | ||
"install:react-16": "cross-env REACT_VERSION=^16 npm run install:react", | ||
"install:react-17": "cross-env REACT_VERSION=^17 npm run install:react" | ||
}, | ||
@@ -58,17 +61,19 @@ "dependencies": { | ||
"devDependencies": { | ||
"@typescript-eslint/eslint-plugin": "^4.9.1", | ||
"@typescript-eslint/parser": "^4.9.1", | ||
"@typescript-eslint/eslint-plugin": "4.30.0", | ||
"@typescript-eslint/parser": "4.30.0", | ||
"all-contributors-cli": "6.20.0", | ||
"codecov": "3.8.2", | ||
"codecov": "3.8.3", | ||
"cross-env": "^7.0.3", | ||
"docz": "2.3.1", | ||
"docz-theme-default": "1.2.0", | ||
"docz-utils": "2.3.0", | ||
"eslint": "7.29.0", | ||
"kcd-scripts": "11.1.0", | ||
"prettier": "^2.2.1", | ||
"eslint": "7.32.0", | ||
"get-pkg-repo": "4.1.1", | ||
"kcd-scripts": "11.2.0", | ||
"prettier": "2.3.2", | ||
"react": "17.0.2", | ||
"react-dom": "^17.0.1", | ||
"react-dom": "17.0.2", | ||
"react-test-renderer": "17.0.2", | ||
"ts-node": "^10.0.0", | ||
"typescript": "4.3.4" | ||
"ts-node": "10.2.1", | ||
"typescript": "4.4.2" | ||
}, | ||
@@ -75,0 +80,0 @@ "peerDependencies": { |
@@ -249,2 +249,5 @@ <div align="center"> | ||
<td align="center"><a href="https://github.com/bdwain"><img src="https://avatars.githubusercontent.com/u/3982094?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bryan Wain</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/issues?q=author%3Abdwain" title="Bug reports">π</a> <a href="https://github.com/testing-library/react-hooks-testing-library/pulls?q=is%3Apr+reviewed-by%3Abdwain" title="Reviewed Pull Requests">π</a></td> | ||
<td align="center"><a href="https://github.com/snowystinger"><img src="https://avatars.githubusercontent.com/u/698229?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Robert Snow</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=snowystinger" title="Tests">β οΈ</a></td> | ||
<td align="center"><a href="https://github.com/chris110408"><img src="https://avatars.githubusercontent.com/u/10645051?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Chen</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=chris110408" title="Tests">β οΈ</a></td> | ||
<td align="center"><a href="https://www.facebook.com/masoud.bonabi"><img src="https://avatars.githubusercontent.com/u/6429009?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Masious</b></sub></a><br /><a href="https://github.com/testing-library/react-hooks-testing-library/commits?author=masious" title="Documentation">π</a></td> | ||
</tr> | ||
@@ -251,0 +254,0 @@ </table> |
@@ -61,4 +61,4 @@ import { | ||
'default/pure': () => requireRenderer('default/pure'), | ||
'dom/pure': () => requireRenderer('default/pure'), | ||
'native/pure': () => requireRenderer('default/pure'), | ||
'dom/pure': () => requireRenderer('dom/pure'), | ||
'native/pure': () => requireRenderer('native/pure'), | ||
'server/pure': () => requireRenderer<ReactHooksServerRenderer>('server/pure'), | ||
@@ -65,0 +65,0 @@ 'server/hydrated': () => hydratedServerRenderer('server'), |
@@ -10,3 +10,3 @@ import { | ||
import { resolveAfter, callAfter } from '../helpers/promises' | ||
import { createTimeoutController } from '../helpers/createTimeoutController' | ||
import { TimeoutError } from '../helpers/error' | ||
@@ -24,12 +24,12 @@ | ||
const timeoutSignal = createTimeoutController(timeout) | ||
const waitForResult = async () => { | ||
while (true) { | ||
await Promise.race( | ||
[ | ||
new Promise<void>((resolve) => addResolver(resolve)), | ||
interval && resolveAfter(interval) | ||
].filter(Boolean) | ||
) | ||
const intervalSignal = createTimeoutController(interval) | ||
timeoutSignal.onTimeout(() => intervalSignal.cancel()) | ||
if (checkResult()) { | ||
await intervalSignal.wrap(new Promise<void>(addResolver)) | ||
if (checkResult() || timeoutSignal.timedOut) { | ||
return | ||
@@ -40,18 +40,7 @@ } | ||
let timedOut = false | ||
if (!checkResult()) { | ||
if (timeout) { | ||
const timeoutPromise = () => | ||
callAfter(() => { | ||
timedOut = true | ||
}, timeout) | ||
await act(() => Promise.race([waitForResult(), timeoutPromise()])) | ||
} else { | ||
await act(waitForResult) | ||
} | ||
await act(() => timeoutSignal.wrap(waitForResult())) | ||
} | ||
return !timedOut | ||
return !timeoutSignal.timedOut | ||
} | ||
@@ -58,0 +47,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
136642
98
2843
294
0
17