/* * 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"; /** * Indicates the frequency unit for the subscription. Allowed values are: `DAY`, `WEEK`, `MONTH`, `BI_MONTHLY`, `QUARTER`, `SEMI_ANNUALLY`, `YEAR`, `ONDEMAND`. */ export const SubscriptionFrequencyUnit = { Month: "MONTH", Week: "WEEK", BiMonthly: "BI_MONTHLY", Ondemand: "ONDEMAND", Quarter: "QUARTER", Year: "YEAR", SemiAnnually: "SEMI_ANNUALLY", Day: "DAY", } as const; /** * Indicates the frequency unit for the subscription. Allowed values are: `DAY`, `WEEK`, `MONTH`, `BI_MONTHLY`, `QUARTER`, `SEMI_ANNUALLY`, `YEAR`, `ONDEMAND`. */ export type SubscriptionFrequencyUnit = OpenEnum< typeof SubscriptionFrequencyUnit >; export type DlocalUPIRecurringInfoOptions = { /** * Indicates the frequency unit for the subscription. Allowed values are: `DAY`, `WEEK`, `MONTH`, `BI_MONTHLY`, `QUARTER`, `SEMI_ANNUALLY`, `YEAR`, `ONDEMAND`. */ subscriptionFrequencyUnit: SubscriptionFrequencyUnit; /** * Indicates the frequency for the subscription. */ subscriptionFrequency: number; /** * Indicates the start date for the subscription in format `YYYYMMDD`. */ subscriptionStartAt: string; /** * Indicates the end date for the subscription in format `YYYYMMDD`. */ subscriptionEndAt: string; }; /** @internal */ export const SubscriptionFrequencyUnit$outboundSchema: z.ZodType< string, z.ZodTypeDef, SubscriptionFrequencyUnit > = openEnums.outboundSchema(SubscriptionFrequencyUnit); /** @internal */ export type DlocalUPIRecurringInfoOptions$Outbound = { subscription_frequency_unit: string; subscription_frequency: number; subscription_start_at: string; subscription_end_at: string; }; /** @internal */ export const DlocalUPIRecurringInfoOptions$outboundSchema: z.ZodType< DlocalUPIRecurringInfoOptions$Outbound, z.ZodTypeDef, DlocalUPIRecurringInfoOptions > = z.object({ subscriptionFrequencyUnit: SubscriptionFrequencyUnit$outboundSchema, subscriptionFrequency: z.number().int(), subscriptionStartAt: z.string(), subscriptionEndAt: z.string(), }).transform((v) => { return remap$(v, { subscriptionFrequencyUnit: "subscription_frequency_unit", subscriptionFrequency: "subscription_frequency", subscriptionStartAt: "subscription_start_at", subscriptionEndAt: "subscription_end_at", }); }); export function dlocalUPIRecurringInfoOptionsToJSON( dlocalUPIRecurringInfoOptions: DlocalUPIRecurringInfoOptions, ): string { return JSON.stringify( DlocalUPIRecurringInfoOptions$outboundSchema.parse( dlocalUPIRecurringInfoOptions, ), ); }