UNPKG

@prismicio/mock

Version:

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

38 lines (37 loc) 1.83 kB
import * as prismic from "@prismicio/client"; import { ModelValueMap, Seed } from "../types"; import { MockBooleanValueConfig, MockColorValueConfig, MockContentRelationshipValueConfig, MockDateValueConfig, MockEmbedValueConfig, MockGeoPointValueConfig, MockGroupValueConfig, MockImageValueConfig, MockIntegrationFieldValueConfig, MockKeyTextValueConfig, MockLinkToMediaValueConfig, MockLinkValueConfig, MockNumberValueConfig, MockRichTextValueConfig, MockSelectValueConfig, MockSliceZoneValueConfig, MockTimestampValueConfig, MockTitleValueConfig, MockUIDValueConfig } from "../value"; import { Faker } from "./createFaker"; export type ValueForModelMapConfigs = { boolean?: MockBooleanValueConfig; color?: MockColorValueConfig; contentRelationship?: MockContentRelationshipValueConfig; date?: MockDateValueConfig; embed?: MockEmbedValueConfig; geoPoint?: MockGeoPointValueConfig; group?: MockGroupValueConfig; image?: MockImageValueConfig; integration?: MockIntegrationFieldValueConfig; keyText?: MockKeyTextValueConfig; link?: MockLinkValueConfig; linkToMedia?: MockLinkToMediaValueConfig; number?: MockNumberValueConfig; richText?: MockRichTextValueConfig; select?: MockSelectValueConfig; sliceZone?: MockSliceZoneValueConfig; timestamp?: MockTimestampValueConfig; title?: MockTitleValueConfig; uid?: MockUIDValueConfig; }; type ValueForModelMapConfig<ModelMap extends Record<string, prismic.CustomTypeModelField>> = { map: ModelMap; configs?: ValueForModelMapConfigs; } & ({ seed: Seed; faker?: never; } | { faker: Faker; seed?: never; }); export declare const valueForModelMap: <ModelMap extends Record<string, prismic.CustomTypeModelField>>(config: ValueForModelMapConfig<ModelMap>) => ModelValueMap<ModelMap>; export {};