@prismicio/mock 0.0.7 → 0.0.8

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.
@@ -184,7 +184,7 @@ const integrationFields = (config = {}) => {
184
184
  type: prismicT__namespace.CustomTypeModelFieldType.IntegrationFields,
185
185
  config: {
186
186
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
187
- catalog: changeCase__namespace.snakeCase(faker.lorem.words(4))
187
+ catalog: config.catalog || changeCase__namespace.snakeCase(faker.lorem.words(4))
188
188
  }
189
189
  };
190
190
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/model/boolean.ts","../../src/model/color.ts","../../src/model/contentRelationship.ts","../../src/model/customType.ts","../../src/model/date.ts","../../src/model/embed.ts","../../src/model/geoPoint.ts","../../src/model/group.ts","../../src/model/image.ts","../../src/model/integrationFields.ts","../../src/model/keyText.ts","../../src/model/link.ts","../../src/model/linkToMedia.ts","../../src/model/number.ts","../../src/model/richText.ts","../../src/model/select.ts","../../src/model/sharedSlice.ts","../../src/model/sharedSliceChoice.ts","../../src/model/sharedSliceVariation.ts","../../src/model/slice.ts","../../src/model/sliceZone.ts","../../src/model/timestamp.ts","../../src/model/title.ts","../../src/model/uid.ts","../../src/lib/generateFieldId.ts","../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockBooleanModelConfig = MockModelConfig;\n\nexport const boolean = (\n\tconfig: MockBooleanModelConfig = {},\n): prismicT.CustomTypeModelBooleanField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Boolean,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockColorModelConfig = MockModelConfig;\n\nexport const color = (\n\tconfig: MockColorModelConfig = {},\n): prismicT.CustomTypeModelColorField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Color,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockContentRelationshipModelConfig<\n\tCustomTypeIDs extends string = string,\n\tTags extends string = string,\n> = {\n\tcustomTypeIDs?: readonly CustomTypeIDs[];\n\ttags?: readonly Tags[];\n} & MockModelConfig;\n\nexport const contentRelationship = <\n\tCustomTypeIDs extends string,\n\tTags extends string,\n>(\n\tconfig: MockContentRelationshipModelConfig<CustomTypeIDs, Tags> = {},\n): prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Document,\n\t\t\tcustomtypes: config.customTypeIDs,\n\t\t\ttags: config.tags,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition =\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\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| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = Definition extends prismicT.CustomTypeModelTab\n\t? prismicT.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismicT.CustomTypeModelDefinition\n\t? prismicT.CustomTypeModel<string, Definition>\n\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition> = {},\n): MockCustomTypeModel<Definition> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.company.bsNoun());\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\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.datatype.boolean(),\n\t\trepeatable: config.repeatable ?? faker.datatype.boolean(),\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockDateModelConfig = MockModelConfig;\n\nexport const date = (\n\tconfig: MockDateModelConfig = {},\n): prismicT.CustomTypeModelDateField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Date,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockEmbedModelConfig = MockModelConfig;\n\nexport const embed = (\n\tconfig: MockEmbedModelConfig = {},\n): prismicT.CustomTypeModelEmbedField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Embed,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockGeoPointModelConfig = MockModelConfig;\n\nexport const geoPoint = (\n\tconfig: MockGeoPointModelConfig = {},\n): prismicT.CustomTypeModelGeoPointField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.GeoPoint,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockGroupModelConfig<Fields extends GroupFieldModelMap> = {\n\tfields?: Fields;\n} & MockModelConfig;\n\nexport const group = <Fields extends GroupFieldModelMap>(\n\tconfig: MockGroupModelConfig<Fields> = {},\n): prismicT.CustomTypeModelGroupField<Fields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Group,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tfields: config.fields || ({} as Fields),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames> = {},\n): prismicT.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t\theight: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t\theight: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockIntegrationFieldsModelConfig = MockModelConfig;\n\nexport const integrationFields = (\n\tconfig: MockIntegrationFieldsModelConfig = {},\n): prismicT.CustomTypeModelIntegrationFieldsField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.IntegrationFields,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tcatalog: changeCase.snakeCase(faker.lorem.words(4)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockKeyTextModelConfig = MockModelConfig;\n\nexport const keyText = (\n\tconfig: MockKeyTextModelConfig = {},\n): prismicT.CustomTypeModelKeyTextField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Text,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkModel<AllowTargetBlank extends boolean = boolean> =\n\tprismicT.CustomTypeModelLinkField & {\n\t\tconfig: AllowTargetBlank extends true\n\t\t\t? {\n\t\t\t\t\tallowTargetBlank: true;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tallowTargetBlank?: undefined;\n\t\t\t };\n\t};\n\nexport type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {\n\tallowTargetBlank?: AllowTargetBlank;\n} & MockModelConfig;\n\nexport const link = <AllowTargetBlank extends boolean = boolean>(\n\tconfig: MockLinkModelConfig<AllowTargetBlank> = {},\n): MockLinkModel<AllowTargetBlank> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: null,\n\t\t\tallowTargetBlank:\n\t\t\t\t(\"allowTargetBlank\" in config\n\t\t\t\t\t? config.allowTargetBlank\n\t\t\t\t\t: faker.datatype.boolean()) || undefined,\n\t\t},\n\t} as MockLinkModel<AllowTargetBlank>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockLinkTomediaModelConfig = MockModelConfig;\n\nexport const linkToMedia = (\n\tconfig: MockLinkTomediaModelConfig = {},\n): prismicT.CustomTypeModelLinkToMediaField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Media,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockNumberModelConfig = MockModelConfig;\n\nexport const number = (\n\tconfig: MockNumberModelConfig = {},\n): prismicT.CustomTypeModelNumberField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Number,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockRichTextModelConfig<\n\tWithMultipleBlocks extends boolean = boolean,\n> = {\n\twithMultipleBlocks?: WithMultipleBlocks;\n} & MockModelConfig;\n\nexport const richText = <WithMultipleBlocks extends boolean = boolean>(\n\tconfig: MockRichTextModelConfig<WithMultipleBlocks> = {},\n): WithMultipleBlocks extends true\n\t? prismicT.CustomTypeModelRichTextMultiField\n\t: prismicT.CustomTypeModelRichTextSingleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst blockTypes = faker.random\n\t\t.arrayElements([\n\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\tprismicT.RichTextNodeType.paragraph,\n\t\t\tprismicT.RichTextNodeType.preformatted,\n\t\t\tprismicT.RichTextNodeType.strong,\n\t\t\tprismicT.RichTextNodeType.em,\n\t\t\tprismicT.RichTextNodeType.listItem,\n\t\t\tprismicT.RichTextNodeType.oListItem,\n\t\t\tprismicT.RichTextNodeType.image,\n\t\t\tprismicT.RichTextNodeType.embed,\n\t\t\tprismicT.RichTextNodeType.hyperlink,\n\t\t])\n\t\t.join(\",\");\n\n\tconst blockTypeConfig =\n\t\tconfig.withMultipleBlocks ?? faker.datatype.boolean()\n\t\t\t? { multi: blockTypes }\n\t\t\t: { single: blockTypes };\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t\t...blockTypeConfig,\n\t\t},\n\t} as WithMultipleBlocks extends true\n\t\t? prismicT.CustomTypeModelRichTextMultiField\n\t\t: prismicT.CustomTypeModelRichTextSingleField;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[];\n\tdefaultValue?: DefaultOption;\n} & MockModelConfig;\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption> = {},\n): prismicT.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSharedSliceModelConfig<\n\tVariation extends prismicT.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismicT.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceModelConfig<Variation> = {},\n): prismicT.SharedSliceModel<string, Variation> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(name);\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);\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nexport const sharedSliceChoice = (): prismicT.CustomTypeModelSharedSlice => {\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\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<\n\t\tID,\n\t\tPrimaryFields,\n\t\tItemsFields\n\t> = {},\n): prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\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\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tdocURL: faker.internet.url(),\n\t\tversion: faker.git.shortSha(),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype 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): prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.company.bsNoun()),\n\t\tdisplay: faker.datatype.boolean()\n\t\t\t? prismicT.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismicT.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.lorem.words()),\n\t\tdescription: faker.lorem.sentence(),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSliceZoneModelConfig<\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t> = Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n> = {\n\tchoices?: Slices;\n} & MockModelConfig;\n\nexport const sliceZone = <\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n>(\n\tconfig: MockSliceZoneModelConfig<Slices> = {},\n): prismicT.CustomTypeModelSliceZoneField<Slices> => {\n\tconst labels =\n\t\t{} as prismicT.CustomTypeModelSliceZoneField<Slices>[\"config\"][\"labels\"];\n\n\tfor (const choiceId in config.choices) {\n\t\tconst choice = config.choices[choiceId];\n\n\t\tif (choice.type === prismicT.CustomTypeModelSliceType.Slice) {\n\t\t\tlabels[choiceId as unknown as keyof typeof labels] = [];\n\t\t}\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Slices,\n\t\tfieldset: \"Slice zone\",\n\t\tconfig: {\n\t\t\tlabels,\n\t\t\tchoices: config.choices || ({} as Slices),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTimestampModelConfig = MockModelConfig;\n\nexport const timestamp = (\n\tconfig: MockTimestampModelConfig = {},\n): prismicT.CustomTypeModelTimestampField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Timestamp,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockUIDModelConfig = MockModelConfig;\n\nexport const uid = (\n\tconfig: MockUIDModelConfig = {},\n): prismicT.CustomTypeModelUIDField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.UID,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype GenerateFieldIdConfig = Pick<MockModelConfig, \"seed\">;\n\nexport const generateFieldId = (config: GenerateFieldIdConfig): string => {\n\tconst faker = createFaker(config.seed);\n\n\treturn changeCase.snakeCase(\n\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t);\n};\n","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 { integrationFields } from \"../model/integrationFields\";\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\tintegrationFields,\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 = createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.random.arrayElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ seed: config.seed });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ seed: config.seed });\n\t}\n\n\treturn fields;\n};\n"],"names":["Faker","fakerLocaleEN","prismicT","changeCase"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/model/boolean.ts","../../src/model/color.ts","../../src/model/contentRelationship.ts","../../src/model/customType.ts","../../src/model/date.ts","../../src/model/embed.ts","../../src/model/geoPoint.ts","../../src/model/group.ts","../../src/model/image.ts","../../src/model/integrationFields.ts","../../src/model/keyText.ts","../../src/model/link.ts","../../src/model/linkToMedia.ts","../../src/model/number.ts","../../src/model/richText.ts","../../src/model/select.ts","../../src/model/sharedSlice.ts","../../src/model/sharedSliceChoice.ts","../../src/model/sharedSliceVariation.ts","../../src/model/slice.ts","../../src/model/sliceZone.ts","../../src/model/timestamp.ts","../../src/model/title.ts","../../src/model/uid.ts","../../src/lib/generateFieldId.ts","../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockBooleanModelConfig = MockModelConfig;\n\nexport const boolean = (\n\tconfig: MockBooleanModelConfig = {},\n): prismicT.CustomTypeModelBooleanField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Boolean,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockColorModelConfig = MockModelConfig;\n\nexport const color = (\n\tconfig: MockColorModelConfig = {},\n): prismicT.CustomTypeModelColorField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Color,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockContentRelationshipModelConfig<\n\tCustomTypeIDs extends string = string,\n\tTags extends string = string,\n> = {\n\tcustomTypeIDs?: readonly CustomTypeIDs[];\n\ttags?: readonly Tags[];\n} & MockModelConfig;\n\nexport const contentRelationship = <\n\tCustomTypeIDs extends string,\n\tTags extends string,\n>(\n\tconfig: MockContentRelationshipModelConfig<CustomTypeIDs, Tags> = {},\n): prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Document,\n\t\t\tcustomtypes: config.customTypeIDs,\n\t\t\ttags: config.tags,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition =\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\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| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = Definition extends prismicT.CustomTypeModelTab\n\t? prismicT.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismicT.CustomTypeModelDefinition\n\t? prismicT.CustomTypeModel<string, Definition>\n\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition> = {},\n): MockCustomTypeModel<Definition> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.company.bsNoun());\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\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.datatype.boolean(),\n\t\trepeatable: config.repeatable ?? faker.datatype.boolean(),\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockDateModelConfig = MockModelConfig;\n\nexport const date = (\n\tconfig: MockDateModelConfig = {},\n): prismicT.CustomTypeModelDateField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Date,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockEmbedModelConfig = MockModelConfig;\n\nexport const embed = (\n\tconfig: MockEmbedModelConfig = {},\n): prismicT.CustomTypeModelEmbedField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Embed,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockGeoPointModelConfig = MockModelConfig;\n\nexport const geoPoint = (\n\tconfig: MockGeoPointModelConfig = {},\n): prismicT.CustomTypeModelGeoPointField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.GeoPoint,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockGroupModelConfig<Fields extends GroupFieldModelMap> = {\n\tfields?: Fields;\n} & MockModelConfig;\n\nexport const group = <Fields extends GroupFieldModelMap>(\n\tconfig: MockGroupModelConfig<Fields> = {},\n): prismicT.CustomTypeModelGroupField<Fields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Group,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tfields: config.fields || ({} as Fields),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames> = {},\n): prismicT.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t\theight: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t\theight: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockIntegrationFieldsModelConfig = {\n\tcatalog?: string;\n} & MockModelConfig;\n\nexport const integrationFields = (\n\tconfig: MockIntegrationFieldsModelConfig = {},\n): prismicT.CustomTypeModelIntegrationFieldsField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.IntegrationFields,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tcatalog: config.catalog || changeCase.snakeCase(faker.lorem.words(4)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockKeyTextModelConfig = MockModelConfig;\n\nexport const keyText = (\n\tconfig: MockKeyTextModelConfig = {},\n): prismicT.CustomTypeModelKeyTextField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Text,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkModel<AllowTargetBlank extends boolean = boolean> =\n\tprismicT.CustomTypeModelLinkField & {\n\t\tconfig: AllowTargetBlank extends true\n\t\t\t? {\n\t\t\t\t\tallowTargetBlank: true;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tallowTargetBlank?: undefined;\n\t\t\t };\n\t};\n\nexport type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {\n\tallowTargetBlank?: AllowTargetBlank;\n} & MockModelConfig;\n\nexport const link = <AllowTargetBlank extends boolean = boolean>(\n\tconfig: MockLinkModelConfig<AllowTargetBlank> = {},\n): MockLinkModel<AllowTargetBlank> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: null,\n\t\t\tallowTargetBlank:\n\t\t\t\t(\"allowTargetBlank\" in config\n\t\t\t\t\t? config.allowTargetBlank\n\t\t\t\t\t: faker.datatype.boolean()) || undefined,\n\t\t},\n\t} as MockLinkModel<AllowTargetBlank>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockLinkTomediaModelConfig = MockModelConfig;\n\nexport const linkToMedia = (\n\tconfig: MockLinkTomediaModelConfig = {},\n): prismicT.CustomTypeModelLinkToMediaField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Media,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockNumberModelConfig = MockModelConfig;\n\nexport const number = (\n\tconfig: MockNumberModelConfig = {},\n): prismicT.CustomTypeModelNumberField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Number,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockRichTextModelConfig<\n\tWithMultipleBlocks extends boolean = boolean,\n> = {\n\twithMultipleBlocks?: WithMultipleBlocks;\n} & MockModelConfig;\n\nexport const richText = <WithMultipleBlocks extends boolean = boolean>(\n\tconfig: MockRichTextModelConfig<WithMultipleBlocks> = {},\n): WithMultipleBlocks extends true\n\t? prismicT.CustomTypeModelRichTextMultiField\n\t: prismicT.CustomTypeModelRichTextSingleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst blockTypes = faker.random\n\t\t.arrayElements([\n\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\tprismicT.RichTextNodeType.paragraph,\n\t\t\tprismicT.RichTextNodeType.preformatted,\n\t\t\tprismicT.RichTextNodeType.strong,\n\t\t\tprismicT.RichTextNodeType.em,\n\t\t\tprismicT.RichTextNodeType.listItem,\n\t\t\tprismicT.RichTextNodeType.oListItem,\n\t\t\tprismicT.RichTextNodeType.image,\n\t\t\tprismicT.RichTextNodeType.embed,\n\t\t\tprismicT.RichTextNodeType.hyperlink,\n\t\t])\n\t\t.join(\",\");\n\n\tconst blockTypeConfig =\n\t\tconfig.withMultipleBlocks ?? faker.datatype.boolean()\n\t\t\t? { multi: blockTypes }\n\t\t\t: { single: blockTypes };\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t\t...blockTypeConfig,\n\t\t},\n\t} as WithMultipleBlocks extends true\n\t\t? prismicT.CustomTypeModelRichTextMultiField\n\t\t: prismicT.CustomTypeModelRichTextSingleField;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[];\n\tdefaultValue?: DefaultOption;\n} & MockModelConfig;\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption> = {},\n): prismicT.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSharedSliceModelConfig<\n\tVariation extends prismicT.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismicT.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceModelConfig<Variation> = {},\n): prismicT.SharedSliceModel<string, Variation> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(name);\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);\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nexport const sharedSliceChoice = (): prismicT.CustomTypeModelSharedSlice => {\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\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<\n\t\tID,\n\t\tPrimaryFields,\n\t\tItemsFields\n\t> = {},\n): prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\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\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tdocURL: faker.internet.url(),\n\t\tversion: faker.git.shortSha(),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype 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): prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.company.bsNoun()),\n\t\tdisplay: faker.datatype.boolean()\n\t\t\t? prismicT.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismicT.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.lorem.words()),\n\t\tdescription: faker.lorem.sentence(),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSliceZoneModelConfig<\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t> = Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n> = {\n\tchoices?: Slices;\n} & MockModelConfig;\n\nexport const sliceZone = <\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n>(\n\tconfig: MockSliceZoneModelConfig<Slices> = {},\n): prismicT.CustomTypeModelSliceZoneField<Slices> => {\n\tconst labels =\n\t\t{} as prismicT.CustomTypeModelSliceZoneField<Slices>[\"config\"][\"labels\"];\n\n\tfor (const choiceId in config.choices) {\n\t\tconst choice = config.choices[choiceId];\n\n\t\tif (choice.type === prismicT.CustomTypeModelSliceType.Slice) {\n\t\t\tlabels[choiceId as unknown as keyof typeof labels] = [];\n\t\t}\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Slices,\n\t\tfieldset: \"Slice zone\",\n\t\tconfig: {\n\t\t\tlabels,\n\t\t\tchoices: config.choices || ({} as Slices),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTimestampModelConfig = MockModelConfig;\n\nexport const timestamp = (\n\tconfig: MockTimestampModelConfig = {},\n): prismicT.CustomTypeModelTimestampField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Timestamp,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockUIDModelConfig = MockModelConfig;\n\nexport const uid = (\n\tconfig: MockUIDModelConfig = {},\n): prismicT.CustomTypeModelUIDField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.UID,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype GenerateFieldIdConfig = Pick<MockModelConfig, \"seed\">;\n\nexport const generateFieldId = (config: GenerateFieldIdConfig): string => {\n\tconst faker = createFaker(config.seed);\n\n\treturn changeCase.snakeCase(\n\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t);\n};\n","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 { integrationFields } from \"../model/integrationFields\";\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\tintegrationFields,\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 = createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.random.arrayElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ seed: config.seed });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ seed: config.seed });\n\t}\n\n\treturn fields;\n};\n"],"names":["Faker","fakerLocaleEN","prismicT","changeCase"],"mappings":"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"}
@@ -53,7 +53,9 @@ declare type MockImageModelConfig<ThumbnailNames extends string = string> = {
53
53
  } & MockModelConfig;
54
54
  declare const image: <ThumbnailNames extends string = string>(config?: MockImageModelConfig<ThumbnailNames>) => prismicT.CustomTypeModelImageField<ThumbnailNames>;
55
55
 
56
- declare type MockIntegrationFieldsModelConfig = MockModelConfig;
56
+ declare type MockIntegrationFieldsModelConfig = {
57
+ catalog?: string;
58
+ } & MockModelConfig;
57
59
  declare const integrationFields: (config?: MockIntegrationFieldsModelConfig) => prismicT.CustomTypeModelIntegrationFieldsField;
58
60
 
59
61
  declare type MockKeyTextModelConfig = MockModelConfig;
@@ -184,7 +184,7 @@ const integrationFields = (config = {}) => {
184
184
  type: prismicT__namespace.CustomTypeModelFieldType.IntegrationFields,
185
185
  config: {
186
186
  label: changeCase__namespace.capitalCase(faker.company.bsNoun()),
187
- catalog: changeCase__namespace.snakeCase(faker.lorem.words(4))
187
+ catalog: config.catalog || changeCase__namespace.snakeCase(faker.lorem.words(4))
188
188
  }
189
189
  };
190
190
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/model/boolean.ts","../../src/model/color.ts","../../src/model/contentRelationship.ts","../../src/model/customType.ts","../../src/model/date.ts","../../src/model/embed.ts","../../src/model/geoPoint.ts","../../src/model/group.ts","../../src/model/image.ts","../../src/model/integrationFields.ts","../../src/model/keyText.ts","../../src/model/link.ts","../../src/model/linkToMedia.ts","../../src/model/number.ts","../../src/model/richText.ts","../../src/model/select.ts","../../src/model/sharedSlice.ts","../../src/model/sharedSliceChoice.ts","../../src/model/sharedSliceVariation.ts","../../src/model/slice.ts","../../src/model/sliceZone.ts","../../src/model/timestamp.ts","../../src/model/title.ts","../../src/model/uid.ts","../../src/lib/generateFieldId.ts","../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockBooleanModelConfig = MockModelConfig;\n\nexport const boolean = (\n\tconfig: MockBooleanModelConfig = {},\n): prismicT.CustomTypeModelBooleanField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Boolean,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockColorModelConfig = MockModelConfig;\n\nexport const color = (\n\tconfig: MockColorModelConfig = {},\n): prismicT.CustomTypeModelColorField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Color,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockContentRelationshipModelConfig<\n\tCustomTypeIDs extends string = string,\n\tTags extends string = string,\n> = {\n\tcustomTypeIDs?: readonly CustomTypeIDs[];\n\ttags?: readonly Tags[];\n} & MockModelConfig;\n\nexport const contentRelationship = <\n\tCustomTypeIDs extends string,\n\tTags extends string,\n>(\n\tconfig: MockContentRelationshipModelConfig<CustomTypeIDs, Tags> = {},\n): prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Document,\n\t\t\tcustomtypes: config.customTypeIDs,\n\t\t\ttags: config.tags,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition =\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\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| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = Definition extends prismicT.CustomTypeModelTab\n\t? prismicT.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismicT.CustomTypeModelDefinition\n\t? prismicT.CustomTypeModel<string, Definition>\n\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition> = {},\n): MockCustomTypeModel<Definition> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.company.bsNoun());\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\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.datatype.boolean(),\n\t\trepeatable: config.repeatable ?? faker.datatype.boolean(),\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockDateModelConfig = MockModelConfig;\n\nexport const date = (\n\tconfig: MockDateModelConfig = {},\n): prismicT.CustomTypeModelDateField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Date,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockEmbedModelConfig = MockModelConfig;\n\nexport const embed = (\n\tconfig: MockEmbedModelConfig = {},\n): prismicT.CustomTypeModelEmbedField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Embed,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockGeoPointModelConfig = MockModelConfig;\n\nexport const geoPoint = (\n\tconfig: MockGeoPointModelConfig = {},\n): prismicT.CustomTypeModelGeoPointField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.GeoPoint,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockGroupModelConfig<Fields extends GroupFieldModelMap> = {\n\tfields?: Fields;\n} & MockModelConfig;\n\nexport const group = <Fields extends GroupFieldModelMap>(\n\tconfig: MockGroupModelConfig<Fields> = {},\n): prismicT.CustomTypeModelGroupField<Fields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Group,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tfields: config.fields || ({} as Fields),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames> = {},\n): prismicT.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t\theight: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t\theight: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockIntegrationFieldsModelConfig = MockModelConfig;\n\nexport const integrationFields = (\n\tconfig: MockIntegrationFieldsModelConfig = {},\n): prismicT.CustomTypeModelIntegrationFieldsField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.IntegrationFields,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tcatalog: changeCase.snakeCase(faker.lorem.words(4)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockKeyTextModelConfig = MockModelConfig;\n\nexport const keyText = (\n\tconfig: MockKeyTextModelConfig = {},\n): prismicT.CustomTypeModelKeyTextField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Text,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkModel<AllowTargetBlank extends boolean = boolean> =\n\tprismicT.CustomTypeModelLinkField & {\n\t\tconfig: AllowTargetBlank extends true\n\t\t\t? {\n\t\t\t\t\tallowTargetBlank: true;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tallowTargetBlank?: undefined;\n\t\t\t };\n\t};\n\nexport type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {\n\tallowTargetBlank?: AllowTargetBlank;\n} & MockModelConfig;\n\nexport const link = <AllowTargetBlank extends boolean = boolean>(\n\tconfig: MockLinkModelConfig<AllowTargetBlank> = {},\n): MockLinkModel<AllowTargetBlank> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: null,\n\t\t\tallowTargetBlank:\n\t\t\t\t(\"allowTargetBlank\" in config\n\t\t\t\t\t? config.allowTargetBlank\n\t\t\t\t\t: faker.datatype.boolean()) || undefined,\n\t\t},\n\t} as MockLinkModel<AllowTargetBlank>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockLinkTomediaModelConfig = MockModelConfig;\n\nexport const linkToMedia = (\n\tconfig: MockLinkTomediaModelConfig = {},\n): prismicT.CustomTypeModelLinkToMediaField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Media,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockNumberModelConfig = MockModelConfig;\n\nexport const number = (\n\tconfig: MockNumberModelConfig = {},\n): prismicT.CustomTypeModelNumberField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Number,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockRichTextModelConfig<\n\tWithMultipleBlocks extends boolean = boolean,\n> = {\n\twithMultipleBlocks?: WithMultipleBlocks;\n} & MockModelConfig;\n\nexport const richText = <WithMultipleBlocks extends boolean = boolean>(\n\tconfig: MockRichTextModelConfig<WithMultipleBlocks> = {},\n): WithMultipleBlocks extends true\n\t? prismicT.CustomTypeModelRichTextMultiField\n\t: prismicT.CustomTypeModelRichTextSingleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst blockTypes = faker.random\n\t\t.arrayElements([\n\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\tprismicT.RichTextNodeType.paragraph,\n\t\t\tprismicT.RichTextNodeType.preformatted,\n\t\t\tprismicT.RichTextNodeType.strong,\n\t\t\tprismicT.RichTextNodeType.em,\n\t\t\tprismicT.RichTextNodeType.listItem,\n\t\t\tprismicT.RichTextNodeType.oListItem,\n\t\t\tprismicT.RichTextNodeType.image,\n\t\t\tprismicT.RichTextNodeType.embed,\n\t\t\tprismicT.RichTextNodeType.hyperlink,\n\t\t])\n\t\t.join(\",\");\n\n\tconst blockTypeConfig =\n\t\tconfig.withMultipleBlocks ?? faker.datatype.boolean()\n\t\t\t? { multi: blockTypes }\n\t\t\t: { single: blockTypes };\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t\t...blockTypeConfig,\n\t\t},\n\t} as WithMultipleBlocks extends true\n\t\t? prismicT.CustomTypeModelRichTextMultiField\n\t\t: prismicT.CustomTypeModelRichTextSingleField;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[];\n\tdefaultValue?: DefaultOption;\n} & MockModelConfig;\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption> = {},\n): prismicT.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSharedSliceModelConfig<\n\tVariation extends prismicT.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismicT.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceModelConfig<Variation> = {},\n): prismicT.SharedSliceModel<string, Variation> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(name);\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);\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nexport const sharedSliceChoice = (): prismicT.CustomTypeModelSharedSlice => {\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\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<\n\t\tID,\n\t\tPrimaryFields,\n\t\tItemsFields\n\t> = {},\n): prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\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\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tdocURL: faker.internet.url(),\n\t\tversion: faker.git.shortSha(),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype 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): prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.company.bsNoun()),\n\t\tdisplay: faker.datatype.boolean()\n\t\t\t? prismicT.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismicT.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.lorem.words()),\n\t\tdescription: faker.lorem.sentence(),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSliceZoneModelConfig<\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t> = Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n> = {\n\tchoices?: Slices;\n} & MockModelConfig;\n\nexport const sliceZone = <\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n>(\n\tconfig: MockSliceZoneModelConfig<Slices> = {},\n): prismicT.CustomTypeModelSliceZoneField<Slices> => {\n\tconst labels =\n\t\t{} as prismicT.CustomTypeModelSliceZoneField<Slices>[\"config\"][\"labels\"];\n\n\tfor (const choiceId in config.choices) {\n\t\tconst choice = config.choices[choiceId];\n\n\t\tif (choice.type === prismicT.CustomTypeModelSliceType.Slice) {\n\t\t\tlabels[choiceId as unknown as keyof typeof labels] = [];\n\t\t}\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Slices,\n\t\tfieldset: \"Slice zone\",\n\t\tconfig: {\n\t\t\tlabels,\n\t\t\tchoices: config.choices || ({} as Slices),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTimestampModelConfig = MockModelConfig;\n\nexport const timestamp = (\n\tconfig: MockTimestampModelConfig = {},\n): prismicT.CustomTypeModelTimestampField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Timestamp,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockUIDModelConfig = MockModelConfig;\n\nexport const uid = (\n\tconfig: MockUIDModelConfig = {},\n): prismicT.CustomTypeModelUIDField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.UID,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype GenerateFieldIdConfig = Pick<MockModelConfig, \"seed\">;\n\nexport const generateFieldId = (config: GenerateFieldIdConfig): string => {\n\tconst faker = createFaker(config.seed);\n\n\treturn changeCase.snakeCase(\n\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t);\n};\n","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 { integrationFields } from \"../model/integrationFields\";\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\tintegrationFields,\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 = createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.random.arrayElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ seed: config.seed });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ seed: config.seed });\n\t}\n\n\treturn fields;\n};\n"],"names":["Faker","fakerLocaleEN","prismicT","changeCase"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/constants.ts","../../src/lib/createFaker.ts","../../src/model/boolean.ts","../../src/model/color.ts","../../src/model/contentRelationship.ts","../../src/model/customType.ts","../../src/model/date.ts","../../src/model/embed.ts","../../src/model/geoPoint.ts","../../src/model/group.ts","../../src/model/image.ts","../../src/model/integrationFields.ts","../../src/model/keyText.ts","../../src/model/link.ts","../../src/model/linkToMedia.ts","../../src/model/number.ts","../../src/model/richText.ts","../../src/model/select.ts","../../src/model/sharedSlice.ts","../../src/model/sharedSliceChoice.ts","../../src/model/sharedSliceVariation.ts","../../src/model/slice.ts","../../src/model/sliceZone.ts","../../src/model/timestamp.ts","../../src/model/title.ts","../../src/model/uid.ts","../../src/lib/generateFieldId.ts","../../src/model/buildMockGroupFieldMap.ts"],"sourcesContent":["import { Seed } from \"./types\";\n\nexport const FAKER_SEED: Seed = 1984;\n","import * as fakerStatic from \"faker\";\n// @ts-expect-error - Missing .d.ts\nimport * as fakerLocaleEN from \"faker/lib/locales/en/index.js\";\n// @ts-expect-error - Missing .d.ts\nimport Faker from \"faker/lib/index.js\";\n\nimport { FAKER_SEED } from \"../constants\";\n\nexport const createFaker = (seed = FAKER_SEED): typeof fakerStatic => {\n\tlet normalizedSeed: number | number[];\n\tif (typeof seed === \"string\") {\n\t\tnormalizedSeed = seed.split(\"\").map((char) => char.charCodeAt(0));\n\t} else {\n\t\tnormalizedSeed = seed;\n\t}\n\n\tconst cacheKey = JSON.stringify(normalizedSeed);\n\n\tif (createFaker.cache[cacheKey]) {\n\t\treturn createFaker.cache[cacheKey];\n\t}\n\n\tconst fakerInstance = new Faker();\n\tfakerInstance.locales[\"en\"] = fakerLocaleEN;\n\tfakerInstance.seed(normalizedSeed);\n\n\tcreateFaker.cache[cacheKey] = fakerInstance;\n\n\treturn fakerInstance;\n};\ncreateFaker.cache = {} as Record<string, typeof fakerStatic>;\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockBooleanModelConfig = MockModelConfig;\n\nexport const boolean = (\n\tconfig: MockBooleanModelConfig = {},\n): prismicT.CustomTypeModelBooleanField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Boolean,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockColorModelConfig = MockModelConfig;\n\nexport const color = (\n\tconfig: MockColorModelConfig = {},\n): prismicT.CustomTypeModelColorField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Color,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockContentRelationshipModelConfig<\n\tCustomTypeIDs extends string = string,\n\tTags extends string = string,\n> = {\n\tcustomTypeIDs?: readonly CustomTypeIDs[];\n\ttags?: readonly Tags[];\n} & MockModelConfig;\n\nexport const contentRelationship = <\n\tCustomTypeIDs extends string,\n\tTags extends string,\n>(\n\tconfig: MockContentRelationshipModelConfig<CustomTypeIDs, Tags> = {},\n): prismicT.CustomTypeModelContentRelationshipField<CustomTypeIDs, Tags> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Document,\n\t\t\tcustomtypes: config.customTypeIDs,\n\t\t\ttags: config.tags,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockCustomTypeModelConfig<\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition =\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = {\n\tid?: string;\n\tlabel?: string;\n\tstatus?: boolean;\n\trepeatable?: boolean;\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| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n> = Definition extends prismicT.CustomTypeModelTab\n\t? prismicT.CustomTypeModel<string, Record<\"Main\", Definition>>\n\t: Definition extends prismicT.CustomTypeModelDefinition\n\t? prismicT.CustomTypeModel<string, Definition>\n\t: never;\n\nexport const customType = <\n\tDefinition extends\n\t\t| prismicT.CustomTypeModelTab\n\t\t| prismicT.CustomTypeModelDefinition,\n>(\n\tconfig: MockCustomTypeModelConfig<Definition> = {},\n): MockCustomTypeModel<Definition> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet label: string =\n\t\tconfig.label || changeCase.capitalCase(faker.company.bsNoun());\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\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.datatype.boolean(),\n\t\trepeatable: config.repeatable ?? faker.datatype.boolean(),\n\t\tjson,\n\t} as MockCustomTypeModel<Definition>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockDateModelConfig = MockModelConfig;\n\nexport const date = (\n\tconfig: MockDateModelConfig = {},\n): prismicT.CustomTypeModelDateField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Date,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockEmbedModelConfig = MockModelConfig;\n\nexport const embed = (\n\tconfig: MockEmbedModelConfig = {},\n): prismicT.CustomTypeModelEmbedField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Embed,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockGeoPointModelConfig = MockModelConfig;\n\nexport const geoPoint = (\n\tconfig: MockGeoPointModelConfig = {},\n): prismicT.CustomTypeModelGeoPointField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.GeoPoint,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype MockGroupModelConfig<Fields extends GroupFieldModelMap> = {\n\tfields?: Fields;\n} & MockModelConfig;\n\nexport const group = <Fields extends GroupFieldModelMap>(\n\tconfig: MockGroupModelConfig<Fields> = {},\n): prismicT.CustomTypeModelGroupField<Fields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Group,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tfields: config.fields || ({} as Fields),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockImageModelConfig<ThumbnailNames extends string = string> = {\n\twithConstraint?: boolean;\n\tthumbnailNames?: readonly ThumbnailNames[];\n} & MockModelConfig;\n\nexport const image = <ThumbnailNames extends string = string>(\n\tconfig: MockImageModelConfig<ThumbnailNames> = {},\n): prismicT.CustomTypeModelImageField<ThumbnailNames> => {\n\tconst faker = createFaker(config.seed);\n\n\tconst thumbnails = (config.thumbnailNames || []).map((name) => {\n\t\treturn {\n\t\t\tname,\n\t\t\twidth: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t\theight: faker.datatype.number({ min: 500, max: 2000 }),\n\t\t};\n\t});\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Image,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tconstraint: {\n\t\t\t\twidth: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t\theight: config.withConstraint\n\t\t\t\t\t? faker.datatype.number({ min: 500, max: 2000 })\n\t\t\t\t\t: null,\n\t\t\t},\n\t\t\tthumbnails,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockIntegrationFieldsModelConfig = {\n\tcatalog?: string;\n} & MockModelConfig;\n\nexport const integrationFields = (\n\tconfig: MockIntegrationFieldsModelConfig = {},\n): prismicT.CustomTypeModelIntegrationFieldsField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.IntegrationFields,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tcatalog: config.catalog || changeCase.snakeCase(faker.lorem.words(4)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockKeyTextModelConfig = MockModelConfig;\n\nexport const keyText = (\n\tconfig: MockKeyTextModelConfig = {},\n): prismicT.CustomTypeModelKeyTextField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Text,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockLinkModel<AllowTargetBlank extends boolean = boolean> =\n\tprismicT.CustomTypeModelLinkField & {\n\t\tconfig: AllowTargetBlank extends true\n\t\t\t? {\n\t\t\t\t\tallowTargetBlank: true;\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tallowTargetBlank?: undefined;\n\t\t\t };\n\t};\n\nexport type MockLinkModelConfig<AllowTargetBlank extends boolean = boolean> = {\n\tallowTargetBlank?: AllowTargetBlank;\n} & MockModelConfig;\n\nexport const link = <AllowTargetBlank extends boolean = boolean>(\n\tconfig: MockLinkModelConfig<AllowTargetBlank> = {},\n): MockLinkModel<AllowTargetBlank> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: null,\n\t\t\tallowTargetBlank:\n\t\t\t\t(\"allowTargetBlank\" in config\n\t\t\t\t\t? config.allowTargetBlank\n\t\t\t\t\t: faker.datatype.boolean()) || undefined,\n\t\t},\n\t} as MockLinkModel<AllowTargetBlank>;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockLinkTomediaModelConfig = MockModelConfig;\n\nexport const linkToMedia = (\n\tconfig: MockLinkTomediaModelConfig = {},\n): prismicT.CustomTypeModelLinkToMediaField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Link,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tselect: prismicT.CustomTypeModelLinkSelectType.Media,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockNumberModelConfig = MockModelConfig;\n\nexport const number = (\n\tconfig: MockNumberModelConfig = {},\n): prismicT.CustomTypeModelNumberField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Number,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockRichTextModelConfig<\n\tWithMultipleBlocks extends boolean = boolean,\n> = {\n\twithMultipleBlocks?: WithMultipleBlocks;\n} & MockModelConfig;\n\nexport const richText = <WithMultipleBlocks extends boolean = boolean>(\n\tconfig: MockRichTextModelConfig<WithMultipleBlocks> = {},\n): WithMultipleBlocks extends true\n\t? prismicT.CustomTypeModelRichTextMultiField\n\t: prismicT.CustomTypeModelRichTextSingleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst blockTypes = faker.random\n\t\t.arrayElements([\n\t\t\tprismicT.RichTextNodeType.heading1,\n\t\t\tprismicT.RichTextNodeType.heading2,\n\t\t\tprismicT.RichTextNodeType.heading3,\n\t\t\tprismicT.RichTextNodeType.heading4,\n\t\t\tprismicT.RichTextNodeType.heading5,\n\t\t\tprismicT.RichTextNodeType.heading6,\n\t\t\tprismicT.RichTextNodeType.paragraph,\n\t\t\tprismicT.RichTextNodeType.preformatted,\n\t\t\tprismicT.RichTextNodeType.strong,\n\t\t\tprismicT.RichTextNodeType.em,\n\t\t\tprismicT.RichTextNodeType.listItem,\n\t\t\tprismicT.RichTextNodeType.oListItem,\n\t\t\tprismicT.RichTextNodeType.image,\n\t\t\tprismicT.RichTextNodeType.embed,\n\t\t\tprismicT.RichTextNodeType.hyperlink,\n\t\t])\n\t\t.join(\",\");\n\n\tconst blockTypeConfig =\n\t\tconfig.withMultipleBlocks ?? faker.datatype.boolean()\n\t\t\t? { multi: blockTypes }\n\t\t\t: { single: blockTypes };\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t\t...blockTypeConfig,\n\t\t},\n\t} as WithMultipleBlocks extends true\n\t\t? prismicT.CustomTypeModelRichTextMultiField\n\t\t: prismicT.CustomTypeModelRichTextSingleField;\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSelectModelConfig<\n\tOption extends string = string,\n\tDefaultOption extends Option = Option,\n> = {\n\toptions?: Option[];\n\tdefaultValue?: DefaultOption;\n} & MockModelConfig;\n\nexport const select = <Option extends string, DefaultOption extends Option>(\n\tconfig: MockSelectModelConfig<Option, DefaultOption> = {},\n): prismicT.CustomTypeModelSelectField<Option, DefaultOption> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Select,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\toptions: config.options || [],\n\t\t\tdefault_value: config.defaultValue || undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSharedSliceModelConfig<\n\tVariation extends prismicT.SharedSliceModelVariation,\n> = {\n\tid?: string;\n\tname?: string;\n\tvariations?: Variation[];\n} & MockModelConfig;\n\nexport const sharedSlice = <\n\tVariation extends prismicT.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceModelConfig<Variation> = {},\n): prismicT.SharedSliceModel<string, Variation> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\n\tlet id: string = config.id || changeCase.snakeCase(name);\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);\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tvariations: config.variations || ([] as Variation[]),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nexport const sharedSliceChoice = (): prismicT.CustomTypeModelSharedSlice => {\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.SharedSlice,\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\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<\n\t\tID,\n\t\tPrimaryFields,\n\t\tItemsFields\n\t> = {},\n): prismicT.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = createFaker(config.seed);\n\n\tlet name: string =\n\t\tconfig.name || changeCase.capitalCase(faker.company.bsNoun());\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\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: faker.lorem.sentence(),\n\t\tdocURL: faker.internet.url(),\n\t\tversion: faker.git.shortSha(),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { GroupFieldModelMap, MockModelConfig } from \"../types\";\n\ntype 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): prismicT.CustomTypeModelSlice<NonRepeatFields, RepeatFields> => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelSliceType.Slice,\n\t\ticon: changeCase.snakeCase(faker.company.bsNoun()),\n\t\tdisplay: faker.datatype.boolean()\n\t\t\t? prismicT.CustomTypeModelSliceDisplay.Grid\n\t\t\t: prismicT.CustomTypeModelSliceDisplay.List,\n\t\tfieldset: changeCase.capitalCase(faker.lorem.words()),\n\t\tdescription: faker.lorem.sentence(),\n\t\trepeat: config.repeatFields || ({} as RepeatFields),\n\t\t\"non-repeat\": config.nonRepeatFields || ({} as NonRepeatFields),\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype MockSliceZoneModelConfig<\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t> = Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n> = {\n\tchoices?: Slices;\n} & MockModelConfig;\n\nexport const sliceZone = <\n\tSlices extends Record<\n\t\tstring,\n\t\tprismicT.CustomTypeModelSlice | prismicT.CustomTypeModelSharedSlice\n\t>,\n>(\n\tconfig: MockSliceZoneModelConfig<Slices> = {},\n): prismicT.CustomTypeModelSliceZoneField<Slices> => {\n\tconst labels =\n\t\t{} as prismicT.CustomTypeModelSliceZoneField<Slices>[\"config\"][\"labels\"];\n\n\tfor (const choiceId in config.choices) {\n\t\tconst choice = config.choices[choiceId];\n\n\t\tif (choice.type === prismicT.CustomTypeModelSliceType.Slice) {\n\t\t\tlabels[choiceId as unknown as keyof typeof labels] = [];\n\t\t}\n\t}\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Slices,\n\t\tfieldset: \"Slice zone\",\n\t\tconfig: {\n\t\t\tlabels,\n\t\t\tchoices: config.choices || ({} as Slices),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTimestampModelConfig = MockModelConfig;\n\nexport const timestamp = (\n\tconfig: MockTimestampModelConfig = {},\n): prismicT.CustomTypeModelTimestampField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.Timestamp,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockTitleModelConfig = MockModelConfig;\n\nexport const title = (\n\tconfig: MockTitleModelConfig = {},\n): prismicT.CustomTypeModelTitleField => {\n\tconst faker = createFaker(config.seed);\n\n\tconst single = faker.random\n\t\t.arrayElements([\n\t\t\t\"heading1\",\n\t\t\t\"heading2\",\n\t\t\t\"heading3\",\n\t\t\t\"heading4\",\n\t\t\t\"heading5\",\n\t\t\t\"heading6\",\n\t\t])\n\t\t.join(\",\");\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.StructuredText,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t\tsingle,\n\t\t\tallowTargetBlank: faker.datatype.boolean() ? true : undefined,\n\t\t},\n\t};\n};\n","import * as prismicT from \"@prismicio/types\";\nimport * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\nexport type MockUIDModelConfig = MockModelConfig;\n\nexport const uid = (\n\tconfig: MockUIDModelConfig = {},\n): prismicT.CustomTypeModelUIDField => {\n\tconst faker = createFaker(config.seed);\n\n\treturn {\n\t\ttype: prismicT.CustomTypeModelFieldType.UID,\n\t\tconfig: {\n\t\t\tlabel: changeCase.capitalCase(faker.company.bsNoun()),\n\t\t\tplaceholder: changeCase.sentenceCase(faker.lorem.words(3)),\n\t\t},\n\t};\n};\n","import * as changeCase from \"change-case\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockModelConfig } from \"../types\";\n\ntype GenerateFieldIdConfig = Pick<MockModelConfig, \"seed\">;\n\nexport const generateFieldId = (config: GenerateFieldIdConfig): string => {\n\tconst faker = createFaker(config.seed);\n\n\treturn changeCase.snakeCase(\n\t\tfaker.lorem.words(faker.datatype.number({ min: 1, max: 3 })),\n\t);\n};\n","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 { integrationFields } from \"../model/integrationFields\";\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\tintegrationFields,\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 = createFaker(config.seed);\n\n\tconst fields: GroupFieldModelMap = {};\n\n\tconst fieldTypes = faker.random.arrayElements(\n\t\tObject.keys(mockModelFns) as (keyof typeof mockModelFns)[],\n\t);\n\n\tfor (const fieldType of fieldTypes) {\n\t\tconst fieldId = generateFieldId({ seed: config.seed });\n\t\tconst mockModelFn = mockModelFns[fieldType] as (\n\t\t\tconfig: MockModelConfig,\n\t\t) => ValueOf<GroupFieldModelMap>;\n\n\t\tfields[fieldId] = mockModelFn({ seed: config.seed });\n\t}\n\n\treturn fields;\n};\n"],"names":["Faker","fakerLocaleEN","prismicT","changeCase"],"mappings":"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"}
@@ -722,19 +722,23 @@ const geoPoint = (config = {}) => {
722
722
 
723
723
  const group = (config = {}) => {
724
724
  var _a;
725
- const faker = createFaker(config.seed);
726
- const model = config.model || group$1({ seed: config.seed });
727
- const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
728
- min: 1,
729
- max: 6
730
- });
731
- return Array(itemsCount).fill(void 0).map(() => {
732
- return valueForModelMap({
733
- seed: config.seed,
734
- map: model.config.fields,
735
- configs: config.configs
725
+ if (config.state === "empty") {
726
+ return [];
727
+ } else {
728
+ const faker = createFaker(config.seed);
729
+ const model = config.model || group$1({ seed: config.seed });
730
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
731
+ min: 1,
732
+ max: 6
736
733
  });
737
- });
734
+ return Array(itemsCount).fill(void 0).map(() => {
735
+ return valueForModelMap({
736
+ seed: config.seed,
737
+ map: model.config.fields,
738
+ configs: config.configs
739
+ });
740
+ });
741
+ }
738
742
  };
739
743
 
740
744
  const buildImageFieldImage = (config) => {
@@ -1267,56 +1271,64 @@ const sharedSlice = (config = {}) => {
1267
1271
 
1268
1272
  const sliceZone = (config = {}) => {
1269
1273
  var _a;
1270
- const faker = createFaker(config.seed);
1271
- const model = config.model || sliceZone$1({ seed: config.seed });
1272
- if (Object.keys(model.config.choices).length > 0) {
1273
- const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
1274
- min: 1,
1275
- max: 6
1276
- });
1277
- return Array(itemsCount).fill(void 0).map(() => {
1278
- var _a2;
1279
- const choices = Object.entries(model.config.choices);
1280
- const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1281
- const choiceLabels = model.config.labels[choiceType] || [];
1282
- const choiceLabel = faker.random.arrayElement(choiceLabels);
1283
- switch (choiceModel.type) {
1284
- case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1285
- return slice({
1286
- seed: config.seed,
1287
- model: choiceModel,
1288
- type: choiceType,
1289
- label: choiceLabel ? choiceLabel.name : null,
1290
- primaryFieldConfigs: config.primaryFieldConfigs,
1291
- itemsFieldConfigs: config.itemsFieldConfigs
1292
- });
1293
- }
1294
- case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1295
- const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1296
- if (sharedSliceModel) {
1297
- return sharedSlice({
1274
+ if (config.state === "empty") {
1275
+ return [];
1276
+ } else {
1277
+ const faker = createFaker(config.seed);
1278
+ const model = config.model || sliceZone$1({ seed: config.seed });
1279
+ if (Object.keys(model.config.choices).length > 0) {
1280
+ const itemsCount = (_a = config.itemsCount) != null ? _a : faker.datatype.number({
1281
+ min: 1,
1282
+ max: 6
1283
+ });
1284
+ return Array(itemsCount).fill(void 0).map(() => {
1285
+ var _a2;
1286
+ const choices = Object.entries(model.config.choices);
1287
+ const [choiceType, choiceModel] = faker.random.arrayElement(choices);
1288
+ const choiceLabels = model.config.labels[choiceType] || [];
1289
+ const choiceLabel = faker.random.arrayElement(choiceLabels);
1290
+ switch (choiceModel.type) {
1291
+ case prismicT__namespace.CustomTypeModelSliceType.Slice: {
1292
+ return slice({
1298
1293
  seed: config.seed,
1299
- model: sharedSliceModel,
1294
+ model: choiceModel,
1295
+ type: choiceType,
1296
+ label: choiceLabel ? choiceLabel.name : null,
1300
1297
  primaryFieldConfigs: config.primaryFieldConfigs,
1301
1298
  itemsFieldConfigs: config.itemsFieldConfigs
1302
1299
  });
1303
1300
  }
1301
+ case prismicT__namespace.CustomTypeModelSliceType.SharedSlice: {
1302
+ const sharedSliceModel = (_a2 = config.sharedSliceModels) == null ? void 0 : _a2.find((sharedSliceModel2) => sharedSliceModel2.id === choiceType);
1303
+ if (sharedSliceModel) {
1304
+ return sharedSlice({
1305
+ seed: config.seed,
1306
+ model: sharedSliceModel,
1307
+ primaryFieldConfigs: config.primaryFieldConfigs,
1308
+ itemsFieldConfigs: config.itemsFieldConfigs
1309
+ });
1310
+ }
1311
+ }
1304
1312
  }
1305
- }
1306
- }).filter((slice2) => slice2 !== void 0);
1307
- } else {
1308
- return [];
1313
+ }).filter((slice2) => slice2 !== void 0);
1314
+ } else {
1315
+ return [];
1316
+ }
1309
1317
  }
1310
1318
  };
1311
1319
 
1312
1320
  const title = (config = {}) => {
1313
- return [
1314
- heading({
1315
- seed: config.seed,
1316
- model: config.model,
1317
- pattern: config.pattern
1318
- })
1319
- ];
1321
+ if (config.state === "empty") {
1322
+ return [];
1323
+ } else {
1324
+ return [
1325
+ heading({
1326
+ seed: config.seed,
1327
+ model: config.model,
1328
+ pattern: config.pattern
1329
+ })
1330
+ ];
1331
+ }
1320
1332
  };
1321
1333
 
1322
1334
  const uid = (config = {}) => {