UNPKG

@prezly/theme-kit-core

Version:

Data layer and utility library for developing Prezly themes with JavaScript

45 lines 1.32 kB
import { isNotUndefined } from '@technically/is-not-undefined'; export var Router; (function (_Router) { function create(routes) { return { routes, match(path, searchParams, _ref) { var { isSupportedLocale } = _ref; var matches = Object.values(routes).map(route => { var params = route.match(path, searchParams); if (params) { return { params: params, route }; } return undefined; }); var [first] = matches.filter(isNotUndefined).filter(_ref2 => { var { params } = _ref2; if ('localeSlug' in params && typeof params.localeSlug === 'string') { return isSupportedLocale(params.localeSlug); } return true; }); return first; }, generate(routeName) { var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return routes[routeName].generate(params); }, dump() { return Object.fromEntries(Object.entries(routes).map(_ref3 => { var [routeName, route] = _ref3; return [routeName, route.pattern]; })); } }; } _Router.create = create; })(Router || (Router = {}));