Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
22 lines
No EOL
756 B
Text
22 lines
No EOL
756 B
Text
import { searchParamsToUrlQuery } from './querystring';
|
|
import { parseRelativeUrl } from './parse-relative-url';
|
|
export function parseUrl(url) {
|
|
if (url.startsWith('/')) {
|
|
return parseRelativeUrl(url);
|
|
}
|
|
const parsedURL = new URL(url);
|
|
return {
|
|
hash: parsedURL.hash,
|
|
hostname: parsedURL.hostname,
|
|
href: parsedURL.href,
|
|
pathname: parsedURL.pathname,
|
|
port: parsedURL.port,
|
|
protocol: parsedURL.protocol,
|
|
query: searchParamsToUrlQuery(parsedURL.searchParams),
|
|
search: parsedURL.search,
|
|
origin: parsedURL.origin,
|
|
slashes: parsedURL.href.slice(parsedURL.protocol.length, parsedURL.protocol.length + 2) === '//'
|
|
};
|
|
}
|
|
|
|
//# sourceMappingURL=parse-url.js.map |