56 lines
2.5 KiB
TypeScript
56 lines
2.5 KiB
TypeScript
import { AbstractClass, Class } from "type-fest"
|
|
import { z } from "zod"
|
|
|
|
|
|
export type ZodSchemaClass<
|
|
Instance extends Values,
|
|
|
|
SchemaT extends z.ZodRawShape,
|
|
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaCatchall extends z.ZodTypeAny,
|
|
|
|
SchemaWithDefaultValuesT extends z.ZodRawShape,
|
|
SchemaWithDefaultValuesUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaWithDefaultValuesCatchall extends z.ZodTypeAny,
|
|
|
|
Values extends object,
|
|
PartialValues extends Partial<Values>,
|
|
> = (
|
|
Class<Instance, [values: Values]> &
|
|
ZodSchemas<SchemaT, SchemaUnknownKeys, SchemaCatchall, SchemaWithDefaultValuesT, SchemaWithDefaultValuesUnknownKeys, SchemaWithDefaultValuesCatchall, Values, PartialValues>
|
|
)
|
|
|
|
export type ZodSchemaAbstractClass<
|
|
Instance extends Values,
|
|
|
|
SchemaT extends z.ZodRawShape,
|
|
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaCatchall extends z.ZodTypeAny,
|
|
|
|
SchemaWithDefaultValuesT extends z.ZodRawShape,
|
|
SchemaWithDefaultValuesUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaWithDefaultValuesCatchall extends z.ZodTypeAny,
|
|
|
|
Values extends object,
|
|
PartialValues extends Partial<Values>,
|
|
> = (
|
|
AbstractClass<Instance, [values: Values]> &
|
|
ZodSchemas<SchemaT, SchemaUnknownKeys, SchemaCatchall, SchemaWithDefaultValuesT, SchemaWithDefaultValuesUnknownKeys, SchemaWithDefaultValuesCatchall, Values, PartialValues>
|
|
)
|
|
|
|
export type ZodSchemas<
|
|
SchemaT extends z.ZodRawShape,
|
|
SchemaUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaCatchall extends z.ZodTypeAny,
|
|
|
|
SchemaWithDefaultValuesT extends z.ZodRawShape,
|
|
SchemaWithDefaultValuesUnknownKeys extends z.UnknownKeysParam,
|
|
SchemaWithDefaultValuesCatchall extends z.ZodTypeAny,
|
|
|
|
Values extends object,
|
|
PartialValues extends Partial<Values>,
|
|
> = {
|
|
readonly schema: z.ZodObject<SchemaT, SchemaUnknownKeys, SchemaCatchall, Values, Values>
|
|
readonly schemaWithDefaultValues: z.ZodObject<SchemaWithDefaultValuesT, SchemaWithDefaultValuesUnknownKeys, SchemaWithDefaultValuesCatchall, Values, PartialValues>
|
|
}
|