ZodSchemaClassBuilder.extends
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -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 { JsonifiableObject } from "type-fest/source/jsonifiable"
|
||||
import { z } from "zod"
|
||||
@@ -15,20 +15,18 @@ export class ZodSchemaClassBuilder<
|
||||
const Traits extends Trait<any, any, any, any>[],
|
||||
>
|
||||
extends TraitExpressionBuilder<Superclass, Traits> {
|
||||
// extends<
|
||||
// This extends ZodSchemaClassBuilder<
|
||||
// typeof TraitExpression.NullSuperclass, // Ensures `extends` can only be called when the expression does not have a superclass
|
||||
// Traits
|
||||
// >,
|
||||
// Super extends AbstractClass<object, []>,
|
||||
// >(
|
||||
// this: This,
|
||||
// superclass: Super,
|
||||
// ) {
|
||||
// return new ZodSchemaClassBuilder(
|
||||
// this.expressionBuilder.extends(superclass)
|
||||
// )
|
||||
// }
|
||||
extends<
|
||||
Super extends AbstractClass<object>
|
||||
>(
|
||||
// \/ Ensures `extends` can only be called once at the beginning
|
||||
this: ZodSchemaClassBuilder<typeof TraitExpression.NullSuperclass, Traits>,
|
||||
superclass: Super,
|
||||
) {
|
||||
return new ZodSchemaClassBuilder(
|
||||
superclass,
|
||||
this.expressionTraits,
|
||||
)
|
||||
}
|
||||
|
||||
schema<
|
||||
Superclass extends AbstractClass<object, []> & { schema?: never, defaultValues?: never },
|
||||
|
||||
Reference in New Issue
Block a user