import { ObjectLiteral } from "../common/ObjectLiteral" /** * Make all properties in T optional */ export type QueryPartialEntity = { [P in keyof T]?: T[P] | (() => string) } /** * Make all properties in T optional. Deep version. */ export type QueryDeepPartialEntity = _QueryDeepPartialEntity< ObjectLiteral extends T ? unknown : T > type _QueryDeepPartialEntity = { [P in keyof T]?: | (T[P] extends Array ? Array<_QueryDeepPartialEntity> : T[P] extends ReadonlyArray ? ReadonlyArray<_QueryDeepPartialEntity> : _QueryDeepPartialEntity) | (() => string) }