@react-firebase/firestore
Version:
Efficiently Render & mutate Firestore data in your react(or react-native) app.
25 lines (24 loc) • 1.37 kB
TypeScript
import * as React from "react";
import { Transaction, SetOptions, DocumentData, Precondition, DocumentSnapshot } from "@google-cloud/firestore";
import { FirestoreProviderState, FirestoreQuery } from "../types";
export declare type FirestoreTranasactionWithContextProps = FirestoreProviderState & FirestoreTranasactionProps;
export declare type TransactionLogic = (t: {
transaction: Transaction;
get: (query: FirestoreQuery) => Promise<DocumentSnapshot>;
update: (path: string, value: any) => Promise<Transaction>;
set: (path: string, value: DocumentData, options?: SetOptions) => Promise<Transaction>;
fDelete: (path: string, precondition?: Precondition) => Promise<Transaction>;
}) => Promise<any>;
export declare class FirestoreTranasactionWithContext extends React.Component<FirestoreTranasactionWithContextProps> {
createTransactionRunner: () => (transactionLogic: TransactionLogic) => Promise<void>;
shouldComponentUpdate(nextProps: FirestoreTranasactionWithContextProps): boolean;
render(): any;
}
export declare type FirestoreTranasactionProps = {
children: ({ runTransaction }: {
runTransaction: (t: TransactionLogic) => Promise<any>;
}) => React.ReactNode;
};
export declare class FirestoreTransaction extends React.Component<FirestoreTranasactionProps> {
render(): JSX.Element;
}