Newer
Older
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cleanupHiddenCharacters = exports.normalizePlainPart = void 0;
// this is a Node module. require is a must to work across different envs
const URL = require("url-parse");
if (sealRemovalOptions) {
text = removeSeal(text, sealRemovalOptions.sealUrl);
}
text = utils_1.normalizeTextSpacings(text);
return text.trim();
const patchOutlookSafelinksWrappers = (text) => {
const links = text.match(/<https:.+?(safelinks\.protection\.outlook\.com).+?>/g);
if (links) {
links.forEach((link) => {
const url = new URL(link.slice(1, link.length - 1), true);
const originalUrl = url.query["url"];
text = text.replace(link, `<${originalUrl}>`);
});
}
return text;
};
const removeSeal = (plain, sealUrl) => {
// For cases [<image-alt>]<<seal-url>>
const sealRegex = `\\[.+?]\\s*<${sealUrl}>`;
// For cases <<seal-url>>[<image-alt>]
const sealRegexReversed = `<${sealUrl}>\\s*\\[.+?]`;
return plain
.replace(new RegExp(sealRegex), "")
.replace(new RegExp(sealRegexReversed), "");