From 70123251e27f8edff0e90dc10faeb7a741eeffb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Thu, 18 Jan 2024 00:23:22 +0100 Subject: [PATCH] AssignmentFile => Migrate to zod format --- types/Dojo/AssignmentFile.ts | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/types/Dojo/AssignmentFile.ts b/types/Dojo/AssignmentFile.ts index 61c826c..71e8c0d 100644 --- a/types/Dojo/AssignmentFile.ts +++ b/types/Dojo/AssignmentFile.ts @@ -1,16 +1,19 @@ -import ImmutableFileDescriptor from './ImmutableFileDescriptor'; +import { ImmutableFileDescriptor, immutableFileDescriptorSchema } from './ImmutableFileDescriptor'; +import { z } from 'zod'; -interface AssignmentFile { - dojoAssignmentVersion: number, - version: number, +const AssignmentFile = z.object({ + dojoAssignmentVersion: z.number(), + version : z.number(), + immutable : z.array(immutableFileDescriptorSchema.transform(value => value as ImmutableFileDescriptor)), + result : z.object({ + container: z.string(), + volume : z.string().optional() + }) + }).strict(); - immutable: Array<ImmutableFileDescriptor> - result: { - container: string, volume?: string - } -} +type AssignmentFile = z.infer<typeof AssignmentFile>; export default AssignmentFile; \ No newline at end of file -- GitLab