From 07fb50d21dadc48499febe932f131409ee6fb627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Fri, 15 Mar 2024 03:40:48 +0100 Subject: [PATCH] ZodSchemaClass work --- src/ZodSchemaClass.ts | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/ZodSchemaClass.ts b/src/ZodSchemaClass.ts index 5b37763..2791794 100644 --- a/src/ZodSchemaClass.ts +++ b/src/ZodSchemaClass.ts @@ -3,6 +3,13 @@ import { z } from "zod" import { ZodSchemaObject } from "./lib" +class ZodSchemaObjectConstructor { + constructor(values: Values) { + Object.assign(this, values) + } +} + + export function ZodSchemaClass< SchemaT extends z.ZodRawShape, SchemaCatchall extends z.ZodTypeAny, @@ -20,16 +27,7 @@ export function ZodSchemaClass< ) => z.ZodObject } ) { - const schema = props.schema - const schemaWithDefaultValues = props.schemaWithDefaultValues(props.schema) - - abstract class ZodSchemaObjectConstructor { - constructor(values: Values) { - Object.assign(this, values) - } - } - return expression - .extends(ZodSchemaObjectConstructor) - .expresses(ZodSchemaObject(schema, schemaWithDefaultValues)) + .extends(ZodSchemaObjectConstructor) + .expresses(ZodSchemaObject(props.schema, props.schemaWithDefaultValues(props.schema))) }