Something went wrong. Try again.
A functional toolkit for authoring resource-leveling algorithms — compose constraint and scoring blocks, enumerate feasible schedules
Something went wrong. Try again.
123456789101112131415161718import { z } from "zod";
import { Duration } from "../model/Duration.ts";import { TimeUnitSchema } from "./types.ts";
export const DurationRawSchema = z.object({ duration: z.number(), units: TimeUnitSchema,});
export const DurationSchema = DurationRawSchema.transform((val) => Duration.from(val.duration, val.units),);
export const NullableDurationSchema = z .nullable(DurationRawSchema) .transform((val) => (val ? Duration.from(val.duration, val.units) : null));