@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
133 lines (132 loc) • 4.6 kB
JavaScript
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