@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.65 kB
Source Map (JSON)
{"version":3,"file":"sharedSlice.cjs","names":["createFaker","sharedSliceVariation"],"sources":["../../src/value/sharedSlice.ts"],"sourcesContent":["import type * as prismic from \"@prismicio/client\"\n\nimport { createFaker } from \"../lib/createFaker\"\nimport * as modelGen from \"../model\"\nimport type { MockValueConfig, ModelValue } from \"../types\"\nimport {\n\tsharedSliceVariation,\n\ttype MockSharedSliceVariationValueConfig,\n} from \"./sharedSliceVariation\"\n\nexport type MockSharedSliceValueConfig<\n\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n> = Pick<\n\tMockSharedSliceVariationValueConfig,\n\t\"itemsCount\" | \"primaryFieldConfigs\" | \"itemsFieldConfigs\"\n> &\n\tMockValueConfig<Model>\n\nexport const sharedSlice = <Model extends prismic.SharedSliceModel = prismic.SharedSliceModel>(\n\tconfig: MockSharedSliceValueConfig<Model>,\n): ModelValue<Model> => {\n\tconst faker = config.faker || createFaker(config.seed)\n\n\tconst model = config.model || modelGen.sharedSlice({ faker })\n\tconst variationModel = faker.randomElement(model.variations)\n\n\treturn sharedSliceVariation({\n\t\tfaker,\n\t\tmodel: variationModel,\n\t\titemsCount: config.itemsCount,\n\t\ttype: model.id,\n\t\tprimaryFieldConfigs: config.primaryFieldConfigs,\n\t\titemsFieldConfigs: config.itemsFieldConfigs,\n\t}) as ModelValue<Model>\n}\n"],"mappings":";;;;AAkBA,MAAa,eACZ,WACuB;CACvB,MAAM,QAAQ,OAAO,SAASA,oBAAAA,YAAY,OAAO,KAAK;CAEtD,MAAM,QAAQ,OAAO,SAAA,oBAAA,YAA8B,EAAE,OAAO,CAAC;AAG7D,QAAOC,6BAAAA,qBAAqB;EAC3B;EACA,OAJsB,MAAM,cAAc,MAAM,WAAW;EAK3D,YAAY,OAAO;EACnB,MAAM,MAAM;EACZ,qBAAqB,OAAO;EAC5B,mBAAmB,OAAO;EAC1B,CAAC"}