makeJsonifiableSchemableClass
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-15 11:05:44 +01:00
parent b78ce499da
commit 354454f76c
3 changed files with 129 additions and 14 deletions

View File

@@ -3,14 +3,16 @@ import { z } from "zod"
import { StaticMembers } from "./util"
type MakeSchemableClassFromInputClass = AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
}
export function makeSchemableClassFrom<
C extends AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
},
C extends MakeSchemableClassFromInputClass,
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
@@ -87,13 +89,7 @@ export function createMakeSchemableClassFromUnary<
defaultValues: DefaultValues,
) {
return <
C extends AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
}
C extends MakeSchemableClassFromInputClass
>(extend: C) =>
makeSchemableClassFrom(extend, schema, defaultValues)
}