UNPKG

@prismicio/helpers

Version:
22 lines (21 loc) 1.97 kB
import { FilledLinkToDocumentField, FilledLinkToMediaField, FilledLinkToWebField, LinkField, PrismicDocument } from "@prismicio/types"; import { LinkResolverFunction } from "./types"; /** * The return type of `asLink()`. */ type AsLinkReturnType<LinkResolverFunctionReturnType = string, Field extends LinkField | PrismicDocument | null | undefined = LinkField | PrismicDocument | null | undefined> = Field extends FilledLinkToWebField | FilledLinkToMediaField | FilledLinkToDocumentField | PrismicDocument ? LinkResolverFunctionReturnType | string | null : null; /** * Resolves any type of link field or document to a URL * * @typeParam LinkResolverFunctionReturnType - Link resolver function return * type * @param linkFieldOrDocument - Any kind of link field or a document to resolve * @param linkResolver - An optional link resolver function, without it you're * expected to use the `routes` options from the API * * @returns Resolved URL, null if provided link is empty * @see Prismic link resolver documentation: {@link https://prismic.io/docs/technologies/link-resolver-javascript} * @see Prismic API `routes` options documentation: {@link https://prismic.io/docs/technologies/route-resolver-nuxtjs} */ export declare const asLink: <LinkResolverFunctionReturnType = string, Field extends PrismicDocument<Record<string, any>, string, string> | FilledLinkToDocumentField<string, string, unknown> | import("@prismicio/types").EmptyLinkField<"Any"> | FilledLinkToWebField | FilledLinkToMediaField | null | undefined = PrismicDocument<Record<string, any>, string, string> | FilledLinkToDocumentField<string, string, unknown> | import("@prismicio/types").EmptyLinkField<"Any"> | FilledLinkToWebField | FilledLinkToMediaField | null | undefined>(linkFieldOrDocument: Field, linkResolver?: LinkResolverFunction<LinkResolverFunctionReturnType> | null | undefined) => AsLinkReturnType<LinkResolverFunctionReturnType, Field>; export {};