UNPKG

@testing-library/react-hooks

Version:

Simple and complete React hooks testing utilities that encourage good testing practices.

76 lines (68 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { renderHook: true, act: true, cleanup: true, addCleanup: true, removeCleanup: true, suppressErrorOutput: true }; exports.suppressErrorOutput = exports.renderHook = exports.removeCleanup = exports.cleanup = exports.addCleanup = exports.act = void 0; var _react = require("./types/react"); Object.keys(_react).forEach(function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _react[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function () { return _react[key]; } }); }); const renderers = [{ required: 'react-test-renderer', renderer: './native/pure' }, { required: 'react-dom', renderer: './dom/pure' }]; function hasDependency(name) { try { require(name); return true; } catch { return false; } } function getRenderer() { const validRenderer = renderers.find(({ required }) => hasDependency(required)); if (validRenderer) { // eslint-disable-next-line @typescript-eslint/no-var-requires return require(validRenderer.renderer); } else { const options = renderers.map(({ required }) => ` - ${required}`).sort((a, b) => a.localeCompare(b)).join('\n'); throw new Error(`Could not auto-detect a React renderer. Are you sure you've installed one of the following\n${options}\nIf you are using a bundler, please update your imports to use a specific renderer.\nFor instructions see: https://react-hooks-testing-library.com/installation#being-specific`); } } const { renderHook, act, cleanup, addCleanup, removeCleanup, suppressErrorOutput } = getRenderer(); exports.suppressErrorOutput = suppressErrorOutput; exports.removeCleanup = removeCleanup; exports.addCleanup = addCleanup; exports.cleanup = cleanup; exports.act = act; exports.renderHook = renderHook;