import * as prismic from "@prismicio/client" import type { MockModelConfig } from "../types" export type MockSliceZoneModelConfig< Slices extends Record = Record, > = { choices?: Slices } & MockModelConfig export const sliceZone = < Slices extends Record, >( config: MockSliceZoneModelConfig, ): prismic.CustomTypeModelSliceZoneField => { const labels = {} as NonNullable< NonNullable["config"]>["labels"] > for (const choiceId in config.choices) { const choice = config.choices[choiceId] if (choice.type === prismic.CustomTypeModelSliceType.Slice) { labels[choiceId as unknown as keyof typeof labels] = [] } } return { type: prismic.CustomTypeModelFieldType.Slices, fieldset: "Slice zone", config: { labels, choices: config.choices || ({} as Slices), }, } }