UNPKG

@prismicio/mock

Version:

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

70 lines (69 loc) 5.89 kB
import { Faker } from "../lib/createFaker.js"; import { GroupFieldModelMap, NestedGroupFieldModelMap, Seed, SlicePrimaryFieldModelMap, WithoutFakerConfig } from "../types.js"; import { MockBooleanModelConfig } from "./boolean.js"; import { MockColorModelConfig } from "./color.js"; import { MockContentRelationshipModelConfig } from "./contentRelationship.js"; import { MockCustomTypeModelConfig, customType } from "./customType.js"; import { MockDateModelConfig } from "./date.js"; import { MockEmbedModelConfig } from "./embed.js"; import { MockGeoPointModelConfig } from "./geoPoint.js"; import { MockGroupModelConfig } from "./group.js"; import { MockImageModelConfig } from "./image.js"; import { MockIntegrationFieldModelConfig } from "./integration.js"; import { MockKeyTextModelConfig } from "./keyText.js"; import { MockLinkModelConfig, link } from "./link.js"; import { MockLinkToMediaModelConfig, linkToMedia } from "./linkToMedia.js"; import { MockNumberModelConfig } from "./number.js"; import { MockRichTextModelConfig, richText } from "./richText.js"; import { MockSelectModelConfig } from "./select.js"; import { MockSharedSliceModelConfig } from "./sharedSlice.js"; import { MockSharedSliceVariationModelConfig } from "./sharedSliceVariation.js"; import { MockSliceModelConfig } from "./slice.js"; import { MockSliceZoneModelConfig } from "./sliceZone.js"; import { MockTimestampModelConfig } from "./timestamp.js"; import { MockTitleModelConfig } from "./title.js"; import { MockUIDModelConfig } from "./uid.js"; import { MockTableModelConfig } from "./table.js"; import { BuildMockGroupFieldMapConfig } from "./buildMockGroupFieldMap.js"; import * as prismic from "@prismicio/client"; //#region src/model/createModelMockFactory.d.ts declare const createModelMockFactory: (...args: ConstructorParameters<typeof ModelMockFactory>) => ModelMockFactory; type ModelMockFactoryConfig = { seed: Seed; } | { faker: Faker; }; 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>>): ReturnType<typeof customType<Definition>>; 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>>): ReturnType<typeof link<AllowTargetBlank>>; linkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>): ReturnType<typeof linkToMedia>; number(config?: WithoutFakerConfig<MockNumberModelConfig>): prismic.CustomTypeModelNumberField; richText<WithMultipleBlocks extends boolean = boolean>(config?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>): ReturnType<typeof richText<WithMultipleBlocks>>; 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.CustomTypeModelTitleField; uid(config?: WithoutFakerConfig<MockUIDModelConfig>): prismic.CustomTypeModelUIDField; } //#endregion export { ModelMockFactory, createModelMockFactory }; //# sourceMappingURL=createModelMockFactory.d.ts.map