@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
1 lines • 1.74 kB
Source Map (JSON)
{"version":3,"file":"sharedSlice.cjs","sources":["../../../src/value/sharedSlice.ts"],"sourcesContent":["import * as prismic from \"@prismicio/client\";\n\nimport { createFaker } from \"../lib/createFaker\";\n\nimport { MockValueConfig, ModelValue } from \"../types\";\n\nimport * as modelGen from \"../model\";\nimport {\n\tsharedSliceVariation,\n\tMockSharedSliceVariationValueConfig,\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 = <\n\tModel extends prismic.SharedSliceModel = prismic.SharedSliceModel,\n>(\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"],"names":["createFaker","modelGen.sharedSlice","sharedSliceVariation"],"mappings":";;;;;AAoBa,MAAA,cAAc,CAG1B,WACsB;AACtB,QAAM,QAAQ,OAAO,SAASA,YAAAA,YAAY,OAAO,IAAI;AAErD,QAAM,QAAQ,OAAO,SAASC,cAAAA,YAAqB,EAAE,OAAO;AAC5D,QAAM,iBAAiB,MAAM,cAAc,MAAM,UAAU;AAE3D,SAAOC,0CAAqB;AAAA,IAC3B;AAAA,IACA,OAAO;AAAA,IACP,YAAY,OAAO;AAAA,IACnB,MAAM,MAAM;AAAA,IACZ,qBAAqB,OAAO;AAAA,IAC5B,mBAAmB,OAAO;AAAA,EAAA,CAC1B;AACF;;"}