{"version":3,"file":"group.cjs","names":["createFaker","valueForModelMap"],"sources":["../../src/value/group.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { createFaker } from \"../lib/createFaker\"\nimport { valueForModelMap, type ValueForModelMapConfigs } from \"../lib/valueForModelMap\"\nimport * as modelGen from \"../model\"\nimport type { MockValueConfig, MockValueStateConfig, ModelValue } from \"../types\"\n\nexport type MockGroupValueConfig<\n\tModel extends prismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\tState extends prismic.FieldState = prismic.FieldState,\n> = {\n\titemsCount?: State extends \"empty\" ? 0 : number\n\tconfigs?: ValueForModelMapConfigs\n} & MockValueConfig<Model> &\n\tMockValueStateConfig<State>\n\nexport type MockGroupValue<State extends prismic.FieldState = prismic.FieldState> =\n\tprismic.DateField<State>\n\nexport const group = <\n\tModel extends prismic.CustomTypeModelGroupField = prismic.CustomTypeModelGroupField,\n\tState extends prismic.FieldState = \"filled\",\n>(\n\tconfig: MockGroupValueConfig<Model, State>,\n): ModelValue<Model, State> => {\n\tif (config.state === \"empty\") {\n\t\treturn [] as ModelValue<Model, State>\n\t} else {\n\t\tconst faker = config.faker || createFaker(config.seed)\n\n\t\tconst model = config.model || modelGen.group({ faker })\n\n\t\tconst itemsCount = config.itemsCount ?? faker.range(1, 6)\n\n\t\treturn 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.config?.fields || {},\n\t\t\t\t\tconfigs: config.configs,\n\t\t\t\t})\n\t\t\t}) as ModelValue<Model, State>\n\t}\n}\n"],"mappings":";;;;AAmBA,MAAa,SAIZ,WAC8B;AAC9B,KAAI,OAAO,UAAU,QACpB,QAAO,EAAE;MACH;EACN,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;EAEtD,MAAM,QAAQ,OAAO,SAAA,cAAA,MAAwB,EAAE,OAAO,CAAC;EAEvD,MAAM,aAAa,OAAO,cAAc,MAAM,MAAM,GAAG,EAAE;AAEzD,SAAO,MAAM,WAAW,CACtB,KAAK,KAAA,EAAU,CACf,UAAU;AACV,UAAOC,yBAAAA,iBAAiB;IACvB;IACA,KAAK,MAAM,QAAQ,UAAU,EAAE;IAC/B,SAAS,OAAO;IAChB,CAAC;IACD"}