53 lines
1.5 KiB
JavaScript
Executable File
53 lines
1.5 KiB
JavaScript
Executable File
"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
0 && (module.exports = {
|
|
DEFAULT_SEGMENT_KEY: null,
|
|
PAGE_SEGMENT_KEY: null,
|
|
addSearchParamsIfPageSegment: null,
|
|
isGroupSegment: null,
|
|
isParallelRouteSegment: null
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
DEFAULT_SEGMENT_KEY: function() {
|
|
return DEFAULT_SEGMENT_KEY;
|
|
},
|
|
PAGE_SEGMENT_KEY: function() {
|
|
return PAGE_SEGMENT_KEY;
|
|
},
|
|
addSearchParamsIfPageSegment: function() {
|
|
return addSearchParamsIfPageSegment;
|
|
},
|
|
isGroupSegment: function() {
|
|
return isGroupSegment;
|
|
},
|
|
isParallelRouteSegment: function() {
|
|
return isParallelRouteSegment;
|
|
}
|
|
});
|
|
function isGroupSegment(segment) {
|
|
// Use array[0] for performant purpose
|
|
return segment[0] === '(' && segment.endsWith(')');
|
|
}
|
|
function isParallelRouteSegment(segment) {
|
|
return segment.startsWith('@') && segment !== '@children';
|
|
}
|
|
function addSearchParamsIfPageSegment(segment, searchParams) {
|
|
const isPageSegment = segment.includes(PAGE_SEGMENT_KEY);
|
|
if (isPageSegment) {
|
|
const stringifiedQuery = JSON.stringify(searchParams);
|
|
return stringifiedQuery !== '{}' ? PAGE_SEGMENT_KEY + '?' + stringifiedQuery : PAGE_SEGMENT_KEY;
|
|
}
|
|
return segment;
|
|
}
|
|
const PAGE_SEGMENT_KEY = '__PAGE__';
|
|
const DEFAULT_SEGMENT_KEY = '__DEFAULT__';
|
|
|
|
//# sourceMappingURL=segment.js.map
|