@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
38 lines (37 loc) • 1.33 kB
JavaScript
import { capitalCase, sentenceCase } from "../lib/changeCase.js";
import { createFaker } from "../lib/createFaker.js";
import * as prismic from "@prismicio/client";
//#region src/model/richText.ts
const richText = (config) => {
const faker = config.faker || createFaker(config.seed);
const blockTypes = faker.randomElements([
prismic.RichTextNodeType.heading1,
prismic.RichTextNodeType.heading2,
prismic.RichTextNodeType.heading3,
prismic.RichTextNodeType.heading4,
prismic.RichTextNodeType.heading5,
prismic.RichTextNodeType.heading6,
prismic.RichTextNodeType.paragraph,
prismic.RichTextNodeType.preformatted,
prismic.RichTextNodeType.strong,
prismic.RichTextNodeType.em,
prismic.RichTextNodeType.listItem,
prismic.RichTextNodeType.oListItem,
prismic.RichTextNodeType.image,
prismic.RichTextNodeType.embed,
prismic.RichTextNodeType.hyperlink
]).join(",");
const blockTypeConfig = config.withMultipleBlocks ?? faker.boolean() ? { multi: blockTypes } : { single: blockTypes };
return {
type: prismic.CustomTypeModelFieldType.StructuredText,
config: {
label: capitalCase(faker.word()),
placeholder: sentenceCase(faker.words(3)),
allowTargetBlank: faker.boolean() ? true : void 0,
...blockTypeConfig
}
};
};
//#endregion
export { richText };
//# sourceMappingURL=richText.js.map