simplyfire
Version:
A lightweight firestore api for firebase cloud functions & Angular.
32 lines (31 loc) • 1.35 kB
TypeScript
import type { CollectionReference, DocumentData, DocumentSnapshot, FieldPath, OrderByDirection, Query, WhereFilterOp } from '@firebase/firestore-types';
declare type QueryWhere = [fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown];
declare type QueryOrderBy = [fieldPath: string | FieldPath, directionStr?: OrderByDirection];
declare type QueryLeftJoin = [idField: string, collection: string, alias: string];
declare type QueryCursor = [snapshot: DocumentSnapshot<unknown>] | unknown[];
export declare class QueryBuilder {
private _where;
private _orderBy;
private _leftJoins;
private _limit?;
private _limitToLast?;
private _startAt?;
private _startAfter?;
private _endAt?;
private _endBefore?;
get joins(): QueryLeftJoin[];
where(...where: QueryWhere): this;
orderBy(...orderBy: QueryOrderBy): this;
leftJoin(...leftJoin: QueryLeftJoin): void;
limit(limit: number): this;
limitToLast(limitToLast: number): this;
startAt(...startAt: QueryCursor): this;
startAfter(...startAfter: QueryCursor): this;
endAt(...endAt: QueryCursor): this;
endBefore(...endBefore: QueryCursor): this;
exec(ref: CollectionReference<DocumentData> | any, queryOps?: {
[key: string]: any;
}): Query<DocumentData> | any;
private execQueryForCloud;
}
export {};