UNPKG

@prismicio/mock

Version:

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

34 lines (33 loc) 1.35 kB
const require_changeCase = require("../lib/changeCase.cjs"); const require_createFaker = require("../lib/createFaker.cjs"); const require_valueForModelMap = require("../lib/valueForModelMap.cjs"); const require_slice = require("../model/slice.cjs"); const require_generateFieldId = require("../lib/generateFieldId.cjs"); //#region src/value/slice.ts const slice = (config) => { const faker = config.faker || require_createFaker.createFaker(config.seed); const model = config.model || require_slice.slice({ faker }); const sliceType = config.type ?? require_generateFieldId.generateFieldId({ faker }); const sliceLabel = config.label !== void 0 ? config.label : require_changeCase.capitalCase(faker.words(faker.range(1, 2))); const itemsCount = model.repeat && Object.keys(model.repeat).length > 0 ? config.itemsCount ?? faker.range(1, 6) : 0; return { id: faker.hash(11), slice_type: sliceType, slice_label: sliceLabel, primary: require_valueForModelMap.valueForModelMap({ faker, map: model["non-repeat"] || {}, configs: config.primaryFieldConfigs }), items: Array(itemsCount).fill(void 0).map(() => { return require_valueForModelMap.valueForModelMap({ faker, map: model.repeat || {}, configs: config.itemsFieldConfigs }); }) }; }; //#endregion exports.slice = slice; //# sourceMappingURL=slice.cjs.map