/* * 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 * as components from "../components/index.js"; export type ListTransactionsGlobals = { /** * Optional string used to pick a non-default API version to use. See our API version guide. */ shippoApiVersion?: string | undefined; }; export type ListTransactionsRequest = { /** * Filter by rate ID */ rate?: string | undefined; /** * Filter by object status */ objectStatus?: components.TransactionStatusEnum | undefined; /** * Filter by tracking status */ trackingStatus?: components.TrackingStatusEnum | undefined; /** * The page number you want to select */ page?: number | undefined; /** * The number of results to return per page (max 100) */ results?: number | undefined; }; /** @internal */ export type ListTransactionsRequest$Outbound = { rate?: string | undefined; object_status?: string | undefined; tracking_status?: string | undefined; page: number; results: number; }; /** @internal */ export const ListTransactionsRequest$outboundSchema: z.ZodMiniType< ListTransactionsRequest$Outbound, ListTransactionsRequest > = z.pipe( z.object({ rate: z.optional(z.string()), objectStatus: z.optional(components.TransactionStatusEnum$outboundSchema), trackingStatus: z.optional(components.TrackingStatusEnum$outboundSchema), page: z._default(z.int(), 1), results: z._default(z.int(), 25), }), z.transform((v) => { return remap$(v, { objectStatus: "object_status", trackingStatus: "tracking_status", }); }), ); export function listTransactionsRequestToJSON( listTransactionsRequest: ListTransactionsRequest, ): string { return JSON.stringify( ListTransactionsRequest$outboundSchema.parse(listTransactionsRequest), ); }