/* * 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 { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type RetrieveDiscountRequest = { /** * The unique identifier of the discount (provide either discount_id OR discount_code). */ discountId?: string | undefined; /** * The unique discount code (provide either discount_id OR discount_code). */ discountCode?: string | undefined; }; /** @internal */ export const RetrieveDiscountRequest$inboundSchema: z.ZodType< RetrieveDiscountRequest, z.ZodTypeDef, unknown > = z.object({ discount_id: z.string().optional(), discount_code: z.string().optional(), }).transform((v) => { return remap$(v, { "discount_id": "discountId", "discount_code": "discountCode", }); }); /** @internal */ export type RetrieveDiscountRequest$Outbound = { discount_id?: string | undefined; discount_code?: string | undefined; }; /** @internal */ export const RetrieveDiscountRequest$outboundSchema: z.ZodType< RetrieveDiscountRequest$Outbound, z.ZodTypeDef, RetrieveDiscountRequest > = z.object({ discountId: z.string().optional(), discountCode: z.string().optional(), }).transform((v) => { return remap$(v, { discountId: "discount_id", discountCode: "discount_code", }); }); export function retrieveDiscountRequestToJSON( retrieveDiscountRequest: RetrieveDiscountRequest, ): string { return JSON.stringify( RetrieveDiscountRequest$outboundSchema.parse(retrieveDiscountRequest), ); } export function retrieveDiscountRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => RetrieveDiscountRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RetrieveDiscountRequest' from JSON`, ); }