/* * 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 * as types from "../../types/primitives.js"; import { AWSMarketplaceSyncConfig, AWSMarketplaceSyncConfig$inboundSchema, } from "./aws-marketplace-sync-config.js"; import { EntitySyncConfig, EntitySyncConfig$inboundSchema, } from "./entity-sync-config.js"; import { InvoiceSyncSettings, InvoiceSyncSettings$inboundSchema, } from "./invoice-sync-settings.js"; import { S3ExportConfig, S3ExportConfig$inboundSchema, } from "./s3-export-config.js"; import { SDKValidationError } from "./sdk-validation-error.js"; export type SyncConfig = { awsMarketplace?: AWSMarketplaceSyncConfig | undefined; customer?: EntitySyncConfig | undefined; deal?: EntitySyncConfig | undefined; invoice?: EntitySyncConfig | undefined; invoiceSyncSettings?: InvoiceSyncSettings | undefined; payment?: EntitySyncConfig | undefined; plan?: EntitySyncConfig | undefined; price?: EntitySyncConfig | undefined; quote?: EntitySyncConfig | undefined; s3?: S3ExportConfig | undefined; subscription?: EntitySyncConfig | undefined; }; /** @internal */ export const SyncConfig$inboundSchema: z.ZodMiniType = z .pipe( z.object({ aws_marketplace: types.optional(AWSMarketplaceSyncConfig$inboundSchema), customer: types.optional(EntitySyncConfig$inboundSchema), deal: types.optional(EntitySyncConfig$inboundSchema), invoice: types.optional(EntitySyncConfig$inboundSchema), invoice_sync_settings: types.optional(InvoiceSyncSettings$inboundSchema), payment: types.optional(EntitySyncConfig$inboundSchema), plan: types.optional(EntitySyncConfig$inboundSchema), price: types.optional(EntitySyncConfig$inboundSchema), quote: types.optional(EntitySyncConfig$inboundSchema), s3: types.optional(S3ExportConfig$inboundSchema), subscription: types.optional(EntitySyncConfig$inboundSchema), }), z.transform((v) => { return remap$(v, { "aws_marketplace": "awsMarketplace", "invoice_sync_settings": "invoiceSyncSettings", }); }), ); export function syncConfigFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => SyncConfig$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SyncConfig' from JSON`, ); }