| ; | |
| Object.defineProperty(exports, "__esModule", { | |
| value: true | |
| }); | |
| Object.defineProperty(exports, "getFallbackRouteParams", { | |
| enumerable: true, | |
| get: function() { | |
| return getFallbackRouteParams; | |
| } | |
| }); | |
| const _routematcher = require("../../shared/lib/router/utils/route-matcher"); | |
| const _routeregex = require("../../shared/lib/router/utils/route-regex"); | |
| function getParamKeys(page) { | |
| const pattern = (0, _routeregex.getRouteRegex)(page); | |
| const matcher = (0, _routematcher.getRouteMatcher)(pattern); | |
| // Get the default list of allowed params. | |
| return Object.keys(matcher(page)); | |
| } | |
| function getFallbackRouteParams(pageOrKeys) { | |
| let keys; | |
| if (typeof pageOrKeys === 'string') { | |
| keys = getParamKeys(pageOrKeys); | |
| } else { | |
| keys = pageOrKeys; | |
| } | |
| // If there are no keys, we can return early. | |
| if (keys.length === 0) return null; | |
| const params = new Map(); | |
| // As we're creating unique keys for each of the dynamic route params, we only | |
| // need to generate a unique ID once per request because each of the keys will | |
| // be also be unique. | |
| const uniqueID = Math.random().toString(16).slice(2); | |
| for (const key of keys){ | |
| params.set(key, `%%drp:${key}:${uniqueID}%%`); | |
| } | |
| return params; | |
| } | |
| //# sourceMappingURL=fallback-params.js.map |