@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
|
@@ -66,7 +66,7 @@ f.MOCK_USER = new f("mock-user");
|
|
|
66
66
|
* See the License for the specific language governing permissions and
|
|
67
67
|
* limitations under the License.
|
|
68
68
|
*/
|
|
69
|
-
let d = "9.6.
|
|
69
|
+
let d = "9.6.7-2022116201138";
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* @license
|
|
@@ -328,7 +328,7 @@ n) {
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
-
/** Credential provider for the Lite SDK. */ class
|
|
331
|
+
/** Credential provider for the Lite SDK. */ class G {
|
|
332
332
|
constructor(t) {
|
|
333
333
|
this.auth = null, t.onInit((t => {
|
|
334
334
|
this.auth = t;
|
|
@@ -349,7 +349,7 @@ n) {
|
|
|
349
349
|
* Technically this may no longer be necessary since the SDK should gracefully
|
|
350
350
|
* recover from unauthenticated errors (see b/33147818 for context), but it's
|
|
351
351
|
* safer to keep the implementation as-is.
|
|
352
|
-
*/ class
|
|
352
|
+
*/ class Q {
|
|
353
353
|
constructor(t, n, e) {
|
|
354
354
|
this.type = "FirstParty", this.user = f.FIRST_PARTY, this.headers = new Map, this.headers.set("X-Goog-AuthUser", n);
|
|
355
355
|
const r = t.auth.getAuthHeaderValueForFirstParty([]);
|
|
@@ -366,7 +366,7 @@ n) {
|
|
|
366
366
|
this.t = t, this.i = n, this.o = e;
|
|
367
367
|
}
|
|
368
368
|
getToken() {
|
|
369
|
-
return Promise.resolve(new
|
|
369
|
+
return Promise.resolve(new Q(this.t, this.i, this.o));
|
|
370
370
|
}
|
|
371
371
|
start(t, n) {
|
|
372
372
|
// Fire with initial uid.
|
|
@@ -450,6 +450,9 @@ class J {
|
|
|
450
450
|
constructor(t, n) {
|
|
451
451
|
this.projectId = t, this.database = n || "(default)";
|
|
452
452
|
}
|
|
453
|
+
static empty() {
|
|
454
|
+
return new J("", "");
|
|
455
|
+
}
|
|
453
456
|
get isDefaultDatabase() {
|
|
454
457
|
return "(default)" === this.database;
|
|
455
458
|
}
|
|
@@ -675,9 +678,21 @@ const tt = /^[_a-zA-Z][_a-zA-Z0-9]*$/;
|
|
|
675
678
|
static fromName(t) {
|
|
676
679
|
return new et(Z.fromString(t).popFirst(5));
|
|
677
680
|
}
|
|
681
|
+
static empty() {
|
|
682
|
+
return new et(Z.emptyPath());
|
|
683
|
+
}
|
|
684
|
+
get collectionGroup() {
|
|
685
|
+
return this.path.popLast().lastSegment();
|
|
686
|
+
}
|
|
678
687
|
/** Returns true if the document is in the specified collectionId. */ hasCollectionId(t) {
|
|
679
688
|
return this.path.length >= 2 && this.path.get(this.path.length - 2) === t;
|
|
680
689
|
}
|
|
690
|
+
/** Returns the collection group (i.e. the name of the parent collection) for this key. */ getCollectionGroup() {
|
|
691
|
+
return this.path.get(this.path.length - 2);
|
|
692
|
+
}
|
|
693
|
+
/** Returns the fully qualified path to the parent collection. */ getCollectionPath() {
|
|
694
|
+
return this.path.popLast();
|
|
695
|
+
}
|
|
681
696
|
isEqual(t) {
|
|
682
697
|
return null !== t && 0 === Z.comparator(this.path, t.path);
|
|
683
698
|
}
|
|
@@ -1889,12 +1904,12 @@ function kt(t, n) {
|
|
|
1889
1904
|
/**
|
|
1890
1905
|
* An ObjectValue represents a MapValue in the Firestore Proto and offers the
|
|
1891
1906
|
* ability to add and remove fields (via the ObjectValueBuilder).
|
|
1892
|
-
*/ class
|
|
1907
|
+
*/ class Gt {
|
|
1893
1908
|
constructor(t) {
|
|
1894
1909
|
this.value = t;
|
|
1895
1910
|
}
|
|
1896
1911
|
static empty() {
|
|
1897
|
-
return new
|
|
1912
|
+
return new Gt({
|
|
1898
1913
|
mapValue: {}
|
|
1899
1914
|
});
|
|
1900
1915
|
}
|
|
@@ -1975,7 +1990,7 @@ function kt(t, n) {
|
|
|
1975
1990
|
for (const n of e) delete t[n];
|
|
1976
1991
|
}
|
|
1977
1992
|
clone() {
|
|
1978
|
-
return new
|
|
1993
|
+
return new Gt(zt(this.value));
|
|
1979
1994
|
}
|
|
1980
1995
|
}
|
|
1981
1996
|
|
|
@@ -2004,31 +2019,32 @@ function kt(t, n) {
|
|
|
2004
2019
|
* not transition to one of these states even after all mutations have been
|
|
2005
2020
|
* applied, `isValidDocument()` returns false and the document should be removed
|
|
2006
2021
|
* from all views.
|
|
2007
|
-
*/ class
|
|
2008
|
-
constructor(t, n, e, r, s) {
|
|
2009
|
-
this.key = t, this.documentType = n, this.version = e, this.
|
|
2022
|
+
*/ class Qt {
|
|
2023
|
+
constructor(t, n, e, r, s, i) {
|
|
2024
|
+
this.key = t, this.documentType = n, this.version = e, this.readTime = r, this.data = s,
|
|
2025
|
+
this.documentState = i;
|
|
2010
2026
|
}
|
|
2011
2027
|
/**
|
|
2012
2028
|
* Creates a document with no known version or data, but which can serve as
|
|
2013
2029
|
* base document for mutations.
|
|
2014
2030
|
*/ static newInvalidDocument(t) {
|
|
2015
|
-
return new
|
|
2031
|
+
return new Qt(t, 0 /* INVALID */ , bt.min(), bt.min(), Gt.empty(), 0 /* SYNCED */);
|
|
2016
2032
|
}
|
|
2017
2033
|
/**
|
|
2018
2034
|
* Creates a new document that is known to exist with the given data at the
|
|
2019
2035
|
* given version.
|
|
2020
2036
|
*/ static newFoundDocument(t, n, e) {
|
|
2021
|
-
return new
|
|
2037
|
+
return new Qt(t, 1 /* FOUND_DOCUMENT */ , n, bt.min(), e, 0 /* SYNCED */);
|
|
2022
2038
|
}
|
|
2023
2039
|
/** Creates a new document that is known to not exist at the given version. */ static newNoDocument(t, n) {
|
|
2024
|
-
return new
|
|
2040
|
+
return new Qt(t, 2 /* NO_DOCUMENT */ , n, bt.min(), Gt.empty(), 0 /* SYNCED */);
|
|
2025
2041
|
}
|
|
2026
2042
|
/**
|
|
2027
2043
|
* Creates a new document that is known to exist at the given version but
|
|
2028
2044
|
* whose data is not known (e.g. a document that was updated without a known
|
|
2029
2045
|
* base document).
|
|
2030
2046
|
*/ static newUnknownDocument(t, n) {
|
|
2031
|
-
return new
|
|
2047
|
+
return new Qt(t, 3 /* UNKNOWN_DOCUMENT */ , n, bt.min(), Gt.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
|
|
2032
2048
|
}
|
|
2033
2049
|
/**
|
|
2034
2050
|
* Changes the document type to indicate that it exists and that its version
|
|
@@ -2041,7 +2057,7 @@ function kt(t, n) {
|
|
|
2041
2057
|
* Changes the document type to indicate that it doesn't exist at the given
|
|
2042
2058
|
* version.
|
|
2043
2059
|
*/ convertToNoDocument(t) {
|
|
2044
|
-
return this.version = t, this.documentType = 2 /* NO_DOCUMENT */ , this.data =
|
|
2060
|
+
return this.version = t, this.documentType = 2 /* NO_DOCUMENT */ , this.data = Gt.empty(),
|
|
2045
2061
|
this.documentState = 0 /* SYNCED */ , this;
|
|
2046
2062
|
}
|
|
2047
2063
|
/**
|
|
@@ -2049,7 +2065,7 @@ function kt(t, n) {
|
|
|
2049
2065
|
* that its data is not known (e.g. a document that was updated without a known
|
|
2050
2066
|
* base document).
|
|
2051
2067
|
*/ convertToUnknownDocument(t) {
|
|
2052
|
-
return this.version = t, this.documentType = 3 /* UNKNOWN_DOCUMENT */ , this.data =
|
|
2068
|
+
return this.version = t, this.documentType = 3 /* UNKNOWN_DOCUMENT */ , this.data = Gt.empty(),
|
|
2053
2069
|
this.documentState = 2 /* HAS_COMMITTED_MUTATIONS */ , this;
|
|
2054
2070
|
}
|
|
2055
2071
|
setHasCommittedMutations() {
|
|
@@ -2058,6 +2074,9 @@ function kt(t, n) {
|
|
|
2058
2074
|
setHasLocalMutations() {
|
|
2059
2075
|
return this.documentState = 1 /* HAS_LOCAL_MUTATIONS */ , this;
|
|
2060
2076
|
}
|
|
2077
|
+
setReadTime(t) {
|
|
2078
|
+
return this.readTime = t, this;
|
|
2079
|
+
}
|
|
2061
2080
|
get hasLocalMutations() {
|
|
2062
2081
|
return 1 /* HAS_LOCAL_MUTATIONS */ === this.documentState;
|
|
2063
2082
|
}
|
|
@@ -2080,10 +2099,10 @@ function kt(t, n) {
|
|
|
2080
2099
|
return 3 /* UNKNOWN_DOCUMENT */ === this.documentType;
|
|
2081
2100
|
}
|
|
2082
2101
|
isEqual(t) {
|
|
2083
|
-
return t instanceof
|
|
2102
|
+
return t instanceof Qt && this.key.isEqual(t.key) && this.version.isEqual(t.version) && this.documentType === t.documentType && this.documentState === t.documentState && this.data.isEqual(t.data);
|
|
2084
2103
|
}
|
|
2085
2104
|
mutableCopy() {
|
|
2086
|
-
return new
|
|
2105
|
+
return new Qt(this.key, this.documentType, this.version, this.readTime, this.data.clone(), this.documentState);
|
|
2087
2106
|
}
|
|
2088
2107
|
toString() {
|
|
2089
2108
|
return `Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`;
|
|
@@ -2264,7 +2283,7 @@ function Zt(t, n) {
|
|
|
2264
2283
|
* just after the provided values.
|
|
2265
2284
|
*/ class sn {
|
|
2266
2285
|
constructor(t, n) {
|
|
2267
|
-
this.position = t, this.
|
|
2286
|
+
this.position = t, this.inclusive = n;
|
|
2268
2287
|
}
|
|
2269
2288
|
}
|
|
2270
2289
|
|
|
@@ -2283,7 +2302,7 @@ function un(t, n) {
|
|
|
2283
2302
|
function cn(t, n) {
|
|
2284
2303
|
if (null === t) return null === n;
|
|
2285
2304
|
if (null === n) return !1;
|
|
2286
|
-
if (t.
|
|
2305
|
+
if (t.inclusive !== n.inclusive || t.position.length !== n.position.length) return !1;
|
|
2287
2306
|
for (let e = 0; e < t.position.length; e++) {
|
|
2288
2307
|
if (!qt(t.position[e], n.position[e])) return !1;
|
|
2289
2308
|
}
|
|
@@ -2389,7 +2408,7 @@ function dn(t) {
|
|
|
2389
2408
|
t.push(new on(e.field, n));
|
|
2390
2409
|
}
|
|
2391
2410
|
// We need to swap the cursors to match the now-flipped query ordering.
|
|
2392
|
-
const e = n.endAt ? new sn(n.endAt.position, !n.endAt.
|
|
2411
|
+
const e = n.endAt ? new sn(n.endAt.position, !n.endAt.inclusive) : null, r = n.startAt ? new sn(n.startAt.position, !n.startAt.inclusive) : null;
|
|
2393
2412
|
// Now return as a LimitType.First query.
|
|
2394
2413
|
n.S = Yt(n.path, n.collectionGroup, t, n.filters, n.limit, e, r);
|
|
2395
2414
|
}
|
|
@@ -2762,7 +2781,7 @@ function Ln(t, n) {
|
|
|
2762
2781
|
function kn(t, n) {
|
|
2763
2782
|
const e = function(t) {
|
|
2764
2783
|
const n = Z.fromString(t);
|
|
2765
|
-
return b(
|
|
2784
|
+
return b(Kn(n)), n;
|
|
2766
2785
|
}(n);
|
|
2767
2786
|
if (e.get(1) !== t.databaseId.projectId) throw new U(R, "Tried to deserialize key from different project: " + e.get(1) + " vs " + t.databaseId.projectId);
|
|
2768
2787
|
if (e.get(3) !== t.databaseId.database) throw new U(R, "Tried to deserialize key from different database: " + e.get(3) + " vs " + t.databaseId.database);
|
|
@@ -2788,16 +2807,16 @@ function Mn(t, n, e) {
|
|
|
2788
2807
|
function Bn(t, n) {
|
|
2789
2808
|
return "found" in n ? function(t, n) {
|
|
2790
2809
|
b(!!n.found), n.found.name, n.found.updateTime;
|
|
2791
|
-
const e = kn(t, n.found.name), r = On(n.found.updateTime), s = new
|
|
2810
|
+
const e = kn(t, n.found.name), r = On(n.found.updateTime), s = new Gt({
|
|
2792
2811
|
mapValue: {
|
|
2793
2812
|
fields: n.found.fields
|
|
2794
2813
|
}
|
|
2795
2814
|
});
|
|
2796
|
-
return
|
|
2815
|
+
return Qt.newFoundDocument(e, r, s);
|
|
2797
2816
|
}(t, n) : "missing" in n ? function(t, n) {
|
|
2798
2817
|
b(!!n.missing), b(!!n.readTime);
|
|
2799
2818
|
const e = kn(t, n.missing), r = On(n.readTime);
|
|
2800
|
-
return
|
|
2819
|
+
return Qt.newNoDocument(e, r);
|
|
2801
2820
|
}(t, n) : v();
|
|
2802
2821
|
}
|
|
2803
2822
|
|
|
@@ -2809,7 +2828,7 @@ function zn(t, n) {
|
|
|
2809
2828
|
delete: Ln(t, n.key)
|
|
2810
2829
|
}; else if (n instanceof Pn) e = {
|
|
2811
2830
|
update: Mn(t, n.key, n.data),
|
|
2812
|
-
updateMask:
|
|
2831
|
+
updateMask: Hn(n.fieldMask)
|
|
2813
2832
|
}; else {
|
|
2814
2833
|
if (!(n instanceof Nn)) return v();
|
|
2815
2834
|
e = {
|
|
@@ -2848,7 +2867,7 @@ function zn(t, n) {
|
|
|
2848
2867
|
}(t, n.precondition)), e;
|
|
2849
2868
|
}
|
|
2850
2869
|
|
|
2851
|
-
function
|
|
2870
|
+
function Gn(t, n) {
|
|
2852
2871
|
// Dissect the path into parent, collectionId, and optional key filter.
|
|
2853
2872
|
const e = {
|
|
2854
2873
|
structuredQuery: {}
|
|
@@ -2867,34 +2886,34 @@ function Qn(t, n) {
|
|
|
2867
2886
|
if ("==" /* EQUAL */ === t.op) {
|
|
2868
2887
|
if (Mt(t.value)) return {
|
|
2869
2888
|
unaryFilter: {
|
|
2870
|
-
field:
|
|
2889
|
+
field: Yn(t.field),
|
|
2871
2890
|
op: "IS_NAN"
|
|
2872
2891
|
}
|
|
2873
2892
|
};
|
|
2874
2893
|
if (jt(t.value)) return {
|
|
2875
2894
|
unaryFilter: {
|
|
2876
|
-
field:
|
|
2895
|
+
field: Yn(t.field),
|
|
2877
2896
|
op: "IS_NULL"
|
|
2878
2897
|
}
|
|
2879
2898
|
};
|
|
2880
2899
|
} else if ("!=" /* NOT_EQUAL */ === t.op) {
|
|
2881
2900
|
if (Mt(t.value)) return {
|
|
2882
2901
|
unaryFilter: {
|
|
2883
|
-
field:
|
|
2902
|
+
field: Yn(t.field),
|
|
2884
2903
|
op: "IS_NOT_NAN"
|
|
2885
2904
|
}
|
|
2886
2905
|
};
|
|
2887
2906
|
if (jt(t.value)) return {
|
|
2888
2907
|
unaryFilter: {
|
|
2889
|
-
field:
|
|
2908
|
+
field: Yn(t.field),
|
|
2890
2909
|
op: "IS_NOT_NULL"
|
|
2891
2910
|
}
|
|
2892
2911
|
};
|
|
2893
2912
|
}
|
|
2894
2913
|
return {
|
|
2895
2914
|
fieldFilter: {
|
|
2896
|
-
field:
|
|
2897
|
-
op:
|
|
2915
|
+
field: Yn(t.field),
|
|
2916
|
+
op: Wn(t.op),
|
|
2898
2917
|
value: t.value
|
|
2899
2918
|
}
|
|
2900
2919
|
};
|
|
@@ -2914,8 +2933,8 @@ function Qn(t, n) {
|
|
|
2914
2933
|
// visible for testing
|
|
2915
2934
|
function(t) {
|
|
2916
2935
|
return {
|
|
2917
|
-
field:
|
|
2918
|
-
direction:
|
|
2936
|
+
field: Yn(t.field),
|
|
2937
|
+
direction: Qn(t.dir)
|
|
2919
2938
|
};
|
|
2920
2939
|
}(t)));
|
|
2921
2940
|
}(n.orderBy);
|
|
@@ -2925,41 +2944,43 @@ function Qn(t, n) {
|
|
|
2925
2944
|
value: n
|
|
2926
2945
|
};
|
|
2927
2946
|
}(t, n.limit);
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2947
|
+
var u;
|
|
2948
|
+
return null !== o && (e.structuredQuery.limit = o), n.startAt && (e.structuredQuery.startAt = {
|
|
2949
|
+
before: (u = n.startAt).inclusive,
|
|
2950
|
+
values: u.position
|
|
2951
|
+
}), n.endAt && (e.structuredQuery.endAt = function(t) {
|
|
2952
|
+
return {
|
|
2953
|
+
before: !t.inclusive,
|
|
2954
|
+
values: t.position
|
|
2955
|
+
};
|
|
2956
|
+
}
|
|
2957
|
+
// visible for testing
|
|
2958
|
+
(n.endAt)), e;
|
|
2937
2959
|
}
|
|
2938
2960
|
|
|
2939
|
-
|
|
2940
|
-
function Wn(t) {
|
|
2961
|
+
function Qn(t) {
|
|
2941
2962
|
return Dn[t];
|
|
2942
2963
|
}
|
|
2943
2964
|
|
|
2944
2965
|
// visible for testing
|
|
2945
|
-
function
|
|
2966
|
+
function Wn(t) {
|
|
2946
2967
|
return $n[t];
|
|
2947
2968
|
}
|
|
2948
2969
|
|
|
2949
|
-
function
|
|
2970
|
+
function Yn(t) {
|
|
2950
2971
|
return {
|
|
2951
2972
|
fieldPath: t.canonicalString()
|
|
2952
2973
|
};
|
|
2953
2974
|
}
|
|
2954
2975
|
|
|
2955
|
-
function
|
|
2976
|
+
function Hn(t) {
|
|
2956
2977
|
const n = [];
|
|
2957
2978
|
return t.fields.forEach((t => n.push(t.canonicalString()))), {
|
|
2958
2979
|
fieldPaths: n
|
|
2959
2980
|
};
|
|
2960
2981
|
}
|
|
2961
2982
|
|
|
2962
|
-
function
|
|
2983
|
+
function Kn(t) {
|
|
2963
2984
|
// Resource names have at least 4 components (project ID, database ID)
|
|
2964
2985
|
return t.length >= 4 && "projects" === t.get(0) && "databases" === t.get(2);
|
|
2965
2986
|
}
|
|
@@ -2979,7 +3000,7 @@ function Jn(t) {
|
|
|
2979
3000
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2980
3001
|
* See the License for the specific language governing permissions and
|
|
2981
3002
|
* limitations under the License.
|
|
2982
|
-
*/ function
|
|
3003
|
+
*/ function Jn(t) {
|
|
2983
3004
|
return new Sn(t, /* useProto3Json= */ !0);
|
|
2984
3005
|
}
|
|
2985
3006
|
|
|
@@ -3008,7 +3029,7 @@ function Jn(t) {
|
|
|
3008
3029
|
* base delay. This prevents clients from accidentally synchronizing their
|
|
3009
3030
|
* delays causing spikes of load to the backend.
|
|
3010
3031
|
*/
|
|
3011
|
-
class
|
|
3032
|
+
class Xn {
|
|
3012
3033
|
constructor(
|
|
3013
3034
|
/**
|
|
3014
3035
|
* The AsyncQueue to run backoff operations on.
|
|
@@ -3106,7 +3127,7 @@ class Zn {
|
|
|
3106
3127
|
* An implementation of Datastore that exposes additional state for internal
|
|
3107
3128
|
* consumption.
|
|
3108
3129
|
*/
|
|
3109
|
-
class
|
|
3130
|
+
class Zn extends class {} {
|
|
3110
3131
|
constructor(t, n, e, r) {
|
|
3111
3132
|
super(), this.authCredentials = t, this.appCheckCredentials = n, this.K = e, this.q = r,
|
|
3112
3133
|
this.J = !1;
|
|
@@ -3133,14 +3154,14 @@ class te extends class {} {
|
|
|
3133
3154
|
|
|
3134
3155
|
// TODO(firestorexp): Make sure there is only one Datastore instance per
|
|
3135
3156
|
// firestore-exp client.
|
|
3136
|
-
async function
|
|
3157
|
+
async function te(t, n) {
|
|
3137
3158
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3138
3159
|
writes: n.map((t => zn(e.q, t)))
|
|
3139
3160
|
};
|
|
3140
3161
|
await e.m("Commit", r, s);
|
|
3141
3162
|
}
|
|
3142
3163
|
|
|
3143
|
-
async function
|
|
3164
|
+
async function ne(t, n) {
|
|
3144
3165
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3145
3166
|
documents: n.map((t => Ln(e.q, t)))
|
|
3146
3167
|
}, i = await e.T("BatchGetDocuments", r, s), o = new Map;
|
|
@@ -3155,16 +3176,16 @@ async function ee(t, n) {
|
|
|
3155
3176
|
})), u;
|
|
3156
3177
|
}
|
|
3157
3178
|
|
|
3158
|
-
async function
|
|
3159
|
-
const e = E(t), r =
|
|
3179
|
+
async function ee(t, n) {
|
|
3180
|
+
const e = E(t), r = Gn(e.q, mn(n));
|
|
3160
3181
|
return (await e.T("RunQuery", r.parent, {
|
|
3161
3182
|
structuredQuery: r.structuredQuery
|
|
3162
3183
|
})).filter((t => !!t.document)).map((t => function(t, n, e) {
|
|
3163
|
-
const r = kn(t, n.name), s = On(n.updateTime), i = new
|
|
3184
|
+
const r = kn(t, n.name), s = On(n.updateTime), i = new Gt({
|
|
3164
3185
|
mapValue: {
|
|
3165
3186
|
fields: n.fields
|
|
3166
3187
|
}
|
|
3167
|
-
}), o =
|
|
3188
|
+
}), o = Qt.newFoundDocument(r, s, i);
|
|
3168
3189
|
return e && o.setHasCommittedMutations(), e ? o.setHasCommittedMutations() : o;
|
|
3169
3190
|
}(e.q, t.document, void 0)));
|
|
3170
3191
|
}
|
|
@@ -3184,7 +3205,7 @@ async function re(t, n) {
|
|
|
3184
3205
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3185
3206
|
* See the License for the specific language governing permissions and
|
|
3186
3207
|
* limitations under the License.
|
|
3187
|
-
*/ const
|
|
3208
|
+
*/ const re = new Map;
|
|
3188
3209
|
|
|
3189
3210
|
/**
|
|
3190
3211
|
* An instance map that ensures only one Datastore exists per Firestore
|
|
@@ -3195,17 +3216,17 @@ async function re(t, n) {
|
|
|
3195
3216
|
* instance. Callers must invoke removeComponents() when the Firestore
|
|
3196
3217
|
* instance is terminated.
|
|
3197
3218
|
*/
|
|
3198
|
-
function
|
|
3219
|
+
function se(t) {
|
|
3199
3220
|
if (t._terminated) throw new U(F, "The client has already been terminated.");
|
|
3200
|
-
if (!
|
|
3221
|
+
if (!re.has(t)) {
|
|
3201
3222
|
p("ComponentProvider", "Initializing Datastore");
|
|
3202
3223
|
const i = function(t) {
|
|
3203
3224
|
return new mt(t, fetch.bind(null));
|
|
3204
3225
|
}((n = t._databaseId, e = t.app.options.appId || "", r = t._persistenceKey, s = t._freezeSettings(),
|
|
3205
|
-
new K(n, e, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o =
|
|
3206
|
-
return new
|
|
3226
|
+
new K(n, e, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o = Jn(t._databaseId), u = function(t, n, e, r) {
|
|
3227
|
+
return new Zn(t, n, e, r);
|
|
3207
3228
|
}(t._authCredentials, t._appCheckCredentials, i, o);
|
|
3208
|
-
|
|
3229
|
+
re.set(t, u);
|
|
3209
3230
|
}
|
|
3210
3231
|
var n, e, r, s;
|
|
3211
3232
|
/**
|
|
@@ -3223,7 +3244,7 @@ function ie(t) {
|
|
|
3223
3244
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3224
3245
|
* See the License for the specific language governing permissions and
|
|
3225
3246
|
* limitations under the License.
|
|
3226
|
-
*/ return
|
|
3247
|
+
*/ return re.get(t);
|
|
3227
3248
|
}
|
|
3228
3249
|
|
|
3229
3250
|
/**
|
|
@@ -3235,7 +3256,7 @@ function ie(t) {
|
|
|
3235
3256
|
* user-supplied `FirestoreSettings` object. This is a separate type so that
|
|
3236
3257
|
* defaults can be supplied and the value can be checked for equality.
|
|
3237
3258
|
*/
|
|
3238
|
-
class
|
|
3259
|
+
class ie {
|
|
3239
3260
|
constructor(t) {
|
|
3240
3261
|
var n;
|
|
3241
3262
|
if (void 0 === t.host) {
|
|
@@ -3277,14 +3298,14 @@ class oe {
|
|
|
3277
3298
|
* The Cloud Firestore service interface.
|
|
3278
3299
|
*
|
|
3279
3300
|
* Do not call this constructor directly. Instead, use {@link getFirestore}.
|
|
3280
|
-
*/ class
|
|
3301
|
+
*/ class oe {
|
|
3281
3302
|
/** @hideconstructor */
|
|
3282
3303
|
constructor(t, n, e) {
|
|
3283
3304
|
this._authCredentials = n, this._appCheckCredentials = e,
|
|
3284
3305
|
/**
|
|
3285
3306
|
* Whether it's a Firestore or Firestore Lite instance.
|
|
3286
3307
|
*/
|
|
3287
|
-
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new
|
|
3308
|
+
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new ie({}),
|
|
3288
3309
|
this._settingsFrozen = !1, t instanceof J ? this._databaseId = t : (this._app = t,
|
|
3289
3310
|
this._databaseId = function(t) {
|
|
3290
3311
|
if (!Object.prototype.hasOwnProperty.apply(t.options, [ "projectId" ])) throw new U(R, '"projectId" not provided in firebase.initializeApp.');
|
|
@@ -3317,7 +3338,7 @@ class oe {
|
|
|
3317
3338
|
}
|
|
3318
3339
|
_setSettings(t) {
|
|
3319
3340
|
if (this._settingsFrozen) throw new U(F, "Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");
|
|
3320
|
-
this._settings = new
|
|
3341
|
+
this._settings = new ie(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
|
|
3321
3342
|
if (!t) return new B;
|
|
3322
3343
|
switch (t.type) {
|
|
3323
3344
|
case "gapi":
|
|
@@ -3358,13 +3379,13 @@ class oe {
|
|
|
3358
3379
|
* Only ever called once.
|
|
3359
3380
|
*/ _terminate() {
|
|
3360
3381
|
return function(t) {
|
|
3361
|
-
const n =
|
|
3362
|
-
n && (p("ComponentProvider", "Removing Datastore"),
|
|
3382
|
+
const n = re.get(t);
|
|
3383
|
+
n && (p("ComponentProvider", "Removing Datastore"), re.delete(t), n.terminate());
|
|
3363
3384
|
}(this), Promise.resolve();
|
|
3364
3385
|
}
|
|
3365
3386
|
}
|
|
3366
3387
|
|
|
3367
|
-
function
|
|
3388
|
+
function ue(t, n) {
|
|
3368
3389
|
const e = _getProvider(t, "firestore/lite");
|
|
3369
3390
|
if (e.isInitialized()) throw new U(F, "Firestore can only be initialized once per app.");
|
|
3370
3391
|
return e.initialize({
|
|
@@ -3380,7 +3401,7 @@ function ce(t, n) {
|
|
|
3380
3401
|
* @param app - The {@link @firebase/app#FirebaseApp} instance that the returned `Firestore`
|
|
3381
3402
|
* instance is associated with.
|
|
3382
3403
|
* @returns The `Firestore` instance of the provided app.
|
|
3383
|
-
*/ function
|
|
3404
|
+
*/ function ce(n = t()) {
|
|
3384
3405
|
return _getProvider(n, "firestore/lite").getImmediate();
|
|
3385
3406
|
}
|
|
3386
3407
|
|
|
@@ -3396,9 +3417,9 @@ function ce(t, n) {
|
|
|
3396
3417
|
* @param port - the emulator port (ex: 9000).
|
|
3397
3418
|
* @param options.mockUserToken - the mock auth token to use for unit testing
|
|
3398
3419
|
* Security Rules.
|
|
3399
|
-
*/ function
|
|
3420
|
+
*/ function ae(t, n, e, r = {}) {
|
|
3400
3421
|
var s;
|
|
3401
|
-
const i = (t = ut(t,
|
|
3422
|
+
const i = (t = ut(t, oe))._getSettings();
|
|
3402
3423
|
if ("firestore.googleapis.com" !== i.host && i.host !== n && _("Host has been set in both settings() and useEmulator(), emulator host will be used"),
|
|
3403
3424
|
t._setSettings(Object.assign(Object.assign({}, i), {
|
|
3404
3425
|
host: `${n}:${e}`,
|
|
@@ -3436,8 +3457,8 @@ function ce(t, n) {
|
|
|
3436
3457
|
* @param firestore - The `Firestore` instance to terminate.
|
|
3437
3458
|
* @returns A `Promise` that is resolved when the instance has been successfully
|
|
3438
3459
|
* terminated.
|
|
3439
|
-
*/ function
|
|
3440
|
-
return t = ut(t,
|
|
3460
|
+
*/ function he(t) {
|
|
3461
|
+
return t = ut(t, oe), n(t.app, "firestore/lite"), t._delete();
|
|
3441
3462
|
}
|
|
3442
3463
|
|
|
3443
3464
|
/**
|
|
@@ -3477,7 +3498,7 @@ function ce(t, n) {
|
|
|
3477
3498
|
* and can be used to write, read, or listen to the location. The document at
|
|
3478
3499
|
* the referenced location may or may not exist.
|
|
3479
3500
|
*/
|
|
3480
|
-
class
|
|
3501
|
+
class le {
|
|
3481
3502
|
/** @hideconstructor */
|
|
3482
3503
|
constructor(t,
|
|
3483
3504
|
/**
|
|
@@ -3505,17 +3526,17 @@ class fe {
|
|
|
3505
3526
|
/**
|
|
3506
3527
|
* The collection this `DocumentReference` belongs to.
|
|
3507
3528
|
*/ get parent() {
|
|
3508
|
-
return new
|
|
3529
|
+
return new de(this.firestore, this.converter, this._key.path.popLast());
|
|
3509
3530
|
}
|
|
3510
3531
|
withConverter(t) {
|
|
3511
|
-
return new
|
|
3532
|
+
return new le(this.firestore, t, this._key);
|
|
3512
3533
|
}
|
|
3513
3534
|
}
|
|
3514
3535
|
|
|
3515
3536
|
/**
|
|
3516
3537
|
* A `Query` refers to a query which you can read or listen to. You can also
|
|
3517
3538
|
* construct refined `Query` objects by adding filters and ordering.
|
|
3518
|
-
*/ class
|
|
3539
|
+
*/ class fe {
|
|
3519
3540
|
// This is the lite version of the Query class in the main SDK.
|
|
3520
3541
|
/** @hideconstructor protected */
|
|
3521
3542
|
constructor(t,
|
|
@@ -3528,14 +3549,14 @@ class fe {
|
|
|
3528
3549
|
this.type = "query", this.firestore = t;
|
|
3529
3550
|
}
|
|
3530
3551
|
withConverter(t) {
|
|
3531
|
-
return new
|
|
3552
|
+
return new fe(this.firestore, t, this._query);
|
|
3532
3553
|
}
|
|
3533
3554
|
}
|
|
3534
3555
|
|
|
3535
3556
|
/**
|
|
3536
3557
|
* A `CollectionReference` object can be used for adding documents, getting
|
|
3537
3558
|
* document references, and querying for documents (using {@link query}).
|
|
3538
|
-
*/ class
|
|
3559
|
+
*/ class de extends fe {
|
|
3539
3560
|
/** @hideconstructor */
|
|
3540
3561
|
constructor(t, n, e) {
|
|
3541
3562
|
super(t, n, new an(e)), this._path = e,
|
|
@@ -3556,23 +3577,23 @@ class fe {
|
|
|
3556
3577
|
* subcollection. If this isn't a subcollection, the reference is null.
|
|
3557
3578
|
*/ get parent() {
|
|
3558
3579
|
const t = this._path.popLast();
|
|
3559
|
-
return t.isEmpty() ? null : new
|
|
3580
|
+
return t.isEmpty() ? null : new le(this.firestore,
|
|
3560
3581
|
/* converter= */ null, new et(t));
|
|
3561
3582
|
}
|
|
3562
3583
|
withConverter(t) {
|
|
3563
|
-
return new
|
|
3584
|
+
return new de(this.firestore, t, this._path);
|
|
3564
3585
|
}
|
|
3565
3586
|
}
|
|
3566
3587
|
|
|
3567
|
-
function
|
|
3568
|
-
if (t = l(t), rt("collection", "path", n), t instanceof
|
|
3588
|
+
function we(t, n, ...e) {
|
|
3589
|
+
if (t = l(t), rt("collection", "path", n), t instanceof oe) {
|
|
3569
3590
|
const r = Z.fromString(n, ...e);
|
|
3570
|
-
return it(r), new
|
|
3591
|
+
return it(r), new de(t, /* converter= */ null, r);
|
|
3571
3592
|
}
|
|
3572
3593
|
{
|
|
3573
|
-
if (!(t instanceof
|
|
3594
|
+
if (!(t instanceof le || t instanceof de)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
|
|
3574
3595
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3575
|
-
return it(r), new
|
|
3596
|
+
return it(r), new de(t.firestore,
|
|
3576
3597
|
/* converter= */ null, r);
|
|
3577
3598
|
}
|
|
3578
3599
|
}
|
|
@@ -3589,9 +3610,9 @@ function me(t, n, ...e) {
|
|
|
3589
3610
|
* collection or subcollection with this ID as the last segment of its path
|
|
3590
3611
|
* will be included. Cannot contain a slash.
|
|
3591
3612
|
* @returns The created `Query`.
|
|
3592
|
-
*/ function
|
|
3593
|
-
if (t = ut(t,
|
|
3594
|
-
return new
|
|
3613
|
+
*/ function me(t, n) {
|
|
3614
|
+
if (t = ut(t, oe), rt("collectionGroup", "collection id", n), n.indexOf("/") >= 0) throw new U(R, `Invalid collection ID '${n}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
|
|
3615
|
+
return new fe(t,
|
|
3595
3616
|
/* converter= */ null,
|
|
3596
3617
|
/**
|
|
3597
3618
|
* Creates a new Query for a collection group query that matches all documents
|
|
@@ -3602,19 +3623,19 @@ function me(t, n, ...e) {
|
|
|
3602
3623
|
}(n));
|
|
3603
3624
|
}
|
|
3604
3625
|
|
|
3605
|
-
function
|
|
3626
|
+
function pe(t, n, ...e) {
|
|
3606
3627
|
if (t = l(t),
|
|
3607
3628
|
// We allow omission of 'pathString' but explicitly prohibit passing in both
|
|
3608
3629
|
// 'undefined' and 'null'.
|
|
3609
|
-
1 === arguments.length && (n = yt.R()), rt("doc", "path", n), t instanceof
|
|
3630
|
+
1 === arguments.length && (n = yt.R()), rt("doc", "path", n), t instanceof oe) {
|
|
3610
3631
|
const r = Z.fromString(n, ...e);
|
|
3611
|
-
return st(r), new
|
|
3632
|
+
return st(r), new le(t,
|
|
3612
3633
|
/* converter= */ null, new et(r));
|
|
3613
3634
|
}
|
|
3614
3635
|
{
|
|
3615
|
-
if (!(t instanceof
|
|
3636
|
+
if (!(t instanceof le || t instanceof de)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
|
|
3616
3637
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3617
|
-
return st(r), new
|
|
3638
|
+
return st(r), new le(t.firestore, t instanceof de ? t.converter : null, new et(r));
|
|
3618
3639
|
}
|
|
3619
3640
|
}
|
|
3620
3641
|
|
|
@@ -3625,8 +3646,8 @@ function ye(t, n, ...e) {
|
|
|
3625
3646
|
* @param right - A reference to compare.
|
|
3626
3647
|
* @returns true if the references point to the same location in the same
|
|
3627
3648
|
* Firestore database.
|
|
3628
|
-
*/ function
|
|
3629
|
-
return t = l(t), n = l(n), (t instanceof
|
|
3649
|
+
*/ function ye(t, n) {
|
|
3650
|
+
return t = l(t), n = l(n), (t instanceof le || t instanceof de) && (n instanceof le || n instanceof de) && (t.firestore === n.firestore && t.path === n.path && t.converter === n.converter);
|
|
3630
3651
|
}
|
|
3631
3652
|
|
|
3632
3653
|
/**
|
|
@@ -3637,8 +3658,8 @@ function ye(t, n, ...e) {
|
|
|
3637
3658
|
* @param right - A `Query` to compare.
|
|
3638
3659
|
* @returns true if the references point to the same location in the same
|
|
3639
3660
|
* Firestore database.
|
|
3640
|
-
*/ function
|
|
3641
|
-
return t = l(t), n = l(n), t instanceof
|
|
3661
|
+
*/ function _e(t, n) {
|
|
3662
|
+
return t = l(t), n = l(n), t instanceof fe && n instanceof fe && (t.firestore === n.firestore && pn(t._query, n._query) && t.converter === n.converter);
|
|
3642
3663
|
}
|
|
3643
3664
|
|
|
3644
3665
|
/**
|
|
@@ -3664,7 +3685,7 @@ function ye(t, n, ...e) {
|
|
|
3664
3685
|
*
|
|
3665
3686
|
* Create a `FieldPath` by providing field names. If more than one field
|
|
3666
3687
|
* name is provided, the path will point to a nested field in a document.
|
|
3667
|
-
*/ class
|
|
3688
|
+
*/ class ge {
|
|
3668
3689
|
/**
|
|
3669
3690
|
* Creates a `FieldPath` from the provided field names. If more than one field
|
|
3670
3691
|
* name is provided, the path will point to a nested field in a document.
|
|
@@ -3688,8 +3709,8 @@ function ye(t, n, ...e) {
|
|
|
3688
3709
|
/**
|
|
3689
3710
|
* Returns a special sentinel `FieldPath` to refer to the ID of a document.
|
|
3690
3711
|
* It can be used in queries to sort or filter by the document ID.
|
|
3691
|
-
*/ function
|
|
3692
|
-
return new
|
|
3712
|
+
*/ function ve() {
|
|
3713
|
+
return new ge("__name__");
|
|
3693
3714
|
}
|
|
3694
3715
|
|
|
3695
3716
|
/**
|
|
@@ -3710,7 +3731,7 @@ function ye(t, n, ...e) {
|
|
|
3710
3731
|
*/
|
|
3711
3732
|
/**
|
|
3712
3733
|
* An immutable object representing an array of bytes.
|
|
3713
|
-
*/ class
|
|
3734
|
+
*/ class be {
|
|
3714
3735
|
/** @hideconstructor */
|
|
3715
3736
|
constructor(t) {
|
|
3716
3737
|
this._byteString = t;
|
|
@@ -3722,7 +3743,7 @@ function ye(t, n, ...e) {
|
|
|
3722
3743
|
* @param base64 - The Base64 string used to create the `Bytes` object.
|
|
3723
3744
|
*/ static fromBase64String(t) {
|
|
3724
3745
|
try {
|
|
3725
|
-
return new
|
|
3746
|
+
return new be(Rt.fromBase64String(t));
|
|
3726
3747
|
} catch (t) {
|
|
3727
3748
|
throw new U(R, "Failed to construct data from Base64 string: " + t);
|
|
3728
3749
|
}
|
|
@@ -3732,7 +3753,7 @@ function ye(t, n, ...e) {
|
|
|
3732
3753
|
*
|
|
3733
3754
|
* @param array - The Uint8Array used to create the `Bytes` object.
|
|
3734
3755
|
*/ static fromUint8Array(t) {
|
|
3735
|
-
return new
|
|
3756
|
+
return new be(Rt.fromUint8Array(t));
|
|
3736
3757
|
}
|
|
3737
3758
|
/**
|
|
3738
3759
|
* Returns the underlying bytes as a Base64-encoded string.
|
|
@@ -3784,7 +3805,7 @@ function ye(t, n, ...e) {
|
|
|
3784
3805
|
/**
|
|
3785
3806
|
* Sentinel values that can be used when writing document fields with `set()`
|
|
3786
3807
|
* or `update()`.
|
|
3787
|
-
*/ class
|
|
3808
|
+
*/ class Ee {
|
|
3788
3809
|
/**
|
|
3789
3810
|
* @param _methodName - The public API endpoint that returns this class.
|
|
3790
3811
|
* @hideconstructor
|
|
@@ -3816,7 +3837,7 @@ function ye(t, n, ...e) {
|
|
|
3816
3837
|
*
|
|
3817
3838
|
* Latitude values are in the range of [-90, 90].
|
|
3818
3839
|
* Longitude values are in the range of [-180, 180].
|
|
3819
|
-
*/ class
|
|
3840
|
+
*/ class Te {
|
|
3820
3841
|
/**
|
|
3821
3842
|
* Creates a new immutable `GeoPoint` object with the provided latitude and
|
|
3822
3843
|
* longitude values.
|
|
@@ -3875,9 +3896,9 @@ function ye(t, n, ...e) {
|
|
|
3875
3896
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3876
3897
|
* See the License for the specific language governing permissions and
|
|
3877
3898
|
* limitations under the License.
|
|
3878
|
-
*/ const
|
|
3899
|
+
*/ const Ie = /^__.*__$/;
|
|
3879
3900
|
|
|
3880
|
-
/** The result of parsing document data (e.g. for a setData call). */ class
|
|
3901
|
+
/** The result of parsing document data (e.g. for a setData call). */ class Ae {
|
|
3881
3902
|
constructor(t, n, e) {
|
|
3882
3903
|
this.data = t, this.fieldMask = n, this.fieldTransforms = e;
|
|
3883
3904
|
}
|
|
@@ -3886,7 +3907,7 @@ function ye(t, n, ...e) {
|
|
|
3886
3907
|
}
|
|
3887
3908
|
}
|
|
3888
3909
|
|
|
3889
|
-
/** The result of parsing "update" data (i.e. for an updateData call). */ class
|
|
3910
|
+
/** The result of parsing "update" data (i.e. for an updateData call). */ class Re {
|
|
3890
3911
|
constructor(t,
|
|
3891
3912
|
// The fieldMask does not include document transforms.
|
|
3892
3913
|
n, e) {
|
|
@@ -3897,7 +3918,7 @@ function ye(t, n, ...e) {
|
|
|
3897
3918
|
}
|
|
3898
3919
|
}
|
|
3899
3920
|
|
|
3900
|
-
function
|
|
3921
|
+
function Pe(t) {
|
|
3901
3922
|
switch (t) {
|
|
3902
3923
|
case 0 /* Set */ :
|
|
3903
3924
|
// fall through
|
|
@@ -3915,7 +3936,7 @@ function Ve(t) {
|
|
|
3915
3936
|
}
|
|
3916
3937
|
}
|
|
3917
3938
|
|
|
3918
|
-
/** A "context" object passed around while parsing user data. */ class
|
|
3939
|
+
/** A "context" object passed around while parsing user data. */ class Ve {
|
|
3919
3940
|
/**
|
|
3920
3941
|
* Initializes a ParseContext with the given source and path.
|
|
3921
3942
|
*
|
|
@@ -3947,7 +3968,7 @@ function Ve(t) {
|
|
|
3947
3968
|
return this.settings.tt;
|
|
3948
3969
|
}
|
|
3949
3970
|
/** Returns a new context with the specified settings overwritten. */ nt(t) {
|
|
3950
|
-
return new
|
|
3971
|
+
return new Ve(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
|
|
3951
3972
|
}
|
|
3952
3973
|
et(t) {
|
|
3953
3974
|
var n;
|
|
@@ -3974,7 +3995,7 @@ function Ve(t) {
|
|
|
3974
3995
|
});
|
|
3975
3996
|
}
|
|
3976
3997
|
ut(t) {
|
|
3977
|
-
return
|
|
3998
|
+
return Ye(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
|
|
3978
3999
|
}
|
|
3979
4000
|
/** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(t) {
|
|
3980
4001
|
return void 0 !== this.fieldMask.find((n => t.isPrefixOf(n))) || void 0 !== this.fieldTransforms.find((n => t.isPrefixOf(n.field)));
|
|
@@ -3986,19 +4007,19 @@ function Ve(t) {
|
|
|
3986
4007
|
}
|
|
3987
4008
|
st(t) {
|
|
3988
4009
|
if (0 === t.length) throw this.ut("Document fields must not be empty");
|
|
3989
|
-
if (
|
|
4010
|
+
if (Pe(this.tt) && Ie.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
|
|
3990
4011
|
}
|
|
3991
4012
|
}
|
|
3992
4013
|
|
|
3993
4014
|
/**
|
|
3994
4015
|
* Helper for parsing raw user input (provided via the API) into internal model
|
|
3995
4016
|
* classes.
|
|
3996
|
-
*/ class
|
|
4017
|
+
*/ class Ne {
|
|
3997
4018
|
constructor(t, n, e) {
|
|
3998
|
-
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e ||
|
|
4019
|
+
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e || Jn(t);
|
|
3999
4020
|
}
|
|
4000
4021
|
/** Creates a new top-level parse context. */ ht(t, n, e, r = !1) {
|
|
4001
|
-
return new
|
|
4022
|
+
return new Ve({
|
|
4002
4023
|
tt: t,
|
|
4003
4024
|
methodName: n,
|
|
4004
4025
|
at: e,
|
|
@@ -4009,29 +4030,29 @@ function Ve(t) {
|
|
|
4009
4030
|
}
|
|
4010
4031
|
}
|
|
4011
4032
|
|
|
4012
|
-
function
|
|
4013
|
-
const n = t._freezeSettings(), e =
|
|
4014
|
-
return new
|
|
4033
|
+
function De(t) {
|
|
4034
|
+
const n = t._freezeSettings(), e = Jn(t._databaseId);
|
|
4035
|
+
return new Ne(t._databaseId, !!n.ignoreUndefinedProperties, e);
|
|
4015
4036
|
}
|
|
4016
4037
|
|
|
4017
|
-
/** Parse document data from a set() call. */ function
|
|
4038
|
+
/** Parse document data from a set() call. */ function $e(t, n, e, r, s, i = {}) {
|
|
4018
4039
|
const o = t.ht(i.merge || i.mergeFields ? 2 /* MergeSet */ : 0 /* Set */ , n, e, s);
|
|
4019
|
-
|
|
4020
|
-
const u =
|
|
4040
|
+
ze("Data must be an object, but it was:", o, r);
|
|
4041
|
+
const u = Me(r, o);
|
|
4021
4042
|
let c, a;
|
|
4022
4043
|
if (i.merge) c = new It(o.fieldMask), a = o.fieldTransforms; else if (i.mergeFields) {
|
|
4023
4044
|
const t = [];
|
|
4024
4045
|
for (const r of i.mergeFields) {
|
|
4025
4046
|
const s = Ge(n, r, e);
|
|
4026
4047
|
if (!o.contains(s)) throw new U(R, `Field '${s}' is specified in your field mask but missing from your input data.`);
|
|
4027
|
-
|
|
4048
|
+
He(t, s) || t.push(s);
|
|
4028
4049
|
}
|
|
4029
4050
|
c = new It(t), a = o.fieldTransforms.filter((t => c.covers(t.field)));
|
|
4030
4051
|
} else c = null, a = o.fieldTransforms;
|
|
4031
|
-
return new
|
|
4052
|
+
return new Ae(new Gt(u), c, a);
|
|
4032
4053
|
}
|
|
4033
4054
|
|
|
4034
|
-
class
|
|
4055
|
+
class Se extends Ee {
|
|
4035
4056
|
_toFieldTransform(t) {
|
|
4036
4057
|
if (2 /* MergeSet */ !== t.tt) throw 1 /* Update */ === t.tt ? t.ut(`${this._methodName}() can only appear at the top level of your update data`) : t.ut(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);
|
|
4037
4058
|
// No transform to add for a delete, but we need to add it to our
|
|
@@ -4039,7 +4060,7 @@ class Fe extends Te {
|
|
|
4039
4060
|
return t.fieldMask.push(t.path), null;
|
|
4040
4061
|
}
|
|
4041
4062
|
isEqual(t) {
|
|
4042
|
-
return t instanceof
|
|
4063
|
+
return t instanceof Se;
|
|
4043
4064
|
}
|
|
4044
4065
|
}
|
|
4045
4066
|
|
|
@@ -4058,8 +4079,8 @@ class Fe extends Te {
|
|
|
4058
4079
|
* context.
|
|
4059
4080
|
* @param context - The parent context.
|
|
4060
4081
|
* @param arrayElement - Whether or not the FieldValue has an array.
|
|
4061
|
-
*/ function
|
|
4062
|
-
return new
|
|
4082
|
+
*/ function Fe(t, n, e) {
|
|
4083
|
+
return new Ve({
|
|
4063
4084
|
tt: 3 /* Argument */ ,
|
|
4064
4085
|
at: n.settings.at,
|
|
4065
4086
|
methodName: t._methodName,
|
|
@@ -4067,22 +4088,22 @@ class Fe extends Te {
|
|
|
4067
4088
|
}, n.databaseId, n.q, n.ignoreUndefinedProperties);
|
|
4068
4089
|
}
|
|
4069
4090
|
|
|
4070
|
-
class
|
|
4091
|
+
class xe extends Ee {
|
|
4071
4092
|
_toFieldTransform(t) {
|
|
4072
4093
|
return new Tn(t.path, new gn);
|
|
4073
4094
|
}
|
|
4074
4095
|
isEqual(t) {
|
|
4075
|
-
return t instanceof
|
|
4096
|
+
return t instanceof xe;
|
|
4076
4097
|
}
|
|
4077
4098
|
}
|
|
4078
4099
|
|
|
4079
|
-
class
|
|
4100
|
+
class qe extends Ee {
|
|
4080
4101
|
constructor(t, n) {
|
|
4081
4102
|
super(t), this.lt = n;
|
|
4082
4103
|
}
|
|
4083
4104
|
_toFieldTransform(t) {
|
|
4084
|
-
const n =
|
|
4085
|
-
/*array=*/ !0), e = this.lt.map((t =>
|
|
4105
|
+
const n = Fe(this, t,
|
|
4106
|
+
/*array=*/ !0), e = this.lt.map((t => je(t, n))), r = new vn(e);
|
|
4086
4107
|
return new Tn(t.path, r);
|
|
4087
4108
|
}
|
|
4088
4109
|
isEqual(t) {
|
|
@@ -4091,13 +4112,13 @@ class Oe extends Te {
|
|
|
4091
4112
|
}
|
|
4092
4113
|
}
|
|
4093
4114
|
|
|
4094
|
-
class
|
|
4115
|
+
class Oe extends Ee {
|
|
4095
4116
|
constructor(t, n) {
|
|
4096
4117
|
super(t), this.lt = n;
|
|
4097
4118
|
}
|
|
4098
4119
|
_toFieldTransform(t) {
|
|
4099
|
-
const n =
|
|
4100
|
-
/*array=*/ !0), e = this.lt.map((t =>
|
|
4120
|
+
const n = Fe(this, t,
|
|
4121
|
+
/*array=*/ !0), e = this.lt.map((t => je(t, n))), r = new bn(e);
|
|
4101
4122
|
return new Tn(t.path, r);
|
|
4102
4123
|
}
|
|
4103
4124
|
isEqual(t) {
|
|
@@ -4106,7 +4127,7 @@ class Ce extends Te {
|
|
|
4106
4127
|
}
|
|
4107
4128
|
}
|
|
4108
4129
|
|
|
4109
|
-
class
|
|
4130
|
+
class Ce extends Ee {
|
|
4110
4131
|
constructor(t, n) {
|
|
4111
4132
|
super(t), this.ft = n;
|
|
4112
4133
|
}
|
|
@@ -4120,50 +4141,50 @@ class Le extends Te {
|
|
|
4120
4141
|
}
|
|
4121
4142
|
}
|
|
4122
4143
|
|
|
4123
|
-
/** Parse update data from an update() call. */ function
|
|
4144
|
+
/** Parse update data from an update() call. */ function Le(t, n, e, r) {
|
|
4124
4145
|
const s = t.ht(1 /* Update */ , n, e);
|
|
4125
|
-
|
|
4126
|
-
const i = [], o =
|
|
4146
|
+
ze("Data must be an object, but it was:", s, r);
|
|
4147
|
+
const i = [], o = Gt.empty();
|
|
4127
4148
|
Tt(r, ((t, r) => {
|
|
4128
|
-
const u =
|
|
4149
|
+
const u = We(n, t, e);
|
|
4129
4150
|
// For Compat types, we have to "extract" the underlying types before
|
|
4130
4151
|
// performing validation.
|
|
4131
4152
|
r = l(r);
|
|
4132
4153
|
const c = s.it(u);
|
|
4133
|
-
if (r instanceof
|
|
4154
|
+
if (r instanceof Se)
|
|
4134
4155
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4135
4156
|
i.push(u); else {
|
|
4136
|
-
const t =
|
|
4157
|
+
const t = je(r, c);
|
|
4137
4158
|
null != t && (i.push(u), o.set(u, t));
|
|
4138
4159
|
}
|
|
4139
4160
|
}));
|
|
4140
4161
|
const u = new It(i);
|
|
4141
|
-
return new
|
|
4162
|
+
return new Re(o, u, s.fieldTransforms);
|
|
4142
4163
|
}
|
|
4143
4164
|
|
|
4144
|
-
/** Parse update data from a list of field/value arguments. */ function
|
|
4165
|
+
/** Parse update data from a list of field/value arguments. */ function ke(t, n, e, r, s, i) {
|
|
4145
4166
|
const o = t.ht(1 /* Update */ , n, e), u = [ Ge(n, r, e) ], c = [ s ];
|
|
4146
4167
|
if (i.length % 2 != 0) throw new U(R, `Function ${n}() needs to be called with an even number of arguments that alternate between field names and values.`);
|
|
4147
4168
|
for (let t = 0; t < i.length; t += 2) u.push(Ge(n, i[t])), c.push(i[t + 1]);
|
|
4148
|
-
const a = [], h =
|
|
4169
|
+
const a = [], h = Gt.empty();
|
|
4149
4170
|
// We iterate in reverse order to pick the last value for a field if the
|
|
4150
4171
|
// user specified the field multiple times.
|
|
4151
|
-
for (let t = u.length - 1; t >= 0; --t) if (!
|
|
4172
|
+
for (let t = u.length - 1; t >= 0; --t) if (!He(a, u[t])) {
|
|
4152
4173
|
const n = u[t];
|
|
4153
4174
|
let e = c[t];
|
|
4154
4175
|
// For Compat types, we have to "extract" the underlying types before
|
|
4155
4176
|
// performing validation.
|
|
4156
4177
|
e = l(e);
|
|
4157
4178
|
const r = o.it(n);
|
|
4158
|
-
if (e instanceof
|
|
4179
|
+
if (e instanceof Se)
|
|
4159
4180
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4160
4181
|
a.push(n); else {
|
|
4161
|
-
const t =
|
|
4182
|
+
const t = je(e, r);
|
|
4162
4183
|
null != t && (a.push(n), h.set(n, t));
|
|
4163
4184
|
}
|
|
4164
4185
|
}
|
|
4165
4186
|
const f = new It(a);
|
|
4166
|
-
return new
|
|
4187
|
+
return new Re(h, f, o.fieldTransforms);
|
|
4167
4188
|
}
|
|
4168
4189
|
|
|
4169
4190
|
/**
|
|
@@ -4172,8 +4193,8 @@ class Le extends Te {
|
|
|
4172
4193
|
*
|
|
4173
4194
|
* @param allowArrays - Whether the query value is an array that may directly
|
|
4174
4195
|
* contain additional arrays (e.g. the operand of an `in` query).
|
|
4175
|
-
*/ function
|
|
4176
|
-
return
|
|
4196
|
+
*/ function Ue(t, n, e, r = !1) {
|
|
4197
|
+
return je(e, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , n));
|
|
4177
4198
|
}
|
|
4178
4199
|
|
|
4179
4200
|
/**
|
|
@@ -4184,12 +4205,12 @@ class Le extends Te {
|
|
|
4184
4205
|
* the source of the data being parsed, etc.
|
|
4185
4206
|
* @returns The parsed value, or null if the value was a FieldValue sentinel
|
|
4186
4207
|
* that should not be included in the resulting parsed data.
|
|
4187
|
-
*/ function
|
|
4188
|
-
if (
|
|
4208
|
+
*/ function je(t, n) {
|
|
4209
|
+
if (Be(
|
|
4189
4210
|
// Unwrap the API type from the Compat SDK. This will return the API type
|
|
4190
4211
|
// from firestore-exp.
|
|
4191
|
-
t = l(t))) return
|
|
4192
|
-
if (t instanceof
|
|
4212
|
+
t = l(t))) return ze("Unsupported field value:", n, t), Me(t, n);
|
|
4213
|
+
if (t instanceof Ee)
|
|
4193
4214
|
// FieldValues usually parse into transforms (except deleteField())
|
|
4194
4215
|
// in which case we do not want to include this field in our parsed data
|
|
4195
4216
|
// (as doing so will overwrite the field directly prior to the transform
|
|
@@ -4201,7 +4222,7 @@ class Le extends Te {
|
|
|
4201
4222
|
*/
|
|
4202
4223
|
return function(t, n) {
|
|
4203
4224
|
// Sentinels are only supported with writes, and not within arrays.
|
|
4204
|
-
if (!
|
|
4225
|
+
if (!Pe(n.tt)) throw n.ut(`${t._methodName}() can only be used with update() and set()`);
|
|
4205
4226
|
if (!n.path) throw n.ut(`${t._methodName}() is not currently supported inside arrays`);
|
|
4206
4227
|
const e = t._toFieldTransform(n);
|
|
4207
4228
|
e && n.fieldTransforms.push(e);
|
|
@@ -4231,7 +4252,7 @@ class Le extends Te {
|
|
|
4231
4252
|
const e = [];
|
|
4232
4253
|
let r = 0;
|
|
4233
4254
|
for (const s of t) {
|
|
4234
|
-
let t =
|
|
4255
|
+
let t = je(s, n.ot(r));
|
|
4235
4256
|
null == t && (
|
|
4236
4257
|
// Just include nulls in the array for fields being replaced with a
|
|
4237
4258
|
// sentinel.
|
|
@@ -4272,16 +4293,16 @@ class Le extends Te {
|
|
|
4272
4293
|
timestampValue: Fn(n.q, e)
|
|
4273
4294
|
};
|
|
4274
4295
|
}
|
|
4275
|
-
if (t instanceof
|
|
4296
|
+
if (t instanceof Te) return {
|
|
4276
4297
|
geoPointValue: {
|
|
4277
4298
|
latitude: t.latitude,
|
|
4278
4299
|
longitude: t.longitude
|
|
4279
4300
|
}
|
|
4280
4301
|
};
|
|
4281
|
-
if (t instanceof
|
|
4302
|
+
if (t instanceof be) return {
|
|
4282
4303
|
bytesValue: xn(n.q, t._byteString)
|
|
4283
4304
|
};
|
|
4284
|
-
if (t instanceof
|
|
4305
|
+
if (t instanceof le) {
|
|
4285
4306
|
const e = n.databaseId, r = t.firestore._databaseId;
|
|
4286
4307
|
if (!r.isEqual(e)) throw n.ut(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${e.projectId}/${e.database}`);
|
|
4287
4308
|
return {
|
|
@@ -4299,13 +4320,13 @@ class Le extends Te {
|
|
|
4299
4320
|
*/ (t, n);
|
|
4300
4321
|
}
|
|
4301
4322
|
|
|
4302
|
-
function
|
|
4323
|
+
function Me(t, n) {
|
|
4303
4324
|
const e = {};
|
|
4304
4325
|
return !function(t) {
|
|
4305
4326
|
for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n)) return !1;
|
|
4306
4327
|
return !0;
|
|
4307
4328
|
}(t) ? Tt(t, ((t, r) => {
|
|
4308
|
-
const s =
|
|
4329
|
+
const s = je(r, n.et(t));
|
|
4309
4330
|
null != s && (e[t] = s);
|
|
4310
4331
|
})) :
|
|
4311
4332
|
// If we encounter an empty object, we explicitly add it to the update
|
|
@@ -4317,12 +4338,12 @@ function Be(t, n) {
|
|
|
4317
4338
|
};
|
|
4318
4339
|
}
|
|
4319
4340
|
|
|
4320
|
-
function
|
|
4321
|
-
return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof vt || t instanceof
|
|
4341
|
+
function Be(t) {
|
|
4342
|
+
return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof vt || t instanceof Te || t instanceof be || t instanceof le || t instanceof Ee);
|
|
4322
4343
|
}
|
|
4323
4344
|
|
|
4324
|
-
function
|
|
4325
|
-
if (!
|
|
4345
|
+
function ze(t, n, e) {
|
|
4346
|
+
if (!Be(e) || !function(t) {
|
|
4326
4347
|
return "object" == typeof t && null !== t && (Object.getPrototypeOf(t) === Object.prototype || null === Object.getPrototypeOf(t));
|
|
4327
4348
|
}(e)) {
|
|
4328
4349
|
const r = ot(e);
|
|
@@ -4336,16 +4357,16 @@ function Qe(t, n, e) {
|
|
|
4336
4357
|
if ((
|
|
4337
4358
|
// If required, replace the FieldPath Compat class with with the firestore-exp
|
|
4338
4359
|
// FieldPath.
|
|
4339
|
-
n = l(n)) instanceof
|
|
4340
|
-
if ("string" == typeof n) return
|
|
4341
|
-
throw
|
|
4360
|
+
n = l(n)) instanceof ge) return n._internalPath;
|
|
4361
|
+
if ("string" == typeof n) return We(t, n);
|
|
4362
|
+
throw Ye("Field path arguments must be of type string or ", t,
|
|
4342
4363
|
/* hasConverter= */ !1,
|
|
4343
4364
|
/* path= */ void 0, e);
|
|
4344
4365
|
}
|
|
4345
4366
|
|
|
4346
4367
|
/**
|
|
4347
4368
|
* Matches any characters in a field path string that are reserved.
|
|
4348
|
-
*/ const
|
|
4369
|
+
*/ const Qe = new RegExp("[~\\*/\\[\\]]");
|
|
4349
4370
|
|
|
4350
4371
|
/**
|
|
4351
4372
|
* Wraps fromDotSeparatedString with an error message about the method that
|
|
@@ -4355,20 +4376,20 @@ function Qe(t, n, e) {
|
|
|
4355
4376
|
* split on dots.
|
|
4356
4377
|
* @param targetDoc - The document against which the field path will be
|
|
4357
4378
|
* evaluated.
|
|
4358
|
-
*/ function
|
|
4359
|
-
if (n.search(
|
|
4379
|
+
*/ function We(t, n, e) {
|
|
4380
|
+
if (n.search(Qe) >= 0) throw Ye(`Invalid field path (${n}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
|
|
4360
4381
|
/* hasConverter= */ !1,
|
|
4361
4382
|
/* path= */ void 0, e);
|
|
4362
4383
|
try {
|
|
4363
|
-
return new
|
|
4384
|
+
return new ge(...n.split("."))._internalPath;
|
|
4364
4385
|
} catch (r) {
|
|
4365
|
-
throw
|
|
4386
|
+
throw Ye(`Invalid field path (${n}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
|
|
4366
4387
|
/* hasConverter= */ !1,
|
|
4367
4388
|
/* path= */ void 0, e);
|
|
4368
4389
|
}
|
|
4369
4390
|
}
|
|
4370
4391
|
|
|
4371
|
-
function
|
|
4392
|
+
function Ye(t, n, e, r, s) {
|
|
4372
4393
|
const i = r && !r.isEmpty(), o = void 0 !== s;
|
|
4373
4394
|
let u = `Function ${n}() called with invalid data`;
|
|
4374
4395
|
e && (u += " (via `toFirestore()`)"), u += ". ";
|
|
@@ -4377,7 +4398,7 @@ function He(t, n, e, r, s) {
|
|
|
4377
4398
|
c += ")"), new U(R, u + t + c);
|
|
4378
4399
|
}
|
|
4379
4400
|
|
|
4380
|
-
/** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function
|
|
4401
|
+
/** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function He(t, n) {
|
|
4381
4402
|
return t.some((t => t.isEqual(n)));
|
|
4382
4403
|
}
|
|
4383
4404
|
|
|
@@ -4405,7 +4426,7 @@ function He(t, n, e, r, s) {
|
|
|
4405
4426
|
* For a `DocumentSnapshot` that points to a non-existing document, any data
|
|
4406
4427
|
* access will return 'undefined'. You can use the `exists()` method to
|
|
4407
4428
|
* explicitly verify a document's existence.
|
|
4408
|
-
*/ class
|
|
4429
|
+
*/ class Ke {
|
|
4409
4430
|
// Note: This class is stripped down version of the DocumentSnapshot in
|
|
4410
4431
|
// the legacy SDK. The changes are:
|
|
4411
4432
|
// - No support for SnapshotMetadata.
|
|
@@ -4421,7 +4442,7 @@ function He(t, n, e, r, s) {
|
|
|
4421
4442
|
/**
|
|
4422
4443
|
* The `DocumentReference` for the document included in the `DocumentSnapshot`.
|
|
4423
4444
|
*/ get ref() {
|
|
4424
|
-
return new
|
|
4445
|
+
return new le(this._firestore, this._converter, this._key);
|
|
4425
4446
|
}
|
|
4426
4447
|
/**
|
|
4427
4448
|
* Signals whether or not the document at the snapshot's location exists.
|
|
@@ -4441,7 +4462,7 @@ function He(t, n, e, r, s) {
|
|
|
4441
4462
|
if (this._converter) {
|
|
4442
4463
|
// We only want to use the converter and create a new DocumentSnapshot
|
|
4443
4464
|
// if a converter has been provided.
|
|
4444
|
-
const t = new
|
|
4465
|
+
const t = new Je(this._firestore, this._userDataWriter, this._key, this._document,
|
|
4445
4466
|
/* converter= */ null);
|
|
4446
4467
|
return this._converter.fromFirestore(t);
|
|
4447
4468
|
}
|
|
@@ -4461,7 +4482,7 @@ function He(t, n, e, r, s) {
|
|
|
4461
4482
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4462
4483
|
get(t) {
|
|
4463
4484
|
if (this._document) {
|
|
4464
|
-
const n = this._document.data.field(
|
|
4485
|
+
const n = this._document.data.field(tr("DocumentSnapshot.get", t));
|
|
4465
4486
|
if (null !== n) return this._userDataWriter.convertValue(n);
|
|
4466
4487
|
}
|
|
4467
4488
|
}
|
|
@@ -4477,7 +4498,7 @@ function He(t, n, e, r, s) {
|
|
|
4477
4498
|
* `DocumentSnapshot`. Since query results contain only existing documents, the
|
|
4478
4499
|
* `exists` property will always be true and `data()` will never return
|
|
4479
4500
|
* 'undefined'.
|
|
4480
|
-
*/ class
|
|
4501
|
+
*/ class Je extends Ke {
|
|
4481
4502
|
/**
|
|
4482
4503
|
* Retrieves all fields in the document as an `Object`.
|
|
4483
4504
|
*
|
|
@@ -4495,7 +4516,7 @@ function He(t, n, e, r, s) {
|
|
|
4495
4516
|
* array via the `docs` property or enumerated using the `forEach` method. The
|
|
4496
4517
|
* number of documents can be determined via the `empty` and `size`
|
|
4497
4518
|
* properties.
|
|
4498
|
-
*/ class
|
|
4519
|
+
*/ class Xe {
|
|
4499
4520
|
/** @hideconstructor */
|
|
4500
4521
|
constructor(t, n) {
|
|
4501
4522
|
this._docs = n, this.query = t;
|
|
@@ -4526,14 +4547,14 @@ function He(t, n, e, r, s) {
|
|
|
4526
4547
|
* @param left - A snapshot to compare.
|
|
4527
4548
|
* @param right - A snapshot to compare.
|
|
4528
4549
|
* @returns true if the snapshots are equal.
|
|
4529
|
-
*/ function
|
|
4530
|
-
return t = l(t), n = l(n), t instanceof
|
|
4550
|
+
*/ function Ze(t, n) {
|
|
4551
|
+
return t = l(t), n = l(n), t instanceof Ke && n instanceof Ke ? t._firestore === n._firestore && t._key.isEqual(n._key) && (null === t._document ? null === n._document : t._document.isEqual(n._document)) && t._converter === n._converter : t instanceof Xe && n instanceof Xe && (_e(t.query, n.query) && gt(t.docs, n.docs, Ze));
|
|
4531
4552
|
}
|
|
4532
4553
|
|
|
4533
4554
|
/**
|
|
4534
4555
|
* Helper that calls `fromDotSeparatedString()` but wraps any error thrown.
|
|
4535
|
-
*/ function
|
|
4536
|
-
return "string" == typeof n ?
|
|
4556
|
+
*/ function tr(t, n) {
|
|
4557
|
+
return "string" == typeof n ? We(t, n) : n instanceof ge ? n._internalPath : n._delegate._internalPath;
|
|
4537
4558
|
}
|
|
4538
4559
|
|
|
4539
4560
|
/**
|
|
@@ -4560,7 +4581,7 @@ function He(t, n, e, r, s) {
|
|
|
4560
4581
|
* can then be passed to {@link query} to create a new query instance that
|
|
4561
4582
|
* also contains this `QueryConstraint`.
|
|
4562
4583
|
*/
|
|
4563
|
-
class
|
|
4584
|
+
class nr {}
|
|
4564
4585
|
|
|
4565
4586
|
/**
|
|
4566
4587
|
* Creates a new immutable instance of {@link Query} that is extended to also include
|
|
@@ -4570,32 +4591,32 @@ class er {}
|
|
|
4570
4591
|
* @param queryConstraints - The list of {@link QueryConstraint}s to apply.
|
|
4571
4592
|
* @throws if any of the provided query constraints cannot be combined with the
|
|
4572
4593
|
* existing or new constraints.
|
|
4573
|
-
*/ function
|
|
4594
|
+
*/ function er(t, ...n) {
|
|
4574
4595
|
for (const e of n) t = e._apply(t);
|
|
4575
4596
|
return t;
|
|
4576
4597
|
}
|
|
4577
4598
|
|
|
4578
|
-
class
|
|
4599
|
+
class rr extends nr {
|
|
4579
4600
|
constructor(t, n, e) {
|
|
4580
4601
|
super(), this.dt = t, this.wt = n, this.yt = e, this.type = "where";
|
|
4581
4602
|
}
|
|
4582
4603
|
_apply(t) {
|
|
4583
|
-
const n =
|
|
4604
|
+
const n = De(t.firestore), e = function(t, n, e, r, s, i, o) {
|
|
4584
4605
|
let u;
|
|
4585
4606
|
if (s.isKeyField()) {
|
|
4586
4607
|
if ("array-contains" /* ARRAY_CONTAINS */ === i || "array-contains-any" /* ARRAY_CONTAINS_ANY */ === i) throw new U(R, `Invalid Query. You can't perform '${i}' queries on documentId().`);
|
|
4587
4608
|
if ("in" /* IN */ === i || "not-in" /* NOT_IN */ === i) {
|
|
4588
|
-
|
|
4609
|
+
_r(o, i);
|
|
4589
4610
|
const n = [];
|
|
4590
|
-
for (const e of o) n.push(
|
|
4611
|
+
for (const e of o) n.push(yr(r, t, e));
|
|
4591
4612
|
u = {
|
|
4592
4613
|
arrayValue: {
|
|
4593
4614
|
values: n
|
|
4594
4615
|
}
|
|
4595
4616
|
};
|
|
4596
|
-
} else u =
|
|
4597
|
-
} else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i ||
|
|
4598
|
-
u =
|
|
4617
|
+
} else u = yr(r, t, o);
|
|
4618
|
+
} else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i || _r(o, i),
|
|
4619
|
+
u = Ue(e, n, o,
|
|
4599
4620
|
/* allowArrays= */ "in" /* IN */ === i || "not-in" /* NOT_IN */ === i);
|
|
4600
4621
|
const c = Ht.create(s, i, u);
|
|
4601
4622
|
return function(t, n) {
|
|
@@ -4603,7 +4624,7 @@ class sr extends er {
|
|
|
4603
4624
|
const e = fn(t);
|
|
4604
4625
|
if (null !== e && !e.isEqual(n.field)) throw new U(R, `Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on '${e.toString()}' and '${n.field.toString()}'`);
|
|
4605
4626
|
const r = ln(t);
|
|
4606
|
-
null !== r &&
|
|
4627
|
+
null !== r && gr(t, n.field, r);
|
|
4607
4628
|
}
|
|
4608
4629
|
const e = function(t, n) {
|
|
4609
4630
|
for (const e of t.filters) if (n.indexOf(e.op) >= 0) return e.op;
|
|
@@ -4647,7 +4668,7 @@ class sr extends er {
|
|
|
4647
4668
|
throw e === n.op ? new U(R, `Invalid query. You cannot use more than one '${n.op.toString()}' filter.`) : new U(R, `Invalid query. You cannot use '${n.op.toString()}' filters with '${e.toString()}' filters.`);
|
|
4648
4669
|
}(t, c), c;
|
|
4649
4670
|
}(t._query, "where", n, t.firestore._databaseId, this.dt, this.wt, this.yt);
|
|
4650
|
-
return new
|
|
4671
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4651
4672
|
const e = t.filters.concat([ n ]);
|
|
4652
4673
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), e, t.limit, t.limitType, t.startAt, t.endAt);
|
|
4653
4674
|
}(t._query, e));
|
|
@@ -4664,12 +4685,12 @@ class sr extends er {
|
|
|
4664
4685
|
* "<=", "!=").
|
|
4665
4686
|
* @param value - The value for comparison
|
|
4666
4687
|
* @returns The created {@link Query}.
|
|
4667
|
-
*/ function
|
|
4668
|
-
const r = n, s =
|
|
4669
|
-
return new
|
|
4688
|
+
*/ function sr(t, n, e) {
|
|
4689
|
+
const r = n, s = tr("where", t);
|
|
4690
|
+
return new rr(s, r, e);
|
|
4670
4691
|
}
|
|
4671
4692
|
|
|
4672
|
-
class
|
|
4693
|
+
class ir extends nr {
|
|
4673
4694
|
constructor(t, n) {
|
|
4674
4695
|
super(), this.dt = t, this._t = n, this.type = "orderBy";
|
|
4675
4696
|
}
|
|
@@ -4682,7 +4703,7 @@ class or extends er {
|
|
|
4682
4703
|
if (null === ln(t)) {
|
|
4683
4704
|
// This is the first order by. It must match any inequality.
|
|
4684
4705
|
const e = fn(t);
|
|
4685
|
-
null !== e &&
|
|
4706
|
+
null !== e && gr(t, e, n.field);
|
|
4686
4707
|
}
|
|
4687
4708
|
}(t, r), r;
|
|
4688
4709
|
}
|
|
@@ -4697,7 +4718,7 @@ class or extends er {
|
|
|
4697
4718
|
* of the query or if any of the fields in the order by are an uncommitted
|
|
4698
4719
|
* server timestamp.
|
|
4699
4720
|
*/ (t._query, this.dt, this._t);
|
|
4700
|
-
return new
|
|
4721
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4701
4722
|
// TODO(dimond): validate that orderBy does not list the same key twice.
|
|
4702
4723
|
const e = t.explicitOrderBy.concat([ n ]);
|
|
4703
4724
|
return new an(t.path, t.collectionGroup, e, t.filters.slice(), t.limit, t.limitType, t.startAt, t.endAt);
|
|
@@ -4713,17 +4734,17 @@ class or extends er {
|
|
|
4713
4734
|
* @param directionStr - Optional direction to sort by ('asc' or 'desc'). If
|
|
4714
4735
|
* not specified, order will be ascending.
|
|
4715
4736
|
* @returns The created {@link Query}.
|
|
4716
|
-
*/ function
|
|
4717
|
-
const e = n, r =
|
|
4718
|
-
return new
|
|
4737
|
+
*/ function or(t, n = "asc") {
|
|
4738
|
+
const e = n, r = tr("orderBy", t);
|
|
4739
|
+
return new ir(r, e);
|
|
4719
4740
|
}
|
|
4720
4741
|
|
|
4721
|
-
class
|
|
4742
|
+
class ur extends nr {
|
|
4722
4743
|
constructor(t, n, e) {
|
|
4723
4744
|
super(), this.type = t, this.gt = n, this.vt = e;
|
|
4724
4745
|
}
|
|
4725
4746
|
_apply(t) {
|
|
4726
|
-
return new
|
|
4747
|
+
return new fe(t.firestore, t.converter, function(t, n, e) {
|
|
4727
4748
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), n, e, t.startAt, t.endAt);
|
|
4728
4749
|
}(t._query, this.gt, this.vt));
|
|
4729
4750
|
}
|
|
@@ -4734,8 +4755,8 @@ class cr extends er {
|
|
|
4734
4755
|
*
|
|
4735
4756
|
* @param limit - The maximum number of items to return.
|
|
4736
4757
|
* @returns The created {@link Query}.
|
|
4737
|
-
*/ function
|
|
4738
|
-
return ct("limit", t), new
|
|
4758
|
+
*/ function cr(t) {
|
|
4759
|
+
return ct("limit", t), new ur("limit", t, "F" /* First */);
|
|
4739
4760
|
}
|
|
4740
4761
|
|
|
4741
4762
|
/**
|
|
@@ -4746,53 +4767,55 @@ class cr extends er {
|
|
|
4746
4767
|
*
|
|
4747
4768
|
* @param limit - The maximum number of items to return.
|
|
4748
4769
|
* @returns The created {@link Query}.
|
|
4749
|
-
*/ function
|
|
4750
|
-
return ct("limitToLast", t), new
|
|
4770
|
+
*/ function ar(t) {
|
|
4771
|
+
return ct("limitToLast", t), new ur("limitToLast", t, "L" /* Last */);
|
|
4751
4772
|
}
|
|
4752
4773
|
|
|
4753
|
-
class
|
|
4774
|
+
class hr extends nr {
|
|
4754
4775
|
constructor(t, n, e) {
|
|
4755
4776
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4756
4777
|
}
|
|
4757
4778
|
_apply(t) {
|
|
4758
|
-
const n =
|
|
4759
|
-
return new
|
|
4779
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4780
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4760
4781
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, n, t.endAt);
|
|
4761
4782
|
}(t._query, n));
|
|
4762
4783
|
}
|
|
4763
4784
|
}
|
|
4764
4785
|
|
|
4765
|
-
function
|
|
4766
|
-
return new
|
|
4786
|
+
function lr(...t) {
|
|
4787
|
+
return new hr("startAt", t,
|
|
4788
|
+
/*inclusive=*/ !0);
|
|
4767
4789
|
}
|
|
4768
4790
|
|
|
4769
|
-
function
|
|
4770
|
-
return new
|
|
4771
|
-
/*
|
|
4791
|
+
function fr(...t) {
|
|
4792
|
+
return new hr("startAfter", t,
|
|
4793
|
+
/*inclusive=*/ !1);
|
|
4772
4794
|
}
|
|
4773
4795
|
|
|
4774
|
-
class
|
|
4796
|
+
class dr extends nr {
|
|
4775
4797
|
constructor(t, n, e) {
|
|
4776
4798
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4777
4799
|
}
|
|
4778
4800
|
_apply(t) {
|
|
4779
|
-
const n =
|
|
4780
|
-
return new
|
|
4801
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4802
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4781
4803
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, t.startAt, n);
|
|
4782
4804
|
}(t._query, n));
|
|
4783
4805
|
}
|
|
4784
4806
|
}
|
|
4785
4807
|
|
|
4786
|
-
function
|
|
4787
|
-
return new
|
|
4808
|
+
function wr(...t) {
|
|
4809
|
+
return new dr("endBefore", t,
|
|
4810
|
+
/*inclusive=*/ !1);
|
|
4788
4811
|
}
|
|
4789
4812
|
|
|
4790
|
-
function
|
|
4791
|
-
return new
|
|
4813
|
+
function mr(...t) {
|
|
4814
|
+
return new dr("endAt", t, /*inclusive=*/ !0);
|
|
4792
4815
|
}
|
|
4793
4816
|
|
|
4794
|
-
/** Helper function to create a bound from a document or fields */ function
|
|
4795
|
-
if (e[0] = l(e[0]), e[0] instanceof
|
|
4817
|
+
/** Helper function to create a bound from a document or fields */ function pr(t, n, e, r) {
|
|
4818
|
+
if (e[0] = l(e[0]), e[0] instanceof Ke) return function(t, n, e, r, s) {
|
|
4796
4819
|
if (!r) throw new U(V, `Can't use a DocumentSnapshot that doesn't exist for ${e}().`);
|
|
4797
4820
|
const i = [];
|
|
4798
4821
|
// Because people expect to continue/end a query at the exact document
|
|
@@ -4817,7 +4840,7 @@ function pr(...t) {
|
|
|
4817
4840
|
* Converts a list of field values to a `Bound` for the given query.
|
|
4818
4841
|
*/ (t._query, t.firestore._databaseId, n, e[0]._document, r);
|
|
4819
4842
|
{
|
|
4820
|
-
const s =
|
|
4843
|
+
const s = De(t.firestore);
|
|
4821
4844
|
return function(t, n, e, r, s, i) {
|
|
4822
4845
|
// Use explicit order by's because it has to match the query the user made
|
|
4823
4846
|
const o = t.explicitOrderBy;
|
|
@@ -4833,7 +4856,7 @@ function pr(...t) {
|
|
|
4833
4856
|
const s = new et(e);
|
|
4834
4857
|
u.push(kt(n, s));
|
|
4835
4858
|
} else {
|
|
4836
|
-
const t =
|
|
4859
|
+
const t = Ue(e, r, c);
|
|
4837
4860
|
u.push(t);
|
|
4838
4861
|
}
|
|
4839
4862
|
}
|
|
@@ -4847,7 +4870,7 @@ function pr(...t) {
|
|
|
4847
4870
|
}
|
|
4848
4871
|
}
|
|
4849
4872
|
|
|
4850
|
-
function
|
|
4873
|
+
function yr(t, n, e) {
|
|
4851
4874
|
if ("string" == typeof (e = l(e))) {
|
|
4852
4875
|
if ("" === e) throw new U(R, "Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");
|
|
4853
4876
|
if (!dn(n) && -1 !== e.indexOf("/")) throw new U(R, `Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${e}' contains a '/' character.`);
|
|
@@ -4855,19 +4878,19 @@ function _r(t, n, e) {
|
|
|
4855
4878
|
if (!et.isDocumentKey(r)) throw new U(R, `Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);
|
|
4856
4879
|
return kt(t, new et(r));
|
|
4857
4880
|
}
|
|
4858
|
-
if (e instanceof
|
|
4881
|
+
if (e instanceof le) return kt(t, e._key);
|
|
4859
4882
|
throw new U(R, `Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${ot(e)}.`);
|
|
4860
4883
|
}
|
|
4861
4884
|
|
|
4862
4885
|
/**
|
|
4863
4886
|
* Validates that the value passed into a disjunctive filter satisfies all
|
|
4864
4887
|
* array requirements.
|
|
4865
|
-
*/ function
|
|
4888
|
+
*/ function _r(t, n) {
|
|
4866
4889
|
if (!Array.isArray(t) || 0 === t.length) throw new U(R, `Invalid Query. A non-empty array is required for '${n.toString()}' filters.`);
|
|
4867
4890
|
if (t.length > 10) throw new U(R, `Invalid Query. '${n.toString()}' filters support a maximum of 10 elements in the value array.`);
|
|
4868
4891
|
}
|
|
4869
4892
|
|
|
4870
|
-
function
|
|
4893
|
+
function gr(t, n, e) {
|
|
4871
4894
|
if (!e.isEqual(n)) throw new U(R, `Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '${n.toString()}' and so you must also use '${n.toString()}' as your first argument to orderBy(), but your first orderBy() is on field '${e.toString()}' instead.`);
|
|
4872
4895
|
}
|
|
4873
4896
|
|
|
@@ -4918,7 +4941,7 @@ function vr(t, n, e) {
|
|
|
4918
4941
|
* their `set()` or fails due to invalid data originating from a `toFirestore()`
|
|
4919
4942
|
* call.
|
|
4920
4943
|
*/
|
|
4921
|
-
function
|
|
4944
|
+
function vr(t, n, e) {
|
|
4922
4945
|
let r;
|
|
4923
4946
|
// Cast to `any` in order to satisfy the union type constraint on
|
|
4924
4947
|
// toFirestore().
|
|
@@ -4927,7 +4950,7 @@ function br(t, n, e) {
|
|
|
4927
4950
|
r;
|
|
4928
4951
|
}
|
|
4929
4952
|
|
|
4930
|
-
class
|
|
4953
|
+
class br extends class {
|
|
4931
4954
|
convertValue(t, n = "none") {
|
|
4932
4955
|
switch (xt(t)) {
|
|
4933
4956
|
case 0 /* NullValue */ :
|
|
@@ -4974,7 +4997,7 @@ class Er extends class {
|
|
|
4974
4997
|
})), e;
|
|
4975
4998
|
}
|
|
4976
4999
|
convertGeoPoint(t) {
|
|
4977
|
-
return new
|
|
5000
|
+
return new Te(Nt(t.latitude), Nt(t.longitude));
|
|
4978
5001
|
}
|
|
4979
5002
|
convertArray(t, n) {
|
|
4980
5003
|
return (t.values || []).map((t => this.convertValue(t, n)));
|
|
@@ -4998,7 +5021,7 @@ class Er extends class {
|
|
|
4998
5021
|
}
|
|
4999
5022
|
convertDocumentKey(t, n) {
|
|
5000
5023
|
const e = Z.fromString(t);
|
|
5001
|
-
b(
|
|
5024
|
+
b(Kn(e));
|
|
5002
5025
|
const r = new J(e.get(1), e.get(3)), s = new et(e.popFirst(5));
|
|
5003
5026
|
return r.isEqual(n) ||
|
|
5004
5027
|
// TODO(b/64130202): Somehow support foreign references.
|
|
@@ -5010,11 +5033,11 @@ class Er extends class {
|
|
|
5010
5033
|
super(), this.firestore = t;
|
|
5011
5034
|
}
|
|
5012
5035
|
convertBytes(t) {
|
|
5013
|
-
return new
|
|
5036
|
+
return new be(t);
|
|
5014
5037
|
}
|
|
5015
5038
|
convertReference(t) {
|
|
5016
5039
|
const n = this.convertDocumentKey(t, this.firestore._databaseId);
|
|
5017
|
-
return new
|
|
5040
|
+
return new le(this.firestore, /* converter= */ null, n);
|
|
5018
5041
|
}
|
|
5019
5042
|
}
|
|
5020
5043
|
|
|
@@ -5030,12 +5053,12 @@ class Er extends class {
|
|
|
5030
5053
|
* @param reference - The reference of the document to fetch.
|
|
5031
5054
|
* @returns A Promise resolved with a `DocumentSnapshot` containing the current
|
|
5032
5055
|
* document contents.
|
|
5033
|
-
*/ function
|
|
5034
|
-
const n =
|
|
5035
|
-
return
|
|
5056
|
+
*/ function Er(t) {
|
|
5057
|
+
const n = se((t = ut(t, le)).firestore), e = new br(t.firestore);
|
|
5058
|
+
return ne(n, [ t._key ]).then((n => {
|
|
5036
5059
|
b(1 === n.length);
|
|
5037
5060
|
const r = n[0];
|
|
5038
|
-
return new
|
|
5061
|
+
return new Ke(t.firestore, e, t._key, r.isFoundDocument() ? r : null, t.converter);
|
|
5039
5062
|
}));
|
|
5040
5063
|
}
|
|
5041
5064
|
|
|
@@ -5050,33 +5073,33 @@ class Er extends class {
|
|
|
5050
5073
|
*
|
|
5051
5074
|
* @param query - The `Query` to execute.
|
|
5052
5075
|
* @returns A Promise that will be resolved with the results of the query.
|
|
5053
|
-
*/ function
|
|
5076
|
+
*/ function Tr(t) {
|
|
5054
5077
|
!function(t) {
|
|
5055
5078
|
if (hn(t) && 0 === t.explicitOrderBy.length) throw new U(O, "limitToLast() queries require specifying at least one orderBy() clause");
|
|
5056
|
-
}((t = ut(t,
|
|
5057
|
-
const n =
|
|
5058
|
-
return
|
|
5059
|
-
const r = n.map((n => new
|
|
5079
|
+
}((t = ut(t, fe))._query);
|
|
5080
|
+
const n = se(t.firestore), e = new br(t.firestore);
|
|
5081
|
+
return ee(n, t._query).then((n => {
|
|
5082
|
+
const r = n.map((n => new Je(t.firestore, e, n.key, n, t.converter)));
|
|
5060
5083
|
return hn(t._query) &&
|
|
5061
5084
|
// Limit to last queries reverse the orderBy constraint that was
|
|
5062
5085
|
// specified by the user. As such, we need to reverse the order of the
|
|
5063
5086
|
// results to return the documents in the expected order.
|
|
5064
|
-
r.reverse(), new
|
|
5087
|
+
r.reverse(), new Xe(t, r);
|
|
5065
5088
|
}));
|
|
5066
5089
|
}
|
|
5067
5090
|
|
|
5068
|
-
function
|
|
5069
|
-
const r =
|
|
5070
|
-
return
|
|
5091
|
+
function Ir(t, n, e) {
|
|
5092
|
+
const r = vr((t = ut(t, le)).converter, n, e), s = $e(De(t.firestore), "setDoc", t._key, r, null !== t.converter, e);
|
|
5093
|
+
return te(se(t.firestore), [ s.toMutation(t._key, In.none()) ]);
|
|
5071
5094
|
}
|
|
5072
5095
|
|
|
5073
|
-
function
|
|
5074
|
-
const s =
|
|
5096
|
+
function Ar(t, n, e, ...r) {
|
|
5097
|
+
const s = De((t = ut(t, le)).firestore);
|
|
5075
5098
|
// For Compat types, we have to "extract" the underlying types before
|
|
5076
5099
|
// performing validation.
|
|
5077
5100
|
let i;
|
|
5078
|
-
i = "string" == typeof (n = l(n)) || n instanceof
|
|
5079
|
-
return
|
|
5101
|
+
i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(s, "updateDoc", t._key, n, e, r) : Le(s, "updateDoc", t._key, n);
|
|
5102
|
+
return te(se(t.firestore), [ i.toMutation(t._key, In.exists(!0)) ]);
|
|
5080
5103
|
}
|
|
5081
5104
|
|
|
5082
5105
|
/**
|
|
@@ -5090,8 +5113,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5090
5113
|
* @param reference - A reference to the document to delete.
|
|
5091
5114
|
* @returns A `Promise` resolved once the document has been successfully
|
|
5092
5115
|
* deleted from the backend.
|
|
5093
|
-
*/ function
|
|
5094
|
-
return
|
|
5116
|
+
*/ function Rr(t) {
|
|
5117
|
+
return te(se((t = ut(t, le)).firestore), [ new Vn(t._key, In.none()) ]);
|
|
5095
5118
|
}
|
|
5096
5119
|
|
|
5097
5120
|
/**
|
|
@@ -5108,9 +5131,9 @@ function Rr(t, n, e, ...r) {
|
|
|
5108
5131
|
* @throws Error - If the provided input is not a valid Firestore document.
|
|
5109
5132
|
* @returns A `Promise` resolved with a `DocumentReference` pointing to the
|
|
5110
5133
|
* newly created document after it has been written to the backend.
|
|
5111
|
-
*/ function
|
|
5112
|
-
const e =
|
|
5113
|
-
return
|
|
5134
|
+
*/ function Pr(t, n) {
|
|
5135
|
+
const e = pe(t = ut(t, de)), r = vr(t.converter, n), s = $e(De(t.firestore), "addDoc", e._key, r, null !== e.converter, {});
|
|
5136
|
+
return te(se(t.firestore), [ s.toMutation(e._key, In.exists(!1)) ]).then((() => e));
|
|
5114
5137
|
}
|
|
5115
5138
|
|
|
5116
5139
|
/**
|
|
@@ -5132,15 +5155,15 @@ function Rr(t, n, e, ...r) {
|
|
|
5132
5155
|
/**
|
|
5133
5156
|
* Returns a sentinel for use with {@link @firebase/firestore/lite#(updateDoc:1)} or
|
|
5134
5157
|
* {@link @firebase/firestore/lite#(setDoc:1)} with `{merge: true}` to mark a field for deletion.
|
|
5135
|
-
*/ function
|
|
5136
|
-
return new
|
|
5158
|
+
*/ function Vr() {
|
|
5159
|
+
return new Se("deleteField");
|
|
5137
5160
|
}
|
|
5138
5161
|
|
|
5139
5162
|
/**
|
|
5140
5163
|
* Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
|
|
5141
5164
|
* include a server-generated timestamp in the written data.
|
|
5142
|
-
*/ function
|
|
5143
|
-
return new
|
|
5165
|
+
*/ function Nr() {
|
|
5166
|
+
return new xe("serverTimestamp");
|
|
5144
5167
|
}
|
|
5145
5168
|
|
|
5146
5169
|
/**
|
|
@@ -5154,10 +5177,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5154
5177
|
* @param elements - The elements to union into the array.
|
|
5155
5178
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5156
5179
|
* `updateDoc()`.
|
|
5157
|
-
*/ function
|
|
5180
|
+
*/ function Dr(...t) {
|
|
5158
5181
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5159
5182
|
// update() since we'd need the Firestore instance to do this.
|
|
5160
|
-
return new
|
|
5183
|
+
return new qe("arrayUnion", t);
|
|
5161
5184
|
}
|
|
5162
5185
|
|
|
5163
5186
|
/**
|
|
@@ -5170,10 +5193,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5170
5193
|
* @param elements - The elements to remove from the array.
|
|
5171
5194
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5172
5195
|
* `updateDoc()`
|
|
5173
|
-
*/ function
|
|
5196
|
+
*/ function $r(...t) {
|
|
5174
5197
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5175
5198
|
// update() since we'd need the Firestore instance to do this.
|
|
5176
|
-
return new
|
|
5199
|
+
return new Oe("arrayRemove", t);
|
|
5177
5200
|
}
|
|
5178
5201
|
|
|
5179
5202
|
/**
|
|
@@ -5194,8 +5217,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5194
5217
|
* @param n - The value to increment by.
|
|
5195
5218
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5196
5219
|
* `updateDoc()`
|
|
5197
|
-
*/ function
|
|
5198
|
-
return new
|
|
5220
|
+
*/ function Sr(t) {
|
|
5221
|
+
return new Ce("increment", t);
|
|
5199
5222
|
}
|
|
5200
5223
|
|
|
5201
5224
|
/**
|
|
@@ -5221,24 +5244,24 @@ function Rr(t, n, e, ...r) {
|
|
|
5221
5244
|
* provides methods for adding writes to the write batch. None of the writes
|
|
5222
5245
|
* will be committed (or visible locally) until {@link WriteBatch.commit} is
|
|
5223
5246
|
* called.
|
|
5224
|
-
*/ class
|
|
5247
|
+
*/ class Fr {
|
|
5225
5248
|
/** @hideconstructor */
|
|
5226
5249
|
constructor(t, n) {
|
|
5227
5250
|
this._firestore = t, this._commitHandler = n, this._mutations = [], this._committed = !1,
|
|
5228
|
-
this._dataReader =
|
|
5251
|
+
this._dataReader = De(t);
|
|
5229
5252
|
}
|
|
5230
5253
|
set(t, n, e) {
|
|
5231
5254
|
this._verifyNotCommitted();
|
|
5232
|
-
const r =
|
|
5255
|
+
const r = xr(t, this._firestore), s = vr(r.converter, n, e), i = $e(this._dataReader, "WriteBatch.set", r._key, s, null !== r.converter, e);
|
|
5233
5256
|
return this._mutations.push(i.toMutation(r._key, In.none())), this;
|
|
5234
5257
|
}
|
|
5235
5258
|
update(t, n, e, ...r) {
|
|
5236
5259
|
this._verifyNotCommitted();
|
|
5237
|
-
const s =
|
|
5260
|
+
const s = xr(t, this._firestore);
|
|
5238
5261
|
// For Compat types, we have to "extract" the underlying types before
|
|
5239
5262
|
// performing validation.
|
|
5240
5263
|
let i;
|
|
5241
|
-
return i = "string" == typeof (n = l(n)) || n instanceof
|
|
5264
|
+
return i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(this._dataReader, "WriteBatch.update", s._key, n, e, r) : Le(this._dataReader, "WriteBatch.update", s._key, n),
|
|
5242
5265
|
this._mutations.push(i.toMutation(s._key, In.exists(!0))), this;
|
|
5243
5266
|
}
|
|
5244
5267
|
/**
|
|
@@ -5248,7 +5271,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5248
5271
|
* @returns This `WriteBatch` instance. Used for chaining method calls.
|
|
5249
5272
|
*/ delete(t) {
|
|
5250
5273
|
this._verifyNotCommitted();
|
|
5251
|
-
const n =
|
|
5274
|
+
const n = xr(t, this._firestore);
|
|
5252
5275
|
return this._mutations = this._mutations.concat(new Vn(n._key, In.none())), this;
|
|
5253
5276
|
}
|
|
5254
5277
|
/**
|
|
@@ -5270,7 +5293,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5270
5293
|
}
|
|
5271
5294
|
}
|
|
5272
5295
|
|
|
5273
|
-
function
|
|
5296
|
+
function xr(t, n) {
|
|
5274
5297
|
if ((t = l(t)).firestore !== n) throw new U(R, "Provided document reference is from a different Firestore instance.");
|
|
5275
5298
|
return t;
|
|
5276
5299
|
}
|
|
@@ -5287,9 +5310,9 @@ function qr(t, n) {
|
|
|
5287
5310
|
*
|
|
5288
5311
|
* @returns A `WriteBatch` that can be used to atomically execute multiple
|
|
5289
5312
|
* writes.
|
|
5290
|
-
*/ function
|
|
5291
|
-
const n =
|
|
5292
|
-
return new
|
|
5313
|
+
*/ function qr(t) {
|
|
5314
|
+
const n = se(t = ut(t, oe));
|
|
5315
|
+
return new Fr(t, (t => te(n, t)));
|
|
5293
5316
|
}
|
|
5294
5317
|
|
|
5295
5318
|
/**
|
|
@@ -5311,7 +5334,7 @@ function qr(t, n) {
|
|
|
5311
5334
|
/**
|
|
5312
5335
|
* Internal transaction object responsible for accumulating the mutations to
|
|
5313
5336
|
* perform and the base versions for any documents read.
|
|
5314
|
-
*/ class
|
|
5337
|
+
*/ class Or {
|
|
5315
5338
|
constructor(t) {
|
|
5316
5339
|
this.datastore = t,
|
|
5317
5340
|
// The version of each document that was read during this transaction.
|
|
@@ -5331,7 +5354,7 @@ function qr(t, n) {
|
|
|
5331
5354
|
}
|
|
5332
5355
|
async lookup(t) {
|
|
5333
5356
|
if (this.ensureCommitNotCalled(), this.mutations.length > 0) throw new U(R, "Firestore transactions require all reads to be executed before all writes.");
|
|
5334
|
-
const n = await
|
|
5357
|
+
const n = await ne(this.datastore, t);
|
|
5335
5358
|
return n.forEach((t => this.recordVersion(t))), n;
|
|
5336
5359
|
}
|
|
5337
5360
|
set(t, n) {
|
|
@@ -5360,7 +5383,7 @@ function qr(t, n) {
|
|
|
5360
5383
|
t.forEach(((t, n) => {
|
|
5361
5384
|
const e = et.fromPath(n);
|
|
5362
5385
|
this.mutations.push(new Nn(e, this.precondition(e)));
|
|
5363
|
-
})), await
|
|
5386
|
+
})), await te(this.datastore, this.mutations), this.committed = !0;
|
|
5364
5387
|
}
|
|
5365
5388
|
recordVersion(t) {
|
|
5366
5389
|
let n;
|
|
@@ -5434,17 +5457,17 @@ function qr(t, n) {
|
|
|
5434
5457
|
* TransactionRunner encapsulates the logic needed to run and retry transactions
|
|
5435
5458
|
* with backoff.
|
|
5436
5459
|
*/
|
|
5437
|
-
class
|
|
5460
|
+
class Cr {
|
|
5438
5461
|
constructor(t, n, e, r) {
|
|
5439
5462
|
this.asyncQueue = t, this.datastore = n, this.updateFunction = e, this.deferred = r,
|
|
5440
|
-
this.Tt = 5, this.It = new
|
|
5463
|
+
this.Tt = 5, this.It = new Xn(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
|
|
5441
5464
|
}
|
|
5442
5465
|
/** Runs the transaction and sets the result on deferred. */ run() {
|
|
5443
5466
|
this.Tt -= 1, this.At();
|
|
5444
5467
|
}
|
|
5445
5468
|
At() {
|
|
5446
5469
|
this.It.W((async () => {
|
|
5447
|
-
const t = new
|
|
5470
|
+
const t = new Or(this.datastore), n = this.Rt(t);
|
|
5448
5471
|
n && n.then((n => {
|
|
5449
5472
|
this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
|
|
5450
5473
|
this.deferred.resolve(n);
|
|
@@ -5534,7 +5557,7 @@ class Lr {
|
|
|
5534
5557
|
* See the License for the specific language governing permissions and
|
|
5535
5558
|
* limitations under the License.
|
|
5536
5559
|
*/
|
|
5537
|
-
/** The Platform's 'document' implementation or null if not available. */ function
|
|
5560
|
+
/** The Platform's 'document' implementation or null if not available. */ function Lr() {
|
|
5538
5561
|
// `document` is not always available, e.g. in ReactNative and WebWorkers.
|
|
5539
5562
|
// eslint-disable-next-line no-restricted-globals
|
|
5540
5563
|
return "undefined" != typeof document ? document : null;
|
|
@@ -5566,7 +5589,7 @@ class Lr {
|
|
|
5566
5589
|
* Note: We implement `PromiseLike` instead of `Promise`, as the `Promise` type
|
|
5567
5590
|
* in newer versions of TypeScript defines `finally`, which is not available in
|
|
5568
5591
|
* IE.
|
|
5569
|
-
*/ class
|
|
5592
|
+
*/ class kr {
|
|
5570
5593
|
constructor(t, n, e, r, s) {
|
|
5571
5594
|
this.asyncQueue = t, this.timerId = n, this.targetTimeMs = e, this.op = r, this.removalCallback = s,
|
|
5572
5595
|
this.deferred = new j, this.then = this.deferred.promise.then.bind(this.deferred.promise),
|
|
@@ -5589,7 +5612,7 @@ class Lr {
|
|
|
5589
5612
|
* PORTING NOTE: This exists to prevent making removeDelayedOperation() and
|
|
5590
5613
|
* the DelayedOperation class public.
|
|
5591
5614
|
*/ static createAndSchedule(t, n, e, r, s) {
|
|
5592
|
-
const i = Date.now() + e, o = new
|
|
5615
|
+
const i = Date.now() + e, o = new kr(t, n, i, r, s);
|
|
5593
5616
|
return o.start(e), o;
|
|
5594
5617
|
}
|
|
5595
5618
|
/**
|
|
@@ -5638,7 +5661,7 @@ class Lr {
|
|
|
5638
5661
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5639
5662
|
* See the License for the specific language governing permissions and
|
|
5640
5663
|
* limitations under the License.
|
|
5641
|
-
*/ class
|
|
5664
|
+
*/ class Ur {
|
|
5642
5665
|
constructor() {
|
|
5643
5666
|
// The last promise in the queue.
|
|
5644
5667
|
this.Nt = Promise.resolve(),
|
|
@@ -5661,15 +5684,15 @@ class Lr {
|
|
|
5661
5684
|
// List of TimerIds to fast-forward delays for.
|
|
5662
5685
|
this.Ot = [],
|
|
5663
5686
|
// Backoff timer used to schedule retries for retryable operations
|
|
5664
|
-
this.It = new
|
|
5687
|
+
this.It = new Xn(this, "async_queue_retry" /* AsyncQueueRetry */),
|
|
5665
5688
|
// Visibility handler that triggers an immediate retry of all retryable
|
|
5666
5689
|
// operations. Meant to speed up recovery when we regain file system access
|
|
5667
5690
|
// after page comes into foreground.
|
|
5668
5691
|
this.Ct = () => {
|
|
5669
|
-
const t =
|
|
5692
|
+
const t = Lr();
|
|
5670
5693
|
t && p("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.It.H();
|
|
5671
5694
|
};
|
|
5672
|
-
const t =
|
|
5695
|
+
const t = Lr();
|
|
5673
5696
|
t && "function" == typeof t.addEventListener && t.addEventListener("visibilitychange", this.Ct);
|
|
5674
5697
|
}
|
|
5675
5698
|
get isShuttingDown() {
|
|
@@ -5690,7 +5713,7 @@ class Lr {
|
|
|
5690
5713
|
enterRestrictedMode(t) {
|
|
5691
5714
|
if (!this.$t) {
|
|
5692
5715
|
this.$t = !0, this.qt = t || !1;
|
|
5693
|
-
const n =
|
|
5716
|
+
const n = Lr();
|
|
5694
5717
|
n && "function" == typeof n.removeEventListener && n.removeEventListener("visibilitychange", this.Ct);
|
|
5695
5718
|
}
|
|
5696
5719
|
}
|
|
@@ -5822,7 +5845,7 @@ class Lr {
|
|
|
5822
5845
|
this.Lt(),
|
|
5823
5846
|
// Fast-forward delays for timerIds that have been overriden.
|
|
5824
5847
|
this.Ot.indexOf(t) > -1 && (n = 0);
|
|
5825
|
-
const r =
|
|
5848
|
+
const r = kr.createAndSchedule(this, t, n, e, (t => this.jt(t)));
|
|
5826
5849
|
return this.St.push(r), r;
|
|
5827
5850
|
}
|
|
5828
5851
|
Lt() {
|
|
@@ -5866,7 +5889,7 @@ class Lr {
|
|
|
5866
5889
|
}
|
|
5867
5890
|
/**
|
|
5868
5891
|
* For Tests: Skip all subsequent delays for a timer id.
|
|
5869
|
-
*/
|
|
5892
|
+
*/ Gt(t) {
|
|
5870
5893
|
this.Ot.push(t);
|
|
5871
5894
|
}
|
|
5872
5895
|
/** Called once a DelayedOperation is run or canceled. */ jt(t) {
|
|
@@ -5876,10 +5899,10 @@ class Lr {
|
|
|
5876
5899
|
}
|
|
5877
5900
|
}
|
|
5878
5901
|
|
|
5879
|
-
class
|
|
5902
|
+
class jr {
|
|
5880
5903
|
/** @hideconstructor */
|
|
5881
5904
|
constructor(t, n) {
|
|
5882
|
-
this._firestore = t, this._transaction = n, this._dataReader =
|
|
5905
|
+
this._firestore = t, this._transaction = n, this._dataReader = De(t);
|
|
5883
5906
|
}
|
|
5884
5907
|
/**
|
|
5885
5908
|
* Reads the document referenced by the provided {@link DocumentReference}.
|
|
@@ -5887,25 +5910,25 @@ class Mr {
|
|
|
5887
5910
|
* @param documentRef - A reference to the document to be read.
|
|
5888
5911
|
* @returns A `DocumentSnapshot` with the read data.
|
|
5889
5912
|
*/ get(t) {
|
|
5890
|
-
const n =
|
|
5913
|
+
const n = xr(t, this._firestore), e = new br(this._firestore);
|
|
5891
5914
|
return this._transaction.lookup([ n._key ]).then((t => {
|
|
5892
5915
|
if (!t || 1 !== t.length) return v();
|
|
5893
5916
|
const r = t[0];
|
|
5894
|
-
if (r.isFoundDocument()) return new
|
|
5895
|
-
if (r.isNoDocument()) return new
|
|
5917
|
+
if (r.isFoundDocument()) return new Ke(this._firestore, e, r.key, r, n.converter);
|
|
5918
|
+
if (r.isNoDocument()) return new Ke(this._firestore, e, n._key, null, n.converter);
|
|
5896
5919
|
throw v();
|
|
5897
5920
|
}));
|
|
5898
5921
|
}
|
|
5899
5922
|
set(t, n, e) {
|
|
5900
|
-
const r =
|
|
5923
|
+
const r = xr(t, this._firestore), s = vr(r.converter, n, e), i = $e(this._dataReader, "Transaction.set", r._key, s, null !== r.converter, e);
|
|
5901
5924
|
return this._transaction.set(r._key, i), this;
|
|
5902
5925
|
}
|
|
5903
5926
|
update(t, n, e, ...r) {
|
|
5904
|
-
const s =
|
|
5927
|
+
const s = xr(t, this._firestore);
|
|
5905
5928
|
// For Compat types, we have to "extract" the underlying types before
|
|
5906
5929
|
// performing validation.
|
|
5907
5930
|
let i;
|
|
5908
|
-
return i = "string" == typeof (n = l(n)) || n instanceof
|
|
5931
|
+
return i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(this._dataReader, "Transaction.update", s._key, n, e, r) : Le(this._dataReader, "Transaction.update", s._key, n),
|
|
5909
5932
|
this._transaction.update(s._key, i), this;
|
|
5910
5933
|
}
|
|
5911
5934
|
/**
|
|
@@ -5914,7 +5937,7 @@ class Mr {
|
|
|
5914
5937
|
* @param documentRef - A reference to the document to be deleted.
|
|
5915
5938
|
* @returns This `Transaction` instance. Used for chaining method calls.
|
|
5916
5939
|
*/ delete(t) {
|
|
5917
|
-
const n =
|
|
5940
|
+
const n = xr(t, this._firestore);
|
|
5918
5941
|
return this._transaction.delete(n._key), this;
|
|
5919
5942
|
}
|
|
5920
5943
|
}
|
|
@@ -5935,9 +5958,9 @@ class Mr {
|
|
|
5935
5958
|
* (the `updateFunction` returned a failed promise), the promise returned by the
|
|
5936
5959
|
* `updateFunction `is returned here. Otherwise, if the transaction failed, a
|
|
5937
5960
|
* rejected promise with the corresponding failure error is returned.
|
|
5938
|
-
*/ function
|
|
5939
|
-
const e =
|
|
5940
|
-
return new
|
|
5961
|
+
*/ function Mr(t, n) {
|
|
5962
|
+
const e = se(t = ut(t, oe)), r = new j;
|
|
5963
|
+
return new Cr(new Ur, e, (e => n(new jr(t, e))), r).run(), r.promise;
|
|
5941
5964
|
}
|
|
5942
5965
|
|
|
5943
5966
|
/**
|
|
@@ -5950,11 +5973,11 @@ class Mr {
|
|
|
5950
5973
|
*/ !function(t) {
|
|
5951
5974
|
d = t;
|
|
5952
5975
|
}(`${s}_lite`), e(new i("firestore/lite", ((t, {options: n}) => {
|
|
5953
|
-
const e = t.getProvider("app").getImmediate(), r = new
|
|
5976
|
+
const e = t.getProvider("app").getImmediate(), r = new oe(e, new G(t.getProvider("auth-internal")), new H(t.getProvider("app-check-internal")));
|
|
5954
5977
|
return n && r._setSettings(n), r;
|
|
5955
5978
|
}), "PUBLIC")),
|
|
5956
5979
|
// RUNTIME_ENV and BUILD_TARGET are replaced by real values during the compilation
|
|
5957
|
-
r("firestore-lite", "3.4.
|
|
5980
|
+
r("firestore-lite", "3.4.5-2022116201138", "rn"), r("firestore-lite", "3.4.5-2022116201138", "esm2017");
|
|
5958
5981
|
|
|
5959
|
-
export {
|
|
5982
|
+
export { be as Bytes, de as CollectionReference, le as DocumentReference, Ke as DocumentSnapshot, ge as FieldPath, Ee as FieldValue, oe as Firestore, U as FirestoreError, Te as GeoPoint, fe as Query, nr as QueryConstraint, Je as QueryDocumentSnapshot, Xe as QuerySnapshot, vt as Timestamp, jr as Transaction, Fr as WriteBatch, Pr as addDoc, $r as arrayRemove, Dr as arrayUnion, we as collection, me as collectionGroup, ae as connectFirestoreEmulator, Rr as deleteDoc, Vr as deleteField, pe as doc, ve as documentId, mr as endAt, wr as endBefore, Er as getDoc, Tr as getDocs, ce as getFirestore, Sr as increment, ue as initializeFirestore, cr as limit, ar as limitToLast, or as orderBy, er as query, _e as queryEqual, ye as refEqual, Mr as runTransaction, Nr as serverTimestamp, Ir as setDoc, m as setLogLevel, Ze as snapshotEqual, fr as startAfter, lr as startAt, he as terminate, Ar as updateDoc, sr as where, qr as writeBatch };
|
|
5960
5983
|
//# sourceMappingURL=index.rn.esm2017.js.map
|