@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
55 lines (54 loc) • 2.13 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const prismic = require("@prismicio/client");
const changeCase = require("../lib/changeCase.cjs");
const createFaker = require("../lib/createFaker.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 richText = (config) => {
const faker = config.faker || createFaker.createFaker(config.seed);
const blockTypes = faker.randomElements([
prismic__namespace.RichTextNodeType.heading1,
prismic__namespace.RichTextNodeType.heading2,
prismic__namespace.RichTextNodeType.heading3,
prismic__namespace.RichTextNodeType.heading4,
prismic__namespace.RichTextNodeType.heading5,
prismic__namespace.RichTextNodeType.heading6,
prismic__namespace.RichTextNodeType.paragraph,
prismic__namespace.RichTextNodeType.preformatted,
prismic__namespace.RichTextNodeType.strong,
prismic__namespace.RichTextNodeType.em,
prismic__namespace.RichTextNodeType.listItem,
prismic__namespace.RichTextNodeType.oListItem,
prismic__namespace.RichTextNodeType.image,
prismic__namespace.RichTextNodeType.embed,
prismic__namespace.RichTextNodeType.hyperlink
]).join(",");
const blockTypeConfig = config.withMultipleBlocks ?? faker.boolean() ? { multi: blockTypes } : { single: blockTypes };
return {
type: prismic__namespace.CustomTypeModelFieldType.StructuredText,
config: {
label: changeCase.capitalCase(faker.word()),
placeholder: changeCase.sentenceCase(faker.words(3)),
allowTargetBlank: faker.boolean() ? true : void 0,
...blockTypeConfig
}
};
};
exports.richText = richText;
//# sourceMappingURL=richText.cjs.map