nowjs-core
Version:
NowCanDo Javascript Core [nowjs-core] is a library written by TypeScript code maintains under Apache 2.0 licence
20 lines (19 loc) • 811 B
TypeScript
import { IRepository, Predicate, Selector } from '../../core/index';
import { IQueryExpression } from '../IQueryExression';
import { IDbCommandExecutePlan } from './IDbCommandExecutePlan';
import { IDbQueryPagedResult } from './IDbQueryPagedResult';
export interface DbQueryOptions<T> {
query: string | Predicate<T> | IQueryExpression<T>;
pageSize?: number;
pageIndex?: number;
selectBy?: string[] | Array<Selector<T>>;
groupBy?: string[] | Array<Selector<T>>;
sortBy: {
[fieldname: string]: 'asc' | 'desc';
};
}
export interface IDbRepository<T, TSource, TDb> extends IRepository<T> {
getSource(dbName?: string): Promise<TSource>;
getDb(dbName?: string): Promise<TDb>;
query(options: DbQueryOptions<T>): Promise<IDbQueryPagedResult<T, IDbCommandExecutePlan>>;
}