{"version":3,"file":"slice.cjs","sources":["../../../src/value/slice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { MockValueConfig, ModelValue } from \"../types\";\n\nimport { capitalCase } from \"../lib/changeCase\";\nimport { createFaker } from \"../lib/createFaker\";\nimport { generateFieldId } from \"../lib/generateFieldId\";\nimport {\n\tvalueForModelMap,\n\tValueForModelMapConfigs,\n} from \"../lib/valueForModelMap\";\n\nimport * as modelGen from \"../model\";\n\nexport type MockSliceValueConfig<\n\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n> = {\n\ttype?: string;\n\tlabel?: string | null;\n\titemsCount?: number;\n\tprimaryFieldConfigs?: ValueForModelMapConfigs;\n\titemsFieldConfigs?: ValueForModelMapConfigs;\n} & MockValueConfig<Model>;\n\nexport const slice = <\n\tModel extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice,\n>(\n\tconfig: MockSliceValueConfig<Model>,\n): ModelValue<Model> => {\n\tconst faker = config.faker || createFaker(config.seed);\n\n\tconst model = config.model || modelGen.slice({ faker });\n\n\tconst sliceType = config.type ?? generateFieldId({ faker });\n\tconst sliceLabel =\n\t\tconfig.label !== undefined\n\t\t\t? config.label\n\t\t\t: capitalCase(faker.words(faker.range(1, 2)));\n\n\tconst itemsCount =\n\t\tmodel.repeat && Object.keys(model.repeat).length > 0\n\t\t\t? config.itemsCount ?? faker.range(1, 6)\n\t\t\t: 0;\n\n\treturn {\n\t\tid: faker.hash(11),\n\t\tslice_type: sliceType,\n\t\tslice_label: sliceLabel,\n\t\tprimary: valueForModelMap({\n\t\t\tfaker,\n\t\t\tmap: model[\"non-repeat\"] || {},\n\t\t\tconfigs: config.primaryFieldConfigs,\n\t\t}),\n\t\titems: Array(itemsCount)\n\t\t\t.fill(undefined)\n\t\t\t.map(() => {\n\t\t\t\treturn valueForModelMap({\n\t\t\t\t\tfaker,\n\t\t\t\t\tmap: model.repeat || {},\n\t\t\t\t\tconfigs: config.itemsFieldConfigs,\n\t\t\t\t});\n\t\t\t}),\n\t} as ModelValue<Model>;\n};\n"],"names":["createFaker","modelGen.slice","generateFieldId","capitalCase","valueForModelMap"],"mappings":";;;;;;;AAwBa,MAAA,QAAQ,CAGpB,WACsB;AACtB,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,QAAQ,OAAO,SAASC,QAAAA,MAAe,EAAE,OAAO;AAEtD,QAAM,YAAY,OAAO,QAAQC,gBAAAA,gBAAgB,EAAE,OAAO;AAC1D,QAAM,aACL,OAAO,UAAU,SACd,OAAO,QACPC,WAAAA,YAAY,MAAM,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC;AAE9C,QAAM,aACL,MAAM,UAAU,OAAO,KAAK,MAAM,MAAM,EAAE,SAAS,IAChD,OAAO,cAAc,MAAM,MAAM,GAAG,CAAC,IACrC;AAEG,SAAA;AAAA,IACN,IAAI,MAAM,KAAK,EAAE;AAAA,IACjB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,SAASC,iBAAAA,iBAAiB;AAAA,MACzB;AAAA,MACA,KAAK,MAAM,YAAY,KAAK,CAAE;AAAA,MAC9B,SAAS,OAAO;AAAA,IAAA,CAChB;AAAA,IACD,OAAO,MAAM,UAAU,EACrB,KAAK,MAAS,EACd,IAAI,MAAK;AACT,aAAOA,kCAAiB;AAAA,QACvB;AAAA,QACA,KAAK,MAAM,UAAU,CAAE;AAAA,QACvB,SAAS,OAAO;AAAA,MAAA,CAChB;AAAA,IAAA,CACD;AAAA,EAAA;AAEJ;;"}