UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

29 lines (28 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const isInternalURL = require("../lib/isInternalURL.cjs"); const asLink = require("./asLink.cjs"); const isFilled = require("./isFilled.cjs"); const asLinkAttrs = (linkFieldOrDocument, config = {}) => { if (linkFieldOrDocument && // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - Bug in TypeScript 4.9: https://github.com/microsoft/TypeScript/issues/51501 ("link_type" in linkFieldOrDocument ? isFilled.link(linkFieldOrDocument) : linkFieldOrDocument)) { const target = ( // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - Bug in TypeScript 4.9: https://github.com/microsoft/TypeScript/issues/51501 "target" in linkFieldOrDocument ? linkFieldOrDocument.target : void 0 ); const rawHref = asLink.asLink(linkFieldOrDocument, config.linkResolver); const href = rawHref == null ? void 0 : rawHref; const isExternal = typeof href === "string" ? !isInternalURL.isInternalURL(href) : false; const rel = config.rel ? config.rel({ href, isExternal, target }) : isExternal ? "noreferrer" : void 0; return { href, target, rel: rel == null ? void 0 : rel }; } return {}; }; exports.asLinkAttrs = asLinkAttrs; //# sourceMappingURL=asLinkAttrs.cjs.map