firefuel library

Classes

AggregateResult
The results of aggregate.
ArrayRemove
See FieldUpdate.arrayRemove.
ArrayUnion
See FieldUpdate.arrayUnion.
average
Create an object that can be used to compute the average of a specified field over a range of documents in the result set of a query.
Batch<T extends Serializable>
Chunk<T, CursorType>
A subset of data retrieved from a data source.
Chunker<DataType, CursorType>
Clause
A condition documents must meet to be returned.
ClauseGroup
Clauses combined with OR or AND. Build with Clause.or or Clause.and.
Collection<T extends Serializable>
CollectionAggregate<T>
CollectionCount<T>
Methods used to retrieve primitive values from a collection
CollectionGroup<T extends Serializable>
Every subcollection with one id, wherever it lives, read as one query.
CollectionPaginate<R, T extends Serializable>
Get a number of Documents from the Collection
CollectionRead<R, T extends Serializable>
Read a List of T from the Collection
CollectionReference<T extends Object?>
DeleteField
See FieldUpdate.delete.
DocCreate<R, T extends Serializable>
Create a new Document
DocCreateIfNotExist<R, T extends Serializable>
Do some action, then create a Document if it doesn't exist
DocDelete<R>
Delete an existing Document
DocListen<R>
Listen to one document together with its metadata.
DocRead<R>
Read a Document
DocReadMany<R>
Read multiple documents by id while preserving the order of the ids.
DocReplace<R, T extends Serializable>
Replace an existing Document
DocumentId
Strips out illegal characters from a string intended to be used as a document ID in Firestore
DocumentReference<T extends Object?>
A DocumentReference refers to a document location in a FirebaseFirestore database and can be used to write, read, or listen to the location.
DocumentSnapshot<T extends Object?>
A DocumentSnapshot contains data read from a document in your FirebaseFirestore database.
DocUpdate<R, T extends Serializable>
Update an existing Document
DocUpdateOrCreate<R, T extends Serializable>
Do some action, then create a Document if it doesn't exist
Either<L, R>
A value that is either a Left (by convention a failure) or a Right (by convention a success).
EndAt
Inclusive end cursor; see EndCursor.at.
EndBefore
Exclusive end cursor; see EndCursor.before.
EndCursor
Where a FirefuelQuery's results end.
Failure
The left side of every firefuel Either: what went wrong, and where.
FieldClause
A condition on a single field. Build with Clause.new.
FieldPath
A FieldPath refers to a field in a document.
FieldUpdate
A value the database computes when the write lands, instead of a value you send.
FieldValue
Sentinel values that can be used when writing document fields with set() or update().
FirebaseFirestore
The entry point for accessing a FirebaseFirestore.
Firefuel
FirefuelBatch<T extends Serializable>
FirefuelCollection<T extends Serializable>
FirefuelCollectionGroup<T extends Serializable>
Every subcollection named collectionId, wherever it lives, read as one typed query.
FirefuelDoc<T>
One document in a snapshot: its data plus where it lives.
FirefuelDocChange<T>
How a document changed between two snapshots of a query.
FirefuelFailure
A Failure raised by firefuel itself.
FirefuelObserver
Hears about failures firefuel handles, so an app can log or report them in one place.
FirefuelQuery
A complete description of which documents to read, as a value.
FirefuelQueryRepository<T extends Serializable>
Wraps any ReadableQuery so every read returns Either<Failure, R> instead of throwing.
FirefuelQuerySnapshot<T>
Every document a query matched, what changed since the previous snapshot, and where the data came from.
FirefuelRepository<T extends Serializable>
FirefuelSnapshot<R>
A value read from Firestore, together with where it came from.
FirefuelTransaction
A running transaction. Get one from Firefuel.runTransaction.
FirefuelWriteBatch
An atomic batch of writes that may span collections. Get one from Firefuel.batch.
FirestoreFailure
GetOptions
An options class that configures the behavior of get() calls on DocumentReference and Query.
Increment
See FieldUpdate.increment.
Left<L, R>
The failure side of an Either.
ListenOptions
How to listen: whether metadata-only changes emit, and where data comes from.
OrderBy
Creates a condition to order your collection
Query<T extends Object?>
Represents a Query over the data at a particular location.
QueryAggregate<R>
Server-side sum and average aggregations over a query, without downloading matching documents. Wraps Query.aggregate from cloud_firestore.
QueryDocumentSnapshot<T extends Object?>
A QueryDocumentSnapshot contains data read from a document in your FirebaseFirestore database as part of a query.
QueryListen<R>
Listen to a query's results together with their metadata: ids and paths, what changed, and whether the data is cached or has unconfirmed local writes.
QueryRepository<T extends Serializable>
ReadableQuery's reads, each returning Either<Failure, R>.
QuerySnapshot<T extends Object?>
Contains the results of a query. It can contain zero or more DocumentSnapshot objects.
ReadableQuery<T extends Serializable>
Everything that can be read from a query of T documents: reads, counts, aggregates, pagination and listening.
Repository<T extends Serializable>
The success side of an Either.
Serializable
ServerTimestamp
The server's clock when the write is committed.
SetOptions
An options class that configures the behavior of set() calls in DocumentReference, WriteBatch and Transaction.
SilentFirefuelObserver
A FirefuelObserver that ignores everything, for tests or apps that report failures where they handle them.
SnapshotOptions
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).
StartAfter
Exclusive start cursor; see StartCursor.after.
StartAt
Inclusive start cursor; see StartCursor.at.
StartCursor
Where a FirefuelQuery's results begin.
sum
Create an object that can be used to compute the sum of a specified field over a range of documents in the result set of a query.
Timestamp
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. It is encoded using the Proleptic Gregorian Calendar which extends the Gregorian calendar backwards to year one. It is encoded assuming all minutes are 60 seconds long, i.e. leap seconds are "smeared" so that no leap second table is needed for interpretation. Range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By restricting to that range, we ensure that we can convert to and from RFC 3339 date strings.
Transaction
Transaction class which is created from a call to runTransaction().
TransactionScope<T extends Serializable>
A transaction's view of one collection: typed reads, then writes.
WriteBatch
A WriteBatch is a series of write operations to be performed as one unit.
WriteScope<T extends Serializable>
The writes a transaction and a batch share, applied to one collection.

Enums

AggregateSource
AggregateSource represents the source of data for an AggregateQuery.
ChunkStatus
DocumentChangeType
An enumeration of document change types.
ListenSource
The listener retrieves data and listens to updates from the local Firestore cache only. If the cache is empty, an empty snapshot will be returned. Snapshot events will be triggered on cache updates, like local mutations or load bundles.
OrderDirection
ServerTimestampBehavior
Source
An enumeration of firestore source types.
WriteAcknowledgement
When a write returned by firefuel completes.

Mixins

FirefuelFetchMixin
FirefuelQueryReads<T extends Serializable>
Every query-shaped read, implemented once over a base query.

Functions

left<L, R>(L value) → Either<L, R>
Creates a Left, for when a type argument reads better than a class.
Creates a Right, for when a type argument reads better than a class.

Typedefs

DataChunker<DataType, CursorType> = Future<List<DataType>> Function(CursorType? cursor, int limit)
FirefuelPage<T> = Chunk<T, DocumentSnapshot<T?>>
A page of T from firefuel: package:chunk's Chunk, positioned by the Firestore snapshot of its last document.

Exceptions / Errors

CannotBeNoLongerThan1500Bytes
CannotContainForwardSlash
CannotSolelyConsistOfASingleOrDoublePeriod
CannotStartAndEndWithDoubleUnderscore
MissingValueException
MixedFirestoreInstancesException
Thrown when one transaction or batch is handed collections from two different Firestore instances.
ReadAfterWriteException
Thrown when a transaction reads after it has written.
TooManyArgumentsException