/
opt
/
canhelp
/
node_modules
/
next
/
dist
/
shared
/
lib
/
router
/
utils
/
/opt/canhelp/node_modules/next/dist/shared/lib/router/utils
mkdir
upload
Name
Size
Mode
Actions
add-locale.d.ts
365
0644
edit
dl
rm
add-locale.js
1049
0644
edit
dl
rm
add-locale.js.map
1715
0644
edit
dl
rm
add-path-prefix.d.ts
200
0644
edit
dl
rm
add-path-prefix.js
536
0644
edit
dl
rm
add-path-prefix.js.map
885
0644
edit
dl
rm
add-path-suffix.d.ts
258
0644
edit
dl
rm
add-path-suffix.js
536
0644
edit
dl
rm
add-path-suffix.js.map
944
0644
edit
dl
rm
app-paths.d.ts
900
0644
edit
dl
rm
app-paths.js
1504
0644
edit
dl
rm
app-paths.js.map
2712
0644
edit
dl
rm
as-path-to-search-params.d.ts
79
0644
edit
dl
rm
as-path-to-search-params.js
484
0644
edit
dl
rm
as-path-to-search-params.js.map
565
0644
edit
dl
rm
cache-busting-search-param.d.ts
257
0644
edit
dl
rm
cache-busting-search-param.js
832
0644
edit
dl
rm
cache-busting-search-param.js.map
1315
0644
edit
dl
rm
compare-states.d.ts
146
0644
edit
dl
rm
compare-states.js
1070
0644
edit
dl
rm
compare-states.js.map
1931
0644
edit
dl
rm
disable-smooth-scroll.d.ts
304
0644
edit
dl
rm
disable-smooth-scroll.js
2515
0644
edit
dl
rm
disable-smooth-scroll.js.map
3621
0644
edit
dl
rm
escape-path-delimiters.d.ts
96
0644
edit
dl
rm
escape-path-delimiters.js
508
0644
edit
dl
rm
escape-path-delimiters.js.map
753
0644
edit
dl
rm
format-next-pathname-info.d.ts
261
0644
edit
dl
rm
format-next-pathname-info.js
1290
0644
edit
dl
rm
format-next-pathname-info.js.map
2090
0644
edit
dl
rm
format-url.d.ts
216
0644
edit
dl
rm
format-url.js
3955
0644
edit
dl
rm
format-url.js.map
5739
0644
edit
dl
rm
get-asset-path-from-route.d.ts
84
0644
edit
dl
rm
get-asset-path-from-route.js
639
0644
edit
dl
rm
get-asset-path-from-route.js.map
846
0644
edit
dl
rm
get-dynamic-param.d.ts
2775
0644
edit
dl
rm
get-dynamic-param.js
3976
0644
edit
dl
rm
get-dynamic-param.js.map
7442
0644
edit
dl
rm
get-next-pathname-info.d.ts
1450
0644
edit
dl
rm
get-next-pathname-info.js
2479
0644
edit
dl
rm
get-next-pathname-info.js.map
5178
0644
edit
dl
rm
get-route-from-asset-path.d.ts
88
0644
edit
dl
rm
get-route-from-asset-path.js
931
0644
edit
dl
rm
get-route-from-asset-path.js.map
1324
0644
edit
dl
rm
html-bots.d.ts
53
0644
edit
dl
rm
html-bots.js
1135
0644
edit
dl
rm
html-bots.js.map
1145
0644
edit
dl
rm
index.d.ts
121
0644
edit
dl
rm
index.js
766
0644
edit
dl
rm
index.js.map
430
0644
edit
dl
rm
interception-routes.d.ts
312
0644
edit
dl
rm
interception-routes.js
4354
0644
edit
dl
rm
interception-routes.js.map
5054
0644
edit
dl
rm
interpolate-as.d.ts
195
0644
edit
dl
rm
interpolate-as.js
2242
0644
edit
dl
rm
interpolate-as.js.map
3801
0644
edit
dl
rm
is-bot.d.ts
291
0644
edit
dl
rm
is-bot.js
1764
0644
edit
dl
rm
is-bot.js.map
1998
0644
edit
dl
rm
is-dynamic.d.ts
316
0644
edit
dl
rm
is-dynamic.js
867
0644
edit
dl
rm
is-dynamic.js.map
1489
0644
edit
dl
rm
is-local-url.d.ts
147
0644
edit
dl
rm
is-local-url.js
854
0644
edit
dl
rm
is-local-url.js.map
1271
0644
edit
dl
rm
middleware-route-matcher.d.ts
463
0644
edit
dl
rm
middleware-route-matcher.js
947
0644
edit
dl
rm
middleware-route-matcher.js.map
1762
0644
edit
dl
rm
omit.d.ts
126
0644
edit
dl
rm
omit.js
440
0644
edit
dl
rm
omit.js.map
778
0644
edit
dl
rm
parse-path.d.ts
320
0644
edit
dl
rm
parse-path.js
1041
0644
edit
dl
rm
parse-path.js.map
1510
0644
edit
dl
rm
parse-relative-url.d.ts
745
0644
edit
dl
rm
parse-relative-url.js
1476
0644
edit
dl
rm
parse-relative-url.js.map
3015
0644
edit
dl
rm
parse-url.d.ts
365
0644
edit
dl
rm
parse-url.js
954
0644
edit
dl
rm
parse-url.js.map
1843
0644
edit
dl
rm
path-has-prefix.d.ts
364
0644
edit
dl
rm
path-has-prefix.js
535
0644
edit
dl
rm
path-has-prefix.js.map
996
0644
edit
dl
rm
path-match.d.ts
989
0644
edit
dl
rm
path-match.js
1961
0644
edit
dl
rm
path-match.js.map
3773
0644
edit
dl
rm
prepare-destination.d.ts
1527
0644
edit
dl
rm
prepare-destination.js
10637
0644
edit
dl
rm
prepare-destination.js.map
17187
0644
edit
dl
rm
querystring.d.ts
348
0644
edit
dl
rm
querystring.js
2281
0644
edit
dl
rm
querystring.js.map
3287
0644
edit
dl
rm
relativize-url.d.ts
679
0644
edit
dl
rm
relativize-url.js
1121
0644
edit
dl
rm
relativize-url.js.map
1872
0644
edit
dl
rm
remove-path-prefix.d.ts
389
0644
edit
dl
rm
remove-path-prefix.js
1261
0644
edit
dl
rm
remove-path-prefix.js.map
2000
0644
edit
dl
rm
remove-trailing-slash.d.ts
259
0644
edit
dl
rm
remove-trailing-slash.js
552
0644
edit
dl
rm
remove-trailing-slash.js.map
598
0644
edit
dl
rm
resolve-rewrites.d.ts
682
0644
edit
dl
rm
resolve-rewrites.js
4670
0644
edit
dl
rm
resolve-rewrites.js.map
7781
0644
edit
dl
rm
route-match-utils.d.ts
1513
0644
edit
dl
rm
route-match-utils.js
3675
0644
edit
dl
rm
route-match-utils.js.map
5754
0644
edit
dl
rm
route-matcher.d.ts
384
0644
edit
dl
rm
route-matcher.js
1509
0644
edit
dl
rm
route-matcher.js.map
2558
0644
edit
dl
rm
route-regex.d.ts
3492
0644
edit
dl
rm
route-regex.js
9498
0644
edit
dl
rm
route-regex.js.map
17577
0644
edit
dl
rm
sortable-routes.d.ts
4249
0644
edit
dl
rm
sortable-routes.js
6321
0644
edit
dl
rm
sortable-routes.js.map
12530
0644
edit
dl
rm
sorted-routes.d.ts
344
0644
edit
dl
rm
sorted-routes.js
11664
0644
edit
dl
rm
sorted-routes.js.map
14788
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/next/dist/shared/lib/router/utils/route-regex.js
(9498B)
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { getNamedMiddlewareRegex: null, getNamedRouteRegex: null, getRouteRegex: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getNamedMiddlewareRegex: function() { return getNamedMiddlewareRegex; }, getNamedRouteRegex: function() { return getNamedRouteRegex; }, getRouteRegex: function() { return getRouteRegex; } }); const _constants = require("../../../../lib/constants"); const _interceptionroutes = require("./interception-routes"); const _escaperegexp = require("../../escape-regexp"); const _removetrailingslash = require("./remove-trailing-slash"); const _getdynamicparam = require("./get-dynamic-param"); function getParametrizedRoute(route, includeSuffix, includePrefix) { const groups = {}; let groupIndex = 1; const segments = []; for (const segment of (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split('/')){ const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m)); const paramMatches = segment.match(_getdynamicparam.PARAMETER_PATTERN) // Check for parameters ; if (markerMatch && paramMatches && paramMatches[2]) { const { key, optional, repeat } = (0, _getdynamicparam.parseMatchedParameter)(paramMatches[2]); groups[key] = { pos: groupIndex++, repeat, optional }; segments.push("/" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + "([^/]+?)"); } else if (paramMatches && paramMatches[2]) { const { key, repeat, optional } = (0, _getdynamicparam.parseMatchedParameter)(paramMatches[2]); groups[key] = { pos: groupIndex++, repeat, optional }; if (includePrefix && paramMatches[1]) { segments.push("/" + (0, _escaperegexp.escapeStringRegexp)(paramMatches[1])); } let s = repeat ? optional ? '(?:/(.+?))?' : '/(.+?)' : '/([^/]+?)'; // Remove the leading slash if includePrefix already added it. if (includePrefix && paramMatches[1]) { s = s.substring(1); } segments.push(s); } else { segments.push("/" + (0, _escaperegexp.escapeStringRegexp)(segment)); } // If there's a suffix, add it to the segments if it's enabled. if (includeSuffix && paramMatches && paramMatches[3]) { segments.push((0, _escaperegexp.escapeStringRegexp)(paramMatches[3])); } } return { parameterizedRoute: segments.join(''), groups }; } function getRouteRegex(normalizedRoute, param) { let { includeSuffix = false, includePrefix = false, excludeOptionalTrailingSlash = false } = param === void 0 ? {} : param; const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute, includeSuffix, includePrefix); let re = parameterizedRoute; if (!excludeOptionalTrailingSlash) { re += '(?:/)?'; } return { re: new RegExp("^" + re + "$"), groups: groups }; } /** * Builds a function to generate a minimal routeKey using only a-z and minimal * number of characters. */ function buildGetSafeRouteKey() { let i = 0; return ()=>{ let routeKey = ''; let j = ++i; while(j > 0){ routeKey += String.fromCharCode(97 + (j - 1) % 26); j = Math.floor((j - 1) / 26); } return routeKey; }; } function getSafeKeyFromSegment(param) { let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix, backreferenceDuplicateKeys } = param; const { key, optional, repeat } = (0, _getdynamicparam.parseMatchedParameter)(segment); // replace any non-word characters since they can break // the named regex let cleanedKey = key.replace(/\W/g, ''); if (keyPrefix) { cleanedKey = "" + keyPrefix + cleanedKey; } let invalidKey = false; // check if the key is still invalid and fallback to using a known // safe key if (cleanedKey.length === 0 || cleanedKey.length > 30) { invalidKey = true; } if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) { invalidKey = true; } if (invalidKey) { cleanedKey = getSafeRouteKey(); } const duplicateKey = cleanedKey in routeKeys; if (keyPrefix) { routeKeys[cleanedKey] = "" + keyPrefix + key; } else { routeKeys[cleanedKey] = key; } // if the segment has an interception marker, make sure that's part of the regex pattern // this is to ensure that the route with the interception marker doesn't incorrectly match // the non-intercepted route (ie /app/(.)[username] should not match /app/[username]) const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : ''; let pattern; if (duplicateKey && backreferenceDuplicateKeys) { // Use a backreference to the key to ensure that the key is the same value // in each of the placeholders. pattern = "\\k<" + cleanedKey + ">"; } else if (repeat) { pattern = "(?<" + cleanedKey + ">.+?)"; } else { pattern = "(?<" + cleanedKey + ">[^/]+?)"; } return optional ? "(?:/" + interceptionPrefix + pattern + ")?" : "/" + interceptionPrefix + pattern; } function getNamedParametrizedRoute(route, prefixRouteKeys, includeSuffix, includePrefix, backreferenceDuplicateKeys) { const getSafeRouteKey = buildGetSafeRouteKey(); const routeKeys = {}; const segments = []; for (const segment of (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split('/')){ const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m)); const paramMatches = segment.match(_getdynamicparam.PARAMETER_PATTERN) // Check for parameters ; if (hasInterceptionMarker && paramMatches && paramMatches[2]) { // If there's an interception marker, add it to the segments. segments.push(getSafeKeyFromSegment({ getSafeRouteKey, interceptionMarker: paramMatches[1], segment: paramMatches[2], routeKeys, keyPrefix: prefixRouteKeys ? _constants.NEXT_INTERCEPTION_MARKER_PREFIX : undefined, backreferenceDuplicateKeys })); } else if (paramMatches && paramMatches[2]) { // If there's a prefix, add it to the segments if it's enabled. if (includePrefix && paramMatches[1]) { segments.push("/" + (0, _escaperegexp.escapeStringRegexp)(paramMatches[1])); } let s = getSafeKeyFromSegment({ getSafeRouteKey, segment: paramMatches[2], routeKeys, keyPrefix: prefixRouteKeys ? _constants.NEXT_QUERY_PARAM_PREFIX : undefined, backreferenceDuplicateKeys }); // Remove the leading slash if includePrefix already added it. if (includePrefix && paramMatches[1]) { s = s.substring(1); } segments.push(s); } else { segments.push("/" + (0, _escaperegexp.escapeStringRegexp)(segment)); } // If there's a suffix, add it to the segments if it's enabled. if (includeSuffix && paramMatches && paramMatches[3]) { segments.push((0, _escaperegexp.escapeStringRegexp)(paramMatches[3])); } } return { namedParameterizedRoute: segments.join(''), routeKeys }; } function getNamedRouteRegex(normalizedRoute, options) { var _options_includeSuffix, _options_includePrefix, _options_backreferenceDuplicateKeys; const result = getNamedParametrizedRoute(normalizedRoute, options.prefixRouteKeys, (_options_includeSuffix = options.includeSuffix) != null ? _options_includeSuffix : false, (_options_includePrefix = options.includePrefix) != null ? _options_includePrefix : false, (_options_backreferenceDuplicateKeys = options.backreferenceDuplicateKeys) != null ? _options_backreferenceDuplicateKeys : false); let namedRegex = result.namedParameterizedRoute; if (!options.excludeOptionalTrailingSlash) { namedRegex += '(?:/)?'; } return { ...getRouteRegex(normalizedRoute, options), namedRegex: "^" + namedRegex + "$", routeKeys: result.routeKeys }; } function getNamedMiddlewareRegex(normalizedRoute, options) { const { parameterizedRoute } = getParametrizedRoute(normalizedRoute, false, false); const { catchAll = true } = options; if (parameterizedRoute === '/') { let catchAllRegex = catchAll ? '.*' : ''; return { namedRegex: "^/" + catchAllRegex + "$" }; } const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false, false, false, false); let catchAllGroupedRegex = catchAll ? '(?:(/.*)?)' : ''; return { namedRegex: "^" + namedParameterizedRoute + catchAllGroupedRegex + "$" }; } //# sourceMappingURL=route-regex.js.map
Save
cmd:
run