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; type _QueryDeepPartialEntity = { [Property in keyof Entity]?: (Entity[Property] extends Seen ? Entity[Property] : Entity[Property] extends Array ? Array<_QueryDeepPartialEntity> : Entity[Property] extends ReadonlyArray ? ReadonlyArray<_QueryDeepPartialEntity> : _QueryDeepPartialEntity) | (() => string); }; export {};