cogsbox-shape
Version:
A TypeScript library for creating type-safe database schemas with Zod validation, SQL type definitions, and automatic client/server transformations. Unifies client, server, and database types through a single schema definition, with built-in support for r
1,093 lines • 169 kB
TypeScript
import { z } from "zod";
export declare const petSchema: {
_tableName: string;
id: {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: string;
zodClientSchema: z.ZodUnion<[z.ZodNumber, z.ZodNumber]>;
zodValidationSchema: z.ZodString;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
name: {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: z.ZodString;
zodValidationSchema: z.ZodString;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
client: z.ZodString;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: z.ZodString;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: z.ZodString;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
}) => TClientNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: z.ZodString;
zodValidationSchema: z.ZodString;
} & {
transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
};
};
};
initialState: {
<TDefaultNext>(defaultValue: () => TDefaultNext): {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: z.ZodString;
zodValidationSchema: z.ZodString;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
client: z.ZodString;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: z.ZodString;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: z.ZodString;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
}) => TClientNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: z.ZodString;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: TDefaultNext;
zodClientSchema: z.ZodString;
zodValidationSchema: z.ZodString;
} & {
transforms: {
toClient: (dbValue: string) => string;
toDb: (clientValue: string) => string;
};
};
};
};
<TNewNext extends z.ZodTypeAny, TDefaultNext>(schema: TNewNext | ((tools: {
sql: z.ZodString;
}) => TNewNext), defaultValue: () => TDefaultNext): {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
zodValidationSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: TNewNext;
client: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>) => string;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodString;
initialState: TNewNext;
}) => TClientNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodString;
initialState: TNewNext;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => string;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: string) => z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>) => string;
}) => {
config: {
sql: {
type: "varchar";
length: number;
};
zodSqlSchema: z.ZodString;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
zodValidationSchema: z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>;
} & {
transforms: {
toClient: (dbValue: string) => z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends string ? TNewNext : z.ZodUnion<[z.ZodString, TNewNext]>>) => string;
};
};
};
};
};
};
userId: {
type: "reference";
to: () => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: z.ZodNumber;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
}) => TClientNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
initialState: {
<TDefaultNext>(defaultValue: () => TDefaultNext): {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: z.ZodNumber;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
}) => TClientNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: TDefaultNext;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
};
<TNewNext extends z.ZodTypeAny, TDefaultNext>(schema: TNewNext | ((tools: {
sql: z.ZodNumber;
}) => TNewNext), defaultValue: () => TDefaultNext): {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
zodValidationSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: TNewNext;
client: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>) => number;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodNumber;
initialState: TNewNext;
}) => TClientNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: TNewNext;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: TNewNext;
initialValue: z.TypeOf<TNewNext>;
zodClientSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
zodValidationSchema: z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>;
toDb: (clientValue: z.TypeOf<z.TypeOf<TNewNext> extends number ? TNewNext : z.ZodUnion<[z.ZodNumber, TNewNext]>>) => number;
};
};
};
};
};
};
};
fluffynessScale: {
config: {
sql: {
type: "text";
};
zodSqlSchema: z.ZodString;
zodNewSchema: z.ZodString;
initialValue: string;
zodClientSchema: z.ZodArray<z.ZodEnum<["bald", "fuzzy", "fluffy", "poof"]>, "many">;
zodValidationSchema: z.ZodArray<z.ZodEnum<["bald", "fuzzy", "fluffy", "poof"]>, "many">;
} & {
transforms: {
toClient: (dbValue: string) => ("bald" | "fuzzy" | "fluffy" | "poof")[];
toDb: (clientValue: ("bald" | "fuzzy" | "fluffy" | "poof")[]) => string;
};
};
};
favourite: {
config: {
sql: {
type: "int";
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodBoolean;
zodValidationSchema: z.ZodBoolean;
} & {
transforms: {
toClient: (dbValue: number) => boolean;
toDb: (clientValue: boolean) => number;
};
};
};
};
export declare const userSchema: {
_tableName: string;
id: {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: z.ZodNumber;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
};
};
};
};
client: <TClientNext extends z.ZodTypeAny>(schema: TClientNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
}) => TClientNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
};
validation: <TValidationNext extends z.ZodTypeAny>(schema: TValidationNext | ((tools: {
sql: z.ZodNumber;
initialState: z.ZodNumber;
client: TClientNext;
}) => TValidationNext)) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TValidationNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: TClientNext;
zodValidationSchema: TClientNext;
} & {
transforms: {
toClient: (dbValue: number) => z.TypeOf<TClientNext>;
toDb: (clientValue: z.TypeOf<TClientNext>) => number;
};
};
};
};
transform: (transforms: {
toClient: (dbValue: number) => number;
toDb: (clientValue: number) => number;
}) => {
config: {
sql: {
type: "int";
pk: true;
};
zodSqlSchema: z.ZodNumber;
zodNewSchema: z.ZodNumber;
initialValue: number;
zodClientSchema: z.ZodNumber;
zodValidationSchema: z.ZodNumber;
} & {
transforms: {
toClient: (dbValue: num