query.d.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { OrderByDirection } from './constant';
  2. import { IWatchOptions, DBRealtimeListener } from './typings/index';
  3. interface GetRes {
  4. data: any[];
  5. requestId: string;
  6. total: number;
  7. limit: number;
  8. offset: number;
  9. }
  10. interface BaseOption {
  11. timeout?: number;
  12. }
  13. export interface QueryOption extends BaseOption {
  14. limit?: number;
  15. offset?: number;
  16. projection?: Object;
  17. order?: Record<string, any>[];
  18. }
  19. export interface UpdateOption extends BaseOption {
  20. multiple?: boolean;
  21. }
  22. export declare class Query {
  23. protected _transactionId: string;
  24. get(): Promise<GetRes>;
  25. count(): Promise<any>;
  26. where(query: object): Query;
  27. options(apiOptions: QueryOption | UpdateOption): Query;
  28. orderBy(fieldPath: string, directionStr: OrderByDirection): Query;
  29. limit(limit: number): Query;
  30. skip(offset: number): Query;
  31. update(data: Object): Promise<any>;
  32. field(projection: any): Query;
  33. remove(): Promise<any>;
  34. updateAndReturn(data: Object): Promise<any>;
  35. watch: (options: IWatchOptions) => DBRealtimeListener;
  36. }
  37. export {};