UNPKG

@react-firebase/firestore

Version:

Efficiently Render & mutate Firestore data in your react(or react-native) app.

25 lines (24 loc) 1.37 kB
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; }