/* * 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 { ClosedEnum } from "../../types/enums.js"; import { FilterCondition, FilterCondition$Outbound, FilterCondition$outboundSchema, } from "./filter-condition.js"; import { SortCondition, SortCondition$Outbound, SortCondition$outboundSchema, } from "./sort-condition.js"; import { Status, Status$outboundSchema } from "./status.js"; export const CouponFilterOrder = { Asc: "asc", Desc: "desc", } as const; export type CouponFilterOrder = ClosedEnum; export type CouponFilter = { couponCodes?: Array | undefined; couponIds?: Array | undefined; expand?: string | undefined; filters?: Array | undefined; limit?: number | undefined; offset?: number | undefined; order?: CouponFilterOrder | undefined; sort?: Array | undefined; status?: Status | undefined; }; /** @internal */ export const CouponFilterOrder$outboundSchema: z.ZodMiniEnum< typeof CouponFilterOrder > = z.enum(CouponFilterOrder); /** @internal */ export type CouponFilter$Outbound = { coupon_codes?: Array | undefined; coupon_ids?: Array | undefined; expand?: string | undefined; filters?: Array | undefined; limit?: number | undefined; offset?: number | undefined; order?: string | undefined; sort?: Array | undefined; status?: string | undefined; }; /** @internal */ export const CouponFilter$outboundSchema: z.ZodMiniType< CouponFilter$Outbound, CouponFilter > = z.pipe( z.object({ couponCodes: z.optional(z.array(z.string())), couponIds: z.optional(z.array(z.string())), expand: z.optional(z.string()), filters: z.optional(z.array(FilterCondition$outboundSchema)), limit: z.optional(z.int()), offset: z.optional(z.int()), order: z.optional(CouponFilterOrder$outboundSchema), sort: z.optional(z.array(SortCondition$outboundSchema)), status: z.optional(Status$outboundSchema), }), z.transform((v) => { return remap$(v, { couponCodes: "coupon_codes", couponIds: "coupon_ids", }); }), ); export function couponFilterToJSON(couponFilter: CouponFilter): string { return JSON.stringify(CouponFilter$outboundSchema.parse(couponFilter)); }