This commit is contained in:
@@ -6,61 +6,6 @@ import { SchemableClass } from ".."
|
|||||||
import { StaticMembers, parseZodTypeEffect } from "../util"
|
import { StaticMembers, parseZodTypeEffect } from "../util"
|
||||||
|
|
||||||
|
|
||||||
export type MakeJsonifiableSchemableClassProps<
|
|
||||||
SchemaT extends z.ZodRawShape,
|
|
||||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
SchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
Values extends {},
|
|
||||||
|
|
||||||
JsonifySchemaT extends z.ZodRawShape,
|
|
||||||
JsonifySchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
JsonifySchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
DejsonifySchemaT extends z.ZodRawShape,
|
|
||||||
DejsonifySchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
DejsonifySchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
JsonifiedValues extends JsonifiableObject,
|
|
||||||
> = {
|
|
||||||
jsonifySchema: (props: {
|
|
||||||
schema: z.ZodObject<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
Values,
|
|
||||||
Values
|
|
||||||
>
|
|
||||||
|
|
||||||
shape: SchemaT
|
|
||||||
}) => z.ZodObject<
|
|
||||||
JsonifySchemaT,
|
|
||||||
JsonifySchemaUnknownKeys,
|
|
||||||
JsonifySchemaCatchall,
|
|
||||||
JsonifiedValues,
|
|
||||||
Values
|
|
||||||
>
|
|
||||||
|
|
||||||
dejsonifySchema: (props: {
|
|
||||||
schema: z.ZodObject<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
Values,
|
|
||||||
Values
|
|
||||||
>
|
|
||||||
|
|
||||||
shape: SchemaT
|
|
||||||
}) => z.ZodObject<
|
|
||||||
DejsonifySchemaT,
|
|
||||||
DejsonifySchemaUnknownKeys,
|
|
||||||
DejsonifySchemaCatchall,
|
|
||||||
Values,
|
|
||||||
JsonifiedValues
|
|
||||||
>
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export function makeJsonifiableSchemableClass<
|
export function makeJsonifiableSchemableClass<
|
||||||
C extends SchemableClass<
|
C extends SchemableClass<
|
||||||
SchemaT,
|
SchemaT,
|
||||||
@@ -95,23 +40,43 @@ export function makeJsonifiableSchemableClass<
|
|||||||
DefaultValues
|
DefaultValues
|
||||||
>,
|
>,
|
||||||
|
|
||||||
props: MakeJsonifiableSchemableClassProps<
|
props: {
|
||||||
|
jsonifySchema: (props: {
|
||||||
|
schema: z.ZodObject<
|
||||||
SchemaT,
|
SchemaT,
|
||||||
SchemaUnknownKeys,
|
SchemaUnknownKeys,
|
||||||
SchemaCatchall,
|
SchemaCatchall,
|
||||||
|
|
||||||
Values,
|
Values,
|
||||||
|
Values
|
||||||
|
>
|
||||||
|
|
||||||
|
shape: SchemaT
|
||||||
|
}) => z.ZodObject<
|
||||||
JsonifySchemaT,
|
JsonifySchemaT,
|
||||||
JsonifySchemaUnknownKeys,
|
JsonifySchemaUnknownKeys,
|
||||||
JsonifySchemaCatchall,
|
JsonifySchemaCatchall,
|
||||||
|
JsonifiedValues,
|
||||||
|
Values
|
||||||
|
>
|
||||||
|
|
||||||
|
dejsonifySchema: (props: {
|
||||||
|
schema: z.ZodObject<
|
||||||
|
SchemaT,
|
||||||
|
SchemaUnknownKeys,
|
||||||
|
SchemaCatchall,
|
||||||
|
Values,
|
||||||
|
Values
|
||||||
|
>
|
||||||
|
|
||||||
|
shape: SchemaT
|
||||||
|
}) => z.ZodObject<
|
||||||
DejsonifySchemaT,
|
DejsonifySchemaT,
|
||||||
DejsonifySchemaUnknownKeys,
|
DejsonifySchemaUnknownKeys,
|
||||||
DejsonifySchemaCatchall,
|
DejsonifySchemaCatchall,
|
||||||
|
Values,
|
||||||
JsonifiedValues
|
JsonifiedValues
|
||||||
>,
|
>
|
||||||
|
},
|
||||||
) {
|
) {
|
||||||
type Class<T, Arguments extends unknown[]> = (
|
type Class<T, Arguments extends unknown[]> = (
|
||||||
C extends ConcreteClass<any>
|
C extends ConcreteClass<any>
|
||||||
@@ -167,59 +132,3 @@ export function makeJsonifiableSchemableClass<
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export function pipeMakeJsonifiableSchemableClass<
|
|
||||||
SchemaT extends z.ZodRawShape,
|
|
||||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
SchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
Values extends {},
|
|
||||||
DefaultValues extends Partial<Values>,
|
|
||||||
|
|
||||||
JsonifySchemaT extends z.ZodRawShape,
|
|
||||||
JsonifySchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
JsonifySchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
DejsonifySchemaT extends z.ZodRawShape,
|
|
||||||
DejsonifySchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
DejsonifySchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
JsonifiedValues extends JsonifiableObject,
|
|
||||||
>(
|
|
||||||
props: MakeJsonifiableSchemableClassProps<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
|
|
||||||
Values,
|
|
||||||
|
|
||||||
JsonifySchemaT,
|
|
||||||
JsonifySchemaUnknownKeys,
|
|
||||||
JsonifySchemaCatchall,
|
|
||||||
|
|
||||||
DejsonifySchemaT,
|
|
||||||
DejsonifySchemaUnknownKeys,
|
|
||||||
DejsonifySchemaCatchall,
|
|
||||||
|
|
||||||
JsonifiedValues
|
|
||||||
>
|
|
||||||
) {
|
|
||||||
return <
|
|
||||||
C extends SchemableClass<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
Values,
|
|
||||||
DefaultValues
|
|
||||||
>
|
|
||||||
>(
|
|
||||||
extend: C | SchemableClass<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
Values,
|
|
||||||
DefaultValues
|
|
||||||
>
|
|
||||||
) => makeJsonifiableSchemableClass(extend, props)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -3,16 +3,14 @@ import { z } from "zod"
|
|||||||
import { StaticMembers } from "./util"
|
import { StaticMembers } from "./util"
|
||||||
|
|
||||||
|
|
||||||
type MakeSchemableClassFromInputClass = AbstractClass<{
|
|
||||||
schema?: never
|
|
||||||
defaultValues?: never
|
|
||||||
}, []> & {
|
|
||||||
schema?: never
|
|
||||||
defaultValues?: never
|
|
||||||
}
|
|
||||||
|
|
||||||
export function makeSchemableClassFrom<
|
export function makeSchemableClassFrom<
|
||||||
C extends MakeSchemableClassFromInputClass,
|
C extends AbstractClass<{
|
||||||
|
schema?: never
|
||||||
|
defaultValues?: never
|
||||||
|
}, []> & {
|
||||||
|
schema?: never
|
||||||
|
defaultValues?: never
|
||||||
|
},
|
||||||
|
|
||||||
SchemaT extends z.ZodRawShape,
|
SchemaT extends z.ZodRawShape,
|
||||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
SchemaUnknownKeys extends z.UnknownKeysParam,
|
||||||
@@ -70,30 +68,6 @@ export function makeSchemableClassFrom<
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createMakeSchemableClassFromUnary<
|
|
||||||
SchemaT extends z.ZodRawShape,
|
|
||||||
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
||||||
SchemaCatchall extends z.ZodTypeAny,
|
|
||||||
|
|
||||||
Values extends {},
|
|
||||||
DefaultValues extends Partial<Values>,
|
|
||||||
>(
|
|
||||||
schema: z.ZodObject<
|
|
||||||
SchemaT,
|
|
||||||
SchemaUnknownKeys,
|
|
||||||
SchemaCatchall,
|
|
||||||
Values,
|
|
||||||
Values
|
|
||||||
>,
|
|
||||||
|
|
||||||
defaultValues: DefaultValues,
|
|
||||||
) {
|
|
||||||
return <
|
|
||||||
C extends MakeSchemableClassFromInputClass
|
|
||||||
>(extend: C) =>
|
|
||||||
makeSchemableClassFrom(extend, schema, defaultValues)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export function makeSchemableClass<
|
export function makeSchemableClass<
|
||||||
SchemaT extends z.ZodRawShape,
|
SchemaT extends z.ZodRawShape,
|
||||||
|
|||||||
Reference in New Issue
Block a user