diff --git a/dist/HTMLNormalizer/HTMLNormalizer.js b/dist/HTMLNormalizer/HTMLNormalizer.js index 1cf9605dbd1c344b46a44d14203c567bfa746d05..839adf3cdad35407f475a1704094fa7e996da467 100644 --- a/dist/HTMLNormalizer/HTMLNormalizer.js +++ b/dist/HTMLNormalizer/HTMLNormalizer.js @@ -102,7 +102,8 @@ const printHtmlNode = (node, printFunction, depth) => { if (node.firstChild) { result += ">"; result += "\n"; - result += exports.printHtmlChildren(node, printFunction, depth + 1); + const printout = exports.printHtmlChildren(node, printFunction, depth + 1); + result += printout; result += "</" + node.nodeName + ">"; } else { @@ -115,7 +116,7 @@ const printHtmlNode = (node, printFunction, depth) => { }; exports.printHtmlNode = printHtmlNode; const cleanupHtmlNodeAttributes = (node, cleanupElementAttributes) => { - if (node.nodeType === node.ELEMENT_NODE) { + if (node.nodeType === constants_1.ELEMENT_NODE) { cleanupElementAttributes(node); } let child = node.firstChild; @@ -128,8 +129,8 @@ exports.cleanupHtmlNodeAttributes = cleanupHtmlNodeAttributes; const pruneHtmlNode = (node, pruneElement) => { let toBeRemoved = false; switch (node.nodeType) { - case node.COMMENT_NODE: - case node.DOCUMENT_TYPE_NODE: + case constants_1.COMMENT_NODE: + case constants_1.DOCUMENT_TYPE_NODE: toBeRemoved = true; break; case node.TEXT_NODE: { @@ -142,7 +143,7 @@ const pruneHtmlNode = (node, pruneElement) => { } break; } - case node.ELEMENT_NODE: + case constants_1.ELEMENT_NODE: toBeRemoved = pruneElement(node); } if (toBeRemoved) { @@ -169,7 +170,7 @@ const escapeHtmlString = (string) => { let html = ""; let index = 0; let lastIndex = 0; - for (let index = match.index; index < str.length; index++) { + for (index = match.index; index < str.length; index++) { switch (str.charCodeAt(index)) { case 34: // " escape = """; diff --git a/dist/HTMLNormalizer/strategies/common.js b/dist/HTMLNormalizer/strategies/common.js index 26712527557f0086d98de0589865476de62f1739..edd79a771b6600a0a32672d8f98a20669303ea65 100644 --- a/dist/HTMLNormalizer/strategies/common.js +++ b/dist/HTMLNormalizer/strategies/common.js @@ -43,7 +43,7 @@ const pruneElement = (element) => { exports.pruneElement = pruneElement; const cloneAnchorFromPane = (a, pane) => { try { - const url = new URL(a.href); + const url = new URL(a.getAttribute("href")); // If this is external url if (url.host && url.protocol) { pane.parentNode.insertBefore(a.cloneNode(false), pane); diff --git a/dist/HTMLNormalizer/strategies/gmail.js b/dist/HTMLNormalizer/strategies/gmail.js index 2faccd189909c4df2d77cf6076fc104d8b180b15..d179dc21794aea0fc1eba35678477a9527928a22 100644 --- a/dist/HTMLNormalizer/strategies/gmail.js +++ b/dist/HTMLNormalizer/strategies/gmail.js @@ -13,8 +13,8 @@ const amendGmailNodes = (document) => { */ const attachmentsPanes = Array.from(document.getElementsByClassName("gmail_chip")); attachmentsPanes.forEach((pane) => { - const as = pane.querySelectorAll("a"); - as.forEach((a) => { + const as = pane.getElementsByTagName("a"); + Array.from(as).forEach((a) => { common_1.cloneAnchorFromPane(a, pane); }); }); diff --git a/dist/constants.d.ts b/dist/constants.d.ts index 0fd8b9d434473f6c2a57db12f55e2af5c5591083..5ace58f155a0f1cd981a5bf5ae20be85e396f2e8 100644 --- a/dist/constants.d.ts +++ b/dist/constants.d.ts @@ -1,4 +1,6 @@ export declare const ELEMENT_NODE = 1; +export declare const COMMENT_NODE = 8; +export declare const DOCUMENT_TYPE_NODE = 10; export declare const TEXT_NODE = 3; export declare const DOCUMENT_NODE = 9; export declare const EMAIL_VENDORS: { diff --git a/dist/constants.js b/dist/constants.js index 9b8e0062b3859dbec0dd886609504ddf805cbf61..a02993813e78f9f81adfd62f3ed96b5b2f3f9a06 100644 --- a/dist/constants.js +++ b/dist/constants.js @@ -1,7 +1,9 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.EMAIL_VENDORS = exports.DOCUMENT_NODE = exports.TEXT_NODE = exports.ELEMENT_NODE = void 0; +exports.EMAIL_VENDORS = exports.DOCUMENT_NODE = exports.TEXT_NODE = exports.DOCUMENT_TYPE_NODE = exports.COMMENT_NODE = exports.ELEMENT_NODE = void 0; exports.ELEMENT_NODE = 1; +exports.COMMENT_NODE = 8; +exports.DOCUMENT_TYPE_NODE = 10; exports.TEXT_NODE = 3; exports.DOCUMENT_NODE = 9; exports.EMAIL_VENDORS = {