@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.
Files changed (180) hide show
  1. package/dist/firestore/src/api/credentials.d.ts +1 -0
  2. package/dist/firestore/src/api/snapshot.d.ts +1 -2
  3. package/dist/firestore/src/core/target.d.ts +8 -4
  4. package/dist/firestore/src/index/index_byte_encoder.d.ts +18 -1
  5. package/dist/firestore/src/index/index_entry.d.ts +26 -0
  6. package/dist/firestore/src/lite-api/query.d.ts +2 -2
  7. package/dist/firestore/src/local/document_overlay_cache.d.ts +72 -0
  8. package/dist/firestore/src/local/index_manager.d.ts +52 -0
  9. package/dist/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
  10. package/dist/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
  11. package/dist/firestore/src/local/indexeddb_persistence.d.ts +6 -4
  12. package/dist/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
  13. package/dist/firestore/src/local/indexeddb_schema.d.ts +195 -7
  14. package/dist/firestore/src/local/local_documents_view.d.ts +0 -1
  15. package/dist/firestore/src/local/local_serializer.d.ts +18 -2
  16. package/dist/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
  17. package/dist/firestore/src/local/memory_index_manager.d.ts +11 -0
  18. package/dist/firestore/src/local/memory_persistence.d.ts +6 -2
  19. package/dist/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
  20. package/dist/firestore/src/local/persistence.d.ts +8 -2
  21. package/dist/firestore/src/local/remote_document_cache.d.ts +7 -9
  22. package/dist/firestore/src/local/simple_db.d.ts +1 -0
  23. package/dist/firestore/src/model/document_key.d.ts +5 -0
  24. package/dist/firestore/src/model/field_index.d.ts +2 -2
  25. package/dist/firestore/src/model/overlay.d.ts +32 -0
  26. package/dist/firestore/src/model/target_index_matcher.d.ts +70 -0
  27. package/dist/firestore/src/platform/node/grpc_connection.d.ts +2 -2
  28. package/dist/firestore/src/platform/node/load_protos.d.ts +2 -2
  29. package/dist/firestore/src/util/sorted_set.d.ts +18 -0
  30. package/dist/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
  31. package/dist/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
  32. package/dist/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
  33. package/dist/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
  34. package/dist/firestore/test/unit/local/test_index_manager.d.ts +11 -0
  35. package/dist/firestore/test/unit/local/test_remote_document_cache.d.ts +4 -2
  36. package/dist/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
  37. package/dist/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
  38. package/dist/firestore/test/util/helpers.d.ts +1 -1
  39. package/dist/index.d.ts +1 -2
  40. package/dist/index.esm2017.js +4496 -3484
  41. package/dist/index.esm2017.js.map +1 -1
  42. package/dist/index.esm5.js +4452 -3556
  43. package/dist/index.esm5.js.map +1 -1
  44. package/dist/index.node.cjs.js +1757 -295
  45. package/dist/index.node.cjs.js.map +1 -1
  46. package/dist/index.node.mjs +1737 -296
  47. package/dist/index.node.mjs.map +1 -1
  48. package/dist/index.rn.js +4508 -3496
  49. package/dist/index.rn.js.map +1 -1
  50. package/dist/internal.d.ts +253 -14
  51. package/dist/lite/firestore/src/api/credentials.d.ts +1 -0
  52. package/dist/lite/firestore/src/api/snapshot.d.ts +1 -2
  53. package/dist/lite/firestore/src/core/target.d.ts +8 -4
  54. package/dist/lite/firestore/src/index/index_byte_encoder.d.ts +18 -1
  55. package/dist/lite/firestore/src/index/index_entry.d.ts +26 -0
  56. package/dist/lite/firestore/src/lite-api/query.d.ts +2 -2
  57. package/dist/lite/firestore/src/local/document_overlay_cache.d.ts +72 -0
  58. package/dist/lite/firestore/src/local/index_manager.d.ts +52 -0
  59. package/dist/lite/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
  60. package/dist/lite/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
  61. package/dist/lite/firestore/src/local/indexeddb_persistence.d.ts +6 -4
  62. package/dist/lite/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
  63. package/dist/lite/firestore/src/local/indexeddb_schema.d.ts +195 -7
  64. package/dist/lite/firestore/src/local/local_documents_view.d.ts +0 -1
  65. package/dist/lite/firestore/src/local/local_serializer.d.ts +18 -2
  66. package/dist/lite/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
  67. package/dist/lite/firestore/src/local/memory_index_manager.d.ts +11 -0
  68. package/dist/lite/firestore/src/local/memory_persistence.d.ts +6 -2
  69. package/dist/lite/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
  70. package/dist/lite/firestore/src/local/persistence.d.ts +8 -2
  71. package/dist/lite/firestore/src/local/remote_document_cache.d.ts +7 -9
  72. package/dist/lite/firestore/src/local/simple_db.d.ts +1 -0
  73. package/dist/lite/firestore/src/model/document_key.d.ts +5 -0
  74. package/dist/lite/firestore/src/model/field_index.d.ts +2 -2
  75. package/dist/lite/firestore/src/model/overlay.d.ts +32 -0
  76. package/dist/lite/firestore/src/model/target_index_matcher.d.ts +70 -0
  77. package/dist/lite/firestore/src/platform/node/grpc_connection.d.ts +2 -2
  78. package/dist/lite/firestore/src/platform/node/load_protos.d.ts +2 -2
  79. package/dist/lite/firestore/src/util/sorted_set.d.ts +18 -0
  80. package/dist/lite/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
  81. package/dist/lite/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
  82. package/dist/lite/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
  83. package/dist/lite/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
  84. package/dist/lite/firestore/test/unit/local/test_index_manager.d.ts +11 -0
  85. package/dist/lite/firestore/test/unit/local/test_remote_document_cache.d.ts +4 -2
  86. package/dist/lite/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
  87. package/dist/lite/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
  88. package/dist/lite/firestore/test/util/helpers.d.ts +1 -1
  89. package/dist/lite/index.browser.esm2017.js +1155 -1143
  90. package/dist/lite/index.browser.esm2017.js.map +1 -1
  91. package/dist/lite/index.browser.esm5.js +355 -342
  92. package/dist/lite/index.browser.esm5.js.map +1 -1
  93. package/dist/lite/index.node.cjs.js +47 -29
  94. package/dist/lite/index.node.cjs.js.map +1 -1
  95. package/dist/lite/index.node.mjs +47 -29
  96. package/dist/lite/index.node.mjs.map +1 -1
  97. package/dist/lite/index.rn.esm2017.js +332 -320
  98. package/dist/lite/index.rn.esm2017.js.map +1 -1
  99. package/dist/lite/internal.d.ts +7 -2
  100. package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +121 -121
  101. package/dist/lite/packages/firestore/src/api/credentials.d.ts +1 -0
  102. package/dist/lite/packages/firestore/src/api/snapshot.d.ts +1 -2
  103. package/dist/lite/packages/firestore/src/core/target.d.ts +8 -4
  104. package/dist/lite/packages/firestore/src/index/index_byte_encoder.d.ts +18 -1
  105. package/dist/lite/packages/firestore/src/index/index_entry.d.ts +26 -0
  106. package/dist/lite/packages/firestore/src/lite-api/query.d.ts +2 -2
  107. package/dist/lite/packages/firestore/src/local/document_overlay_cache.d.ts +72 -0
  108. package/dist/lite/packages/firestore/src/local/index_manager.d.ts +52 -0
  109. package/dist/lite/packages/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
  110. package/dist/lite/packages/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
  111. package/dist/lite/packages/firestore/src/local/indexeddb_persistence.d.ts +6 -4
  112. package/dist/lite/packages/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
  113. package/dist/lite/packages/firestore/src/local/indexeddb_schema.d.ts +195 -7
  114. package/dist/lite/packages/firestore/src/local/local_documents_view.d.ts +0 -1
  115. package/dist/lite/packages/firestore/src/local/local_serializer.d.ts +18 -2
  116. package/dist/lite/packages/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
  117. package/dist/lite/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
  118. package/dist/lite/packages/firestore/src/local/memory_persistence.d.ts +6 -2
  119. package/dist/lite/packages/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
  120. package/dist/lite/packages/firestore/src/local/persistence.d.ts +8 -2
  121. package/dist/lite/packages/firestore/src/local/remote_document_cache.d.ts +7 -9
  122. package/dist/lite/packages/firestore/src/local/simple_db.d.ts +1 -0
  123. package/dist/lite/packages/firestore/src/model/document_key.d.ts +5 -0
  124. package/dist/lite/packages/firestore/src/model/field_index.d.ts +2 -2
  125. package/dist/lite/packages/firestore/src/model/overlay.d.ts +32 -0
  126. package/dist/lite/packages/firestore/src/model/target_index_matcher.d.ts +70 -0
  127. package/dist/lite/packages/firestore/src/platform/node/grpc_connection.d.ts +2 -2
  128. package/dist/lite/packages/firestore/src/platform/node/load_protos.d.ts +2 -2
  129. package/dist/lite/packages/firestore/src/util/sorted_set.d.ts +18 -0
  130. package/dist/lite/packages/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
  131. package/dist/lite/packages/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
  132. package/dist/lite/packages/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
  133. package/dist/lite/packages/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
  134. package/dist/lite/packages/firestore/test/unit/local/test_index_manager.d.ts +11 -0
  135. package/dist/lite/packages/firestore/test/unit/local/test_remote_document_cache.d.ts +4 -2
  136. package/dist/lite/packages/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
  137. package/dist/lite/packages/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
  138. package/dist/lite/packages/firestore/test/util/helpers.d.ts +1 -1
  139. package/dist/lite/private.d.ts +2 -2
  140. package/dist/packages/firestore/dist/index.esm2017.d.ts +189 -186
  141. package/dist/packages/firestore/src/api/credentials.d.ts +1 -0
  142. package/dist/packages/firestore/src/api/snapshot.d.ts +1 -2
  143. package/dist/packages/firestore/src/core/target.d.ts +8 -4
  144. package/dist/packages/firestore/src/index/index_byte_encoder.d.ts +18 -1
  145. package/dist/packages/firestore/src/index/index_entry.d.ts +26 -0
  146. package/dist/packages/firestore/src/lite-api/query.d.ts +2 -2
  147. package/dist/packages/firestore/src/local/document_overlay_cache.d.ts +72 -0
  148. package/dist/packages/firestore/src/local/index_manager.d.ts +52 -0
  149. package/dist/packages/firestore/src/local/indexeddb_document_overlay_cache.d.ts +45 -0
  150. package/dist/packages/firestore/src/local/indexeddb_index_manager.d.ts +40 -2
  151. package/dist/packages/firestore/src/local/indexeddb_persistence.d.ts +6 -4
  152. package/dist/packages/firestore/src/local/indexeddb_remote_document_cache.d.ts +2 -8
  153. package/dist/packages/firestore/src/local/indexeddb_schema.d.ts +195 -7
  154. package/dist/packages/firestore/src/local/local_documents_view.d.ts +0 -1
  155. package/dist/packages/firestore/src/local/local_serializer.d.ts +18 -2
  156. package/dist/packages/firestore/src/local/memory_document_overlay_cache.d.ts +37 -0
  157. package/dist/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
  158. package/dist/packages/firestore/src/local/memory_persistence.d.ts +6 -2
  159. package/dist/packages/firestore/src/local/memory_remote_document_cache.d.ts +1 -3
  160. package/dist/packages/firestore/src/local/persistence.d.ts +8 -2
  161. package/dist/packages/firestore/src/local/remote_document_cache.d.ts +7 -9
  162. package/dist/packages/firestore/src/local/simple_db.d.ts +1 -0
  163. package/dist/packages/firestore/src/model/document_key.d.ts +5 -0
  164. package/dist/packages/firestore/src/model/field_index.d.ts +2 -2
  165. package/dist/packages/firestore/src/model/overlay.d.ts +32 -0
  166. package/dist/packages/firestore/src/model/target_index_matcher.d.ts +70 -0
  167. package/dist/packages/firestore/src/platform/node/grpc_connection.d.ts +2 -2
  168. package/dist/packages/firestore/src/platform/node/load_protos.d.ts +2 -2
  169. package/dist/packages/firestore/src/util/sorted_set.d.ts +18 -0
  170. package/dist/packages/firestore/test/unit/local/counting_query_engine.d.ts +3 -3
  171. package/dist/packages/firestore/test/unit/local/document_overlay_cache.test.d.ts +1 -0
  172. package/dist/packages/firestore/test/unit/local/persistence_test_helpers.d.ts +1 -0
  173. package/dist/packages/firestore/test/unit/local/test_document_overlay_cache.d.ts +38 -0
  174. package/dist/packages/firestore/test/unit/local/test_index_manager.d.ts +11 -0
  175. package/dist/packages/firestore/test/unit/local/test_remote_document_cache.d.ts +4 -2
  176. package/dist/packages/firestore/test/unit/local/test_remote_document_change_buffer.d.ts +1 -1
  177. package/dist/packages/firestore/test/unit/model/target_index_matcher.test.d.ts +17 -0
  178. package/dist/packages/firestore/test/util/helpers.d.ts +1 -1
  179. package/dist/private.d.ts +248 -14
  180. 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.5-canary.2dd99ae2d";
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 Q {
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 G {
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 G(this.t, this.i, this.o));
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 Qt {
1907
+ */ class Gt {
1899
1908
  constructor(t) {
1900
1909
  this.value = t;
1901
1910
  }
1902
1911
  static empty() {
1903
- return new Qt({
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 Qt(zt(this.value));
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 Gt {
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 Gt(t, 0 /* INVALID */ , bt.min(), bt.min(), Qt.empty(), 0 /* SYNCED */);
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 Gt(t, 1 /* FOUND_DOCUMENT */ , n, bt.min(), e, 0 /* SYNCED */);
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 Gt(t, 2 /* NO_DOCUMENT */ , n, bt.min(), Qt.empty(), 0 /* SYNCED */);
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 Gt(t, 3 /* UNKNOWN_DOCUMENT */ , n, bt.min(), Qt.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
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 = Qt.empty(),
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 = Qt.empty(),
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 Gt && this.key.isEqual(t.key) && this.version.isEqual(t.version) && this.documentType === t.documentType && this.documentState === t.documentState && this.data.isEqual(t.data);
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 Gt(this.key, this.documentType, this.version, this.readTime, this.data.clone(), this.documentState);
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.before = n;
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.before !== n.before || t.position.length !== n.position.length) return !1;
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.before) : null, r = n.startAt ? new sn(n.startAt.position, !n.startAt.before) : null;
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(Jn(n)), n;
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 Qt({
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 Gt.newFoundDocument(e, r, s);
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 Gt.newNoDocument(e, r);
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: Kn(n.fieldMask)
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 Qn(t, n) {
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: Hn(t.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: Hn(t.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: Hn(t.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: Hn(t.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: Hn(t.field),
2908
- op: Yn(t.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: Hn(t.field),
2929
- direction: Wn(t.dir)
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
- return null !== o && (e.structuredQuery.limit = o), n.startAt && (e.structuredQuery.startAt = Gn(n.startAt)),
2940
- n.endAt && (e.structuredQuery.endAt = Gn(n.endAt)), e;
2941
- }
2942
-
2943
- function Gn(t) {
2944
- return {
2945
- before: t.before,
2946
- values: t.position
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
- // visible for testing
2951
- function Wn(t) {
2961
+ function Qn(t) {
2952
2962
  return Dn[t];
2953
2963
  }
2954
2964
 
2955
2965
  // visible for testing
2956
- function Yn(t) {
2966
+ function Wn(t) {
2957
2967
  return $n[t];
2958
2968
  }
2959
2969
 
2960
- function Hn(t) {
2970
+ function Yn(t) {
2961
2971
  return {
2962
2972
  fieldPath: t.canonicalString()
2963
2973
  };
2964
2974
  }
2965
2975
 
2966
- function Kn(t) {
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 Jn(t) {
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 Xn(t) {
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 Zn {
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 te extends 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 ne(t, n) {
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 ee(t, n) {
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 re(t, n) {
3170
- const e = E(t), r = Qn(e.q, mn(n));
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 Qt({
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 = Gt.newFoundDocument(r, s, i);
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 se = new Map;
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 ie(t) {
3219
+ function se(t) {
3210
3220
  if (t._terminated) throw new U(F, "The client has already been terminated.");
3211
- if (!se.has(t)) {
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 = Xn(t._databaseId), u = function(t, n, e, r) {
3217
- return new te(t, n, e, r);
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
- se.set(t, u);
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 se.get(t);
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 oe {
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 ue {
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 oe({}),
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 oe(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
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 = se.get(t);
3373
- n && (p("ComponentProvider", "Removing Datastore"), se.delete(t), n.terminate());
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 ce(t, n) {
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 ae(n = t()) {
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 he(t, n, e, r = {}) {
3420
+ */ function ae(t, n, e, r = {}) {
3411
3421
  var s;
3412
- const i = (t = ut(t, ue))._getSettings();
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 le(t) {
3451
- return t = ut(t, ue), n(t.app, "firestore/lite"), t._delete();
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 fe {
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 we(this.firestore, this.converter, this._key.path.popLast());
3529
+ return new de(this.firestore, this.converter, this._key.path.popLast());
3520
3530
  }
3521
3531
  withConverter(t) {
3522
- return new fe(this.firestore, t, this._key);
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 de {
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 de(this.firestore, t, this._query);
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 we extends de {
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 fe(this.firestore,
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 we(this.firestore, t, this._path);
3584
+ return new de(this.firestore, t, this._path);
3575
3585
  }
3576
3586
  }
3577
3587
 
3578
- function me(t, n, ...e) {
3579
- if (t = l(t), rt("collection", "path", n), t instanceof ue) {
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 we(t, /* converter= */ null, r);
3591
+ return it(r), new de(t, /* converter= */ null, r);
3582
3592
  }
3583
3593
  {
3584
- if (!(t instanceof fe || t instanceof we)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
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 we(t.firestore,
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 pe(t, n) {
3604
- if (t = ut(t, ue), 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 '/'.`);
3605
- return new de(t,
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 ye(t, n, ...e) {
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 ue) {
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 fe(t,
3632
+ return st(r), new le(t,
3623
3633
  /* converter= */ null, new et(r));
3624
3634
  }
3625
3635
  {
3626
- if (!(t instanceof fe || t instanceof we)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
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 fe(t.firestore, t instanceof we ? t.converter : null, new et(r));
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 _e(t, n) {
3640
- return t = l(t), n = l(n), (t instanceof fe || t instanceof we) && (n instanceof fe || n instanceof we) && (t.firestore === n.firestore && t.path === n.path && t.converter === n.converter);
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 ge(t, n) {
3652
- return t = l(t), n = l(n), t instanceof de && n instanceof de && (t.firestore === n.firestore && pn(t._query, n._query) && t.converter === n.converter);
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 ve {
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 be() {
3703
- return new ve("__name__");
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 Ee {
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 Ee(Rt.fromBase64String(t));
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 Ee(Rt.fromUint8Array(t));
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 Te {
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 Ie {
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 Ae = /^__.*__$/;
3899
+ */ const Ie = /^__.*__$/;
3890
3900
 
3891
- /** The result of parsing document data (e.g. for a setData call). */ class Re {
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 Pe {
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 Ve(t) {
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 Ne {
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 Ne(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
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 He(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
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 (Ve(this.tt) && Ae.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
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 De {
4017
+ */ class Ne {
4008
4018
  constructor(t, n, e) {
4009
- this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e || Xn(t);
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 Ne({
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 $e(t) {
4024
- const n = t._freezeSettings(), e = Xn(t._databaseId);
4025
- return new De(t._databaseId, !!n.ignoreUndefinedProperties, e);
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 Se(t, n, e, r, s, i = {}) {
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
- Qe("Data must be an object, but it was:", o, r);
4031
- const u = Be(r, o);
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
- Ke(t, s) || t.push(s);
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 Re(new Qt(u), c, a);
4052
+ return new Ae(new Gt(u), c, a);
4043
4053
  }
4044
4054
 
4045
- class Fe extends Te {
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 Fe;
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 xe(t, n, e) {
4073
- return new Ne({
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 qe extends Te {
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 qe;
4096
+ return t instanceof xe;
4087
4097
  }
4088
4098
  }
4089
4099
 
4090
- class Oe extends Te {
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 = xe(this, t,
4096
- /*array=*/ !0), e = this.lt.map((t => Me(t, n))), r = new vn(e);
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 Ce extends Te {
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 = xe(this, t,
4111
- /*array=*/ !0), e = this.lt.map((t => Me(t, n))), r = new bn(e);
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 Le extends Te {
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 ke(t, n, e, r) {
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
- Qe("Data must be an object, but it was:", s, r);
4137
- const i = [], o = Qt.empty();
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 = Ye(n, t, e);
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 Fe)
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 = Me(r, c);
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 Pe(o, u, s.fieldTransforms);
4162
+ return new Re(o, u, s.fieldTransforms);
4153
4163
  }
4154
4164
 
4155
- /** Parse update data from a list of field/value arguments. */ function Ue(t, n, e, r, s, i) {
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 = Qt.empty();
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 (!Ke(a, u[t])) {
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 Fe)
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 = Me(e, r);
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 Pe(h, f, o.fieldTransforms);
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 je(t, n, e, r = !1) {
4187
- return Me(e, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , n));
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 Me(t, n) {
4199
- if (ze(
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 Qe("Unsupported field value:", n, t), Be(t, n);
4203
- if (t instanceof Te)
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 (!Ve(n.tt)) throw n.ut(`${t._methodName}() can only be used with update() and set()`);
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 = Me(s, n.ot(r));
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 Ie) return {
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 Ee) return {
4302
+ if (t instanceof be) return {
4293
4303
  bytesValue: xn(n.q, t._byteString)
4294
4304
  };
4295
- if (t instanceof fe) {
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 Be(t, n) {
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 = Me(r, n.et(t));
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 ze(t) {
4332
- return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof vt || t instanceof Ie || t instanceof Ee || t instanceof fe || t instanceof Te);
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 Qe(t, n, e) {
4336
- if (!ze(e) || !function(t) {
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 ve) return n._internalPath;
4351
- if ("string" == typeof n) return Ye(t, n);
4352
- throw He("Field path arguments must be of type string or ", t,
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 We = new RegExp("[~\\*/\\[\\]]");
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 Ye(t, n, e) {
4370
- if (n.search(We) >= 0) throw He(`Invalid field path (${n}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
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 ve(...n.split("."))._internalPath;
4384
+ return new ge(...n.split("."))._internalPath;
4375
4385
  } catch (r) {
4376
- throw He(`Invalid field path (${n}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
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 He(t, n, e, r, s) {
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 Ke(t, n) {
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 Je {
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 fe(this._firestore, this._converter, this._key);
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 Xe(this._firestore, this._userDataWriter, this._key, this._document,
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(nr("DocumentSnapshot.get", t));
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 Xe extends Je {
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 Ze {
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 tr(t, n) {
4541
- return t = l(t), n = l(n), t instanceof Je && n instanceof Je ? 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 Ze && n instanceof Ze && (ge(t.query, n.query) && gt(t.docs, n.docs, tr));
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 nr(t, n) {
4547
- return "string" == typeof n ? Ye(t, n) : n instanceof ve ? n._internalPath : n._delegate._internalPath;
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 er {}
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 rr(t, ...n) {
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 sr extends er {
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 = $e(t.firestore), e = function(t, n, e, r, s, i, o) {
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
- gr(o, i);
4609
+ _r(o, i);
4600
4610
  const n = [];
4601
- for (const e of o) n.push(_r(r, t, e));
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 = _r(r, t, o);
4608
- } else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i || gr(o, i),
4609
- u = je(e, n, o,
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 && vr(t, n.field, 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 de(t.firestore, t.converter, function(t, n) {
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
  * "&lt;=", "!=").
4676
4686
  * @param value - The value for comparison
4677
4687
  * @returns The created {@link Query}.
4678
- */ function ir(t, n, e) {
4679
- const r = n, s = nr("where", t);
4680
- return new sr(s, r, e);
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 or extends er {
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 && vr(t, e, n.field);
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 de(t.firestore, t.converter, function(t, n) {
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 ur(t, n = "asc") {
4728
- const e = n, r = nr("orderBy", t);
4729
- return new or(r, e);
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 cr extends er {
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 de(t.firestore, t.converter, function(t, n, e) {
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 ar(t) {
4749
- return ct("limit", t), new cr("limit", t, "F" /* First */);
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 hr(t) {
4761
- return ct("limitToLast", t), new cr("limitToLast", t, "L" /* Last */);
4770
+ */ function ar(t) {
4771
+ return ct("limitToLast", t), new ur("limitToLast", t, "L" /* Last */);
4762
4772
  }
4763
4773
 
4764
- class lr extends er {
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 = yr(t, this.type, this.bt, this.Et);
4770
- return new de(t.firestore, t.converter, function(t, n) {
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 fr(...t) {
4777
- return new lr("startAt", t, /*before=*/ !0);
4786
+ function lr(...t) {
4787
+ return new hr("startAt", t,
4788
+ /*inclusive=*/ !0);
4778
4789
  }
4779
4790
 
4780
- function dr(...t) {
4781
- return new lr("startAfter", t,
4782
- /*before=*/ !1);
4791
+ function fr(...t) {
4792
+ return new hr("startAfter", t,
4793
+ /*inclusive=*/ !1);
4783
4794
  }
4784
4795
 
4785
- class wr extends er {
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 = yr(t, this.type, this.bt, this.Et);
4791
- return new de(t.firestore, t.converter, function(t, n) {
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 mr(...t) {
4798
- return new wr("endBefore", t, /*before=*/ !0);
4808
+ function wr(...t) {
4809
+ return new dr("endBefore", t,
4810
+ /*inclusive=*/ !1);
4799
4811
  }
4800
4812
 
4801
- function pr(...t) {
4802
- return new wr("endAt", t, /*before=*/ !1);
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 yr(t, n, e, r) {
4806
- if (e[0] = l(e[0]), e[0] instanceof Je) return function(t, n, e, r, s) {
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 = $e(t.firestore);
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 = je(e, r, c);
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 _r(t, n, e) {
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 fe) return kt(t, e._key);
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 gr(t, n) {
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 vr(t, n, e) {
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 br(t, n, e) {
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 Er extends 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 Ie(Nt(t.latitude), Nt(t.longitude));
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(Jn(e));
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 Ee(t);
5036
+ return new be(t);
5025
5037
  }
5026
5038
  convertReference(t) {
5027
5039
  const n = this.convertDocumentKey(t, this.firestore._databaseId);
5028
- return new fe(this.firestore, /* converter= */ null, n);
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 Tr(t) {
5045
- const n = ie((t = ut(t, fe)).firestore), e = new Er(t.firestore);
5046
- return ee(n, [ t._key ]).then((n => {
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 Je(t.firestore, e, t._key, r.isFoundDocument() ? r : null, t.converter);
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 Ir(t) {
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, de))._query);
5068
- const n = ie(t.firestore), e = new Er(t.firestore);
5069
- return re(n, t._query).then((n => {
5070
- const r = n.map((n => new Xe(t.firestore, e, n.key, n, t.converter)));
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 Ze(t, r);
5087
+ r.reverse(), new Xe(t, r);
5076
5088
  }));
5077
5089
  }
5078
5090
 
5079
- function Ar(t, n, e) {
5080
- const r = br((t = ut(t, fe)).converter, n, e), s = Se($e(t.firestore), "setDoc", t._key, r, null !== t.converter, e);
5081
- return ne(ie(t.firestore), [ s.toMutation(t._key, In.none()) ]);
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 Rr(t, n, e, ...r) {
5085
- const s = $e((t = ut(t, fe)).firestore);
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 ve ? Ue(s, "updateDoc", t._key, n, e, r) : ke(s, "updateDoc", t._key, n);
5090
- return ne(ie(t.firestore), [ i.toMutation(t._key, In.exists(!0)) ]);
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 Pr(t) {
5105
- return ne(ie((t = ut(t, fe)).firestore), [ new Vn(t._key, In.none()) ]);
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 Vr(t, n) {
5123
- const e = ye(t = ut(t, we)), r = br(t.converter, n), s = Se($e(t.firestore), "addDoc", e._key, r, null !== e.converter, {});
5124
- return ne(ie(t.firestore), [ s.toMutation(e._key, In.exists(!1)) ]).then((() => e));
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 Nr() {
5147
- return new Fe("deleteField");
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 Dr() {
5154
- return new qe("serverTimestamp");
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 $r(...t) {
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 Oe("arrayUnion", t);
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 Sr(...t) {
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 Ce("arrayRemove", t);
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 Fr(t) {
5209
- return new Le("increment", t);
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 xr {
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 = $e(t);
5251
+ this._dataReader = De(t);
5240
5252
  }
5241
5253
  set(t, n, e) {
5242
5254
  this._verifyNotCommitted();
5243
- const r = qr(t, this._firestore), s = br(r.converter, n, e), i = Se(this._dataReader, "WriteBatch.set", r._key, s, null !== r.converter, e);
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 = qr(t, this._firestore);
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 ve ? Ue(this._dataReader, "WriteBatch.update", s._key, n, e, r) : ke(this._dataReader, "WriteBatch.update", s._key, n),
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 = qr(t, this._firestore);
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 qr(t, n) {
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 Or(t) {
5302
- const n = ie(t = ut(t, ue));
5303
- return new xr(t, (t => ne(n, t)));
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 Cr {
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 ee(this.datastore, t);
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 ne(this.datastore, this.mutations), this.committed = !0;
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 Lr {
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 Zn(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
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 Cr(this.datastore), n = this.Rt(t);
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 kr() {
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 Ur {
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 Ur(t, n, i, r, s);
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 jr {
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 Zn(this, "async_queue_retry" /* AsyncQueueRetry */),
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 = kr();
5692
+ const t = Lr();
5681
5693
  t && p("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.It.H();
5682
5694
  };
5683
- const t = kr();
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 = kr();
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 = Ur.createAndSchedule(this, t, n, e, (t => this.jt(t)));
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
- */ Qt(t) {
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 Mr {
5902
+ class jr {
5891
5903
  /** @hideconstructor */
5892
5904
  constructor(t, n) {
5893
- this._firestore = t, this._transaction = n, this._dataReader = $e(t);
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 = qr(t, this._firestore), e = new Er(this._firestore);
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 Je(this._firestore, e, r.key, r, n.converter);
5906
- if (r.isNoDocument()) return new Je(this._firestore, e, n._key, null, n.converter);
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 = qr(t, this._firestore), s = br(r.converter, n, e), i = Se(this._dataReader, "Transaction.set", r._key, s, null !== r.converter, e);
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 = qr(t, this._firestore);
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 ve ? Ue(this._dataReader, "Transaction.update", s._key, n, e, r) : ke(this._dataReader, "Transaction.update", s._key, n),
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 = qr(t, this._firestore);
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 Br(t, n) {
5950
- const e = ie(t = ut(t, ue)), r = new j;
5951
- return new Lr(new jr, e, (e => n(new Mr(t, e))), r).run(), r.promise;
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 ue(e, new Q(t.getProvider("auth-internal")), new H(t.getProvider("app-check-internal")));
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.2dd99ae2d", "rn"), r("firestore-lite", "3.4.4-canary.2dd99ae2d", "esm2017");
5980
+ r("firestore-lite", "3.4.4-canary.307d019c7", "rn"), r("firestore-lite", "3.4.4-canary.307d019c7", "esm2017");
5969
5981
 
5970
- export { Ee as Bytes, we as CollectionReference, fe as DocumentReference, Je as DocumentSnapshot, ve as FieldPath, Te as FieldValue, ue as Firestore, U as FirestoreError, Ie as GeoPoint, de as Query, er as QueryConstraint, Xe as QueryDocumentSnapshot, Ze as QuerySnapshot, vt as Timestamp, Mr as Transaction, xr as WriteBatch, Vr as addDoc, Sr as arrayRemove, $r as arrayUnion, me as collection, pe as collectionGroup, he as connectFirestoreEmulator, Pr as deleteDoc, Nr as deleteField, ye as doc, be as documentId, pr as endAt, mr as endBefore, Tr as getDoc, Ir as getDocs, ae as getFirestore, Fr as increment, ce as initializeFirestore, ar as limit, hr as limitToLast, ur as orderBy, rr as query, ge as queryEqual, _e as refEqual, Br as runTransaction, Dr as serverTimestamp, Ar as setDoc, m as setLogLevel, tr as snapshotEqual, dr as startAfter, fr as startAt, le as terminate, Rr as updateDoc, ir as where, Or as writeBatch };
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