UNPKG

json-api-nestjs

Version:
20 lines (19 loc) 20.7 kB
import { EntityProps, TypeOfArray } from '../../../../utils/nestjs-shared'; import { z } from 'zod'; import { ObjectLiteral } from '../../../../types'; import { FieldWithType, PropsFieldItem, PropsForField, TypeField } from '../../types'; declare const literalSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>; type Literal = z.infer<typeof literalSchema>; type Json = Literal | { [key: string]: Json; } | Json[]; declare function getZodRulesForNumber(isNullable: boolean): z.ZodEffects<z.ZodNumber, number, unknown> | z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>; declare function getZodRulesForString(isNullable: boolean): z.ZodString | z.ZodOptional<z.ZodString>; declare function getZodRulesForDate(isNullable: boolean): z.ZodDate | z.ZodOptional<z.ZodDate>; declare function getZodRulesForBoolean(isNullable: boolean): z.ZodBoolean | z.ZodOptional<z.ZodBoolean>; declare function getZodSchemaForJson(isNullable: boolean): z.ZodType<Json, z.ZodTypeDef, Json> | z.ZodOptional<z.ZodType<Json, z.ZodTypeDef, Json>>; type ZodRulesForArray<T> = T extends number ? ReturnType<typeof getZodRulesForNumber> : T extends Date ? ReturnType<typeof getZodRulesForDate> : T extends boolean ? ReturnType<typeof getZodRulesForBoolean> : ReturnType<typeof getZodRulesForString>; export declare function zodAttributes<E extends ObjectLiteral, S extends true | false = false>(fieldWithType: FieldWithType<E>, propsDb: PropsForField<E>, primaryColumn: EntityProps<E>, isPatch: S): z.ZodEffects<z.ZodObject<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>, any> extends infer T_2 ? { [k_1 in keyof T_2]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>, any>[k_1]; } : never, z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never> extends infer T_3 ? { [k_2 in keyof T_3]: z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>[k_2]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>, any> extends infer T_2 ? { [k_1 in keyof T_2]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>, any>[k_1]; } : never, z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never> extends infer T_3 ? { [k_2 in keyof T_3]: z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; } extends infer T extends z.ZodRawShape ? { [k in keyof T]: z.ZodOptional<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }[k]>; } : never>[k_2]; } : never> | z.ZodEffects<z.ZodObject<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>, any> extends infer T_4 ? { [k_3 in keyof T_4]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>, any>[k_3]; } : never, z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }> extends infer T_5 ? { [k_4 in keyof T_5]: z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>[k_4]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>, any> extends infer T_4 ? { [k_3 in keyof T_4]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>, any>[k_3]; } : never, z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }> extends infer T_5 ? { [k_4 in keyof T_5]: z.baseObjectInputType<{ [K in keyof Omit<FieldWithType<E>, keyof EntityProps<E>>]: ReturnType<FieldWithType<E>[K] extends infer T_1 ? T_1 extends FieldWithType<E>[K] ? T_1 extends TypeField.array ? (propsField: PropsFieldItem) => z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many"> | z.ZodNullable<z.ZodArray<ZodRulesForArray<TypeOfArray<E[K]>>, "many">> : T_1 extends TypeField.date ? typeof getZodRulesForDate : T_1 extends TypeField.boolean ? typeof getZodRulesForBoolean : T_1 extends TypeField.number ? typeof getZodRulesForNumber : T_1 extends TypeField.object ? typeof getZodSchemaForJson : typeof getZodRulesForString : never : never>; }>[k_4]; } : never>; export type ZodAttributes<E extends ObjectLiteral, K extends true | false = false> = ReturnType<typeof zodAttributes<E, K>>; export type Attributes<E extends ObjectLiteral, K extends true | false = false> = z.infer<ZodAttributes<E, K>>; export {};