UNPKG

@prismicio/mock

Version:

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

133 lines (132 loc) 4.6 kB
const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); const require_createFaker = require("./createFaker.cjs"); const require_boolean = require("../value/boolean.cjs"); const require_timestamp = require("../value/timestamp.cjs"); const require_color = require("../value/color.cjs"); const require_contentRelationship = require("../value/contentRelationship.cjs"); const require_date = require("../value/date.cjs"); const require_embed = require("../value/embed.cjs"); const require_geoPoint = require("../value/geoPoint.cjs"); const require_group = require("../value/group.cjs"); const require_image = require("../value/image.cjs"); const require_integration = require("../value/integration.cjs"); const require_keyText = require("../value/keyText.cjs"); const require_linkToMedia = require("../value/linkToMedia.cjs"); const require_link = require("../value/link.cjs"); const require_number = require("../value/number.cjs"); const require_index = require("../value/richText/index.cjs"); const require_select = require("../value/select.cjs"); const require_sliceZone = require("../value/sliceZone.cjs"); const require_title = require("../value/title.cjs"); const require_uid = require("../value/uid.cjs"); let _prismicio_client = require("@prismicio/client"); _prismicio_client = require_runtime.__toESM(_prismicio_client); //#region src/lib/valueForModel.ts const valueForModel = (config) => { const faker = config.faker || require_createFaker.createFaker(config.seed); const model = config.model; switch (model.type) { case _prismicio_client.CustomTypeModelFieldType.Boolean: return require_boolean.boolean({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Color: return require_color.color({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Link: switch (model.config?.select) { case _prismicio_client.CustomTypeModelLinkSelectType.Document: return require_contentRelationship.contentRelationship({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelLinkSelectType.Media: return require_linkToMedia.linkToMedia({ faker, model, ...config.config }); default: return require_link.link({ faker, model, ...config.config }); } case _prismicio_client.CustomTypeModelFieldType.Date: return require_date.date({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Embed: return require_embed.embed({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.GeoPoint: return require_geoPoint.geoPoint({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Image: return require_image.image({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Text: return require_keyText.keyText({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Number: return require_number.number({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Select: return require_select.select({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Timestamp: return require_timestamp.timestamp({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.StructuredText: if (model.config && "single" in model.config && model.config.single && model.config.single.split(",").every((element) => /heading[1-6]/.test(element.trim()))) return require_title.title({ faker, model, ...config.config }); else return require_index.richText({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Integration: return require_integration.integration({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.UID: return require_uid.uid({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.Group: return require_group.group({ faker, model, ...config.config }); case _prismicio_client.CustomTypeModelFieldType.LegacySlices: case _prismicio_client.CustomTypeModelFieldType.Slices: return require_sliceZone.sliceZone({ faker, model, ...config.config }); default: throw new Error(`The "${model.type}" field type is not supported in @prismicio/mock.`); } }; //#endregion exports.valueForModel = valueForModel; //# sourceMappingURL=valueForModel.cjs.map