[READ-ONLY] a fast, modern browser for the npm registry
at main 22 lines 611 B view raw
1/** 2 * Parses Nitro router segments into packageName and an optional version 3 * Handles patterns: [pkg], [pkg, 'v', version], [@scope, pkg], [@scope, pkg, 'v', version] 4 */ 5export function parsePackageParams(segments: string[]): { 6 rawPackageName: string 7 rawVersion: string | undefined 8} { 9 const vIndex = segments.indexOf('v') 10 11 if (vIndex !== -1 && vIndex < segments.length - 1) { 12 return { 13 rawPackageName: segments.slice(0, vIndex).join('/'), 14 rawVersion: segments.slice(vIndex + 1).join('/'), 15 } 16 } 17 18 return { 19 rawPackageName: segments.join('/'), 20 rawVersion: undefined, 21 } 22}