/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod"; 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"; /** * The overview of the payroll totals. */ export type PayrollTotals = { /** * The total company debit for the payroll. */ companyDebit?: number | null | undefined; /** * The total tax debit for the payroll. */ taxDebit?: number | null | undefined; /** * The total check amount for the payroll. */ checkAmount?: number | null | undefined; /** * The net pay amount for the payroll. */ netPay?: number | null | undefined; /** * The gross pay amount for the payroll. */ grossPay?: number | null | undefined; /** * The total amount of employer paid taxes for the payroll. */ employerTaxes?: number | null | undefined; /** * The total amount of employee paid taxes for the payroll. */ employeeTaxes?: number | null | undefined; /** * The total amount of company contributed benefits for the payroll. */ employerBenefitContributions?: number | null | undefined; /** * The total amount of employee deducted benefits for the payroll. */ employeeBenefitDeductions?: number | null | undefined; }; /** @internal */ export const PayrollTotals$inboundSchema: z.ZodType< PayrollTotals, z.ZodTypeDef, unknown > = z.object({ company_debit: z.nullable(z.number()).optional(), tax_debit: z.nullable(z.number()).optional(), check_amount: z.nullable(z.number()).optional(), net_pay: z.nullable(z.number()).optional(), gross_pay: z.nullable(z.number()).optional(), employer_taxes: z.nullable(z.number()).optional(), employee_taxes: z.nullable(z.number()).optional(), employer_benefit_contributions: z.nullable(z.number()).optional(), employee_benefit_deductions: z.nullable(z.number()).optional(), }).transform((v) => { return remap$(v, { "company_debit": "companyDebit", "tax_debit": "taxDebit", "check_amount": "checkAmount", "net_pay": "netPay", "gross_pay": "grossPay", "employer_taxes": "employerTaxes", "employee_taxes": "employeeTaxes", "employer_benefit_contributions": "employerBenefitContributions", "employee_benefit_deductions": "employeeBenefitDeductions", }); }); /** @internal */ export type PayrollTotals$Outbound = { company_debit?: number | null | undefined; tax_debit?: number | null | undefined; check_amount?: number | null | undefined; net_pay?: number | null | undefined; gross_pay?: number | null | undefined; employer_taxes?: number | null | undefined; employee_taxes?: number | null | undefined; employer_benefit_contributions?: number | null | undefined; employee_benefit_deductions?: number | null | undefined; }; /** @internal */ export const PayrollTotals$outboundSchema: z.ZodType< PayrollTotals$Outbound, z.ZodTypeDef, PayrollTotals > = z.object({ companyDebit: z.nullable(z.number()).optional(), taxDebit: z.nullable(z.number()).optional(), checkAmount: z.nullable(z.number()).optional(), netPay: z.nullable(z.number()).optional(), grossPay: z.nullable(z.number()).optional(), employerTaxes: z.nullable(z.number()).optional(), employeeTaxes: z.nullable(z.number()).optional(), employerBenefitContributions: z.nullable(z.number()).optional(), employeeBenefitDeductions: z.nullable(z.number()).optional(), }).transform((v) => { return remap$(v, { companyDebit: "company_debit", taxDebit: "tax_debit", checkAmount: "check_amount", netPay: "net_pay", grossPay: "gross_pay", employerTaxes: "employer_taxes", employeeTaxes: "employee_taxes", employerBenefitContributions: "employer_benefit_contributions", employeeBenefitDeductions: "employee_benefit_deductions", }); }); /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export namespace PayrollTotals$ { /** @deprecated use `PayrollTotals$inboundSchema` instead. */ export const inboundSchema = PayrollTotals$inboundSchema; /** @deprecated use `PayrollTotals$outboundSchema` instead. */ export const outboundSchema = PayrollTotals$outboundSchema; /** @deprecated use `PayrollTotals$Outbound` instead. */ export type Outbound = PayrollTotals$Outbound; } export function payrollTotalsToJSON(payrollTotals: PayrollTotals): string { return JSON.stringify(PayrollTotals$outboundSchema.parse(payrollTotals)); } export function payrollTotalsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PayrollTotals$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PayrollTotals' from JSON`, ); }