workout-session-set.schema.ts 649 B

12345678910111213141516
  1. import { z } from "zod";
  2. export const workoutSessionSetSchema = z.object({
  3. id: z.string(),
  4. setIndex: z.number().int().min(0),
  5. type: z.enum(["TIME", "WEIGHT", "REPS", "BODYWEIGHT", "NA"]),
  6. types: z.array(z.enum(["TIME", "WEIGHT", "REPS", "BODYWEIGHT", "NA"])).optional(),
  7. valuesInt: z.array(z.number().int()).optional(),
  8. valueSec: z.number().int().min(0).max(59).optional(),
  9. valuesSec: z.array(z.number().int().min(0).max(59)).optional(),
  10. unit: z.enum(["kg", "lbs"]).optional(),
  11. units: z.array(z.enum(["kg", "lbs"])).optional(),
  12. completed: z.boolean(),
  13. });
  14. export type WorkoutSetInput = z.infer<typeof workoutSessionSetSchema>;