relax-orm
Version:
ORM for OracleDB
30 lines (29 loc) • 924 B
TypeScript
import { Entity } from '..';
import { ResultOrder } from '../enum/result-order.type';
export declare type ResultOrderType = [string, keyof typeof ResultOrder];
export declare type PrimitiveTypes = string | number | boolean | typeof Date;
export declare type OracleBindType = {
dir?: number;
type?: number;
maxSize?: number;
};
export declare type MapperObject = {
[key: string]: PrimitiveTypes | OracleBindType;
};
export interface IFindOptions<T> {
where?: WhereOptions<T>;
order?: ResultOrderType[];
limit?: number;
offset?: number;
logging?: boolean;
include?: Array<typeof Entity>;
}
export declare type WhereOptions<T> = {
[P in keyof T]?: PrimitiveTypes | WhereLogic<T> | WhereOptions<T[P]> | WhereOptions<T>[];
};
export declare type WhereLogic<T> = Partial<{
$eq: PrimitiveTypes;
$in: PrimitiveTypes[];
$or: WhereOptions<T>[];
$and: WhereOptions<T>[];
}>;