@prismicio/mock 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"createModelMockFactory.cjs","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, 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() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\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) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\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) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\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) {\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) {\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) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends GroupFieldModelMap,\n\t\tItemsFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends GroupFieldModelMap,\n\t\tRepeatFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\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>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","buildMockGroupFieldMap","boolean","color","contentRelationship","customType","date","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceChoice","sharedSliceVariation","slice","sliceZone","timestamp","title","uid"],"mappings":"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"}
1
+ {"version":3,"file":"createModelMockFactory.cjs","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, 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() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\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) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\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) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\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) {\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) {\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) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends GroupFieldModelMap,\n\t\tRepeatFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\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>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":["createFaker","buildMockGroupFieldMap","boolean","color","contentRelationship","customType","date","embed","geoPoint","group","image","integration","keyText","link","linkToMedia","number","richText","select","sharedSlice","sharedSliceChoice","sharedSliceVariation","slice","sliceZone","timestamp","title","uid"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as prismic from "@prismicio/client";
2
2
  import { Faker } from "../lib/createFaker";
3
- import { GroupFieldModelMap, Seed, WithoutFakerConfig } from "../types";
3
+ import { GroupFieldModelMap, Seed, SlicePrimaryFieldModelMap, WithoutFakerConfig } from "../types";
4
4
  import { MockBooleanModelConfig } from "./boolean";
5
5
  import { BuildMockGroupFieldMapConfig } from "./buildMockGroupFieldMap";
6
6
  import { MockColorModelConfig } from "./color";
@@ -39,7 +39,9 @@ export declare class ModelMockFactory {
39
39
  boolean(config?: WithoutFakerConfig<MockBooleanModelConfig>): prismic.CustomTypeModelBooleanField;
40
40
  color(config?: WithoutFakerConfig<MockColorModelConfig>): prismic.CustomTypeModelColorField;
41
41
  contentRelationship<CustomTypeIDs extends string, Tags extends string>(config?: WithoutFakerConfig<MockContentRelationshipModelConfig<CustomTypeIDs, Tags>>): prismic.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags>;
42
- 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;
42
+ 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) & {
43
+ label: string;
44
+ };
43
45
  date(config?: WithoutFakerConfig<MockDateModelConfig>): prismic.CustomTypeModelDateField;
44
46
  embed(config?: WithoutFakerConfig<MockEmbedModelConfig>): prismic.CustomTypeModelEmbedField;
45
47
  geoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>): prismic.CustomTypeModelGeoPointField;
@@ -54,7 +56,7 @@ export declare class ModelMockFactory {
54
56
  select<Option extends string, DefaultOption extends Option>(config?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>): prismic.CustomTypeModelSelectField<Option, DefaultOption>;
55
57
  sharedSlice<Variation extends prismic.SharedSliceModelVariation>(config?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>): prismic.SharedSliceModel<string, Variation>;
56
58
  sharedSliceChoice(): prismic.CustomTypeModelSharedSlice;
57
- sharedSliceVariation<ID extends string, PrimaryFields extends GroupFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
59
+ sharedSliceVariation<ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
58
60
  slice<NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
59
61
  sliceZone<Slices extends Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice>>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>): prismic.CustomTypeModelSliceZoneField<Slices>;
60
62
  timestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>): prismic.CustomTypeModelTimestampField;
@@ -1 +1 @@
1
- {"version":3,"file":"createModelMockFactory.js","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, Seed, WithoutFakerConfig } from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, 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() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\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) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\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) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\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) {\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) {\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) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends GroupFieldModelMap,\n\t\tItemsFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends GroupFieldModelMap,\n\t\tRepeatFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\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>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createModelMockFactory.js","sources":["../../../src/model/createModelMockFactory.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker, Faker } from \"../lib/createFaker\";\n\nimport {\n\tGroupFieldModelMap,\n\tSeed,\n\tSlicePrimaryFieldModelMap,\n\tWithoutFakerConfig,\n} from \"../types\";\n\nimport { boolean, MockBooleanModelConfig } from \"./boolean\";\nimport {\n\tbuildMockGroupFieldMap,\n\tBuildMockGroupFieldMapConfig,\n} from \"./buildMockGroupFieldMap\";\nimport { color, MockColorModelConfig } from \"./color\";\nimport {\n\tcontentRelationship,\n\tMockContentRelationshipModelConfig,\n} from \"./contentRelationship\";\nimport { customType, MockCustomTypeModelConfig } from \"./customType\";\nimport { date, MockDateModelConfig } from \"./date\";\nimport { embed, MockEmbedModelConfig } from \"./embed\";\nimport { geoPoint, MockGeoPointModelConfig } from \"./geoPoint\";\nimport { group, MockGroupModelConfig } from \"./group\";\nimport { image, MockImageModelConfig } from \"./image\";\nimport { integration, MockIntegrationFieldModelConfig } from \"./integration\";\nimport { keyText, MockKeyTextModelConfig } from \"./keyText\";\nimport { link, MockLinkModelConfig } from \"./link\";\nimport { linkToMedia, MockLinkToMediaModelConfig } from \"./linkToMedia\";\nimport { number, MockNumberModelConfig } from \"./number\";\nimport { richText, MockRichTextModelConfig } from \"./richText\";\nimport { select, MockSelectModelConfig } from \"./select\";\nimport { sharedSlice, MockSharedSliceModelConfig } from \"./sharedSlice\";\nimport { sharedSliceChoice } from \"./sharedSliceChoice\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationModelConfig,\n} from \"./sharedSliceVariation\";\nimport { slice, MockSliceModelConfig } from \"./slice\";\nimport { sliceZone, MockSliceZoneModelConfig } from \"./sliceZone\";\nimport { timestamp, MockTimestampModelConfig } from \"./timestamp\";\nimport { title, MockTitleModelConfig } from \"./title\";\nimport { uid, 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() {\n\t\treturn this.faker.seed;\n\t}\n\n\tbuildMockGroupFieldMap(\n\t\tconfig?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>,\n\t) {\n\t\treturn buildMockGroupFieldMap({ ...config, faker: this.faker });\n\t}\n\n\tboolean(config?: WithoutFakerConfig<MockBooleanModelConfig>) {\n\t\treturn boolean({ ...config, faker: this.faker });\n\t}\n\n\tcolor(config?: WithoutFakerConfig<MockColorModelConfig>) {\n\t\treturn color({ ...config, faker: this.faker });\n\t}\n\n\tcontentRelationship<CustomTypeIDs extends string, Tags extends string>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockContentRelationshipModelConfig<CustomTypeIDs, Tags>\n\t\t>,\n\t) {\n\t\treturn contentRelationship({ ...config, faker: this.faker });\n\t}\n\n\tcustomType<\n\t\tDefinition extends\n\t\t\t| prismic.CustomTypeModelTab\n\t\t\t| prismic.CustomTypeModelDefinition,\n\t>(config?: WithoutFakerConfig<MockCustomTypeModelConfig<Definition>>) {\n\t\treturn customType({ ...config, faker: this.faker });\n\t}\n\n\tdate(config?: WithoutFakerConfig<MockDateModelConfig>) {\n\t\treturn date({ ...config, faker: this.faker });\n\t}\n\n\tembed(config?: WithoutFakerConfig<MockEmbedModelConfig>) {\n\t\treturn embed({ ...config, faker: this.faker });\n\t}\n\n\tgeoPoint(config?: WithoutFakerConfig<MockGeoPointModelConfig>) {\n\t\treturn geoPoint({ ...config, faker: this.faker });\n\t}\n\n\tgroup<Fields extends GroupFieldModelMap>(\n\t\tconfig?: WithoutFakerConfig<MockGroupModelConfig<Fields>>,\n\t) {\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) {\n\t\treturn image({ ...config, faker: this.faker });\n\t}\n\n\tintegration(config?: WithoutFakerConfig<MockIntegrationFieldModelConfig>) {\n\t\treturn integration({ ...config, faker: this.faker });\n\t}\n\n\tkeyText(config?: WithoutFakerConfig<MockKeyTextModelConfig>) {\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) {\n\t\treturn link({ ...config, faker: this.faker });\n\t}\n\n\tlinkToMedia(config?: WithoutFakerConfig<MockLinkToMediaModelConfig>) {\n\t\treturn linkToMedia({ ...config, faker: this.faker });\n\t}\n\n\tnumber(config?: WithoutFakerConfig<MockNumberModelConfig>) {\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) {\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) {\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) {\n\t\treturn sharedSlice({ ...config, faker: this.faker });\n\t}\n\n\tsharedSliceChoice() {\n\t\treturn sharedSliceChoice();\n\t}\n\n\tsharedSliceVariation<\n\t\tID extends string,\n\t\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\t\tItemsFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>\n\t\t>,\n\t) {\n\t\treturn sharedSliceVariation({ ...config, faker: this.faker });\n\t}\n\n\tslice<\n\t\tNonRepeatFields extends GroupFieldModelMap,\n\t\tRepeatFields extends GroupFieldModelMap,\n\t>(\n\t\tconfig?: WithoutFakerConfig<\n\t\t\tMockSliceModelConfig<NonRepeatFields, RepeatFields>\n\t\t>,\n\t) {\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>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>) {\n\t\treturn sliceZone({ ...config, faker: this.faker });\n\t}\n\n\ttimestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>) {\n\t\treturn timestamp({ ...config, faker: this.faker });\n\t}\n\n\ttitle(config?: WithoutFakerConfig<MockTitleModelConfig>) {\n\t\treturn title({ ...config, faker: this.faker });\n\t}\n\n\tuid(config?: WithoutFakerConfig<MockUIDModelConfig>) {\n\t\treturn uid({ ...config, faker: this.faker });\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"customType.cjs","sources":["../../../src/model/customType.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition =\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\n\tformat?: prismic.CustomTypeModel[\"format\"];\n} & (\n\t| {\n\t\t\tfields?: Definition;\n\t\t\ttabs?: never;\n\t }\n\t| {\n\t\t\ttabs?: Definition;\n\t\t\tfields?: never;\n\t }\n) &\n\tMockModelConfig;\n\ntype MockCustomTypeModel<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = Definition extends prismic.CustomTypeModelTab\n\t? prismic.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismic.CustomTypeModelDefinition\n\t\t? prismic.CustomTypeModel<string, Definition>\n\t\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition>,\n): MockCustomTypeModel<Definition> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: string = config.id || changeCase.snakeCase(label);\n\n\tif (config.id && !config.label) {\n\t\tlabel = changeCase.capitalCase(config.id);\n\t} else if (config.label && !config.label) {\n\t\tid = changeCase.snakeCase(config.label);\n\t}\n\n\tconst format = config.format ?? faker.randomElement([\"page\", \"custom\"]);\n\n\tlet json = {} as MockCustomTypeModel<Definition>[\"json\"];\n\n\tif (\"fields\" in config && config.fields) {\n\t\tjson = { Main: config.fields } as typeof json;\n\t} else if (\"tabs\" in config && config.tabs) {\n\t\tjson = config.tabs as typeof json;\n\t}\n\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tstatus: config.status ?? faker.boolean(),\n\t\trepeatable: config.repeatable ?? faker.boolean(),\n\t\tformat,\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n"],"names":["createFaker","changeCase.capitalCase","changeCase.snakeCase"],"mappings":";;;;AAyCa,MAAA,aAAa,CAKzB,WACoC;AACpC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,MAAI,QACH,OAAO,SAASC,MAAuB,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,MAAI,KAAa,OAAO,MAAMC,gBAAqB,KAAK;AAExD,MAAI,OAAO,MAAM,CAAC,OAAO,OAAO;AACvB,YAAAD,MAAuB,YAAA,OAAO,EAAE;AAAA,EAC9B,WAAA,OAAO,SAAS,CAAC,OAAO,OAAO;AACpC,SAAAC,MAAqB,UAAA,OAAO,KAAK;AAAA,EACvC;AAEM,QAAA,SAAS,OAAO,UAAU,MAAM,cAAc,CAAC,QAAQ,QAAQ,CAAC;AAEtE,MAAI,OAAO,CAAA;AAEP,MAAA,YAAY,UAAU,OAAO,QAAQ;AACjC,WAAA,EAAE,MAAM,OAAO;EACZ,WAAA,UAAU,UAAU,OAAO,MAAM;AAC3C,WAAO,OAAO;AAAA,EACf;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ,OAAO,UAAU,MAAM,QAAS;AAAA,IACxC,YAAY,OAAO,cAAc,MAAM,QAAS;AAAA,IAChD;AAAA,IACA;AAAA,EAAA;AAEF;;"}
1
+ {"version":3,"file":"customType.cjs","sources":["../../../src/model/customType.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition =\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\n\tformat?: prismic.CustomTypeModel[\"format\"];\n} & (\n\t| {\n\t\t\tfields?: Definition;\n\t\t\ttabs?: never;\n\t }\n\t| {\n\t\t\ttabs?: Definition;\n\t\t\tfields?: never;\n\t }\n) &\n\tMockModelConfig;\n\ntype MockCustomTypeModel<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = (Definition extends prismic.CustomTypeModelTab\n\t? prismic.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismic.CustomTypeModelDefinition\n\t\t? prismic.CustomTypeModel<string, Definition>\n\t\t: never) & {\n\tlabel: NonNullable<prismic.CustomTypeModel[\"label\"]>;\n};\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition>,\n): MockCustomTypeModel<Definition> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: string = config.id || changeCase.snakeCase(label);\n\n\tif (config.id && !config.label) {\n\t\tlabel = changeCase.capitalCase(config.id);\n\t} else if (config.label && !config.label) {\n\t\tid = changeCase.snakeCase(config.label);\n\t}\n\n\tconst format = config.format ?? faker.randomElement([\"page\", \"custom\"]);\n\n\tlet json = {} as prismic.CustomTypeModelDefinition;\n\n\tif (\"fields\" in config && config.fields) {\n\t\tjson = { Main: config.fields } as typeof json;\n\t} else if (\"tabs\" in config && config.tabs) {\n\t\tjson = config.tabs as typeof json;\n\t}\n\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tstatus: config.status ?? faker.boolean(),\n\t\trepeatable: config.repeatable ?? faker.boolean(),\n\t\tformat,\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n"],"names":["createFaker","changeCase.capitalCase","changeCase.snakeCase"],"mappings":";;;;AA2Ca,MAAA,aAAa,CAKzB,WACoC;AACpC,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,MAAI,QACH,OAAO,SAASC,MAAuB,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,MAAI,KAAa,OAAO,MAAMC,gBAAqB,KAAK;AAExD,MAAI,OAAO,MAAM,CAAC,OAAO,OAAO;AACvB,YAAAD,MAAuB,YAAA,OAAO,EAAE;AAAA,EAC9B,WAAA,OAAO,SAAS,CAAC,OAAO,OAAO;AACpC,SAAAC,MAAqB,UAAA,OAAO,KAAK;AAAA,EACvC;AAEM,QAAA,SAAS,OAAO,UAAU,MAAM,cAAc,CAAC,QAAQ,QAAQ,CAAC;AAEtE,MAAI,OAAO,CAAA;AAEP,MAAA,YAAY,UAAU,OAAO,QAAQ;AACjC,WAAA,EAAE,MAAM,OAAO;EACZ,WAAA,UAAU,UAAU,OAAO,MAAM;AAC3C,WAAO,OAAO;AAAA,EACf;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ,OAAO,UAAU,MAAM,QAAS;AAAA,IACxC,YAAY,OAAO,cAAc,MAAM,QAAS;AAAA,IAChD;AAAA,IACA;AAAA,EAAA;AAEF;;"}
@@ -13,6 +13,8 @@ export type MockCustomTypeModelConfig<Definition extends prismic.CustomTypeModel
13
13
  tabs?: Definition;
14
14
  fields?: never;
15
15
  }) & MockModelConfig;
16
- type MockCustomTypeModel<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition> = Definition extends prismic.CustomTypeModelTab ? prismic.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismic.CustomTypeModelDefinition ? prismic.CustomTypeModel<string, Definition> : never;
16
+ type MockCustomTypeModel<Definition extends prismic.CustomTypeModelTab | prismic.CustomTypeModelDefinition> = (Definition extends prismic.CustomTypeModelTab ? prismic.CustomTypeModel<string, Record<"Main", Definition>> : Definition extends prismic.CustomTypeModelDefinition ? prismic.CustomTypeModel<string, Definition> : never) & {
17
+ label: NonNullable<prismic.CustomTypeModel["label"]>;
18
+ };
17
19
  export declare const customType: <Definition extends Record<string, prismic.CustomTypeModelField> | prismic.CustomTypeModelDefinition>(config: MockCustomTypeModelConfig<Definition>) => MockCustomTypeModel<Definition>;
18
20
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"customType.js","sources":["../../../src/model/customType.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition =\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\n\tformat?: prismic.CustomTypeModel[\"format\"];\n} & (\n\t| {\n\t\t\tfields?: Definition;\n\t\t\ttabs?: never;\n\t }\n\t| {\n\t\t\ttabs?: Definition;\n\t\t\tfields?: never;\n\t }\n) &\n\tMockModelConfig;\n\ntype MockCustomTypeModel<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = Definition extends prismic.CustomTypeModelTab\n\t? prismic.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismic.CustomTypeModelDefinition\n\t\t? prismic.CustomTypeModel<string, Definition>\n\t\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition>,\n): MockCustomTypeModel<Definition> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: string = config.id || changeCase.snakeCase(label);\n\n\tif (config.id && !config.label) {\n\t\tlabel = changeCase.capitalCase(config.id);\n\t} else if (config.label && !config.label) {\n\t\tid = changeCase.snakeCase(config.label);\n\t}\n\n\tconst format = config.format ?? faker.randomElement([\"page\", \"custom\"]);\n\n\tlet json = {} as MockCustomTypeModel<Definition>[\"json\"];\n\n\tif (\"fields\" in config && config.fields) {\n\t\tjson = { Main: config.fields } as typeof json;\n\t} else if (\"tabs\" in config && config.tabs) {\n\t\tjson = config.tabs as typeof json;\n\t}\n\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tstatus: config.status ?? faker.boolean(),\n\t\trepeatable: config.repeatable ?? faker.boolean(),\n\t\tformat,\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n"],"names":["changeCase.capitalCase","changeCase.snakeCase"],"mappings":";;AAyCa,MAAA,aAAa,CAKzB,WACoC;AACpC,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,MAAI,QACH,OAAO,SAASA,YAAuB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,MAAI,KAAa,OAAO,MAAMC,UAAqB,KAAK;AAExD,MAAI,OAAO,MAAM,CAAC,OAAO,OAAO;AACvB,YAAAD,YAAuB,OAAO,EAAE;AAAA,EAC9B,WAAA,OAAO,SAAS,CAAC,OAAO,OAAO;AACpC,SAAAC,UAAqB,OAAO,KAAK;AAAA,EACvC;AAEM,QAAA,SAAS,OAAO,UAAU,MAAM,cAAc,CAAC,QAAQ,QAAQ,CAAC;AAEtE,MAAI,OAAO,CAAA;AAEP,MAAA,YAAY,UAAU,OAAO,QAAQ;AACjC,WAAA,EAAE,MAAM,OAAO;EACZ,WAAA,UAAU,UAAU,OAAO,MAAM;AAC3C,WAAO,OAAO;AAAA,EACf;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ,OAAO,UAAU,MAAM,QAAS;AAAA,IACxC,YAAY,OAAO,cAAc,MAAM,QAAS;AAAA,IAChD;AAAA,IACA;AAAA,EAAA;AAEF;"}
1
+ {"version":3,"file":"customType.js","sources":["../../../src/model/customType.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition =\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\n\tformat?: prismic.CustomTypeModel[\"format\"];\n} & (\n\t| {\n\t\t\tfields?: Definition;\n\t\t\ttabs?: never;\n\t }\n\t| {\n\t\t\ttabs?: Definition;\n\t\t\tfields?: never;\n\t }\n) &\n\tMockModelConfig;\n\ntype MockCustomTypeModel<\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n> = (Definition extends prismic.CustomTypeModelTab\n\t? prismic.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismic.CustomTypeModelDefinition\n\t\t? prismic.CustomTypeModel<string, Definition>\n\t\t: never) & {\n\tlabel: NonNullable<prismic.CustomTypeModel[\"label\"]>;\n};\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismic.CustomTypeModelTab\n\t\t| prismic.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition>,\n): MockCustomTypeModel<Definition> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: string = config.id || changeCase.snakeCase(label);\n\n\tif (config.id && !config.label) {\n\t\tlabel = changeCase.capitalCase(config.id);\n\t} else if (config.label && !config.label) {\n\t\tid = changeCase.snakeCase(config.label);\n\t}\n\n\tconst format = config.format ?? faker.randomElement([\"page\", \"custom\"]);\n\n\tlet json = {} as prismic.CustomTypeModelDefinition;\n\n\tif (\"fields\" in config && config.fields) {\n\t\tjson = { Main: config.fields } as typeof json;\n\t} else if (\"tabs\" in config && config.tabs) {\n\t\tjson = config.tabs as typeof json;\n\t}\n\n\treturn {\n\t\tid,\n\t\tlabel,\n\t\tstatus: config.status ?? faker.boolean(),\n\t\trepeatable: config.repeatable ?? faker.boolean(),\n\t\tformat,\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n"],"names":["changeCase.capitalCase","changeCase.snakeCase"],"mappings":";;AA2Ca,MAAA,aAAa,CAKzB,WACoC;AACpC,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,MAAI,QACH,OAAO,SAASA,YAAuB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACtE,MAAI,KAAa,OAAO,MAAMC,UAAqB,KAAK;AAExD,MAAI,OAAO,MAAM,CAAC,OAAO,OAAO;AACvB,YAAAD,YAAuB,OAAO,EAAE;AAAA,EAC9B,WAAA,OAAO,SAAS,CAAC,OAAO,OAAO;AACpC,SAAAC,UAAqB,OAAO,KAAK;AAAA,EACvC;AAEM,QAAA,SAAS,OAAO,UAAU,MAAM,cAAc,CAAC,QAAQ,QAAQ,CAAC;AAEtE,MAAI,OAAO,CAAA;AAEP,MAAA,YAAY,UAAU,OAAO,QAAQ;AACjC,WAAA,EAAE,MAAM,OAAO;EACZ,WAAA,UAAU,UAAU,OAAO,MAAM;AAC3C,WAAO,OAAO;AAAA,EACf;AAEO,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ,OAAO,UAAU,MAAM,QAAS;AAAA,IACxC,YAAY,OAAO,cAAc,MAAM,QAAS;AAAA,IAChD;AAAA,IACA;AAAA,EAAA;AAEF;"}
@@ -5,4 +5,4 @@ export type MockSharedSliceModelConfig<Variation extends prismic.SharedSliceMode
5
5
  name?: string;
6
6
  variations?: Variation[];
7
7
  } & MockModelConfig;
8
- export declare const sharedSlice: <Variation extends prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>>>(config: MockSharedSliceModelConfig<Variation>) => prismic.SharedSliceModel<string, Variation>;
8
+ export declare const sharedSlice: <Variation extends prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>>>(config: MockSharedSliceModelConfig<Variation>) => prismic.SharedSliceModel<string, Variation>;
@@ -1 +1 @@
1
- {"version":3,"file":"sharedSliceVariation.cjs","sources":["../../../src/model/sharedSliceVariation.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,\n): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: ID = config.id || (changeCase.snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name) as ID;\n\t}\n\n\tconst imageData = getMockImageData({ faker });\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\tdocURL: faker.url(),\n\t\tversion: faker.hash(7),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t\timageUrl: imageData.url,\n\t};\n};\n"],"names":["createFaker","changeCase.capitalCase","changeCase.snakeCase","changeCase.pascalCase","getMockImageData","changeCase.sentenceCase"],"mappings":";;;;;AAmBa,MAAA,uBAAuB,CAKnC,WACsE;AACtE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,MAAI,OACH,OAAO,QAAQC,MAAuB,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,MAAI,KAAS,OAAO,MAAOC,gBAAqB,IAAI;AAEpD,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,MAAsB,WAAA,OAAO,EAAE;AAAA,EAC5B,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,MAAqB,UAAA,OAAO,IAAI;AAAA,EACtC;AAEA,QAAM,YAAYE,iBAAAA,iBAAiB,EAAE,MAAO,CAAA;AAErC,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAaC,MAAAA,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,MAAM,IAAK;AAAA,IACnB,SAAS,MAAM,KAAK,CAAC;AAAA,IACrB,SAAS,OAAO,iBAAkB,CAAoB;AAAA,IACtD,OAAO,OAAO,eAAgB,CAAkB;AAAA,IAChD,UAAU,UAAU;AAAA,EAAA;AAEtB;;"}
1
+ {"version":3,"file":"sharedSliceVariation.cjs","sources":["../../../src/model/sharedSliceVariation.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport {\n\tGroupFieldModelMap,\n\tMockModelConfig,\n\tSlicePrimaryFieldModelMap,\n} from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,\n\tItemsFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\tItemsFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,\n): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: ID = config.id || (changeCase.snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name) as ID;\n\t}\n\n\tconst imageData = getMockImageData({ faker });\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\tdocURL: faker.url(),\n\t\tversion: faker.hash(7),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t\timageUrl: imageData.url,\n\t};\n};\n"],"names":["createFaker","changeCase.capitalCase","changeCase.snakeCase","changeCase.pascalCase","getMockImageData","changeCase.sentenceCase"],"mappings":";;;;;AAuBa,MAAA,uBAAuB,CAKnC,WACsE;AACtE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,MAAI,OACH,OAAO,QAAQC,MAAuB,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,MAAI,KAAS,OAAO,MAAOC,gBAAqB,IAAI;AAEpD,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,MAAsB,WAAA,OAAO,EAAE;AAAA,EAC5B,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,MAAqB,UAAA,OAAO,IAAI;AAAA,EACtC;AAEA,QAAM,YAAYE,iBAAAA,iBAAiB,EAAE,MAAO,CAAA;AAErC,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAaC,MAAAA,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,MAAM,IAAK;AAAA,IACnB,SAAS,MAAM,KAAK,CAAC;AAAA,IACrB,SAAS,OAAO,iBAAkB,CAAoB;AAAA,IACtD,OAAO,OAAO,eAAgB,CAAkB;AAAA,IAChD,UAAU,UAAU;AAAA,EAAA;AAEtB;;"}
@@ -1,9 +1,9 @@
1
1
  import * as prismic from "@prismicio/client";
2
- import { GroupFieldModelMap, MockModelConfig } from "../types";
3
- export type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends GroupFieldModelMap = GroupFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
2
+ import { GroupFieldModelMap, MockModelConfig, SlicePrimaryFieldModelMap } from "../types";
3
+ export type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
4
4
  id?: ID;
5
5
  name?: string;
6
6
  primaryFields?: PrimaryFields;
7
7
  itemsFields?: ItemsFields;
8
8
  } & MockModelConfig;
9
- export declare const sharedSliceVariation: <ID extends string, PrimaryFields extends GroupFieldModelMap, ItemsFields extends GroupFieldModelMap>(config: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>) => prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
9
+ export declare const sharedSliceVariation: <ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends GroupFieldModelMap>(config: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>) => prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
@@ -1 +1 @@
1
- {"version":3,"file":"sharedSliceVariation.js","sources":["../../../src/model/sharedSliceVariation.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends GroupFieldModelMap,\n\tItemsFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,\n): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: ID = config.id || (changeCase.snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name) as ID;\n\t}\n\n\tconst imageData = getMockImageData({ faker });\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\tdocURL: faker.url(),\n\t\tversion: faker.hash(7),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t\timageUrl: imageData.url,\n\t};\n};\n"],"names":["changeCase.capitalCase","changeCase.snakeCase","changeCase.pascalCase","changeCase.sentenceCase"],"mappings":";;;AAmBa,MAAA,uBAAuB,CAKnC,WACsE;AACtE,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,MAAI,OACH,OAAO,QAAQA,YAAuB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,MAAI,KAAS,OAAO,MAAOC,UAAqB,IAAI;AAEpD,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,WAAsB,OAAO,EAAE;AAAA,EAC5B,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,UAAqB,OAAO,IAAI;AAAA,EACtC;AAEA,QAAM,YAAY,iBAAiB,EAAE,MAAO,CAAA;AAErC,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAaE,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,MAAM,IAAK;AAAA,IACnB,SAAS,MAAM,KAAK,CAAC;AAAA,IACrB,SAAS,OAAO,iBAAkB,CAAoB;AAAA,IACtD,OAAO,OAAO,eAAgB,CAAkB;AAAA,IAChD,UAAU,UAAU;AAAA,EAAA;AAEtB;"}
1
+ {"version":3,"file":"sharedSliceVariation.js","sources":["../../../src/model/sharedSliceVariation.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport {\n\tGroupFieldModelMap,\n\tMockModelConfig,\n\tSlicePrimaryFieldModelMap,\n} from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,\n\tItemsFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\tItemsFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,\n): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: ID = config.id || (changeCase.snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = changeCase.pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = changeCase.snakeCase(config.name) as ID;\n\t}\n\n\tconst imageData = getMockImageData({ faker });\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\tdocURL: faker.url(),\n\t\tversion: faker.hash(7),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t\timageUrl: imageData.url,\n\t};\n};\n"],"names":["changeCase.capitalCase","changeCase.snakeCase","changeCase.pascalCase","changeCase.sentenceCase"],"mappings":";;;AAuBa,MAAA,uBAAuB,CAKnC,WACsE;AACtE,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,MAAI,OACH,OAAO,QAAQA,YAAuB,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,MAAI,KAAS,OAAO,MAAOC,UAAqB,IAAI;AAEpD,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,WAAsB,OAAO,EAAE;AAAA,EAC5B,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,UAAqB,OAAO,IAAI;AAAA,EACtC;AAEA,QAAM,YAAY,iBAAiB,EAAE,MAAO,CAAA;AAErC,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAaE,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,MAAM,IAAK;AAAA,IACnB,SAAS,MAAM,KAAK,CAAC;AAAA,IACrB,SAAS,OAAO,iBAAkB,CAAoB;AAAA,IACtD,OAAO,OAAO,eAAgB,CAAkB;AAAA,IAChD,UAAU,UAAU;AAAA,EAAA;AAEtB;"}
package/dist/types.d.ts CHANGED
@@ -37,6 +37,7 @@ export type MockModelConfig = {
37
37
  };
38
38
  export type PrismicModel = prismic.CustomTypeModel | prismic.CustomTypeModelField | prismic.CustomTypeModelSlice | prismic.SharedSliceModel | prismic.SharedSliceModelVariation;
39
39
  export type GroupFieldModelMap = Record<string, prismic.CustomTypeModelFieldForGroup>;
40
+ export type SlicePrimaryFieldModelMap = Record<string, prismic.CustomTypeModelFieldForSlicePrimary>;
40
41
  export type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
41
42
  model?: Model;
42
43
  } & ({
@@ -2,4 +2,4 @@ import * as prismic from "@prismicio/client";
2
2
  import { MockValueConfig, ModelValue } from "../types";
3
3
  import { MockSharedSliceVariationValueConfig } from "./sharedSliceVariation";
4
4
  export type MockSharedSliceValueConfig<Model extends prismic.SharedSliceModel = prismic.SharedSliceModel> = Pick<MockSharedSliceVariationValueConfig, "itemsCount" | "primaryFieldConfigs" | "itemsFieldConfigs"> & MockValueConfig<Model>;
5
- export declare const sharedSlice: <Model extends prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>>> = prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>>>>(config: MockSharedSliceValueConfig<Model>) => ModelValue<Model>;
5
+ export declare const sharedSlice: <Model extends prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>>> = prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>>>>(config: MockSharedSliceValueConfig<Model>) => ModelValue<Model>;
@@ -8,4 +8,4 @@ export type MockSharedSliceVariationValueConfig<Model extends prismic.SharedSlic
8
8
  primaryFieldConfigs?: ValueForModelMapConfigs;
9
9
  itemsFieldConfigs?: ValueForModelMapConfigs;
10
10
  } & MockValueConfig<Model>;
11
- export declare const sharedSliceVariation: <Model extends prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>> = prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>>>(config: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model>;
11
+ export declare const sharedSliceVariation: <Model extends prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>> = prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>>>(config: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/mock",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "description": "Generate mock Prismic documents, fields, Slices, and models for development and testing environments",
5
5
  "keywords": [
6
6
  "typescript",
@@ -61,6 +61,7 @@
61
61
  "change-case": "^5.4.4"
62
62
  },
63
63
  "devDependencies": {
64
+ "@prismicio/client": "^7.5.0-alpha.1",
64
65
  "@size-limit/preset-small-lib": "^11.1.2",
65
66
  "@types/node": "^20.12.7",
66
67
  "@typescript-eslint/eslint-plugin": "^7.6.0",
@@ -2,7 +2,12 @@ import * as prismic from "@prismicio/client";
2
2
 
3
3
  import { createFaker, Faker } from "../lib/createFaker";
4
4
 
5
- import { GroupFieldModelMap, Seed, WithoutFakerConfig } from "../types";
5
+ import {
6
+ GroupFieldModelMap,
7
+ Seed,
8
+ SlicePrimaryFieldModelMap,
9
+ WithoutFakerConfig,
10
+ } from "../types";
6
11
 
7
12
  import { boolean, MockBooleanModelConfig } from "./boolean";
8
13
  import {
@@ -164,7 +169,7 @@ export class ModelMockFactory {
164
169
 
165
170
  sharedSliceVariation<
166
171
  ID extends string,
167
- PrimaryFields extends GroupFieldModelMap,
172
+ PrimaryFields extends SlicePrimaryFieldModelMap,
168
173
  ItemsFields extends GroupFieldModelMap,
169
174
  >(
170
175
  config?: WithoutFakerConfig<
@@ -33,11 +33,13 @@ type MockCustomTypeModel<
33
33
  Definition extends
34
34
  | prismic.CustomTypeModelTab
35
35
  | prismic.CustomTypeModelDefinition,
36
- > = Definition extends prismic.CustomTypeModelTab
36
+ > = (Definition extends prismic.CustomTypeModelTab
37
37
  ? prismic.CustomTypeModel<string, Record<"Main", Definition>>
38
38
  : Definition extends prismic.CustomTypeModelDefinition
39
39
  ? prismic.CustomTypeModel<string, Definition>
40
- : never;
40
+ : never) & {
41
+ label: NonNullable<prismic.CustomTypeModel["label"]>;
42
+ };
41
43
 
42
44
  export const customType = <
43
45
  Definition extends
@@ -60,7 +62,7 @@ export const customType = <
60
62
 
61
63
  const format = config.format ?? faker.randomElement(["page", "custom"]);
62
64
 
63
- let json = {} as MockCustomTypeModel<Definition>["json"];
65
+ let json = {} as prismic.CustomTypeModelDefinition;
64
66
 
65
67
  if ("fields" in config && config.fields) {
66
68
  json = { Main: config.fields } as typeof json;
@@ -4,11 +4,15 @@ import * as changeCase from "change-case";
4
4
  import { createFaker } from "../lib/createFaker";
5
5
  import { getMockImageData } from "../lib/getMockImageData";
6
6
 
7
- import { GroupFieldModelMap, MockModelConfig } from "../types";
7
+ import {
8
+ GroupFieldModelMap,
9
+ MockModelConfig,
10
+ SlicePrimaryFieldModelMap,
11
+ } from "../types";
8
12
 
9
13
  export type MockSharedSliceVariationModelConfig<
10
14
  ID extends string = string,
11
- PrimaryFields extends GroupFieldModelMap = GroupFieldModelMap,
15
+ PrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,
12
16
  ItemsFields extends GroupFieldModelMap = GroupFieldModelMap,
13
17
  > = {
14
18
  id?: ID;
@@ -19,7 +23,7 @@ export type MockSharedSliceVariationModelConfig<
19
23
 
20
24
  export const sharedSliceVariation = <
21
25
  ID extends string,
22
- PrimaryFields extends GroupFieldModelMap,
26
+ PrimaryFields extends SlicePrimaryFieldModelMap,
23
27
  ItemsFields extends GroupFieldModelMap,
24
28
  >(
25
29
  config: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,
package/src/types.ts CHANGED
@@ -78,6 +78,11 @@ export type GroupFieldModelMap = Record<
78
78
  prismic.CustomTypeModelFieldForGroup
79
79
  >;
80
80
 
81
+ export type SlicePrimaryFieldModelMap = Record<
82
+ string,
83
+ prismic.CustomTypeModelFieldForSlicePrimary
84
+ >;
85
+
81
86
  export type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
82
87
  model?: Model;
83
88
  } & (