import type { ObjectId } from "../driver/mongodb/typings"; /** * A single property handler for FindOptionsSelect. */ export type FindOptionsSelectProperty = Property extends Promise ? FindOptionsSelectProperty | boolean : Property extends Array ? FindOptionsSelectProperty | boolean : Property extends string ? boolean : Property extends number ? boolean : Property extends boolean ? boolean : Property extends Function ? never : Property extends Uint8Array ? boolean : Property extends Date ? boolean : Property extends ObjectId ? boolean : Property extends object ? FindOptionsSelect | boolean : boolean; /** * Select find options. */ export type FindOptionsSelect = { [P in keyof Entity]?: P extends "toString" ? unknown : FindOptionsSelectProperty>; };