/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import * as openEnums from "../../types/enums.js"; import { OpenEnum } from "../../types/enums.js"; import { DlocalPIXSubscriptionAmountOptions, DlocalPIXSubscriptionAmountOptions$Outbound, DlocalPIXSubscriptionAmountOptions$outboundSchema, } from "./dlocalpixsubscriptionamountoptions.js"; /** * Indicates the frequency unit for the subscription. Allowed values are: `WEEKLY`, `MONTHLY`, `QUARTERLY`, `SEMI_ANNUAL`, `ANNUAL`. */ export const Frequency = { Weekly: "WEEKLY", Monthly: "MONTHLY", Quarterly: "QUARTERLY", SemiAnnual: "SEMI_ANNUAL", Annual: "ANNUAL", } as const; /** * Indicates the frequency unit for the subscription. Allowed values are: `WEEKLY`, `MONTHLY`, `QUARTERLY`, `SEMI_ANNUAL`, `ANNUAL`. */ export type Frequency = OpenEnum; export type DlocalPIXSubscriptionOptions = { /** * Passes `subscription.amount` to the dLocal API for those connectors that need it. */ amount?: DlocalPIXSubscriptionAmountOptions | null | undefined; /** * Indicates the frequency unit for the subscription. Allowed values are: `WEEKLY`, `MONTHLY`, `QUARTERLY`, `SEMI_ANNUAL`, `ANNUAL`. */ frequency: Frequency; /** * Defines subscription start date. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not specified, The default is the current date. */ startDate?: string | null | undefined; /** * Defines subscription expiration date. Must be provided in ISO 8601 format `(YYYY-MM-DD`). If not provided, the subscription will not expire. */ endDate?: string | null | undefined; }; /** @internal */ export const Frequency$outboundSchema: z.ZodType< string, z.ZodTypeDef, Frequency > = openEnums.outboundSchema(Frequency); /** @internal */ export type DlocalPIXSubscriptionOptions$Outbound = { amount?: DlocalPIXSubscriptionAmountOptions$Outbound | null | undefined; frequency: string; start_date?: string | null | undefined; end_date?: string | null | undefined; }; /** @internal */ export const DlocalPIXSubscriptionOptions$outboundSchema: z.ZodType< DlocalPIXSubscriptionOptions$Outbound, z.ZodTypeDef, DlocalPIXSubscriptionOptions > = z.object({ amount: z.nullable(DlocalPIXSubscriptionAmountOptions$outboundSchema) .optional(), frequency: Frequency$outboundSchema, startDate: z.nullable(z.string()).optional(), endDate: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { startDate: "start_date", endDate: "end_date", }); }); export function dlocalPIXSubscriptionOptionsToJSON( dlocalPIXSubscriptionOptions: DlocalPIXSubscriptionOptions, ): string { return JSON.stringify( DlocalPIXSubscriptionOptions$outboundSchema.parse( dlocalPIXSubscriptionOptions, ), ); }