Files

Return to Package Diff Home.
Brought to you by Intrinsic.

Package Diff: react-native-firebase @ 5.4.1 .. 5.4.2

dist/index.d.ts

@@ -2592,6 +2592,8 @@
get(options?: Types.GetOptions): Promise<QuerySnapshot>;
+ isEqual(otherQuery: Query): boolean;
+
limit(limit: number): Query;
onSnapshot(

dist/modules/firestore/Query.js

@@ -85,6 +85,72 @@
return getNativeModule(this._firestore).collectionGet(this._referencePath.relativeName, this._fieldFilters, this._fieldOrders, this._queryOptions, options).then(nativeData => new QuerySnapshot(this._firestore, this, nativeData));
}
+ isEqual(otherQuery) {
+ if (!(otherQuery instanceof Query)) {
+ throw new Error('firebase.firestore.Query.isEqual(*) expects an instance of Query.');
+ }
+
+ if (this._firestore.app.name !== otherQuery._firestore.app.name) {
+ return false;
+ }
+
+ if (this._firestore.app.options.projectId !== otherQuery._firestore.app.options.projectId) {
+ return false;
+ }
+
+ if (this._fieldFilters.length !== otherQuery._fieldFilters.length) {
+ return false;
+ }
+
+ for (let i = 0; i < this._fieldFilters.length; i++) {
+ const thisFieldFilter = this._fieldFilters[i];
+ const otherFieldFilter = otherQuery._fieldFilters[i];
+
+ if (thisFieldFilter.fieldPath.string !== otherFieldFilter.fieldPath.string) {
+ return false;
+ }
+
+ if (thisFieldFilter.fieldPath.type !== otherFieldFilter.fieldPath.type) {
+ return false;
+ }
+
+ if (thisFieldFilter.value.type !== otherFieldFilter.value.type) {
+ return false;
+ }
+
+ if (thisFieldFilter.value.value !== otherFieldFilter.value.value) {
+ return false;
+ }
+
+ if (thisFieldFilter.operator !== otherFieldFilter.operator) {
+ return false;
+ }
+ }
+
+ if (this._fieldOrders.length !== otherQuery._fieldOrders.length) {
+ return false;
+ }
+
+ for (let i = 0; i < this._fieldOrders.length; i++) {
+ const thisFieldOrder = this._fieldOrders[i];
+ const otherFieldOrder = otherQuery._fieldOrders[i];
+
+ if (thisFieldOrder.direction !== otherFieldOrder.direction) {
+ return false;
+ }
+
+ if (thisFieldOrder.fieldPath.string !== otherFieldOrder.fieldPath.string) {
+ return false;
+ }
+
+ if (thisFieldOrder.fieldPath.type !== otherFieldOrder.fieldPath.type) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
limit(limit) {
// TODO: Validation
// validate.isInteger('n', n);

dist/modules/firestore/Query.js.flow

@@ -181,6 +181,73 @@
.then(nativeData => new QuerySnapshot(this._firestore, this, nativeData));
}
+ isEqual(otherQuery: Query): boolean {
+ if (!(otherQuery instanceof Query)) {
+ throw new Error(
+ 'firebase.firestore.Query.isEqual(*) expects an instance of Query.'
+ );
+ }
+
+ if (this._firestore.app.name !== otherQuery._firestore.app.name) {
+ return false;
+ }
+
+ if (
+ this._firestore.app.options.projectId !==
+ otherQuery._firestore.app.options.projectId
+ ) {
+ return false;
+ }
+
+ if (this._fieldFilters.length !== otherQuery._fieldFilters.length) {
+ return false;
+ }
+
+ for (let i = 0; i < this._fieldFilters.length; i++) {
+ const thisFieldFilter = this._fieldFilters[i];
+ const otherFieldFilter = otherQuery._fieldFilters[i];
+ if (
+ thisFieldFilter.fieldPath.string !== otherFieldFilter.fieldPath.string
+ ) {
+ return false;
+ }
+ if (thisFieldFilter.fieldPath.type !== otherFieldFilter.fieldPath.type) {
+ return false;
+ }
+ if (thisFieldFilter.value.type !== otherFieldFilter.value.type) {
+ return false;
+ }
+ if (thisFieldFilter.value.value !== otherFieldFilter.value.value) {
+ return false;
+ }
+ if (thisFieldFilter.operator !== otherFieldFilter.operator) {
+ return false;
+ }
+ }
+
+ if (this._fieldOrders.length !== otherQuery._fieldOrders.length) {
+ return false;
+ }
+
+ for (let i = 0; i < this._fieldOrders.length; i++) {
+ const thisFieldOrder = this._fieldOrders[i];
+ const otherFieldOrder = otherQuery._fieldOrders[i];
+ if (thisFieldOrder.direction !== otherFieldOrder.direction) {
+ return false;
+ }
+ if (
+ thisFieldOrder.fieldPath.string !== otherFieldOrder.fieldPath.string
+ ) {
+ return false;
+ }
+ if (thisFieldOrder.fieldPath.type !== otherFieldOrder.fieldPath.type) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
limit(limit: number): Query {
// TODO: Validation
// validate.isInteger('n', n);

dist/version.js

@@ -1,2 +1,2 @@
// generated by genversion
-module.exports = '5.4.1';
\ No newline at end of file
+module.exports = '5.4.2';
\ No newline at end of file

dist/version.js.flow

@@ -1,2 +1,2 @@
// generated by genversion
-module.exports = '5.4.1'
+module.exports = '5.4.2'

package.json

@@ -1,6 +1,6 @@
{
"name": "react-native-firebase",
- "version": "5.4.1",
+ "version": "5.4.2",
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
"description": "A well tested, feature rich Firebase implementation for React Native, supporting iOS & Android. Individual module support for Admob, Analytics, Auth, Crash Reporting, Cloud Firestore, Database, Dynamic Links, Functions, Messaging (FCM), Remote Config, Storage and more.",
"main": "dist/index.js",