UNPKG

@prismicio/client

Version:

The official JavaScript + TypeScript client library for Prismic

29 lines (28 loc) 1.22 kB
import { isInternalURL } from "../lib/isInternalURL.js"; import { asLink } from "./asLink.js"; import { link } from "./isFilled.js"; 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 ? 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(linkFieldOrDocument, config.linkResolver); const href = rawHref == null ? void 0 : rawHref; const isExternal = typeof href === "string" ? !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 {}; }; export { asLinkAttrs }; //# sourceMappingURL=asLinkAttrs.js.map