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