@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
21 lines (20 loc) • 1.16 kB
TypeScript
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 {};