@maizzle/framework
Version:
Maizzle is a framework that helps you quickly build HTML emails with Tailwind CSS.
31 lines (30 loc) • 888 B
JavaScript
import isUrl from "is-url-superb";
//#region src/utils/url.ts
const defaultTags = {
a: ["href"],
img: ["src", "srcset"],
video: ["src", "poster"],
source: ["src", "srcset"],
link: ["href"],
script: ["src"],
object: ["data"],
embed: ["src"],
iframe: ["src"],
"v:image": ["src"],
"v:fill": ["src"]
};
const urlAttributes = [...new Set(Object.values(defaultTags).flat())];
function isAbsoluteUrl(url) {
if (!url) return true;
return url.startsWith("//") || url.startsWith("#") || url.startsWith("?") || isUrl(url);
}
function processSrcset(srcset, baseUrl) {
return srcset.split(",").map((entry) => {
const parts = entry.trim().split(/\s+/);
if (parts[0] && !isAbsoluteUrl(parts[0])) parts[0] = baseUrl + parts[0];
return parts.join(" ");
}).join(", ");
}
//#endregion
export { defaultTags, isAbsoluteUrl, processSrcset, urlAttributes };
//# sourceMappingURL=url.js.map