@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
26 lines (20 loc) • 769 B
text/typescript
import * as prismic from "@prismicio/client"
import { capitalCase, sentenceCase } from "../lib/changeCase"
import { createFaker } from "../lib/createFaker"
import type { MockModelConfig } from "../types"
export type MockTitleModelConfig = MockModelConfig
export const title = (config: MockTitleModelConfig): prismic.CustomTypeModelTitleField => {
const faker = config.faker || createFaker(config.seed)
const single = faker
.randomElements(["heading1", "heading2", "heading3", "heading4", "heading5", "heading6"])
.join(",")
return {
type: prismic.CustomTypeModelFieldType.StructuredText,
config: {
label: capitalCase(faker.word()),
placeholder: sentenceCase(faker.words(3)),
single,
allowTargetBlank: faker.boolean() || undefined,
},
}
}