Spaces:
Sleeping
Sleeping
| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "getRouteMatcher", { | |
| enumerable: true, | |
| get: function() { | |
| return getRouteMatcher; | |
| } | |
| }); | |
| const _utils = require("../../utils"); | |
| const _routematchutils = require("./route-match-utils"); | |
| function getRouteMatcher({ re, groups }) { | |
| const rawMatcher = (pathname)=>{ | |
| const routeMatch = re.exec(pathname); | |
| if (!routeMatch) return false; | |
| const decode = (param)=>{ | |
| try { | |
| return decodeURIComponent(param); | |
| } catch { | |
| throw Object.defineProperty(new _utils.DecodeError('failed to decode param'), "__NEXT_ERROR_CODE", { | |
| value: "E528", | |
| enumerable: false, | |
| configurable: true | |
| }); | |
| } | |
| }; | |
| const params = {}; | |
| for (const [key, group] of Object.entries(groups)){ | |
| const match = routeMatch[group.pos]; | |
| if (match !== undefined) { | |
| if (group.repeat) { | |
| params[key] = match.split('/').map((entry)=>decode(entry)); | |
| } else { | |
| params[key] = decode(match); | |
| } | |
| } | |
| } | |
| return params; | |
| }; | |
| // Wrap with safe matcher to handle parameter cleaning | |
| return (0, _routematchutils.safeRouteMatcher)(rawMatcher); | |
| } | |
| //# sourceMappingURL=route-matcher.js.map |