UNPKG

e2ed

Version:

E2E testing framework over Playwright

28 lines (27 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRouteInstanceFromUrl = void 0; const error_1 = require("./error"); /** * Get route instance and route params from url and method by route class. * @throws {Error} If `url` accepted without errors by `getParamsFromUrlOrThrow`, * but not match by `isMatchUrl` method. * If `url` not accepted by `getParamsFromUrlOrThrow`, returns `undefined`. * @internal */ const getRouteInstanceFromUrl = (url, Route) => { let route; let routeParams; try { routeParams = Route.getParamsFromUrlOrThrow(url); route = new Route(routeParams); } catch { return undefined; } if (route.isMatchUrl(url) !== true) { throw new error_1.E2edError(`Inconsistency in "${Route.name}" route: isMatchUrl does not accept url accepted without errors by getParamsFromUrlOrThrow`, { route, url }); } return { route, routeParams }; }; exports.getRouteInstanceFromUrl = getRouteInstanceFromUrl;