UNPKG

@prismicio/mock

Version:

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

21 lines (20 loc) 1.16 kB
import * as prismic from "@prismicio/client"; import { MockModelConfig } from "../types"; export type MockCustomTypeModelConfig<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition = prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition> = { id?: string; label?: string; status?: boolean; repeatable?: boolean; format?: prismic.CustomTypeModel["format"]; } & ({ fields?: Definition; tabs?: never; } | { tabs?: Definition; fields?: never; }) & MockModelConfig; type MockCustomTypeModel<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition> = (Definition extends prismic.CustomTypeModelTab ? prismic.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismic.CustomTypeModelDefinition ? prismic.CustomTypeModel<string, Definition> : never) & { label: NonNullable<prismic.CustomTypeModel["label"]>; }; export declare const customType: <Definition extends Record<string, prismic.CustomTypeModelField> | prismic.CustomTypeModelDefinition>(config: MockCustomTypeModelConfig<Definition>) => MockCustomTypeModel<Definition>; export {};