@prismicio/mock 0.3.6 → 0.3.7-alpha.1

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":"buildMockGroupFieldMap.cjs","sources":["../../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { GroupFieldModelMap, MockModelConfig, ValueOf } from \"../types\";\n\nimport { boolean } from \"../model/boolean\";\nimport { color } from \"../model/color\";\nimport { contentRelationship } from \"../model/contentRelationship\";\nimport { date } from \"../model/date\";\nimport { embed } from \"../model/embed\";\nimport { geoPoint } from \"../model/geoPoint\";\nimport { image } from \"../model/image\";\nimport { integration } from \"../model/integration\";\nimport { keyText } from \"../model/keyText\";\nimport { link } from \"../model/link\";\nimport { linkToMedia } from \"../model/linkToMedia\";\nimport { number } from \"../model/number\";\nimport { richText } from \"../model/richText\";\nimport { select } from \"../model/select\";\nimport { timestamp } from \"../model/timestamp\";\nimport { title } from \"../model/title\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\n\nconst mockModelFns = {\n\tboolean,\n\tcolor,\n\tcontentRelationship,\n\tdate,\n\tembed,\n\tgeoPoint,\n\timage,\n\tintegration,\n\tkeyText,\n\tlink,\n\tlinkToMedia,\n\tnumber,\n\trichText,\n\tselect,\n\ttimestamp,\n\ttitle,\n};\n\nexport type BuildMockGroupFieldMapConfig = MockModelConfig;\n\nexport const buildMockGroupFieldMap = (\n\tconfig: BuildMockGroupFieldMapConfig,\n): GroupFieldModelMap => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.randomElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ faker });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ faker });\n\t}\n\n\treturn fields;\n};\n"],"names":["boolean","color","contentRelationship","date","embed","geoPoint","image","integration","keyText","link","linkToMedia","number","richText","select","timestamp","title","createFaker","generateFieldId"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,eAAe;AAAA,EAAA,SACpBA,QAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,qBACAC,oBAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,aACAC,YAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,aACAC,YAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,OACAC,MAAA;;AAKY,MAAA,yBAAyB,CACrC,WACuB;AACvB,QAAM,QAAQ,OAAO,SAASC,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,SAA6B,CAAA;AAEnC,QAAM,aAAa,MAAM,eACxB,OAAO,KAAK,YAAY,CAAkC;AAG3D,aAAW,aAAa,YAAY;AACnC,UAAM,UAAUC,gBAAAA,gBAAgB,EAAE,MAAO,CAAA;AACnC,UAAA,cAAc,aAAa,SAAS;AAI1C,WAAO,OAAO,IAAI,YAAY,EAAE,MAAO,CAAA;AAAA,EACxC;AAEO,SAAA;AACR;;"}
1
+ {"version":3,"file":"buildMockGroupFieldMap.cjs","sources":["../../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { MockModelConfig, NestedGroupFieldModelMap, ValueOf } from \"../types\";\n\nimport { boolean } from \"../model/boolean\";\nimport { color } from \"../model/color\";\nimport { contentRelationship } from \"../model/contentRelationship\";\nimport { date } from \"../model/date\";\nimport { embed } from \"../model/embed\";\nimport { geoPoint } from \"../model/geoPoint\";\nimport { image } from \"../model/image\";\nimport { integration } from \"../model/integration\";\nimport { keyText } from \"../model/keyText\";\nimport { link } from \"../model/link\";\nimport { linkToMedia } from \"../model/linkToMedia\";\nimport { number } from \"../model/number\";\nimport { richText } from \"../model/richText\";\nimport { select } from \"../model/select\";\nimport { timestamp } from \"../model/timestamp\";\nimport { title } from \"../model/title\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\n\nconst mockModelFns = {\n\tboolean,\n\tcolor,\n\tcontentRelationship,\n\tdate,\n\tembed,\n\tgeoPoint,\n\timage,\n\tintegration,\n\tkeyText,\n\tlink,\n\tlinkToMedia,\n\tnumber,\n\trichText,\n\tselect,\n\ttimestamp,\n\ttitle,\n};\n\nexport type BuildMockGroupFieldMapConfig = MockModelConfig;\n\nexport const buildMockGroupFieldMap = (\n\tconfig: BuildMockGroupFieldMapConfig,\n): NestedGroupFieldModelMap => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst fields: NestedGroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.randomElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ faker });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<NestedGroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ faker });\n\t}\n\n\treturn fields;\n};\n"],"names":["boolean","color","contentRelationship","date","embed","geoPoint","image","integration","keyText","link","linkToMedia","number","richText","select","timestamp","title","createFaker","generateFieldId"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,eAAe;AAAA,EAAA,SACpBA,QAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,qBACAC,oBAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,OACAC,MAAA;AAAA,EAAA,aACAC,YAAA;AAAA,EAAA,SACAC,QAAA;AAAA,EAAA,MACAC,KAAA;AAAA,EAAA,aACAC,YAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,UACAC,SAAA;AAAA,EAAA,QACAC,OAAA;AAAA,EAAA,WACAC,UAAA;AAAA,EAAA,OACAC,MAAA;;AAKY,MAAA,yBAAyB,CACrC,WAC6B;AAC7B,QAAM,QAAQ,OAAO,SAASC,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,SAAmC,CAAA;AAEzC,QAAM,aAAa,MAAM,eACxB,OAAO,KAAK,YAAY,CAAkC;AAG3D,aAAW,aAAa,YAAY;AACnC,UAAM,UAAUC,gBAAAA,gBAAgB,EAAE,MAAO,CAAA;AACnC,UAAA,cAAc,aAAa,SAAS;AAI1C,WAAO,OAAO,IAAI,YAAY,EAAE,MAAO,CAAA;AAAA,EACxC;AAEO,SAAA;AACR;;"}
@@ -1,3 +1,3 @@
1
- import { GroupFieldModelMap, MockModelConfig } from "../types";
1
+ import { MockModelConfig, NestedGroupFieldModelMap } from "../types";
2
2
  export type BuildMockGroupFieldMapConfig = MockModelConfig;
3
- export declare const buildMockGroupFieldMap: (config: BuildMockGroupFieldMapConfig) => GroupFieldModelMap;
3
+ export declare const buildMockGroupFieldMap: (config: BuildMockGroupFieldMapConfig) => NestedGroupFieldModelMap;
@@ -1 +1 @@
1
- {"version":3,"file":"buildMockGroupFieldMap.js","sources":["../../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { GroupFieldModelMap, MockModelConfig, ValueOf } from \"../types\";\n\nimport { boolean } from \"../model/boolean\";\nimport { color } from \"../model/color\";\nimport { contentRelationship } from \"../model/contentRelationship\";\nimport { date } from \"../model/date\";\nimport { embed } from \"../model/embed\";\nimport { geoPoint } from \"../model/geoPoint\";\nimport { image } from \"../model/image\";\nimport { integration } from \"../model/integration\";\nimport { keyText } from \"../model/keyText\";\nimport { link } from \"../model/link\";\nimport { linkToMedia } from \"../model/linkToMedia\";\nimport { number } from \"../model/number\";\nimport { richText } from \"../model/richText\";\nimport { select } from \"../model/select\";\nimport { timestamp } from \"../model/timestamp\";\nimport { title } from \"../model/title\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\n\nconst mockModelFns = {\n\tboolean,\n\tcolor,\n\tcontentRelationship,\n\tdate,\n\tembed,\n\tgeoPoint,\n\timage,\n\tintegration,\n\tkeyText,\n\tlink,\n\tlinkToMedia,\n\tnumber,\n\trichText,\n\tselect,\n\ttimestamp,\n\ttitle,\n};\n\nexport type BuildMockGroupFieldMapConfig = MockModelConfig;\n\nexport const buildMockGroupFieldMap = (\n\tconfig: BuildMockGroupFieldMapConfig,\n): GroupFieldModelMap => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.randomElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ faker });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ faker });\n\t}\n\n\treturn fields;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAM,eAAe;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;;AAKY,MAAA,yBAAyB,CACrC,WACuB;AACvB,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,QAAM,SAA6B,CAAA;AAEnC,QAAM,aAAa,MAAM,eACxB,OAAO,KAAK,YAAY,CAAkC;AAG3D,aAAW,aAAa,YAAY;AACnC,UAAM,UAAU,gBAAgB,EAAE,MAAO,CAAA;AACnC,UAAA,cAAc,aAAa,SAAS;AAI1C,WAAO,OAAO,IAAI,YAAY,EAAE,MAAO,CAAA;AAAA,EACxC;AAEO,SAAA;AACR;"}
1
+ {"version":3,"file":"buildMockGroupFieldMap.js","sources":["../../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { MockModelConfig, NestedGroupFieldModelMap, ValueOf } from \"../types\";\n\nimport { boolean } from \"../model/boolean\";\nimport { color } from \"../model/color\";\nimport { contentRelationship } from \"../model/contentRelationship\";\nimport { date } from \"../model/date\";\nimport { embed } from \"../model/embed\";\nimport { geoPoint } from \"../model/geoPoint\";\nimport { image } from \"../model/image\";\nimport { integration } from \"../model/integration\";\nimport { keyText } from \"../model/keyText\";\nimport { link } from \"../model/link\";\nimport { linkToMedia } from \"../model/linkToMedia\";\nimport { number } from \"../model/number\";\nimport { richText } from \"../model/richText\";\nimport { select } from \"../model/select\";\nimport { timestamp } from \"../model/timestamp\";\nimport { title } from \"../model/title\";\n\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\n\nconst mockModelFns = {\n\tboolean,\n\tcolor,\n\tcontentRelationship,\n\tdate,\n\tembed,\n\tgeoPoint,\n\timage,\n\tintegration,\n\tkeyText,\n\tlink,\n\tlinkToMedia,\n\tnumber,\n\trichText,\n\tselect,\n\ttimestamp,\n\ttitle,\n};\n\nexport type BuildMockGroupFieldMapConfig = MockModelConfig;\n\nexport const buildMockGroupFieldMap = (\n\tconfig: BuildMockGroupFieldMapConfig,\n): NestedGroupFieldModelMap => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst fields: NestedGroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.randomElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ faker });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<NestedGroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ faker });\n\t}\n\n\treturn fields;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAM,eAAe;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;;AAKY,MAAA,yBAAyB,CACrC,WAC6B;AAC7B,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAErD,QAAM,SAAmC,CAAA;AAEzC,QAAM,aAAa,MAAM,eACxB,OAAO,KAAK,YAAY,CAAkC;AAG3D,aAAW,aAAa,YAAY;AACnC,UAAM,UAAU,gBAAgB,EAAE,MAAO,CAAA;AACnC,UAAA,cAAc,aAAa,SAAS;AAI1C,WAAO,OAAO,IAAI,YAAY,EAAE,MAAO,CAAA;AAAA,EACxC;AAEO,SAAA;AACR;"}
@@ -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 {\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
+ {"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\tNestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\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, SlicePrimaryFieldModelMap, WithoutFakerConfig } from "../types";
3
+ import { GroupFieldModelMap, NestedGroupFieldModelMap, Seed, SlicePrimaryFieldModelMap, WithoutFakerConfig } from "../types";
4
4
  import { MockBooleanModelConfig } from "./boolean";
5
5
  import { BuildMockGroupFieldMapConfig } from "./buildMockGroupFieldMap";
6
6
  import { MockColorModelConfig } from "./color";
@@ -35,7 +35,7 @@ export declare class ModelMockFactory {
35
35
  private faker;
36
36
  constructor(config: ModelMockFactoryConfig);
37
37
  get seed(): Seed;
38
- buildMockGroupFieldMap(config?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>): GroupFieldModelMap;
38
+ buildMockGroupFieldMap(config?: WithoutFakerConfig<BuildMockGroupFieldMapConfig>): NestedGroupFieldModelMap;
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>;
@@ -56,8 +56,8 @@ export declare class ModelMockFactory {
56
56
  select<Option extends string, DefaultOption extends Option>(config?: WithoutFakerConfig<MockSelectModelConfig<Option, DefaultOption>>): prismic.CustomTypeModelSelectField<Option, DefaultOption>;
57
57
  sharedSlice<Variation extends prismic.SharedSliceModelVariation>(config?: WithoutFakerConfig<MockSharedSliceModelConfig<Variation>>): prismic.SharedSliceModel<string, Variation>;
58
58
  sharedSliceChoice(): prismic.CustomTypeModelSharedSlice;
59
- sharedSliceVariation<ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
60
- slice<NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
59
+ sharedSliceVariation<ID extends string, PrimaryFields extends SlicePrimaryFieldModelMap, ItemsFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>>): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields>;
60
+ slice<NonRepeatFields extends NestedGroupFieldModelMap, RepeatFields extends NestedGroupFieldModelMap>(config?: WithoutFakerConfig<MockSliceModelConfig<NonRepeatFields, RepeatFields>>): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
61
61
  sliceZone<Slices extends Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice>>(config?: WithoutFakerConfig<MockSliceZoneModelConfig<Slices>>): prismic.CustomTypeModelSliceZoneField<Slices>;
62
62
  timestamp(config?: WithoutFakerConfig<MockTimestampModelConfig>): prismic.CustomTypeModelTimestampField;
63
63
  title(config?: WithoutFakerConfig<MockTitleModelConfig>): prismic.CustomTypeModelRichTextSingleField;
@@ -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 {\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
+ {"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\tNestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\n\t\tRepeatFields extends NestedGroupFieldModelMap,\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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"}
@@ -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.CustomTypeModelFieldForSlicePrimary>, 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.CustomTypeModelFieldForNestedGroup>>>(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 {\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
+ {"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\tMockModelConfig,\n\tNestedGroupFieldModelMap,\n\tSlicePrimaryFieldModelMap,\n} from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,\n\tItemsFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\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, SlicePrimaryFieldModelMap } from "../types";
3
- export type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap, ItemsFields extends GroupFieldModelMap = GroupFieldModelMap> = {
2
+ import { MockModelConfig, NestedGroupFieldModelMap, SlicePrimaryFieldModelMap } from "../types";
3
+ export type MockSharedSliceVariationModelConfig<ID extends string = string, PrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap, ItemsFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap> = {
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 SlicePrimaryFieldModelMap, 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 NestedGroupFieldModelMap>(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 {\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;"}
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\tMockModelConfig,\n\tNestedGroupFieldModelMap,\n\tSlicePrimaryFieldModelMap,\n} from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,\n\tItemsFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\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 NestedGroupFieldModelMap,\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;"}
@@ -1 +1 @@
1
- {"version":3,"file":"slice.cjs","sources":["../../../src/model/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\nexport type MockSliceModelConfig<\n\tNonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields>,\n): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.word()),\n\t\tdisplay: faker.boolean()\n\t\t\t? prismic.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismic.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.words(2)),\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n"],"names":["createFaker","prismic","changeCase.snakeCase","changeCase.capitalCase","changeCase.sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAea,MAAA,QAAQ,CAIpB,WACgE;AAChE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,MAAMC,MAAqB,UAAA,MAAM,MAAM;AAAA,IACvC,SAAS,MAAM,YACZD,mBAAQ,4BAA4B,OACpCA,mBAAQ,4BAA4B;AAAA,IACvC,UAAUE,MAAAA,YAAuB,MAAM,MAAM,CAAC,CAAC;AAAA,IAC/C,aAAaC,MAAAA,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,OAAO,gBAAiB,CAAmB;AAAA,IACnD,cAAc,OAAO,mBAAoB,CAAsB;AAAA,EAAA;AAEjE;;"}
1
+ {"version":3,"file":"slice.cjs","sources":["../../../src/model/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig, NestedGroupFieldModelMap } from \"../types\";\n\nexport type MockSliceModelConfig<\n\tNonRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields>,\n): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.word()),\n\t\tdisplay: faker.boolean()\n\t\t\t? prismic.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismic.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.words(2)),\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n"],"names":["createFaker","prismic","changeCase.snakeCase","changeCase.capitalCase","changeCase.sentenceCase"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAea,MAAA,QAAQ,CAIpB,WACgE;AAChE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAMC,mBAAQ,yBAAyB;AAAA,IACvC,MAAMC,MAAqB,UAAA,MAAM,MAAM;AAAA,IACvC,SAAS,MAAM,YACZD,mBAAQ,4BAA4B,OACpCA,mBAAQ,4BAA4B;AAAA,IACvC,UAAUE,MAAAA,YAAuB,MAAM,MAAM,CAAC,CAAC;AAAA,IAC/C,aAAaC,MAAAA,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,OAAO,gBAAiB,CAAmB;AAAA,IACnD,cAAc,OAAO,mBAAoB,CAAsB;AAAA,EAAA;AAEjE;;"}
@@ -1,7 +1,7 @@
1
1
  import * as prismic from "@prismicio/client";
2
- import { GroupFieldModelMap, MockModelConfig } from "../types";
3
- export type MockSliceModelConfig<NonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap, RepeatFields extends GroupFieldModelMap = GroupFieldModelMap> = {
2
+ import { MockModelConfig, NestedGroupFieldModelMap } from "../types";
3
+ export type MockSliceModelConfig<NonRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap, RepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap> = {
4
4
  nonRepeatFields?: NonRepeatFields;
5
5
  repeatFields?: RepeatFields;
6
6
  } & MockModelConfig;
7
- export declare const slice: <NonRepeatFields extends GroupFieldModelMap, RepeatFields extends GroupFieldModelMap>(config: MockSliceModelConfig<NonRepeatFields, RepeatFields>) => prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
7
+ export declare const slice: <NonRepeatFields extends NestedGroupFieldModelMap, RepeatFields extends NestedGroupFieldModelMap>(config: MockSliceModelConfig<NonRepeatFields, RepeatFields>) => prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields>;
@@ -1 +1 @@
1
- {"version":3,"file":"slice.js","sources":["../../../src/model/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\nexport type MockSliceModelConfig<\n\tNonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends GroupFieldModelMap,\n\tRepeatFields extends GroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields>,\n): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.word()),\n\t\tdisplay: faker.boolean()\n\t\t\t? prismic.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismic.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.words(2)),\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n"],"names":["changeCase.snakeCase","changeCase.capitalCase","changeCase.sentenceCase"],"mappings":";;;AAea,MAAA,QAAQ,CAIpB,WACgE;AAChE,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAM,QAAQ,yBAAyB;AAAA,IACvC,MAAMA,UAAqB,MAAM,MAAM;AAAA,IACvC,SAAS,MAAM,YACZ,QAAQ,4BAA4B,OACpC,QAAQ,4BAA4B;AAAA,IACvC,UAAUC,YAAuB,MAAM,MAAM,CAAC,CAAC;AAAA,IAC/C,aAAaC,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,OAAO,gBAAiB,CAAmB;AAAA,IACnD,cAAc,OAAO,mBAAoB,CAAsB;AAAA,EAAA;AAEjE;"}
1
+ {"version":3,"file":"slice.js","sources":["../../../src/model/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig, NestedGroupFieldModelMap } from \"../types\";\n\nexport type MockSliceModelConfig<\n\tNonRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n> = {\n\tnonRepeatFields?: NonRepeatFields;\n\trepeatFields?: RepeatFields;\n} & MockModelConfig;\n\nexport const slice = <\n\tNonRepeatFields extends NestedGroupFieldModelMap,\n\tRepeatFields extends NestedGroupFieldModelMap,\n>(\n\tconfig: MockSliceModelConfig<NonRepeatFields, RepeatFields>,\n): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismic.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.word()),\n\t\tdisplay: faker.boolean()\n\t\t\t? prismic.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismic.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.words(2)),\n\t\tdescription: changeCase.sentenceCase(faker.words(faker.range(5, 10))),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n"],"names":["changeCase.snakeCase","changeCase.capitalCase","changeCase.sentenceCase"],"mappings":";;;AAea,MAAA,QAAQ,CAIpB,WACgE;AAChE,QAAM,QAAQ,OAAO,SAAS,YAAY,OAAO,IAAI;AAE9C,SAAA;AAAA,IACN,MAAM,QAAQ,yBAAyB;AAAA,IACvC,MAAMA,UAAqB,MAAM,MAAM;AAAA,IACvC,SAAS,MAAM,YACZ,QAAQ,4BAA4B,OACpC,QAAQ,4BAA4B;AAAA,IACvC,UAAUC,YAAuB,MAAM,MAAM,CAAC,CAAC;AAAA,IAC/C,aAAaC,aAAwB,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACpE,QAAQ,OAAO,gBAAiB,CAAmB;AAAA,IACnD,cAAc,OAAO,mBAAoB,CAAsB;AAAA,EAAA;AAEjE;"}
@@ -3,4 +3,4 @@ import { MockModelConfig } from "../types";
3
3
  export type MockSliceZoneModelConfig<Slices extends Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice> = Record<string, prismic.CustomTypeModelSlice | prismic.CustomTypeModelSharedSlice>> = {
4
4
  choices?: Slices;
5
5
  } & MockModelConfig;
6
- export declare const sliceZone: <Slices extends Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>> | prismic.CustomTypeModelSharedSlice>>(config: MockSliceZoneModelConfig<Slices>) => prismic.CustomTypeModelSliceZoneField<Slices>;
6
+ export declare const sliceZone: <Slices extends Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForNestedGroup>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>> | prismic.CustomTypeModelSharedSlice>>(config: MockSliceZoneModelConfig<Slices>) => prismic.CustomTypeModelSliceZoneField<Slices>;
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 NestedGroupFieldModelMap = Record<string, prismic.CustomTypeModelFieldForNestedGroup>;
40
41
  export type SlicePrimaryFieldModelMap = Record<string, prismic.CustomTypeModelFieldForSlicePrimary>;
41
42
  export type MockValueConfig<Model extends PrismicModel = PrismicModel> = {
42
43
  model?: Model;
@@ -70,8 +71,9 @@ export type ModelValue<T extends PrismicModel, State extends prismic.FieldState
70
71
  type CustomTypeModelValue<T extends prismic.CustomTypeModel> = prismic.PrismicDocument<ModelValueMap<{
71
72
  [P in keyof ValueOf<T["json"]> as ValueOf<T["json"]>[P]["type"] extends typeof prismic.CustomTypeModelFieldType.UID ? never : P]: ValueOf<T["json"]>[P];
72
73
  }>>;
73
- type CustomTypeModelFieldForGroupValue<T extends prismic.CustomTypeModelFieldForGroup, State extends prismic.FieldState = prismic.FieldState> = T extends prismic.CustomTypeModelBooleanField ? prismic.BooleanField : T extends prismic.CustomTypeModelColorField ? prismic.ColorField<State> : T extends prismic.CustomTypeModelRichTextField ? prismic.RichTextField<State> : T extends prismic.CustomTypeModelTitleField ? prismic.TitleField<State> : T extends prismic.CustomTypeModelImageField<infer TThumbnailNames> ? prismic.ImageField<TThumbnailNames, State> : T extends prismic.CustomTypeModelLinkField ? prismic.LinkField<string, string, never, State> : T extends prismic.CustomTypeModelLinkToMediaField ? prismic.LinkToMediaField<State> : T extends prismic.CustomTypeModelContentRelationshipField ? prismic.ContentRelationshipField<string, string, never, State> : T extends prismic.CustomTypeModelDateField ? prismic.DateField<State> : T extends prismic.CustomTypeModelTimestampField ? prismic.TimestampField<State> : T extends prismic.CustomTypeModelNumberField ? prismic.NumberField<State> : T extends prismic.CustomTypeModelKeyTextField ? prismic.KeyTextField<State> : T extends prismic.CustomTypeModelSelectField ? prismic.SelectField<string, State> : T extends prismic.CustomTypeModelEmbedField ? prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra, State> : T extends prismic.CustomTypeModelGeoPointField ? prismic.GeoPointField<State> : T extends prismic.CustomTypeModelIntegrationField ? prismic.IntegrationField<Record<string, unknown>, State> : never;
74
+ type CustomTypeModelFieldForGroupValue<T extends prismic.CustomTypeModelFieldForGroup, State extends prismic.FieldState = prismic.FieldState> = T extends prismic.CustomTypeModelNestedGroupField ? CustomTypeModelNestedGroupFieldValue<T, State> : T extends prismic.CustomTypeModelBooleanField ? prismic.BooleanField : T extends prismic.CustomTypeModelColorField ? prismic.ColorField<State> : T extends prismic.CustomTypeModelRichTextField ? prismic.RichTextField<State> : T extends prismic.CustomTypeModelTitleField ? prismic.TitleField<State> : T extends prismic.CustomTypeModelImageField<infer TThumbnailNames> ? prismic.ImageField<TThumbnailNames, State> : T extends prismic.CustomTypeModelLinkField ? prismic.LinkField<string, string, never, State> : T extends prismic.CustomTypeModelLinkToMediaField ? prismic.LinkToMediaField<State> : T extends prismic.CustomTypeModelContentRelationshipField ? prismic.ContentRelationshipField<string, string, never, State> : T extends prismic.CustomTypeModelDateField ? prismic.DateField<State> : T extends prismic.CustomTypeModelTimestampField ? prismic.TimestampField<State> : T extends prismic.CustomTypeModelNumberField ? prismic.NumberField<State> : T extends prismic.CustomTypeModelKeyTextField ? prismic.KeyTextField<State> : T extends prismic.CustomTypeModelSelectField ? prismic.SelectField<string, State> : T extends prismic.CustomTypeModelEmbedField ? prismic.EmbedField<prismic.AnyOEmbed & prismic.OEmbedExtra, State> : T extends prismic.CustomTypeModelGeoPointField ? prismic.GeoPointField<State> : T extends prismic.CustomTypeModelIntegrationField ? prismic.IntegrationField<Record<string, unknown>, State> : never;
74
75
  type CustomTypeModelGroupFieldValue<T extends prismic.CustomTypeModelGroupField, State extends prismic.FieldState = prismic.FieldState> = prismic.GroupField<ModelValueMap<NonNullable<NonNullable<T["config"]>["fields"]>>, State>;
76
+ type CustomTypeModelNestedGroupFieldValue<T extends prismic.CustomTypeModelNestedGroupField, State extends prismic.FieldState = prismic.FieldState> = prismic.NestedGroupField<ModelValueMap<NonNullable<NonNullable<T["config"]>["fields"]>>, State>;
75
77
  type CustomTypeModelSliceValue<T extends prismic.CustomTypeModelSlice, SliceType = string> = prismic.Slice<SliceType, ModelValueMap<NonNullable<T["non-repeat"]>>, ModelValueMap<NonNullable<T["repeat"]>>>;
76
78
  type SharedSliceModelValue<T extends prismic.SharedSliceModel> = prismic.SharedSlice<T["id"], SharedSliceModelVariationValue<IterableElement<NonNullable<T["variations"]>>>>;
77
79
  type SharedSliceModelVariationValue<T extends prismic.SharedSliceModelVariation> = prismic.SharedSlice<string, prismic.SharedSliceVariation<T["id"], ModelValueMap<NonNullable<T["primary"]>>, ModelValueMap<NonNullable<T["items"]>>>>;
@@ -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.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>>> = prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, 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.CustomTypeModelFieldForNestedGroup>>> = prismic.SharedSliceModel<string, prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>>>>(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.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForGroup>> = prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, 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.CustomTypeModelFieldForNestedGroup>> = prismic.SharedSliceModelVariation<string, Record<string, prismic.CustomTypeModelFieldForSlicePrimary>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>>>(config: MockSharedSliceVariationValueConfig<Model>) => ModelValue<Model>;
@@ -8,4 +8,4 @@ export type MockSliceValueConfig<Model extends prismic.CustomTypeModelSlice = pr
8
8
  primaryFieldConfigs?: ValueForModelMapConfigs;
9
9
  itemsFieldConfigs?: ValueForModelMapConfigs;
10
10
  } & MockValueConfig<Model>;
11
- export declare const slice: <Model extends prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>> = prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>>>(config: MockSliceValueConfig<Model>) => ModelValue<Model>;
11
+ export declare const slice: <Model extends prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForNestedGroup>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>> = prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForNestedGroup>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>>>(config: MockSliceValueConfig<Model>) => ModelValue<Model>;
@@ -7,4 +7,4 @@ export type MockSliceZoneValueConfig<Model extends prismic.CustomTypeModelSliceZ
7
7
  primaryFieldConfigs?: ValueForModelMapConfigs;
8
8
  itemsFieldConfigs?: ValueForModelMapConfigs;
9
9
  } & MockValueConfig<Model> & MockValueStateConfig<State>;
10
- export declare const sliceZone: <Model extends prismic.CustomTypeModelSliceZoneField<Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>> | prismic.CustomTypeModelSharedSlice | prismic.CustomTypeModelLegacySlice>> = prismic.CustomTypeModelSliceZoneField<Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForGroup>, Record<string, prismic.CustomTypeModelFieldForGroup>> | prismic.CustomTypeModelSharedSlice | prismic.CustomTypeModelLegacySlice>>, State extends prismic.FieldState = prismic.FieldState>(config: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
10
+ export declare const sliceZone: <Model extends prismic.CustomTypeModelSliceZoneField<Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForNestedGroup>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>> | prismic.CustomTypeModelSharedSlice | prismic.CustomTypeModelLegacySlice>> = prismic.CustomTypeModelSliceZoneField<Record<string, prismic.CustomTypeModelSlice<Record<string, prismic.CustomTypeModelFieldForNestedGroup>, Record<string, prismic.CustomTypeModelFieldForNestedGroup>> | prismic.CustomTypeModelSharedSlice | prismic.CustomTypeModelLegacySlice>>, State extends prismic.FieldState = prismic.FieldState>(config: MockSliceZoneValueConfig<Model, State>) => ModelValue<Model, State>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prismicio/mock",
3
- "version": "0.3.6",
3
+ "version": "0.3.7-alpha.1",
4
4
  "description": "Generate mock Prismic documents, fields, Slices, and models for development and testing environments",
5
5
  "keywords": [
6
6
  "typescript",
@@ -49,8 +49,8 @@
49
49
  "lint": "eslint --ext .js,.ts .",
50
50
  "prepare": "npm run build",
51
51
  "release": "npm run test && standard-version && git push --follow-tags && npm run build && npm publish",
52
- "release:alpha": "npm run test && standard-version --release-as major --prerelease alpha && git push --follow-tags && npm run build && npm publish --tag alpha",
53
- "release:alpha:dry": "standard-version --release-as major --prerelease alpha --dry-run",
52
+ "release:alpha": "npm run test && standard-version --release-as patch --prerelease alpha && git push --follow-tags && npm run build && npm publish --tag alpha",
53
+ "release:alpha:dry": "standard-version --release-as patch --prerelease alpha --dry-run",
54
54
  "release:dry": "standard-version --dry-run",
55
55
  "size": "size-limit",
56
56
  "test": "npm run lint && npm run types && npm run unit && npm run build && npm run size",
@@ -61,7 +61,7 @@
61
61
  "change-case": "^5.4.4"
62
62
  },
63
63
  "devDependencies": {
64
- "@prismicio/client": "^7.5.0-alpha.1",
64
+ "@prismicio/client": "^7.6.0-alpha.0",
65
65
  "@size-limit/preset-small-lib": "^11.1.2",
66
66
  "@types/node": "^20.12.7",
67
67
  "@typescript-eslint/eslint-plugin": "^7.6.0",
@@ -1,4 +1,4 @@
1
- import { GroupFieldModelMap, MockModelConfig, ValueOf } from "../types";
1
+ import { MockModelConfig, NestedGroupFieldModelMap, ValueOf } from "../types";
2
2
 
3
3
  import { boolean } from "../model/boolean";
4
4
  import { color } from "../model/color";
@@ -43,10 +43,10 @@ export type BuildMockGroupFieldMapConfig = MockModelConfig;
43
43
 
44
44
  export const buildMockGroupFieldMap = (
45
45
  config: BuildMockGroupFieldMapConfig,
46
- ): GroupFieldModelMap => {
46
+ ): NestedGroupFieldModelMap => {
47
47
  const faker = config.faker || createFaker(config.seed);
48
48
 
49
- const fields: GroupFieldModelMap = {};
49
+ const fields: NestedGroupFieldModelMap = {};
50
50
 
51
51
  const fieldTypes = faker.randomElements(
52
52
  Object.keys(mockModelFns) as (keyof typeof mockModelFns)[],
@@ -56,7 +56,7 @@ export const buildMockGroupFieldMap = (
56
56
  const fieldId = generateFieldId({ faker });
57
57
  const mockModelFn = mockModelFns[fieldType] as (
58
58
  config: MockModelConfig,
59
- ) => ValueOf<GroupFieldModelMap>;
59
+ ) => ValueOf<NestedGroupFieldModelMap>;
60
60
 
61
61
  fields[fieldId] = mockModelFn({ faker });
62
62
  }
@@ -4,6 +4,7 @@ import { createFaker, Faker } from "../lib/createFaker";
4
4
 
5
5
  import {
6
6
  GroupFieldModelMap,
7
+ NestedGroupFieldModelMap,
7
8
  Seed,
8
9
  SlicePrimaryFieldModelMap,
9
10
  WithoutFakerConfig,
@@ -170,7 +171,7 @@ export class ModelMockFactory {
170
171
  sharedSliceVariation<
171
172
  ID extends string,
172
173
  PrimaryFields extends SlicePrimaryFieldModelMap,
173
- ItemsFields extends GroupFieldModelMap,
174
+ ItemsFields extends NestedGroupFieldModelMap,
174
175
  >(
175
176
  config?: WithoutFakerConfig<
176
177
  MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>
@@ -180,8 +181,8 @@ export class ModelMockFactory {
180
181
  }
181
182
 
182
183
  slice<
183
- NonRepeatFields extends GroupFieldModelMap,
184
- RepeatFields extends GroupFieldModelMap,
184
+ NonRepeatFields extends NestedGroupFieldModelMap,
185
+ RepeatFields extends NestedGroupFieldModelMap,
185
186
  >(
186
187
  config?: WithoutFakerConfig<
187
188
  MockSliceModelConfig<NonRepeatFields, RepeatFields>
@@ -5,15 +5,15 @@ import { createFaker } from "../lib/createFaker";
5
5
  import { getMockImageData } from "../lib/getMockImageData";
6
6
 
7
7
  import {
8
- GroupFieldModelMap,
9
8
  MockModelConfig,
9
+ NestedGroupFieldModelMap,
10
10
  SlicePrimaryFieldModelMap,
11
11
  } from "../types";
12
12
 
13
13
  export type MockSharedSliceVariationModelConfig<
14
14
  ID extends string = string,
15
15
  PrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,
16
- ItemsFields extends GroupFieldModelMap = GroupFieldModelMap,
16
+ ItemsFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,
17
17
  > = {
18
18
  id?: ID;
19
19
  name?: string;
@@ -24,7 +24,7 @@ export type MockSharedSliceVariationModelConfig<
24
24
  export const sharedSliceVariation = <
25
25
  ID extends string,
26
26
  PrimaryFields extends SlicePrimaryFieldModelMap,
27
- ItemsFields extends GroupFieldModelMap,
27
+ ItemsFields extends NestedGroupFieldModelMap,
28
28
  >(
29
29
  config: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,
30
30
  ): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {
@@ -3,19 +3,19 @@ import * as changeCase from "change-case";
3
3
 
4
4
  import { createFaker } from "../lib/createFaker";
5
5
 
6
- import { GroupFieldModelMap, MockModelConfig } from "../types";
6
+ import { MockModelConfig, NestedGroupFieldModelMap } from "../types";
7
7
 
8
8
  export type MockSliceModelConfig<
9
- NonRepeatFields extends GroupFieldModelMap = GroupFieldModelMap,
10
- RepeatFields extends GroupFieldModelMap = GroupFieldModelMap,
9
+ NonRepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,
10
+ RepeatFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,
11
11
  > = {
12
12
  nonRepeatFields?: NonRepeatFields;
13
13
  repeatFields?: RepeatFields;
14
14
  } & MockModelConfig;
15
15
 
16
16
  export const slice = <
17
- NonRepeatFields extends GroupFieldModelMap,
18
- RepeatFields extends GroupFieldModelMap,
17
+ NonRepeatFields extends NestedGroupFieldModelMap,
18
+ RepeatFields extends NestedGroupFieldModelMap,
19
19
  >(
20
20
  config: MockSliceModelConfig<NonRepeatFields, RepeatFields>,
21
21
  ): prismic.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {
package/src/types.ts CHANGED
@@ -78,6 +78,11 @@ export type GroupFieldModelMap = Record<
78
78
  prismic.CustomTypeModelFieldForGroup
79
79
  >;
80
80
 
81
+ export type NestedGroupFieldModelMap = Record<
82
+ string,
83
+ prismic.CustomTypeModelFieldForNestedGroup
84
+ >;
85
+
81
86
  export type SlicePrimaryFieldModelMap = Record<
82
87
  string,
83
88
  prismic.CustomTypeModelFieldForSlicePrimary
@@ -225,45 +230,52 @@ type CustomTypeModelValue<T extends prismic.CustomTypeModel> =
225
230
  type CustomTypeModelFieldForGroupValue<
226
231
  T extends prismic.CustomTypeModelFieldForGroup,
227
232
  State extends prismic.FieldState = prismic.FieldState,
228
- > = T extends prismic.CustomTypeModelBooleanField
229
- ? prismic.BooleanField
230
- : T extends prismic.CustomTypeModelColorField
231
- ? prismic.ColorField<State>
232
- : T extends prismic.CustomTypeModelRichTextField
233
- ? prismic.RichTextField<State>
234
- : T extends prismic.CustomTypeModelTitleField
235
- ? prismic.TitleField<State>
236
- : T extends prismic.CustomTypeModelImageField<infer TThumbnailNames>
237
- ? prismic.ImageField<TThumbnailNames, State>
238
- : T extends prismic.CustomTypeModelLinkField
239
- ? prismic.LinkField<string, string, never, State>
240
- : T extends prismic.CustomTypeModelLinkToMediaField
241
- ? prismic.LinkToMediaField<State>
242
- : T extends prismic.CustomTypeModelContentRelationshipField
243
- ? prismic.ContentRelationshipField<string, string, never, State>
244
- : T extends prismic.CustomTypeModelDateField
245
- ? prismic.DateField<State>
246
- : T extends prismic.CustomTypeModelTimestampField
247
- ? prismic.TimestampField<State>
248
- : T extends prismic.CustomTypeModelNumberField
249
- ? prismic.NumberField<State>
250
- : T extends prismic.CustomTypeModelKeyTextField
251
- ? prismic.KeyTextField<State>
252
- : T extends prismic.CustomTypeModelSelectField
253
- ? prismic.SelectField<string, State>
254
- : T extends prismic.CustomTypeModelEmbedField
255
- ? prismic.EmbedField<
256
- prismic.AnyOEmbed & prismic.OEmbedExtra,
257
- State
258
- >
259
- : T extends prismic.CustomTypeModelGeoPointField
260
- ? prismic.GeoPointField<State>
261
- : T extends prismic.CustomTypeModelIntegrationField
262
- ? prismic.IntegrationField<
263
- Record<string, unknown>,
264
- State
265
- >
266
- : never;
233
+ > = T extends prismic.CustomTypeModelNestedGroupField
234
+ ? CustomTypeModelNestedGroupFieldValue<T, State>
235
+ : T extends prismic.CustomTypeModelBooleanField
236
+ ? prismic.BooleanField
237
+ : T extends prismic.CustomTypeModelColorField
238
+ ? prismic.ColorField<State>
239
+ : T extends prismic.CustomTypeModelRichTextField
240
+ ? prismic.RichTextField<State>
241
+ : T extends prismic.CustomTypeModelTitleField
242
+ ? prismic.TitleField<State>
243
+ : T extends prismic.CustomTypeModelImageField<infer TThumbnailNames>
244
+ ? prismic.ImageField<TThumbnailNames, State>
245
+ : T extends prismic.CustomTypeModelLinkField
246
+ ? prismic.LinkField<string, string, never, State>
247
+ : T extends prismic.CustomTypeModelLinkToMediaField
248
+ ? prismic.LinkToMediaField<State>
249
+ : T extends prismic.CustomTypeModelContentRelationshipField
250
+ ? prismic.ContentRelationshipField<
251
+ string,
252
+ string,
253
+ never,
254
+ State
255
+ >
256
+ : T extends prismic.CustomTypeModelDateField
257
+ ? prismic.DateField<State>
258
+ : T extends prismic.CustomTypeModelTimestampField
259
+ ? prismic.TimestampField<State>
260
+ : T extends prismic.CustomTypeModelNumberField
261
+ ? prismic.NumberField<State>
262
+ : T extends prismic.CustomTypeModelKeyTextField
263
+ ? prismic.KeyTextField<State>
264
+ : T extends prismic.CustomTypeModelSelectField
265
+ ? prismic.SelectField<string, State>
266
+ : T extends prismic.CustomTypeModelEmbedField
267
+ ? prismic.EmbedField<
268
+ prismic.AnyOEmbed & prismic.OEmbedExtra,
269
+ State
270
+ >
271
+ : T extends prismic.CustomTypeModelGeoPointField
272
+ ? prismic.GeoPointField<State>
273
+ : T extends prismic.CustomTypeModelIntegrationField
274
+ ? prismic.IntegrationField<
275
+ Record<string, unknown>,
276
+ State
277
+ >
278
+ : never;
267
279
 
268
280
  type CustomTypeModelGroupFieldValue<
269
281
  T extends prismic.CustomTypeModelGroupField,
@@ -273,6 +285,14 @@ type CustomTypeModelGroupFieldValue<
273
285
  State
274
286
  >;
275
287
 
288
+ type CustomTypeModelNestedGroupFieldValue<
289
+ T extends prismic.CustomTypeModelNestedGroupField,
290
+ State extends prismic.FieldState = prismic.FieldState,
291
+ > = prismic.NestedGroupField<
292
+ ModelValueMap<NonNullable<NonNullable<T["config"]>["fields"]>>,
293
+ State
294
+ >;
295
+
276
296
  type CustomTypeModelSliceValue<
277
297
  T extends prismic.CustomTypeModelSlice,
278
298
  SliceType = string,