UNPKG

extract-hrefs

Version:

This library is used to extract hrefs from a given HTML string.

1 lines 1.58 kB
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import * as cheerio from \"cheerio\";\nimport normalizeUrl from \"normalize-url\";\n\nconst normalizeUrls = (links: string[]) => {\n return links.map(link => {\n try {\n return normalizeUrl(link, { stripWWW: false });\n } catch (error) {\n console.error(`Error normalizing URL: ${link}`, error);\n return link; // Return the original link if normalization fails\n }\n });\n};\n\nconst extractHrefs = (htmlString: string) => {\n if (!htmlString || typeof htmlString !== \"string\") {\n throw new Error(\"HTML string is required\");\n }\n\n const $ = cheerio.load(htmlString);\n const urls: string[] = [];\n\n $(\"a\").each((index, element) => {\n const href = $(element).attr(\"href\");\n if (href) {\n urls.push(href);\n }\n });\n\n return normalizeUrls(urls);\n}\n\nexport default extractHrefs;"],"mappings":";AAAA,YAAY,aAAa;AACzB,OAAO,kBAAkB;AAEzB,IAAM,gBAAgB,CAAC,UAAoB;AACvC,SAAO,MAAM,IAAI,UAAQ;AACrB,QAAI;AACA,aAAO,aAAa,MAAM,EAAE,UAAU,MAAM,CAAC;AAAA,IACjD,SAAS,OAAO;AACZ,cAAQ,MAAM,0BAA0B,IAAI,IAAI,KAAK;AACrD,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACL;AAEA,IAAM,eAAe,CAAC,eAAuB;AACzC,MAAI,CAAC,cAAc,OAAO,eAAe,UAAU;AAC/C,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAEA,QAAM,IAAY,aAAK,UAAU;AACjC,QAAM,OAAiB,CAAC;AAExB,IAAE,GAAG,EAAE,KAAK,CAAC,OAAO,YAAY;AAC5B,UAAM,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM;AACnC,QAAI,MAAM;AACN,WAAK,KAAK,IAAI;AAAA,IAClB;AAAA,EACJ,CAAC;AAED,SAAO,cAAc,IAAI;AAC7B;AAEA,IAAO,gBAAQ;","names":[]}