ZodSchemaClassBuilder.extends
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-02-24 02:21:42 +01:00
parent 466b51aa79
commit eb071bfe86

View File

@@ -1,4 +1,4 @@
import { Trait, TraitExpressionBuilder } from "@thilawyn/traitify-ts" import { Trait, TraitExpression, TraitExpressionBuilder } from "@thilawyn/traitify-ts"
import { AbstractClass } from "type-fest" import { AbstractClass } from "type-fest"
import { JsonifiableObject } from "type-fest/source/jsonifiable" import { JsonifiableObject } from "type-fest/source/jsonifiable"
import { z } from "zod" import { z } from "zod"
@@ -15,20 +15,18 @@ export class ZodSchemaClassBuilder<
const Traits extends Trait<any, any, any, any>[], const Traits extends Trait<any, any, any, any>[],
> >
extends TraitExpressionBuilder<Superclass, Traits> { extends TraitExpressionBuilder<Superclass, Traits> {
// extends< extends<
// This extends ZodSchemaClassBuilder< Super extends AbstractClass<object>
// typeof TraitExpression.NullSuperclass, // Ensures `extends` can only be called when the expression does not have a superclass >(
// Traits // \/ Ensures `extends` can only be called once at the beginning
// >, this: ZodSchemaClassBuilder<typeof TraitExpression.NullSuperclass, Traits>,
// Super extends AbstractClass<object, []>, superclass: Super,
// >( ) {
// this: This, return new ZodSchemaClassBuilder(
// superclass: Super, superclass,
// ) { this.expressionTraits,
// return new ZodSchemaClassBuilder( )
// this.expressionBuilder.extends(superclass) }
// )
// }
schema< schema<
Superclass extends AbstractClass<object, []> & { schema?: never, defaultValues?: never }, Superclass extends AbstractClass<object, []> & { schema?: never, defaultValues?: never },