Tengo una URL que contiene muchos parámetros y necesito extraer solo el nombre de dominio para realizar una verificación solo en ese nombre de dominio. La aplicación en la que estoy codificando es una aplicación mecanografiada, trata la URL como un tipo en lugar de una cadena.
Originalmente estaba escribiendo un código que estaba en esta línea:
const hostnameExample = "http://www.foo.bar.com?search=www.google.com" //example of URL I'm trying to get just a domain of const cleanupParams2 = (url: string) => { let domain = new URL(url); return domain.hostname; } export const isExternalLink = (hostname?: string, goodDomains: string[] = []) => { return goodDomains.every((domain) => { if (hostname && !hostname.startsWith("#")) { return cleanupParams2(hostname).indexOf(domain) < 0; } }); };Recibo un mensaje de error en los scripts de prueba de mi unidad, realmente ni siquiera entiendo los mensajes de error que recibo o por qué los obtengo para ser honesto.
expect(jest.fn()).not.toHaveBeenCalled() Expected number of calls: 0 Received number of calls: 14 1: "Invalid URL: www.foo.bar.com·¿Qué estaría mal con el código fuente que arrojaría un error y/o qué demonios es ese error? Se lanza básicamente desde cualquier archivo que parezca estar usando directa o indirectamente la función isExternalLink. Sé que no estoy mostrando todo el código aquí, pero este es básicamente el código problemático.