import type * as prismic from "@prismicio/client" import type { MockValueStateConfig, MockValueConfig } from "../types" export type MockIntegrationFieldValueConfig< Model extends prismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField, Data extends Record = Record, State extends prismic.FieldState = prismic.FieldState, > = { data?: Data } & MockValueConfig & MockValueStateConfig export type MockIntegrationFieldValue< Data extends Record = Record, State extends prismic.FieldState = prismic.FieldState, > = prismic.IntegrationField export const integration = < Model extends prismic.CustomTypeModelIntegrationField = prismic.CustomTypeModelIntegrationField, Data extends Record = Record, State extends prismic.FieldState = "filled", >( config: MockIntegrationFieldValueConfig, ): MockIntegrationFieldValue => { const data = config.data ?? {} return (config.state === "empty" ? null : data) as MockIntegrationFieldValue }