transaction.d.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { DocumentReference } from './document';
  2. import { Db } from './index';
  3. declare class DocumentSnapshot {
  4. private _data;
  5. requestId: string;
  6. constructor(data: any, requestId: any);
  7. data(): any;
  8. }
  9. export declare class Transaction {
  10. private _id;
  11. private _db;
  12. private _request;
  13. constructor(db: Db);
  14. init(): Promise<void>;
  15. get(documentRef: DocumentReference): Promise<DocumentSnapshot>;
  16. set(documentRef: DocumentReference, data: Object): Promise<SetResult>;
  17. update(documentRef: DocumentReference, data: Object): Promise<UpdateResult>;
  18. delete(documentRef: DocumentReference): Promise<DeleteResult>;
  19. commit(): Promise<CommitResult>;
  20. rollback(): Promise<RollbackResult>;
  21. }
  22. export declare function startTransaction(): Promise<Transaction>;
  23. export declare function runTransaction(callback: (transaction: Transaction) => void | Promise<any>, times?: number): Promise<void>;
  24. declare type JsonString = string;
  25. interface CommitResult {
  26. requestId: string;
  27. }
  28. interface RollbackResult {
  29. requestId: string;
  30. }
  31. interface UpdateResult {
  32. requestId: string;
  33. updated: number;
  34. }
  35. interface SetResult extends UpdateResult {
  36. upserted: JsonString;
  37. }
  38. interface DeleteResult {
  39. requestId: string;
  40. deleted: number | string;
  41. }
  42. export {};