MCPcopy Create free account
hub / github.com/Openpanel-dev/openpanel / parsePath

Function parsePath

packages/common/src/url.ts:11–49  ·  view source on GitHub ↗
(path?: string)

Source from the content-addressed store, hash-verified

9}
10
11export function parsePath(path?: string): {
12 query?: Record<string, string>;
13 path: string;
14 origin: string;
15 hash?: string;
16} {
17 if (!path) {
18 return {
19 path: '',
20 origin: '',
21 };
22 }
23
24 const hasOrigin = path.startsWith('http');
25
26 // If path does not have a leading /,
27 // its probably a named route
28 if (!path.startsWith('/') && !hasOrigin) {
29 return {
30 path,
31 origin: '',
32 };
33 }
34
35 try {
36 const url = new URL(path, hasOrigin ? undefined : 'http://localhost');
37 return {
38 query: parseSearchParams(url.searchParams),
39 path: url.pathname,
40 hash: url.hash || undefined,
41 origin: hasOrigin ? url.origin : '',
42 };
43 } catch (error) {
44 return {
45 path,
46 origin: '',
47 };
48 }
49}
50
51export function isSameDomain(
52 url1: string | undefined,

Callers 4

transformEventMethod · 0.90
transformEventMethod · 0.90
transformEventMethod · 0.90
incomingEventFunction · 0.90

Calls 1

parseSearchParamsFunction · 0.85

Tested by

no test coverage detected