UNPKG

@prismicio/mock

Version:

Generate mock Prismic documents, fields, Slices, and models for development and testing environments

15 lines (14 loc) 1.89 kB
import { MockValueConfig, MockValueStateConfig } from "../types.cjs"; import * as prismic from "@prismicio/client"; //#region src/value/link.d.ts type MockLinkValueConfig<LinkType extends (typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType], Model extends prismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField, State extends prismic.FieldState = prismic.FieldState> = { type?: LinkType; withTargetBlank?: NonNullable<Model["config"]>["allowTargetBlank"] extends undefined ? false : boolean; withText?: NonNullable<Model["config"]>["allowText"] extends undefined ? false : boolean; /** A list of potential documents to which the field can be linked. */ linkableDocuments?: LinkType extends typeof prismic.LinkType.Document ? prismic.PrismicDocument[] : never; } & MockValueConfig<Model> & MockValueStateConfig<State>; type MockLinkValue<LinkType extends (typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType], State extends prismic.FieldState = "filled"> = State extends "empty" ? prismic.EmptyLinkField<LinkType> : LinkType extends typeof prismic.LinkType.Web ? prismic.FilledLinkToWebField : LinkType extends typeof prismic.LinkType.Media ? prismic.FilledLinkToMediaField : LinkType extends typeof prismic.LinkType.Document ? prismic.FilledContentRelationshipField : never; declare const link: <LinkType extends (typeof prismic.LinkType)[keyof typeof prismic.LinkType] = (typeof prismic.LinkType)[keyof typeof prismic.LinkType], Model extends prismic.CustomTypeModelLinkField = prismic.CustomTypeModelLinkField, State extends prismic.FieldState = "filled">(config: MockLinkValueConfig<LinkType, Model, State>) => MockLinkValue<LinkType, State>; //#endregion export { MockLinkValue, MockLinkValueConfig, link }; //# sourceMappingURL=link.d.cts.map