diff --git a/src/ZodSchemaClass.ts b/src/ZodSchemaClass.ts index fee8c37..7de5ed8 100644 --- a/src/ZodSchemaClass.ts +++ b/src/ZodSchemaClass.ts @@ -6,6 +6,7 @@ import { ZodSchemaAbstractClass } from "./shapes/ZodSchemaClass" import { DejsonifiableZodSchemaObject } from "./traits/DejsonifiableZodSchemaObject" import { ExtendableZodSchemaObject } from "./traits/ExtendableZodSchemaObject" import { InstantiableZodSchemaObject } from "./traits/InstantiableZodSchemaObject" +import { JsonifiableZodSchemaObject } from "./traits/JsonifiableZodSchemaObject" import { Extend, StaticMembers } from "./util" @@ -62,12 +63,8 @@ extends TraitExpressionBuilder { InstanceType & Values, ConstructorParameters > & - Simplify< - Extend<[ - StaticMembers, - StaticMembers, - ]> - > + StaticMembers & + StaticMembers ), [ @@ -128,14 +125,24 @@ extends TraitExpressionBuilder { class JsonifiableSchemas extends (this.expressionSuperclass as AbstractClass) { static readonly jsonifySchema = jsonifySchema + readonly jsonifySchema = jsonifySchema static readonly dejsonifySchema = dejsonifySchema + readonly dejsonifySchema = dejsonifySchema } return new ZodSchemaClassBuilder( - JsonifiableSchemas as unknown as Superclass & StaticMembers, + JsonifiableSchemas as unknown as ( + AbstractClass< + InstanceType & JsonifiableSchemas, + ConstructorParameters + > & + StaticMembers & + StaticMembers + ), [ ...this.expressionTraits, + JsonifiableZodSchemaObject, DejsonifiableZodSchemaObject, ], ) diff --git a/src/tests.ts b/src/tests.ts index 52cc5cc..36fbdd6 100644 --- a/src/tests.ts +++ b/src/tests.ts @@ -35,6 +35,7 @@ class User extends exp.extends implements Implements {} User.defaultValues const inst = User.create({ id: 1n, name: "" }) console.log(inst) +inst.jsonify() class SubTest extends User.extend({