/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type TicketMessage = { author: string; body: string; sentOn: Date; }; /** @internal */ export const TicketMessage$inboundSchema: z.ZodType< TicketMessage, z.ZodTypeDef, unknown > = z.object({ author: z.string(), body: z.string(), sentOn: z.string().datetime({ offset: true }).transform(v => new Date(v)), }); /** @internal */ export type TicketMessage$Outbound = { author: string; body: string; sentOn: string; }; /** @internal */ export const TicketMessage$outboundSchema: z.ZodType< TicketMessage$Outbound, z.ZodTypeDef, TicketMessage > = z.object({ author: z.string(), body: z.string(), sentOn: z.date().transform(v => v.toISOString()), }); export function ticketMessageToJSON(ticketMessage: TicketMessage): string { return JSON.stringify(TicketMessage$outboundSchema.parse(ticketMessage)); } export function ticketMessageFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => TicketMessage$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'TicketMessage' from JSON`, ); }