# cloud_firestore_platform_interface 3.0.2

A common platform interface for the cloud_firestore plugin.




## Installing
```
export PUB_HOSTED_URL=https://pub.mirror.p-hatan.com
flutter pub add 'cloud_firestore_platform_interface:3.0.2'
```
Published: 2021-02-18T14:26:00.383253Z
Expected archive SHA-256: 03578c10afc6d3d60c0585f278cb697ffb7d32ebec539859e492ab88b47ef5af

Available in cache; verification: upstream_checksum
## Direct dependencies
- collection: ^1.14.3
- firebase_core: ^0.7.0
- flutter: map[sdk:flutter]
- meta: ^1.0.5
- plugin_platform_interface: ^1.0.0

## Package README (untrusted upstream documentation)
# cloud_firestore_platform_interface

A common platform interface for the [`cloud_firestore`][1] plugin.

This interface allows platform-specific implementations of the `cloud_firestore`
plugin, as well as the plugin itself, to ensure they are supporting the
same interface.

## Usage

To implement a new platform-specific implementation of `cloud_firestore`, extend
[`FirebaseFirestorePlatform`][2] with an implementation that performs the
platform-specific behavior, and when you register your plugin, set the default
`FirebaseFirestorePlatform` by calling
`FirebaseFirestorePlatform.instance = MyFirestore()`.

## Note on breaking changes

Strongly prefer non-breaking changes (such as adding a method to the interface)
over breaking changes for this package.

See https://flutter.dev/go/platform-interface-breaking-changes for a discussion
on why a less-clean interface is preferable to a breaking change.

[1]: ../cloud_firestore
[2]: lib/cloud_firestore_platform_interface.dart

## Changelog
## 3.0.2

 - **FIX**: allow negative timestamp values (#3565).

## 3.0.1

 - Update a dependency to the latest release.

## 3.0.0

> Note: This release has breaking changes.

 - **FEAT**: Move Snapshot handling into a EventChannel (#4209).
 - **BREAKING** **REFACTOR**: remove all currently deprecated APIs (#4594).

## 2.2.1

 - Update a dependency to the latest release.

## 2.2.0

 - **FEAT**: migrate firebase interop files to local repository (#3973).
 - **CHORE**: publish packages.
 - **CHORE**: publish packages.

## 2.1.3

 - Update a dependency to the latest release.

## 2.1.2

 - **FIX**: bubble exceptions (#3701).
 - **FIX**: fix returning of transaction result (#3747).

## 2.1.1

 - **FIX**: typo in code comments (#3655).
 - **DOCS**: remove `updateBlock` reference in Firestore docs (#3728).

## 2.1.0

 - **FIX**: check for Stream existence before sending event (#3435).
 - **FEAT**: add a [] operator to DocumentSnapshot, acting as get() (#3387).
 - **DOCS**: Fixed docs typo (#3471).

## 2.0.1

 - Fixed 2 race conditions. [(#3251)](https://github.com/FirebaseExtended/flutterfire/pull/3251)
   - When a snapshot stream unsubscribes, the Dart Stream is removed at the same time an async request to remove the native listener is sent. In some cases, an event is sent from native before the native listener has been removed, but after the Dart Stream is removed, causing an assertion error.
   - If a widget updates in a very short period of time, the `onCancel` stream handler is called pretty much straight away. Since setting up the stream handler takes longer than removing, in some edge cases it's trying to remove a listener which hasn't been created.

## 2.0.0

* See `cloud_firestore` plugin changelog.

## 1.1.2

* Update lower bound of dart dependency to 2.0.0.

## 1.1.1

* Fixed formatting in the CHANGELOG.

## 1.1.0

* Updated `FieldValueFactoryPlatform` to use generics.
* `FieldValuePlatform` no longer extends `PlatformInterface`.
* `MethodChannelFieldValue` no longer extends `FieldValuePlatform` and supports equality comparison.
* Fixed the file name of a test.

## 1.0.1

* Make the pedantic dev_dependency explicit.

## 1.0.0

* Created Platform Interface







 
