/* * 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 { RFCDate } from "../../types/rfcdate.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * A single pay period in a pay schedule preview, with check date, period boundaries, and payroll deadline. */ export type PaySchedulePreviewPayPeriod = { /** * The payment date, "Check date", for the pay period. */ checkDate: RFCDate; /** * The first day of the pay period. */ startDate: RFCDate; /** * The deadline to run payroll for direct deposit on the check date. */ runPayrollBy: RFCDate; /** * The last day of the pay period. */ endDate: RFCDate; }; /** @internal */ export const PaySchedulePreviewPayPeriod$inboundSchema: z.ZodType< PaySchedulePreviewPayPeriod, z.ZodTypeDef, unknown > = z.object({ check_date: z.string().transform(v => new RFCDate(v)), start_date: z.string().transform(v => new RFCDate(v)), run_payroll_by: z.string().transform(v => new RFCDate(v)), end_date: z.string().transform(v => new RFCDate(v)), }).transform((v) => { return remap$(v, { "check_date": "checkDate", "start_date": "startDate", "run_payroll_by": "runPayrollBy", "end_date": "endDate", }); }); export function paySchedulePreviewPayPeriodFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PaySchedulePreviewPayPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PaySchedulePreviewPayPeriod' from JSON`, ); }