{"version":3,"file":"sharedSliceVariation.cjs","sources":["../../../src/model/sharedSliceVariation.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport {\n\tcapitalCase,\n\tpascalCase,\n\tsentenceCase,\n\tsnakeCase,\n} from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\nimport { getMockImageData } from \"../lib/getMockImageData\";\n\nimport {\n\tMockModelConfig,\n\tNestedGroupFieldModelMap,\n\tSlicePrimaryFieldModelMap,\n} from \"../types\";\n\nexport type MockSharedSliceVariationModelConfig<\n\tID extends string = string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap = SlicePrimaryFieldModelMap,\n\tItemsFields extends NestedGroupFieldModelMap = NestedGroupFieldModelMap,\n> = {\n\tid?: ID;\n\tname?: string;\n\tprimaryFields?: PrimaryFields;\n\titemsFields?: ItemsFields;\n} & MockModelConfig;\n\nexport const sharedSliceVariation = <\n\tID extends string,\n\tPrimaryFields extends SlicePrimaryFieldModelMap,\n\tItemsFields extends NestedGroupFieldModelMap,\n>(\n\tconfig: MockSharedSliceVariationModelConfig<ID, PrimaryFields, ItemsFields>,\n): prismic.SharedSliceModelVariation<ID, PrimaryFields, ItemsFields> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tlet name: string = config.name || capitalCase(faker.words(faker.range(1, 2)));\n\tlet id: ID = config.id || (snakeCase(name) as ID);\n\n\tif (config.id && !config.name) {\n\t\tname = pascalCase(config.id);\n\t} else if (config.name && !config.name) {\n\t\tid = snakeCase(config.name) as ID;\n\t}\n\n\tconst imageData = getMockImageData({ faker });\n\n\treturn {\n\t\tid,\n\t\tname,\n\t\tdescription: sentenceCase(faker.words(faker.range(5, 10))),\n\t\tdocURL: faker.url(),\n\t\tversion: faker.hash(7),\n\t\tprimary: config.primaryFields || ({} as PrimaryFields),\n\t\titems: config.itemsFields || ({} as ItemsFields),\n\t\timageUrl: imageData.url,\n\t};\n};\n"],"names":["createFaker","capitalCase","snakeCase","pascalCase","getMockImageData","sentenceCase"],"mappings":";;;;;AA4Ba,MAAA,uBAAuB,CAKnC,WACsE;AACtE,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAEjD,MAAA,OAAe,OAAO,QAAQC,WAAY,YAAA,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AAC5E,MAAI,KAAS,OAAO,MAAOC,WAAA,UAAU,IAAI;AAEzC,MAAI,OAAO,MAAM,CAAC,OAAO,MAAM;AACvB,WAAAC,WAAA,WAAW,OAAO,EAAE;AAAA,EACjB,WAAA,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClC,SAAAD,WAAA,UAAU,OAAO,IAAI;AAAA,EAC3B;AAEA,QAAM,YAAYE,iBAAAA,iBAAiB,EAAE,MAAO,CAAA;AAErC,SAAA;AAAA,IACN;AAAA,IACA;AAAA,IACA,aAAaC,WAAAA,aAAa,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACzD,QAAQ,MAAM,IAAK;AAAA,IACnB,SAAS,MAAM,KAAK,CAAC;AAAA,IACrB,SAAS,OAAO,iBAAkB,CAAoB;AAAA,IACtD,OAAO,OAAO,eAAgB,CAAkB;AAAA,IAChD,UAAU,UAAU;AAAA,EAAA;AAEtB;;"}