UNPKG

@prismicio/mock

Version:

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

192 lines (191 loc) 5.54 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const prismic = require("@prismicio/client"); const createFaker = require("./createFaker.cjs"); const sliceZone = require("../value/sliceZone.cjs"); const group = require("../value/group.cjs"); const uid = require("../value/uid.cjs"); const integration = require("../value/integration.cjs"); const title = require("../value/title.cjs"); const index = require("../value/richText/index.cjs"); const timestamp = require("../value/timestamp.cjs"); const select = require("../value/select.cjs"); const number = require("../value/number.cjs"); const keyText = require("../value/keyText.cjs"); const image = require("../value/image.cjs"); const geoPoint = require("../value/geoPoint.cjs"); const embed = require("../value/embed.cjs"); const date = require("../value/date.cjs"); const link = require("../value/link.cjs"); const linkToMedia = require("../value/linkToMedia.cjs"); const contentRelationship = require("../value/contentRelationship.cjs"); const color = require("../value/color.cjs"); const boolean = require("../value/boolean.cjs"); function _interopNamespaceDefault(e) { const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } }); if (e) { for (const k in e) { if (k !== "default") { const d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: () => e[k] }); } } } n.default = e; return Object.freeze(n); } const prismic__namespace = /* @__PURE__ */ _interopNamespaceDefault(prismic); const valueForModel = (config) => { var _a; const faker = config.faker || createFaker.createFaker(config.seed); const model = config.model; switch (model.type) { case prismic__namespace.CustomTypeModelFieldType.Boolean: { return boolean.boolean({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Color: { return color.color({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Link: { switch ((_a = model.config) == null ? void 0 : _a.select) { case prismic__namespace.CustomTypeModelLinkSelectType.Document: { return contentRelationship.contentRelationship({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelLinkSelectType.Media: { return linkToMedia.linkToMedia({ faker, model, ...config.config }); } default: { return link.link({ faker, model, ...config.config }); } } } case prismic__namespace.CustomTypeModelFieldType.Date: { return date.date({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Embed: { return embed.embed({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.GeoPoint: { return geoPoint.geoPoint({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Image: { return image.image({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Text: { return keyText.keyText({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Number: { return number.number({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Select: { return select.select({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Timestamp: { return timestamp.timestamp({ faker, model, ...config.config }); } case prismic__namespace.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 title.title({ faker, model, ...config.config }); } else { return index.richText({ faker, model, ...config.config }); } } case prismic__namespace.CustomTypeModelFieldType.Integration: { return integration.integration({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.UID: { return uid.uid({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.Group: { return group.group({ faker, model, ...config.config }); } case prismic__namespace.CustomTypeModelFieldType.LegacySlices: case prismic__namespace.CustomTypeModelFieldType.Slices: { return sliceZone.sliceZone({ faker, model, ...config.config }); } default: { throw new Error(`The "${model.type}" field type is not supported in @prismicio/mock.`); } } }; exports.valueForModel = valueForModel; //# sourceMappingURL=valueForModel.cjs.map