UNPKG

@prezly/theme-kit-core

Version:

Data layer and utility library for developing Prezly themes with JavaScript

51 lines (50 loc) 1.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Router = void 0; var _isNotUndefined = require("@technically/is-not-undefined"); 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.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 || (exports.Router = Router = {}));