UNPKG

next

Version:

The React Framework

43 lines (42 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "getRouteMatcher", { enumerable: true, get: function() { return getRouteMatcher; } }); const _utils = require("../../utils"); function getRouteMatcher(param) { let { re, groups } = param; return (pathname)=>{ const routeMatch = re.exec(pathname); if (!routeMatch) return false; const decode = (param)=>{ try { return decodeURIComponent(param); } catch (e) { 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; }; } //# sourceMappingURL=route-matcher.js.map