UNPKG

e2ed

Version:

E2E testing framework over Playwright

29 lines (28 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRequestsFilter = void 0; const node_async_hooks_1 = require("node:async_hooks"); const asserts_1 = require("../asserts"); const getRouteInstanceFromUrl_1 = require("../getRouteInstanceFromUrl"); /** * Get `requestsFilter` function for API mocks by `ApiMockState`. * @internal */ const getRequestsFilter = ({ optionsByRoute, optionsWithRouteByUrl, }) => node_async_hooks_1.AsyncLocalStorage.bind((urlObject) => { (0, asserts_1.assertValueIsDefined)(optionsByRoute, 'optionsByRoute is defined', { urlObject }); const url = urlObject.href; for (const [Route, { apiMockFunction, skipLogs }] of optionsByRoute) { const maypeRouteWithRouteParams = (0, getRouteInstanceFromUrl_1.getRouteInstanceFromUrl)(url, Route); if (maypeRouteWithRouteParams === undefined) { // eslint-disable-next-line no-param-reassign optionsWithRouteByUrl[url] = undefined; continue; } const { route } = maypeRouteWithRouteParams; // eslint-disable-next-line no-param-reassign optionsWithRouteByUrl[url] = { apiMockFunction, route, skipLogs }; return true; } return false; }); exports.getRequestsFilter = getRequestsFilter;