UNPKG

@prismicio/mock

Version:

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

34 lines (33 loc) 2.04 kB
const require_runtime = require("../_virtual/_rolldown/runtime.cjs"); const require_createFaker = require("../lib/createFaker.cjs"); const require_generateTags = require("../lib/generateTags.cjs"); const require_contentRelationship = require("../model/contentRelationship.cjs"); const require_customType = require("./customType.cjs"); const require_buildContentRelationshipField = require("../lib/buildContentRelationshipField.cjs"); const require_generateCustomTypeId = require("../lib/generateCustomTypeId.cjs"); let _prismicio_client = require("@prismicio/client"); _prismicio_client = require_runtime.__toESM(_prismicio_client); //#region src/value/contentRelationship.ts const contentRelationship = (config) => { const faker = config.faker || require_createFaker.createFaker(config.seed); if (config.state === "empty") return { link_type: _prismicio_client.LinkType.Document }; else { const model = config.model || require_contentRelationship.contentRelationship({ faker }); const linkableDocuments = config.linkableDocuments ? config.linkableDocuments.filter((document) => { let shouldKeep = true; if (model.config?.customtypes) shouldKeep = shouldKeep && model.config.customtypes.includes(document.type); if (model.config?.tags) shouldKeep = shouldKeep && model.config.tags.some((tag) => document.tags.includes(tag)); return shouldKeep; }) : [{ ...require_customType.customType({ faker }), type: model.config?.customtypes ? faker.randomElement(model.config.customtypes) : require_generateCustomTypeId.generateCustomTypeId({ faker }), tags: model.config?.tags ? faker.randomElements(model.config.tags) : require_generateTags.generateTags({ faker }) }]; const document = faker.randomElement(linkableDocuments); if (!document) throw new Error("A linkable document could not be found."); return require_buildContentRelationshipField.buildContentRelationshipField({ document }); } }; //#endregion exports.contentRelationship = contentRelationship; //# sourceMappingURL=contentRelationship.cjs.map