@firebase/firestore 3.4.4-canary.2dd99ae2d → 3.4.4-canary.307d019c7
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/dist/firestore/src/api/credentials.d.ts +1 -0
- package/dist/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/firestore/src/core/target.d.ts +8 -4
- 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 +18 -2
- 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/simple_db.d.ts +1 -0
- package/dist/firestore/src/model/document_key.d.ts +5 -0
- package/dist/firestore/src/model/field_index.d.ts +2 -2
- 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/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 +4 -2
- package/dist/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/firestore/test/util/helpers.d.ts +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.esm2017.js +4496 -3484
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +4452 -3556
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.node.cjs.js +1757 -295
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.node.mjs +1737 -296
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.rn.js +4508 -3496
- package/dist/index.rn.js.map +1 -1
- package/dist/internal.d.ts +253 -14
- package/dist/lite/firestore/src/api/credentials.d.ts +1 -0
- package/dist/lite/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/lite/firestore/src/core/target.d.ts +8 -4
- 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 +18 -2
- 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/simple_db.d.ts +1 -0
- package/dist/lite/firestore/src/model/document_key.d.ts +5 -0
- package/dist/lite/firestore/src/model/field_index.d.ts +2 -2
- 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/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 +4 -2
- package/dist/lite/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/lite/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/lite/firestore/test/util/helpers.d.ts +1 -1
- package/dist/lite/index.browser.esm2017.js +1155 -1143
- package/dist/lite/index.browser.esm2017.js.map +1 -1
- package/dist/lite/index.browser.esm5.js +355 -342
- package/dist/lite/index.browser.esm5.js.map +1 -1
- package/dist/lite/index.node.cjs.js +47 -29
- package/dist/lite/index.node.cjs.js.map +1 -1
- package/dist/lite/index.node.mjs +47 -29
- package/dist/lite/index.node.mjs.map +1 -1
- package/dist/lite/index.rn.esm2017.js +332 -320
- package/dist/lite/index.rn.esm2017.js.map +1 -1
- package/dist/lite/internal.d.ts +7 -2
- package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +121 -121
- package/dist/lite/packages/firestore/src/api/credentials.d.ts +1 -0
- package/dist/lite/packages/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/lite/packages/firestore/src/core/target.d.ts +8 -4
- 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 +18 -2
- 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/simple_db.d.ts +1 -0
- package/dist/lite/packages/firestore/src/model/document_key.d.ts +5 -0
- package/dist/lite/packages/firestore/src/model/field_index.d.ts +2 -2
- 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/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 +4 -2
- 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/target_index_matcher.test.d.ts +17 -0
- package/dist/lite/packages/firestore/test/util/helpers.d.ts +1 -1
- package/dist/lite/private.d.ts +2 -2
- package/dist/packages/firestore/dist/index.esm2017.d.ts +189 -186
- package/dist/packages/firestore/src/api/credentials.d.ts +1 -0
- package/dist/packages/firestore/src/api/snapshot.d.ts +1 -2
- package/dist/packages/firestore/src/core/target.d.ts +8 -4
- 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 +18 -2
- 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/simple_db.d.ts +1 -0
- package/dist/packages/firestore/src/model/document_key.d.ts +5 -0
- package/dist/packages/firestore/src/model/field_index.d.ts +2 -2
- 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/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 +4 -2
- package/dist/packages/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
- package/dist/packages/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
- package/dist/packages/firestore/test/util/helpers.d.ts +1 -1
- package/dist/private.d.ts +248 -14
- package/package.json +9 -9
|
@@ -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.6-canary.307d019c7";
|
|
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.
|
|
@@ -681,9 +681,18 @@ const tt = /^[_a-zA-Z][_a-zA-Z0-9]*$/;
|
|
|
681
681
|
static empty() {
|
|
682
682
|
return new et(Z.emptyPath());
|
|
683
683
|
}
|
|
684
|
+
get collectionGroup() {
|
|
685
|
+
return this.path.popLast().lastSegment();
|
|
686
|
+
}
|
|
684
687
|
/** Returns true if the document is in the specified collectionId. */ hasCollectionId(t) {
|
|
685
688
|
return this.path.length >= 2 && this.path.get(this.path.length - 2) === t;
|
|
686
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
|
+
}
|
|
687
696
|
isEqual(t) {
|
|
688
697
|
return null !== t && 0 === Z.comparator(this.path, t.path);
|
|
689
698
|
}
|
|
@@ -1895,12 +1904,12 @@ function kt(t, n) {
|
|
|
1895
1904
|
/**
|
|
1896
1905
|
* An ObjectValue represents a MapValue in the Firestore Proto and offers the
|
|
1897
1906
|
* ability to add and remove fields (via the ObjectValueBuilder).
|
|
1898
|
-
*/ class
|
|
1907
|
+
*/ class Gt {
|
|
1899
1908
|
constructor(t) {
|
|
1900
1909
|
this.value = t;
|
|
1901
1910
|
}
|
|
1902
1911
|
static empty() {
|
|
1903
|
-
return new
|
|
1912
|
+
return new Gt({
|
|
1904
1913
|
mapValue: {}
|
|
1905
1914
|
});
|
|
1906
1915
|
}
|
|
@@ -1981,7 +1990,7 @@ function kt(t, n) {
|
|
|
1981
1990
|
for (const n of e) delete t[n];
|
|
1982
1991
|
}
|
|
1983
1992
|
clone() {
|
|
1984
|
-
return new
|
|
1993
|
+
return new Gt(zt(this.value));
|
|
1985
1994
|
}
|
|
1986
1995
|
}
|
|
1987
1996
|
|
|
@@ -2010,7 +2019,7 @@ function kt(t, n) {
|
|
|
2010
2019
|
* not transition to one of these states even after all mutations have been
|
|
2011
2020
|
* applied, `isValidDocument()` returns false and the document should be removed
|
|
2012
2021
|
* from all views.
|
|
2013
|
-
*/ class
|
|
2022
|
+
*/ class Qt {
|
|
2014
2023
|
constructor(t, n, e, r, s, i) {
|
|
2015
2024
|
this.key = t, this.documentType = n, this.version = e, this.readTime = r, this.data = s,
|
|
2016
2025
|
this.documentState = i;
|
|
@@ -2019,23 +2028,23 @@ function kt(t, n) {
|
|
|
2019
2028
|
* Creates a document with no known version or data, but which can serve as
|
|
2020
2029
|
* base document for mutations.
|
|
2021
2030
|
*/ static newInvalidDocument(t) {
|
|
2022
|
-
return new
|
|
2031
|
+
return new Qt(t, 0 /* INVALID */ , bt.min(), bt.min(), Gt.empty(), 0 /* SYNCED */);
|
|
2023
2032
|
}
|
|
2024
2033
|
/**
|
|
2025
2034
|
* Creates a new document that is known to exist with the given data at the
|
|
2026
2035
|
* given version.
|
|
2027
2036
|
*/ static newFoundDocument(t, n, e) {
|
|
2028
|
-
return new
|
|
2037
|
+
return new Qt(t, 1 /* FOUND_DOCUMENT */ , n, bt.min(), e, 0 /* SYNCED */);
|
|
2029
2038
|
}
|
|
2030
2039
|
/** Creates a new document that is known to not exist at the given version. */ static newNoDocument(t, n) {
|
|
2031
|
-
return new
|
|
2040
|
+
return new Qt(t, 2 /* NO_DOCUMENT */ , n, bt.min(), Gt.empty(), 0 /* SYNCED */);
|
|
2032
2041
|
}
|
|
2033
2042
|
/**
|
|
2034
2043
|
* Creates a new document that is known to exist at the given version but
|
|
2035
2044
|
* whose data is not known (e.g. a document that was updated without a known
|
|
2036
2045
|
* base document).
|
|
2037
2046
|
*/ static newUnknownDocument(t, n) {
|
|
2038
|
-
return new
|
|
2047
|
+
return new Qt(t, 3 /* UNKNOWN_DOCUMENT */ , n, bt.min(), Gt.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
|
|
2039
2048
|
}
|
|
2040
2049
|
/**
|
|
2041
2050
|
* Changes the document type to indicate that it exists and that its version
|
|
@@ -2048,7 +2057,7 @@ function kt(t, n) {
|
|
|
2048
2057
|
* Changes the document type to indicate that it doesn't exist at the given
|
|
2049
2058
|
* version.
|
|
2050
2059
|
*/ convertToNoDocument(t) {
|
|
2051
|
-
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(),
|
|
2052
2061
|
this.documentState = 0 /* SYNCED */ , this;
|
|
2053
2062
|
}
|
|
2054
2063
|
/**
|
|
@@ -2056,7 +2065,7 @@ function kt(t, n) {
|
|
|
2056
2065
|
* that its data is not known (e.g. a document that was updated without a known
|
|
2057
2066
|
* base document).
|
|
2058
2067
|
*/ convertToUnknownDocument(t) {
|
|
2059
|
-
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(),
|
|
2060
2069
|
this.documentState = 2 /* HAS_COMMITTED_MUTATIONS */ , this;
|
|
2061
2070
|
}
|
|
2062
2071
|
setHasCommittedMutations() {
|
|
@@ -2090,10 +2099,10 @@ function kt(t, n) {
|
|
|
2090
2099
|
return 3 /* UNKNOWN_DOCUMENT */ === this.documentType;
|
|
2091
2100
|
}
|
|
2092
2101
|
isEqual(t) {
|
|
2093
|
-
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);
|
|
2094
2103
|
}
|
|
2095
2104
|
mutableCopy() {
|
|
2096
|
-
return new
|
|
2105
|
+
return new Qt(this.key, this.documentType, this.version, this.readTime, this.data.clone(), this.documentState);
|
|
2097
2106
|
}
|
|
2098
2107
|
toString() {
|
|
2099
2108
|
return `Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`;
|
|
@@ -2259,7 +2268,6 @@ function Zt(t, n) {
|
|
|
2259
2268
|
}
|
|
2260
2269
|
}
|
|
2261
2270
|
|
|
2262
|
-
// TODO(indexing): Change Bound.before to "inclusive"
|
|
2263
2271
|
/**
|
|
2264
2272
|
* Represents a bound of a query.
|
|
2265
2273
|
*
|
|
@@ -2275,7 +2283,7 @@ function Zt(t, n) {
|
|
|
2275
2283
|
* just after the provided values.
|
|
2276
2284
|
*/ class sn {
|
|
2277
2285
|
constructor(t, n) {
|
|
2278
|
-
this.position = t, this.
|
|
2286
|
+
this.position = t, this.inclusive = n;
|
|
2279
2287
|
}
|
|
2280
2288
|
}
|
|
2281
2289
|
|
|
@@ -2294,7 +2302,7 @@ function un(t, n) {
|
|
|
2294
2302
|
function cn(t, n) {
|
|
2295
2303
|
if (null === t) return null === n;
|
|
2296
2304
|
if (null === n) return !1;
|
|
2297
|
-
if (t.
|
|
2305
|
+
if (t.inclusive !== n.inclusive || t.position.length !== n.position.length) return !1;
|
|
2298
2306
|
for (let e = 0; e < t.position.length; e++) {
|
|
2299
2307
|
if (!qt(t.position[e], n.position[e])) return !1;
|
|
2300
2308
|
}
|
|
@@ -2400,7 +2408,7 @@ function dn(t) {
|
|
|
2400
2408
|
t.push(new on(e.field, n));
|
|
2401
2409
|
}
|
|
2402
2410
|
// We need to swap the cursors to match the now-flipped query ordering.
|
|
2403
|
-
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;
|
|
2404
2412
|
// Now return as a LimitType.First query.
|
|
2405
2413
|
n.S = Yt(n.path, n.collectionGroup, t, n.filters, n.limit, e, r);
|
|
2406
2414
|
}
|
|
@@ -2773,7 +2781,7 @@ function Ln(t, n) {
|
|
|
2773
2781
|
function kn(t, n) {
|
|
2774
2782
|
const e = function(t) {
|
|
2775
2783
|
const n = Z.fromString(t);
|
|
2776
|
-
return b(
|
|
2784
|
+
return b(Kn(n)), n;
|
|
2777
2785
|
}(n);
|
|
2778
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);
|
|
2779
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);
|
|
@@ -2799,16 +2807,16 @@ function Mn(t, n, e) {
|
|
|
2799
2807
|
function Bn(t, n) {
|
|
2800
2808
|
return "found" in n ? function(t, n) {
|
|
2801
2809
|
b(!!n.found), n.found.name, n.found.updateTime;
|
|
2802
|
-
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({
|
|
2803
2811
|
mapValue: {
|
|
2804
2812
|
fields: n.found.fields
|
|
2805
2813
|
}
|
|
2806
2814
|
});
|
|
2807
|
-
return
|
|
2815
|
+
return Qt.newFoundDocument(e, r, s);
|
|
2808
2816
|
}(t, n) : "missing" in n ? function(t, n) {
|
|
2809
2817
|
b(!!n.missing), b(!!n.readTime);
|
|
2810
2818
|
const e = kn(t, n.missing), r = On(n.readTime);
|
|
2811
|
-
return
|
|
2819
|
+
return Qt.newNoDocument(e, r);
|
|
2812
2820
|
}(t, n) : v();
|
|
2813
2821
|
}
|
|
2814
2822
|
|
|
@@ -2820,7 +2828,7 @@ function zn(t, n) {
|
|
|
2820
2828
|
delete: Ln(t, n.key)
|
|
2821
2829
|
}; else if (n instanceof Pn) e = {
|
|
2822
2830
|
update: Mn(t, n.key, n.data),
|
|
2823
|
-
updateMask:
|
|
2831
|
+
updateMask: Hn(n.fieldMask)
|
|
2824
2832
|
}; else {
|
|
2825
2833
|
if (!(n instanceof Nn)) return v();
|
|
2826
2834
|
e = {
|
|
@@ -2859,7 +2867,7 @@ function zn(t, n) {
|
|
|
2859
2867
|
}(t, n.precondition)), e;
|
|
2860
2868
|
}
|
|
2861
2869
|
|
|
2862
|
-
function
|
|
2870
|
+
function Gn(t, n) {
|
|
2863
2871
|
// Dissect the path into parent, collectionId, and optional key filter.
|
|
2864
2872
|
const e = {
|
|
2865
2873
|
structuredQuery: {}
|
|
@@ -2878,34 +2886,34 @@ function Qn(t, n) {
|
|
|
2878
2886
|
if ("==" /* EQUAL */ === t.op) {
|
|
2879
2887
|
if (Mt(t.value)) return {
|
|
2880
2888
|
unaryFilter: {
|
|
2881
|
-
field:
|
|
2889
|
+
field: Yn(t.field),
|
|
2882
2890
|
op: "IS_NAN"
|
|
2883
2891
|
}
|
|
2884
2892
|
};
|
|
2885
2893
|
if (jt(t.value)) return {
|
|
2886
2894
|
unaryFilter: {
|
|
2887
|
-
field:
|
|
2895
|
+
field: Yn(t.field),
|
|
2888
2896
|
op: "IS_NULL"
|
|
2889
2897
|
}
|
|
2890
2898
|
};
|
|
2891
2899
|
} else if ("!=" /* NOT_EQUAL */ === t.op) {
|
|
2892
2900
|
if (Mt(t.value)) return {
|
|
2893
2901
|
unaryFilter: {
|
|
2894
|
-
field:
|
|
2902
|
+
field: Yn(t.field),
|
|
2895
2903
|
op: "IS_NOT_NAN"
|
|
2896
2904
|
}
|
|
2897
2905
|
};
|
|
2898
2906
|
if (jt(t.value)) return {
|
|
2899
2907
|
unaryFilter: {
|
|
2900
|
-
field:
|
|
2908
|
+
field: Yn(t.field),
|
|
2901
2909
|
op: "IS_NOT_NULL"
|
|
2902
2910
|
}
|
|
2903
2911
|
};
|
|
2904
2912
|
}
|
|
2905
2913
|
return {
|
|
2906
2914
|
fieldFilter: {
|
|
2907
|
-
field:
|
|
2908
|
-
op:
|
|
2915
|
+
field: Yn(t.field),
|
|
2916
|
+
op: Wn(t.op),
|
|
2909
2917
|
value: t.value
|
|
2910
2918
|
}
|
|
2911
2919
|
};
|
|
@@ -2925,8 +2933,8 @@ function Qn(t, n) {
|
|
|
2925
2933
|
// visible for testing
|
|
2926
2934
|
function(t) {
|
|
2927
2935
|
return {
|
|
2928
|
-
field:
|
|
2929
|
-
direction:
|
|
2936
|
+
field: Yn(t.field),
|
|
2937
|
+
direction: Qn(t.dir)
|
|
2930
2938
|
};
|
|
2931
2939
|
}(t)));
|
|
2932
2940
|
}(n.orderBy);
|
|
@@ -2936,41 +2944,43 @@ function Qn(t, n) {
|
|
|
2936
2944
|
value: n
|
|
2937
2945
|
};
|
|
2938
2946
|
}(t, n.limit);
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
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;
|
|
2948
2959
|
}
|
|
2949
2960
|
|
|
2950
|
-
|
|
2951
|
-
function Wn(t) {
|
|
2961
|
+
function Qn(t) {
|
|
2952
2962
|
return Dn[t];
|
|
2953
2963
|
}
|
|
2954
2964
|
|
|
2955
2965
|
// visible for testing
|
|
2956
|
-
function
|
|
2966
|
+
function Wn(t) {
|
|
2957
2967
|
return $n[t];
|
|
2958
2968
|
}
|
|
2959
2969
|
|
|
2960
|
-
function
|
|
2970
|
+
function Yn(t) {
|
|
2961
2971
|
return {
|
|
2962
2972
|
fieldPath: t.canonicalString()
|
|
2963
2973
|
};
|
|
2964
2974
|
}
|
|
2965
2975
|
|
|
2966
|
-
function
|
|
2976
|
+
function Hn(t) {
|
|
2967
2977
|
const n = [];
|
|
2968
2978
|
return t.fields.forEach((t => n.push(t.canonicalString()))), {
|
|
2969
2979
|
fieldPaths: n
|
|
2970
2980
|
};
|
|
2971
2981
|
}
|
|
2972
2982
|
|
|
2973
|
-
function
|
|
2983
|
+
function Kn(t) {
|
|
2974
2984
|
// Resource names have at least 4 components (project ID, database ID)
|
|
2975
2985
|
return t.length >= 4 && "projects" === t.get(0) && "databases" === t.get(2);
|
|
2976
2986
|
}
|
|
@@ -2990,7 +3000,7 @@ function Jn(t) {
|
|
|
2990
3000
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2991
3001
|
* See the License for the specific language governing permissions and
|
|
2992
3002
|
* limitations under the License.
|
|
2993
|
-
*/ function
|
|
3003
|
+
*/ function Jn(t) {
|
|
2994
3004
|
return new Sn(t, /* useProto3Json= */ !0);
|
|
2995
3005
|
}
|
|
2996
3006
|
|
|
@@ -3019,7 +3029,7 @@ function Jn(t) {
|
|
|
3019
3029
|
* base delay. This prevents clients from accidentally synchronizing their
|
|
3020
3030
|
* delays causing spikes of load to the backend.
|
|
3021
3031
|
*/
|
|
3022
|
-
class
|
|
3032
|
+
class Xn {
|
|
3023
3033
|
constructor(
|
|
3024
3034
|
/**
|
|
3025
3035
|
* The AsyncQueue to run backoff operations on.
|
|
@@ -3117,7 +3127,7 @@ class Zn {
|
|
|
3117
3127
|
* An implementation of Datastore that exposes additional state for internal
|
|
3118
3128
|
* consumption.
|
|
3119
3129
|
*/
|
|
3120
|
-
class
|
|
3130
|
+
class Zn extends class {} {
|
|
3121
3131
|
constructor(t, n, e, r) {
|
|
3122
3132
|
super(), this.authCredentials = t, this.appCheckCredentials = n, this.K = e, this.q = r,
|
|
3123
3133
|
this.J = !1;
|
|
@@ -3144,14 +3154,14 @@ class te extends class {} {
|
|
|
3144
3154
|
|
|
3145
3155
|
// TODO(firestorexp): Make sure there is only one Datastore instance per
|
|
3146
3156
|
// firestore-exp client.
|
|
3147
|
-
async function
|
|
3157
|
+
async function te(t, n) {
|
|
3148
3158
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3149
3159
|
writes: n.map((t => zn(e.q, t)))
|
|
3150
3160
|
};
|
|
3151
3161
|
await e.m("Commit", r, s);
|
|
3152
3162
|
}
|
|
3153
3163
|
|
|
3154
|
-
async function
|
|
3164
|
+
async function ne(t, n) {
|
|
3155
3165
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3156
3166
|
documents: n.map((t => Ln(e.q, t)))
|
|
3157
3167
|
}, i = await e.T("BatchGetDocuments", r, s), o = new Map;
|
|
@@ -3166,16 +3176,16 @@ async function ee(t, n) {
|
|
|
3166
3176
|
})), u;
|
|
3167
3177
|
}
|
|
3168
3178
|
|
|
3169
|
-
async function
|
|
3170
|
-
const e = E(t), r =
|
|
3179
|
+
async function ee(t, n) {
|
|
3180
|
+
const e = E(t), r = Gn(e.q, mn(n));
|
|
3171
3181
|
return (await e.T("RunQuery", r.parent, {
|
|
3172
3182
|
structuredQuery: r.structuredQuery
|
|
3173
3183
|
})).filter((t => !!t.document)).map((t => function(t, n, e) {
|
|
3174
|
-
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({
|
|
3175
3185
|
mapValue: {
|
|
3176
3186
|
fields: n.fields
|
|
3177
3187
|
}
|
|
3178
|
-
}), o =
|
|
3188
|
+
}), o = Qt.newFoundDocument(r, s, i);
|
|
3179
3189
|
return e && o.setHasCommittedMutations(), e ? o.setHasCommittedMutations() : o;
|
|
3180
3190
|
}(e.q, t.document, void 0)));
|
|
3181
3191
|
}
|
|
@@ -3195,7 +3205,7 @@ async function re(t, n) {
|
|
|
3195
3205
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3196
3206
|
* See the License for the specific language governing permissions and
|
|
3197
3207
|
* limitations under the License.
|
|
3198
|
-
*/ const
|
|
3208
|
+
*/ const re = new Map;
|
|
3199
3209
|
|
|
3200
3210
|
/**
|
|
3201
3211
|
* An instance map that ensures only one Datastore exists per Firestore
|
|
@@ -3206,17 +3216,17 @@ async function re(t, n) {
|
|
|
3206
3216
|
* instance. Callers must invoke removeComponents() when the Firestore
|
|
3207
3217
|
* instance is terminated.
|
|
3208
3218
|
*/
|
|
3209
|
-
function
|
|
3219
|
+
function se(t) {
|
|
3210
3220
|
if (t._terminated) throw new U(F, "The client has already been terminated.");
|
|
3211
|
-
if (!
|
|
3221
|
+
if (!re.has(t)) {
|
|
3212
3222
|
p("ComponentProvider", "Initializing Datastore");
|
|
3213
3223
|
const i = function(t) {
|
|
3214
3224
|
return new mt(t, fetch.bind(null));
|
|
3215
3225
|
}((n = t._databaseId, e = t.app.options.appId || "", r = t._persistenceKey, s = t._freezeSettings(),
|
|
3216
|
-
new K(n, e, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o =
|
|
3217
|
-
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);
|
|
3218
3228
|
}(t._authCredentials, t._appCheckCredentials, i, o);
|
|
3219
|
-
|
|
3229
|
+
re.set(t, u);
|
|
3220
3230
|
}
|
|
3221
3231
|
var n, e, r, s;
|
|
3222
3232
|
/**
|
|
@@ -3234,7 +3244,7 @@ function ie(t) {
|
|
|
3234
3244
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3235
3245
|
* See the License for the specific language governing permissions and
|
|
3236
3246
|
* limitations under the License.
|
|
3237
|
-
*/ return
|
|
3247
|
+
*/ return re.get(t);
|
|
3238
3248
|
}
|
|
3239
3249
|
|
|
3240
3250
|
/**
|
|
@@ -3246,7 +3256,7 @@ function ie(t) {
|
|
|
3246
3256
|
* user-supplied `FirestoreSettings` object. This is a separate type so that
|
|
3247
3257
|
* defaults can be supplied and the value can be checked for equality.
|
|
3248
3258
|
*/
|
|
3249
|
-
class
|
|
3259
|
+
class ie {
|
|
3250
3260
|
constructor(t) {
|
|
3251
3261
|
var n;
|
|
3252
3262
|
if (void 0 === t.host) {
|
|
@@ -3288,14 +3298,14 @@ class oe {
|
|
|
3288
3298
|
* The Cloud Firestore service interface.
|
|
3289
3299
|
*
|
|
3290
3300
|
* Do not call this constructor directly. Instead, use {@link getFirestore}.
|
|
3291
|
-
*/ class
|
|
3301
|
+
*/ class oe {
|
|
3292
3302
|
/** @hideconstructor */
|
|
3293
3303
|
constructor(t, n, e) {
|
|
3294
3304
|
this._authCredentials = n, this._appCheckCredentials = e,
|
|
3295
3305
|
/**
|
|
3296
3306
|
* Whether it's a Firestore or Firestore Lite instance.
|
|
3297
3307
|
*/
|
|
3298
|
-
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new
|
|
3308
|
+
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new ie({}),
|
|
3299
3309
|
this._settingsFrozen = !1, t instanceof J ? this._databaseId = t : (this._app = t,
|
|
3300
3310
|
this._databaseId = function(t) {
|
|
3301
3311
|
if (!Object.prototype.hasOwnProperty.apply(t.options, [ "projectId" ])) throw new U(R, '"projectId" not provided in firebase.initializeApp.');
|
|
@@ -3328,7 +3338,7 @@ class oe {
|
|
|
3328
3338
|
}
|
|
3329
3339
|
_setSettings(t) {
|
|
3330
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.");
|
|
3331
|
-
this._settings = new
|
|
3341
|
+
this._settings = new ie(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
|
|
3332
3342
|
if (!t) return new B;
|
|
3333
3343
|
switch (t.type) {
|
|
3334
3344
|
case "gapi":
|
|
@@ -3369,13 +3379,13 @@ class oe {
|
|
|
3369
3379
|
* Only ever called once.
|
|
3370
3380
|
*/ _terminate() {
|
|
3371
3381
|
return function(t) {
|
|
3372
|
-
const n =
|
|
3373
|
-
n && (p("ComponentProvider", "Removing Datastore"),
|
|
3382
|
+
const n = re.get(t);
|
|
3383
|
+
n && (p("ComponentProvider", "Removing Datastore"), re.delete(t), n.terminate());
|
|
3374
3384
|
}(this), Promise.resolve();
|
|
3375
3385
|
}
|
|
3376
3386
|
}
|
|
3377
3387
|
|
|
3378
|
-
function
|
|
3388
|
+
function ue(t, n) {
|
|
3379
3389
|
const e = _getProvider(t, "firestore/lite");
|
|
3380
3390
|
if (e.isInitialized()) throw new U(F, "Firestore can only be initialized once per app.");
|
|
3381
3391
|
return e.initialize({
|
|
@@ -3391,7 +3401,7 @@ function ce(t, n) {
|
|
|
3391
3401
|
* @param app - The {@link @firebase/app#FirebaseApp} instance that the returned `Firestore`
|
|
3392
3402
|
* instance is associated with.
|
|
3393
3403
|
* @returns The `Firestore` instance of the provided app.
|
|
3394
|
-
*/ function
|
|
3404
|
+
*/ function ce(n = t()) {
|
|
3395
3405
|
return _getProvider(n, "firestore/lite").getImmediate();
|
|
3396
3406
|
}
|
|
3397
3407
|
|
|
@@ -3407,9 +3417,9 @@ function ce(t, n) {
|
|
|
3407
3417
|
* @param port - the emulator port (ex: 9000).
|
|
3408
3418
|
* @param options.mockUserToken - the mock auth token to use for unit testing
|
|
3409
3419
|
* Security Rules.
|
|
3410
|
-
*/ function
|
|
3420
|
+
*/ function ae(t, n, e, r = {}) {
|
|
3411
3421
|
var s;
|
|
3412
|
-
const i = (t = ut(t,
|
|
3422
|
+
const i = (t = ut(t, oe))._getSettings();
|
|
3413
3423
|
if ("firestore.googleapis.com" !== i.host && i.host !== n && _("Host has been set in both settings() and useEmulator(), emulator host will be used"),
|
|
3414
3424
|
t._setSettings(Object.assign(Object.assign({}, i), {
|
|
3415
3425
|
host: `${n}:${e}`,
|
|
@@ -3447,8 +3457,8 @@ function ce(t, n) {
|
|
|
3447
3457
|
* @param firestore - The `Firestore` instance to terminate.
|
|
3448
3458
|
* @returns A `Promise` that is resolved when the instance has been successfully
|
|
3449
3459
|
* terminated.
|
|
3450
|
-
*/ function
|
|
3451
|
-
return t = ut(t,
|
|
3460
|
+
*/ function he(t) {
|
|
3461
|
+
return t = ut(t, oe), n(t.app, "firestore/lite"), t._delete();
|
|
3452
3462
|
}
|
|
3453
3463
|
|
|
3454
3464
|
/**
|
|
@@ -3488,7 +3498,7 @@ function ce(t, n) {
|
|
|
3488
3498
|
* and can be used to write, read, or listen to the location. The document at
|
|
3489
3499
|
* the referenced location may or may not exist.
|
|
3490
3500
|
*/
|
|
3491
|
-
class
|
|
3501
|
+
class le {
|
|
3492
3502
|
/** @hideconstructor */
|
|
3493
3503
|
constructor(t,
|
|
3494
3504
|
/**
|
|
@@ -3516,17 +3526,17 @@ class fe {
|
|
|
3516
3526
|
/**
|
|
3517
3527
|
* The collection this `DocumentReference` belongs to.
|
|
3518
3528
|
*/ get parent() {
|
|
3519
|
-
return new
|
|
3529
|
+
return new de(this.firestore, this.converter, this._key.path.popLast());
|
|
3520
3530
|
}
|
|
3521
3531
|
withConverter(t) {
|
|
3522
|
-
return new
|
|
3532
|
+
return new le(this.firestore, t, this._key);
|
|
3523
3533
|
}
|
|
3524
3534
|
}
|
|
3525
3535
|
|
|
3526
3536
|
/**
|
|
3527
3537
|
* A `Query` refers to a query which you can read or listen to. You can also
|
|
3528
3538
|
* construct refined `Query` objects by adding filters and ordering.
|
|
3529
|
-
*/ class
|
|
3539
|
+
*/ class fe {
|
|
3530
3540
|
// This is the lite version of the Query class in the main SDK.
|
|
3531
3541
|
/** @hideconstructor protected */
|
|
3532
3542
|
constructor(t,
|
|
@@ -3539,14 +3549,14 @@ class fe {
|
|
|
3539
3549
|
this.type = "query", this.firestore = t;
|
|
3540
3550
|
}
|
|
3541
3551
|
withConverter(t) {
|
|
3542
|
-
return new
|
|
3552
|
+
return new fe(this.firestore, t, this._query);
|
|
3543
3553
|
}
|
|
3544
3554
|
}
|
|
3545
3555
|
|
|
3546
3556
|
/**
|
|
3547
3557
|
* A `CollectionReference` object can be used for adding documents, getting
|
|
3548
3558
|
* document references, and querying for documents (using {@link query}).
|
|
3549
|
-
*/ class
|
|
3559
|
+
*/ class de extends fe {
|
|
3550
3560
|
/** @hideconstructor */
|
|
3551
3561
|
constructor(t, n, e) {
|
|
3552
3562
|
super(t, n, new an(e)), this._path = e,
|
|
@@ -3567,23 +3577,23 @@ class fe {
|
|
|
3567
3577
|
* subcollection. If this isn't a subcollection, the reference is null.
|
|
3568
3578
|
*/ get parent() {
|
|
3569
3579
|
const t = this._path.popLast();
|
|
3570
|
-
return t.isEmpty() ? null : new
|
|
3580
|
+
return t.isEmpty() ? null : new le(this.firestore,
|
|
3571
3581
|
/* converter= */ null, new et(t));
|
|
3572
3582
|
}
|
|
3573
3583
|
withConverter(t) {
|
|
3574
|
-
return new
|
|
3584
|
+
return new de(this.firestore, t, this._path);
|
|
3575
3585
|
}
|
|
3576
3586
|
}
|
|
3577
3587
|
|
|
3578
|
-
function
|
|
3579
|
-
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) {
|
|
3580
3590
|
const r = Z.fromString(n, ...e);
|
|
3581
|
-
return it(r), new
|
|
3591
|
+
return it(r), new de(t, /* converter= */ null, r);
|
|
3582
3592
|
}
|
|
3583
3593
|
{
|
|
3584
|
-
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");
|
|
3585
3595
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3586
|
-
return it(r), new
|
|
3596
|
+
return it(r), new de(t.firestore,
|
|
3587
3597
|
/* converter= */ null, r);
|
|
3588
3598
|
}
|
|
3589
3599
|
}
|
|
@@ -3600,9 +3610,9 @@ function me(t, n, ...e) {
|
|
|
3600
3610
|
* collection or subcollection with this ID as the last segment of its path
|
|
3601
3611
|
* will be included. Cannot contain a slash.
|
|
3602
3612
|
* @returns The created `Query`.
|
|
3603
|
-
*/ function
|
|
3604
|
-
if (t = ut(t,
|
|
3605
|
-
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,
|
|
3606
3616
|
/* converter= */ null,
|
|
3607
3617
|
/**
|
|
3608
3618
|
* Creates a new Query for a collection group query that matches all documents
|
|
@@ -3613,19 +3623,19 @@ function me(t, n, ...e) {
|
|
|
3613
3623
|
}(n));
|
|
3614
3624
|
}
|
|
3615
3625
|
|
|
3616
|
-
function
|
|
3626
|
+
function pe(t, n, ...e) {
|
|
3617
3627
|
if (t = l(t),
|
|
3618
3628
|
// We allow omission of 'pathString' but explicitly prohibit passing in both
|
|
3619
3629
|
// 'undefined' and 'null'.
|
|
3620
|
-
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) {
|
|
3621
3631
|
const r = Z.fromString(n, ...e);
|
|
3622
|
-
return st(r), new
|
|
3632
|
+
return st(r), new le(t,
|
|
3623
3633
|
/* converter= */ null, new et(r));
|
|
3624
3634
|
}
|
|
3625
3635
|
{
|
|
3626
|
-
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");
|
|
3627
3637
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3628
|
-
return st(r), new
|
|
3638
|
+
return st(r), new le(t.firestore, t instanceof de ? t.converter : null, new et(r));
|
|
3629
3639
|
}
|
|
3630
3640
|
}
|
|
3631
3641
|
|
|
@@ -3636,8 +3646,8 @@ function ye(t, n, ...e) {
|
|
|
3636
3646
|
* @param right - A reference to compare.
|
|
3637
3647
|
* @returns true if the references point to the same location in the same
|
|
3638
3648
|
* Firestore database.
|
|
3639
|
-
*/ function
|
|
3640
|
-
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);
|
|
3641
3651
|
}
|
|
3642
3652
|
|
|
3643
3653
|
/**
|
|
@@ -3648,8 +3658,8 @@ function ye(t, n, ...e) {
|
|
|
3648
3658
|
* @param right - A `Query` to compare.
|
|
3649
3659
|
* @returns true if the references point to the same location in the same
|
|
3650
3660
|
* Firestore database.
|
|
3651
|
-
*/ function
|
|
3652
|
-
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);
|
|
3653
3663
|
}
|
|
3654
3664
|
|
|
3655
3665
|
/**
|
|
@@ -3675,7 +3685,7 @@ function ye(t, n, ...e) {
|
|
|
3675
3685
|
*
|
|
3676
3686
|
* Create a `FieldPath` by providing field names. If more than one field
|
|
3677
3687
|
* name is provided, the path will point to a nested field in a document.
|
|
3678
|
-
*/ class
|
|
3688
|
+
*/ class ge {
|
|
3679
3689
|
/**
|
|
3680
3690
|
* Creates a `FieldPath` from the provided field names. If more than one field
|
|
3681
3691
|
* name is provided, the path will point to a nested field in a document.
|
|
@@ -3699,8 +3709,8 @@ function ye(t, n, ...e) {
|
|
|
3699
3709
|
/**
|
|
3700
3710
|
* Returns a special sentinel `FieldPath` to refer to the ID of a document.
|
|
3701
3711
|
* It can be used in queries to sort or filter by the document ID.
|
|
3702
|
-
*/ function
|
|
3703
|
-
return new
|
|
3712
|
+
*/ function ve() {
|
|
3713
|
+
return new ge("__name__");
|
|
3704
3714
|
}
|
|
3705
3715
|
|
|
3706
3716
|
/**
|
|
@@ -3721,7 +3731,7 @@ function ye(t, n, ...e) {
|
|
|
3721
3731
|
*/
|
|
3722
3732
|
/**
|
|
3723
3733
|
* An immutable object representing an array of bytes.
|
|
3724
|
-
*/ class
|
|
3734
|
+
*/ class be {
|
|
3725
3735
|
/** @hideconstructor */
|
|
3726
3736
|
constructor(t) {
|
|
3727
3737
|
this._byteString = t;
|
|
@@ -3733,7 +3743,7 @@ function ye(t, n, ...e) {
|
|
|
3733
3743
|
* @param base64 - The Base64 string used to create the `Bytes` object.
|
|
3734
3744
|
*/ static fromBase64String(t) {
|
|
3735
3745
|
try {
|
|
3736
|
-
return new
|
|
3746
|
+
return new be(Rt.fromBase64String(t));
|
|
3737
3747
|
} catch (t) {
|
|
3738
3748
|
throw new U(R, "Failed to construct data from Base64 string: " + t);
|
|
3739
3749
|
}
|
|
@@ -3743,7 +3753,7 @@ function ye(t, n, ...e) {
|
|
|
3743
3753
|
*
|
|
3744
3754
|
* @param array - The Uint8Array used to create the `Bytes` object.
|
|
3745
3755
|
*/ static fromUint8Array(t) {
|
|
3746
|
-
return new
|
|
3756
|
+
return new be(Rt.fromUint8Array(t));
|
|
3747
3757
|
}
|
|
3748
3758
|
/**
|
|
3749
3759
|
* Returns the underlying bytes as a Base64-encoded string.
|
|
@@ -3795,7 +3805,7 @@ function ye(t, n, ...e) {
|
|
|
3795
3805
|
/**
|
|
3796
3806
|
* Sentinel values that can be used when writing document fields with `set()`
|
|
3797
3807
|
* or `update()`.
|
|
3798
|
-
*/ class
|
|
3808
|
+
*/ class Ee {
|
|
3799
3809
|
/**
|
|
3800
3810
|
* @param _methodName - The public API endpoint that returns this class.
|
|
3801
3811
|
* @hideconstructor
|
|
@@ -3827,7 +3837,7 @@ function ye(t, n, ...e) {
|
|
|
3827
3837
|
*
|
|
3828
3838
|
* Latitude values are in the range of [-90, 90].
|
|
3829
3839
|
* Longitude values are in the range of [-180, 180].
|
|
3830
|
-
*/ class
|
|
3840
|
+
*/ class Te {
|
|
3831
3841
|
/**
|
|
3832
3842
|
* Creates a new immutable `GeoPoint` object with the provided latitude and
|
|
3833
3843
|
* longitude values.
|
|
@@ -3886,9 +3896,9 @@ function ye(t, n, ...e) {
|
|
|
3886
3896
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3887
3897
|
* See the License for the specific language governing permissions and
|
|
3888
3898
|
* limitations under the License.
|
|
3889
|
-
*/ const
|
|
3899
|
+
*/ const Ie = /^__.*__$/;
|
|
3890
3900
|
|
|
3891
|
-
/** 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 {
|
|
3892
3902
|
constructor(t, n, e) {
|
|
3893
3903
|
this.data = t, this.fieldMask = n, this.fieldTransforms = e;
|
|
3894
3904
|
}
|
|
@@ -3897,7 +3907,7 @@ function ye(t, n, ...e) {
|
|
|
3897
3907
|
}
|
|
3898
3908
|
}
|
|
3899
3909
|
|
|
3900
|
-
/** 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 {
|
|
3901
3911
|
constructor(t,
|
|
3902
3912
|
// The fieldMask does not include document transforms.
|
|
3903
3913
|
n, e) {
|
|
@@ -3908,7 +3918,7 @@ function ye(t, n, ...e) {
|
|
|
3908
3918
|
}
|
|
3909
3919
|
}
|
|
3910
3920
|
|
|
3911
|
-
function
|
|
3921
|
+
function Pe(t) {
|
|
3912
3922
|
switch (t) {
|
|
3913
3923
|
case 0 /* Set */ :
|
|
3914
3924
|
// fall through
|
|
@@ -3926,7 +3936,7 @@ function Ve(t) {
|
|
|
3926
3936
|
}
|
|
3927
3937
|
}
|
|
3928
3938
|
|
|
3929
|
-
/** A "context" object passed around while parsing user data. */ class
|
|
3939
|
+
/** A "context" object passed around while parsing user data. */ class Ve {
|
|
3930
3940
|
/**
|
|
3931
3941
|
* Initializes a ParseContext with the given source and path.
|
|
3932
3942
|
*
|
|
@@ -3958,7 +3968,7 @@ function Ve(t) {
|
|
|
3958
3968
|
return this.settings.tt;
|
|
3959
3969
|
}
|
|
3960
3970
|
/** Returns a new context with the specified settings overwritten. */ nt(t) {
|
|
3961
|
-
return new
|
|
3971
|
+
return new Ve(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
|
|
3962
3972
|
}
|
|
3963
3973
|
et(t) {
|
|
3964
3974
|
var n;
|
|
@@ -3985,7 +3995,7 @@ function Ve(t) {
|
|
|
3985
3995
|
});
|
|
3986
3996
|
}
|
|
3987
3997
|
ut(t) {
|
|
3988
|
-
return
|
|
3998
|
+
return Ye(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
|
|
3989
3999
|
}
|
|
3990
4000
|
/** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(t) {
|
|
3991
4001
|
return void 0 !== this.fieldMask.find((n => t.isPrefixOf(n))) || void 0 !== this.fieldTransforms.find((n => t.isPrefixOf(n.field)));
|
|
@@ -3997,19 +4007,19 @@ function Ve(t) {
|
|
|
3997
4007
|
}
|
|
3998
4008
|
st(t) {
|
|
3999
4009
|
if (0 === t.length) throw this.ut("Document fields must not be empty");
|
|
4000
|
-
if (
|
|
4010
|
+
if (Pe(this.tt) && Ie.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
|
|
4001
4011
|
}
|
|
4002
4012
|
}
|
|
4003
4013
|
|
|
4004
4014
|
/**
|
|
4005
4015
|
* Helper for parsing raw user input (provided via the API) into internal model
|
|
4006
4016
|
* classes.
|
|
4007
|
-
*/ class
|
|
4017
|
+
*/ class Ne {
|
|
4008
4018
|
constructor(t, n, e) {
|
|
4009
|
-
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e ||
|
|
4019
|
+
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e || Jn(t);
|
|
4010
4020
|
}
|
|
4011
4021
|
/** Creates a new top-level parse context. */ ht(t, n, e, r = !1) {
|
|
4012
|
-
return new
|
|
4022
|
+
return new Ve({
|
|
4013
4023
|
tt: t,
|
|
4014
4024
|
methodName: n,
|
|
4015
4025
|
at: e,
|
|
@@ -4020,29 +4030,29 @@ function Ve(t) {
|
|
|
4020
4030
|
}
|
|
4021
4031
|
}
|
|
4022
4032
|
|
|
4023
|
-
function
|
|
4024
|
-
const n = t._freezeSettings(), e =
|
|
4025
|
-
return new
|
|
4033
|
+
function De(t) {
|
|
4034
|
+
const n = t._freezeSettings(), e = Jn(t._databaseId);
|
|
4035
|
+
return new Ne(t._databaseId, !!n.ignoreUndefinedProperties, e);
|
|
4026
4036
|
}
|
|
4027
4037
|
|
|
4028
|
-
/** Parse document data from a set() call. */ function
|
|
4038
|
+
/** Parse document data from a set() call. */ function $e(t, n, e, r, s, i = {}) {
|
|
4029
4039
|
const o = t.ht(i.merge || i.mergeFields ? 2 /* MergeSet */ : 0 /* Set */ , n, e, s);
|
|
4030
|
-
|
|
4031
|
-
const u =
|
|
4040
|
+
ze("Data must be an object, but it was:", o, r);
|
|
4041
|
+
const u = Me(r, o);
|
|
4032
4042
|
let c, a;
|
|
4033
4043
|
if (i.merge) c = new It(o.fieldMask), a = o.fieldTransforms; else if (i.mergeFields) {
|
|
4034
4044
|
const t = [];
|
|
4035
4045
|
for (const r of i.mergeFields) {
|
|
4036
4046
|
const s = Ge(n, r, e);
|
|
4037
4047
|
if (!o.contains(s)) throw new U(R, `Field '${s}' is specified in your field mask but missing from your input data.`);
|
|
4038
|
-
|
|
4048
|
+
He(t, s) || t.push(s);
|
|
4039
4049
|
}
|
|
4040
4050
|
c = new It(t), a = o.fieldTransforms.filter((t => c.covers(t.field)));
|
|
4041
4051
|
} else c = null, a = o.fieldTransforms;
|
|
4042
|
-
return new
|
|
4052
|
+
return new Ae(new Gt(u), c, a);
|
|
4043
4053
|
}
|
|
4044
4054
|
|
|
4045
|
-
class
|
|
4055
|
+
class Se extends Ee {
|
|
4046
4056
|
_toFieldTransform(t) {
|
|
4047
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}`);
|
|
4048
4058
|
// No transform to add for a delete, but we need to add it to our
|
|
@@ -4050,7 +4060,7 @@ class Fe extends Te {
|
|
|
4050
4060
|
return t.fieldMask.push(t.path), null;
|
|
4051
4061
|
}
|
|
4052
4062
|
isEqual(t) {
|
|
4053
|
-
return t instanceof
|
|
4063
|
+
return t instanceof Se;
|
|
4054
4064
|
}
|
|
4055
4065
|
}
|
|
4056
4066
|
|
|
@@ -4069,8 +4079,8 @@ class Fe extends Te {
|
|
|
4069
4079
|
* context.
|
|
4070
4080
|
* @param context - The parent context.
|
|
4071
4081
|
* @param arrayElement - Whether or not the FieldValue has an array.
|
|
4072
|
-
*/ function
|
|
4073
|
-
return new
|
|
4082
|
+
*/ function Fe(t, n, e) {
|
|
4083
|
+
return new Ve({
|
|
4074
4084
|
tt: 3 /* Argument */ ,
|
|
4075
4085
|
at: n.settings.at,
|
|
4076
4086
|
methodName: t._methodName,
|
|
@@ -4078,22 +4088,22 @@ class Fe extends Te {
|
|
|
4078
4088
|
}, n.databaseId, n.q, n.ignoreUndefinedProperties);
|
|
4079
4089
|
}
|
|
4080
4090
|
|
|
4081
|
-
class
|
|
4091
|
+
class xe extends Ee {
|
|
4082
4092
|
_toFieldTransform(t) {
|
|
4083
4093
|
return new Tn(t.path, new gn);
|
|
4084
4094
|
}
|
|
4085
4095
|
isEqual(t) {
|
|
4086
|
-
return t instanceof
|
|
4096
|
+
return t instanceof xe;
|
|
4087
4097
|
}
|
|
4088
4098
|
}
|
|
4089
4099
|
|
|
4090
|
-
class
|
|
4100
|
+
class qe extends Ee {
|
|
4091
4101
|
constructor(t, n) {
|
|
4092
4102
|
super(t), this.lt = n;
|
|
4093
4103
|
}
|
|
4094
4104
|
_toFieldTransform(t) {
|
|
4095
|
-
const n =
|
|
4096
|
-
/*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);
|
|
4097
4107
|
return new Tn(t.path, r);
|
|
4098
4108
|
}
|
|
4099
4109
|
isEqual(t) {
|
|
@@ -4102,13 +4112,13 @@ class Oe extends Te {
|
|
|
4102
4112
|
}
|
|
4103
4113
|
}
|
|
4104
4114
|
|
|
4105
|
-
class
|
|
4115
|
+
class Oe extends Ee {
|
|
4106
4116
|
constructor(t, n) {
|
|
4107
4117
|
super(t), this.lt = n;
|
|
4108
4118
|
}
|
|
4109
4119
|
_toFieldTransform(t) {
|
|
4110
|
-
const n =
|
|
4111
|
-
/*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);
|
|
4112
4122
|
return new Tn(t.path, r);
|
|
4113
4123
|
}
|
|
4114
4124
|
isEqual(t) {
|
|
@@ -4117,7 +4127,7 @@ class Ce extends Te {
|
|
|
4117
4127
|
}
|
|
4118
4128
|
}
|
|
4119
4129
|
|
|
4120
|
-
class
|
|
4130
|
+
class Ce extends Ee {
|
|
4121
4131
|
constructor(t, n) {
|
|
4122
4132
|
super(t), this.ft = n;
|
|
4123
4133
|
}
|
|
@@ -4131,50 +4141,50 @@ class Le extends Te {
|
|
|
4131
4141
|
}
|
|
4132
4142
|
}
|
|
4133
4143
|
|
|
4134
|
-
/** Parse update data from an update() call. */ function
|
|
4144
|
+
/** Parse update data from an update() call. */ function Le(t, n, e, r) {
|
|
4135
4145
|
const s = t.ht(1 /* Update */ , n, e);
|
|
4136
|
-
|
|
4137
|
-
const i = [], o =
|
|
4146
|
+
ze("Data must be an object, but it was:", s, r);
|
|
4147
|
+
const i = [], o = Gt.empty();
|
|
4138
4148
|
Tt(r, ((t, r) => {
|
|
4139
|
-
const u =
|
|
4149
|
+
const u = We(n, t, e);
|
|
4140
4150
|
// For Compat types, we have to "extract" the underlying types before
|
|
4141
4151
|
// performing validation.
|
|
4142
4152
|
r = l(r);
|
|
4143
4153
|
const c = s.it(u);
|
|
4144
|
-
if (r instanceof
|
|
4154
|
+
if (r instanceof Se)
|
|
4145
4155
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4146
4156
|
i.push(u); else {
|
|
4147
|
-
const t =
|
|
4157
|
+
const t = je(r, c);
|
|
4148
4158
|
null != t && (i.push(u), o.set(u, t));
|
|
4149
4159
|
}
|
|
4150
4160
|
}));
|
|
4151
4161
|
const u = new It(i);
|
|
4152
|
-
return new
|
|
4162
|
+
return new Re(o, u, s.fieldTransforms);
|
|
4153
4163
|
}
|
|
4154
4164
|
|
|
4155
|
-
/** 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) {
|
|
4156
4166
|
const o = t.ht(1 /* Update */ , n, e), u = [ Ge(n, r, e) ], c = [ s ];
|
|
4157
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.`);
|
|
4158
4168
|
for (let t = 0; t < i.length; t += 2) u.push(Ge(n, i[t])), c.push(i[t + 1]);
|
|
4159
|
-
const a = [], h =
|
|
4169
|
+
const a = [], h = Gt.empty();
|
|
4160
4170
|
// We iterate in reverse order to pick the last value for a field if the
|
|
4161
4171
|
// user specified the field multiple times.
|
|
4162
|
-
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])) {
|
|
4163
4173
|
const n = u[t];
|
|
4164
4174
|
let e = c[t];
|
|
4165
4175
|
// For Compat types, we have to "extract" the underlying types before
|
|
4166
4176
|
// performing validation.
|
|
4167
4177
|
e = l(e);
|
|
4168
4178
|
const r = o.it(n);
|
|
4169
|
-
if (e instanceof
|
|
4179
|
+
if (e instanceof Se)
|
|
4170
4180
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4171
4181
|
a.push(n); else {
|
|
4172
|
-
const t =
|
|
4182
|
+
const t = je(e, r);
|
|
4173
4183
|
null != t && (a.push(n), h.set(n, t));
|
|
4174
4184
|
}
|
|
4175
4185
|
}
|
|
4176
4186
|
const f = new It(a);
|
|
4177
|
-
return new
|
|
4187
|
+
return new Re(h, f, o.fieldTransforms);
|
|
4178
4188
|
}
|
|
4179
4189
|
|
|
4180
4190
|
/**
|
|
@@ -4183,8 +4193,8 @@ class Le extends Te {
|
|
|
4183
4193
|
*
|
|
4184
4194
|
* @param allowArrays - Whether the query value is an array that may directly
|
|
4185
4195
|
* contain additional arrays (e.g. the operand of an `in` query).
|
|
4186
|
-
*/ function
|
|
4187
|
-
return
|
|
4196
|
+
*/ function Ue(t, n, e, r = !1) {
|
|
4197
|
+
return je(e, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , n));
|
|
4188
4198
|
}
|
|
4189
4199
|
|
|
4190
4200
|
/**
|
|
@@ -4195,12 +4205,12 @@ class Le extends Te {
|
|
|
4195
4205
|
* the source of the data being parsed, etc.
|
|
4196
4206
|
* @returns The parsed value, or null if the value was a FieldValue sentinel
|
|
4197
4207
|
* that should not be included in the resulting parsed data.
|
|
4198
|
-
*/ function
|
|
4199
|
-
if (
|
|
4208
|
+
*/ function je(t, n) {
|
|
4209
|
+
if (Be(
|
|
4200
4210
|
// Unwrap the API type from the Compat SDK. This will return the API type
|
|
4201
4211
|
// from firestore-exp.
|
|
4202
|
-
t = l(t))) return
|
|
4203
|
-
if (t instanceof
|
|
4212
|
+
t = l(t))) return ze("Unsupported field value:", n, t), Me(t, n);
|
|
4213
|
+
if (t instanceof Ee)
|
|
4204
4214
|
// FieldValues usually parse into transforms (except deleteField())
|
|
4205
4215
|
// in which case we do not want to include this field in our parsed data
|
|
4206
4216
|
// (as doing so will overwrite the field directly prior to the transform
|
|
@@ -4212,7 +4222,7 @@ class Le extends Te {
|
|
|
4212
4222
|
*/
|
|
4213
4223
|
return function(t, n) {
|
|
4214
4224
|
// Sentinels are only supported with writes, and not within arrays.
|
|
4215
|
-
if (!
|
|
4225
|
+
if (!Pe(n.tt)) throw n.ut(`${t._methodName}() can only be used with update() and set()`);
|
|
4216
4226
|
if (!n.path) throw n.ut(`${t._methodName}() is not currently supported inside arrays`);
|
|
4217
4227
|
const e = t._toFieldTransform(n);
|
|
4218
4228
|
e && n.fieldTransforms.push(e);
|
|
@@ -4242,7 +4252,7 @@ class Le extends Te {
|
|
|
4242
4252
|
const e = [];
|
|
4243
4253
|
let r = 0;
|
|
4244
4254
|
for (const s of t) {
|
|
4245
|
-
let t =
|
|
4255
|
+
let t = je(s, n.ot(r));
|
|
4246
4256
|
null == t && (
|
|
4247
4257
|
// Just include nulls in the array for fields being replaced with a
|
|
4248
4258
|
// sentinel.
|
|
@@ -4283,16 +4293,16 @@ class Le extends Te {
|
|
|
4283
4293
|
timestampValue: Fn(n.q, e)
|
|
4284
4294
|
};
|
|
4285
4295
|
}
|
|
4286
|
-
if (t instanceof
|
|
4296
|
+
if (t instanceof Te) return {
|
|
4287
4297
|
geoPointValue: {
|
|
4288
4298
|
latitude: t.latitude,
|
|
4289
4299
|
longitude: t.longitude
|
|
4290
4300
|
}
|
|
4291
4301
|
};
|
|
4292
|
-
if (t instanceof
|
|
4302
|
+
if (t instanceof be) return {
|
|
4293
4303
|
bytesValue: xn(n.q, t._byteString)
|
|
4294
4304
|
};
|
|
4295
|
-
if (t instanceof
|
|
4305
|
+
if (t instanceof le) {
|
|
4296
4306
|
const e = n.databaseId, r = t.firestore._databaseId;
|
|
4297
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}`);
|
|
4298
4308
|
return {
|
|
@@ -4310,13 +4320,13 @@ class Le extends Te {
|
|
|
4310
4320
|
*/ (t, n);
|
|
4311
4321
|
}
|
|
4312
4322
|
|
|
4313
|
-
function
|
|
4323
|
+
function Me(t, n) {
|
|
4314
4324
|
const e = {};
|
|
4315
4325
|
return !function(t) {
|
|
4316
4326
|
for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n)) return !1;
|
|
4317
4327
|
return !0;
|
|
4318
4328
|
}(t) ? Tt(t, ((t, r) => {
|
|
4319
|
-
const s =
|
|
4329
|
+
const s = je(r, n.et(t));
|
|
4320
4330
|
null != s && (e[t] = s);
|
|
4321
4331
|
})) :
|
|
4322
4332
|
// If we encounter an empty object, we explicitly add it to the update
|
|
@@ -4328,12 +4338,12 @@ function Be(t, n) {
|
|
|
4328
4338
|
};
|
|
4329
4339
|
}
|
|
4330
4340
|
|
|
4331
|
-
function
|
|
4332
|
-
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);
|
|
4333
4343
|
}
|
|
4334
4344
|
|
|
4335
|
-
function
|
|
4336
|
-
if (!
|
|
4345
|
+
function ze(t, n, e) {
|
|
4346
|
+
if (!Be(e) || !function(t) {
|
|
4337
4347
|
return "object" == typeof t && null !== t && (Object.getPrototypeOf(t) === Object.prototype || null === Object.getPrototypeOf(t));
|
|
4338
4348
|
}(e)) {
|
|
4339
4349
|
const r = ot(e);
|
|
@@ -4347,16 +4357,16 @@ function Qe(t, n, e) {
|
|
|
4347
4357
|
if ((
|
|
4348
4358
|
// If required, replace the FieldPath Compat class with with the firestore-exp
|
|
4349
4359
|
// FieldPath.
|
|
4350
|
-
n = l(n)) instanceof
|
|
4351
|
-
if ("string" == typeof n) return
|
|
4352
|
-
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,
|
|
4353
4363
|
/* hasConverter= */ !1,
|
|
4354
4364
|
/* path= */ void 0, e);
|
|
4355
4365
|
}
|
|
4356
4366
|
|
|
4357
4367
|
/**
|
|
4358
4368
|
* Matches any characters in a field path string that are reserved.
|
|
4359
|
-
*/ const
|
|
4369
|
+
*/ const Qe = new RegExp("[~\\*/\\[\\]]");
|
|
4360
4370
|
|
|
4361
4371
|
/**
|
|
4362
4372
|
* Wraps fromDotSeparatedString with an error message about the method that
|
|
@@ -4366,20 +4376,20 @@ function Qe(t, n, e) {
|
|
|
4366
4376
|
* split on dots.
|
|
4367
4377
|
* @param targetDoc - The document against which the field path will be
|
|
4368
4378
|
* evaluated.
|
|
4369
|
-
*/ function
|
|
4370
|
-
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,
|
|
4371
4381
|
/* hasConverter= */ !1,
|
|
4372
4382
|
/* path= */ void 0, e);
|
|
4373
4383
|
try {
|
|
4374
|
-
return new
|
|
4384
|
+
return new ge(...n.split("."))._internalPath;
|
|
4375
4385
|
} catch (r) {
|
|
4376
|
-
throw
|
|
4386
|
+
throw Ye(`Invalid field path (${n}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
|
|
4377
4387
|
/* hasConverter= */ !1,
|
|
4378
4388
|
/* path= */ void 0, e);
|
|
4379
4389
|
}
|
|
4380
4390
|
}
|
|
4381
4391
|
|
|
4382
|
-
function
|
|
4392
|
+
function Ye(t, n, e, r, s) {
|
|
4383
4393
|
const i = r && !r.isEmpty(), o = void 0 !== s;
|
|
4384
4394
|
let u = `Function ${n}() called with invalid data`;
|
|
4385
4395
|
e && (u += " (via `toFirestore()`)"), u += ". ";
|
|
@@ -4388,7 +4398,7 @@ function He(t, n, e, r, s) {
|
|
|
4388
4398
|
c += ")"), new U(R, u + t + c);
|
|
4389
4399
|
}
|
|
4390
4400
|
|
|
4391
|
-
/** 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) {
|
|
4392
4402
|
return t.some((t => t.isEqual(n)));
|
|
4393
4403
|
}
|
|
4394
4404
|
|
|
@@ -4416,7 +4426,7 @@ function He(t, n, e, r, s) {
|
|
|
4416
4426
|
* For a `DocumentSnapshot` that points to a non-existing document, any data
|
|
4417
4427
|
* access will return 'undefined'. You can use the `exists()` method to
|
|
4418
4428
|
* explicitly verify a document's existence.
|
|
4419
|
-
*/ class
|
|
4429
|
+
*/ class Ke {
|
|
4420
4430
|
// Note: This class is stripped down version of the DocumentSnapshot in
|
|
4421
4431
|
// the legacy SDK. The changes are:
|
|
4422
4432
|
// - No support for SnapshotMetadata.
|
|
@@ -4432,7 +4442,7 @@ function He(t, n, e, r, s) {
|
|
|
4432
4442
|
/**
|
|
4433
4443
|
* The `DocumentReference` for the document included in the `DocumentSnapshot`.
|
|
4434
4444
|
*/ get ref() {
|
|
4435
|
-
return new
|
|
4445
|
+
return new le(this._firestore, this._converter, this._key);
|
|
4436
4446
|
}
|
|
4437
4447
|
/**
|
|
4438
4448
|
* Signals whether or not the document at the snapshot's location exists.
|
|
@@ -4452,7 +4462,7 @@ function He(t, n, e, r, s) {
|
|
|
4452
4462
|
if (this._converter) {
|
|
4453
4463
|
// We only want to use the converter and create a new DocumentSnapshot
|
|
4454
4464
|
// if a converter has been provided.
|
|
4455
|
-
const t = new
|
|
4465
|
+
const t = new Je(this._firestore, this._userDataWriter, this._key, this._document,
|
|
4456
4466
|
/* converter= */ null);
|
|
4457
4467
|
return this._converter.fromFirestore(t);
|
|
4458
4468
|
}
|
|
@@ -4472,7 +4482,7 @@ function He(t, n, e, r, s) {
|
|
|
4472
4482
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4473
4483
|
get(t) {
|
|
4474
4484
|
if (this._document) {
|
|
4475
|
-
const n = this._document.data.field(
|
|
4485
|
+
const n = this._document.data.field(tr("DocumentSnapshot.get", t));
|
|
4476
4486
|
if (null !== n) return this._userDataWriter.convertValue(n);
|
|
4477
4487
|
}
|
|
4478
4488
|
}
|
|
@@ -4488,7 +4498,7 @@ function He(t, n, e, r, s) {
|
|
|
4488
4498
|
* `DocumentSnapshot`. Since query results contain only existing documents, the
|
|
4489
4499
|
* `exists` property will always be true and `data()` will never return
|
|
4490
4500
|
* 'undefined'.
|
|
4491
|
-
*/ class
|
|
4501
|
+
*/ class Je extends Ke {
|
|
4492
4502
|
/**
|
|
4493
4503
|
* Retrieves all fields in the document as an `Object`.
|
|
4494
4504
|
*
|
|
@@ -4506,7 +4516,7 @@ function He(t, n, e, r, s) {
|
|
|
4506
4516
|
* array via the `docs` property or enumerated using the `forEach` method. The
|
|
4507
4517
|
* number of documents can be determined via the `empty` and `size`
|
|
4508
4518
|
* properties.
|
|
4509
|
-
*/ class
|
|
4519
|
+
*/ class Xe {
|
|
4510
4520
|
/** @hideconstructor */
|
|
4511
4521
|
constructor(t, n) {
|
|
4512
4522
|
this._docs = n, this.query = t;
|
|
@@ -4537,14 +4547,14 @@ function He(t, n, e, r, s) {
|
|
|
4537
4547
|
* @param left - A snapshot to compare.
|
|
4538
4548
|
* @param right - A snapshot to compare.
|
|
4539
4549
|
* @returns true if the snapshots are equal.
|
|
4540
|
-
*/ function
|
|
4541
|
-
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));
|
|
4542
4552
|
}
|
|
4543
4553
|
|
|
4544
4554
|
/**
|
|
4545
4555
|
* Helper that calls `fromDotSeparatedString()` but wraps any error thrown.
|
|
4546
|
-
*/ function
|
|
4547
|
-
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;
|
|
4548
4558
|
}
|
|
4549
4559
|
|
|
4550
4560
|
/**
|
|
@@ -4571,7 +4581,7 @@ function He(t, n, e, r, s) {
|
|
|
4571
4581
|
* can then be passed to {@link query} to create a new query instance that
|
|
4572
4582
|
* also contains this `QueryConstraint`.
|
|
4573
4583
|
*/
|
|
4574
|
-
class
|
|
4584
|
+
class nr {}
|
|
4575
4585
|
|
|
4576
4586
|
/**
|
|
4577
4587
|
* Creates a new immutable instance of {@link Query} that is extended to also include
|
|
@@ -4581,32 +4591,32 @@ class er {}
|
|
|
4581
4591
|
* @param queryConstraints - The list of {@link QueryConstraint}s to apply.
|
|
4582
4592
|
* @throws if any of the provided query constraints cannot be combined with the
|
|
4583
4593
|
* existing or new constraints.
|
|
4584
|
-
*/ function
|
|
4594
|
+
*/ function er(t, ...n) {
|
|
4585
4595
|
for (const e of n) t = e._apply(t);
|
|
4586
4596
|
return t;
|
|
4587
4597
|
}
|
|
4588
4598
|
|
|
4589
|
-
class
|
|
4599
|
+
class rr extends nr {
|
|
4590
4600
|
constructor(t, n, e) {
|
|
4591
4601
|
super(), this.dt = t, this.wt = n, this.yt = e, this.type = "where";
|
|
4592
4602
|
}
|
|
4593
4603
|
_apply(t) {
|
|
4594
|
-
const n =
|
|
4604
|
+
const n = De(t.firestore), e = function(t, n, e, r, s, i, o) {
|
|
4595
4605
|
let u;
|
|
4596
4606
|
if (s.isKeyField()) {
|
|
4597
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().`);
|
|
4598
4608
|
if ("in" /* IN */ === i || "not-in" /* NOT_IN */ === i) {
|
|
4599
|
-
|
|
4609
|
+
_r(o, i);
|
|
4600
4610
|
const n = [];
|
|
4601
|
-
for (const e of o) n.push(
|
|
4611
|
+
for (const e of o) n.push(yr(r, t, e));
|
|
4602
4612
|
u = {
|
|
4603
4613
|
arrayValue: {
|
|
4604
4614
|
values: n
|
|
4605
4615
|
}
|
|
4606
4616
|
};
|
|
4607
|
-
} else u =
|
|
4608
|
-
} else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i ||
|
|
4609
|
-
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,
|
|
4610
4620
|
/* allowArrays= */ "in" /* IN */ === i || "not-in" /* NOT_IN */ === i);
|
|
4611
4621
|
const c = Ht.create(s, i, u);
|
|
4612
4622
|
return function(t, n) {
|
|
@@ -4614,7 +4624,7 @@ class sr extends er {
|
|
|
4614
4624
|
const e = fn(t);
|
|
4615
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()}'`);
|
|
4616
4626
|
const r = ln(t);
|
|
4617
|
-
null !== r &&
|
|
4627
|
+
null !== r && gr(t, n.field, r);
|
|
4618
4628
|
}
|
|
4619
4629
|
const e = function(t, n) {
|
|
4620
4630
|
for (const e of t.filters) if (n.indexOf(e.op) >= 0) return e.op;
|
|
@@ -4658,7 +4668,7 @@ class sr extends er {
|
|
|
4658
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.`);
|
|
4659
4669
|
}(t, c), c;
|
|
4660
4670
|
}(t._query, "where", n, t.firestore._databaseId, this.dt, this.wt, this.yt);
|
|
4661
|
-
return new
|
|
4671
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4662
4672
|
const e = t.filters.concat([ n ]);
|
|
4663
4673
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), e, t.limit, t.limitType, t.startAt, t.endAt);
|
|
4664
4674
|
}(t._query, e));
|
|
@@ -4675,12 +4685,12 @@ class sr extends er {
|
|
|
4675
4685
|
* "<=", "!=").
|
|
4676
4686
|
* @param value - The value for comparison
|
|
4677
4687
|
* @returns The created {@link Query}.
|
|
4678
|
-
*/ function
|
|
4679
|
-
const r = n, s =
|
|
4680
|
-
return new
|
|
4688
|
+
*/ function sr(t, n, e) {
|
|
4689
|
+
const r = n, s = tr("where", t);
|
|
4690
|
+
return new rr(s, r, e);
|
|
4681
4691
|
}
|
|
4682
4692
|
|
|
4683
|
-
class
|
|
4693
|
+
class ir extends nr {
|
|
4684
4694
|
constructor(t, n) {
|
|
4685
4695
|
super(), this.dt = t, this._t = n, this.type = "orderBy";
|
|
4686
4696
|
}
|
|
@@ -4693,7 +4703,7 @@ class or extends er {
|
|
|
4693
4703
|
if (null === ln(t)) {
|
|
4694
4704
|
// This is the first order by. It must match any inequality.
|
|
4695
4705
|
const e = fn(t);
|
|
4696
|
-
null !== e &&
|
|
4706
|
+
null !== e && gr(t, e, n.field);
|
|
4697
4707
|
}
|
|
4698
4708
|
}(t, r), r;
|
|
4699
4709
|
}
|
|
@@ -4708,7 +4718,7 @@ class or extends er {
|
|
|
4708
4718
|
* of the query or if any of the fields in the order by are an uncommitted
|
|
4709
4719
|
* server timestamp.
|
|
4710
4720
|
*/ (t._query, this.dt, this._t);
|
|
4711
|
-
return new
|
|
4721
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4712
4722
|
// TODO(dimond): validate that orderBy does not list the same key twice.
|
|
4713
4723
|
const e = t.explicitOrderBy.concat([ n ]);
|
|
4714
4724
|
return new an(t.path, t.collectionGroup, e, t.filters.slice(), t.limit, t.limitType, t.startAt, t.endAt);
|
|
@@ -4724,17 +4734,17 @@ class or extends er {
|
|
|
4724
4734
|
* @param directionStr - Optional direction to sort by ('asc' or 'desc'). If
|
|
4725
4735
|
* not specified, order will be ascending.
|
|
4726
4736
|
* @returns The created {@link Query}.
|
|
4727
|
-
*/ function
|
|
4728
|
-
const e = n, r =
|
|
4729
|
-
return new
|
|
4737
|
+
*/ function or(t, n = "asc") {
|
|
4738
|
+
const e = n, r = tr("orderBy", t);
|
|
4739
|
+
return new ir(r, e);
|
|
4730
4740
|
}
|
|
4731
4741
|
|
|
4732
|
-
class
|
|
4742
|
+
class ur extends nr {
|
|
4733
4743
|
constructor(t, n, e) {
|
|
4734
4744
|
super(), this.type = t, this.gt = n, this.vt = e;
|
|
4735
4745
|
}
|
|
4736
4746
|
_apply(t) {
|
|
4737
|
-
return new
|
|
4747
|
+
return new fe(t.firestore, t.converter, function(t, n, e) {
|
|
4738
4748
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), n, e, t.startAt, t.endAt);
|
|
4739
4749
|
}(t._query, this.gt, this.vt));
|
|
4740
4750
|
}
|
|
@@ -4745,8 +4755,8 @@ class cr extends er {
|
|
|
4745
4755
|
*
|
|
4746
4756
|
* @param limit - The maximum number of items to return.
|
|
4747
4757
|
* @returns The created {@link Query}.
|
|
4748
|
-
*/ function
|
|
4749
|
-
return ct("limit", t), new
|
|
4758
|
+
*/ function cr(t) {
|
|
4759
|
+
return ct("limit", t), new ur("limit", t, "F" /* First */);
|
|
4750
4760
|
}
|
|
4751
4761
|
|
|
4752
4762
|
/**
|
|
@@ -4757,53 +4767,55 @@ class cr extends er {
|
|
|
4757
4767
|
*
|
|
4758
4768
|
* @param limit - The maximum number of items to return.
|
|
4759
4769
|
* @returns The created {@link Query}.
|
|
4760
|
-
*/ function
|
|
4761
|
-
return ct("limitToLast", t), new
|
|
4770
|
+
*/ function ar(t) {
|
|
4771
|
+
return ct("limitToLast", t), new ur("limitToLast", t, "L" /* Last */);
|
|
4762
4772
|
}
|
|
4763
4773
|
|
|
4764
|
-
class
|
|
4774
|
+
class hr extends nr {
|
|
4765
4775
|
constructor(t, n, e) {
|
|
4766
4776
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4767
4777
|
}
|
|
4768
4778
|
_apply(t) {
|
|
4769
|
-
const n =
|
|
4770
|
-
return new
|
|
4779
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4780
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4771
4781
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, n, t.endAt);
|
|
4772
4782
|
}(t._query, n));
|
|
4773
4783
|
}
|
|
4774
4784
|
}
|
|
4775
4785
|
|
|
4776
|
-
function
|
|
4777
|
-
return new
|
|
4786
|
+
function lr(...t) {
|
|
4787
|
+
return new hr("startAt", t,
|
|
4788
|
+
/*inclusive=*/ !0);
|
|
4778
4789
|
}
|
|
4779
4790
|
|
|
4780
|
-
function
|
|
4781
|
-
return new
|
|
4782
|
-
/*
|
|
4791
|
+
function fr(...t) {
|
|
4792
|
+
return new hr("startAfter", t,
|
|
4793
|
+
/*inclusive=*/ !1);
|
|
4783
4794
|
}
|
|
4784
4795
|
|
|
4785
|
-
class
|
|
4796
|
+
class dr extends nr {
|
|
4786
4797
|
constructor(t, n, e) {
|
|
4787
4798
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4788
4799
|
}
|
|
4789
4800
|
_apply(t) {
|
|
4790
|
-
const n =
|
|
4791
|
-
return new
|
|
4801
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4802
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4792
4803
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, t.startAt, n);
|
|
4793
4804
|
}(t._query, n));
|
|
4794
4805
|
}
|
|
4795
4806
|
}
|
|
4796
4807
|
|
|
4797
|
-
function
|
|
4798
|
-
return new
|
|
4808
|
+
function wr(...t) {
|
|
4809
|
+
return new dr("endBefore", t,
|
|
4810
|
+
/*inclusive=*/ !1);
|
|
4799
4811
|
}
|
|
4800
4812
|
|
|
4801
|
-
function
|
|
4802
|
-
return new
|
|
4813
|
+
function mr(...t) {
|
|
4814
|
+
return new dr("endAt", t, /*inclusive=*/ !0);
|
|
4803
4815
|
}
|
|
4804
4816
|
|
|
4805
|
-
/** Helper function to create a bound from a document or fields */ function
|
|
4806
|
-
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) {
|
|
4807
4819
|
if (!r) throw new U(V, `Can't use a DocumentSnapshot that doesn't exist for ${e}().`);
|
|
4808
4820
|
const i = [];
|
|
4809
4821
|
// Because people expect to continue/end a query at the exact document
|
|
@@ -4828,7 +4840,7 @@ function pr(...t) {
|
|
|
4828
4840
|
* Converts a list of field values to a `Bound` for the given query.
|
|
4829
4841
|
*/ (t._query, t.firestore._databaseId, n, e[0]._document, r);
|
|
4830
4842
|
{
|
|
4831
|
-
const s =
|
|
4843
|
+
const s = De(t.firestore);
|
|
4832
4844
|
return function(t, n, e, r, s, i) {
|
|
4833
4845
|
// Use explicit order by's because it has to match the query the user made
|
|
4834
4846
|
const o = t.explicitOrderBy;
|
|
@@ -4844,7 +4856,7 @@ function pr(...t) {
|
|
|
4844
4856
|
const s = new et(e);
|
|
4845
4857
|
u.push(kt(n, s));
|
|
4846
4858
|
} else {
|
|
4847
|
-
const t =
|
|
4859
|
+
const t = Ue(e, r, c);
|
|
4848
4860
|
u.push(t);
|
|
4849
4861
|
}
|
|
4850
4862
|
}
|
|
@@ -4858,7 +4870,7 @@ function pr(...t) {
|
|
|
4858
4870
|
}
|
|
4859
4871
|
}
|
|
4860
4872
|
|
|
4861
|
-
function
|
|
4873
|
+
function yr(t, n, e) {
|
|
4862
4874
|
if ("string" == typeof (e = l(e))) {
|
|
4863
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.");
|
|
4864
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.`);
|
|
@@ -4866,19 +4878,19 @@ function _r(t, n, e) {
|
|
|
4866
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}).`);
|
|
4867
4879
|
return kt(t, new et(r));
|
|
4868
4880
|
}
|
|
4869
|
-
if (e instanceof
|
|
4881
|
+
if (e instanceof le) return kt(t, e._key);
|
|
4870
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)}.`);
|
|
4871
4883
|
}
|
|
4872
4884
|
|
|
4873
4885
|
/**
|
|
4874
4886
|
* Validates that the value passed into a disjunctive filter satisfies all
|
|
4875
4887
|
* array requirements.
|
|
4876
|
-
*/ function
|
|
4888
|
+
*/ function _r(t, n) {
|
|
4877
4889
|
if (!Array.isArray(t) || 0 === t.length) throw new U(R, `Invalid Query. A non-empty array is required for '${n.toString()}' filters.`);
|
|
4878
4890
|
if (t.length > 10) throw new U(R, `Invalid Query. '${n.toString()}' filters support a maximum of 10 elements in the value array.`);
|
|
4879
4891
|
}
|
|
4880
4892
|
|
|
4881
|
-
function
|
|
4893
|
+
function gr(t, n, e) {
|
|
4882
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.`);
|
|
4883
4895
|
}
|
|
4884
4896
|
|
|
@@ -4929,7 +4941,7 @@ function vr(t, n, e) {
|
|
|
4929
4941
|
* their `set()` or fails due to invalid data originating from a `toFirestore()`
|
|
4930
4942
|
* call.
|
|
4931
4943
|
*/
|
|
4932
|
-
function
|
|
4944
|
+
function vr(t, n, e) {
|
|
4933
4945
|
let r;
|
|
4934
4946
|
// Cast to `any` in order to satisfy the union type constraint on
|
|
4935
4947
|
// toFirestore().
|
|
@@ -4938,7 +4950,7 @@ function br(t, n, e) {
|
|
|
4938
4950
|
r;
|
|
4939
4951
|
}
|
|
4940
4952
|
|
|
4941
|
-
class
|
|
4953
|
+
class br extends class {
|
|
4942
4954
|
convertValue(t, n = "none") {
|
|
4943
4955
|
switch (xt(t)) {
|
|
4944
4956
|
case 0 /* NullValue */ :
|
|
@@ -4985,7 +4997,7 @@ class Er extends class {
|
|
|
4985
4997
|
})), e;
|
|
4986
4998
|
}
|
|
4987
4999
|
convertGeoPoint(t) {
|
|
4988
|
-
return new
|
|
5000
|
+
return new Te(Nt(t.latitude), Nt(t.longitude));
|
|
4989
5001
|
}
|
|
4990
5002
|
convertArray(t, n) {
|
|
4991
5003
|
return (t.values || []).map((t => this.convertValue(t, n)));
|
|
@@ -5009,7 +5021,7 @@ class Er extends class {
|
|
|
5009
5021
|
}
|
|
5010
5022
|
convertDocumentKey(t, n) {
|
|
5011
5023
|
const e = Z.fromString(t);
|
|
5012
|
-
b(
|
|
5024
|
+
b(Kn(e));
|
|
5013
5025
|
const r = new J(e.get(1), e.get(3)), s = new et(e.popFirst(5));
|
|
5014
5026
|
return r.isEqual(n) ||
|
|
5015
5027
|
// TODO(b/64130202): Somehow support foreign references.
|
|
@@ -5021,11 +5033,11 @@ class Er extends class {
|
|
|
5021
5033
|
super(), this.firestore = t;
|
|
5022
5034
|
}
|
|
5023
5035
|
convertBytes(t) {
|
|
5024
|
-
return new
|
|
5036
|
+
return new be(t);
|
|
5025
5037
|
}
|
|
5026
5038
|
convertReference(t) {
|
|
5027
5039
|
const n = this.convertDocumentKey(t, this.firestore._databaseId);
|
|
5028
|
-
return new
|
|
5040
|
+
return new le(this.firestore, /* converter= */ null, n);
|
|
5029
5041
|
}
|
|
5030
5042
|
}
|
|
5031
5043
|
|
|
@@ -5041,12 +5053,12 @@ class Er extends class {
|
|
|
5041
5053
|
* @param reference - The reference of the document to fetch.
|
|
5042
5054
|
* @returns A Promise resolved with a `DocumentSnapshot` containing the current
|
|
5043
5055
|
* document contents.
|
|
5044
|
-
*/ function
|
|
5045
|
-
const n =
|
|
5046
|
-
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 => {
|
|
5047
5059
|
b(1 === n.length);
|
|
5048
5060
|
const r = n[0];
|
|
5049
|
-
return new
|
|
5061
|
+
return new Ke(t.firestore, e, t._key, r.isFoundDocument() ? r : null, t.converter);
|
|
5050
5062
|
}));
|
|
5051
5063
|
}
|
|
5052
5064
|
|
|
@@ -5061,33 +5073,33 @@ class Er extends class {
|
|
|
5061
5073
|
*
|
|
5062
5074
|
* @param query - The `Query` to execute.
|
|
5063
5075
|
* @returns A Promise that will be resolved with the results of the query.
|
|
5064
|
-
*/ function
|
|
5076
|
+
*/ function Tr(t) {
|
|
5065
5077
|
!function(t) {
|
|
5066
5078
|
if (hn(t) && 0 === t.explicitOrderBy.length) throw new U(O, "limitToLast() queries require specifying at least one orderBy() clause");
|
|
5067
|
-
}((t = ut(t,
|
|
5068
|
-
const n =
|
|
5069
|
-
return
|
|
5070
|
-
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)));
|
|
5071
5083
|
return hn(t._query) &&
|
|
5072
5084
|
// Limit to last queries reverse the orderBy constraint that was
|
|
5073
5085
|
// specified by the user. As such, we need to reverse the order of the
|
|
5074
5086
|
// results to return the documents in the expected order.
|
|
5075
|
-
r.reverse(), new
|
|
5087
|
+
r.reverse(), new Xe(t, r);
|
|
5076
5088
|
}));
|
|
5077
5089
|
}
|
|
5078
5090
|
|
|
5079
|
-
function
|
|
5080
|
-
const r =
|
|
5081
|
-
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()) ]);
|
|
5082
5094
|
}
|
|
5083
5095
|
|
|
5084
|
-
function
|
|
5085
|
-
const s =
|
|
5096
|
+
function Ar(t, n, e, ...r) {
|
|
5097
|
+
const s = De((t = ut(t, le)).firestore);
|
|
5086
5098
|
// For Compat types, we have to "extract" the underlying types before
|
|
5087
5099
|
// performing validation.
|
|
5088
5100
|
let i;
|
|
5089
|
-
i = "string" == typeof (n = l(n)) || n instanceof
|
|
5090
|
-
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)) ]);
|
|
5091
5103
|
}
|
|
5092
5104
|
|
|
5093
5105
|
/**
|
|
@@ -5101,8 +5113,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5101
5113
|
* @param reference - A reference to the document to delete.
|
|
5102
5114
|
* @returns A `Promise` resolved once the document has been successfully
|
|
5103
5115
|
* deleted from the backend.
|
|
5104
|
-
*/ function
|
|
5105
|
-
return
|
|
5116
|
+
*/ function Rr(t) {
|
|
5117
|
+
return te(se((t = ut(t, le)).firestore), [ new Vn(t._key, In.none()) ]);
|
|
5106
5118
|
}
|
|
5107
5119
|
|
|
5108
5120
|
/**
|
|
@@ -5119,9 +5131,9 @@ function Rr(t, n, e, ...r) {
|
|
|
5119
5131
|
* @throws Error - If the provided input is not a valid Firestore document.
|
|
5120
5132
|
* @returns A `Promise` resolved with a `DocumentReference` pointing to the
|
|
5121
5133
|
* newly created document after it has been written to the backend.
|
|
5122
|
-
*/ function
|
|
5123
|
-
const e =
|
|
5124
|
-
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));
|
|
5125
5137
|
}
|
|
5126
5138
|
|
|
5127
5139
|
/**
|
|
@@ -5143,15 +5155,15 @@ function Rr(t, n, e, ...r) {
|
|
|
5143
5155
|
/**
|
|
5144
5156
|
* Returns a sentinel for use with {@link @firebase/firestore/lite#(updateDoc:1)} or
|
|
5145
5157
|
* {@link @firebase/firestore/lite#(setDoc:1)} with `{merge: true}` to mark a field for deletion.
|
|
5146
|
-
*/ function
|
|
5147
|
-
return new
|
|
5158
|
+
*/ function Vr() {
|
|
5159
|
+
return new Se("deleteField");
|
|
5148
5160
|
}
|
|
5149
5161
|
|
|
5150
5162
|
/**
|
|
5151
5163
|
* Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
|
|
5152
5164
|
* include a server-generated timestamp in the written data.
|
|
5153
|
-
*/ function
|
|
5154
|
-
return new
|
|
5165
|
+
*/ function Nr() {
|
|
5166
|
+
return new xe("serverTimestamp");
|
|
5155
5167
|
}
|
|
5156
5168
|
|
|
5157
5169
|
/**
|
|
@@ -5165,10 +5177,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5165
5177
|
* @param elements - The elements to union into the array.
|
|
5166
5178
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5167
5179
|
* `updateDoc()`.
|
|
5168
|
-
*/ function
|
|
5180
|
+
*/ function Dr(...t) {
|
|
5169
5181
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5170
5182
|
// update() since we'd need the Firestore instance to do this.
|
|
5171
|
-
return new
|
|
5183
|
+
return new qe("arrayUnion", t);
|
|
5172
5184
|
}
|
|
5173
5185
|
|
|
5174
5186
|
/**
|
|
@@ -5181,10 +5193,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5181
5193
|
* @param elements - The elements to remove from the array.
|
|
5182
5194
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5183
5195
|
* `updateDoc()`
|
|
5184
|
-
*/ function
|
|
5196
|
+
*/ function $r(...t) {
|
|
5185
5197
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5186
5198
|
// update() since we'd need the Firestore instance to do this.
|
|
5187
|
-
return new
|
|
5199
|
+
return new Oe("arrayRemove", t);
|
|
5188
5200
|
}
|
|
5189
5201
|
|
|
5190
5202
|
/**
|
|
@@ -5205,8 +5217,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5205
5217
|
* @param n - The value to increment by.
|
|
5206
5218
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5207
5219
|
* `updateDoc()`
|
|
5208
|
-
*/ function
|
|
5209
|
-
return new
|
|
5220
|
+
*/ function Sr(t) {
|
|
5221
|
+
return new Ce("increment", t);
|
|
5210
5222
|
}
|
|
5211
5223
|
|
|
5212
5224
|
/**
|
|
@@ -5232,24 +5244,24 @@ function Rr(t, n, e, ...r) {
|
|
|
5232
5244
|
* provides methods for adding writes to the write batch. None of the writes
|
|
5233
5245
|
* will be committed (or visible locally) until {@link WriteBatch.commit} is
|
|
5234
5246
|
* called.
|
|
5235
|
-
*/ class
|
|
5247
|
+
*/ class Fr {
|
|
5236
5248
|
/** @hideconstructor */
|
|
5237
5249
|
constructor(t, n) {
|
|
5238
5250
|
this._firestore = t, this._commitHandler = n, this._mutations = [], this._committed = !1,
|
|
5239
|
-
this._dataReader =
|
|
5251
|
+
this._dataReader = De(t);
|
|
5240
5252
|
}
|
|
5241
5253
|
set(t, n, e) {
|
|
5242
5254
|
this._verifyNotCommitted();
|
|
5243
|
-
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);
|
|
5244
5256
|
return this._mutations.push(i.toMutation(r._key, In.none())), this;
|
|
5245
5257
|
}
|
|
5246
5258
|
update(t, n, e, ...r) {
|
|
5247
5259
|
this._verifyNotCommitted();
|
|
5248
|
-
const s =
|
|
5260
|
+
const s = xr(t, this._firestore);
|
|
5249
5261
|
// For Compat types, we have to "extract" the underlying types before
|
|
5250
5262
|
// performing validation.
|
|
5251
5263
|
let i;
|
|
5252
|
-
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),
|
|
5253
5265
|
this._mutations.push(i.toMutation(s._key, In.exists(!0))), this;
|
|
5254
5266
|
}
|
|
5255
5267
|
/**
|
|
@@ -5259,7 +5271,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5259
5271
|
* @returns This `WriteBatch` instance. Used for chaining method calls.
|
|
5260
5272
|
*/ delete(t) {
|
|
5261
5273
|
this._verifyNotCommitted();
|
|
5262
|
-
const n =
|
|
5274
|
+
const n = xr(t, this._firestore);
|
|
5263
5275
|
return this._mutations = this._mutations.concat(new Vn(n._key, In.none())), this;
|
|
5264
5276
|
}
|
|
5265
5277
|
/**
|
|
@@ -5281,7 +5293,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5281
5293
|
}
|
|
5282
5294
|
}
|
|
5283
5295
|
|
|
5284
|
-
function
|
|
5296
|
+
function xr(t, n) {
|
|
5285
5297
|
if ((t = l(t)).firestore !== n) throw new U(R, "Provided document reference is from a different Firestore instance.");
|
|
5286
5298
|
return t;
|
|
5287
5299
|
}
|
|
@@ -5298,9 +5310,9 @@ function qr(t, n) {
|
|
|
5298
5310
|
*
|
|
5299
5311
|
* @returns A `WriteBatch` that can be used to atomically execute multiple
|
|
5300
5312
|
* writes.
|
|
5301
|
-
*/ function
|
|
5302
|
-
const n =
|
|
5303
|
-
return new
|
|
5313
|
+
*/ function qr(t) {
|
|
5314
|
+
const n = se(t = ut(t, oe));
|
|
5315
|
+
return new Fr(t, (t => te(n, t)));
|
|
5304
5316
|
}
|
|
5305
5317
|
|
|
5306
5318
|
/**
|
|
@@ -5322,7 +5334,7 @@ function qr(t, n) {
|
|
|
5322
5334
|
/**
|
|
5323
5335
|
* Internal transaction object responsible for accumulating the mutations to
|
|
5324
5336
|
* perform and the base versions for any documents read.
|
|
5325
|
-
*/ class
|
|
5337
|
+
*/ class Or {
|
|
5326
5338
|
constructor(t) {
|
|
5327
5339
|
this.datastore = t,
|
|
5328
5340
|
// The version of each document that was read during this transaction.
|
|
@@ -5342,7 +5354,7 @@ function qr(t, n) {
|
|
|
5342
5354
|
}
|
|
5343
5355
|
async lookup(t) {
|
|
5344
5356
|
if (this.ensureCommitNotCalled(), this.mutations.length > 0) throw new U(R, "Firestore transactions require all reads to be executed before all writes.");
|
|
5345
|
-
const n = await
|
|
5357
|
+
const n = await ne(this.datastore, t);
|
|
5346
5358
|
return n.forEach((t => this.recordVersion(t))), n;
|
|
5347
5359
|
}
|
|
5348
5360
|
set(t, n) {
|
|
@@ -5371,7 +5383,7 @@ function qr(t, n) {
|
|
|
5371
5383
|
t.forEach(((t, n) => {
|
|
5372
5384
|
const e = et.fromPath(n);
|
|
5373
5385
|
this.mutations.push(new Nn(e, this.precondition(e)));
|
|
5374
|
-
})), await
|
|
5386
|
+
})), await te(this.datastore, this.mutations), this.committed = !0;
|
|
5375
5387
|
}
|
|
5376
5388
|
recordVersion(t) {
|
|
5377
5389
|
let n;
|
|
@@ -5445,17 +5457,17 @@ function qr(t, n) {
|
|
|
5445
5457
|
* TransactionRunner encapsulates the logic needed to run and retry transactions
|
|
5446
5458
|
* with backoff.
|
|
5447
5459
|
*/
|
|
5448
|
-
class
|
|
5460
|
+
class Cr {
|
|
5449
5461
|
constructor(t, n, e, r) {
|
|
5450
5462
|
this.asyncQueue = t, this.datastore = n, this.updateFunction = e, this.deferred = r,
|
|
5451
|
-
this.Tt = 5, this.It = new
|
|
5463
|
+
this.Tt = 5, this.It = new Xn(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
|
|
5452
5464
|
}
|
|
5453
5465
|
/** Runs the transaction and sets the result on deferred. */ run() {
|
|
5454
5466
|
this.Tt -= 1, this.At();
|
|
5455
5467
|
}
|
|
5456
5468
|
At() {
|
|
5457
5469
|
this.It.W((async () => {
|
|
5458
|
-
const t = new
|
|
5470
|
+
const t = new Or(this.datastore), n = this.Rt(t);
|
|
5459
5471
|
n && n.then((n => {
|
|
5460
5472
|
this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
|
|
5461
5473
|
this.deferred.resolve(n);
|
|
@@ -5545,7 +5557,7 @@ class Lr {
|
|
|
5545
5557
|
* See the License for the specific language governing permissions and
|
|
5546
5558
|
* limitations under the License.
|
|
5547
5559
|
*/
|
|
5548
|
-
/** The Platform's 'document' implementation or null if not available. */ function
|
|
5560
|
+
/** The Platform's 'document' implementation or null if not available. */ function Lr() {
|
|
5549
5561
|
// `document` is not always available, e.g. in ReactNative and WebWorkers.
|
|
5550
5562
|
// eslint-disable-next-line no-restricted-globals
|
|
5551
5563
|
return "undefined" != typeof document ? document : null;
|
|
@@ -5577,7 +5589,7 @@ class Lr {
|
|
|
5577
5589
|
* Note: We implement `PromiseLike` instead of `Promise`, as the `Promise` type
|
|
5578
5590
|
* in newer versions of TypeScript defines `finally`, which is not available in
|
|
5579
5591
|
* IE.
|
|
5580
|
-
*/ class
|
|
5592
|
+
*/ class kr {
|
|
5581
5593
|
constructor(t, n, e, r, s) {
|
|
5582
5594
|
this.asyncQueue = t, this.timerId = n, this.targetTimeMs = e, this.op = r, this.removalCallback = s,
|
|
5583
5595
|
this.deferred = new j, this.then = this.deferred.promise.then.bind(this.deferred.promise),
|
|
@@ -5600,7 +5612,7 @@ class Lr {
|
|
|
5600
5612
|
* PORTING NOTE: This exists to prevent making removeDelayedOperation() and
|
|
5601
5613
|
* the DelayedOperation class public.
|
|
5602
5614
|
*/ static createAndSchedule(t, n, e, r, s) {
|
|
5603
|
-
const i = Date.now() + e, o = new
|
|
5615
|
+
const i = Date.now() + e, o = new kr(t, n, i, r, s);
|
|
5604
5616
|
return o.start(e), o;
|
|
5605
5617
|
}
|
|
5606
5618
|
/**
|
|
@@ -5649,7 +5661,7 @@ class Lr {
|
|
|
5649
5661
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5650
5662
|
* See the License for the specific language governing permissions and
|
|
5651
5663
|
* limitations under the License.
|
|
5652
|
-
*/ class
|
|
5664
|
+
*/ class Ur {
|
|
5653
5665
|
constructor() {
|
|
5654
5666
|
// The last promise in the queue.
|
|
5655
5667
|
this.Nt = Promise.resolve(),
|
|
@@ -5672,15 +5684,15 @@ class Lr {
|
|
|
5672
5684
|
// List of TimerIds to fast-forward delays for.
|
|
5673
5685
|
this.Ot = [],
|
|
5674
5686
|
// Backoff timer used to schedule retries for retryable operations
|
|
5675
|
-
this.It = new
|
|
5687
|
+
this.It = new Xn(this, "async_queue_retry" /* AsyncQueueRetry */),
|
|
5676
5688
|
// Visibility handler that triggers an immediate retry of all retryable
|
|
5677
5689
|
// operations. Meant to speed up recovery when we regain file system access
|
|
5678
5690
|
// after page comes into foreground.
|
|
5679
5691
|
this.Ct = () => {
|
|
5680
|
-
const t =
|
|
5692
|
+
const t = Lr();
|
|
5681
5693
|
t && p("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.It.H();
|
|
5682
5694
|
};
|
|
5683
|
-
const t =
|
|
5695
|
+
const t = Lr();
|
|
5684
5696
|
t && "function" == typeof t.addEventListener && t.addEventListener("visibilitychange", this.Ct);
|
|
5685
5697
|
}
|
|
5686
5698
|
get isShuttingDown() {
|
|
@@ -5701,7 +5713,7 @@ class Lr {
|
|
|
5701
5713
|
enterRestrictedMode(t) {
|
|
5702
5714
|
if (!this.$t) {
|
|
5703
5715
|
this.$t = !0, this.qt = t || !1;
|
|
5704
|
-
const n =
|
|
5716
|
+
const n = Lr();
|
|
5705
5717
|
n && "function" == typeof n.removeEventListener && n.removeEventListener("visibilitychange", this.Ct);
|
|
5706
5718
|
}
|
|
5707
5719
|
}
|
|
@@ -5833,7 +5845,7 @@ class Lr {
|
|
|
5833
5845
|
this.Lt(),
|
|
5834
5846
|
// Fast-forward delays for timerIds that have been overriden.
|
|
5835
5847
|
this.Ot.indexOf(t) > -1 && (n = 0);
|
|
5836
|
-
const r =
|
|
5848
|
+
const r = kr.createAndSchedule(this, t, n, e, (t => this.jt(t)));
|
|
5837
5849
|
return this.St.push(r), r;
|
|
5838
5850
|
}
|
|
5839
5851
|
Lt() {
|
|
@@ -5877,7 +5889,7 @@ class Lr {
|
|
|
5877
5889
|
}
|
|
5878
5890
|
/**
|
|
5879
5891
|
* For Tests: Skip all subsequent delays for a timer id.
|
|
5880
|
-
*/
|
|
5892
|
+
*/ Gt(t) {
|
|
5881
5893
|
this.Ot.push(t);
|
|
5882
5894
|
}
|
|
5883
5895
|
/** Called once a DelayedOperation is run or canceled. */ jt(t) {
|
|
@@ -5887,10 +5899,10 @@ class Lr {
|
|
|
5887
5899
|
}
|
|
5888
5900
|
}
|
|
5889
5901
|
|
|
5890
|
-
class
|
|
5902
|
+
class jr {
|
|
5891
5903
|
/** @hideconstructor */
|
|
5892
5904
|
constructor(t, n) {
|
|
5893
|
-
this._firestore = t, this._transaction = n, this._dataReader =
|
|
5905
|
+
this._firestore = t, this._transaction = n, this._dataReader = De(t);
|
|
5894
5906
|
}
|
|
5895
5907
|
/**
|
|
5896
5908
|
* Reads the document referenced by the provided {@link DocumentReference}.
|
|
@@ -5898,25 +5910,25 @@ class Mr {
|
|
|
5898
5910
|
* @param documentRef - A reference to the document to be read.
|
|
5899
5911
|
* @returns A `DocumentSnapshot` with the read data.
|
|
5900
5912
|
*/ get(t) {
|
|
5901
|
-
const n =
|
|
5913
|
+
const n = xr(t, this._firestore), e = new br(this._firestore);
|
|
5902
5914
|
return this._transaction.lookup([ n._key ]).then((t => {
|
|
5903
5915
|
if (!t || 1 !== t.length) return v();
|
|
5904
5916
|
const r = t[0];
|
|
5905
|
-
if (r.isFoundDocument()) return new
|
|
5906
|
-
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);
|
|
5907
5919
|
throw v();
|
|
5908
5920
|
}));
|
|
5909
5921
|
}
|
|
5910
5922
|
set(t, n, e) {
|
|
5911
|
-
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);
|
|
5912
5924
|
return this._transaction.set(r._key, i), this;
|
|
5913
5925
|
}
|
|
5914
5926
|
update(t, n, e, ...r) {
|
|
5915
|
-
const s =
|
|
5927
|
+
const s = xr(t, this._firestore);
|
|
5916
5928
|
// For Compat types, we have to "extract" the underlying types before
|
|
5917
5929
|
// performing validation.
|
|
5918
5930
|
let i;
|
|
5919
|
-
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),
|
|
5920
5932
|
this._transaction.update(s._key, i), this;
|
|
5921
5933
|
}
|
|
5922
5934
|
/**
|
|
@@ -5925,7 +5937,7 @@ class Mr {
|
|
|
5925
5937
|
* @param documentRef - A reference to the document to be deleted.
|
|
5926
5938
|
* @returns This `Transaction` instance. Used for chaining method calls.
|
|
5927
5939
|
*/ delete(t) {
|
|
5928
|
-
const n =
|
|
5940
|
+
const n = xr(t, this._firestore);
|
|
5929
5941
|
return this._transaction.delete(n._key), this;
|
|
5930
5942
|
}
|
|
5931
5943
|
}
|
|
@@ -5946,9 +5958,9 @@ class Mr {
|
|
|
5946
5958
|
* (the `updateFunction` returned a failed promise), the promise returned by the
|
|
5947
5959
|
* `updateFunction `is returned here. Otherwise, if the transaction failed, a
|
|
5948
5960
|
* rejected promise with the corresponding failure error is returned.
|
|
5949
|
-
*/ function
|
|
5950
|
-
const e =
|
|
5951
|
-
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;
|
|
5952
5964
|
}
|
|
5953
5965
|
|
|
5954
5966
|
/**
|
|
@@ -5961,11 +5973,11 @@ class Mr {
|
|
|
5961
5973
|
*/ !function(t) {
|
|
5962
5974
|
d = t;
|
|
5963
5975
|
}(`${s}_lite`), e(new i("firestore/lite", ((t, {options: n}) => {
|
|
5964
|
-
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")));
|
|
5965
5977
|
return n && r._setSettings(n), r;
|
|
5966
5978
|
}), "PUBLIC")),
|
|
5967
5979
|
// RUNTIME_ENV and BUILD_TARGET are replaced by real values during the compilation
|
|
5968
|
-
r("firestore-lite", "3.4.4-canary.
|
|
5980
|
+
r("firestore-lite", "3.4.4-canary.307d019c7", "rn"), r("firestore-lite", "3.4.4-canary.307d019c7", "esm2017");
|
|
5969
5981
|
|
|
5970
|
-
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 };
|
|
5971
5983
|
//# sourceMappingURL=index.rn.esm2017.js.map
|