import { IntegrationFieldContentSchema, IntegrationFieldContentType } from "../integrationField" import type { IntegrationFieldContent } from "../integrationField" import { IntegrationFieldLegacySchema } from "../legacy/integrationField" import type { IntegrationFieldLegacy } from "../legacy/integrationField" import type { LegacyContentCtx, LegacyCodec } from "./legacyContentCtx" export const IntegrationFieldLegacyCodec = ( ctx: LegacyContentCtx, ): LegacyCodec => ({ name: "IntegrationFieldLegacy", is(input): input is IntegrationFieldContent { return IntegrationFieldContentSchema.safeParse(input).success }, toContent(input) { const parsed = IntegrationFieldLegacySchema.safeParse(input) if (!parsed.success) { return parsed } return { success: true, data: { __TYPE__: IntegrationFieldContentType, value: parsed.data, }, } }, fromContent(input) { return { content: input.value, types: { [ctx.keyOfType]: "IntegrationFields" }, keys: {}, } }, })