UNPKG

@prismicio/types-internal

Version:
40 lines (34 loc) 796 B
import * as t from "io-ts" import { StringOrNull } from "../../../validators" import ImageConstraint from "../shared/ImageConstraint" export const ImageFieldType = "Image" export const Thumbnail = t.exact( t.intersection([ t.type({ name: t.string, }), ImageConstraint, ]), ) export type Thumbnail = t.TypeOf<typeof Thumbnail> export const ImageConfig = t.exact( t.partial({ label: StringOrNull, placeholder: t.string, constraint: ImageConstraint, thumbnails: t.readonlyArray(Thumbnail), }), ) export type ImageConfig = t.TypeOf<typeof ImageConfig> export const Image = t.exact( t.intersection([ t.type({ type: t.literal(ImageFieldType), }), t.partial({ fieldset: StringOrNull, config: ImageConfig, }), ]), ) export type Image = t.TypeOf<typeof Image>