/* * 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"; import { RequirementError, RequirementError$inboundSchema, RequirementError$Outbound, RequirementError$outboundSchema, } from "./requirementerror.js"; import { RequirementID, RequirementID$inboundSchema, RequirementID$outboundSchema, } from "./requirementid.js"; /** * Represents individual and business data necessary to facilitate the enabling of a capability for an account. */ export type CapabilityRequirement = { currentlyDue?: Array | undefined; errors?: Array | undefined; }; /** @internal */ export const CapabilityRequirement$inboundSchema: z.ZodType< CapabilityRequirement, z.ZodTypeDef, unknown > = z.object({ currentlyDue: z.array(RequirementID$inboundSchema).optional(), errors: z.array(RequirementError$inboundSchema).optional(), }); /** @internal */ export type CapabilityRequirement$Outbound = { currentlyDue?: Array | undefined; errors?: Array | undefined; }; /** @internal */ export const CapabilityRequirement$outboundSchema: z.ZodType< CapabilityRequirement$Outbound, z.ZodTypeDef, CapabilityRequirement > = z.object({ currentlyDue: z.array(RequirementID$outboundSchema).optional(), errors: z.array(RequirementError$outboundSchema).optional(), }); export function capabilityRequirementToJSON( capabilityRequirement: CapabilityRequirement, ): string { return JSON.stringify( CapabilityRequirement$outboundSchema.parse(capabilityRequirement), ); } export function capabilityRequirementFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => CapabilityRequirement$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CapabilityRequirement' from JSON`, ); }