import * as prismic from "@prismicio/client" import { capitalCase } from "../lib/changeCase" import { createFaker } from "../lib/createFaker" import type { MockModelConfig } from "../types" export type MockImageModelConfig = { withConstraint?: boolean thumbnailNames?: readonly ThumbnailNames[] } & MockModelConfig export const image = ( config: MockImageModelConfig, ): prismic.CustomTypeModelImageField => { const faker = config.faker || createFaker(config.seed) const thumbnails = (config.thumbnailNames || []).map((name) => { return { name, width: faker.range(500, 2000), height: faker.range(500, 2000), } }) return { type: prismic.CustomTypeModelFieldType.Image, config: { label: capitalCase(faker.word()), constraint: { width: config.withConstraint ? faker.range(500, 2000) : null, height: config.withConstraint ? faker.range(500, 2000) : null, }, thumbnails, }, } }