mirror of
https://github.com/musix-org/musix-oss
synced 2024-11-13 02:20:18 +00:00
1375 lines
47 KiB
JavaScript
1375 lines
47 KiB
JavaScript
/**
|
|
* @license Copyright 2018 Google Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Cloud Firestore API.
|
|
* @externs
|
|
*/
|
|
|
|
/**
|
|
* @namespace firebase.firestore
|
|
* @param {!firebase.app.App=} app
|
|
*
|
|
* @return {!firebase.firestore.Firestore} Firestore
|
|
*/
|
|
firebase.firestore = function(app) {};
|
|
|
|
/**
|
|
* The Cloud Firestore service interface.
|
|
*
|
|
* Do not call this constructor directly. Instead, use
|
|
* {@link firebase.firestore `firebase.firestore()`}.
|
|
*
|
|
* @interface
|
|
*/
|
|
firebase.firestore.Firestore = function() {};
|
|
|
|
/**
|
|
* Specifies custom configurations for your Cloud Firestore instance.
|
|
* You must set these before invoking any other methods.
|
|
*
|
|
* @interface
|
|
*/
|
|
firebase.firestore.Settings = function() {};
|
|
|
|
/**
|
|
* Enables the use of `Timestamps` for timestamp fields in `DocumentSnapshots`.
|
|
*
|
|
* Currently, Firestore returns timestamp fields as `Date` but `Date` only
|
|
* supports millisecond precision, which leads to truncation and causes
|
|
* unexpected behavior when using a timestamp from a snapshot as a part
|
|
* of a subsequent query.
|
|
*
|
|
* Setting `timestampsInSnapshots` to `true` will cause Firestore to return
|
|
* `Timestamp` values instead of `Date`, which avoids truncation. Note that you
|
|
* must also change any code that uses `Date` to use `Timestamp` instead.
|
|
*
|
|
* WARNING: In the future, `timestampsInSnapshots: true` will become the
|
|
* default and this option will be removed. You should change your code to
|
|
* use `Timestamp` and opt-in to this new behavior as soon as you can.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.Settings.prototype.timestampsInSnapshots;
|
|
|
|
/**
|
|
* Sets the verbosity of Cloud Firestore logs (debug, error, or silent).
|
|
*
|
|
* @param {string} logLevel
|
|
* The verbosity you set for activity and error logging. Can be any of
|
|
* the following values:
|
|
*
|
|
* <ul>
|
|
* <li><code>debug</code> for the most verbose logging level, primarily for
|
|
* dubugging.</li>
|
|
* <li><code>error</code> to log errors only.</li>
|
|
* <li><code>silent</code> to turn off logging.</li>
|
|
* </ul>
|
|
*/
|
|
firebase.firestore.Firestore.prototype.setLogLevel = function(logLevel) {};
|
|
|
|
/**
|
|
* Specifies custom settings to be used to configure the `Firestore`
|
|
* instance. Must be set before invoking any other methods.
|
|
*
|
|
* @param {!firebase.firestore.Settings} settings
|
|
* The settings for your Cloud Firestore instance.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.settings = function(settings) {};
|
|
|
|
/**
|
|
* Attempts to enable persistent storage, if possible.
|
|
*
|
|
* Must be called before any other methods (other than settings()).
|
|
*
|
|
* If this fails, enablePersistence() will reject the promise it returns.
|
|
* Note that even after this failure, the firestore instance will remain
|
|
* usable, however offline persistence will be disabled.
|
|
*
|
|
* There are several reasons why this can fail, which can be identified by
|
|
* the `code` on the error.
|
|
*
|
|
* * failed-precondition: The app is already open in another browser tab.
|
|
* * unimplemented: The browser is incompatible with the offline
|
|
* persistence implementation.
|
|
*
|
|
* @return {!Promise<void>} A promise that represents
|
|
* successfully enabling persistent storage.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.enablePersistence = function() {};
|
|
|
|
/**
|
|
* Re-enables use of the network for this Firestore instance after a prior
|
|
* call to {@link firebase.firestore.Firestore#disableNetwork
|
|
* `disableNetwork()`}.
|
|
*
|
|
* @return {!Promise<void>} A promise that is resolved once the network has been
|
|
* enabled.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.enableNetwork = function() {};
|
|
|
|
/**
|
|
* Disables network usage for this instance. It can be re-enabled via
|
|
* {@link firebase.firestore.Firestore#enableNetwork `enableNetwork()`}. While
|
|
* the network is disabled, any snapshot listeners or get() calls will return
|
|
* results from cache, and any write operations will be queued until the network
|
|
* is restored.
|
|
*
|
|
* @return {!Promise<void>} A promise that is resolved once the network has been
|
|
* disabled.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.disableNetwork = function() {};
|
|
|
|
/**
|
|
* Gets a `CollectionReference` instance that refers to the collection at
|
|
* the specified path.
|
|
*
|
|
* @param {string} collectionPath
|
|
* A slash-separated path to a collection.
|
|
*
|
|
* @return {!firebase.firestore.CollectionReference}
|
|
* The `CollectionReference` instance.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.collection = function(collectionPath) {};
|
|
|
|
/**
|
|
* Gets a `DocumentReference` instance that refers to the document at the
|
|
* specified path.
|
|
*
|
|
* @param {string} documentPath
|
|
* A slash-separated path to a document.
|
|
*
|
|
* @return {!firebase.firestore.DocumentReference}
|
|
* The `DocumentReference` instance.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.doc = function(documentPath) {};
|
|
|
|
/**
|
|
* Executes the given `updateFunction` and then attempts to commit the changes
|
|
* applied within the transaction. If any document read within the transaction
|
|
* has changed, Cloud Firestore retries the `updateFunction`. If it fails to
|
|
* commit after 5 attempts, the transaction fails.
|
|
*
|
|
* @param {function(!firebase.firestore.Transaction)} updateFunction
|
|
* The function to execute within the transaction context.
|
|
*
|
|
* @return {!Promise}
|
|
* If the transaction completed successfully or was explicitly aborted
|
|
* (the `updateFunction` returned a failed promise),
|
|
* the promise returned by the updateFunction is returned here. Else, if the
|
|
* transaction failed, a rejected promise with the corresponding failure
|
|
* error will be returned.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.runTransaction = function(
|
|
updateFunction
|
|
) {};
|
|
|
|
/**
|
|
* Creates a write batch, used for performing multiple writes as a single
|
|
* atomic operation.
|
|
*
|
|
* @return {!firebase.firestore.WriteBatch}
|
|
* A `WriteBatch` that can be used to atomically execute multiple writes.
|
|
*/
|
|
firebase.firestore.Firestore.prototype.batch = function() {};
|
|
|
|
/**
|
|
* The {@link firebase.app.App app} associated with this `Firestore` service
|
|
* instance.
|
|
*
|
|
* @type {!firebase.app.App}
|
|
*/
|
|
firebase.firestore.Firestore.prototype.app;
|
|
|
|
/**
|
|
* An immutable object representing a geo point in Cloud Firestore. The geo
|
|
* point is represented as latitude/longitude pair.
|
|
* @constructor
|
|
*
|
|
* @param {number} latitude
|
|
* Latitude values are in the range of -90 to 90.
|
|
*
|
|
* @param {number} longitude
|
|
* Longitude values are in the range of -180 to 180.
|
|
*/
|
|
firebase.firestore.GeoPoint = function(latitude, longitude) {};
|
|
|
|
/**
|
|
* The latitude of this GeoPoint instance.
|
|
*
|
|
* @type {number}
|
|
*/
|
|
firebase.firestore.GeoPoint.prototype.latitude;
|
|
|
|
/**
|
|
* The longitude of this GeoPoint instance.
|
|
*
|
|
* @type {number}
|
|
*/
|
|
firebase.firestore.GeoPoint.prototype.longitude;
|
|
|
|
/**
|
|
* Returns 'true' if this `GeoPoint` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.GeoPoint} other
|
|
* The `GeoPoint` to compare against.
|
|
*
|
|
* @return {boolean} 'true' if this `GeoPoint` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.GeoPoint.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* An immutable object representing an array of bytes.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.Blob = function() {};
|
|
|
|
/**
|
|
* Returns 'true' if this `Blob` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.Blob} other
|
|
* The `Blob` to compare against.
|
|
*
|
|
* @return {boolean} 'true' if this `Blob` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.Blob.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* Creates a new Blob from the given Base64 string, converting it to bytes.
|
|
*
|
|
* @param {string} base64
|
|
* The Base64 string used to create the Blob object.
|
|
*
|
|
* @return {!firebase.firestore.Blob}
|
|
* The Blob created from the Base64 string.
|
|
*/
|
|
firebase.firestore.Blob.fromBase64String = function(base64) {};
|
|
|
|
/**
|
|
* Creates a new Blob from the given Uint8Array.
|
|
*
|
|
* @param {!Uint8Array} array
|
|
* The Uint8Array used to create the Blob object.
|
|
*
|
|
* @return {!firebase.firestore.Blob}
|
|
* The Blob created from the Uint8Array.
|
|
*/
|
|
firebase.firestore.Blob.fromUint8Array = function(array) {};
|
|
|
|
/**
|
|
* Returns the bytes of a Blob as a Base64-encoded string.
|
|
*
|
|
* @return {string}
|
|
* The Base64-encoded string created from the Blob object.
|
|
*/
|
|
firebase.firestore.Blob.prototype.toBase64 = function() {};
|
|
|
|
/**
|
|
* Returns the bytes of a Blob in a new Uint8Array.
|
|
*
|
|
* @return {!Uint8Array}
|
|
* The Uint8Array created from the Blob object.
|
|
*/
|
|
firebase.firestore.Blob.prototype.toUint8Array = function() {};
|
|
|
|
/**
|
|
* A reference to a transaction.
|
|
*
|
|
* The `Transaction` object passed to a
|
|
* transaction's `updateFunction` provides the methods to read and write data
|
|
* within the transaction context. See `Firestore.runTransaction()`.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.Transaction = function() {};
|
|
|
|
/**
|
|
* Reads the document referenced by the provided `DocumentReference.`
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be retrieved.
|
|
*
|
|
* @return {!Promise<!firebase.firestore.DocumentSnapshot>}
|
|
* A promise of the read data in a `DocumentSnapshot`.
|
|
*/
|
|
firebase.firestore.Transaction.prototype.get = function(documentRef) {};
|
|
|
|
/**
|
|
* Writes to the document referred to by the provided `DocumentReference`.
|
|
* If the document does not exist yet, it will be created. If you pass
|
|
* options, the provided data can be merged into the existing document.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be created.
|
|
*
|
|
* @param {!Object} data
|
|
* An object of the fields and values for the document.
|
|
*
|
|
* @param {!firebase.firestore.SetOptions=} options
|
|
* An object to configure the set behavior. Pass `{merge: true}` to only
|
|
* replace the values specified in the data argument. Fields omitted
|
|
* will remain untouched.
|
|
*
|
|
* @return {!firebase.firestore.Transaction}
|
|
* This `Transaction` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.Transaction.prototype.set = function(
|
|
documentRef,
|
|
data,
|
|
options
|
|
) {};
|
|
|
|
/**
|
|
* Updates fields in the document referred to by this `DocumentReference`.
|
|
* The update will fail if applied to a document that does not exist.
|
|
*
|
|
* Nested fields can be updated by providing dot-separated field path strings
|
|
* or by providing FieldPath objects.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be updated.
|
|
*
|
|
* @param {...*} var_args
|
|
* Either an object containing all of the fields and values to update, or a
|
|
* series of arguments alternating between fields (as string or
|
|
* {@link firebase.firestore.FieldPath} objects) and values.
|
|
*
|
|
* @return {!firebase.firestore.Transaction}
|
|
* This `Transaction` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.Transaction.prototype.update = function(
|
|
documentRef,
|
|
var_args
|
|
) {};
|
|
|
|
/**
|
|
* Deletes the document referred to by the provided `DocumentReference`.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be deleted.
|
|
*
|
|
* @return {!firebase.firestore.Transaction}
|
|
* This `Transaction` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.Transaction.prototype.delete = function(documentRef) {};
|
|
|
|
/**
|
|
* A write batch, used to perform multiple writes as a single atomic unit.
|
|
*
|
|
* A `WriteBatch` object can be acquired by calling the `Firestore.batch()`
|
|
* function. It provides methods for adding writes to the write batch. None of
|
|
* the writes are committed (or visible locally) until `WriteBatch.commit()`
|
|
* is called.
|
|
*
|
|
* Unlike transactions, write batches are persisted offline and therefore are
|
|
* preferable when you don't need to condition your writes on read data.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.WriteBatch = function() {};
|
|
|
|
/**
|
|
* Writes to the document referred to by the provided `DocumentReference`.
|
|
* If the document does not exist yet, it will be created. If you pass
|
|
* options, the provided data can be merged into the existing document.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be created.
|
|
*
|
|
* @param {!Object} data
|
|
* An object of the fields and values for the document.
|
|
*
|
|
* @param {!firebase.firestore.SetOptions=} options
|
|
* An object to configure the set behavior. Pass `{merge: true}` to only
|
|
* replace the values specified in the data argument. Fields omitted
|
|
* will remain untouched.
|
|
*
|
|
* @return {!firebase.firestore.WriteBatch}
|
|
* This `WriteBatch` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.WriteBatch.prototype.set = function(
|
|
documentRef,
|
|
data,
|
|
options
|
|
) {};
|
|
|
|
/**
|
|
* Updates fields in the document referred to by this `DocumentReference`.
|
|
* The update will fail if applied to a document that does not exist.
|
|
*
|
|
* Nested fields can be updated by providing dot-separated field path strings
|
|
* or by providing FieldPath objects.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be updated.
|
|
*
|
|
* @param {...*} var_args
|
|
* Either an object containing all of the fields and values to update, or a
|
|
* series of arguments alternating between fields (as string or
|
|
* {@link firebase.firestore.FieldPath} objects) and values.
|
|
*
|
|
* @return {!firebase.firestore.WriteBatch}
|
|
* This `WriteBatch` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.WriteBatch.prototype.update = function(
|
|
documentRef,
|
|
var_args
|
|
) {};
|
|
|
|
/**
|
|
* Deletes the document referred to by the provided `DocumentReference`.
|
|
*
|
|
* @param {!firebase.firestore.DocumentReference} documentRef
|
|
* A reference to the document to be deleted.
|
|
*
|
|
* @return {!firebase.firestore.WriteBatch}
|
|
* This `WriteBatch` instance. Used for chaining method calls.
|
|
*/
|
|
firebase.firestore.WriteBatch.prototype.delete = function(documentRef) {};
|
|
|
|
/**
|
|
* Commits all of the writes in this write batch as a single atomic unit.
|
|
*
|
|
* @return {!Promise<void>}
|
|
* A promise that resolves once all of the writes in the batch have been
|
|
* successfully written to the backend as an atomic unit. Note that it won't
|
|
* resolve while you're offline.
|
|
*/
|
|
firebase.firestore.WriteBatch.prototype.commit = function() {};
|
|
|
|
/**
|
|
* An options object that configures the behavior of `set()` calls in
|
|
* {@link firebase.firestore.DocumentReference#set DocumentReference}, {@link
|
|
* firebase.firestore.WriteBatch#set WriteBatch} and {@link
|
|
* firebase.firestore.Transaction#set Transaction}. These calls can be
|
|
* configured to perform granular merges instead of overwriting the target
|
|
* documents in their entirety by providing a `SetOptions` with `merge: true`.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.SetOptions = function() {};
|
|
|
|
/**
|
|
* Changes the behavior of a set() call to only replace the values specified
|
|
* in its data argument. Fields omitted from the set() call remain untouched.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.SetOptions.prototype.merge;
|
|
|
|
/**
|
|
* Changes the behavior of set() calls to only replace the specified field
|
|
* paths. Any field path that is not specified is ignored and remains
|
|
* untouched.
|
|
*
|
|
* @typedef {Array<string>|Array<firebase.firestore.FieldPath>}
|
|
*/
|
|
firebase.firestore.SetOptions.prototype.mergeFields;
|
|
|
|
/**
|
|
* A `DocumentReference` refers to a document location in a Firestore database
|
|
* and can be used to write, read, or listen to the location. The document at
|
|
* the referenced location may or may not exist. A `DocumentReference` can
|
|
* also be used to create a `CollectionReference` to a subcollection.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.DocumentReference = function() {};
|
|
|
|
/**
|
|
* The document's identifier within its collection.
|
|
* @type {string}
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.id;
|
|
|
|
/**
|
|
* The {@link firebase.firestore.Firestore} the document is in.
|
|
* This is useful for performing transactions, for example.
|
|
* @type {!firebase.firestore.Firestore}
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.firestore;
|
|
|
|
/**
|
|
* The Collection this `DocumentReference` belongs to.
|
|
* @type {!firebase.firestore.CollectionReference}
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.parent;
|
|
|
|
/**
|
|
* Gets a `CollectionReference` instance that refers to the collection at
|
|
* the specified path.
|
|
*
|
|
* @param {string} collectionPath
|
|
* A slash-separated path to a collection.
|
|
*
|
|
* @return {!firebase.firestore.CollectionReference}
|
|
* The `CollectionReference` instance.
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.collection = function(
|
|
collectionPath
|
|
) {};
|
|
|
|
/**
|
|
* Writes to the document referred to by this `DocumentReference`.
|
|
* If the document does not exist yet, it will be created. If you pass
|
|
* options, the provided data can be merged into the existing document.
|
|
*
|
|
* @param {!Object} data
|
|
* An object of the fields and values for the document.
|
|
*
|
|
* @param {!firebase.firestore.SetOptions=} options
|
|
* An object to configure the set behavior. Pass `{merge: true}` to only
|
|
* replace the values specified in the data argument. Fields omitted
|
|
* will remain untouched.
|
|
*
|
|
* @return {!Promise<void>}
|
|
* A promise that resolves once the data has been successfully written to the
|
|
* backend. (Note that it won't resolve while you're offline).
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.set = function(data, options) {};
|
|
|
|
/**
|
|
* Updates fields in the document referred to by this `DocumentReference`.
|
|
* The update will fail if applied to a document that does not exist.
|
|
*
|
|
* Nested fields can be updated by providing dot-separated field path strings
|
|
* or by providing FieldPath objects.
|
|
*
|
|
* @param {...*} var_args
|
|
* Either an object containing all of the fields and values to update, or a
|
|
* series of arguments alternating between fields (as string or
|
|
* {@link firebase.firestore.FieldPath} objects) and values.
|
|
*
|
|
* @return {!Promise<void>}
|
|
* A promise that resolves once the data has been successfully written
|
|
* to the backend (Note that it won't resolve while you're offline).
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.update = function(var_args) {};
|
|
|
|
/**
|
|
* Deletes the document referred to by this `DocumentReference`.
|
|
*
|
|
* @return {!Promise<void>}
|
|
* A promise that resolves once the document has been successfully
|
|
* deleted from the backend (Note that it won't resolve while you're offline).
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.delete = function() {};
|
|
|
|
/**
|
|
* Reads the document referred to by this `DocumentReference`.
|
|
*
|
|
* @param {!firebase.firestore.GetOptions=} options An options object to
|
|
* configure how the data is retrieved.
|
|
*
|
|
* Note: When using the default behavior, `get()` attempts to provide up-to-date
|
|
* data when possible by waiting for data from the server, but may return cached
|
|
* data or fail if you are offline and the server cannot be reached.
|
|
*
|
|
* @return {!Promise<!firebase.firestore.DocumentSnapshot>}
|
|
* A promise that resolves with a `DocumentSnapshot` containing the current
|
|
* document contents.
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.get = function(options) {};
|
|
|
|
/**
|
|
* 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. The listener can be cancelled by
|
|
* calling the function that is returned when `onSnapshot` is called.
|
|
*
|
|
* @param {!firebase.firestore.SnapshotListenOptions|!Object|
|
|
function(!firebase.firestore.DocumentSnapshot)}
|
|
* optionsOrObserverOrOnNext This can be an observer object or an onNext
|
|
* function callback. It can also be an options object containing
|
|
* { includeMetadataChanges: true } to opt into events even when only metadata
|
|
* changed.
|
|
* @param {!Object|function(!firebase.firestore.DocumentSnapshot)|
|
|
* function(!Error)}
|
|
* observerOrOnNextOrOnError If you provided options, this will be an observer
|
|
* object or your onNext callback. Else, it is an optional onError callback.
|
|
* @param {function(!Error)=} onError If you didn't provide
|
|
* options and didn't use an observer object, this is the optional onError
|
|
* callback.
|
|
* @return {!function()} An unsubscribe function that can be called to cancel
|
|
* the snapshot listener.
|
|
*/
|
|
firebase.firestore.DocumentReference.prototype.onSnapshot = function(
|
|
optionsOrObserverOrOnNext,
|
|
observerOrOnNextOrOnError,
|
|
onError
|
|
) {};
|
|
|
|
/**
|
|
* Options that configure how data is retrieved from a `DocumentSnapshot`
|
|
* (e.g. the desired behavior for server timestamps that have not yet been set
|
|
* to their final value).
|
|
* @interface
|
|
*/
|
|
firebase.firestore.SnapshotOptions = function() {};
|
|
|
|
/**
|
|
* If set, controls the return value for server timestamps that have not yet
|
|
* been set to their final value.
|
|
*
|
|
* By specifying 'estimate', pending server timestamps return an estimate
|
|
* based on the local clock. This estimate will differ from the final value
|
|
* and cause these values to change once the server result becomes available.
|
|
*
|
|
* By specifying 'previous', pending timestamps will be ignored and return
|
|
* their previous value instead.
|
|
*
|
|
* If omitted or set to 'none', `null` will be returned by default until the
|
|
* server value becomes available.
|
|
*
|
|
* @typedef {string|undefined}
|
|
*/
|
|
firebase.firestore.SnapshotOptions.prototype.serverTimestamps;
|
|
|
|
/**
|
|
* Options that configure how data is retrieved for a `get()` request.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.GetOptions = function() {};
|
|
|
|
/**
|
|
* Describes whether a `get()` call in Firestore should return data from the
|
|
* server or from the cache.
|
|
*
|
|
* Setting to `default` (or not setting at all), causes Firestore to try to
|
|
* retrieve an up-to-date (server-retrieved) snapshot, but fall back to
|
|
* returning cached data if the server can't be reached.
|
|
*
|
|
* Setting to `server` causes Firestore to avoid the cache, generating an
|
|
* error if the server cannot be reached. Note that the cache will still be
|
|
* updated if the server request succeeds. Latency-compensation still takes
|
|
* effect and any pending write operations will be visible in the
|
|
* returned data (merged into the server-provided data).
|
|
*
|
|
* Setting to `cache` causes Firestore to immediately return a value from the
|
|
* cache, bypassing the server completely. The returned value
|
|
* may be stale with respect to the value on the server. If there is no cached
|
|
* data, `DocumentReference.get()` will return an error and
|
|
* `QuerySnapshot.get()` will return an empty `QuerySnapshot`.
|
|
*
|
|
* @typedef {string|undefined}
|
|
*/
|
|
firebase.firestore.GetOptions.prototype.source;
|
|
|
|
/**
|
|
* Metadata about a snapshot, describing the state of the snapshot.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.SnapshotMetadata = function() {};
|
|
|
|
/**
|
|
* True if the snapshot was created from cached data rather than guaranteed
|
|
* up-to-date server data. If your listener has opted into metadata updates
|
|
* (via `SnapshotListenOptions`)
|
|
* you will receive another snapshot with `fromCache` set to false once
|
|
* the client has received up-to-date data from the backend.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.SnapshotMetadata.prototype.fromCache;
|
|
|
|
/**
|
|
* True if the snapshot includes local writes (`set()` or
|
|
* `update()` calls) that haven't been committed to the backend yet.
|
|
*
|
|
* If your listener has opted into metadata updates via
|
|
* `SnapshotListenOptions`, you receive another
|
|
* snapshot with `hasPendingWrites` set to false once the writes have been
|
|
* committed to the backend.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.SnapshotMetadata.prototype.hasPendingWrites;
|
|
|
|
/**
|
|
* Returns 'true' if this `SnapshotMetadata` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.SnapshotMetadata} other
|
|
* The `SnapshotMetadata` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `SnapshotMetadata` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.SnapshotMetadata.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* A `DocumentSnapshot` contains data read from a document in your Cloud
|
|
* Firestore database. The data can be extracted with `.data()` or
|
|
* `.get(<field>)` to get a specific field.
|
|
*
|
|
* For a `DocumentSnapshot` 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.
|
|
*
|
|
* @constructor
|
|
*/
|
|
firebase.firestore.DocumentSnapshot = function() {};
|
|
|
|
/**
|
|
* Property of the `DocumentSnapshot` that signals whether or not the data
|
|
* exists. True if the document exists.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.exists;
|
|
|
|
/**
|
|
* The `DocumentReference` for the document included in the `DocumentSnapshot`.
|
|
*
|
|
* @typedef {!firebase.firestore.DocumentReference}
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.ref;
|
|
|
|
/**
|
|
* Property of the `DocumentSnapshot` that provides the document's ID.
|
|
*
|
|
* @typedef {string}
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.id;
|
|
|
|
/**
|
|
* Metadata about the `DocumentSnapshot`, including information about its
|
|
* source and local modifications.
|
|
*
|
|
* @typedef {!firebase.firestore.SnapshotMetadata}
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.metadata;
|
|
|
|
/**
|
|
* An object containing all the data in a document.
|
|
* @typedef {Object}
|
|
*/
|
|
firebase.firestore.DocumentData;
|
|
|
|
/**
|
|
* 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.
|
|
*
|
|
* @param {!firebase.firestore.SnapshotOptions=} options 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).
|
|
*
|
|
* @return {(!firebase.firestore.DocumentData|undefined)}
|
|
* An object containing all fields in the specified document or 'undefined'
|
|
* if the document doesn't exist.
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.data = function(options) {};
|
|
|
|
/**
|
|
* 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 {(string|!firebase.firestore.FieldPath)} fieldPath
|
|
* The path (e.g. 'foo' or 'foo.bar') to a specific field.
|
|
*
|
|
* @param {!firebase.firestore.SnapshotOptions=} 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).
|
|
*
|
|
* @return {(*|undefined)}
|
|
* The data at the specified field location or undefined if no such field
|
|
* exists in the document.
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.get = function(
|
|
fieldPath,
|
|
options
|
|
) {};
|
|
|
|
/**
|
|
* Returns 'true' if this `DocumentSnapshot` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.DocumentSnapshot} other
|
|
* The `DocumentSnapshot` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `DocumentSnapshot` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.DocumentSnapshot.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* A `QueryDocumentSnapshot` contains data read from a document in your
|
|
* Firestore database as part of a query. The document is guaranteed to exist
|
|
* and its data can be extracted with `.data()` or `.get(<field>)` to get a
|
|
* specific field.
|
|
*
|
|
* A `QueryDocumentSnapshot` offers the same API surface as a
|
|
* `DocumentSnapshot`. Since query results contain only existing documents, the
|
|
* `exists` property will always be true and `data()` will never return
|
|
* `undefined`.
|
|
*
|
|
* @constructor
|
|
* @extends {firebase.firestore.DocumentSnapshot}
|
|
*/
|
|
firebase.firestore.QueryDocumentSnapshot = function() {};
|
|
|
|
/**
|
|
* Retrieves all fields in the document as an Object.
|
|
*
|
|
* 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.
|
|
*
|
|
* @override
|
|
*
|
|
* @param {!firebase.firestore.SnapshotOptions=} options 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).
|
|
*
|
|
* @return {!firebase.firestore.DocumentData}
|
|
* An object containing all fields in the specified document.
|
|
*/
|
|
firebase.firestore.QueryDocumentSnapshot.prototype.data = function(options) {};
|
|
|
|
/**
|
|
* Options for use with `Query.onSnapshot() to control the behavior of the
|
|
* snapshot listener.
|
|
* @interface
|
|
*
|
|
*/
|
|
firebase.firestore.SnapshotListenOptions = function() {};
|
|
|
|
/**
|
|
* Raise an event even if only metadata of the query or document
|
|
* changes. Default is false.
|
|
*
|
|
* @typedef {boolean}
|
|
*/
|
|
firebase.firestore.SnapshotListenOptions.prototype.includeMetadataChanges;
|
|
|
|
/**
|
|
* A `Query` refers to a Query which you can read or listen to. You can also
|
|
* construct refined `Query` objects by adding filters and ordering.
|
|
* @constructor
|
|
*/
|
|
firebase.firestore.Query = function() {};
|
|
|
|
/**
|
|
* The `Firestore` for the Cloud Firestore database (useful for performing
|
|
* transactions, etc.).
|
|
*
|
|
* @type {!firebase.firestore.Firestore}
|
|
*/
|
|
firebase.firestore.Query.prototype.firestore;
|
|
|
|
/**
|
|
* Creates a new query that returns only documents that include the specified
|
|
* fields and where the values satisfy the constraints provided.
|
|
*
|
|
* @param {(string|!firebase.firestore.FieldPath)} fieldPath
|
|
* The path to compare.
|
|
*
|
|
* @param {string} opStr
|
|
* The operation string (e.g "<", "<=", "==", ">", ">=").
|
|
*
|
|
* @param {*} value
|
|
* The value for comparison.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.where = function(fieldPath, opStr, value) {};
|
|
|
|
/**
|
|
* Creates a new query where the results are sorted by the
|
|
* specified field, in descendin or ascending order.
|
|
*
|
|
* @param {(string|!firebase.firestore.FieldPath)} fieldPath
|
|
* The field to sort by.
|
|
*
|
|
* @param {string=} directionStr
|
|
* Optional direction to sort by (`asc` or `desc`). If not specified, the
|
|
* default order is ascending.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.orderBy = function(
|
|
fieldPath,
|
|
directionStr
|
|
) {};
|
|
|
|
/**
|
|
* Creates a new query where the results are limited to the specified number of
|
|
* documents.
|
|
*
|
|
* @param {number} limit
|
|
* The maximum number of items to return.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.limit = function(limit) {};
|
|
|
|
/**
|
|
* Creates a new query where the results start at the provided document
|
|
* (inclusive). The starting position is relative to the order of the query.
|
|
* The document must contain all of the fields provided in the `orderBy` of
|
|
* the query.
|
|
*
|
|
* @param {...*} snapshotOrVarArgs
|
|
* The snapshot of the document you want the query to start at or
|
|
* the field values to start this query at, in order of the query's order by.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.startAt = function(snapshotOrVarArgs) {};
|
|
|
|
/**
|
|
* Creates a new query where the results start after the provided document
|
|
* (exclusive). The starting position is relative to the order of the query.
|
|
* The document must contain all of the fields provided in the `orderBy` of
|
|
* this query.
|
|
*
|
|
* @param {...*} snapshotOrVarArgs
|
|
* The snapshot of the document to start after or
|
|
* the field values to start this query after, in order of the query's order
|
|
* by.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.startAfter = function(snapshotOrVarArgs) {};
|
|
|
|
/**
|
|
* Creates a new query where the results end before the provided document
|
|
* (exclusive). The end position is relative to the order of the query. The
|
|
* document must contain all of the fields provided in the `orderBy` of this
|
|
* query.
|
|
*
|
|
* @param {...*} snapshotOrVarArgs
|
|
* The snapshot of the document the query results should end before or
|
|
* the field values to end this query before, in order of the query's order
|
|
* by.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.endBefore = function(snapshotOrVarArgs) {};
|
|
|
|
/**
|
|
* Creates a new query where the results end at the provided document
|
|
* (inclusive). The end position is relative to the order of the query. The
|
|
* document must contain all of the fields provided in the `orderBy` of this
|
|
* query.
|
|
*
|
|
* @param {...*} snapshotOrVarArgs
|
|
* The snapshot of the document the query results should end at or
|
|
* the field values to end this query at, in order of the query's order by.
|
|
*
|
|
* @return {!firebase.firestore.Query}
|
|
* The created query.
|
|
*/
|
|
firebase.firestore.Query.prototype.endAt = function(snapshotOrVarArgs) {};
|
|
|
|
/**
|
|
* Executes the query and returns the results as a `QuerySnapshot`.
|
|
*
|
|
* @param {!firebase.firestore.GetOptions=} options An options object to
|
|
* configure how the data is retrieved.
|
|
*
|
|
* @return {!firebase.firestore.QuerySnapshot}
|
|
* A promise that will be resolved with the results of the query.
|
|
*/
|
|
firebase.firestore.Query.prototype.get = function(options) {};
|
|
|
|
/**
|
|
* 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 {!firebase.firestore.SnapshotListenOptions|!Object|
|
|
* function(!firebase.firestore.DocumentSnapshot)}
|
|
* optionsOrObserverOrOnNext This can be an observer object or an onNext
|
|
* function callback. It can also be an options object containing
|
|
* { includeMetadataChanges: true } to opt into events even when only metadata
|
|
* changed.
|
|
* @param {!Object|function(!firebase.firestore.DocumentSnapshot)|
|
|
* function(!Error)}
|
|
* observerOrOnNextOrOnError If you provided options, this will be an observer
|
|
* object or your onNext callback. Else, it is an optional onError callback.
|
|
* @param {function(!Error)=} onError If you didn't provide
|
|
* options and didn't use an observer object, this is the optional onError
|
|
* callback.
|
|
* @return {!function()} An unsubscribe function that can be called to cancel
|
|
* the snapshot listener.
|
|
*/
|
|
firebase.firestore.Query.prototype.onSnapshot = function(
|
|
optionsOrObserverOrOnNext,
|
|
observerOrOnNextOrOnError,
|
|
onError
|
|
) {};
|
|
|
|
/**
|
|
* A `QuerySnapshot` contains zero or more `DocumentSnapshot` objects
|
|
* representing the results of a query. The documents can be accessed as an
|
|
* array via the `docs` property or enumerated using the `forEach` method. The
|
|
* number of documents can be determined via the `empty` and `size`
|
|
* properties.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.QuerySnapshot = function() {};
|
|
|
|
/**
|
|
* The query you called `get` or `onSnapshot` on to get the `QuerySnapshot`.
|
|
* @type {!firebase.firestore.Query}
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.query;
|
|
|
|
/**
|
|
* Metadata about this snapshot, concerning its source and if it has local
|
|
* modifications.
|
|
* @type {!firebase.firestore.SnapshotMetadata}
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.metadata;
|
|
|
|
/**
|
|
* Returns an array of the document changes since the last snapshot. If this
|
|
* is the first snapshot, all documents will be in the list as "added" changes.
|
|
*
|
|
* @param {firebase.firestore.SnapshotOptions=} options Options that control
|
|
* whether metadata-only changes (i.e. only `DocumentSnapshot.metadata` changed)
|
|
* should be included.
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.docChanges = function(options) {};
|
|
|
|
/**
|
|
* An array of all the documents in the `QuerySnapshot`.
|
|
* @type {!Array<!firebase.firestore.QueryDocumentSnapshot>}
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.docs;
|
|
|
|
/**
|
|
* The number of documents in the `QuerySnapshot`.
|
|
* @type {number}
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.size;
|
|
|
|
/**
|
|
* True if there are no documents in the `QuerySnapshot`.
|
|
* @type {boolean}
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.empty;
|
|
|
|
/**
|
|
* Enumerates all of the documents in the `QuerySnapshot`.
|
|
*
|
|
* @param {function(!firebase.firestore.QueryDocumentSnapshot)} callback
|
|
* @param {*=} thisArg
|
|
* The `this` binding for the callback.
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.forEach = function(
|
|
callback,
|
|
thisArg
|
|
) {};
|
|
|
|
/**
|
|
* Returns 'true' if this `QuerySnapshot` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.QuerySnapshot} other
|
|
* The `QuerySnapshot` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `QuerySnapshot` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.QuerySnapshot.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* A `DocumentChange` represents a change to a document matching a query.
|
|
* It contains the document affected and the type of change that occurred.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.DocumentChange = function() {};
|
|
|
|
/**
|
|
* The type of change that occurred.
|
|
*
|
|
* Possible values are 'added', 'modified', or 'removed'.
|
|
* @type {string}
|
|
*/
|
|
firebase.firestore.DocumentChange.prototype.type;
|
|
|
|
/**
|
|
* The document affected by this change.
|
|
* @type {!firebase.firestore.QueryDocumentSnapshot}
|
|
*/
|
|
firebase.firestore.DocumentChange.prototype.doc;
|
|
|
|
/**
|
|
* The index of the changed document in the result set immediately prior to
|
|
* this `DocumentChange` (i.e. supposing that all prior `DocumentChange` objects
|
|
* have been applied). Is -1 for 'added' events.
|
|
* @type {number}
|
|
*/
|
|
firebase.firestore.DocumentChange.prototype.oldIndex;
|
|
|
|
/**
|
|
* The index of the changed document in the result set immediately after
|
|
* this `DocumentChange` (i.e. supposing that all prior `DocumentChange`
|
|
* objects and the current `DocumentChange` object have been applied).
|
|
* Is -1 for 'removed' events.
|
|
* @type {number}
|
|
*/
|
|
firebase.firestore.DocumentChange.prototype.newIndex;
|
|
|
|
/**
|
|
* A `CollectionReference` object can be used for adding documents, getting
|
|
* document references, and querying for documents (using the methods
|
|
* inherited from `Query`).
|
|
* @constructor
|
|
* @extends {firebase.firestore.Query}
|
|
*/
|
|
firebase.firestore.CollectionReference = function() {};
|
|
|
|
/**
|
|
* The collection's identifier.
|
|
*
|
|
* @type {string}
|
|
*/
|
|
firebase.firestore.CollectionReference.prototype.id;
|
|
|
|
/**
|
|
* A reference to the containing `DocumentReference` if this is a subcollection.
|
|
* If this isn't a subcollection, the reference is null.
|
|
*
|
|
* @type {?firebase.firestore.DocumentReference}
|
|
*/
|
|
firebase.firestore.CollectionReference.prototype.parent;
|
|
|
|
/**
|
|
* Gets a `DocumentReference` for the document within the collection at the
|
|
* specified path. If no path is specified, an automatically-generated
|
|
* unique ID will be used for the returned `DocumentReference`.
|
|
*
|
|
* @param {string=} documentPath
|
|
* A slash-separated path to a document.
|
|
*
|
|
* @return {!firebase.firestore.DocumentReference}
|
|
*/
|
|
firebase.firestore.CollectionReference.prototype.doc = function(
|
|
documentPath
|
|
) {};
|
|
|
|
/**
|
|
* Adds a new document to this collection with the specified data, assigning
|
|
* it a document ID automatically.
|
|
*
|
|
* @param {!firebase.firestore.DocumentData} data
|
|
* @return {!Promise<!firebase.firestore.DocumentReference>}
|
|
* A Promise that resolves with a `DocumentReference` pointing to the newly
|
|
* created document after it has been written to the backend.
|
|
*/
|
|
firebase.firestore.CollectionReference.prototype.add = function(data) {};
|
|
|
|
/**
|
|
* Returns 'true' if this `CollectionReference` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.CollectionReference} other
|
|
* The `CollectionReference` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `CollectionReference` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.CollectionReference.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* Sentinel values that can be used when writing document fields with `set()`
|
|
* or `update()`.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.FieldValue = function() {};
|
|
|
|
/**
|
|
* Returns a sentinel used with `set()` or `update()` to include a
|
|
* server-generated timestamp in the written data.
|
|
* @return {!firebase.firestore.FieldValue}
|
|
*/
|
|
firebase.firestore.FieldValue.serverTimestamp = function() {};
|
|
|
|
/**
|
|
* Returns a sentinel for use with `update()` to mark a field for deletion.
|
|
* @return {!firebase.firestore.FieldValue}
|
|
*/
|
|
firebase.firestore.FieldValue.delete = function() {};
|
|
|
|
/**
|
|
* Returns 'true' if this `FieldValue` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.FieldValue} other
|
|
* The `FieldValue` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `FieldValue` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.FieldValue.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* A FieldPath refers to a field in a document. The path may consist of a
|
|
* single field name (referring to a top-level field in the document), or a
|
|
* list of field names (referring to a nested field in the document).
|
|
*
|
|
* Create a FieldPath by providing field names. If more than one field
|
|
* name is provided, the path will point to a nested field in a document.
|
|
*
|
|
* @param {...*} var_args
|
|
* A list of field names.
|
|
*
|
|
* @constructor
|
|
*/
|
|
firebase.firestore.FieldPath = function(var_args) {};
|
|
|
|
/**
|
|
* Returns a special sentinel `FieldPath` to refer to the ID of a document.
|
|
* It can be used in queries to sort or filter by the document ID.
|
|
*
|
|
* @return {!firebase.firestore.FieldPath}
|
|
*/
|
|
firebase.firestore.FieldPath.documentId = function() {};
|
|
|
|
/**
|
|
* Returns 'true' if this `FieldPath` is equal to the provided one.
|
|
*
|
|
* @param {!firebase.firestore.FieldPath} other
|
|
* The `FieldPath` to compare against.
|
|
*
|
|
* @return {boolean}
|
|
* 'true' if this `FieldPath` is equal to the provided one.
|
|
*/
|
|
firebase.firestore.FieldPath.prototype.isEqual = function(other) {};
|
|
|
|
/**
|
|
* The set of Cloud Firestore status codes. These status codes are also exposed
|
|
* by [gRPC](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md).
|
|
*
|
|
* Possible values:
|
|
* - `cancelled`: The operation was cancelled (typically by the caller).
|
|
* - `unknown`: Unknown error or an error from a different error domain.
|
|
* - `invalid-argument`: Client specified an invalid argument. Note that this
|
|
* differs from `failed-precondition`. `invalid-argument` indicates
|
|
* arguments that are problematic regardless of the state of the system
|
|
* (e.g. an invalid field name).
|
|
* - `deadline-exceeded`: Deadline expired before operation could complete.
|
|
* For operations that change the state of the system, this error may be
|
|
* returned even if the operation has completed successfully. For example,
|
|
* a successful response from a server could have been delayed long enough
|
|
* for the deadline to expire.
|
|
* - `not-found`: Some requested document was not found.
|
|
* - `already-exists`: Some document that we attempted to create already
|
|
* exists.
|
|
* - `permission-denied`: The caller does not have permission to execute the
|
|
* specified operation.
|
|
* - `resource-exhausted`: Some resource has been exhausted, perhaps a
|
|
* per-user quota, or perhaps the entire file system is out of space.
|
|
* - `failed-precondition`: Operation was rejected because the system is not
|
|
* in a state required for the operation`s execution.
|
|
* - `aborted`: The operation was aborted, typically due to a concurrency
|
|
* issue like transaction aborts, etc.
|
|
* - `out-of-range`: Operation was attempted past the valid range.
|
|
* - `unimplemented`: Operation is not implemented or not supported/enabled.
|
|
* - `internal`: Internal errors. Means some invariants expected by
|
|
* underlying system has been broken. If you see one of these errors,
|
|
* something is very broken.
|
|
* - `unavailable`: The service is currently unavailable. This is most likely
|
|
* a transient condition and may be corrected by retrying with a backoff.
|
|
* - `data-loss`: Unrecoverable data loss or corruption.
|
|
* - `unauthenticated`: The request does not have valid authentication
|
|
* credentials for the operation.
|
|
* @interface
|
|
*/
|
|
firebase.firestore.FirestoreError = function() {};
|
|
|
|
/**
|
|
* A Timestamp represents a point in time independent of any time zone or
|
|
* calendar, represented as seconds and fractions of seconds at nanosecond
|
|
* resolution in UTC Epoch time.
|
|
*
|
|
* Timestamps are encoded using the Proleptic Gregorian Calendar, which extends
|
|
* the Gregorian calendar backwards to year one. Timestamps assume all
|
|
* minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap
|
|
* second table is needed for interpretation. Possible timestamp values range
|
|
* from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z.
|
|
*
|
|
* @see https://github.com/google/protobuf/blob/master/src/google/protobuf/timestamp.proto
|
|
*
|
|
* @param {number} seconds The number of seconds of UTC time since Unix epoch
|
|
* 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
|
|
* 9999-12-31T23:59:59Z inclusive.
|
|
* @param {number} nanoseconds The non-negative fractions of a second at
|
|
* nanosecond resolution. Negative second values with fractions must
|
|
* still have non-negative nanoseconds values that count forward in time.
|
|
* Must be from 0 to 999,999,999 inclusive.
|
|
*
|
|
* @constructor
|
|
*/
|
|
firebase.firestore.Timestamp = function(seconds, nanoseconds) {};
|
|
|
|
/**
|
|
* Get the current time as a Timestamp object.
|
|
*
|
|
* @return {!firebase.firestore.Timestamp} a new Timestamp.
|
|
*/
|
|
firebase.firestore.Timestamp.now = function() {};
|
|
|
|
/**
|
|
* Creates a new timestamp from the given date.
|
|
*
|
|
* @param {!Date} date The date to initialize the `Timestamp` from.
|
|
* @return {!firebase.firestore.Timestamp} A new `Timestamp` representing
|
|
* the same point in time as the given date.
|
|
*/
|
|
firebase.firestore.Timestamp.fromDate = function(date) {};
|
|
|
|
/**
|
|
* Creates a new timestamp from the given number of milliseconds.
|
|
*
|
|
* @param {number} milliseconds Number of milliseconds since Unix epoch
|
|
* 1970-01-01T00:00:00Z.
|
|
* @return {!firebase.firestore.Timestamp} A new `Timestamp` representing the
|
|
* same point in time as the given number of milliseconds.
|
|
*/
|
|
firebase.firestore.Timestamp.fromMillis = function(milliseconds) {};
|
|
|
|
/**
|
|
* Convert a Timestamp to a JavaScript `Date` object. This conversion causes
|
|
* a loss of precision since `Date` objects only support millisecond precision.
|
|
*
|
|
* @return {!Date} a JavaScript date object.
|
|
*/
|
|
firebase.firestore.Timestamp.prototype.toDate = function() {};
|
|
|
|
/**
|
|
* Convert a timestamp to a numeric timestamp (in milliseconds since epoch).
|
|
* This operation causes a loss of precision.
|
|
*
|
|
* @return {!number} a numeric timestamp.
|
|
*/
|
|
firebase.firestore.Timestamp.prototype.toMillis = function() {};
|