geofirestore
Version:
Location-based querying and filtering using Firebase's Firestore
58 lines (57 loc) • 3.37 kB
TypeScript
import { GeoFirestoreTypes } from 'geofirestore-core';
import { GeoDocumentReference } from './GeoDocumentReference';
/**
* A `GeoDocumentSnapshot` contains data read from a document in your Firestore database. The data can be extracted with `.data()` or
* `.get(<field>)` to get a specific field.
*
* For a `GeoDocumentSnapshot` that points to a non-existing document, any data access will return 'undefined'. You can use the `exists`
* property to explicitly verify a document's existence.
*/
export declare class GeoDocumentSnapshot {
private _snapshot;
private _isWeb;
/**
* @param _snapshot The `DocumentSnapshot` instance.
*/
constructor(_snapshot: GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot);
/** The native `DocumentSnapshot` instance. */
get native(): GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot;
/** True if the document exists. */
get exists(): boolean;
/**
* The ID of the document for which this `GeoDocumentSnapshot` contains data.
*/
get id(): string;
/** A `GeoDocumentReference` to the document location. */
get ref(): GeoDocumentReference;
/**
* Retrieves all fields in the document as an Object. Returns 'undefined' if the document doesn't exist.
*
* By default, `FieldValue.serverTimestamp()` values that have not yet been set to their final value will be returned as `null`. You can
* override this by passing an options object if you're on web.
*
* @param options Available on web only. An options object to configure how data is retrieved from the snapshot (e.g. the desired
* behavior for server timestamps that have not yet been set to their final value). (WEB ONLY)
* @return An Object containing all fields in the document or 'undefined' if the document doesn't exist.
*/
data(options?: GeoFirestoreTypes.SnapshotOptions): GeoFirestoreTypes.GeoDocumentData | undefined;
/**
* Retrieves the field specified by `fieldPath`. Returns 'undefined' if the document or field doesn't exist.
*
* By default, a `FieldValue.serverTimestamp()` that has not yet been set to its final value will be returned as `null`. You can override
* this by passing an options object.
*
* @param fieldPath The path (e.g. 'foo' or 'foo.bar') to a specific field.
* @param options An options object to configure how the field is retrieved from the snapshot (e.g. the desired behavior for server
* timestamps that have not yet been set to their final value). (WEB ONLY)
* @return The data at the specified field location or undefined if no such field exists in the document.
*/
get(fieldPath: string | GeoFirestoreTypes.cloud.FieldPath | GeoFirestoreTypes.web.FieldPath, options?: GeoFirestoreTypes.SnapshotOptions): any;
/**
* Returns true if this `DocumentSnapshot` or `GeoDocumentSnapshot` is equal to the provided one.
*
* @param other The `DocumentSnapshot` or `GeoDocumentSnapshot` to compare against.
* @return true if this `GeoDocumentSnapshot` is equal to the provided one.
*/
isEqual(other: GeoDocumentSnapshot | GeoFirestoreTypes.cloud.DocumentSnapshot | GeoFirestoreTypes.web.DocumentSnapshot): boolean;
}