json-api-nestjs
Version:
JsonApi Plugin for NestJs
20 lines (19 loc) • 20.7 kB
TypeScript
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 {};