{"version":3,"file":"createModelMockFactory.cjs","names":["createFaker","buildMockGroupFieldMap","boolean","color","contentRelationship","customType","date","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceChoice","sharedSliceVariation","slice","sliceZone","table","timestamp","title","uid"],"sources":["../../src/model/createModelMockFactory.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { createFaker, type Faker } from \"../lib/createFaker\"\nimport type {\n\tGroupFieldModelMap,\n\tNestedGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\"\nimport { boolean, type MockBooleanModelConfig } from \"./boolean\"\nimport { buildMockGroupFieldMap, type BuildMockGroupFieldMapConfig } from \"./buildMockGroupFieldMap\"\nimport { color, type MockColorModelConfig } from \"./color\"\nimport { contentRelationship, type MockContentRelationshipModelConfig } from \"./contentRelationship\"\nimport { customType, type MockCustomTypeModelConfig } from \"./customType\"\nimport { date, type MockDateModelConfig } from \"./date\"\nimport { embed, type MockEmbedModelConfig } from \"./embed\"\nimport { geoPoint, type MockGeoPointModelConfig } from \"./geoPoint\"\nimport { group, type MockGroupModelConfig } from \"./group\"\nimport { image, type MockImageModelConfig } from \"./image\"\nimport { integration, type MockIntegrationFieldModelConfig } from \"./integration\"\nimport { keyText, type MockKeyTextModelConfig } from \"./keyText\"\nimport { link, type MockLinkModelConfig } from \"./link\"\nimport { linkToMedia, type MockLinkToMediaModelConfig } from \"./linkToMedia\"\nimport { number, type MockNumberModelConfig } from \"./number\"\nimport { richText, type MockRichTextModelConfig } from \"./richText\"\nimport { select, type MockSelectModelConfig } from \"./select\"\nimport { sharedSlice, type MockSharedSliceModelConfig } from \"./sharedSlice\"\nimport { sharedSliceChoice } from \"./sharedSliceChoice\"\nimport {\n\tsharedSliceVariation,\n\ttype MockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\"\nimport { slice, type MockSliceModelConfig } from \"./slice\"\nimport { sliceZone, type MockSliceZoneModelConfig } from \"./sliceZone\"\nimport { type MockTableModelConfig, table } from \"./table\"\nimport { timestamp, type MockTimestampModelConfig } from \"./timestamp\"\nimport { title, type MockTitleModelConfig } from \"./title\"\nimport { uid, type MockUIDModelConfig } from \"./uid\"\n\nexport const createModelMockFactory = (\n\t...args: ConstructorParameters<typeof ModelMockFactory>\n): ModelMockFactory => {\n\treturn new ModelMockFactory(...args)\n}\n\ntype ModelMockFactoryConfig =\n\t| {\n\t\t\tseed: Seed\n\t  }\n\t| {\n\t\t\tfaker: Faker\n\t  }\n\nexport class ModelMockFactory {\n\tprivate faker: Faker\n\n\tconstructor(config: ModelMockFactoryConfig) {\n\t\tthis.faker = \"faker\" in config ? config.faker : createFaker(config.seed)\n\t}\n\n\tget seed(): Seed {\n\t\treturn this.faker.seed\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t): NestedGroupFieldModelMap {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker })\n\t}\n\n\tboolean(\n\t\tconfig?: WithoutFakerConfig<MockBooleanModelConfig>,\n\t): prismic.CustomTypeModelBooleanField {\n\t\treturn boolean({ ...config, faker: this.faker })\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>): prismic.CustomTypeModelColorField {\n\t\treturn color({ ...config, faker: this.faker })\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<MockContentRelationshipModelConfig<CustomTypeIDs, Tags>>,\n\t): prismic.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> {\n\t\treturn contentRelationship({ ...config, faker: this.faker })\n\t}\n\n\tcustomType<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition>(\n\t\tconfig?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>,\n\t): ReturnType<typeof customType<Definition>> {\n\t\treturn customType({ ...config, faker: this.faker })\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>): prismic.CustomTypeModelDateField {\n\t\treturn date({ ...config, faker: this.faker })\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>): prismic.CustomTypeModelEmbedField {\n\t\treturn embed({ ...config, faker: this.faker })\n\t}\n\n\tgeoPoint(\n\t\tconfig?: WithoutFakerConfig<MockGeoPointModelConfig>,\n\t): prismic.CustomTypeModelGeoPointField {\n\t\treturn geoPoint({ ...config, faker: this.faker })\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t): prismic.CustomTypeModelGroupField<Fields> {\n\t\treturn group({ ...config, faker: this.faker })\n\t}\n\n\timage<ThumbnailNames extends string = string>(\n\t\tconfig?: WithoutFakerConfig<MockImageModelConfig<ThumbnailNames>>,\n\t): prismic.CustomTypeModelImageField<ThumbnailNames> {\n\t\treturn image({ ...config, faker: this.faker })\n\t}\n\n\tintegration(\n\t\tconfig?: WithoutFakerConfig<MockIntegrationFieldModelConfig>,\n\t): prismic.CustomTypeModelIntegrationField {\n\t\treturn integration({ ...config, faker: this.faker })\n\t}\n\n\tkeyText(\n\t\tconfig?: WithoutFakerConfig<MockKeyTextModelConfig>,\n\t): prismic.CustomTypeModelKeyTextField {\n\t\treturn keyText({ ...config, faker: this.faker })\n\t}\n\n\tlink<AllowTargetBlank extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockLinkModelConfig<AllowTargetBlank>>,\n\t): ReturnType<typeof link<AllowTargetBlank>> {\n\t\treturn link({ ...config, faker: this.faker })\n\t}\n\n\tlinkToMedia(\n\t\tconfig?: WithoutFakerConfig<MockLinkToMediaModelConfig>,\n\t): ReturnType<typeof linkToMedia> {\n\t\treturn linkToMedia({ ...config, faker: this.faker })\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>): prismic.CustomTypeModelNumberField {\n\t\treturn number({ ...config, faker: this.faker })\n\t}\n\n\trichText<WithMultipleBlocks extends boolean = boolean>(\n\t\tconfig?: WithoutFakerConfig<MockRichTextModelConfig<WithMultipleBlocks>>,\n\t): ReturnType<typeof richText<WithMultipleBlocks>> {\n\t\treturn richText({ ...config, faker: this.faker })\n\t}\n\n\tselect<Option extends string, DefaultOption extends Option>(\n\t\tconfig?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>,\n\t): prismic.CustomTypeModelSelectField<Option, DefaultOption> {\n\t\treturn select({ ...config, faker: this.faker })\n\t}\n\n\tsharedSlice<Variation extends prismic.SharedSliceModelVariation>(\n\t\tconfig?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>,\n\t): prismic.SharedSliceModel<string, Variation> {\n\t\treturn sharedSlice({ ...config, faker: this.faker })\n\t}\n\n\tsharedSliceChoice(): prismic.CustomTypeModelSharedSlice {\n\t\treturn sharedSliceChoice()\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker })\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>,\n\t): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> {\n\t\treturn slice({ ...config, faker: this.faker })\n\t}\n\n\tsliceZone<\n\t\tSlices extends Record<\n\t\t\tstring,\n\t\t\tprismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice\n\t\t>,\n\t>(\n\t\tconfig?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>,\n\t): prismic.CustomTypeModelSliceZoneField<Slices> {\n\t\treturn sliceZone({ ...config, faker: this.faker })\n\t}\n\n\ttable(config?: WithoutFakerConfig<MockTableModelConfig>): prismic.CustomTypeModelTableField {\n\t\treturn table({ ...config, faker: this.faker })\n\t}\n\n\ttimestamp(\n\t\tconfig?: WithoutFakerConfig<MockTimestampModelConfig>,\n\t): prismic.CustomTypeModelTimestampField {\n\t\treturn timestamp({ ...config, faker: this.faker })\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>): prismic.CustomTypeModelTitleField {\n\t\treturn title({ ...config, faker: this.faker })\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>): prismic.CustomTypeModelUIDField {\n\t\treturn uid({ ...config, faker: this.faker })\n\t}\n}\n"],"mappings":"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"}