/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type OrganizationCustomerEmailSettings = { orderConfirmation: boolean; subscriptionCancellation: boolean; subscriptionConfirmation: boolean; subscriptionCycled: boolean; subscriptionCycledAfterTrial: boolean; subscriptionPastDue: boolean; subscriptionRenewalReminder: boolean; subscriptionRevoked: boolean; subscriptionTrialConversionReminder: boolean; subscriptionUncanceled: boolean; subscriptionUpdated: boolean; }; /** @internal */ export const OrganizationCustomerEmailSettings$inboundSchema: z.ZodMiniType< OrganizationCustomerEmailSettings, unknown > = z.pipe( z.object({ order_confirmation: z.boolean(), subscription_cancellation: z.boolean(), subscription_confirmation: z.boolean(), subscription_cycled: z.boolean(), subscription_cycled_after_trial: z.boolean(), subscription_past_due: z.boolean(), subscription_renewal_reminder: z.boolean(), subscription_revoked: z.boolean(), subscription_trial_conversion_reminder: z.boolean(), subscription_uncanceled: z.boolean(), subscription_updated: z.boolean(), }), z.transform((v) => { return remap$(v, { "order_confirmation": "orderConfirmation", "subscription_cancellation": "subscriptionCancellation", "subscription_confirmation": "subscriptionConfirmation", "subscription_cycled": "subscriptionCycled", "subscription_cycled_after_trial": "subscriptionCycledAfterTrial", "subscription_past_due": "subscriptionPastDue", "subscription_renewal_reminder": "subscriptionRenewalReminder", "subscription_revoked": "subscriptionRevoked", "subscription_trial_conversion_reminder": "subscriptionTrialConversionReminder", "subscription_uncanceled": "subscriptionUncanceled", "subscription_updated": "subscriptionUpdated", }); }), ); /** @internal */ export type OrganizationCustomerEmailSettings$Outbound = { order_confirmation: boolean; subscription_cancellation: boolean; subscription_confirmation: boolean; subscription_cycled: boolean; subscription_cycled_after_trial: boolean; subscription_past_due: boolean; subscription_renewal_reminder: boolean; subscription_revoked: boolean; subscription_trial_conversion_reminder: boolean; subscription_uncanceled: boolean; subscription_updated: boolean; }; /** @internal */ export const OrganizationCustomerEmailSettings$outboundSchema: z.ZodMiniType< OrganizationCustomerEmailSettings$Outbound, OrganizationCustomerEmailSettings > = z.pipe( z.object({ orderConfirmation: z.boolean(), subscriptionCancellation: z.boolean(), subscriptionConfirmation: z.boolean(), subscriptionCycled: z.boolean(), subscriptionCycledAfterTrial: z.boolean(), subscriptionPastDue: z.boolean(), subscriptionRenewalReminder: z.boolean(), subscriptionRevoked: z.boolean(), subscriptionTrialConversionReminder: z.boolean(), subscriptionUncanceled: z.boolean(), subscriptionUpdated: z.boolean(), }), z.transform((v) => { return remap$(v, { orderConfirmation: "order_confirmation", subscriptionCancellation: "subscription_cancellation", subscriptionConfirmation: "subscription_confirmation", subscriptionCycled: "subscription_cycled", subscriptionCycledAfterTrial: "subscription_cycled_after_trial", subscriptionPastDue: "subscription_past_due", subscriptionRenewalReminder: "subscription_renewal_reminder", subscriptionRevoked: "subscription_revoked", subscriptionTrialConversionReminder: "subscription_trial_conversion_reminder", subscriptionUncanceled: "subscription_uncanceled", subscriptionUpdated: "subscription_updated", }); }), ); export function organizationCustomerEmailSettingsToJSON( organizationCustomerEmailSettings: OrganizationCustomerEmailSettings, ): string { return JSON.stringify( OrganizationCustomerEmailSettings$outboundSchema.parse( organizationCustomerEmailSettings, ), ); } export function organizationCustomerEmailSettingsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => OrganizationCustomerEmailSettings$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'OrganizationCustomerEmailSettings' from JSON`, ); }