Prevent makeSchemableClassFrom from being used with schemables
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Julien Valverdé
2024-01-11 03:39:41 +01:00
parent a9e53be440
commit b6bbda1246

View File

@@ -4,7 +4,13 @@ import { StaticMembers } from "./util"
export function makeSchemableClassFrom<
C extends AbstractClass<any, []>,
C extends AbstractClass<{
schema?: never
defaultValues?: never
}, []> & {
schema?: never
defaultValues?: never
},
SchemaT extends z.ZodRawShape,
SchemaUnknownKeys extends z.UnknownKeysParam,
@@ -44,7 +50,7 @@ export function makeSchemableClassFrom<
}
} as unknown as (
Class<
Omit<InstanceType<C>, "schema" | "defaultValues"> &
InstanceType<C> &
{
readonly schema: typeof schema,
readonly defaultValues: typeof defaultValues,
@@ -54,7 +60,7 @@ export function makeSchemableClassFrom<
Parameters<(values: Values) => void>
> &
Omit<StaticMembers<C>, "schema" | "defaultValues"> &
StaticMembers<C> &
{
readonly schema: typeof schema,
readonly defaultValues: typeof defaultValues,