UNPKG

@prismicio/mock

Version:

Generate mock Prismic documents, fields, Slices, and models for development and testing environments

1 lines 2.59 kB
{"version":3,"file":"sharedSliceVariation.cjs","names":["createFaker","generateFieldId","valueForModelMap"],"sources":["../../src/value/sharedSliceVariation.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\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 MockSharedSliceVariationValueConfig<\n\tModel extends prismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n> = {\n\ttype?: string\n\tlabel?: string\n\titemsCount?: number\n\tprimaryFieldConfigs?: ValueForModelMapConfigs\n\titemsFieldConfigs?: ValueForModelMapConfigs\n} & MockValueConfig<Model>\n\nexport const sharedSliceVariation = <\n\tModel extends prismic.SharedSliceModelVariation = prismic.SharedSliceModelVariation,\n>(\n\tconfig: MockSharedSliceVariationValueConfig<Model>,\n): ModelValue<Model> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tconst model = config.model || modelGen.sharedSliceVariation({ faker })\n\n\tconst sliceType = config.type ?? generateFieldId({ faker })\n\n\tconst itemsCount =\n\t\tmodel.items && Object.keys(model.items).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: null,\n\t\tvariation: model.id,\n\t\tversion: faker.hash(7),\n\t\tprimary: valueForModelMap({\n\t\t\tfaker,\n\t\t\tmap: model.primary || {},\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.items || {},\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":";;;;;AAkBA,MAAa,wBAGZ,WACuB;CACvB,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,QAAQ,OAAO,SAAA,6BAAA,qBAAuC,EAAE,OAAO,CAAC;CAEtE,MAAM,YAAY,OAAO,QAAQC,wBAAAA,gBAAgB,EAAE,OAAO,CAAC;CAE3D,MAAM,aACL,MAAM,SAAS,OAAO,KAAK,MAAM,MAAM,CAAC,SAAS,IAC7C,OAAO,cAAc,MAAM,MAAM,GAAG,EAAE,GACvC;AAEJ,QAAO;EACN,IAAI,MAAM,KAAK,GAAG;EAClB,YAAY;EACZ,aAAa;EACb,WAAW,MAAM;EACjB,SAAS,MAAM,KAAK,EAAE;EACtB,SAASC,yBAAAA,iBAAiB;GACzB;GACA,KAAK,MAAM,WAAW,EAAE;GACxB,SAAS,OAAO;GAChB,CAAC;EACF,OAAO,MAAM,WAAW,CACtB,KAAK,KAAA,EAAU,CACf,UAAU;AACV,UAAOA,yBAAAA,iBAAiB;IACvB;IACA,KAAK,MAAM,SAAS,EAAE;IACtB,SAAS,OAAO;IAChB,CAAC;IACD;EACH"}