Protocols
The following protocols are available globally.
-
Represents a listener that can be removed by calling remove.
Declaration
Swift
protocol ListenerRegistration : NSObjectProtocol -
Marker protocol implemented by all supported cache settings.
The two cache types supported are
PersistentCacheSettingsandMemoryCacheSettings. Custom implementation is not supported.Declaration
Swift
protocol LocalCacheSettings -
Marker protocol implemented by all supported garbage collector settings.
The two cache types supported are
MemoryEagerGCSettingsandMemoryLRUGCSettings. Custom implementation is not supported.Declaration
Swift
protocol MemoryGarbageCollectorSettings -
A type that can initialize itself from a Firestore
DocumentReference, which makes it suitable for use with the@DocumentIDproperty wrapper.Firestore includes extensions that make
StringandDocumentReferenceconform toDocumentIDWrappable.Note that Firestore ignores fields annotated with
@DocumentIDwhen writing so there is no requirement to convert from the wrapped type back to aDocumentReference.Declaration
Swift
public protocol DocumentIDWrappable -
A type that can initialize itself from a Firestore Timestamp, which makes it suitable for use with the
@ServerTimestampproperty wrapper.Firestore includes extensions that make
TimestampandDateconform toServerTimestampWrappable.Declaration
Swift
public protocol ServerTimestampWrappable -
Undocumented
Declaration
Swift
public protocol Expression : Sendable -
A
BooleanExpressionis anExpressionthat evaluates to a boolean value.It is used to construct conditional logic within Firestore pipelines, such as in
whereclauses orConditionalExpression.BooleanExpressioninstances can be combined using standard logical operators (&&,||,!,^) to create complex conditions.Example usage in a
whereclause:firestore.pipeline() .collection("products") .where( Field("price").greaterThan(100) && (Field("category").equal("electronics") || Field("on_sale").equal(true)) )Declaration
Swift
public protocol BooleanExpression : Expression -
A protocol for expressions that have a name.
Selectableis adopted by expressions that can be used in pipeline stages where a named output is required, such asselectanddistinct.A
Fieldis aSelectablewhere the name is the field path.An expression can be made
Selectableby giving it an alias using the.as()method.Declaration
Swift
public protocol Selectable : Sendable