/* * 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 { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type NewYearsDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type MlkDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type PresidentsDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type MemorialDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type Juneteenth = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type IndependenceDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type LaborDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type ColumbusDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type VeteransDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type Thanksgiving = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; export type ChristmasDay = { selected?: boolean | undefined; name?: string | undefined; date?: string | undefined; }; /** * List of the eleven supported federal holidays and their details */ export type FederalHolidays = { newYearsDay?: NewYearsDay | undefined; mlkDay?: MlkDay | undefined; presidentsDay?: PresidentsDay | undefined; memorialDay?: MemorialDay | undefined; juneteenth?: Juneteenth | undefined; independenceDay?: IndependenceDay | undefined; laborDay?: LaborDay | undefined; columbusDay?: ColumbusDay | undefined; veteransDay?: VeteransDay | undefined; thanksgiving?: Thanksgiving | undefined; christmasDay?: ChristmasDay | undefined; }; export type HolidayPayPolicyEmployees = { uuid?: string | undefined; }; /** * Representation of a Holiday Pay Policy */ export type HolidayPayPolicy = { /** * The current version of the object. See the [versioning guide](https://docs.gusto.com/embedded-payroll/docs/versioning#object-layer) for information on how to use this field. */ version: string; /** * A unique identifier for the company owning the holiday pay policy */ companyUuid: string; /** * List of the eleven supported federal holidays and their details */ federalHolidays: FederalHolidays; /** * List of employee uuids under a holiday pay policy */ employees: Array; }; /** @internal */ export const NewYearsDay$inboundSchema: z.ZodType< NewYearsDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function newYearsDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => NewYearsDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'NewYearsDay' from JSON`, ); } /** @internal */ export const MlkDay$inboundSchema: z.ZodType = z .object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function mlkDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => MlkDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'MlkDay' from JSON`, ); } /** @internal */ export const PresidentsDay$inboundSchema: z.ZodType< PresidentsDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function presidentsDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => PresidentsDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PresidentsDay' from JSON`, ); } /** @internal */ export const MemorialDay$inboundSchema: z.ZodType< MemorialDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function memorialDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => MemorialDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'MemorialDay' from JSON`, ); } /** @internal */ export const Juneteenth$inboundSchema: z.ZodType< Juneteenth, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function juneteenthFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Juneteenth$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Juneteenth' from JSON`, ); } /** @internal */ export const IndependenceDay$inboundSchema: z.ZodType< IndependenceDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function independenceDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => IndependenceDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'IndependenceDay' from JSON`, ); } /** @internal */ export const LaborDay$inboundSchema: z.ZodType< LaborDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function laborDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => LaborDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LaborDay' from JSON`, ); } /** @internal */ export const ColumbusDay$inboundSchema: z.ZodType< ColumbusDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function columbusDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ColumbusDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ColumbusDay' from JSON`, ); } /** @internal */ export const VeteransDay$inboundSchema: z.ZodType< VeteransDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function veteransDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => VeteransDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'VeteransDay' from JSON`, ); } /** @internal */ export const Thanksgiving$inboundSchema: z.ZodType< Thanksgiving, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function thanksgivingFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Thanksgiving$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Thanksgiving' from JSON`, ); } /** @internal */ export const ChristmasDay$inboundSchema: z.ZodType< ChristmasDay, z.ZodTypeDef, unknown > = z.object({ selected: z.boolean().optional(), name: z.string().optional(), date: z.string().optional(), }); export function christmasDayFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ChristmasDay$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ChristmasDay' from JSON`, ); } /** @internal */ export const FederalHolidays$inboundSchema: z.ZodType< FederalHolidays, z.ZodTypeDef, unknown > = z.object({ new_years_day: z.lazy(() => NewYearsDay$inboundSchema).optional(), mlk_day: z.lazy(() => MlkDay$inboundSchema).optional(), presidents_day: z.lazy(() => PresidentsDay$inboundSchema).optional(), memorial_day: z.lazy(() => MemorialDay$inboundSchema).optional(), juneteenth: z.lazy(() => Juneteenth$inboundSchema).optional(), independence_day: z.lazy(() => IndependenceDay$inboundSchema).optional(), labor_day: z.lazy(() => LaborDay$inboundSchema).optional(), columbus_day: z.lazy(() => ColumbusDay$inboundSchema).optional(), veterans_day: z.lazy(() => VeteransDay$inboundSchema).optional(), thanksgiving: z.lazy(() => Thanksgiving$inboundSchema).optional(), christmas_day: z.lazy(() => ChristmasDay$inboundSchema).optional(), }).transform((v) => { return remap$(v, { "new_years_day": "newYearsDay", "mlk_day": "mlkDay", "presidents_day": "presidentsDay", "memorial_day": "memorialDay", "independence_day": "independenceDay", "labor_day": "laborDay", "columbus_day": "columbusDay", "veterans_day": "veteransDay", "christmas_day": "christmasDay", }); }); export function federalHolidaysFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FederalHolidays$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FederalHolidays' from JSON`, ); } /** @internal */ export const HolidayPayPolicyEmployees$inboundSchema: z.ZodType< HolidayPayPolicyEmployees, z.ZodTypeDef, unknown > = z.object({ uuid: z.string().optional(), }); export function holidayPayPolicyEmployeesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => HolidayPayPolicyEmployees$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'HolidayPayPolicyEmployees' from JSON`, ); } /** @internal */ export const HolidayPayPolicy$inboundSchema: z.ZodType< HolidayPayPolicy, z.ZodTypeDef, unknown > = z.object({ version: z.string(), company_uuid: z.string(), federal_holidays: z.lazy(() => FederalHolidays$inboundSchema), employees: z.array(z.lazy(() => HolidayPayPolicyEmployees$inboundSchema)), }).transform((v) => { return remap$(v, { "company_uuid": "companyUuid", "federal_holidays": "federalHolidays", }); }); export function holidayPayPolicyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => HolidayPayPolicy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'HolidayPayPolicy' from JSON`, ); }