Files
news-reader-actions-test/utils/url.ts
2025-11-27 21:18:43 +08:00

24 lines
633 B
TypeScript

export const normalizeUrl = (url: string) => {
let cleanUrl = url.trim();
if (!cleanUrl.startsWith('http://') && !cleanUrl.startsWith('https://')) {
return `https://${cleanUrl}`;
}
return cleanUrl;
};
export const getDisplayUrl = (url: string): { href: string; hostname: string } => {
const normalized = normalizeUrl(url);
try {
const parsed = new URL(normalized);
return { href: normalized, hostname: parsed.hostname };
} catch {
try {
const fallback = new URL(url);
return { href: url, hostname: fallback.hostname };
} catch {
return { href: url, hostname: url };
}
}
};