UNPKG

@react-native-firebase/firestore

Version:

React Native Firebase - Cloud Firestore is a NoSQL cloud database to store and sync data between your React Native application and Firebase's database. The API matches the Firebase Web SDK whilst taking advantage of the native SDKs performance and offline

230 lines (224 loc) 9.5 kB
import { FirebaseFirestoreTypes } from '../index'; import DocumentReference = FirebaseFirestoreTypes.DocumentReference; import DocumentSnapshot = FirebaseFirestoreTypes.DocumentSnapshot; import SnapshotListenOptions = FirebaseFirestoreTypes.SnapshotListenOptions; import QuerySnapshot = FirebaseFirestoreTypes.QuerySnapshot; import Query = FirebaseFirestoreTypes.Query; export type Unsubscribe = () => void; export type FirestoreError = Error; /** * Attaches a listener for `DocumentSnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param reference - A reference to the document to listen to. * @param observer - A single object containing `next` and `error` callbacks. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( reference: DocumentReference<T>, observer: { next?: (snapshot: DocumentSnapshot<T>) => void; error?: (error: FirestoreError) => void; complete?: () => void; }, ): Unsubscribe; /** * Attaches a listener for `DocumentSnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param reference - A reference to the document to listen to. * @param options - Options controlling the listen behavior. * @param observer - A single object containing `next` and `error` callbacks. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( reference: DocumentReference<T>, options: SnapshotListenOptions, observer: { next?: (snapshot: DocumentSnapshot<T>) => void; error?: (error: FirestoreError) => void; complete?: () => void; }, ): Unsubscribe; /** * Attaches a listener for `DocumentSnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param reference - A reference to the document to listen to. * @param onNext - A callback to be called every time a new `DocumentSnapshot` * is available. * @param onError - A callback to be called if the listen fails or is * cancelled. No further callbacks will occur. * @param onCompletion - Can be provided, but will not be called since streams are * never ending. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( reference: DocumentReference<T>, onNext: (snapshot: DocumentSnapshot<T>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void, ): Unsubscribe; /** * Attaches a listener for `DocumentSnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param reference - A reference to the document to listen to. * @param options - Options controlling the listen behavior. * @param onNext - A callback to be called every time a new `DocumentSnapshot` * is available. * @param onError - A callback to be called if the listen fails or is * cancelled. No further callbacks will occur. * @param onCompletion - Can be provided, but will not be called since streams are * never ending. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( reference: DocumentReference<T>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<T>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void, ): Unsubscribe; /** * Attaches a listener for `QuerySnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. The listener can be cancelled by * calling the function that is returned when `onSnapshot` is called. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param query - The query to listen to. * @param observer - A single object containing `next` and `error` callbacks. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( query: Query<T>, observer: { next?: (snapshot: QuerySnapshot<T>) => void; error?: (error: FirestoreError) => void; complete?: () => void; }, ): Unsubscribe; /** * Attaches a listener for `QuerySnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. The listener can be cancelled by * calling the function that is returned when `onSnapshot` is called. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param query - The query to listen to. * @param options - Options controlling the listen behavior. * @param observer - A single object containing `next` and `error` callbacks. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( query: Query<T>, options: SnapshotListenOptions, observer: { next?: (snapshot: QuerySnapshot<T>) => void; error?: (error: FirestoreError) => void; complete?: () => void; }, ): Unsubscribe; /** * Attaches a listener for `QuerySnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. The listener can be cancelled by * calling the function that is returned when `onSnapshot` is called. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param query - The query to listen to. * @param onNext - A callback to be called every time a new `QuerySnapshot` * is available. * @param onCompletion - Can be provided, but will not be called since streams are * never ending. * @param onError - A callback to be called if the listen fails or is * cancelled. No further callbacks will occur. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( query: Query<T>, onNext: (snapshot: QuerySnapshot<T>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void, ): Unsubscribe; /** * Attaches a listener for `QuerySnapshot` events. You may either pass * individual `onNext` and `onError` callbacks or pass a single observer * object with `next` and `error` callbacks. The listener can be cancelled by * calling the function that is returned when `onSnapshot` is called. * * NOTE: Although an `onCompletion` callback can be provided, it will * never be called because the snapshot stream is never-ending. * * @param query - The query to listen to. * @param options - Options controlling the listen behavior. * @param onNext - A callback to be called every time a new `QuerySnapshot` * is available. * @param onCompletion - Can be provided, but will not be called since streams are * never ending. * @param onError - A callback to be called if the listen fails or is * cancelled. No further callbacks will occur. * @returns An unsubscribe function that can be called to cancel * the snapshot listener. */ export function onSnapshot<T>( query: Query<T>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<T>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void, ): Unsubscribe; /** * Returns true if the provided snapshots are equal. * * @param left DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType> A snapshot to compare. * @param right DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType> A snapshot to compare. * * @returns boolean true if the snapshots are equal. */ export function snapshotEqual<AppModelType, DbModelType extends DocumentData>( left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, ): boolean; /** * Returns true if the provided queries point to the same collection and apply the same constraints. * * @param left Query<AppModelType, DbModelType> A Query to compare. * @param right Query<AppModelType, DbModelType> A Query to compare. * * @return boolean true if the references point to the same location in the same Firestore database. */ export declare function queryEqual<AppModelType, DbModelType extends DocumentData>( left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>, ): boolean;