/* * 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 * as components from "../components/index.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type LayoutsControllerGeneratePreviewRequest = { layoutId: string; /** * A header for idempotency purposes */ idempotencyKey?: string | undefined; /** * Layout preview generation details */ layoutPreviewRequestDto: components.LayoutPreviewRequestDto; }; export type LayoutsControllerGeneratePreviewResponse = { headers: { [k: string]: Array }; result: components.GenerateLayoutPreviewResponseDto; }; /** @internal */ export type LayoutsControllerGeneratePreviewRequest$Outbound = { layoutId: string; "idempotency-key"?: string | undefined; LayoutPreviewRequestDto: components.LayoutPreviewRequestDto$Outbound; }; /** @internal */ export const LayoutsControllerGeneratePreviewRequest$outboundSchema: z.ZodType< LayoutsControllerGeneratePreviewRequest$Outbound, z.ZodTypeDef, LayoutsControllerGeneratePreviewRequest > = z.object({ layoutId: z.string(), idempotencyKey: z.string().optional(), layoutPreviewRequestDto: components.LayoutPreviewRequestDto$outboundSchema, }).transform((v) => { return remap$(v, { idempotencyKey: "idempotency-key", layoutPreviewRequestDto: "LayoutPreviewRequestDto", }); }); export function layoutsControllerGeneratePreviewRequestToJSON( layoutsControllerGeneratePreviewRequest: LayoutsControllerGeneratePreviewRequest, ): string { return JSON.stringify( LayoutsControllerGeneratePreviewRequest$outboundSchema.parse( layoutsControllerGeneratePreviewRequest, ), ); } /** @internal */ export const LayoutsControllerGeneratePreviewResponse$inboundSchema: z.ZodType< LayoutsControllerGeneratePreviewResponse, z.ZodTypeDef, unknown > = z.object({ Headers: z.record(z.array(z.string())).default({}), Result: components.GenerateLayoutPreviewResponseDto$inboundSchema, }).transform((v) => { return remap$(v, { "Headers": "headers", "Result": "result", }); }); export function layoutsControllerGeneratePreviewResponseFromJSON( jsonString: string, ): SafeParseResult< LayoutsControllerGeneratePreviewResponse, SDKValidationError > { return safeParse( jsonString, (x) => LayoutsControllerGeneratePreviewResponse$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'LayoutsControllerGeneratePreviewResponse' from JSON`, ); }