@firebase/firestore 3.4.4-canary.b02927e2e → 3.4.4-canary.e8972ef49

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 (55) hide show
  1. package/dist/firestore/src/core/target.d.ts +8 -4
  2. package/dist/firestore/src/lite-api/query.d.ts +2 -2
  3. package/dist/firestore/src/local/index_manager.d.ts +52 -0
  4. package/dist/firestore/src/local/indexeddb_index_manager.d.ts +11 -0
  5. package/dist/firestore/src/local/indexeddb_schema.d.ts +121 -7
  6. package/dist/firestore/src/local/memory_index_manager.d.ts +11 -0
  7. package/dist/firestore/test/util/helpers.d.ts +1 -1
  8. package/dist/index.esm2017.js +2501 -2348
  9. package/dist/index.esm2017.js.map +1 -1
  10. package/dist/index.esm5.js +3212 -3112
  11. package/dist/index.esm5.js.map +1 -1
  12. package/dist/index.node.cjs.js +263 -90
  13. package/dist/index.node.cjs.js.map +1 -1
  14. package/dist/index.node.mjs +263 -90
  15. package/dist/index.node.mjs.map +1 -1
  16. package/dist/index.rn.js +2548 -2391
  17. package/dist/index.rn.js.map +1 -1
  18. package/dist/internal.d.ts +170 -2
  19. package/dist/lite/firestore/src/core/target.d.ts +8 -4
  20. package/dist/lite/firestore/src/lite-api/query.d.ts +2 -2
  21. package/dist/lite/firestore/src/local/index_manager.d.ts +52 -0
  22. package/dist/lite/firestore/src/local/indexeddb_index_manager.d.ts +11 -0
  23. package/dist/lite/firestore/src/local/indexeddb_schema.d.ts +121 -7
  24. package/dist/lite/firestore/src/local/memory_index_manager.d.ts +11 -0
  25. package/dist/lite/firestore/test/util/helpers.d.ts +1 -1
  26. package/dist/lite/index.browser.esm2017.js +346 -343
  27. package/dist/lite/index.browser.esm2017.js.map +1 -1
  28. package/dist/lite/index.browser.esm5.js +331 -330
  29. package/dist/lite/index.browser.esm5.js.map +1 -1
  30. package/dist/lite/index.node.cjs.js +36 -29
  31. package/dist/lite/index.node.cjs.js.map +1 -1
  32. package/dist/lite/index.node.mjs +36 -29
  33. package/dist/lite/index.node.mjs.map +1 -1
  34. package/dist/lite/index.rn.esm2017.js +357 -354
  35. package/dist/lite/index.rn.esm2017.js.map +1 -1
  36. package/dist/lite/internal.d.ts +2 -2
  37. package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +97 -97
  38. package/dist/lite/packages/firestore/src/core/target.d.ts +8 -4
  39. package/dist/lite/packages/firestore/src/lite-api/query.d.ts +2 -2
  40. package/dist/lite/packages/firestore/src/local/index_manager.d.ts +52 -0
  41. package/dist/lite/packages/firestore/src/local/indexeddb_index_manager.d.ts +11 -0
  42. package/dist/lite/packages/firestore/src/local/indexeddb_schema.d.ts +121 -7
  43. package/dist/lite/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
  44. package/dist/lite/packages/firestore/test/util/helpers.d.ts +1 -1
  45. package/dist/lite/private.d.ts +2 -2
  46. package/dist/packages/firestore/dist/index.esm2017.d.ts +79 -79
  47. package/dist/packages/firestore/src/core/target.d.ts +8 -4
  48. package/dist/packages/firestore/src/lite-api/query.d.ts +2 -2
  49. package/dist/packages/firestore/src/local/index_manager.d.ts +52 -0
  50. package/dist/packages/firestore/src/local/indexeddb_index_manager.d.ts +11 -0
  51. package/dist/packages/firestore/src/local/indexeddb_schema.d.ts +121 -7
  52. package/dist/packages/firestore/src/local/memory_index_manager.d.ts +11 -0
  53. package/dist/packages/firestore/test/util/helpers.d.ts +1 -1
  54. package/dist/private.d.ts +170 -2
  55. package/package.json +9 -9
@@ -63,7 +63,7 @@ l.MOCK_USER = new l("mock-user");
63
63
  * See the License for the specific language governing permissions and
64
64
  * limitations under the License.
65
65
  */
66
- let f = "9.6.5-canary.b02927e2e";
66
+ let f = "9.6.5-canary.e8972ef49";
67
67
 
68
68
  /**
69
69
  * @license
@@ -190,14 +190,14 @@ function p(t, ...e) {
190
190
  * given message if it did.
191
191
  *
192
192
  * Messages are stripped in production builds.
193
- */ function b(t, e) {
193
+ */ function v(t, e) {
194
194
  t || g();
195
195
  }
196
196
 
197
197
  /**
198
198
  * Casts `obj` to `T`. In non-production builds, verifies that `obj` is an
199
199
  * instance of `T` before casting.
200
- */ function v(t,
200
+ */ function b(t,
201
201
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
202
  e) {
203
203
  return t;
@@ -332,7 +332,7 @@ e) {
332
332
  }));
333
333
  }
334
334
  getToken() {
335
- return this.auth ? this.auth.getToken().then((t => t ? (b("string" == typeof t.accessToken),
335
+ return this.auth ? this.auth.getToken().then((t => t ? (v("string" == typeof t.accessToken),
336
336
  new j(t.accessToken, new l(this.auth.getUid()))) : null)) : Promise.resolve(null);
337
337
  }
338
338
  invalidateToken() {}
@@ -386,7 +386,7 @@ class W {
386
386
  }));
387
387
  }
388
388
  getToken() {
389
- return this.appCheck ? this.appCheck.getToken().then((t => t ? (b("string" == typeof t.token),
389
+ return this.appCheck ? this.appCheck.getToken().then((t => t ? (v("string" == typeof t.token),
390
390
  new W(t.token)) : null)) : Promise.resolve(null);
391
391
  }
392
392
  invalidateToken() {}
@@ -1311,15 +1311,15 @@ class gt {
1311
1311
  /**
1312
1312
  * A version of a document in Firestore. This corresponds to the version
1313
1313
  * timestamp, such as update_time or read_time.
1314
- */ class bt {
1314
+ */ class vt {
1315
1315
  constructor(t) {
1316
1316
  this.timestamp = t;
1317
1317
  }
1318
1318
  static fromTimestamp(t) {
1319
- return new bt(t);
1319
+ return new vt(t);
1320
1320
  }
1321
1321
  static min() {
1322
- return new bt(new gt(0, 0));
1322
+ return new vt(new gt(0, 0));
1323
1323
  }
1324
1324
  compareTo(t) {
1325
1325
  return this.timestamp._compareTo(t.timestamp);
@@ -1354,7 +1354,7 @@ class gt {
1354
1354
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1355
1355
  * See the License for the specific language governing permissions and
1356
1356
  * limitations under the License.
1357
- */ function vt(t) {
1357
+ */ function bt(t) {
1358
1358
  let e = 0;
1359
1359
  for (const n in t) Object.prototype.hasOwnProperty.call(t, n) && e++;
1360
1360
  return e;
@@ -1540,13 +1540,13 @@ const At = new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);
1540
1540
  // The json interface (for the browser) will return an iso timestamp string,
1541
1541
  // while the proto js library (for node) will return a
1542
1542
  // google.protobuf.Timestamp instance.
1543
- if (b(!!t), "string" == typeof t) {
1543
+ if (v(!!t), "string" == typeof t) {
1544
1544
  // The date string can have higher precision (nanos) than the Date class
1545
1545
  // (millis), so we do some custom parsing here.
1546
1546
  // Parse the nanos right out of the string.
1547
1547
  let e = 0;
1548
1548
  const n = At.exec(t);
1549
- if (b(!!n), n[1]) {
1549
+ if (v(!!n), n[1]) {
1550
1550
  // Pad the fraction out to 9 digits (nanos).
1551
1551
  let t = n[1];
1552
1552
  t = (t + "000000000").substr(0, 9), e = Number(t);
@@ -1706,7 +1706,7 @@ const At = new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);
1706
1706
  case 10 /* ObjectValue */ :
1707
1707
  return function(t, e) {
1708
1708
  const n = t.mapValue.fields || {}, r = e.mapValue.fields || {};
1709
- if (vt(n) !== vt(r)) return !1;
1709
+ if (bt(n) !== bt(r)) return !1;
1710
1710
  for (const t in n) if (n.hasOwnProperty(t) && (void 0 === r[t] || !Ft(n[t], r[t]))) return !1;
1711
1711
  return !0;
1712
1712
  }
@@ -2003,23 +2003,23 @@ function Ct(t, e) {
2003
2003
  * Creates a document with no known version or data, but which can serve as
2004
2004
  * base document for mutations.
2005
2005
  */ static newInvalidDocument(t) {
2006
- return new zt(t, 0 /* INVALID */ , bt.min(), bt.min(), Bt.empty(), 0 /* SYNCED */);
2006
+ return new zt(t, 0 /* INVALID */ , vt.min(), vt.min(), Bt.empty(), 0 /* SYNCED */);
2007
2007
  }
2008
2008
  /**
2009
2009
  * Creates a new document that is known to exist with the given data at the
2010
2010
  * given version.
2011
2011
  */ static newFoundDocument(t, e, n) {
2012
- return new zt(t, 1 /* FOUND_DOCUMENT */ , e, bt.min(), n, 0 /* SYNCED */);
2012
+ return new zt(t, 1 /* FOUND_DOCUMENT */ , e, vt.min(), n, 0 /* SYNCED */);
2013
2013
  }
2014
2014
  /** Creates a new document that is known to not exist at the given version. */ static newNoDocument(t, e) {
2015
- return new zt(t, 2 /* NO_DOCUMENT */ , e, bt.min(), Bt.empty(), 0 /* SYNCED */);
2015
+ return new zt(t, 2 /* NO_DOCUMENT */ , e, vt.min(), Bt.empty(), 0 /* SYNCED */);
2016
2016
  }
2017
2017
  /**
2018
2018
  * Creates a new document that is known to exist at the given version but
2019
2019
  * whose data is not known (e.g. a document that was updated without a known
2020
2020
  * base document).
2021
2021
  */ static newUnknownDocument(t, e) {
2022
- return new zt(t, 3 /* UNKNOWN_DOCUMENT */ , e, bt.min(), Bt.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
2022
+ return new zt(t, 3 /* UNKNOWN_DOCUMENT */ , e, vt.min(), Bt.empty(), 2 /* HAS_COMMITTED_MUTATIONS */);
2023
2023
  }
2024
2024
  /**
2025
2025
  * Changes the document type to indicate that it exists and that its version
@@ -2243,7 +2243,6 @@ function Jt(t, e) {
2243
2243
  }
2244
2244
  }
2245
2245
 
2246
- // TODO(indexing): Change Bound.before to "inclusive"
2247
2246
  /**
2248
2247
  * Represents a bound of a query.
2249
2248
  *
@@ -2259,7 +2258,7 @@ function Jt(t, e) {
2259
2258
  * just after the provided values.
2260
2259
  */ class ne {
2261
2260
  constructor(t, e) {
2262
- this.position = t, this.before = e;
2261
+ this.position = t, this.inclusive = e;
2263
2262
  }
2264
2263
  }
2265
2264
 
@@ -2278,7 +2277,7 @@ function se(t, e) {
2278
2277
  function ie(t, e) {
2279
2278
  if (null === t) return null === e;
2280
2279
  if (null === e) return !1;
2281
- if (t.before !== e.before || t.position.length !== e.position.length) return !1;
2280
+ if (t.inclusive !== e.inclusive || t.position.length !== e.position.length) return !1;
2282
2281
  for (let n = 0; n < t.position.length; n++) {
2283
2282
  if (!Ft(t.position[n], e.position[n])) return !1;
2284
2283
  }
@@ -2350,7 +2349,7 @@ function he(t) {
2350
2349
  * which can be different from the order by constraints the user provided (e.g.
2351
2350
  * the SDK and backend always orders by `__name__`).
2352
2351
  */ function le(t) {
2353
- const e = v(t);
2352
+ const e = b(t);
2354
2353
  if (null === e.$) {
2355
2354
  e.$ = [];
2356
2355
  const t = ae(e), n = ce(e);
@@ -2375,7 +2374,7 @@ function he(t) {
2375
2374
  /**
2376
2375
  * Converts this `Query` instance to it's corresponding `Target` representation.
2377
2376
  */ function fe(t) {
2378
- const e = v(t);
2377
+ const e = b(t);
2379
2378
  if (!e.S) if ("F" /* First */ === e.limitType) e.S = Qt(e.path, e.collectionGroup, le(e), e.filters, e.limit, e.startAt, e.endAt); else {
2380
2379
  // Flip the orderBy directions since we want the last results
2381
2380
  const t = [];
@@ -2384,7 +2383,7 @@ function he(t) {
2384
2383
  t.push(new re(n.field, e));
2385
2384
  }
2386
2385
  // We need to swap the cursors to match the now-flipped query ordering.
2387
- const n = e.endAt ? new ne(e.endAt.position, !e.endAt.before) : null, r = e.startAt ? new ne(e.startAt.position, !e.startAt.before) : null;
2386
+ const n = e.endAt ? new ne(e.endAt.position, !e.endAt.inclusive) : null, r = e.startAt ? new ne(e.startAt.position, !e.startAt.inclusive) : null;
2388
2387
  // Now return as a LimitType.First query.
2389
2388
  e.S = Qt(e.path, e.collectionGroup, t, e.filters, e.limit, n, r);
2390
2389
  }
@@ -2523,7 +2522,7 @@ function we(t, e) {
2523
2522
  * See the License for the specific language governing permissions and
2524
2523
  * limitations under the License.
2525
2524
  */
2526
- /** A field path and the TransformOperation to perform upon it. */ class be {
2525
+ /** A field path and the TransformOperation to perform upon it. */ class ve {
2527
2526
  constructor(t, e) {
2528
2527
  this.field = t, this.transform = e;
2529
2528
  }
@@ -2533,18 +2532,18 @@ function we(t, e) {
2533
2532
  * Encodes a precondition for a mutation. This follows the model that the
2534
2533
  * backend accepts with the special case of an explicit "empty" precondition
2535
2534
  * (meaning no precondition).
2536
- */ class ve {
2535
+ */ class be {
2537
2536
  constructor(t, e) {
2538
2537
  this.updateTime = t, this.exists = e;
2539
2538
  }
2540
2539
  /** Creates a new empty Precondition. */ static none() {
2541
- return new ve;
2540
+ return new be;
2542
2541
  }
2543
2542
  /** Creates a new Precondition with an exists flag. */ static exists(t) {
2544
- return new ve(void 0, t);
2543
+ return new be(void 0, t);
2545
2544
  }
2546
2545
  /** Creates a new Precondition based on a version a document exists at. */ static updateTime(t) {
2547
- return new ve(t);
2546
+ return new be(t);
2548
2547
  }
2549
2548
  /** Returns whether this Precondition is empty. */ get isNone() {
2550
2549
  return void 0 === this.updateTime && void 0 === this.exists;
@@ -2738,7 +2737,7 @@ function Se(t, e) {
2738
2737
  }
2739
2738
 
2740
2739
  function Fe(t) {
2741
- return b(!!t), bt.fromTimestamp(function(t) {
2740
+ return v(!!t), vt.fromTimestamp(function(t) {
2742
2741
  const e = Rt(t);
2743
2742
  return new gt(e.seconds, e.nanos);
2744
2743
  }(t));
@@ -2757,11 +2756,11 @@ function qe(t, e) {
2757
2756
  function Oe(t, e) {
2758
2757
  const n = function(t) {
2759
2758
  const e = X.fromString(t);
2760
- return b(Ye(e)), e;
2759
+ return v(We(e)), e;
2761
2760
  }(e);
2762
2761
  if (n.get(1) !== t.databaseId.projectId) throw new U(A, "Tried to deserialize key from different project: " + n.get(1) + " vs " + t.databaseId.projectId);
2763
2762
  if (n.get(3) !== t.databaseId.database) throw new U(A, "Tried to deserialize key from different database: " + n.get(3) + " vs " + t.databaseId.database);
2764
- return new et((b((r = n).length > 4 && "documents" === r.get(4)), r.popFirst(5)));
2763
+ return new et((v((r = n).length > 4 && "documents" === r.get(4)), r.popFirst(5)));
2765
2764
  var r;
2766
2765
  /** Creates a Document proto from key and fields (but no create/update time) */}
2767
2766
 
@@ -2782,7 +2781,7 @@ function Ue(t, e, n) {
2782
2781
 
2783
2782
  function ke(t, e) {
2784
2783
  return "found" in e ? function(t, e) {
2785
- b(!!e.found), e.found.name, e.found.updateTime;
2784
+ v(!!e.found), e.found.name, e.found.updateTime;
2786
2785
  const n = Oe(t, e.found.name), r = Fe(e.found.updateTime), s = new Bt({
2787
2786
  mapValue: {
2788
2787
  fields: e.found.fields
@@ -2790,7 +2789,7 @@ function ke(t, e) {
2790
2789
  });
2791
2790
  return zt.newFoundDocument(n, r, s);
2792
2791
  }(t, e) : "missing" in e ? function(t, e) {
2793
- b(!!e.missing), b(!!e.readTime);
2792
+ v(!!e.missing), v(!!e.readTime);
2794
2793
  const n = Oe(t, e.missing), r = Fe(e.readTime);
2795
2794
  return zt.newNoDocument(n, r);
2796
2795
  }(t, e) : g();
@@ -2804,7 +2803,7 @@ function je(t, e) {
2804
2803
  delete: qe(t, e.key)
2805
2804
  }; else if (e instanceof Ie) n = {
2806
2805
  update: Ue(t, e.key, e.data),
2807
- updateMask: We(e.fieldMask)
2806
+ updateMask: Qe(e.fieldMask)
2808
2807
  }; else {
2809
2808
  if (!(e instanceof Re)) return g();
2810
2809
  n = {
@@ -2862,34 +2861,34 @@ function Me(t, e) {
2862
2861
  if ("==" /* EQUAL */ === t.op) {
2863
2862
  if (kt(t.value)) return {
2864
2863
  unaryFilter: {
2865
- field: Qe(t.field),
2864
+ field: Ge(t.field),
2866
2865
  op: "IS_NAN"
2867
2866
  }
2868
2867
  };
2869
2868
  if (Ut(t.value)) return {
2870
2869
  unaryFilter: {
2871
- field: Qe(t.field),
2870
+ field: Ge(t.field),
2872
2871
  op: "IS_NULL"
2873
2872
  }
2874
2873
  };
2875
2874
  } else if ("!=" /* NOT_EQUAL */ === t.op) {
2876
2875
  if (kt(t.value)) return {
2877
2876
  unaryFilter: {
2878
- field: Qe(t.field),
2877
+ field: Ge(t.field),
2879
2878
  op: "IS_NOT_NAN"
2880
2879
  }
2881
2880
  };
2882
2881
  if (Ut(t.value)) return {
2883
2882
  unaryFilter: {
2884
- field: Qe(t.field),
2883
+ field: Ge(t.field),
2885
2884
  op: "IS_NOT_NULL"
2886
2885
  }
2887
2886
  };
2888
2887
  }
2889
2888
  return {
2890
2889
  fieldFilter: {
2891
- field: Qe(t.field),
2892
- op: Ge(t.op),
2890
+ field: Ge(t.field),
2891
+ op: ze(t.op),
2893
2892
  value: t.value
2894
2893
  }
2895
2894
  };
@@ -2909,8 +2908,8 @@ function Me(t, e) {
2909
2908
  // visible for testing
2910
2909
  function(t) {
2911
2910
  return {
2912
- field: Qe(t.field),
2913
- direction: ze(t.dir)
2911
+ field: Ge(t.field),
2912
+ direction: Be(t.dir)
2914
2913
  };
2915
2914
  }(t)));
2916
2915
  }(e.orderBy);
@@ -2920,41 +2919,43 @@ function Me(t, e) {
2920
2919
  value: e
2921
2920
  };
2922
2921
  }(t, e.limit);
2923
- return null !== o && (n.structuredQuery.limit = o), e.startAt && (n.structuredQuery.startAt = Be(e.startAt)),
2924
- e.endAt && (n.structuredQuery.endAt = Be(e.endAt)), n;
2922
+ var u;
2923
+ return null !== o && (n.structuredQuery.limit = o), e.startAt && (n.structuredQuery.startAt = {
2924
+ before: (u = e.startAt).inclusive,
2925
+ values: u.position
2926
+ }), e.endAt && (n.structuredQuery.endAt = function(t) {
2927
+ return {
2928
+ before: !t.inclusive,
2929
+ values: t.position
2930
+ };
2931
+ }
2932
+ // visible for testing
2933
+ (e.endAt)), n;
2925
2934
  }
2926
2935
 
2927
2936
  function Be(t) {
2928
- return {
2929
- before: t.before,
2930
- values: t.position
2931
- };
2932
- }
2933
-
2934
- // visible for testing
2935
- function ze(t) {
2936
2937
  return Pe[t];
2937
2938
  }
2938
2939
 
2939
2940
  // visible for testing
2940
- function Ge(t) {
2941
+ function ze(t) {
2941
2942
  return Ve[t];
2942
2943
  }
2943
2944
 
2944
- function Qe(t) {
2945
+ function Ge(t) {
2945
2946
  return {
2946
2947
  fieldPath: t.canonicalString()
2947
2948
  };
2948
2949
  }
2949
2950
 
2950
- function We(t) {
2951
+ function Qe(t) {
2951
2952
  const e = [];
2952
2953
  return t.fields.forEach((t => e.push(t.canonicalString()))), {
2953
2954
  fieldPaths: e
2954
2955
  };
2955
2956
  }
2956
2957
 
2957
- function Ye(t) {
2958
+ function We(t) {
2958
2959
  // Resource names have at least 4 components (project ID, database ID)
2959
2960
  return t.length >= 4 && "projects" === t.get(0) && "databases" === t.get(2);
2960
2961
  }
@@ -2974,7 +2975,7 @@ function Ye(t) {
2974
2975
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2975
2976
  * See the License for the specific language governing permissions and
2976
2977
  * limitations under the License.
2977
- */ function He(t) {
2978
+ */ function Ye(t) {
2978
2979
  return new De(t, /* useProto3Json= */ !0);
2979
2980
  }
2980
2981
 
@@ -3003,7 +3004,7 @@ function Ye(t) {
3003
3004
  * base delay. This prevents clients from accidentally synchronizing their
3004
3005
  * delays causing spikes of load to the backend.
3005
3006
  */
3006
- class Ke {
3007
+ class He {
3007
3008
  constructor(
3008
3009
  /**
3009
3010
  * The AsyncQueue to run backoff operations on.
@@ -3101,7 +3102,7 @@ class Ke {
3101
3102
  * An implementation of Datastore that exposes additional state for internal
3102
3103
  * consumption.
3103
3104
  */
3104
- class Je extends class {} {
3105
+ class Ke extends class {} {
3105
3106
  constructor(t, e, n, r) {
3106
3107
  super(), this.authCredentials = t, this.appCheckCredentials = e, this.K = n, this.q = r,
3107
3108
  this.J = !1;
@@ -3128,15 +3129,15 @@ class Je extends class {} {
3128
3129
 
3129
3130
  // TODO(firestorexp): Make sure there is only one Datastore instance per
3130
3131
  // firestore-exp client.
3131
- async function Xe(t, e) {
3132
- const n = v(t), r = Le(n.q) + "/documents", s = {
3132
+ async function Je(t, e) {
3133
+ const n = b(t), r = Le(n.q) + "/documents", s = {
3133
3134
  writes: e.map((t => je(n.q, t)))
3134
3135
  };
3135
3136
  await n.m("Commit", r, s);
3136
3137
  }
3137
3138
 
3138
- async function Ze(t, e) {
3139
- const n = v(t), r = Le(n.q) + "/documents", s = {
3139
+ async function Xe(t, e) {
3140
+ const n = b(t), r = Le(n.q) + "/documents", s = {
3140
3141
  documents: e.map((t => qe(n.q, t)))
3141
3142
  }, i = await n.T("BatchGetDocuments", r, s), o = new Map;
3142
3143
  i.forEach((t => {
@@ -3146,12 +3147,12 @@ async function Ze(t, e) {
3146
3147
  const u = [];
3147
3148
  return e.forEach((t => {
3148
3149
  const e = o.get(t.toString());
3149
- b(!!e), u.push(e);
3150
+ v(!!e), u.push(e);
3150
3151
  })), u;
3151
3152
  }
3152
3153
 
3153
- async function tn(t, e) {
3154
- const n = v(t), r = Me(n.q, fe(e));
3154
+ async function Ze(t, e) {
3155
+ const n = b(t), r = Me(n.q, fe(e));
3155
3156
  return (await n.T("RunQuery", r.parent, {
3156
3157
  structuredQuery: r.structuredQuery
3157
3158
  })).filter((t => !!t.document)).map((t => function(t, e, n) {
@@ -3179,7 +3180,7 @@ async function tn(t, e) {
3179
3180
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3180
3181
  * See the License for the specific language governing permissions and
3181
3182
  * limitations under the License.
3182
- */ const en = new Map;
3183
+ */ const tn = new Map;
3183
3184
 
3184
3185
  /**
3185
3186
  * An instance map that ensures only one Datastore exists per Firestore
@@ -3190,17 +3191,17 @@ async function tn(t, e) {
3190
3191
  * instance. Callers must invoke removeComponents() when the Firestore
3191
3192
  * instance is terminated.
3192
3193
  */
3193
- function nn(t) {
3194
+ function en(t) {
3194
3195
  if (t._terminated) throw new U(S, "The client has already been terminated.");
3195
- if (!en.has(t)) {
3196
+ if (!tn.has(t)) {
3196
3197
  m("ComponentProvider", "Initializing Datastore");
3197
3198
  const i = function(t) {
3198
3199
  return new wt(t, fetch.bind(null));
3199
3200
  }((e = t._databaseId, n = t.app.options.appId || "", r = t._persistenceKey, s = t._freezeSettings(),
3200
- new H(e, n, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o = He(t._databaseId), u = function(t, e, n, r) {
3201
- return new Je(t, e, n, r);
3201
+ new H(e, n, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o = Ye(t._databaseId), u = function(t, e, n, r) {
3202
+ return new Ke(t, e, n, r);
3202
3203
  }(t._authCredentials, t._appCheckCredentials, i, o);
3203
- en.set(t, u);
3204
+ tn.set(t, u);
3204
3205
  }
3205
3206
  var e, n, r, s;
3206
3207
  /**
@@ -3218,7 +3219,7 @@ function nn(t) {
3218
3219
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3219
3220
  * See the License for the specific language governing permissions and
3220
3221
  * limitations under the License.
3221
- */ return en.get(t);
3222
+ */ return tn.get(t);
3222
3223
  }
3223
3224
 
3224
3225
  /**
@@ -3230,7 +3231,7 @@ function nn(t) {
3230
3231
  * user-supplied `FirestoreSettings` object. This is a separate type so that
3231
3232
  * defaults can be supplied and the value can be checked for equality.
3232
3233
  */
3233
- class rn {
3234
+ class nn {
3234
3235
  constructor(t) {
3235
3236
  var e;
3236
3237
  if (void 0 === t.host) {
@@ -3272,14 +3273,14 @@ class rn {
3272
3273
  * The Cloud Firestore service interface.
3273
3274
  *
3274
3275
  * Do not call this constructor directly. Instead, use {@link getFirestore}.
3275
- */ class sn {
3276
+ */ class rn {
3276
3277
  /** @hideconstructor */
3277
3278
  constructor(t, e, n) {
3278
3279
  this._authCredentials = e, this._appCheckCredentials = n,
3279
3280
  /**
3280
3281
  * Whether it's a Firestore or Firestore Lite instance.
3281
3282
  */
3282
- this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new rn({}),
3283
+ this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new nn({}),
3283
3284
  this._settingsFrozen = !1, t instanceof K ? this._databaseId = t : (this._app = t,
3284
3285
  this._databaseId = function(t) {
3285
3286
  if (!Object.prototype.hasOwnProperty.apply(t.options, [ "projectId" ])) throw new U(A, '"projectId" not provided in firebase.initializeApp.');
@@ -3312,13 +3313,13 @@ class rn {
3312
3313
  }
3313
3314
  _setSettings(t) {
3314
3315
  if (this._settingsFrozen) throw new U(S, "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.");
3315
- this._settings = new rn(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
3316
+ this._settings = new nn(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
3316
3317
  if (!t) return new M;
3317
3318
  switch (t.type) {
3318
3319
  case "gapi":
3319
3320
  const e = t.client;
3320
3321
  // Make sure this really is a Gapi client.
3321
- return b(!("object" != typeof e || null === e || !e.auth || !e.auth.getAuthHeaderValueForFirstParty)),
3322
+ return v(!("object" != typeof e || null === e || !e.auth || !e.auth.getAuthHeaderValueForFirstParty)),
3322
3323
  new Q(e, t.sessionIndex || "0", t.iamToken || null);
3323
3324
 
3324
3325
  case "provider":
@@ -3353,13 +3354,13 @@ class rn {
3353
3354
  * Only ever called once.
3354
3355
  */ _terminate() {
3355
3356
  return function(t) {
3356
- const e = en.get(t);
3357
- e && (m("ComponentProvider", "Removing Datastore"), en.delete(t), e.terminate());
3357
+ const e = tn.get(t);
3358
+ e && (m("ComponentProvider", "Removing Datastore"), tn.delete(t), e.terminate());
3358
3359
  }(this), Promise.resolve();
3359
3360
  }
3360
3361
  }
3361
3362
 
3362
- function on(t, e) {
3363
+ function sn(t, e) {
3363
3364
  const n = _getProvider(t, "firestore/lite");
3364
3365
  if (n.isInitialized()) throw new U(S, "Firestore can only be initialized once per app.");
3365
3366
  return n.initialize({
@@ -3375,7 +3376,7 @@ function on(t, e) {
3375
3376
  * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned `Firestore`
3376
3377
  * instance is associated with.
3377
3378
  * @returns The `Firestore` instance of the provided app.
3378
- */ function un(e = getApp()) {
3379
+ */ function on(e = getApp()) {
3379
3380
  return _getProvider(e, "firestore/lite").getImmediate();
3380
3381
  }
3381
3382
 
@@ -3391,9 +3392,9 @@ function on(t, e) {
3391
3392
  * @param port - the emulator port (ex: 9000).
3392
3393
  * @param options.mockUserToken - the mock auth token to use for unit testing
3393
3394
  * Security Rules.
3394
- */ function cn(t, e, n, r = {}) {
3395
+ */ function un(t, e, n, r = {}) {
3395
3396
  var s;
3396
- const i = (t = ot(t, sn))._getSettings();
3397
+ const i = (t = ot(t, rn))._getSettings();
3397
3398
  if ("firestore.googleapis.com" !== i.host && i.host !== e && y("Host has been set in both settings() and useEmulator(), emulator host will be used"),
3398
3399
  t._setSettings(Object.assign(Object.assign({}, i), {
3399
3400
  host: `${e}:${n}`,
@@ -3431,8 +3432,8 @@ function on(t, e) {
3431
3432
  * @param firestore - The `Firestore` instance to terminate.
3432
3433
  * @returns A `Promise` that is resolved when the instance has been successfully
3433
3434
  * terminated.
3434
- */ function an(t) {
3435
- return t = ot(t, sn), _removeServiceInstance(t.app, "firestore/lite"), t._delete();
3435
+ */ function cn(t) {
3436
+ return t = ot(t, rn), _removeServiceInstance(t.app, "firestore/lite"), t._delete();
3436
3437
  }
3437
3438
 
3438
3439
  /**
@@ -3472,7 +3473,7 @@ function on(t, e) {
3472
3473
  * and can be used to write, read, or listen to the location. The document at
3473
3474
  * the referenced location may or may not exist.
3474
3475
  */
3475
- class hn {
3476
+ class an {
3476
3477
  /** @hideconstructor */
3477
3478
  constructor(t,
3478
3479
  /**
@@ -3500,17 +3501,17 @@ class hn {
3500
3501
  /**
3501
3502
  * The collection this `DocumentReference` belongs to.
3502
3503
  */ get parent() {
3503
- return new fn(this.firestore, this.converter, this._key.path.popLast());
3504
+ return new ln(this.firestore, this.converter, this._key.path.popLast());
3504
3505
  }
3505
3506
  withConverter(t) {
3506
- return new hn(this.firestore, t, this._key);
3507
+ return new an(this.firestore, t, this._key);
3507
3508
  }
3508
3509
  }
3509
3510
 
3510
3511
  /**
3511
3512
  * A `Query` refers to a query which you can read or listen to. You can also
3512
3513
  * construct refined `Query` objects by adding filters and ordering.
3513
- */ class ln {
3514
+ */ class hn {
3514
3515
  // This is the lite version of the Query class in the main SDK.
3515
3516
  /** @hideconstructor protected */
3516
3517
  constructor(t,
@@ -3523,14 +3524,14 @@ class hn {
3523
3524
  this.type = "query", this.firestore = t;
3524
3525
  }
3525
3526
  withConverter(t) {
3526
- return new ln(this.firestore, t, this._query);
3527
+ return new hn(this.firestore, t, this._query);
3527
3528
  }
3528
3529
  }
3529
3530
 
3530
3531
  /**
3531
3532
  * A `CollectionReference` object can be used for adding documents, getting
3532
3533
  * document references, and querying for documents (using {@link query}).
3533
- */ class fn extends ln {
3534
+ */ class ln extends hn {
3534
3535
  /** @hideconstructor */
3535
3536
  constructor(t, e, n) {
3536
3537
  super(t, e, new oe(n)), this._path = n,
@@ -3551,23 +3552,23 @@ class hn {
3551
3552
  * subcollection. If this isn't a subcollection, the reference is null.
3552
3553
  */ get parent() {
3553
3554
  const t = this._path.popLast();
3554
- return t.isEmpty() ? null : new hn(this.firestore,
3555
+ return t.isEmpty() ? null : new an(this.firestore,
3555
3556
  /* converter= */ null, new et(t));
3556
3557
  }
3557
3558
  withConverter(t) {
3558
- return new fn(this.firestore, t, this._path);
3559
+ return new ln(this.firestore, t, this._path);
3559
3560
  }
3560
3561
  }
3561
3562
 
3562
- function dn(t, e, ...n) {
3563
- if (t = getModularInstance(t), nt("collection", "path", e), t instanceof sn) {
3563
+ function fn(t, e, ...n) {
3564
+ if (t = getModularInstance(t), nt("collection", "path", e), t instanceof rn) {
3564
3565
  const r = X.fromString(e, ...n);
3565
- return st(r), new fn(t, /* converter= */ null, r);
3566
+ return st(r), new ln(t, /* converter= */ null, r);
3566
3567
  }
3567
3568
  {
3568
- if (!(t instanceof hn || t instanceof fn)) throw new U(A, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
3569
+ if (!(t instanceof an || t instanceof ln)) throw new U(A, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
3569
3570
  const r = t._path.child(X.fromString(e, ...n));
3570
- return st(r), new fn(t.firestore,
3571
+ return st(r), new ln(t.firestore,
3571
3572
  /* converter= */ null, r);
3572
3573
  }
3573
3574
  }
@@ -3584,9 +3585,9 @@ function dn(t, e, ...n) {
3584
3585
  * collection or subcollection with this ID as the last segment of its path
3585
3586
  * will be included. Cannot contain a slash.
3586
3587
  * @returns The created `Query`.
3587
- */ function wn(t, e) {
3588
- if (t = ot(t, sn), nt("collectionGroup", "collection id", e), e.indexOf("/") >= 0) throw new U(A, `Invalid collection ID '${e}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
3589
- return new ln(t,
3588
+ */ function dn(t, e) {
3589
+ if (t = ot(t, rn), nt("collectionGroup", "collection id", e), e.indexOf("/") >= 0) throw new U(A, `Invalid collection ID '${e}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
3590
+ return new hn(t,
3590
3591
  /* converter= */ null,
3591
3592
  /**
3592
3593
  * Creates a new Query for a collection group query that matches all documents
@@ -3597,19 +3598,19 @@ function dn(t, e, ...n) {
3597
3598
  }(e));
3598
3599
  }
3599
3600
 
3600
- function mn(t, e, ...n) {
3601
+ function wn(t, e, ...n) {
3601
3602
  if (t = getModularInstance(t),
3602
3603
  // We allow omission of 'pathString' but explicitly prohibit passing in both
3603
3604
  // 'undefined' and 'null'.
3604
- 1 === arguments.length && (e = pt.R()), nt("doc", "path", e), t instanceof sn) {
3605
+ 1 === arguments.length && (e = pt.R()), nt("doc", "path", e), t instanceof rn) {
3605
3606
  const r = X.fromString(e, ...n);
3606
- return rt(r), new hn(t,
3607
+ return rt(r), new an(t,
3607
3608
  /* converter= */ null, new et(r));
3608
3609
  }
3609
3610
  {
3610
- if (!(t instanceof hn || t instanceof fn)) throw new U(A, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
3611
+ if (!(t instanceof an || t instanceof ln)) throw new U(A, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
3611
3612
  const r = t._path.child(X.fromString(e, ...n));
3612
- return rt(r), new hn(t.firestore, t instanceof fn ? t.converter : null, new et(r));
3613
+ return rt(r), new an(t.firestore, t instanceof ln ? t.converter : null, new et(r));
3613
3614
  }
3614
3615
  }
3615
3616
 
@@ -3620,8 +3621,8 @@ function mn(t, e, ...n) {
3620
3621
  * @param right - A reference to compare.
3621
3622
  * @returns true if the references point to the same location in the same
3622
3623
  * Firestore database.
3623
- */ function pn(t, e) {
3624
- return t = getModularInstance(t), e = getModularInstance(e), (t instanceof hn || t instanceof fn) && (e instanceof hn || e instanceof fn) && (t.firestore === e.firestore && t.path === e.path && t.converter === e.converter);
3624
+ */ function mn(t, e) {
3625
+ return t = getModularInstance(t), e = getModularInstance(e), (t instanceof an || t instanceof ln) && (e instanceof an || e instanceof ln) && (t.firestore === e.firestore && t.path === e.path && t.converter === e.converter);
3625
3626
  }
3626
3627
 
3627
3628
  /**
@@ -3632,8 +3633,8 @@ function mn(t, e, ...n) {
3632
3633
  * @param right - A `Query` to compare.
3633
3634
  * @returns true if the references point to the same location in the same
3634
3635
  * Firestore database.
3635
- */ function yn(t, e) {
3636
- return t = getModularInstance(t), e = getModularInstance(e), t instanceof ln && e instanceof ln && (t.firestore === e.firestore && de(t._query, e._query) && t.converter === e.converter);
3636
+ */ function pn(t, e) {
3637
+ return t = getModularInstance(t), e = getModularInstance(e), t instanceof hn && e instanceof hn && (t.firestore === e.firestore && de(t._query, e._query) && t.converter === e.converter);
3637
3638
  }
3638
3639
 
3639
3640
  /**
@@ -3659,7 +3660,7 @@ function mn(t, e, ...n) {
3659
3660
  *
3660
3661
  * Create a `FieldPath` by providing field names. If more than one field
3661
3662
  * name is provided, the path will point to a nested field in a document.
3662
- */ class _n {
3663
+ */ class yn {
3663
3664
  /**
3664
3665
  * Creates a `FieldPath` from the provided field names. If more than one field
3665
3666
  * name is provided, the path will point to a nested field in a document.
@@ -3683,8 +3684,8 @@ function mn(t, e, ...n) {
3683
3684
  /**
3684
3685
  * Returns a special sentinel `FieldPath` to refer to the ID of a document.
3685
3686
  * It can be used in queries to sort or filter by the document ID.
3686
- */ function gn() {
3687
- return new _n("__name__");
3687
+ */ function _n() {
3688
+ return new yn("__name__");
3688
3689
  }
3689
3690
 
3690
3691
  /**
@@ -3705,7 +3706,7 @@ function mn(t, e, ...n) {
3705
3706
  */
3706
3707
  /**
3707
3708
  * An immutable object representing an array of bytes.
3708
- */ class bn {
3709
+ */ class gn {
3709
3710
  /** @hideconstructor */
3710
3711
  constructor(t) {
3711
3712
  this._byteString = t;
@@ -3717,7 +3718,7 @@ function mn(t, e, ...n) {
3717
3718
  * @param base64 - The Base64 string used to create the `Bytes` object.
3718
3719
  */ static fromBase64String(t) {
3719
3720
  try {
3720
- return new bn(It.fromBase64String(t));
3721
+ return new gn(It.fromBase64String(t));
3721
3722
  } catch (t) {
3722
3723
  throw new U(A, "Failed to construct data from Base64 string: " + t);
3723
3724
  }
@@ -3727,7 +3728,7 @@ function mn(t, e, ...n) {
3727
3728
  *
3728
3729
  * @param array - The Uint8Array used to create the `Bytes` object.
3729
3730
  */ static fromUint8Array(t) {
3730
- return new bn(It.fromUint8Array(t));
3731
+ return new gn(It.fromUint8Array(t));
3731
3732
  }
3732
3733
  /**
3733
3734
  * Returns the underlying bytes as a Base64-encoded string.
@@ -3811,7 +3812,7 @@ function mn(t, e, ...n) {
3811
3812
  *
3812
3813
  * Latitude values are in the range of [-90, 90].
3813
3814
  * Longitude values are in the range of [-180, 180].
3814
- */ class En {
3815
+ */ class bn {
3815
3816
  /**
3816
3817
  * Creates a new immutable `GeoPoint` object with the provided latitude and
3817
3818
  * longitude values.
@@ -3870,9 +3871,9 @@ function mn(t, e, ...n) {
3870
3871
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3871
3872
  * See the License for the specific language governing permissions and
3872
3873
  * limitations under the License.
3873
- */ const Tn = /^__.*__$/;
3874
+ */ const En = /^__.*__$/;
3874
3875
 
3875
- /** The result of parsing document data (e.g. for a setData call). */ class In {
3876
+ /** The result of parsing document data (e.g. for a setData call). */ class Tn {
3876
3877
  constructor(t, e, n) {
3877
3878
  this.data = t, this.fieldMask = e, this.fieldTransforms = n;
3878
3879
  }
@@ -3881,7 +3882,7 @@ function mn(t, e, ...n) {
3881
3882
  }
3882
3883
  }
3883
3884
 
3884
- /** The result of parsing "update" data (i.e. for an updateData call). */ class An {
3885
+ /** The result of parsing "update" data (i.e. for an updateData call). */ class In {
3885
3886
  constructor(t,
3886
3887
  // The fieldMask does not include document transforms.
3887
3888
  e, n) {
@@ -3892,7 +3893,7 @@ function mn(t, e, ...n) {
3892
3893
  }
3893
3894
  }
3894
3895
 
3895
- function Rn(t) {
3896
+ function An(t) {
3896
3897
  switch (t) {
3897
3898
  case 0 /* Set */ :
3898
3899
  // fall through
@@ -3910,7 +3911,7 @@ function Rn(t) {
3910
3911
  }
3911
3912
  }
3912
3913
 
3913
- /** A "context" object passed around while parsing user data. */ class Pn {
3914
+ /** A "context" object passed around while parsing user data. */ class Rn {
3914
3915
  /**
3915
3916
  * Initializes a ParseContext with the given source and path.
3916
3917
  *
@@ -3942,7 +3943,7 @@ function Rn(t) {
3942
3943
  return this.settings.tt;
3943
3944
  }
3944
3945
  /** Returns a new context with the specified settings overwritten. */ et(t) {
3945
- return new Pn(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
3946
+ return new Rn(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
3946
3947
  }
3947
3948
  nt(t) {
3948
3949
  var e;
@@ -3969,7 +3970,7 @@ function Rn(t) {
3969
3970
  });
3970
3971
  }
3971
3972
  ut(t) {
3972
- return Wn(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
3973
+ return Qn(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
3973
3974
  }
3974
3975
  /** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(t) {
3975
3976
  return void 0 !== this.fieldMask.find((e => t.isPrefixOf(e))) || void 0 !== this.fieldTransforms.find((e => t.isPrefixOf(e.field)));
@@ -3981,19 +3982,19 @@ function Rn(t) {
3981
3982
  }
3982
3983
  st(t) {
3983
3984
  if (0 === t.length) throw this.ut("Document fields must not be empty");
3984
- if (Rn(this.tt) && Tn.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
3985
+ if (An(this.tt) && En.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
3985
3986
  }
3986
3987
  }
3987
3988
 
3988
3989
  /**
3989
3990
  * Helper for parsing raw user input (provided via the API) into internal model
3990
3991
  * classes.
3991
- */ class Vn {
3992
+ */ class Pn {
3992
3993
  constructor(t, e, n) {
3993
- this.databaseId = t, this.ignoreUndefinedProperties = e, this.q = n || He(t);
3994
+ this.databaseId = t, this.ignoreUndefinedProperties = e, this.q = n || Ye(t);
3994
3995
  }
3995
3996
  /** Creates a new top-level parse context. */ ht(t, e, n, r = !1) {
3996
- return new Pn({
3997
+ return new Rn({
3997
3998
  tt: t,
3998
3999
  methodName: e,
3999
4000
  at: n,
@@ -4004,29 +4005,29 @@ function Rn(t) {
4004
4005
  }
4005
4006
  }
4006
4007
 
4007
- function Dn(t) {
4008
- const e = t._freezeSettings(), n = He(t._databaseId);
4009
- return new Vn(t._databaseId, !!e.ignoreUndefinedProperties, n);
4008
+ function Vn(t) {
4009
+ const e = t._freezeSettings(), n = Ye(t._databaseId);
4010
+ return new Pn(t._databaseId, !!e.ignoreUndefinedProperties, n);
4010
4011
  }
4011
4012
 
4012
- /** Parse document data from a set() call. */ function Nn(t, e, n, r, s, i = {}) {
4013
+ /** Parse document data from a set() call. */ function Dn(t, e, n, r, s, i = {}) {
4013
4014
  const o = t.ht(i.merge || i.mergeFields ? 2 /* MergeSet */ : 0 /* Set */ , e, n, s);
4014
- Bn("Data must be an object, but it was:", o, r);
4015
- const u = jn(r, o);
4015
+ Mn("Data must be an object, but it was:", o, r);
4016
+ const u = kn(r, o);
4016
4017
  let c, a;
4017
4018
  if (i.merge) c = new Tt(o.fieldMask), a = o.fieldTransforms; else if (i.mergeFields) {
4018
4019
  const t = [];
4019
4020
  for (const r of i.mergeFields) {
4020
- const s = zn(e, r, n);
4021
+ const s = Bn(e, r, n);
4021
4022
  if (!o.contains(s)) throw new U(A, `Field '${s}' is specified in your field mask but missing from your input data.`);
4022
- Yn(t, s) || t.push(s);
4023
+ Wn(t, s) || t.push(s);
4023
4024
  }
4024
4025
  c = new Tt(t), a = o.fieldTransforms.filter((t => c.covers(t.field)));
4025
4026
  } else c = null, a = o.fieldTransforms;
4026
- return new In(new Bt(u), c, a);
4027
+ return new Tn(new Bt(u), c, a);
4027
4028
  }
4028
4029
 
4029
- class $n extends vn {
4030
+ class Nn extends vn {
4030
4031
  _toFieldTransform(t) {
4031
4032
  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}`);
4032
4033
  // No transform to add for a delete, but we need to add it to our
@@ -4034,7 +4035,7 @@ class $n extends vn {
4034
4035
  return t.fieldMask.push(t.path), null;
4035
4036
  }
4036
4037
  isEqual(t) {
4037
- return t instanceof $n;
4038
+ return t instanceof Nn;
4038
4039
  }
4039
4040
  }
4040
4041
 
@@ -4053,8 +4054,8 @@ class $n extends vn {
4053
4054
  * context.
4054
4055
  * @param context - The parent context.
4055
4056
  * @param arrayElement - Whether or not the FieldValue has an array.
4056
- */ function Sn(t, e, n) {
4057
- return new Pn({
4057
+ */ function $n(t, e, n) {
4058
+ return new Rn({
4058
4059
  tt: 3 /* Argument */ ,
4059
4060
  at: e.settings.at,
4060
4061
  methodName: t._methodName,
@@ -4062,23 +4063,23 @@ class $n extends vn {
4062
4063
  }, e.databaseId, e.q, e.ignoreUndefinedProperties);
4063
4064
  }
4064
4065
 
4065
- class Fn extends vn {
4066
+ class Sn extends vn {
4066
4067
  _toFieldTransform(t) {
4067
- return new be(t.path, new pe);
4068
+ return new ve(t.path, new pe);
4068
4069
  }
4069
4070
  isEqual(t) {
4070
- return t instanceof Fn;
4071
+ return t instanceof Sn;
4071
4072
  }
4072
4073
  }
4073
4074
 
4074
- class xn extends vn {
4075
+ class Fn extends vn {
4075
4076
  constructor(t, e) {
4076
4077
  super(t), this.lt = e;
4077
4078
  }
4078
4079
  _toFieldTransform(t) {
4079
- const e = Sn(this, t,
4080
- /*array=*/ !0), n = this.lt.map((t => kn(t, e))), r = new ye(n);
4081
- return new be(t.path, r);
4080
+ const e = $n(this, t,
4081
+ /*array=*/ !0), n = this.lt.map((t => Un(t, e))), r = new ye(n);
4082
+ return new ve(t.path, r);
4082
4083
  }
4083
4084
  isEqual(t) {
4084
4085
  // TODO(mrschmidt): Implement isEquals
@@ -4086,14 +4087,14 @@ class xn extends vn {
4086
4087
  }
4087
4088
  }
4088
4089
 
4089
- class qn extends vn {
4090
+ class xn extends vn {
4090
4091
  constructor(t, e) {
4091
4092
  super(t), this.lt = e;
4092
4093
  }
4093
4094
  _toFieldTransform(t) {
4094
- const e = Sn(this, t,
4095
- /*array=*/ !0), n = this.lt.map((t => kn(t, e))), r = new _e(n);
4096
- return new be(t.path, r);
4095
+ const e = $n(this, t,
4096
+ /*array=*/ !0), n = this.lt.map((t => Un(t, e))), r = new _e(n);
4097
+ return new ve(t.path, r);
4097
4098
  }
4098
4099
  isEqual(t) {
4099
4100
  // TODO(mrschmidt): Implement isEquals
@@ -4101,13 +4102,13 @@ class qn extends vn {
4101
4102
  }
4102
4103
  }
4103
4104
 
4104
- class On extends vn {
4105
+ class qn extends vn {
4105
4106
  constructor(t, e) {
4106
4107
  super(t), this.ft = e;
4107
4108
  }
4108
4109
  _toFieldTransform(t) {
4109
4110
  const e = new ge(t.q, we(t.q, this.ft));
4110
- return new be(t.path, e);
4111
+ return new ve(t.path, e);
4111
4112
  }
4112
4113
  isEqual(t) {
4113
4114
  // TODO(mrschmidt): Implement isEquals
@@ -4115,50 +4116,50 @@ class On extends vn {
4115
4116
  }
4116
4117
  }
4117
4118
 
4118
- /** Parse update data from an update() call. */ function Cn(t, e, n, r) {
4119
+ /** Parse update data from an update() call. */ function On(t, e, n, r) {
4119
4120
  const s = t.ht(1 /* Update */ , e, n);
4120
- Bn("Data must be an object, but it was:", s, r);
4121
+ Mn("Data must be an object, but it was:", s, r);
4121
4122
  const i = [], o = Bt.empty();
4122
4123
  Et(r, ((t, r) => {
4123
- const u = Qn(e, t, n);
4124
+ const u = Gn(e, t, n);
4124
4125
  // For Compat types, we have to "extract" the underlying types before
4125
4126
  // performing validation.
4126
4127
  r = getModularInstance(r);
4127
4128
  const c = s.it(u);
4128
- if (r instanceof $n)
4129
+ if (r instanceof Nn)
4129
4130
  // Add it to the field mask, but don't add anything to updateData.
4130
4131
  i.push(u); else {
4131
- const t = kn(r, c);
4132
+ const t = Un(r, c);
4132
4133
  null != t && (i.push(u), o.set(u, t));
4133
4134
  }
4134
4135
  }));
4135
4136
  const u = new Tt(i);
4136
- return new An(o, u, s.fieldTransforms);
4137
+ return new In(o, u, s.fieldTransforms);
4137
4138
  }
4138
4139
 
4139
- /** Parse update data from a list of field/value arguments. */ function Ln(t, e, n, r, s, i) {
4140
- const o = t.ht(1 /* Update */ , e, n), u = [ zn(e, r, n) ], c = [ s ];
4140
+ /** Parse update data from a list of field/value arguments. */ function Cn(t, e, n, r, s, i) {
4141
+ const o = t.ht(1 /* Update */ , e, n), u = [ Bn(e, r, n) ], c = [ s ];
4141
4142
  if (i.length % 2 != 0) throw new U(A, `Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);
4142
- for (let t = 0; t < i.length; t += 2) u.push(zn(e, i[t])), c.push(i[t + 1]);
4143
+ for (let t = 0; t < i.length; t += 2) u.push(Bn(e, i[t])), c.push(i[t + 1]);
4143
4144
  const a = [], l = Bt.empty();
4144
4145
  // We iterate in reverse order to pick the last value for a field if the
4145
4146
  // user specified the field multiple times.
4146
- for (let t = u.length - 1; t >= 0; --t) if (!Yn(a, u[t])) {
4147
+ for (let t = u.length - 1; t >= 0; --t) if (!Wn(a, u[t])) {
4147
4148
  const e = u[t];
4148
4149
  let n = c[t];
4149
4150
  // For Compat types, we have to "extract" the underlying types before
4150
4151
  // performing validation.
4151
4152
  n = getModularInstance(n);
4152
4153
  const r = o.it(e);
4153
- if (n instanceof $n)
4154
+ if (n instanceof Nn)
4154
4155
  // Add it to the field mask, but don't add anything to updateData.
4155
4156
  a.push(e); else {
4156
- const t = kn(n, r);
4157
+ const t = Un(n, r);
4157
4158
  null != t && (a.push(e), l.set(e, t));
4158
4159
  }
4159
4160
  }
4160
4161
  const f = new Tt(a);
4161
- return new An(l, f, o.fieldTransforms);
4162
+ return new In(l, f, o.fieldTransforms);
4162
4163
  }
4163
4164
 
4164
4165
  /**
@@ -4167,8 +4168,8 @@ class On extends vn {
4167
4168
  *
4168
4169
  * @param allowArrays - Whether the query value is an array that may directly
4169
4170
  * contain additional arrays (e.g. the operand of an `in` query).
4170
- */ function Un(t, e, n, r = !1) {
4171
- return kn(n, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , e));
4171
+ */ function Ln(t, e, n, r = !1) {
4172
+ return Un(n, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , e));
4172
4173
  }
4173
4174
 
4174
4175
  /**
@@ -4179,11 +4180,11 @@ class On extends vn {
4179
4180
  * the source of the data being parsed, etc.
4180
4181
  * @returns The parsed value, or null if the value was a FieldValue sentinel
4181
4182
  * that should not be included in the resulting parsed data.
4182
- */ function kn(t, e) {
4183
- if (Mn(
4183
+ */ function Un(t, e) {
4184
+ if (jn(
4184
4185
  // Unwrap the API type from the Compat SDK. This will return the API type
4185
4186
  // from firestore-exp.
4186
- t = getModularInstance(t))) return Bn("Unsupported field value:", e, t), jn(t, e);
4187
+ t = getModularInstance(t))) return Mn("Unsupported field value:", e, t), kn(t, e);
4187
4188
  if (t instanceof vn)
4188
4189
  // FieldValues usually parse into transforms (except deleteField())
4189
4190
  // in which case we do not want to include this field in our parsed data
@@ -4196,7 +4197,7 @@ class On extends vn {
4196
4197
  */
4197
4198
  return function(t, e) {
4198
4199
  // Sentinels are only supported with writes, and not within arrays.
4199
- if (!Rn(e.tt)) throw e.ut(`${t._methodName}() can only be used with update() and set()`);
4200
+ if (!An(e.tt)) throw e.ut(`${t._methodName}() can only be used with update() and set()`);
4200
4201
  if (!e.path) throw e.ut(`${t._methodName}() is not currently supported inside arrays`);
4201
4202
  const n = t._toFieldTransform(e);
4202
4203
  n && e.fieldTransforms.push(n);
@@ -4226,7 +4227,7 @@ class On extends vn {
4226
4227
  const n = [];
4227
4228
  let r = 0;
4228
4229
  for (const s of t) {
4229
- let t = kn(s, e.ot(r));
4230
+ let t = Un(s, e.ot(r));
4230
4231
  null == t && (
4231
4232
  // Just include nulls in the array for fields being replaced with a
4232
4233
  // sentinel.
@@ -4267,16 +4268,16 @@ class On extends vn {
4267
4268
  timestampValue: Ne(e.q, n)
4268
4269
  };
4269
4270
  }
4270
- if (t instanceof En) return {
4271
+ if (t instanceof bn) return {
4271
4272
  geoPointValue: {
4272
4273
  latitude: t.latitude,
4273
4274
  longitude: t.longitude
4274
4275
  }
4275
4276
  };
4276
- if (t instanceof bn) return {
4277
+ if (t instanceof gn) return {
4277
4278
  bytesValue: $e(e.q, t._byteString)
4278
4279
  };
4279
- if (t instanceof hn) {
4280
+ if (t instanceof an) {
4280
4281
  const n = e.databaseId, r = t.firestore._databaseId;
4281
4282
  if (!r.isEqual(n)) throw e.ut(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${n.projectId}/${n.database}`);
4282
4283
  return {
@@ -4294,13 +4295,13 @@ class On extends vn {
4294
4295
  */ (t, e);
4295
4296
  }
4296
4297
 
4297
- function jn(t, e) {
4298
+ function kn(t, e) {
4298
4299
  const n = {};
4299
4300
  return !function(t) {
4300
4301
  for (const e in t) if (Object.prototype.hasOwnProperty.call(t, e)) return !1;
4301
4302
  return !0;
4302
4303
  }(t) ? Et(t, ((t, r) => {
4303
- const s = kn(r, e.nt(t));
4304
+ const s = Un(r, e.nt(t));
4304
4305
  null != s && (n[t] = s);
4305
4306
  })) :
4306
4307
  // If we encounter an empty object, we explicitly add it to the update
@@ -4312,12 +4313,12 @@ function jn(t, e) {
4312
4313
  };
4313
4314
  }
4314
4315
 
4315
- function Mn(t) {
4316
- return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof gt || t instanceof En || t instanceof bn || t instanceof hn || t instanceof vn);
4316
+ function jn(t) {
4317
+ return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof gt || t instanceof bn || t instanceof gn || t instanceof an || t instanceof vn);
4317
4318
  }
4318
4319
 
4319
- function Bn(t, e, n) {
4320
- if (!Mn(n) || !function(t) {
4320
+ function Mn(t, e, n) {
4321
+ if (!jn(n) || !function(t) {
4321
4322
  return "object" == typeof t && null !== t && (Object.getPrototypeOf(t) === Object.prototype || null === Object.getPrototypeOf(t));
4322
4323
  }(n)) {
4323
4324
  const r = it(n);
@@ -4327,20 +4328,20 @@ function Bn(t, e, n) {
4327
4328
 
4328
4329
  /**
4329
4330
  * Helper that calls fromDotSeparatedString() but wraps any error thrown.
4330
- */ function zn(t, e, n) {
4331
+ */ function Bn(t, e, n) {
4331
4332
  if ((
4332
4333
  // If required, replace the FieldPath Compat class with with the firestore-exp
4333
4334
  // FieldPath.
4334
- e = getModularInstance(e)) instanceof _n) return e._internalPath;
4335
- if ("string" == typeof e) return Qn(t, e);
4336
- throw Wn("Field path arguments must be of type string or ", t,
4335
+ e = getModularInstance(e)) instanceof yn) return e._internalPath;
4336
+ if ("string" == typeof e) return Gn(t, e);
4337
+ throw Qn("Field path arguments must be of type string or ", t,
4337
4338
  /* hasConverter= */ !1,
4338
4339
  /* path= */ void 0, n);
4339
4340
  }
4340
4341
 
4341
4342
  /**
4342
4343
  * Matches any characters in a field path string that are reserved.
4343
- */ const Gn = new RegExp("[~\\*/\\[\\]]");
4344
+ */ const zn = new RegExp("[~\\*/\\[\\]]");
4344
4345
 
4345
4346
  /**
4346
4347
  * Wraps fromDotSeparatedString with an error message about the method that
@@ -4350,20 +4351,20 @@ function Bn(t, e, n) {
4350
4351
  * split on dots.
4351
4352
  * @param targetDoc - The document against which the field path will be
4352
4353
  * evaluated.
4353
- */ function Qn(t, e, n) {
4354
- if (e.search(Gn) >= 0) throw Wn(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
4354
+ */ function Gn(t, e, n) {
4355
+ if (e.search(zn) >= 0) throw Qn(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
4355
4356
  /* hasConverter= */ !1,
4356
4357
  /* path= */ void 0, n);
4357
4358
  try {
4358
- return new _n(...e.split("."))._internalPath;
4359
+ return new yn(...e.split("."))._internalPath;
4359
4360
  } catch (r) {
4360
- throw Wn(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
4361
+ throw Qn(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
4361
4362
  /* hasConverter= */ !1,
4362
4363
  /* path= */ void 0, n);
4363
4364
  }
4364
4365
  }
4365
4366
 
4366
- function Wn(t, e, n, r, s) {
4367
+ function Qn(t, e, n, r, s) {
4367
4368
  const i = r && !r.isEmpty(), o = void 0 !== s;
4368
4369
  let u = `Function ${e}() called with invalid data`;
4369
4370
  n && (u += " (via `toFirestore()`)"), u += ". ";
@@ -4372,7 +4373,7 @@ function Wn(t, e, n, r, s) {
4372
4373
  c += ")"), new U(A, u + t + c);
4373
4374
  }
4374
4375
 
4375
- /** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function Yn(t, e) {
4376
+ /** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function Wn(t, e) {
4376
4377
  return t.some((t => t.isEqual(e)));
4377
4378
  }
4378
4379
 
@@ -4400,7 +4401,7 @@ function Wn(t, e, n, r, s) {
4400
4401
  * For a `DocumentSnapshot` that points to a non-existing document, any data
4401
4402
  * access will return 'undefined'. You can use the `exists()` method to
4402
4403
  * explicitly verify a document's existence.
4403
- */ class Hn {
4404
+ */ class Yn {
4404
4405
  // Note: This class is stripped down version of the DocumentSnapshot in
4405
4406
  // the legacy SDK. The changes are:
4406
4407
  // - No support for SnapshotMetadata.
@@ -4416,7 +4417,7 @@ function Wn(t, e, n, r, s) {
4416
4417
  /**
4417
4418
  * The `DocumentReference` for the document included in the `DocumentSnapshot`.
4418
4419
  */ get ref() {
4419
- return new hn(this._firestore, this._converter, this._key);
4420
+ return new an(this._firestore, this._converter, this._key);
4420
4421
  }
4421
4422
  /**
4422
4423
  * Signals whether or not the document at the snapshot's location exists.
@@ -4436,7 +4437,7 @@ function Wn(t, e, n, r, s) {
4436
4437
  if (this._converter) {
4437
4438
  // We only want to use the converter and create a new DocumentSnapshot
4438
4439
  // if a converter has been provided.
4439
- const t = new Kn(this._firestore, this._userDataWriter, this._key, this._document,
4440
+ const t = new Hn(this._firestore, this._userDataWriter, this._key, this._document,
4440
4441
  /* converter= */ null);
4441
4442
  return this._converter.fromFirestore(t);
4442
4443
  }
@@ -4456,7 +4457,7 @@ function Wn(t, e, n, r, s) {
4456
4457
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
4457
4458
  get(t) {
4458
4459
  if (this._document) {
4459
- const e = this._document.data.field(Zn("DocumentSnapshot.get", t));
4460
+ const e = this._document.data.field(Xn("DocumentSnapshot.get", t));
4460
4461
  if (null !== e) return this._userDataWriter.convertValue(e);
4461
4462
  }
4462
4463
  }
@@ -4472,7 +4473,7 @@ function Wn(t, e, n, r, s) {
4472
4473
  * `DocumentSnapshot`. Since query results contain only existing documents, the
4473
4474
  * `exists` property will always be true and `data()` will never return
4474
4475
  * 'undefined'.
4475
- */ class Kn extends Hn {
4476
+ */ class Hn extends Yn {
4476
4477
  /**
4477
4478
  * Retrieves all fields in the document as an `Object`.
4478
4479
  *
@@ -4490,7 +4491,7 @@ function Wn(t, e, n, r, s) {
4490
4491
  * array via the `docs` property or enumerated using the `forEach` method. The
4491
4492
  * number of documents can be determined via the `empty` and `size`
4492
4493
  * properties.
4493
- */ class Jn {
4494
+ */ class Kn {
4494
4495
  /** @hideconstructor */
4495
4496
  constructor(t, e) {
4496
4497
  this._docs = e, this.query = t;
@@ -4521,14 +4522,14 @@ function Wn(t, e, n, r, s) {
4521
4522
  * @param left - A snapshot to compare.
4522
4523
  * @param right - A snapshot to compare.
4523
4524
  * @returns true if the snapshots are equal.
4524
- */ function Xn(t, e) {
4525
- return t = getModularInstance(t), e = getModularInstance(e), t instanceof Hn && e instanceof Hn ? t._firestore === e._firestore && t._key.isEqual(e._key) && (null === t._document ? null === e._document : t._document.isEqual(e._document)) && t._converter === e._converter : t instanceof Jn && e instanceof Jn && (yn(t.query, e.query) && _t(t.docs, e.docs, Xn));
4525
+ */ function Jn(t, e) {
4526
+ return t = getModularInstance(t), e = getModularInstance(e), t instanceof Yn && e instanceof Yn ? t._firestore === e._firestore && t._key.isEqual(e._key) && (null === t._document ? null === e._document : t._document.isEqual(e._document)) && t._converter === e._converter : t instanceof Kn && e instanceof Kn && (pn(t.query, e.query) && _t(t.docs, e.docs, Jn));
4526
4527
  }
4527
4528
 
4528
4529
  /**
4529
4530
  * Helper that calls `fromDotSeparatedString()` but wraps any error thrown.
4530
- */ function Zn(t, e) {
4531
- return "string" == typeof e ? Qn(t, e) : e instanceof _n ? e._internalPath : e._delegate._internalPath;
4531
+ */ function Xn(t, e) {
4532
+ return "string" == typeof e ? Gn(t, e) : e instanceof yn ? e._internalPath : e._delegate._internalPath;
4532
4533
  }
4533
4534
 
4534
4535
  /**
@@ -4555,7 +4556,7 @@ function Wn(t, e, n, r, s) {
4555
4556
  * can then be passed to {@link query} to create a new query instance that
4556
4557
  * also contains this `QueryConstraint`.
4557
4558
  */
4558
- class tr {}
4559
+ class Zn {}
4559
4560
 
4560
4561
  /**
4561
4562
  * Creates a new immutable instance of {@link Query} that is extended to also include
@@ -4565,32 +4566,32 @@ class tr {}
4565
4566
  * @param queryConstraints - The list of {@link QueryConstraint}s to apply.
4566
4567
  * @throws if any of the provided query constraints cannot be combined with the
4567
4568
  * existing or new constraints.
4568
- */ function er(t, ...e) {
4569
+ */ function tr(t, ...e) {
4569
4570
  for (const n of e) t = n._apply(t);
4570
4571
  return t;
4571
4572
  }
4572
4573
 
4573
- class nr extends tr {
4574
+ class er extends Zn {
4574
4575
  constructor(t, e, n) {
4575
4576
  super(), this.dt = t, this.wt = e, this.yt = n, this.type = "where";
4576
4577
  }
4577
4578
  _apply(t) {
4578
- const e = Dn(t.firestore), n = function(t, e, n, r, s, i, o) {
4579
+ const e = Vn(t.firestore), n = function(t, e, n, r, s, i, o) {
4579
4580
  let u;
4580
4581
  if (s.isKeyField()) {
4581
4582
  if ("array-contains" /* ARRAY_CONTAINS */ === i || "array-contains-any" /* ARRAY_CONTAINS_ANY */ === i) throw new U(A, `Invalid Query. You can't perform '${i}' queries on documentId().`);
4582
4583
  if ("in" /* IN */ === i || "not-in" /* NOT_IN */ === i) {
4583
- yr(o, i);
4584
+ pr(o, i);
4584
4585
  const e = [];
4585
- for (const n of o) e.push(pr(r, t, n));
4586
+ for (const n of o) e.push(mr(r, t, n));
4586
4587
  u = {
4587
4588
  arrayValue: {
4588
4589
  values: e
4589
4590
  }
4590
4591
  };
4591
- } else u = pr(r, t, o);
4592
- } else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i || yr(o, i),
4593
- u = Un(n, e, o,
4592
+ } else u = mr(r, t, o);
4593
+ } else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i || pr(o, i),
4594
+ u = Ln(n, e, o,
4594
4595
  /* allowArrays= */ "in" /* IN */ === i || "not-in" /* NOT_IN */ === i);
4595
4596
  const c = Wt.create(s, i, u);
4596
4597
  return function(t, e) {
@@ -4598,7 +4599,7 @@ class nr extends tr {
4598
4599
  const n = ae(t);
4599
4600
  if (null !== n && !n.isEqual(e.field)) throw new U(A, `Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on '${n.toString()}' and '${e.field.toString()}'`);
4600
4601
  const r = ce(t);
4601
- null !== r && _r(t, e.field, r);
4602
+ null !== r && yr(t, e.field, r);
4602
4603
  }
4603
4604
  const n = function(t, e) {
4604
4605
  for (const n of t.filters) if (e.indexOf(n.op) >= 0) return n.op;
@@ -4642,7 +4643,7 @@ class nr extends tr {
4642
4643
  throw n === e.op ? new U(A, `Invalid query. You cannot use more than one '${e.op.toString()}' filter.`) : new U(A, `Invalid query. You cannot use '${e.op.toString()}' filters with '${n.toString()}' filters.`);
4643
4644
  }(t, c), c;
4644
4645
  }(t._query, "where", e, t.firestore._databaseId, this.dt, this.wt, this.yt);
4645
- return new ln(t.firestore, t.converter, function(t, e) {
4646
+ return new hn(t.firestore, t.converter, function(t, e) {
4646
4647
  const n = t.filters.concat([ e ]);
4647
4648
  return new oe(t.path, t.collectionGroup, t.explicitOrderBy.slice(), n, t.limit, t.limitType, t.startAt, t.endAt);
4648
4649
  }(t._query, n));
@@ -4659,12 +4660,12 @@ class nr extends tr {
4659
4660
  * "&lt;=", "!=").
4660
4661
  * @param value - The value for comparison
4661
4662
  * @returns The created {@link Query}.
4662
- */ function rr(t, e, n) {
4663
- const r = e, s = Zn("where", t);
4664
- return new nr(s, r, n);
4663
+ */ function nr(t, e, n) {
4664
+ const r = e, s = Xn("where", t);
4665
+ return new er(s, r, n);
4665
4666
  }
4666
4667
 
4667
- class sr extends tr {
4668
+ class rr extends Zn {
4668
4669
  constructor(t, e) {
4669
4670
  super(), this.dt = t, this._t = e, this.type = "orderBy";
4670
4671
  }
@@ -4677,7 +4678,7 @@ class sr extends tr {
4677
4678
  if (null === ce(t)) {
4678
4679
  // This is the first order by. It must match any inequality.
4679
4680
  const n = ae(t);
4680
- null !== n && _r(t, n, e.field);
4681
+ null !== n && yr(t, n, e.field);
4681
4682
  }
4682
4683
  }(t, r), r;
4683
4684
  }
@@ -4692,7 +4693,7 @@ class sr extends tr {
4692
4693
  * of the query or if any of the fields in the order by are an uncommitted
4693
4694
  * server timestamp.
4694
4695
  */ (t._query, this.dt, this._t);
4695
- return new ln(t.firestore, t.converter, function(t, e) {
4696
+ return new hn(t.firestore, t.converter, function(t, e) {
4696
4697
  // TODO(dimond): validate that orderBy does not list the same key twice.
4697
4698
  const n = t.explicitOrderBy.concat([ e ]);
4698
4699
  return new oe(t.path, t.collectionGroup, n, t.filters.slice(), t.limit, t.limitType, t.startAt, t.endAt);
@@ -4708,19 +4709,19 @@ class sr extends tr {
4708
4709
  * @param directionStr - Optional direction to sort by ('asc' or 'desc'). If
4709
4710
  * not specified, order will be ascending.
4710
4711
  * @returns The created {@link Query}.
4711
- */ function ir(t, e = "asc") {
4712
- const n = e, r = Zn("orderBy", t);
4713
- return new sr(r, n);
4712
+ */ function sr(t, e = "asc") {
4713
+ const n = e, r = Xn("orderBy", t);
4714
+ return new rr(r, n);
4714
4715
  }
4715
4716
 
4716
- class or extends tr {
4717
+ class ir extends Zn {
4717
4718
  constructor(t, e, n) {
4718
- super(), this.type = t, this.gt = e, this.bt = n;
4719
+ super(), this.type = t, this.gt = e, this.vt = n;
4719
4720
  }
4720
4721
  _apply(t) {
4721
- return new ln(t.firestore, t.converter, function(t, e, n) {
4722
+ return new hn(t.firestore, t.converter, function(t, e, n) {
4722
4723
  return new oe(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), e, n, t.startAt, t.endAt);
4723
- }(t._query, this.gt, this.bt));
4724
+ }(t._query, this.gt, this.vt));
4724
4725
  }
4725
4726
  }
4726
4727
 
@@ -4729,8 +4730,8 @@ class or extends tr {
4729
4730
  *
4730
4731
  * @param limit - The maximum number of items to return.
4731
4732
  * @returns The created {@link Query}.
4732
- */ function ur(t) {
4733
- return ut("limit", t), new or("limit", t, "F" /* First */);
4733
+ */ function or(t) {
4734
+ return ut("limit", t), new ir("limit", t, "F" /* First */);
4734
4735
  }
4735
4736
 
4736
4737
  /**
@@ -4741,53 +4742,55 @@ class or extends tr {
4741
4742
  *
4742
4743
  * @param limit - The maximum number of items to return.
4743
4744
  * @returns The created {@link Query}.
4744
- */ function cr(t) {
4745
- return ut("limitToLast", t), new or("limitToLast", t, "L" /* Last */);
4745
+ */ function ur(t) {
4746
+ return ut("limitToLast", t), new ir("limitToLast", t, "L" /* Last */);
4746
4747
  }
4747
4748
 
4748
- class ar extends tr {
4749
+ class cr extends Zn {
4749
4750
  constructor(t, e, n) {
4750
- super(), this.type = t, this.vt = e, this.Et = n;
4751
+ super(), this.type = t, this.bt = e, this.Et = n;
4751
4752
  }
4752
4753
  _apply(t) {
4753
- const e = mr(t, this.type, this.vt, this.Et);
4754
- return new ln(t.firestore, t.converter, function(t, e) {
4754
+ const e = wr(t, this.type, this.bt, this.Et);
4755
+ return new hn(t.firestore, t.converter, function(t, e) {
4755
4756
  return new oe(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, e, t.endAt);
4756
4757
  }(t._query, e));
4757
4758
  }
4758
4759
  }
4759
4760
 
4760
- function hr(...t) {
4761
- return new ar("startAt", t, /*before=*/ !0);
4761
+ function ar(...t) {
4762
+ return new cr("startAt", t,
4763
+ /*inclusive=*/ !0);
4762
4764
  }
4763
4765
 
4764
- function lr(...t) {
4765
- return new ar("startAfter", t,
4766
- /*before=*/ !1);
4766
+ function hr(...t) {
4767
+ return new cr("startAfter", t,
4768
+ /*inclusive=*/ !1);
4767
4769
  }
4768
4770
 
4769
- class fr extends tr {
4771
+ class lr extends Zn {
4770
4772
  constructor(t, e, n) {
4771
- super(), this.type = t, this.vt = e, this.Et = n;
4773
+ super(), this.type = t, this.bt = e, this.Et = n;
4772
4774
  }
4773
4775
  _apply(t) {
4774
- const e = mr(t, this.type, this.vt, this.Et);
4775
- return new ln(t.firestore, t.converter, function(t, e) {
4776
+ const e = wr(t, this.type, this.bt, this.Et);
4777
+ return new hn(t.firestore, t.converter, function(t, e) {
4776
4778
  return new oe(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, t.startAt, e);
4777
4779
  }(t._query, e));
4778
4780
  }
4779
4781
  }
4780
4782
 
4781
- function dr(...t) {
4782
- return new fr("endBefore", t, /*before=*/ !0);
4783
+ function fr(...t) {
4784
+ return new lr("endBefore", t,
4785
+ /*inclusive=*/ !1);
4783
4786
  }
4784
4787
 
4785
- function wr(...t) {
4786
- return new fr("endAt", t, /*before=*/ !1);
4788
+ function dr(...t) {
4789
+ return new lr("endAt", t, /*inclusive=*/ !0);
4787
4790
  }
4788
4791
 
4789
- /** Helper function to create a bound from a document or fields */ function mr(t, e, n, r) {
4790
- if (n[0] = getModularInstance(n[0]), n[0] instanceof Hn) return function(t, e, n, r, s) {
4792
+ /** Helper function to create a bound from a document or fields */ function wr(t, e, n, r) {
4793
+ if (n[0] = getModularInstance(n[0]), n[0] instanceof Yn) return function(t, e, n, r, s) {
4791
4794
  if (!r) throw new U(P, `Can't use a DocumentSnapshot that doesn't exist for ${n}().`);
4792
4795
  const i = [];
4793
4796
  // Because people expect to continue/end a query at the exact document
@@ -4812,7 +4815,7 @@ function wr(...t) {
4812
4815
  * Converts a list of field values to a `Bound` for the given query.
4813
4816
  */ (t._query, t.firestore._databaseId, e, n[0]._document, r);
4814
4817
  {
4815
- const s = Dn(t.firestore);
4818
+ const s = Vn(t.firestore);
4816
4819
  return function(t, e, n, r, s, i) {
4817
4820
  // Use explicit order by's because it has to match the query the user made
4818
4821
  const o = t.explicitOrderBy;
@@ -4828,7 +4831,7 @@ function wr(...t) {
4828
4831
  const s = new et(n);
4829
4832
  u.push(Ct(e, s));
4830
4833
  } else {
4831
- const t = Un(n, r, c);
4834
+ const t = Ln(n, r, c);
4832
4835
  u.push(t);
4833
4836
  }
4834
4837
  }
@@ -4842,7 +4845,7 @@ function wr(...t) {
4842
4845
  }
4843
4846
  }
4844
4847
 
4845
- function pr(t, e, n) {
4848
+ function mr(t, e, n) {
4846
4849
  if ("string" == typeof (n = getModularInstance(n))) {
4847
4850
  if ("" === n) throw new U(A, "Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");
4848
4851
  if (!he(e) && -1 !== n.indexOf("/")) throw new U(A, `Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);
@@ -4850,19 +4853,19 @@ function pr(t, e, n) {
4850
4853
  if (!et.isDocumentKey(r)) throw new U(A, `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}).`);
4851
4854
  return Ct(t, new et(r));
4852
4855
  }
4853
- if (n instanceof hn) return Ct(t, n._key);
4856
+ if (n instanceof an) return Ct(t, n._key);
4854
4857
  throw new U(A, `Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${it(n)}.`);
4855
4858
  }
4856
4859
 
4857
4860
  /**
4858
4861
  * Validates that the value passed into a disjunctive filter satisfies all
4859
4862
  * array requirements.
4860
- */ function yr(t, e) {
4863
+ */ function pr(t, e) {
4861
4864
  if (!Array.isArray(t) || 0 === t.length) throw new U(A, `Invalid Query. A non-empty array is required for '${e.toString()}' filters.`);
4862
4865
  if (t.length > 10) throw new U(A, `Invalid Query. '${e.toString()}' filters support a maximum of 10 elements in the value array.`);
4863
4866
  }
4864
4867
 
4865
- function _r(t, e, n) {
4868
+ function yr(t, e, n) {
4866
4869
  if (!n.isEqual(e)) throw new U(A, `Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '${e.toString()}' and so you must also use '${e.toString()}' as your first argument to orderBy(), but your first orderBy() is on field '${n.toString()}' instead.`);
4867
4870
  }
4868
4871
 
@@ -4913,7 +4916,7 @@ function _r(t, e, n) {
4913
4916
  * their `set()` or fails due to invalid data originating from a `toFirestore()`
4914
4917
  * call.
4915
4918
  */
4916
- function gr(t, e, n) {
4919
+ function _r(t, e, n) {
4917
4920
  let r;
4918
4921
  // Cast to `any` in order to satisfy the union type constraint on
4919
4922
  // toFirestore().
@@ -4922,7 +4925,7 @@ function gr(t, e, n) {
4922
4925
  r;
4923
4926
  }
4924
4927
 
4925
- class br extends class {
4928
+ class gr extends class {
4926
4929
  convertValue(t, e = "none") {
4927
4930
  switch (St(t)) {
4928
4931
  case 0 /* NullValue */ :
@@ -4969,7 +4972,7 @@ class br extends class {
4969
4972
  })), n;
4970
4973
  }
4971
4974
  convertGeoPoint(t) {
4972
- return new En(Pt(t.latitude), Pt(t.longitude));
4975
+ return new bn(Pt(t.latitude), Pt(t.longitude));
4973
4976
  }
4974
4977
  convertArray(t, e) {
4975
4978
  return (t.values || []).map((t => this.convertValue(t, e)));
@@ -4993,7 +4996,7 @@ class br extends class {
4993
4996
  }
4994
4997
  convertDocumentKey(t, e) {
4995
4998
  const n = X.fromString(t);
4996
- b(Ye(n));
4999
+ v(We(n));
4997
5000
  const r = new K(n.get(1), n.get(3)), s = new et(n.popFirst(5));
4998
5001
  return r.isEqual(e) ||
4999
5002
  // TODO(b/64130202): Somehow support foreign references.
@@ -5005,11 +5008,11 @@ class br extends class {
5005
5008
  super(), this.firestore = t;
5006
5009
  }
5007
5010
  convertBytes(t) {
5008
- return new bn(t);
5011
+ return new gn(t);
5009
5012
  }
5010
5013
  convertReference(t) {
5011
5014
  const e = this.convertDocumentKey(t, this.firestore._databaseId);
5012
- return new hn(this.firestore, /* converter= */ null, e);
5015
+ return new an(this.firestore, /* converter= */ null, e);
5013
5016
  }
5014
5017
  }
5015
5018
 
@@ -5026,11 +5029,11 @@ class br extends class {
5026
5029
  * @returns A Promise resolved with a `DocumentSnapshot` containing the current
5027
5030
  * document contents.
5028
5031
  */ function vr(t) {
5029
- const e = nn((t = ot(t, hn)).firestore), n = new br(t.firestore);
5030
- return Ze(e, [ t._key ]).then((e => {
5031
- b(1 === e.length);
5032
+ const e = en((t = ot(t, an)).firestore), n = new gr(t.firestore);
5033
+ return Xe(e, [ t._key ]).then((e => {
5034
+ v(1 === e.length);
5032
5035
  const r = e[0];
5033
- return new Hn(t.firestore, n, t._key, r.isFoundDocument() ? r : null, t.converter);
5036
+ return new Yn(t.firestore, n, t._key, r.isFoundDocument() ? r : null, t.converter);
5034
5037
  }));
5035
5038
  }
5036
5039
 
@@ -5045,33 +5048,33 @@ class br extends class {
5045
5048
  *
5046
5049
  * @param query - The `Query` to execute.
5047
5050
  * @returns A Promise that will be resolved with the results of the query.
5048
- */ function Er(t) {
5051
+ */ function br(t) {
5049
5052
  !function(t) {
5050
5053
  if (ue(t) && 0 === t.explicitOrderBy.length) throw new U(q, "limitToLast() queries require specifying at least one orderBy() clause");
5051
- }((t = ot(t, ln))._query);
5052
- const e = nn(t.firestore), n = new br(t.firestore);
5053
- return tn(e, t._query).then((e => {
5054
- const r = e.map((e => new Kn(t.firestore, n, e.key, e, t.converter)));
5054
+ }((t = ot(t, hn))._query);
5055
+ const e = en(t.firestore), n = new gr(t.firestore);
5056
+ return Ze(e, t._query).then((e => {
5057
+ const r = e.map((e => new Hn(t.firestore, n, e.key, e, t.converter)));
5055
5058
  return ue(t._query) &&
5056
5059
  // Limit to last queries reverse the orderBy constraint that was
5057
5060
  // specified by the user. As such, we need to reverse the order of the
5058
5061
  // results to return the documents in the expected order.
5059
- r.reverse(), new Jn(t, r);
5062
+ r.reverse(), new Kn(t, r);
5060
5063
  }));
5061
5064
  }
5062
5065
 
5063
- function Tr(t, e, n) {
5064
- const r = gr((t = ot(t, hn)).converter, e, n), s = Nn(Dn(t.firestore), "setDoc", t._key, r, null !== t.converter, n);
5065
- return Xe(nn(t.firestore), [ s.toMutation(t._key, ve.none()) ]);
5066
+ function Er(t, e, n) {
5067
+ const r = _r((t = ot(t, an)).converter, e, n), s = Dn(Vn(t.firestore), "setDoc", t._key, r, null !== t.converter, n);
5068
+ return Je(en(t.firestore), [ s.toMutation(t._key, be.none()) ]);
5066
5069
  }
5067
5070
 
5068
- function Ir(t, e, n, ...r) {
5069
- const s = Dn((t = ot(t, hn)).firestore);
5071
+ function Tr(t, e, n, ...r) {
5072
+ const s = Vn((t = ot(t, an)).firestore);
5070
5073
  // For Compat types, we have to "extract" the underlying types before
5071
5074
  // performing validation.
5072
5075
  let i;
5073
- i = "string" == typeof (e = getModularInstance(e)) || e instanceof _n ? Ln(s, "updateDoc", t._key, e, n, r) : Cn(s, "updateDoc", t._key, e);
5074
- return Xe(nn(t.firestore), [ i.toMutation(t._key, ve.exists(!0)) ]);
5076
+ i = "string" == typeof (e = getModularInstance(e)) || e instanceof yn ? Cn(s, "updateDoc", t._key, e, n, r) : On(s, "updateDoc", t._key, e);
5077
+ return Je(en(t.firestore), [ i.toMutation(t._key, be.exists(!0)) ]);
5075
5078
  }
5076
5079
 
5077
5080
  /**
@@ -5085,8 +5088,8 @@ function Ir(t, e, n, ...r) {
5085
5088
  * @param reference - A reference to the document to delete.
5086
5089
  * @returns A `Promise` resolved once the document has been successfully
5087
5090
  * deleted from the backend.
5088
- */ function Ar(t) {
5089
- return Xe(nn((t = ot(t, hn)).firestore), [ new Ae(t._key, ve.none()) ]);
5091
+ */ function Ir(t) {
5092
+ return Je(en((t = ot(t, an)).firestore), [ new Ae(t._key, be.none()) ]);
5090
5093
  }
5091
5094
 
5092
5095
  /**
@@ -5103,9 +5106,9 @@ function Ir(t, e, n, ...r) {
5103
5106
  * @throws Error - If the provided input is not a valid Firestore document.
5104
5107
  * @returns A `Promise` resolved with a `DocumentReference` pointing to the
5105
5108
  * newly created document after it has been written to the backend.
5106
- */ function Rr(t, e) {
5107
- const n = mn(t = ot(t, fn)), r = gr(t.converter, e), s = Nn(Dn(t.firestore), "addDoc", n._key, r, null !== n.converter, {});
5108
- return Xe(nn(t.firestore), [ s.toMutation(n._key, ve.exists(!1)) ]).then((() => n));
5109
+ */ function Ar(t, e) {
5110
+ const n = wn(t = ot(t, ln)), r = _r(t.converter, e), s = Dn(Vn(t.firestore), "addDoc", n._key, r, null !== n.converter, {});
5111
+ return Je(en(t.firestore), [ s.toMutation(n._key, be.exists(!1)) ]).then((() => n));
5109
5112
  }
5110
5113
 
5111
5114
  /**
@@ -5127,15 +5130,15 @@ function Ir(t, e, n, ...r) {
5127
5130
  /**
5128
5131
  * Returns a sentinel for use with {@link @firebase/firestore/lite#(updateDoc:1)} or
5129
5132
  * {@link @firebase/firestore/lite#(setDoc:1)} with `{merge: true}` to mark a field for deletion.
5130
- */ function Pr() {
5131
- return new $n("deleteField");
5133
+ */ function Rr() {
5134
+ return new Nn("deleteField");
5132
5135
  }
5133
5136
 
5134
5137
  /**
5135
5138
  * Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
5136
5139
  * include a server-generated timestamp in the written data.
5137
- */ function Vr() {
5138
- return new Fn("serverTimestamp");
5140
+ */ function Pr() {
5141
+ return new Sn("serverTimestamp");
5139
5142
  }
5140
5143
 
5141
5144
  /**
@@ -5149,10 +5152,10 @@ function Ir(t, e, n, ...r) {
5149
5152
  * @param elements - The elements to union into the array.
5150
5153
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
5151
5154
  * `updateDoc()`.
5152
- */ function Dr(...t) {
5155
+ */ function Vr(...t) {
5153
5156
  // NOTE: We don't actually parse the data until it's used in set() or
5154
5157
  // update() since we'd need the Firestore instance to do this.
5155
- return new xn("arrayUnion", t);
5158
+ return new Fn("arrayUnion", t);
5156
5159
  }
5157
5160
 
5158
5161
  /**
@@ -5165,10 +5168,10 @@ function Ir(t, e, n, ...r) {
5165
5168
  * @param elements - The elements to remove from the array.
5166
5169
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
5167
5170
  * `updateDoc()`
5168
- */ function Nr(...t) {
5171
+ */ function Dr(...t) {
5169
5172
  // NOTE: We don't actually parse the data until it's used in set() or
5170
5173
  // update() since we'd need the Firestore instance to do this.
5171
- return new qn("arrayRemove", t);
5174
+ return new xn("arrayRemove", t);
5172
5175
  }
5173
5176
 
5174
5177
  /**
@@ -5189,8 +5192,8 @@ function Ir(t, e, n, ...r) {
5189
5192
  * @param n - The value to increment by.
5190
5193
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
5191
5194
  * `updateDoc()`
5192
- */ function $r(t) {
5193
- return new On("increment", t);
5195
+ */ function Nr(t) {
5196
+ return new qn("increment", t);
5194
5197
  }
5195
5198
 
5196
5199
  /**
@@ -5216,25 +5219,25 @@ function Ir(t, e, n, ...r) {
5216
5219
  * provides methods for adding writes to the write batch. None of the writes
5217
5220
  * will be committed (or visible locally) until {@link WriteBatch.commit} is
5218
5221
  * called.
5219
- */ class Sr {
5222
+ */ class $r {
5220
5223
  /** @hideconstructor */
5221
5224
  constructor(t, e) {
5222
5225
  this._firestore = t, this._commitHandler = e, this._mutations = [], this._committed = !1,
5223
- this._dataReader = Dn(t);
5226
+ this._dataReader = Vn(t);
5224
5227
  }
5225
5228
  set(t, e, n) {
5226
5229
  this._verifyNotCommitted();
5227
- const r = Fr(t, this._firestore), s = gr(r.converter, e, n), i = Nn(this._dataReader, "WriteBatch.set", r._key, s, null !== r.converter, n);
5228
- return this._mutations.push(i.toMutation(r._key, ve.none())), this;
5230
+ const r = Sr(t, this._firestore), s = _r(r.converter, e, n), i = Dn(this._dataReader, "WriteBatch.set", r._key, s, null !== r.converter, n);
5231
+ return this._mutations.push(i.toMutation(r._key, be.none())), this;
5229
5232
  }
5230
5233
  update(t, e, n, ...r) {
5231
5234
  this._verifyNotCommitted();
5232
- const s = Fr(t, this._firestore);
5235
+ const s = Sr(t, this._firestore);
5233
5236
  // For Compat types, we have to "extract" the underlying types before
5234
5237
  // performing validation.
5235
5238
  let i;
5236
- return i = "string" == typeof (e = getModularInstance(e)) || e instanceof _n ? Ln(this._dataReader, "WriteBatch.update", s._key, e, n, r) : Cn(this._dataReader, "WriteBatch.update", s._key, e),
5237
- this._mutations.push(i.toMutation(s._key, ve.exists(!0))), this;
5239
+ return i = "string" == typeof (e = getModularInstance(e)) || e instanceof yn ? Cn(this._dataReader, "WriteBatch.update", s._key, e, n, r) : On(this._dataReader, "WriteBatch.update", s._key, e),
5240
+ this._mutations.push(i.toMutation(s._key, be.exists(!0))), this;
5238
5241
  }
5239
5242
  /**
5240
5243
  * Deletes the document referred to by the provided {@link DocumentReference}.
@@ -5243,8 +5246,8 @@ function Ir(t, e, n, ...r) {
5243
5246
  * @returns This `WriteBatch` instance. Used for chaining method calls.
5244
5247
  */ delete(t) {
5245
5248
  this._verifyNotCommitted();
5246
- const e = Fr(t, this._firestore);
5247
- return this._mutations = this._mutations.concat(new Ae(e._key, ve.none())), this;
5249
+ const e = Sr(t, this._firestore);
5250
+ return this._mutations = this._mutations.concat(new Ae(e._key, be.none())), this;
5248
5251
  }
5249
5252
  /**
5250
5253
  * Commits all of the writes in this write batch as a single atomic unit.
@@ -5265,7 +5268,7 @@ function Ir(t, e, n, ...r) {
5265
5268
  }
5266
5269
  }
5267
5270
 
5268
- function Fr(t, e) {
5271
+ function Sr(t, e) {
5269
5272
  if ((t = getModularInstance(t)).firestore !== e) throw new U(A, "Provided document reference is from a different Firestore instance.");
5270
5273
  return t;
5271
5274
  }
@@ -5282,9 +5285,9 @@ function Fr(t, e) {
5282
5285
  *
5283
5286
  * @returns A `WriteBatch` that can be used to atomically execute multiple
5284
5287
  * writes.
5285
- */ function xr(t) {
5286
- const e = nn(t = ot(t, sn));
5287
- return new Sr(t, (t => Xe(e, t)));
5288
+ */ function Fr(t) {
5289
+ const e = en(t = ot(t, rn));
5290
+ return new $r(t, (t => Je(e, t)));
5288
5291
  }
5289
5292
 
5290
5293
  /**
@@ -5306,7 +5309,7 @@ function Fr(t, e) {
5306
5309
  /**
5307
5310
  * Internal transaction object responsible for accumulating the mutations to
5308
5311
  * perform and the base versions for any documents read.
5309
- */ class qr {
5312
+ */ class xr {
5310
5313
  constructor(t) {
5311
5314
  this.datastore = t,
5312
5315
  // The version of each document that was read during this transaction.
@@ -5326,7 +5329,7 @@ function Fr(t, e) {
5326
5329
  }
5327
5330
  async lookup(t) {
5328
5331
  if (this.ensureCommitNotCalled(), this.mutations.length > 0) throw new U(A, "Firestore transactions require all reads to be executed before all writes.");
5329
- const e = await Ze(this.datastore, t);
5332
+ const e = await Xe(this.datastore, t);
5330
5333
  return e.forEach((t => this.recordVersion(t))), e;
5331
5334
  }
5332
5335
  set(t, e) {
@@ -5355,14 +5358,14 @@ function Fr(t, e) {
5355
5358
  t.forEach(((t, e) => {
5356
5359
  const n = et.fromPath(e);
5357
5360
  this.mutations.push(new Re(n, this.precondition(n)));
5358
- })), await Xe(this.datastore, this.mutations), this.committed = !0;
5361
+ })), await Je(this.datastore, this.mutations), this.committed = !0;
5359
5362
  }
5360
5363
  recordVersion(t) {
5361
5364
  let e;
5362
5365
  if (t.isFoundDocument()) e = t.version; else {
5363
5366
  if (!t.isNoDocument()) throw g();
5364
5367
  // For deleted docs, we must use baseVersion 0 when we overwrite them.
5365
- e = bt.min();
5368
+ e = vt.min();
5366
5369
  }
5367
5370
  const n = this.readVersions.get(t.key.toString());
5368
5371
  if (n) {
@@ -5376,7 +5379,7 @@ function Fr(t, e) {
5376
5379
  * as a precondition, or no precondition if it was not read.
5377
5380
  */ precondition(t) {
5378
5381
  const e = this.readVersions.get(t.toString());
5379
- return !this.writtenDocs.has(t.toString()) && e ? ve.updateTime(e) : ve.none();
5382
+ return !this.writtenDocs.has(t.toString()) && e ? be.updateTime(e) : be.none();
5380
5383
  }
5381
5384
  /**
5382
5385
  * Returns the precondition for a document if the operation is an update.
@@ -5385,7 +5388,7 @@ function Fr(t, e) {
5385
5388
  // The first time a document is written, we want to take into account the
5386
5389
  // read time and existence
5387
5390
  if (!this.writtenDocs.has(t.toString()) && e) {
5388
- if (e.isEqual(bt.min()))
5391
+ if (e.isEqual(vt.min()))
5389
5392
  // The document doesn't exist, so fail the transaction.
5390
5393
  // This has to be validated locally because you can't send a
5391
5394
  // precondition that a document does not exist without changing the
@@ -5397,11 +5400,11 @@ function Fr(t, e) {
5397
5400
  // transaction.
5398
5401
  throw new U(A, "Can't update a document that doesn't exist.");
5399
5402
  // Document exists, base precondition on document update time.
5400
- return ve.updateTime(e);
5403
+ return be.updateTime(e);
5401
5404
  }
5402
5405
  // Document was not read, so we just use the preconditions for a blind
5403
5406
  // update.
5404
- return ve.exists(!0);
5407
+ return be.exists(!0);
5405
5408
  }
5406
5409
  write(t) {
5407
5410
  this.ensureCommitNotCalled(), this.mutations.push(t);
@@ -5429,17 +5432,17 @@ function Fr(t, e) {
5429
5432
  * TransactionRunner encapsulates the logic needed to run and retry transactions
5430
5433
  * with backoff.
5431
5434
  */
5432
- class Or {
5435
+ class qr {
5433
5436
  constructor(t, e, n, r) {
5434
5437
  this.asyncQueue = t, this.datastore = e, this.updateFunction = n, this.deferred = r,
5435
- this.Tt = 5, this.It = new Ke(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
5438
+ this.Tt = 5, this.It = new He(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
5436
5439
  }
5437
5440
  /** Runs the transaction and sets the result on deferred. */ run() {
5438
5441
  this.Tt -= 1, this.At();
5439
5442
  }
5440
5443
  At() {
5441
5444
  this.It.W((async () => {
5442
- const t = new qr(this.datastore), e = this.Rt(t);
5445
+ const t = new xr(this.datastore), e = this.Rt(t);
5443
5446
  e && e.then((e => {
5444
5447
  this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
5445
5448
  this.deferred.resolve(e);
@@ -5529,7 +5532,7 @@ class Or {
5529
5532
  * See the License for the specific language governing permissions and
5530
5533
  * limitations under the License.
5531
5534
  */
5532
- /** The Platform's 'document' implementation or null if not available. */ function Cr() {
5535
+ /** The Platform's 'document' implementation or null if not available. */ function Or() {
5533
5536
  // `document` is not always available, e.g. in ReactNative and WebWorkers.
5534
5537
  // eslint-disable-next-line no-restricted-globals
5535
5538
  return "undefined" != typeof document ? document : null;
@@ -5561,7 +5564,7 @@ class Or {
5561
5564
  * Note: We implement `PromiseLike` instead of `Promise`, as the `Promise` type
5562
5565
  * in newer versions of TypeScript defines `finally`, which is not available in
5563
5566
  * IE.
5564
- */ class Lr {
5567
+ */ class Cr {
5565
5568
  constructor(t, e, n, r, s) {
5566
5569
  this.asyncQueue = t, this.timerId = e, this.targetTimeMs = n, this.op = r, this.removalCallback = s,
5567
5570
  this.deferred = new k, this.then = this.deferred.promise.then.bind(this.deferred.promise),
@@ -5584,7 +5587,7 @@ class Or {
5584
5587
  * PORTING NOTE: This exists to prevent making removeDelayedOperation() and
5585
5588
  * the DelayedOperation class public.
5586
5589
  */ static createAndSchedule(t, e, n, r, s) {
5587
- const i = Date.now() + n, o = new Lr(t, e, i, r, s);
5590
+ const i = Date.now() + n, o = new Cr(t, e, i, r, s);
5588
5591
  return o.start(n), o;
5589
5592
  }
5590
5593
  /**
@@ -5633,7 +5636,7 @@ class Or {
5633
5636
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
5634
5637
  * See the License for the specific language governing permissions and
5635
5638
  * limitations under the License.
5636
- */ class Ur {
5639
+ */ class Lr {
5637
5640
  constructor() {
5638
5641
  // The last promise in the queue.
5639
5642
  this.Dt = Promise.resolve(),
@@ -5656,15 +5659,15 @@ class Or {
5656
5659
  // List of TimerIds to fast-forward delays for.
5657
5660
  this.Ot = [],
5658
5661
  // Backoff timer used to schedule retries for retryable operations
5659
- this.It = new Ke(this, "async_queue_retry" /* AsyncQueueRetry */),
5662
+ this.It = new He(this, "async_queue_retry" /* AsyncQueueRetry */),
5660
5663
  // Visibility handler that triggers an immediate retry of all retryable
5661
5664
  // operations. Meant to speed up recovery when we regain file system access
5662
5665
  // after page comes into foreground.
5663
5666
  this.Ct = () => {
5664
- const t = Cr();
5667
+ const t = Or();
5665
5668
  t && m("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.It.H();
5666
5669
  };
5667
- const t = Cr();
5670
+ const t = Or();
5668
5671
  t && "function" == typeof t.addEventListener && t.addEventListener("visibilitychange", this.Ct);
5669
5672
  }
5670
5673
  get isShuttingDown() {
@@ -5685,7 +5688,7 @@ class Or {
5685
5688
  enterRestrictedMode(t) {
5686
5689
  if (!this.$t) {
5687
5690
  this.$t = !0, this.qt = t || !1;
5688
- const e = Cr();
5691
+ const e = Or();
5689
5692
  e && "function" == typeof e.removeEventListener && e.removeEventListener("visibilitychange", this.Ct);
5690
5693
  }
5691
5694
  }
@@ -5817,7 +5820,7 @@ class Or {
5817
5820
  this.Lt(),
5818
5821
  // Fast-forward delays for timerIds that have been overriden.
5819
5822
  this.Ot.indexOf(t) > -1 && (e = 0);
5820
- const r = Lr.createAndSchedule(this, t, e, n, (t => this.jt(t)));
5823
+ const r = Cr.createAndSchedule(this, t, e, n, (t => this.jt(t)));
5821
5824
  return this.St.push(r), r;
5822
5825
  }
5823
5826
  Lt() {
@@ -5871,10 +5874,10 @@ class Or {
5871
5874
  }
5872
5875
  }
5873
5876
 
5874
- class kr {
5877
+ class Ur {
5875
5878
  /** @hideconstructor */
5876
5879
  constructor(t, e) {
5877
- this._firestore = t, this._transaction = e, this._dataReader = Dn(t);
5880
+ this._firestore = t, this._transaction = e, this._dataReader = Vn(t);
5878
5881
  }
5879
5882
  /**
5880
5883
  * Reads the document referenced by the provided {@link DocumentReference}.
@@ -5882,25 +5885,25 @@ class kr {
5882
5885
  * @param documentRef - A reference to the document to be read.
5883
5886
  * @returns A `DocumentSnapshot` with the read data.
5884
5887
  */ get(t) {
5885
- const e = Fr(t, this._firestore), n = new br(this._firestore);
5888
+ const e = Sr(t, this._firestore), n = new gr(this._firestore);
5886
5889
  return this._transaction.lookup([ e._key ]).then((t => {
5887
5890
  if (!t || 1 !== t.length) return g();
5888
5891
  const r = t[0];
5889
- if (r.isFoundDocument()) return new Hn(this._firestore, n, r.key, r, e.converter);
5890
- if (r.isNoDocument()) return new Hn(this._firestore, n, e._key, null, e.converter);
5892
+ if (r.isFoundDocument()) return new Yn(this._firestore, n, r.key, r, e.converter);
5893
+ if (r.isNoDocument()) return new Yn(this._firestore, n, e._key, null, e.converter);
5891
5894
  throw g();
5892
5895
  }));
5893
5896
  }
5894
5897
  set(t, e, n) {
5895
- const r = Fr(t, this._firestore), s = gr(r.converter, e, n), i = Nn(this._dataReader, "Transaction.set", r._key, s, null !== r.converter, n);
5898
+ const r = Sr(t, this._firestore), s = _r(r.converter, e, n), i = Dn(this._dataReader, "Transaction.set", r._key, s, null !== r.converter, n);
5896
5899
  return this._transaction.set(r._key, i), this;
5897
5900
  }
5898
5901
  update(t, e, n, ...r) {
5899
- const s = Fr(t, this._firestore);
5902
+ const s = Sr(t, this._firestore);
5900
5903
  // For Compat types, we have to "extract" the underlying types before
5901
5904
  // performing validation.
5902
5905
  let i;
5903
- return i = "string" == typeof (e = getModularInstance(e)) || e instanceof _n ? Ln(this._dataReader, "Transaction.update", s._key, e, n, r) : Cn(this._dataReader, "Transaction.update", s._key, e),
5906
+ return i = "string" == typeof (e = getModularInstance(e)) || e instanceof yn ? Cn(this._dataReader, "Transaction.update", s._key, e, n, r) : On(this._dataReader, "Transaction.update", s._key, e),
5904
5907
  this._transaction.update(s._key, i), this;
5905
5908
  }
5906
5909
  /**
@@ -5909,7 +5912,7 @@ class kr {
5909
5912
  * @param documentRef - A reference to the document to be deleted.
5910
5913
  * @returns This `Transaction` instance. Used for chaining method calls.
5911
5914
  */ delete(t) {
5912
- const e = Fr(t, this._firestore);
5915
+ const e = Sr(t, this._firestore);
5913
5916
  return this._transaction.delete(e._key), this;
5914
5917
  }
5915
5918
  }
@@ -5930,9 +5933,9 @@ class kr {
5930
5933
  * (the `updateFunction` returned a failed promise), the promise returned by the
5931
5934
  * `updateFunction `is returned here. Otherwise, if the transaction failed, a
5932
5935
  * rejected promise with the corresponding failure error is returned.
5933
- */ function jr(t, e) {
5934
- const n = nn(t = ot(t, sn)), r = new k;
5935
- return new Or(new Ur, n, (n => e(new kr(t, n))), r).run(), r.promise;
5936
+ */ function kr(t, e) {
5937
+ const n = en(t = ot(t, rn)), r = new k;
5938
+ return new qr(new Lr, n, (n => e(new Ur(t, n))), r).run(), r.promise;
5936
5939
  }
5937
5940
 
5938
5941
  /**
@@ -5945,11 +5948,11 @@ class kr {
5945
5948
  */ !function(t) {
5946
5949
  f = t;
5947
5950
  }(`${SDK_VERSION}_lite`), _registerComponent(new Component("firestore/lite", ((t, {options: e}) => {
5948
- const n = t.getProvider("app").getImmediate(), r = new sn(n, new z(t.getProvider("auth-internal")), new Y(t.getProvider("app-check-internal")));
5951
+ const n = t.getProvider("app").getImmediate(), r = new rn(n, new z(t.getProvider("auth-internal")), new Y(t.getProvider("app-check-internal")));
5949
5952
  return e && r._setSettings(e), r;
5950
5953
  }), "PUBLIC")),
5951
5954
  // RUNTIME_ENV and BUILD_TARGET are replaced by real values during the compilation
5952
- registerVersion("firestore-lite", "3.4.4-canary.b02927e2e", ""), registerVersion("firestore-lite", "3.4.4-canary.b02927e2e", "esm2017");
5955
+ registerVersion("firestore-lite", "3.4.4-canary.e8972ef49", ""), registerVersion("firestore-lite", "3.4.4-canary.e8972ef49", "esm2017");
5953
5956
 
5954
- export { bn as Bytes, fn as CollectionReference, hn as DocumentReference, Hn as DocumentSnapshot, _n as FieldPath, vn as FieldValue, sn as Firestore, U as FirestoreError, En as GeoPoint, ln as Query, tr as QueryConstraint, Kn as QueryDocumentSnapshot, Jn as QuerySnapshot, gt as Timestamp, kr as Transaction, Sr as WriteBatch, Rr as addDoc, Nr as arrayRemove, Dr as arrayUnion, dn as collection, wn as collectionGroup, cn as connectFirestoreEmulator, Ar as deleteDoc, Pr as deleteField, mn as doc, gn as documentId, wr as endAt, dr as endBefore, vr as getDoc, Er as getDocs, un as getFirestore, $r as increment, on as initializeFirestore, ur as limit, cr as limitToLast, ir as orderBy, er as query, yn as queryEqual, pn as refEqual, jr as runTransaction, Vr as serverTimestamp, Tr as setDoc, w as setLogLevel, Xn as snapshotEqual, lr as startAfter, hr as startAt, an as terminate, Ir as updateDoc, rr as where, xr as writeBatch };
5957
+ export { gn as Bytes, ln as CollectionReference, an as DocumentReference, Yn as DocumentSnapshot, yn as FieldPath, vn as FieldValue, rn as Firestore, U as FirestoreError, bn as GeoPoint, hn as Query, Zn as QueryConstraint, Hn as QueryDocumentSnapshot, Kn as QuerySnapshot, gt as Timestamp, Ur as Transaction, $r as WriteBatch, Ar as addDoc, Dr as arrayRemove, Vr as arrayUnion, fn as collection, dn as collectionGroup, un as connectFirestoreEmulator, Ir as deleteDoc, Rr as deleteField, wn as doc, _n as documentId, dr as endAt, fr as endBefore, vr as getDoc, br as getDocs, on as getFirestore, Nr as increment, sn as initializeFirestore, or as limit, ur as limitToLast, sr as orderBy, tr as query, pn as queryEqual, mn as refEqual, kr as runTransaction, Pr as serverTimestamp, Er as setDoc, w as setLogLevel, Jn as snapshotEqual, hr as startAfter, ar as startAt, cn as terminate, Tr as updateDoc, nr as where, Fr as writeBatch };
5955
5958
  //# sourceMappingURL=index.browser.esm2017.js.map