{"version":3,"file":"slice.cjs","names":["createFaker","generateFieldId","capitalCase","valueForModelMap"],"sources":["../../src/value/slice.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { capitalCase } from \"../lib/changeCase\"\nimport { createFaker } from \"../lib/createFaker\"\nimport { generateFieldId } from \"../lib/generateFieldId\"\nimport { valueForModelMap, type ValueForModelMapConfigs } from \"../lib/valueForModelMap\"\nimport * as modelGen from \"../model\"\nimport type { MockValueConfig, ModelValue } from \"../types\"\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 = <Model extends prismic.CustomTypeModelSlice = prismic.CustomTypeModelSlice>(\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 ? config.label : 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"],"mappings":";;;;;;AAmBA,MAAa,SACZ,WACuB;CACvB,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,QAAQ,OAAO,SAAA,cAAA,MAAwB,EAAE,OAAO,CAAC;CAEvD,MAAM,YAAY,OAAO,QAAQC,wBAAAA,gBAAgB,EAAE,OAAO,CAAC;CAC3D,MAAM,aACL,OAAO,UAAU,KAAA,IAAY,OAAO,QAAQC,mBAAAA,YAAY,MAAM,MAAM,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;CAExF,MAAM,aACL,MAAM,UAAU,OAAO,KAAK,MAAM,OAAO,CAAC,SAAS,IAC/C,OAAO,cAAc,MAAM,MAAM,GAAG,EAAE,GACvC;AAEJ,QAAO;EACN,IAAI,MAAM,KAAK,GAAG;EAClB,YAAY;EACZ,aAAa;EACb,SAASC,yBAAAA,iBAAiB;GACzB;GACA,KAAK,MAAM,iBAAiB,EAAE;GAC9B,SAAS,OAAO;GAChB,CAAC;EACF,OAAO,MAAM,WAAW,CACtB,KAAK,KAAA,EAAU,CACf,UAAU;AACV,UAAOA,yBAAAA,iBAAiB;IACvB;IACA,KAAK,MAAM,UAAU,EAAE;IACvB,SAAS,OAAO;IAChB,CAAC;IACD;EACH"}