@prismicio/mock
Version:
Generate mock Prismic documents, fields, Slices, and models for development and testing environments
24 lines (19 loc) • 684 B
text/typescript
import * as prismic from "@prismicio/client"
import { capitalCase } from "../lib/changeCase"
import { createFaker } from "../lib/createFaker"
import type { GroupFieldModelMap, MockModelConfig } from "../types"
export type MockGroupModelConfig<Fields extends GroupFieldModelMap> = {
fields?: Fields
} & MockModelConfig
export function group<Fields extends GroupFieldModelMap>(
config: MockGroupModelConfig<Fields>,
): prismic.CustomTypeModelGroupField<Fields> {
const faker = config.faker || createFaker(config.seed)
return {
type: prismic.CustomTypeModelFieldType.Group,
config: {
label: capitalCase(faker.word()),
fields: config.fields || ({} as Fields),
},
}
}