@firebase/firestore 3.4.4 → 3.4.5-2022116201138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/firestore/src/api/credentials.d.ts +1 -0
- package/dist/firestore/src/api/{query.d.ts → filter.d.ts} +0 -0
- package/dist/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/firestore/src/api.d.ts +1 -1
- package/dist/firestore/src/core/database_info.d.ts +1 -0
- package/dist/firestore/src/core/target.d.ts +34 -5
- package/dist/firestore/src/index/index_byte_encoder.d.ts +18 -1
- package/dist/firestore/src/index/index_entry.d.ts +26 -0
- package/dist/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/firestore/src/local/document_overlay_cache.d.ts +72 -0
- package/dist/firestore/src/local/index_manager.d.ts +52 -0
- package/dist/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
- package/dist/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
- package/dist/firestore/src/local/indexeddb_persistence.d.ts +6 -4
- package/dist/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
- package/dist/firestore/src/local/indexeddb_schema.d.ts +195 -7
- package/dist/firestore/src/local/local_documents_view.d.ts +0 -1
- package/dist/firestore/src/local/local_serializer.d.ts +19 -3
- package/dist/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
- package/dist/firestore/src/local/memory_index_manager.d.ts +11 -0
- package/dist/firestore/src/local/memory_persistence.d.ts +6 -2
- package/dist/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
- package/dist/firestore/src/local/persistence.d.ts +8 -2
- package/dist/firestore/src/local/remote_document_cache.d.ts +7 -9
- package/dist/firestore/src/local/remote_document_change_buffer.d.ts +3 -12
- package/dist/firestore/src/local/simple_db.d.ts +1 -0
- package/dist/firestore/src/model/document.d.ts +7 -0
- package/dist/firestore/src/model/document_key.d.ts +6 -0
- package/dist/firestore/src/model/field_index.d.ts +87 -7
- package/dist/firestore/src/model/overlay.d.ts +32 -0
- package/dist/firestore/src/model/target_index_matcher.d.ts +70 -0
- package/dist/firestore/src/model/values.d.ts +7 -0
- package/dist/firestore/src/platform/node/grpc_connection.d.ts +2 -2
- package/dist/firestore/src/platform/node/load_protos.d.ts +2 -2
- package/dist/firestore/src/util/sorted_set.d.ts +18 -0
- package/dist/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
- package/dist/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
- package/dist/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
- package/dist/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
- package/dist/firestore/test/unit/local/test_index_manager.d.ts +11 -0
- package/dist/firestore/test/unit/local/test_remote_document_cache.d.ts +5 -3
- package/dist/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/firestore/test/unit/model/field_index.test.d.ts +17 -0
- package/dist/firestore/test/unit/model/target.test.d.ts +17 -0
- package/dist/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/firestore/test/util/helpers.d.ts +8 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.esm2017.js +4815 -3708
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +4500 -3545
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.node.cjs.js +2001 -389
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.node.mjs +1981 -390
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.rn.js +4798 -3733
- package/dist/index.rn.js.map +1 -1
- package/dist/internal.d.ts +265 -26
- package/dist/lite/firestore/src/api/credentials.d.ts +1 -0
- package/dist/lite/firestore/src/api/{query.d.ts → filter.d.ts} +0 -0
- package/dist/lite/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/lite/firestore/src/api.d.ts +1 -1
- package/dist/lite/firestore/src/core/database_info.d.ts +1 -0
- package/dist/lite/firestore/src/core/target.d.ts +34 -5
- package/dist/lite/firestore/src/index/index_byte_encoder.d.ts +18 -1
- package/dist/lite/firestore/src/index/index_entry.d.ts +26 -0
- package/dist/lite/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/lite/firestore/src/local/document_overlay_cache.d.ts +72 -0
- package/dist/lite/firestore/src/local/index_manager.d.ts +52 -0
- package/dist/lite/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
- package/dist/lite/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
- package/dist/lite/firestore/src/local/indexeddb_persistence.d.ts +6 -4
- package/dist/lite/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
- package/dist/lite/firestore/src/local/indexeddb_schema.d.ts +195 -7
- package/dist/lite/firestore/src/local/local_documents_view.d.ts +0 -1
- package/dist/lite/firestore/src/local/local_serializer.d.ts +19 -3
- package/dist/lite/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
- package/dist/lite/firestore/src/local/memory_index_manager.d.ts +11 -0
- package/dist/lite/firestore/src/local/memory_persistence.d.ts +6 -2
- package/dist/lite/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
- package/dist/lite/firestore/src/local/persistence.d.ts +8 -2
- package/dist/lite/firestore/src/local/remote_document_cache.d.ts +7 -9
- package/dist/lite/firestore/src/local/remote_document_change_buffer.d.ts +3 -12
- package/dist/lite/firestore/src/local/simple_db.d.ts +1 -0
- package/dist/lite/firestore/src/model/document.d.ts +7 -0
- package/dist/lite/firestore/src/model/document_key.d.ts +6 -0
- package/dist/lite/firestore/src/model/field_index.d.ts +87 -7
- package/dist/lite/firestore/src/model/overlay.d.ts +32 -0
- package/dist/lite/firestore/src/model/target_index_matcher.d.ts +70 -0
- package/dist/lite/firestore/src/model/values.d.ts +7 -0
- package/dist/lite/firestore/src/platform/node/grpc_connection.d.ts +2 -2
- package/dist/lite/firestore/src/platform/node/load_protos.d.ts +2 -2
- package/dist/lite/firestore/src/util/sorted_set.d.ts +18 -0
- package/dist/lite/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
- package/dist/lite/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
- package/dist/lite/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
- package/dist/lite/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
- package/dist/lite/firestore/test/unit/local/test_index_manager.d.ts +11 -0
- package/dist/lite/firestore/test/unit/local/test_remote_document_cache.d.ts +5 -3
- package/dist/lite/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/lite/firestore/test/unit/model/field_index.test.d.ts +17 -0
- package/dist/lite/firestore/test/unit/model/target.test.d.ts +17 -0
- package/dist/lite/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/lite/firestore/test/util/helpers.d.ts +8 -2
- package/dist/lite/index.browser.esm2017.js +1166 -1143
- package/dist/lite/index.browser.esm2017.js.map +1 -1
- package/dist/lite/index.browser.esm5.js +357 -337
- package/dist/lite/index.browser.esm5.js.map +1 -1
- package/dist/lite/index.node.cjs.js +64 -34
- package/dist/lite/index.node.cjs.js.map +1 -1
- package/dist/lite/index.node.mjs +64 -34
- package/dist/lite/index.node.mjs.map +1 -1
- package/dist/lite/index.rn.esm2017.js +344 -321
- package/dist/lite/index.rn.esm2017.js.map +1 -1
- package/dist/lite/internal.d.ts +16 -2
- package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +122 -121
- package/dist/lite/packages/firestore/src/api/credentials.d.ts +1 -0
- package/dist/lite/packages/firestore/src/api/{query.d.ts → filter.d.ts} +0 -0
- package/dist/lite/packages/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/lite/packages/firestore/src/api.d.ts +1 -1
- package/dist/lite/packages/firestore/src/core/database_info.d.ts +1 -0
- package/dist/lite/packages/firestore/src/core/target.d.ts +34 -5
- package/dist/lite/packages/firestore/src/index/index_byte_encoder.d.ts +18 -1
- package/dist/lite/packages/firestore/src/index/index_entry.d.ts +26 -0
- package/dist/lite/packages/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/lite/packages/firestore/src/local/document_overlay_cache.d.ts +72 -0
- package/dist/lite/packages/firestore/src/local/index_manager.d.ts +52 -0
- package/dist/lite/packages/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
- package/dist/lite/packages/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
- package/dist/lite/packages/firestore/src/local/indexeddb_persistence.d.ts +6 -4
- package/dist/lite/packages/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
- package/dist/lite/packages/firestore/src/local/indexeddb_schema.d.ts +195 -7
- package/dist/lite/packages/firestore/src/local/local_documents_view.d.ts +0 -1
- package/dist/lite/packages/firestore/src/local/local_serializer.d.ts +19 -3
- package/dist/lite/packages/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
- package/dist/lite/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
- package/dist/lite/packages/firestore/src/local/memory_persistence.d.ts +6 -2
- package/dist/lite/packages/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
- package/dist/lite/packages/firestore/src/local/persistence.d.ts +8 -2
- package/dist/lite/packages/firestore/src/local/remote_document_cache.d.ts +7 -9
- package/dist/lite/packages/firestore/src/local/remote_document_change_buffer.d.ts +3 -12
- package/dist/lite/packages/firestore/src/local/simple_db.d.ts +1 -0
- package/dist/lite/packages/firestore/src/model/document.d.ts +7 -0
- package/dist/lite/packages/firestore/src/model/document_key.d.ts +6 -0
- package/dist/lite/packages/firestore/src/model/field_index.d.ts +87 -7
- package/dist/lite/packages/firestore/src/model/overlay.d.ts +32 -0
- package/dist/lite/packages/firestore/src/model/target_index_matcher.d.ts +70 -0
- package/dist/lite/packages/firestore/src/model/values.d.ts +7 -0
- package/dist/lite/packages/firestore/src/platform/node/grpc_connection.d.ts +2 -2
- package/dist/lite/packages/firestore/src/platform/node/load_protos.d.ts +2 -2
- package/dist/lite/packages/firestore/src/util/sorted_set.d.ts +18 -0
- package/dist/lite/packages/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
- package/dist/lite/packages/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
- package/dist/lite/packages/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
- package/dist/lite/packages/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
- package/dist/lite/packages/firestore/test/unit/local/test_index_manager.d.ts +11 -0
- package/dist/lite/packages/firestore/test/unit/local/test_remote_document_cache.d.ts +5 -3
- package/dist/lite/packages/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/lite/packages/firestore/test/unit/model/field_index.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/unit/model/target.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/util/helpers.d.ts +8 -2
- package/dist/lite/private.d.ts +9 -2
- package/dist/packages/firestore/dist/index.esm2017.d.ts +199 -194
- package/dist/packages/firestore/src/api/credentials.d.ts +1 -0
- package/dist/packages/firestore/src/api/{query.d.ts → filter.d.ts} +0 -0
- package/dist/packages/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/packages/firestore/src/api.d.ts +1 -1
- package/dist/packages/firestore/src/core/database_info.d.ts +1 -0
- package/dist/packages/firestore/src/core/target.d.ts +34 -5
- package/dist/packages/firestore/src/index/index_byte_encoder.d.ts +18 -1
- package/dist/packages/firestore/src/index/index_entry.d.ts +26 -0
- package/dist/packages/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/packages/firestore/src/local/document_overlay_cache.d.ts +72 -0
- package/dist/packages/firestore/src/local/index_manager.d.ts +52 -0
- package/dist/packages/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
- package/dist/packages/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
- package/dist/packages/firestore/src/local/indexeddb_persistence.d.ts +6 -4
- package/dist/packages/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
- package/dist/packages/firestore/src/local/indexeddb_schema.d.ts +195 -7
- package/dist/packages/firestore/src/local/local_documents_view.d.ts +0 -1
- package/dist/packages/firestore/src/local/local_serializer.d.ts +19 -3
- package/dist/packages/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
- package/dist/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
- package/dist/packages/firestore/src/local/memory_persistence.d.ts +6 -2
- package/dist/packages/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
- package/dist/packages/firestore/src/local/persistence.d.ts +8 -2
- package/dist/packages/firestore/src/local/remote_document_cache.d.ts +7 -9
- package/dist/packages/firestore/src/local/remote_document_change_buffer.d.ts +3 -12
- package/dist/packages/firestore/src/local/simple_db.d.ts +1 -0
- package/dist/packages/firestore/src/model/document.d.ts +7 -0
- package/dist/packages/firestore/src/model/document_key.d.ts +6 -0
- package/dist/packages/firestore/src/model/field_index.d.ts +87 -7
- package/dist/packages/firestore/src/model/overlay.d.ts +32 -0
- package/dist/packages/firestore/src/model/target_index_matcher.d.ts +70 -0
- package/dist/packages/firestore/src/model/values.d.ts +7 -0
- package/dist/packages/firestore/src/platform/node/grpc_connection.d.ts +2 -2
- package/dist/packages/firestore/src/platform/node/load_protos.d.ts +2 -2
- package/dist/packages/firestore/src/util/sorted_set.d.ts +18 -0
- package/dist/packages/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
- package/dist/packages/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
- package/dist/packages/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
- package/dist/packages/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
- package/dist/packages/firestore/test/unit/local/test_index_manager.d.ts +11 -0
- package/dist/packages/firestore/test/unit/local/test_remote_document_cache.d.ts +5 -3
- package/dist/packages/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/packages/firestore/test/unit/model/field_index.test.d.ts +17 -0
- package/dist/packages/firestore/test/unit/model/target.test.d.ts +17 -0
- package/dist/packages/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/packages/firestore/test/util/helpers.d.ts +8 -2
- package/dist/private.d.ts +258 -26
- package/package.json +4 -4
package/dist/lite/index.node.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { FirebaseError, createMockUserToken, getModularInstance } from '@firebas
|
|
|
6
6
|
import nodeFetch from 'node-fetch';
|
|
7
7
|
import { randomBytes as randomBytes$1 } from 'crypto';
|
|
8
8
|
|
|
9
|
-
const version$1 = "3.4.
|
|
9
|
+
const version$1 = "3.4.5-2022116201138";
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @license
|
|
@@ -59,7 +59,7 @@ User.GOOGLE_CREDENTIALS = new User('google-credentials-uid');
|
|
|
59
59
|
User.FIRST_PARTY = new User('first-party-uid');
|
|
60
60
|
User.MOCK_USER = new User('mock-user');
|
|
61
61
|
|
|
62
|
-
const version = "9.6.
|
|
62
|
+
const version = "9.6.7-2022116201138";
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* @license
|
|
@@ -658,6 +658,9 @@ class DatabaseId {
|
|
|
658
658
|
this.projectId = projectId;
|
|
659
659
|
this.database = database ? database : DEFAULT_DATABASE_NAME;
|
|
660
660
|
}
|
|
661
|
+
static empty() {
|
|
662
|
+
return new DatabaseId('', '');
|
|
663
|
+
}
|
|
661
664
|
get isDefaultDatabase() {
|
|
662
665
|
return this.database === DEFAULT_DATABASE_NAME;
|
|
663
666
|
}
|
|
@@ -971,11 +974,25 @@ class DocumentKey {
|
|
|
971
974
|
static fromName(name) {
|
|
972
975
|
return new DocumentKey(ResourcePath.fromString(name).popFirst(5));
|
|
973
976
|
}
|
|
977
|
+
static empty() {
|
|
978
|
+
return new DocumentKey(ResourcePath.emptyPath());
|
|
979
|
+
}
|
|
980
|
+
get collectionGroup() {
|
|
981
|
+
return this.path.popLast().lastSegment();
|
|
982
|
+
}
|
|
974
983
|
/** Returns true if the document is in the specified collectionId. */
|
|
975
984
|
hasCollectionId(collectionId) {
|
|
976
985
|
return (this.path.length >= 2 &&
|
|
977
986
|
this.path.get(this.path.length - 2) === collectionId);
|
|
978
987
|
}
|
|
988
|
+
/** Returns the collection group (i.e. the name of the parent collection) for this key. */
|
|
989
|
+
getCollectionGroup() {
|
|
990
|
+
return this.path.get(this.path.length - 2);
|
|
991
|
+
}
|
|
992
|
+
/** Returns the fully qualified path to the parent collection. */
|
|
993
|
+
getCollectionPath() {
|
|
994
|
+
return this.path.popLast();
|
|
995
|
+
}
|
|
979
996
|
isEqual(other) {
|
|
980
997
|
return (other !== null && ResourcePath.comparator(this.path, other.path) === 0);
|
|
981
998
|
}
|
|
@@ -2638,10 +2655,11 @@ class ObjectValue {
|
|
|
2638
2655
|
* from all views.
|
|
2639
2656
|
*/
|
|
2640
2657
|
class MutableDocument {
|
|
2641
|
-
constructor(key, documentType, version, data, documentState) {
|
|
2658
|
+
constructor(key, documentType, version, readTime, data, documentState) {
|
|
2642
2659
|
this.key = key;
|
|
2643
2660
|
this.documentType = documentType;
|
|
2644
2661
|
this.version = version;
|
|
2662
|
+
this.readTime = readTime;
|
|
2645
2663
|
this.data = data;
|
|
2646
2664
|
this.documentState = documentState;
|
|
2647
2665
|
}
|
|
@@ -2650,18 +2668,18 @@ class MutableDocument {
|
|
|
2650
2668
|
* base document for mutations.
|
|
2651
2669
|
*/
|
|
2652
2670
|
static newInvalidDocument(documentKey) {
|
|
2653
|
-
return new MutableDocument(documentKey, 0 /* INVALID */, SnapshotVersion.min(), ObjectValue.empty(), 0 /* SYNCED */);
|
|
2671
|
+
return new MutableDocument(documentKey, 0 /* INVALID */, SnapshotVersion.min(), SnapshotVersion.min(), ObjectValue.empty(), 0 /* SYNCED */);
|
|
2654
2672
|
}
|
|
2655
2673
|
/**
|
|
2656
2674
|
* Creates a new document that is known to exist with the given data at the
|
|
2657
2675
|
* given version.
|
|
2658
2676
|
*/
|
|
2659
2677
|
static newFoundDocument(documentKey, version, value) {
|
|
2660
|
-
return new MutableDocument(documentKey, 1 /* FOUND_DOCUMENT */, version, value, 0 /* SYNCED */);
|
|
2678
|
+
return new MutableDocument(documentKey, 1 /* FOUND_DOCUMENT */, version, SnapshotVersion.min(), value, 0 /* SYNCED */);
|
|
2661
2679
|
}
|
|
2662
2680
|
/** Creates a new document that is known to not exist at the given version. */
|
|
2663
2681
|
static newNoDocument(documentKey, version) {
|
|
2664
|
-
return new MutableDocument(documentKey, 2 /* NO_DOCUMENT */, version, ObjectValue.empty(), 0 /* SYNCED */);
|
|
2682
|
+
return new MutableDocument(documentKey, 2 /* NO_DOCUMENT */, version, SnapshotVersion.min(), ObjectValue.empty(), 0 /* SYNCED */);
|
|
2665
2683
|
}
|
|
2666
2684
|
/**
|
|
2667
2685
|
* Creates a new document that is known to exist at the given version but
|
|
@@ -2669,7 +2687,7 @@ class MutableDocument {
|
|
|
2669
2687
|
* base document).
|
|
2670
2688
|
*/
|
|
2671
2689
|
static newUnknownDocument(documentKey, version) {
|
|
2672
|
-
return new MutableDocument(documentKey, 3 /* UNKNOWN_DOCUMENT */, version, ObjectValue.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
|
|
2690
|
+
return new MutableDocument(documentKey, 3 /* UNKNOWN_DOCUMENT */, version, SnapshotVersion.min(), ObjectValue.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
|
|
2673
2691
|
}
|
|
2674
2692
|
/**
|
|
2675
2693
|
* Changes the document type to indicate that it exists and that its version
|
|
@@ -2713,6 +2731,10 @@ class MutableDocument {
|
|
|
2713
2731
|
this.documentState = 1 /* HAS_LOCAL_MUTATIONS */;
|
|
2714
2732
|
return this;
|
|
2715
2733
|
}
|
|
2734
|
+
setReadTime(readTime) {
|
|
2735
|
+
this.readTime = readTime;
|
|
2736
|
+
return this;
|
|
2737
|
+
}
|
|
2716
2738
|
get hasLocalMutations() {
|
|
2717
2739
|
return this.documentState === 1 /* HAS_LOCAL_MUTATIONS */;
|
|
2718
2740
|
}
|
|
@@ -2743,7 +2765,7 @@ class MutableDocument {
|
|
|
2743
2765
|
this.data.isEqual(other.data));
|
|
2744
2766
|
}
|
|
2745
2767
|
mutableCopy() {
|
|
2746
|
-
return new MutableDocument(this.key, this.documentType, this.version, this.data.clone(), this.documentState);
|
|
2768
|
+
return new MutableDocument(this.key, this.documentType, this.version, this.readTime, this.data.clone(), this.documentState);
|
|
2747
2769
|
}
|
|
2748
2770
|
toString() {
|
|
2749
2771
|
return (`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, ` +
|
|
@@ -3009,9 +3031,9 @@ class ArrayContainsAnyFilter extends FieldFilter {
|
|
|
3009
3031
|
* just after the provided values.
|
|
3010
3032
|
*/
|
|
3011
3033
|
class Bound {
|
|
3012
|
-
constructor(position,
|
|
3034
|
+
constructor(position, inclusive) {
|
|
3013
3035
|
this.position = position;
|
|
3014
|
-
this.
|
|
3036
|
+
this.inclusive = inclusive;
|
|
3015
3037
|
}
|
|
3016
3038
|
}
|
|
3017
3039
|
/**
|
|
@@ -3033,7 +3055,7 @@ function boundEquals(left, right) {
|
|
|
3033
3055
|
else if (right === null) {
|
|
3034
3056
|
return false;
|
|
3035
3057
|
}
|
|
3036
|
-
if (left.
|
|
3058
|
+
if (left.inclusive !== right.inclusive ||
|
|
3037
3059
|
left.position.length !== right.position.length) {
|
|
3038
3060
|
return false;
|
|
3039
3061
|
}
|
|
@@ -3198,10 +3220,10 @@ function queryToTarget(query) {
|
|
|
3198
3220
|
}
|
|
3199
3221
|
// We need to swap the cursors to match the now-flipped query ordering.
|
|
3200
3222
|
const startAt = queryImpl.endAt
|
|
3201
|
-
? new Bound(queryImpl.endAt.position, !queryImpl.endAt.
|
|
3223
|
+
? new Bound(queryImpl.endAt.position, !queryImpl.endAt.inclusive)
|
|
3202
3224
|
: null;
|
|
3203
3225
|
const endAt = queryImpl.startAt
|
|
3204
|
-
? new Bound(queryImpl.startAt.position, !queryImpl.startAt.
|
|
3226
|
+
? new Bound(queryImpl.startAt.position, !queryImpl.startAt.inclusive)
|
|
3205
3227
|
: null;
|
|
3206
3228
|
// Now return as a LimitType.First query.
|
|
3207
3229
|
queryImpl.memoizedTarget = newTarget(queryImpl.path, queryImpl.collectionGroup, orderBys, queryImpl.filters, queryImpl.limit, startAt, endAt);
|
|
@@ -3829,10 +3851,10 @@ function toQueryTarget(serializer, target) {
|
|
|
3829
3851
|
result.structuredQuery.limit = limit;
|
|
3830
3852
|
}
|
|
3831
3853
|
if (target.startAt) {
|
|
3832
|
-
result.structuredQuery.startAt =
|
|
3854
|
+
result.structuredQuery.startAt = toStartAtCursor(target.startAt);
|
|
3833
3855
|
}
|
|
3834
3856
|
if (target.endAt) {
|
|
3835
|
-
result.structuredQuery.endAt =
|
|
3857
|
+
result.structuredQuery.endAt = toEndAtCursor(target.endAt);
|
|
3836
3858
|
}
|
|
3837
3859
|
return result;
|
|
3838
3860
|
}
|
|
@@ -3854,9 +3876,15 @@ function toOrder(orderBys) {
|
|
|
3854
3876
|
}
|
|
3855
3877
|
return orderBys.map(order => toPropertyOrder(order));
|
|
3856
3878
|
}
|
|
3857
|
-
function
|
|
3879
|
+
function toStartAtCursor(cursor) {
|
|
3880
|
+
return {
|
|
3881
|
+
before: cursor.inclusive,
|
|
3882
|
+
values: cursor.position
|
|
3883
|
+
};
|
|
3884
|
+
}
|
|
3885
|
+
function toEndAtCursor(cursor) {
|
|
3858
3886
|
return {
|
|
3859
|
-
before: cursor.
|
|
3887
|
+
before: !cursor.inclusive,
|
|
3860
3888
|
values: cursor.position
|
|
3861
3889
|
};
|
|
3862
3890
|
}
|
|
@@ -6133,51 +6161,53 @@ function limitToLast(limit) {
|
|
|
6133
6161
|
return new QueryLimitConstraint('limitToLast', limit, "L" /* Last */);
|
|
6134
6162
|
}
|
|
6135
6163
|
class QueryStartAtConstraint extends QueryConstraint {
|
|
6136
|
-
constructor(type, _docOrFields,
|
|
6164
|
+
constructor(type, _docOrFields, _inclusive) {
|
|
6137
6165
|
super();
|
|
6138
6166
|
this.type = type;
|
|
6139
6167
|
this._docOrFields = _docOrFields;
|
|
6140
|
-
this.
|
|
6168
|
+
this._inclusive = _inclusive;
|
|
6141
6169
|
}
|
|
6142
6170
|
_apply(query) {
|
|
6143
|
-
const bound = newQueryBoundFromDocOrFields(query, this.type, this._docOrFields, this.
|
|
6171
|
+
const bound = newQueryBoundFromDocOrFields(query, this.type, this._docOrFields, this._inclusive);
|
|
6144
6172
|
return new Query(query.firestore, query.converter, queryWithStartAt(query._query, bound));
|
|
6145
6173
|
}
|
|
6146
6174
|
}
|
|
6147
6175
|
function startAt(...docOrFields) {
|
|
6148
|
-
return new QueryStartAtConstraint('startAt', docOrFields,
|
|
6176
|
+
return new QueryStartAtConstraint('startAt', docOrFields,
|
|
6177
|
+
/*inclusive=*/ true);
|
|
6149
6178
|
}
|
|
6150
6179
|
function startAfter(...docOrFields) {
|
|
6151
6180
|
return new QueryStartAtConstraint('startAfter', docOrFields,
|
|
6152
|
-
/*
|
|
6181
|
+
/*inclusive=*/ false);
|
|
6153
6182
|
}
|
|
6154
6183
|
class QueryEndAtConstraint extends QueryConstraint {
|
|
6155
|
-
constructor(type, _docOrFields,
|
|
6184
|
+
constructor(type, _docOrFields, _inclusive) {
|
|
6156
6185
|
super();
|
|
6157
6186
|
this.type = type;
|
|
6158
6187
|
this._docOrFields = _docOrFields;
|
|
6159
|
-
this.
|
|
6188
|
+
this._inclusive = _inclusive;
|
|
6160
6189
|
}
|
|
6161
6190
|
_apply(query) {
|
|
6162
|
-
const bound = newQueryBoundFromDocOrFields(query, this.type, this._docOrFields, this.
|
|
6191
|
+
const bound = newQueryBoundFromDocOrFields(query, this.type, this._docOrFields, this._inclusive);
|
|
6163
6192
|
return new Query(query.firestore, query.converter, queryWithEndAt(query._query, bound));
|
|
6164
6193
|
}
|
|
6165
6194
|
}
|
|
6166
6195
|
function endBefore(...docOrFields) {
|
|
6167
|
-
return new QueryEndAtConstraint('endBefore', docOrFields,
|
|
6196
|
+
return new QueryEndAtConstraint('endBefore', docOrFields,
|
|
6197
|
+
/*inclusive=*/ false);
|
|
6168
6198
|
}
|
|
6169
6199
|
function endAt(...docOrFields) {
|
|
6170
|
-
return new QueryEndAtConstraint('endAt', docOrFields, /*
|
|
6200
|
+
return new QueryEndAtConstraint('endAt', docOrFields, /*inclusive=*/ true);
|
|
6171
6201
|
}
|
|
6172
6202
|
/** Helper function to create a bound from a document or fields */
|
|
6173
|
-
function newQueryBoundFromDocOrFields(query, methodName, docOrFields,
|
|
6203
|
+
function newQueryBoundFromDocOrFields(query, methodName, docOrFields, inclusive) {
|
|
6174
6204
|
docOrFields[0] = getModularInstance(docOrFields[0]);
|
|
6175
6205
|
if (docOrFields[0] instanceof DocumentSnapshot) {
|
|
6176
|
-
return newQueryBoundFromDocument(query._query, query.firestore._databaseId, methodName, docOrFields[0]._document,
|
|
6206
|
+
return newQueryBoundFromDocument(query._query, query.firestore._databaseId, methodName, docOrFields[0]._document, inclusive);
|
|
6177
6207
|
}
|
|
6178
6208
|
else {
|
|
6179
6209
|
const reader = newUserDataReader(query.firestore);
|
|
6180
|
-
return newQueryBoundFromFields(query._query, query.firestore._databaseId, reader, methodName, docOrFields,
|
|
6210
|
+
return newQueryBoundFromFields(query._query, query.firestore._databaseId, reader, methodName, docOrFields, inclusive);
|
|
6181
6211
|
}
|
|
6182
6212
|
}
|
|
6183
6213
|
function newQueryFilter(query, methodName, dataReader, databaseId, fieldPath, op, value) {
|
|
@@ -6235,7 +6265,7 @@ function newQueryOrderBy(query, fieldPath, direction) {
|
|
|
6235
6265
|
* of the query or if any of the fields in the order by are an uncommitted
|
|
6236
6266
|
* server timestamp.
|
|
6237
6267
|
*/
|
|
6238
|
-
function newQueryBoundFromDocument(query, databaseId, methodName, doc,
|
|
6268
|
+
function newQueryBoundFromDocument(query, databaseId, methodName, doc, inclusive) {
|
|
6239
6269
|
if (!doc) {
|
|
6240
6270
|
throw new FirestoreError(Code.NOT_FOUND, `Can't use a DocumentSnapshot that doesn't exist for ` +
|
|
6241
6271
|
`${methodName}().`);
|
|
@@ -6272,12 +6302,12 @@ function newQueryBoundFromDocument(query, databaseId, methodName, doc, before) {
|
|
|
6272
6302
|
}
|
|
6273
6303
|
}
|
|
6274
6304
|
}
|
|
6275
|
-
return new Bound(components,
|
|
6305
|
+
return new Bound(components, inclusive);
|
|
6276
6306
|
}
|
|
6277
6307
|
/**
|
|
6278
6308
|
* Converts a list of field values to a `Bound` for the given query.
|
|
6279
6309
|
*/
|
|
6280
|
-
function newQueryBoundFromFields(query, databaseId, dataReader, methodName, values,
|
|
6310
|
+
function newQueryBoundFromFields(query, databaseId, dataReader, methodName, values, inclusive) {
|
|
6281
6311
|
// Use explicit order by's because it has to match the query the user made
|
|
6282
6312
|
const orderBy = query.explicitOrderBy;
|
|
6283
6313
|
if (values.length > orderBy.length) {
|
|
@@ -6314,7 +6344,7 @@ function newQueryBoundFromFields(query, databaseId, dataReader, methodName, valu
|
|
|
6314
6344
|
components.push(wrapped);
|
|
6315
6345
|
}
|
|
6316
6346
|
}
|
|
6317
|
-
return new Bound(components,
|
|
6347
|
+
return new Bound(components, inclusive);
|
|
6318
6348
|
}
|
|
6319
6349
|
/**
|
|
6320
6350
|
* Parses the given `documentIdValue` into a `ReferenceValue`, throwing
|