/*
* 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";
import {
AddressValidationResultsMessage,
AddressValidationResultsMessage$inboundSchema,
} from "./addressvalidationresultsmessage.js";
/**
* Object that contains information regarding if an address had been validated or not. Also contains any messages
*
* @remarks
* generated during validation. Children keys are is_valid(boolean) and messages(array).
*/
export type AddressValidationResults = {
isValid?: boolean | undefined;
messages?: Array | undefined;
};
/** @internal */
export const AddressValidationResults$inboundSchema: z.ZodMiniType<
AddressValidationResults,
unknown
> = z.pipe(
z.object({
is_valid: z.optional(z.boolean()),
messages: z.optional(
z.array(AddressValidationResultsMessage$inboundSchema),
),
}),
z.transform((v) => {
return remap$(v, {
"is_valid": "isValid",
});
}),
);
export function addressValidationResultsFromJSON(
jsonString: string,
): SafeParseResult {
return safeParse(
jsonString,
(x) => AddressValidationResults$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'AddressValidationResults' from JSON`,
);
}