@ragrabbit/mcp

by madarco
Verified
export function hyphenateUrl(url: string) { let urlObj; try { urlObj = new URL(url); } catch (e) { console.error(e, "Error parsing url: " + url); return url; } let domain = urlObj.hostname.replace(/^www\./, ""); let path = urlObj.pathname; let query = urlObj.search; // Extract domain and subdomain const domainParts = domain.split("."); domain = domainParts.length > 3 ? "..." + domainParts.slice(-3).join(".") : domain; // Process path const pathParts = path.split("/").filter(Boolean); path = pathParts.length > 0 ? `/.../${pathParts[pathParts.length - 1]}` : ""; // Process query string if (query.length > 1) { const queryParams = new URLSearchParams(query); query = Array.from(queryParams.keys()) .map((key) => { if (key.length > 10) { return key.substring(0, 10) + "..."; } return key; }) .join("\u00AD&"); query = query ? `?\u00AD${query}` : ""; } let result = `${domain}${path}${query}`; // Truncate if longer than 100 characters if (result.length > 100) { result = result.substring(0, 97) + "..."; } return result; }