UNPKG

json-api-nestjs

Version:
478 lines (477 loc) 24 kB
import { z } from 'zod'; import { KebabCase } from '../../../../utils/nestjs-shared'; import { ObjectLiteral } from '../../../../types'; import { RelationPropsArray, RelationPropsTypeName, RelationPrimaryColumnType, TypeForId } from '../../types'; declare function getZodResultData<K extends string, P extends TypeForId, T extends true | false = false>(typeName: K, primaryType: P, isPatch: T): z.ZodOptional<z.ZodObject<{ data: z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never> | z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>; }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ data: z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never> | z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>; }>, any> extends infer T_3 ? { [k_2 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ data: z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never> | z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>; }>, any>[k_2]; } : never, z.baseObjectInputType<{ data: z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never> | z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>; }> extends infer T_4 ? { [k_3 in keyof T_4]: z.baseObjectInputType<{ data: z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never> | z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>; }>[k_3]; } : never>>; declare function getZodResultDataArray<K extends string, P extends TypeForId, T extends true | false = false>(typeName: K, primaryType: P, isPatch: T): z.ZodOptional<z.ZodObject<{ data: z.ZodArray<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, "many"> | z.ZodArray<z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>, "many"> | z.ZodArray<z.ZodNullable<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>>, "atleastone"> | z.ZodArray<z.ZodEffects<z.ZodObject<{ id: z.ZodString; type: z.ZodLiteral<K>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never>, "atleastone">; }, "strip", z.ZodTypeAny, { data: (z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never)[] | ((z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never) | null)[] | [(z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never) | null, ...((z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never) | null)[]] | [z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never, ...(z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>, any>[k]; } : never)[]]; }, { data: (z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never)[] | ((z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never) | null)[] | [(z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never) | null, ...((z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never) | null)[]] | [z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never, ...(z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{ id: z.ZodString; type: z.ZodLiteral<K>; }>[k_1]; } : never)[]]; }>>; type ZodResultData<K extends string, P extends TypeForId, I extends boolean, T extends true | false = false> = I extends true ? ReturnType<typeof getZodResultDataArray<K, P, T>> : ReturnType<typeof getZodResultData<K, P, T>>; export declare function zodRelationships<E extends ObjectLiteral, S extends true | false = false>(relationArrayProps: RelationPropsArray<E>, relationPopsName: RelationPropsTypeName<E>, primaryColumnType: RelationPrimaryColumnType<E>, isPatch: S): z.ZodEffects<z.ZodObject<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }, "strict", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>, any>[k]; } : never, z.baseObjectInputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>[k_1]; } : never>, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>, any>[k]; } : never, z.baseObjectInputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{ [K in keyof RelationPropsArray<E>]: ZodResultData<KebabCase<RelationPropsTypeName<E>[K]>, RelationPrimaryColumnType<E>[K], RelationPropsArray<E>[K], S>; }>[k_1]; } : never>; export type ZodRelationships<T extends ObjectLiteral, K extends true | false = false> = ReturnType<typeof zodRelationships<T, K>>; export type Relationships<T extends ObjectLiteral, K extends true | false = false> = z.infer<ZodRelationships<T, K>>; export {};