UNPKG

@prismicio/mock

Version:

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

93 lines (92 loc) 6.48 kB
import * as prismic from "@prismicio/client"; import { Faker } from "../lib/createFaker"; import { GroupFieldModelMap, NestedGroupFieldModelMap, Seed, SlicePrimaryFieldModelMap, WithoutFakerConfig } from "../types"; import { MockBooleanModelConfig } from "./boolean"; import { BuildMockGroupFieldMapConfig } from "./buildMockGroupFieldMap"; import { MockColorModelConfig } from "./color"; import { MockContentRelationshipModelConfig } from "./contentRelationship"; import { MockCustomTypeModelConfig } from "./customType"; import { MockDateModelConfig } from "./date"; import { MockEmbedModelConfig } from "./embed"; import { MockGeoPointModelConfig } from "./geoPoint"; import { MockGroupModelConfig } from "./group"; import { MockImageModelConfig } from "./image"; import { MockIntegrationFieldModelConfig } from "./integration"; import { MockKeyTextModelConfig } from "./keyText"; import { MockLinkModelConfig } from "./link"; import { MockLinkToMediaModelConfig } from "./linkToMedia"; import { MockNumberModelConfig } from "./number"; import { MockRichTextModelConfig } from "./richText"; import { MockSelectModelConfig } from "./select"; import { MockSharedSliceModelConfig } from "./sharedSlice"; import { MockSharedSliceVariationModelConfig } from "./sharedSliceVariation"; import { MockSliceModelConfig } from "./slice"; import { MockSliceZoneModelConfig } from "./sliceZone"; import { MockTimestampModelConfig } from "./timestamp"; import { MockTitleModelConfig } from "./title"; import { MockUIDModelConfig } from "./uid"; import { MockTableModelConfig } from "./table"; export declare const createModelMockFactory: (config: ModelMockFactoryConfig) => ModelMockFactory; type ModelMockFactoryConfig = { seed: Seed; } | { faker: Faker; }; export declare class ModelMockFactory { private faker; constructor(config: ModelMockFactoryConfig); get seed(): Seed; buildMockGroupFieldMap(config?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>): NestedGroupFieldModelMap; boolean(config?: WithoutFakerConfig<MockBooleanModelConfig>): prismic.CustomTypeModelBooleanField; color(config?: WithoutFakerConfig<MockColorModelConfig>): prismic.CustomTypeModelColorField; contentRelationship<CustomTypeIDs extends string, Tags extends string>(config?: WithoutFakerConfig<MockContentRelationshipModelConfig<CustomTypeIDs, Tags>>): prismic.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags>; customType<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>): (Definition extends Record<string, prismic.CustomTypeModelField> ? prismic.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismic.CustomTypeModelDefinition ? prismic.CustomTypeModel<string, Definition> : never) & { label: string; }; date(config?: WithoutFakerConfig<MockDateModelConfig>): prismic.CustomTypeModelDateField; embed(config?: WithoutFakerConfig<MockEmbedModelConfig>): prismic.CustomTypeModelEmbedField; geoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>): prismic.CustomTypeModelGeoPointField; group<Fields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockGroupModelConfig<Fields>>): prismic.CustomTypeModelGroupField<Fields>; image<ThumbnailNames extends string = string>(config?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>): prismic.CustomTypeModelImageField<ThumbnailNames>; integration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>): prismic.CustomTypeModelIntegrationField; keyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>): prismic.CustomTypeModelKeyTextField; link<AllowTargetBlank extends boolean = boolean>(config?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>): prismic.CustomTypeModelLinkField & { config: AllowTargetBlank extends true ? { allowTargetBlank: true; } : { allowTargetBlank?: undefined; }; } & { config: { allowText: true; } | { allowText?: undefined; }; } & { config: { repeat: true; } | { repeat?: undefined; }; }; linkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>): prismic.CustomTypeModelLinkToMediaField & { config: { allowText: true; } | { allowText?: undefined; }; }; number(config?: WithoutFakerConfig<MockNumberModelConfig>): prismic.CustomTypeModelNumberField; richText<WithMultipleBlocks extends boolean = boolean>(config?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>): WithMultipleBlocks extends true ? prismic.CustomTypeModelRichTextMultiField : prismic.CustomTypeModelRichTextSingleField; select<Option extends string, DefaultOption extends Option>(config?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>): prismic.CustomTypeModelSelectField<Option, DefaultOption>; sharedSlice<Variation extends prismic.SharedSliceModelVariation>(config?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>): prismic.SharedSliceModel<string, Variation>; sharedSliceChoice(): prismic.CustomTypeModelSharedSlice; sharedSliceVariation<ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>; slice<NonRepeatFields extends NestedGroupFieldModelMap, RepeatFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>; sliceZone<Slices extends Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice>>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>): prismic.CustomTypeModelSliceZoneField<Slices>; table(config?: WithoutFakerConfig<MockTableModelConfig>): prismic.CustomTypeModelTableField; timestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>): prismic.CustomTypeModelTimestampField; title(config?: WithoutFakerConfig<MockTitleModelConfig>): prismic.CustomTypeModelRichTextSingleField; uid(config?: WithoutFakerConfig<MockUIDModelConfig>): prismic.CustomTypeModelUIDField; } export {};