/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * Properties for a benefit of type `meter_unit`. */ export type BenefitMeterCreditProperties = { units: number; rollover: boolean; meterId: string; }; /** @internal */ export const BenefitMeterCreditProperties$inboundSchema: z.ZodMiniType< BenefitMeterCreditProperties, unknown > = z.pipe( z.object({ units: z.int(), rollover: z.boolean(), meter_id: z.string(), }), z.transform((v) => { return remap$(v, { "meter_id": "meterId", }); }), ); /** @internal */ export type BenefitMeterCreditProperties$Outbound = { units: number; rollover: boolean; meter_id: string; }; /** @internal */ export const BenefitMeterCreditProperties$outboundSchema: z.ZodMiniType< BenefitMeterCreditProperties$Outbound, BenefitMeterCreditProperties > = z.pipe( z.object({ units: z.int(), rollover: z.boolean(), meterId: z.string(), }), z.transform((v) => { return remap$(v, { meterId: "meter_id", }); }), ); export function benefitMeterCreditPropertiesToJSON( benefitMeterCreditProperties: BenefitMeterCreditProperties, ): string { return JSON.stringify( BenefitMeterCreditProperties$outboundSchema.parse( benefitMeterCreditProperties, ), ); } export function benefitMeterCreditPropertiesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => BenefitMeterCreditProperties$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BenefitMeterCreditProperties' from JSON`, ); }