@firebase/firestore 3.4.5-canary.091e8676f → 3.4.5-canary.2b98b28f2

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.
@@ -66,7 +66,7 @@ C.MOCK_USER = new C("mock-user");
66
66
  * See the License for the specific language governing permissions and
67
67
  * limitations under the License.
68
68
  */
69
- let x = "9.6.7-canary.091e8676f";
69
+ let x = "9.6.7-canary.2b98b28f2";
70
70
 
71
71
  /**
72
72
  * @license
@@ -1425,7 +1425,7 @@ function Pt(t) {
1425
1425
 
1426
1426
  /**
1427
1427
  * Returns the local time at which this timestamp was first set.
1428
- */ function Vt(t) {
1428
+ */ function bt(t) {
1429
1429
  const e = Et(t.mapValue.fields.__local_write_time__.timestampValue);
1430
1430
  return new ut(e.seconds, e.nanos);
1431
1431
  }
@@ -1445,7 +1445,7 @@ function Pt(t) {
1445
1445
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1446
1446
  * See the License for the specific language governing permissions and
1447
1447
  * limitations under the License.
1448
- */ class bt {
1448
+ */ class Vt {
1449
1449
  /**
1450
1450
  * Constructs a DatabaseInfo using the provided host, databaseId and
1451
1451
  * persistenceKey.
@@ -1636,7 +1636,7 @@ function Ot(t) {
1636
1636
  return t.booleanValue === e.booleanValue;
1637
1637
 
1638
1638
  case 4 /* ServerTimestampValue */ :
1639
- return Vt(t).isEqual(Vt(e));
1639
+ return bt(t).isEqual(bt(e));
1640
1640
 
1641
1641
  case 3 /* TimestampValue */ :
1642
1642
  return function(t, e) {
@@ -1718,7 +1718,7 @@ function Ft(t, e) {
1718
1718
  return Bt(t.timestampValue, e.timestampValue);
1719
1719
 
1720
1720
  case 4 /* ServerTimestampValue */ :
1721
- return Bt(Vt(t), Vt(e));
1721
+ return Bt(bt(t), bt(e));
1722
1722
 
1723
1723
  case 5 /* StringValue */ :
1724
1724
  return rt(t.stringValue, e.stringValue);
@@ -2301,7 +2301,7 @@ function le(t, e) {
2301
2301
  for (let i = 0; i < t.filters.length; i++) if (n = t.filters[i], s = e.filters[i],
2302
2302
  n.op !== s.op || !n.field.isEqual(s.field) || !$t(n.value, s.value)) return !1;
2303
2303
  var n, s;
2304
- return t.collectionGroup === e.collectionGroup && (!!t.path.isEqual(e.path) && (!!be(t.startAt, e.startAt) && be(t.endAt, e.endAt)));
2304
+ return t.collectionGroup === e.collectionGroup && (!!t.path.isEqual(e.path) && (!!Ve(t.startAt, e.startAt) && Ve(t.endAt, e.endAt)));
2305
2305
  }
2306
2306
 
2307
2307
  function fe(t) {
@@ -2469,7 +2469,7 @@ function Pe(t, e) {
2469
2469
  return t.dir === e.dir && t.field.isEqual(e.field);
2470
2470
  }
2471
2471
 
2472
- function Ve(t, e, n) {
2472
+ function be(t, e, n) {
2473
2473
  let s = 0;
2474
2474
  for (let i = 0; i < t.position.length; i++) {
2475
2475
  const r = e[i], o = t.position[i];
@@ -2484,7 +2484,7 @@ function Ve(t, e, n) {
2484
2484
  /**
2485
2485
  * Returns true if a document sorts after a bound using the provided sort
2486
2486
  * order.
2487
- */ function be(t, e) {
2487
+ */ function Ve(t, e) {
2488
2488
  if (null === t) return null === e;
2489
2489
  if (null === e) return !1;
2490
2490
  if (t.inclusive !== e.inclusive || t.position.length !== e.position.length) return !1;
@@ -2660,11 +2660,11 @@ function Ue(t) {
2660
2660
  * order.
2661
2661
  */
2662
2662
  function(t, e, n) {
2663
- const s = Ve(t, e, n);
2663
+ const s = be(t, e, n);
2664
2664
  return t.inclusive ? s <= 0 : s < 0;
2665
2665
  }(t.startAt, $e(t), e)) return !1;
2666
2666
  if (t.endAt && !function(t, e, n) {
2667
- const s = Ve(t, e, n);
2667
+ const s = be(t, e, n);
2668
2668
  return t.inclusive ? s >= 0 : s > 0;
2669
2669
  }(t.endAt, $e(t), e)) return !1;
2670
2670
  return !0;
@@ -3300,7 +3300,7 @@ class Rn extends fn {
3300
3300
  * Important! The names of these identifiers matter because the string forms
3301
3301
  * are used for reverse lookups from the webchannel stream. Do NOT change the
3302
3302
  * names of these identifiers or change this into a const enum.
3303
- */ var Vn, bn;
3303
+ */ var bn, Vn;
3304
3304
 
3305
3305
  /**
3306
3306
  * Determines whether an error code represents a permanent error when received
@@ -3365,55 +3365,55 @@ function Sn(t) {
3365
3365
  // to send invalid proto messages) we may get an error with no GRPC code.
3366
3366
  return M("GRPC error has no .code"), G.UNKNOWN;
3367
3367
  switch (t) {
3368
- case Vn.OK:
3368
+ case bn.OK:
3369
3369
  return G.OK;
3370
3370
 
3371
- case Vn.CANCELLED:
3371
+ case bn.CANCELLED:
3372
3372
  return G.CANCELLED;
3373
3373
 
3374
- case Vn.UNKNOWN:
3374
+ case bn.UNKNOWN:
3375
3375
  return G.UNKNOWN;
3376
3376
 
3377
- case Vn.DEADLINE_EXCEEDED:
3377
+ case bn.DEADLINE_EXCEEDED:
3378
3378
  return G.DEADLINE_EXCEEDED;
3379
3379
 
3380
- case Vn.RESOURCE_EXHAUSTED:
3380
+ case bn.RESOURCE_EXHAUSTED:
3381
3381
  return G.RESOURCE_EXHAUSTED;
3382
3382
 
3383
- case Vn.INTERNAL:
3383
+ case bn.INTERNAL:
3384
3384
  return G.INTERNAL;
3385
3385
 
3386
- case Vn.UNAVAILABLE:
3386
+ case bn.UNAVAILABLE:
3387
3387
  return G.UNAVAILABLE;
3388
3388
 
3389
- case Vn.UNAUTHENTICATED:
3389
+ case bn.UNAUTHENTICATED:
3390
3390
  return G.UNAUTHENTICATED;
3391
3391
 
3392
- case Vn.INVALID_ARGUMENT:
3392
+ case bn.INVALID_ARGUMENT:
3393
3393
  return G.INVALID_ARGUMENT;
3394
3394
 
3395
- case Vn.NOT_FOUND:
3395
+ case bn.NOT_FOUND:
3396
3396
  return G.NOT_FOUND;
3397
3397
 
3398
- case Vn.ALREADY_EXISTS:
3398
+ case bn.ALREADY_EXISTS:
3399
3399
  return G.ALREADY_EXISTS;
3400
3400
 
3401
- case Vn.PERMISSION_DENIED:
3401
+ case bn.PERMISSION_DENIED:
3402
3402
  return G.PERMISSION_DENIED;
3403
3403
 
3404
- case Vn.FAILED_PRECONDITION:
3404
+ case bn.FAILED_PRECONDITION:
3405
3405
  return G.FAILED_PRECONDITION;
3406
3406
 
3407
- case Vn.ABORTED:
3407
+ case bn.ABORTED:
3408
3408
  return G.ABORTED;
3409
3409
 
3410
- case Vn.OUT_OF_RANGE:
3410
+ case bn.OUT_OF_RANGE:
3411
3411
  return G.OUT_OF_RANGE;
3412
3412
 
3413
- case Vn.UNIMPLEMENTED:
3413
+ case bn.UNIMPLEMENTED:
3414
3414
  return G.UNIMPLEMENTED;
3415
3415
 
3416
- case Vn.DATA_LOSS:
3416
+ case bn.DATA_LOSS:
3417
3417
  return G.DATA_LOSS;
3418
3418
 
3419
3419
  default:
@@ -3428,14 +3428,14 @@ function Sn(t) {
3428
3428
  * "UNKNOWN", etc.)
3429
3429
  * @returns The equivalent Code. Non-matching responses are mapped to
3430
3430
  * Code.UNKNOWN.
3431
- */ (bn = Vn || (Vn = {}))[bn.OK = 0] = "OK", bn[bn.CANCELLED = 1] = "CANCELLED",
3432
- bn[bn.UNKNOWN = 2] = "UNKNOWN", bn[bn.INVALID_ARGUMENT = 3] = "INVALID_ARGUMENT",
3433
- bn[bn.DEADLINE_EXCEEDED = 4] = "DEADLINE_EXCEEDED", bn[bn.NOT_FOUND = 5] = "NOT_FOUND",
3434
- bn[bn.ALREADY_EXISTS = 6] = "ALREADY_EXISTS", bn[bn.PERMISSION_DENIED = 7] = "PERMISSION_DENIED",
3435
- bn[bn.UNAUTHENTICATED = 16] = "UNAUTHENTICATED", bn[bn.RESOURCE_EXHAUSTED = 8] = "RESOURCE_EXHAUSTED",
3436
- bn[bn.FAILED_PRECONDITION = 9] = "FAILED_PRECONDITION", bn[bn.ABORTED = 10] = "ABORTED",
3437
- bn[bn.OUT_OF_RANGE = 11] = "OUT_OF_RANGE", bn[bn.UNIMPLEMENTED = 12] = "UNIMPLEMENTED",
3438
- bn[bn.INTERNAL = 13] = "INTERNAL", bn[bn.UNAVAILABLE = 14] = "UNAVAILABLE", bn[bn.DATA_LOSS = 15] = "DATA_LOSS";
3431
+ */ (Vn = bn || (bn = {}))[Vn.OK = 0] = "OK", Vn[Vn.CANCELLED = 1] = "CANCELLED",
3432
+ Vn[Vn.UNKNOWN = 2] = "UNKNOWN", Vn[Vn.INVALID_ARGUMENT = 3] = "INVALID_ARGUMENT",
3433
+ Vn[Vn.DEADLINE_EXCEEDED = 4] = "DEADLINE_EXCEEDED", Vn[Vn.NOT_FOUND = 5] = "NOT_FOUND",
3434
+ Vn[Vn.ALREADY_EXISTS = 6] = "ALREADY_EXISTS", Vn[Vn.PERMISSION_DENIED = 7] = "PERMISSION_DENIED",
3435
+ Vn[Vn.UNAUTHENTICATED = 16] = "UNAUTHENTICATED", Vn[Vn.RESOURCE_EXHAUSTED = 8] = "RESOURCE_EXHAUSTED",
3436
+ Vn[Vn.FAILED_PRECONDITION = 9] = "FAILED_PRECONDITION", Vn[Vn.ABORTED = 10] = "ABORTED",
3437
+ Vn[Vn.OUT_OF_RANGE = 11] = "OUT_OF_RANGE", Vn[Vn.UNIMPLEMENTED = 12] = "UNIMPLEMENTED",
3438
+ Vn[Vn.INTERNAL = 13] = "INTERNAL", Vn[Vn.UNAVAILABLE = 14] = "UNAVAILABLE", Vn[Vn.DATA_LOSS = 15] = "DATA_LOSS";
3439
3439
 
3440
3440
  /**
3441
3441
  * @license
@@ -4862,7 +4862,7 @@ function As(t, e) {
4862
4862
  function(t) {
4863
4863
  return {
4864
4864
  field: Ss(t.field),
4865
- direction: bs(t.dir)
4865
+ direction: Vs(t.dir)
4866
4866
  };
4867
4867
  }(t)));
4868
4868
  }(e.orderBy);
@@ -4897,7 +4897,7 @@ function Rs(t) {
4897
4897
  t.allDescendants ? i = t.collectionId : e = e.child(t.collectionId);
4898
4898
  }
4899
4899
  let r = [];
4900
- n.where && (r = Vs(n.where));
4900
+ n.where && (r = bs(n.where));
4901
4901
  let o = [];
4902
4902
  n.orderBy && (o = n.orderBy.map((t => function(t) {
4903
4903
  return new Re(Ds(t.field),
@@ -4957,11 +4957,11 @@ function Ps(t, e) {
4957
4957
  };
4958
4958
  }
4959
4959
 
4960
- function Vs(t) {
4961
- return t ? void 0 !== t.unaryFilter ? [ xs(t) ] : void 0 !== t.fieldFilter ? [ Cs(t) ] : void 0 !== t.compositeFilter ? t.compositeFilter.filters.map((t => Vs(t))).reduce(((t, e) => t.concat(e))) : L() : [];
4960
+ function bs(t) {
4961
+ return t ? void 0 !== t.unaryFilter ? [ xs(t) ] : void 0 !== t.fieldFilter ? [ Cs(t) ] : void 0 !== t.compositeFilter ? t.compositeFilter.filters.map((t => bs(t))).reduce(((t, e) => t.concat(e))) : L() : [];
4962
4962
  }
4963
4963
 
4964
- function bs(t) {
4964
+ function Vs(t) {
4965
4965
  return ts[t];
4966
4966
  }
4967
4967
 
@@ -6078,12 +6078,12 @@ class li {
6078
6078
  * objectstores.
6079
6079
  */
6080
6080
  constructor(t, e, n) {
6081
- this.name = t, this.version = e, this.Vt = n;
6081
+ this.name = t, this.version = e, this.bt = n;
6082
6082
  // NOTE: According to https://bugs.webkit.org/show_bug.cgi?id=197050, the
6083
6083
  // bug we're checking for should exist in iOS >= 12.2 and < 13, but for
6084
6084
  // whatever reason it's much harder to hit after 12.2 so we only proactively
6085
6085
  // log on 12.2.
6086
- 12.2 === fi.bt(getUA()) && M("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");
6086
+ 12.2 === fi.Vt(getUA()) && M("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.");
6087
6087
  }
6088
6088
  /** Deletes the specified database. */ static delete(t) {
6089
6089
  return $("SimpleDb", "Removing database:", t), gi(window.indexedDB.deleteDatabase(t)).toPromise();
@@ -6098,7 +6098,7 @@ class li {
6098
6098
  // For tracking support of this feature, see here:
6099
6099
  // https://developer.microsoft.com/en-us/microsoft-edge/platform/status/indexeddbarraysandmultientrysupport/
6100
6100
  // Check the UA string to find out the browser.
6101
- const t = getUA(), e = fi.bt(t), n = 0 < e && e < 10, s = fi.Dt(t), i = 0 < s && s < 4.5;
6101
+ const t = getUA(), e = fi.Vt(t), n = 0 < e && e < 10, s = fi.Dt(t), i = 0 < s && s < 4.5;
6102
6102
  // IE 10
6103
6103
  // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';
6104
6104
  // IE 11
@@ -6121,7 +6121,7 @@ class li {
6121
6121
  }
6122
6122
  // visible for testing
6123
6123
  /** Parse User Agent to determine iOS version. Returns -1 if not found. */
6124
- static bt(t) {
6124
+ static Vt(t) {
6125
6125
  const e = t.match(/i(?:phone|pad|pod) os ([\d_]+)/i), n = e ? e[1].split("_").slice(0, 2).join(".") : "-1";
6126
6126
  return Number(n);
6127
6127
  }
@@ -6152,7 +6152,7 @@ class li {
6152
6152
  }, s.onupgradeneeded = t => {
6153
6153
  $("SimpleDb", 'Database "' + this.name + '" requires upgrade from version:', t.oldVersion);
6154
6154
  const e = t.target.result;
6155
- this.Vt.kt(e, s.transaction, t.oldVersion, this.version).next((() => {
6155
+ this.bt.kt(e, s.transaction, t.oldVersion, this.version).next((() => {
6156
6156
  $("SimpleDb", "Database upgrade to version " + this.version + " complete");
6157
6157
  }));
6158
6158
  };
@@ -6420,7 +6420,7 @@ class li {
6420
6420
  let yi = !1;
6421
6421
 
6422
6422
  function pi(t) {
6423
- const e = fi.bt(getUA());
6423
+ const e = fi.Vt(getUA());
6424
6424
  if (e >= 12.2 && e < 13) {
6425
6425
  const e = "An internal error was encountered in the Indexed Database server";
6426
6426
  if (t.message.indexOf(e) >= 0) {
@@ -6686,13 +6686,13 @@ function Ei(t, e) {
6686
6686
  * See the License for the specific language governing permissions and
6687
6687
  * limitations under the License.
6688
6688
  */
6689
- /** Serializer for values stored in the LocalStore. */ class Vi {
6689
+ /** Serializer for values stored in the LocalStore. */ class bi {
6690
6690
  constructor(t) {
6691
6691
  this.Jt = t;
6692
6692
  }
6693
6693
  }
6694
6694
 
6695
- /** Decodes a remote document from storage locally to a Document. */ function bi(t, e) {
6695
+ /** Decodes a remote document from storage locally to a Document. */ function Vi(t, e) {
6696
6696
  let n;
6697
6697
  if (e.document) n = ms(t.Jt, e.document, !!e.hasCommittedMutations); else if (e.noDocument) {
6698
6698
  const t = xt.fromSegments(e.noDocument.path), s = xi(e.noDocument.readTime);
@@ -7183,12 +7183,12 @@ function Qi(t) {
7183
7183
  * Writes the "infinity" byte sequence that sorts after all other byte
7184
7184
  * sequences written in ascending order.
7185
7185
  */ Pe() {
7186
- this.Ve(255), this.Ve(255);
7186
+ this.be(255), this.be(255);
7187
7187
  }
7188
7188
  /**
7189
7189
  * Writes the "infinity" byte sequence that sorts before all other byte
7190
7190
  * sequences written in descending order.
7191
- */ be() {
7191
+ */ Ve() {
7192
7192
  this.ve(255), this.ve(255);
7193
7193
  }
7194
7194
  /**
@@ -7225,19 +7225,19 @@ function Qi(t) {
7225
7225
  }
7226
7226
  /** Writes a single byte ascending to the buffer. */ _e(t) {
7227
7227
  const e = 255 & t;
7228
- 0 === e ? (this.Ve(0), this.Ve(255)) : 255 === e ? (this.Ve(255), this.Ve(0)) : this.Ve(e);
7228
+ 0 === e ? (this.be(0), this.be(255)) : 255 === e ? (this.be(255), this.be(0)) : this.be(e);
7229
7229
  }
7230
7230
  /** Writes a single byte descending to the buffer. */ ge(t) {
7231
7231
  const e = 255 & t;
7232
7232
  0 === e ? (this.ve(0), this.ve(255)) : 255 === e ? (this.ve(255), this.ve(0)) : this.ve(t);
7233
7233
  }
7234
7234
  we() {
7235
- this.Ve(0), this.Ve(1);
7235
+ this.be(0), this.be(1);
7236
7236
  }
7237
7237
  ye() {
7238
7238
  this.ve(0), this.ve(1);
7239
7239
  }
7240
- Ve(t) {
7240
+ be(t) {
7241
7241
  this.Ae(1), this.buffer[this.position++] = t;
7242
7242
  }
7243
7243
  ve(t) {
@@ -7289,7 +7289,7 @@ class Hi {
7289
7289
  this.De.Re(t);
7290
7290
  }
7291
7291
  ee() {
7292
- this.De.be();
7292
+ this.De.Ve();
7293
7293
  }
7294
7294
  }
7295
7295
 
@@ -8031,8 +8031,10 @@ class rr {
8031
8031
  }));
8032
8032
  }
8033
8033
  getNextCollectionGroupToUpdate(t) {
8034
- return this.getFieldIndexes(t).next((t => 0 === t.length ? null : (t.sort(((t, e) => t.indexState.sequenceNumber - e.indexState.sequenceNumber)),
8035
- t[0].collectionGroup)));
8034
+ return this.getFieldIndexes(t).next((t => 0 === t.length ? null : (t.sort(((t, e) => {
8035
+ const n = t.indexState.sequenceNumber - e.indexState.sequenceNumber;
8036
+ return 0 !== n ? n : rt(t.collectionGroup, e.collectionGroup);
8037
+ })), t[0].collectionGroup)));
8036
8038
  }
8037
8039
  updateCollectionGroup(t, e, n) {
8038
8040
  const s = ur(t), i = ar(t);
@@ -8859,7 +8861,7 @@ class pr {
8859
8861
  * Used to calculate the nth sequence number. Keeps a rolling buffer of the
8860
8862
  * lowest n values passed to `addElement`, and finally reports the largest of
8861
8863
  * them in `maxValue`.
8862
- */ class Vr {
8864
+ */ class br {
8863
8865
  constructor(t) {
8864
8866
  this.Tn = t, this.buffer = new Nn(Pr), this.An = 0;
8865
8867
  }
@@ -8887,23 +8889,23 @@ class pr {
8887
8889
  /**
8888
8890
  * This class is responsible for the scheduling of LRU garbage collection. It handles checking
8889
8891
  * whether or not GC is enabled, as well as which delay to use before the next run.
8890
- */ class br {
8892
+ */ class Vr {
8891
8893
  constructor(t, e) {
8892
- this.garbageCollector = t, this.asyncQueue = e, this.Vn = !1, this.bn = null;
8894
+ this.garbageCollector = t, this.asyncQueue = e, this.bn = !1, this.Vn = null;
8893
8895
  }
8894
8896
  start(t) {
8895
8897
  -1 !== this.garbageCollector.params.cacheSizeCollectionThreshold && this.vn(t);
8896
8898
  }
8897
8899
  stop() {
8898
- this.bn && (this.bn.cancel(), this.bn = null);
8900
+ this.Vn && (this.Vn.cancel(), this.Vn = null);
8899
8901
  }
8900
8902
  get started() {
8901
- return null !== this.bn;
8903
+ return null !== this.Vn;
8902
8904
  }
8903
8905
  vn(t) {
8904
- const e = this.Vn ? 3e5 : 6e4;
8905
- $("LruGarbageCollector", `Garbage collection scheduled in ${e}ms`), this.bn = this.asyncQueue.enqueueAfterDelay("lru_garbage_collection" /* LruGarbageCollection */ , e, (async () => {
8906
- this.bn = null, this.Vn = !0;
8906
+ const e = this.bn ? 3e5 : 6e4;
8907
+ $("LruGarbageCollector", `Garbage collection scheduled in ${e}ms`), this.Vn = this.asyncQueue.enqueueAfterDelay("lru_garbage_collection" /* LruGarbageCollection */ , e, (async () => {
8908
+ this.Vn = null, this.bn = !0;
8907
8909
  try {
8908
8910
  await t.collectGarbage(this.garbageCollector);
8909
8911
  } catch (t) {
@@ -8923,7 +8925,7 @@ class pr {
8923
8925
  }
8924
8926
  nthSequenceNumber(t, e) {
8925
8927
  if (0 === e) return hi.resolve(nt.A);
8926
- const n = new Vr(e);
8928
+ const n = new br(e);
8927
8929
  return this.Sn.forEachTarget(t, (t => n.Pn(t.sequenceNumber))).next((() => this.Sn.Cn(t, (t => n.Pn(t))))).next((() => n.maxValue));
8928
8930
  }
8929
8931
  removeTargets(t, e, n) {
@@ -9331,7 +9333,7 @@ function Dr(t, e) {
9331
9333
  * the document corresponds to the format used for sentinel deletes).
9332
9334
  */ Mn(t, e) {
9333
9335
  if (e) {
9334
- const t = bi(this.O, e);
9336
+ const t = Vi(this.O, e);
9335
9337
  // Whether the document is a sentinel removal and should only be used in the
9336
9338
  // `getNewDocumentChanges()`
9337
9339
  if (!(t.isNoDocument() && t.version.isEqual(at.min()))) return t;
@@ -9746,7 +9748,7 @@ class Lr {
9746
9748
  this.ss = Number.NEGATIVE_INFINITY,
9747
9749
  /** A listener to notify on primary state changes. */
9748
9750
  this.rs = t => Promise.resolve(), !Lr.vt()) throw new j(G.UNIMPLEMENTED, "This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");
9749
- this.referenceDelegate = new Sr(this, s), this.os = e + "main", this.O = new Vi(c),
9751
+ this.referenceDelegate = new Sr(this, s), this.os = e + "main", this.O = new bi(c),
9750
9752
  this.cs = new fi(this.os, this.schemaVersion, new Mr(this.O)), this.us = new Ir(this.referenceDelegate, this.O),
9751
9753
  this.hs = function(t) {
9752
9754
  return new xr(t);
@@ -9847,12 +9849,12 @@ class Lr {
9847
9849
  * RemoteDocumentChanges and the ClientMetadata store based on the last update
9848
9850
  * time of all clients.
9849
9851
  */ async Ps() {
9850
- if (this.isPrimary && !this.Vs(this.ss, 18e5)) {
9852
+ if (this.isPrimary && !this.bs(this.ss, 18e5)) {
9851
9853
  this.ss = Date.now();
9852
9854
  const t = await this.runTransaction("maybeGarbageCollectMultiClientState", "readwrite-primary", (t => {
9853
9855
  const e = Ei(t, Xs.store);
9854
9856
  return e.qt().next((t => {
9855
- const n = this.bs(t, 18e5), s = t.filter((t => -1 === n.indexOf(t)));
9857
+ const n = this.Vs(t, 18e5), s = t.filter((t => -1 === n.indexOf(t)));
9856
9858
  // Delete metadata for clients that are no longer considered active.
9857
9859
  return hi.forEach(s, (t => e.delete(t.clientId))).next((() => s));
9858
9860
  }));
@@ -9892,7 +9894,7 @@ class Lr {
9892
9894
  // - every clients network is disabled and no other client's tab is in
9893
9895
  // the foreground.
9894
9896
  // - the `forceOwningTab` setting was passed in.
9895
- if (null !== e && this.Vs(e.leaseTimestampMs, 5e3) && !this.Ss(e.ownerId)) {
9897
+ if (null !== e && this.bs(e.leaseTimestampMs, 5e3) && !this.Ss(e.ownerId)) {
9896
9898
  if (this.As(e) && this.networkEnabled) return !0;
9897
9899
  if (!this.As(e)) {
9898
9900
  if (!e.allowTabSynchronization)
@@ -9911,7 +9913,7 @@ class Lr {
9911
9913
  return !1;
9912
9914
  }
9913
9915
  }
9914
- return !(!this.networkEnabled || !this.inForeground) || qr(t).qt().next((t => void 0 === this.bs(t, 5e3).find((t => {
9916
+ return !(!this.networkEnabled || !this.inForeground) || qr(t).qt().next((t => void 0 === this.Vs(t, 5e3).find((t => {
9915
9917
  if (this.clientId !== t.clientId) {
9916
9918
  const e = !this.networkEnabled && t.networkEnabled, n = !this.inForeground && t.inForeground, s = this.networkEnabled === t.networkEnabled;
9917
9919
  if (e || n && s) return !0;
@@ -9939,8 +9941,8 @@ class Lr {
9939
9941
  /**
9940
9942
  * Returns clients that are not zombied and have an updateTime within the
9941
9943
  * provided threshold.
9942
- */ bs(t, e) {
9943
- return t.filter((t => this.Vs(t.updateTimeMs, e) && !this.Ss(t.clientId)));
9944
+ */ Vs(t, e) {
9945
+ return t.filter((t => this.bs(t.updateTimeMs, e) && !this.Ss(t.clientId)));
9944
9946
  }
9945
9947
  /**
9946
9948
  * Returns the IDs of the clients that are currently active. If multi-tab
@@ -9949,7 +9951,7 @@ class Lr {
9949
9951
  *
9950
9952
  * PORTING NOTE: This is only used for Web multi-tab.
9951
9953
  */ ks() {
9952
- return this.runTransaction("getActiveClients", "readonly", (t => qr(t).qt().next((t => this.bs(t, 18e5).map((t => t.clientId))))));
9954
+ return this.runTransaction("getActiveClients", "readonly", (t => qr(t).qt().next((t => this.Vs(t, 18e5).map((t => t.clientId))))));
9953
9955
  }
9954
9956
  get started() {
9955
9957
  return this.Zn;
@@ -9996,7 +9998,7 @@ class Lr {
9996
9998
  // be turned off.
9997
9999
  Os(t) {
9998
10000
  return Ur(t).get(Ls.key).next((t => {
9999
- if (null !== t && this.Vs(t.leaseTimestampMs, 5e3) && !this.Ss(t.ownerId) && !this.As(t) && !(this.Yn || this.allowTabSynchronization && t.allowTabSynchronization)) throw new j(G.FAILED_PRECONDITION, Br);
10001
+ if (null !== t && this.bs(t.leaseTimestampMs, 5e3) && !this.Ss(t.ownerId) && !this.As(t) && !(this.Yn || this.allowTabSynchronization && t.allowTabSynchronization)) throw new j(G.FAILED_PRECONDITION, Br);
10000
10002
  }));
10001
10003
  }
10002
10004
  /**
@@ -10014,7 +10016,7 @@ class Lr {
10014
10016
  return e.get(Ls.key).next((t => this.As(t) ? ($("IndexedDbPersistence", "Releasing primary lease."),
10015
10017
  e.delete(Ls.key)) : hi.resolve()));
10016
10018
  }
10017
- /** Verifies that `updateTimeMs` is within `maxAgeMs`. */ Vs(t, e) {
10019
+ /** Verifies that `updateTimeMs` is within `maxAgeMs`. */ bs(t, e) {
10018
10020
  const n = Date.now();
10019
10021
  return !(t < n - e) && (!(t > n) || (M(`Detected an update time that is in the future: ${t} > ${n}`),
10020
10022
  !1));
@@ -10790,7 +10792,7 @@ function oo(t) {
10790
10792
  }, ((t, e) => {
10791
10793
  // Unlike `getEntry()` and others, `getNewDocumentChanges()` parses
10792
10794
  // the documents directly since we want to keep sentinel deletes.
10793
- const n = bi(s.O, e);
10795
+ const n = Vi(s.O, e);
10794
10796
  i = i.insert(n.key, n), r = e.readTime;
10795
10797
  })).next((() => ({
10796
10798
  $s: i,
@@ -11093,13 +11095,13 @@ async function ao(t, e, n = qn()) {
11093
11095
 
11094
11096
  class _o {
11095
11097
  constructor(t, e) {
11096
- this.key = t, this.Vi = e;
11098
+ this.key = t, this.bi = e;
11097
11099
  }
11098
11100
  /** Compare by key then by ID */ static gi(t, e) {
11099
- return xt.comparator(t.key, e.key) || rt(t.Vi, e.Vi);
11101
+ return xt.comparator(t.key, e.key) || rt(t.bi, e.bi);
11100
11102
  }
11101
11103
  /** Compare by ID then by key */ static pi(t, e) {
11102
- return rt(t.Vi, e.Vi) || xt.comparator(t.key, e.key);
11104
+ return rt(t.bi, e.bi) || xt.comparator(t.key, e.key);
11103
11105
  }
11104
11106
  }
11105
11107
 
@@ -11127,7 +11129,7 @@ class _o {
11127
11129
  */
11128
11130
  this.Ms = [],
11129
11131
  /** Next value to use when assigning sequential IDs to each mutation batch. */
11130
- this.bi = 1,
11132
+ this.Vi = 1,
11131
11133
  /** An ordered mapping between documents and the mutations batch IDs. */
11132
11134
  this.vi = new Nn(_o.gi);
11133
11135
  }
@@ -11135,8 +11137,8 @@ class _o {
11135
11137
  return hi.resolve(0 === this.Ms.length);
11136
11138
  }
11137
11139
  addMutationBatch(t, e, n, s) {
11138
- const i = this.bi;
11139
- this.bi++, this.Ms.length > 0 && this.Ms[this.Ms.length - 1];
11140
+ const i = this.Vi;
11141
+ this.Vi++, this.Ms.length > 0 && this.Ms[this.Ms.length - 1];
11140
11142
  const r = new Ti(i, e, n, s);
11141
11143
  this.Ms.push(r);
11142
11144
  // Track references by document key and index collection parents.
@@ -11153,7 +11155,7 @@ class _o {
11153
11155
  return hi.resolve(this.Ms.length > i ? this.Ms[i] : null);
11154
11156
  }
11155
11157
  getHighestUnacknowledgedBatchId() {
11156
- return hi.resolve(0 === this.Ms.length ? -1 : this.bi - 1);
11158
+ return hi.resolve(0 === this.Ms.length ? -1 : this.Vi - 1);
11157
11159
  }
11158
11160
  getAllMutationBatches(t) {
11159
11161
  return hi.resolve(this.Ms.slice());
@@ -11161,7 +11163,7 @@ class _o {
11161
11163
  getAllMutationBatchesAffectingDocumentKey(t, e) {
11162
11164
  const n = new _o(e, 0), s = new _o(e, Number.POSITIVE_INFINITY), i = [];
11163
11165
  return this.vi.forEachInRange([ n, s ], (t => {
11164
- const e = this.Si(t.Vi);
11166
+ const e = this.Si(t.bi);
11165
11167
  i.push(e);
11166
11168
  })), hi.resolve(i);
11167
11169
  }
@@ -11170,7 +11172,7 @@ class _o {
11170
11172
  return e.forEach((t => {
11171
11173
  const e = new _o(t, 0), s = new _o(t, Number.POSITIVE_INFINITY);
11172
11174
  this.vi.forEachInRange([ e, s ], (t => {
11173
- n = n.add(t.Vi);
11175
+ n = n.add(t.bi);
11174
11176
  }));
11175
11177
  })), hi.resolve(this.Ci(n));
11176
11178
  }
@@ -11196,7 +11198,7 @@ class _o {
11196
11198
  // the document /rooms/abc/messages/xyx.
11197
11199
  // TODO(mcg): we'll need a different scanner when we implement
11198
11200
  // ancestor queries.
11199
- e.length === s && (o = o.add(t.Vi)), !0);
11201
+ e.length === s && (o = o.add(t.bi)), !0);
11200
11202
  }), r), hi.resolve(this.Ci(o));
11201
11203
  }
11202
11204
  Ci(t) {
@@ -11521,7 +11523,7 @@ class po {
11521
11523
  this.referenceDelegate = t(this), this.us = new yo(this);
11522
11524
  this.indexManager = new nr, this.hs = function(t) {
11523
11525
  return new mo(t);
11524
- }((t => this.referenceDelegate.Li(t))), this.O = new Vi(e), this.ls = new ho(this.O);
11526
+ }((t => this.referenceDelegate.Li(t))), this.O = new bi(e), this.ls = new ho(this.O);
11525
11527
  }
11526
11528
  start() {
11527
11529
  return Promise.resolve();
@@ -11721,7 +11723,7 @@ class Po {
11721
11723
  * target is 'not-current', 'current' or 'rejected'.
11722
11724
  */
11723
11725
  // Visible for testing
11724
- class Vo {
11726
+ class bo {
11725
11727
  constructor(t, e, n) {
11726
11728
  this.targetId = t, this.state = e, this.error = n;
11727
11729
  }
@@ -11732,7 +11734,7 @@ class Vo {
11732
11734
  const n = JSON.parse(e);
11733
11735
  let s, i = "object" == typeof n && -1 !== [ "not-current", "current", "rejected" ].indexOf(n.state) && (void 0 === n.error || "object" == typeof n.error);
11734
11736
  return i && n.error && (i = "string" == typeof n.error.message && "string" == typeof n.error.code,
11735
- i && (s = new j(n.error.code, n.error.message))), i ? new Vo(t, n.state, s) : (M("SharedClientState", `Failed to parse target state for ID '${t}': ${e}`),
11737
+ i && (s = new j(n.error.code, n.error.message))), i ? new bo(t, n.state, s) : (M("SharedClientState", `Failed to parse target state for ID '${t}': ${e}`),
11736
11738
  null);
11737
11739
  }
11738
11740
  Ji() {
@@ -11750,7 +11752,7 @@ class Vo {
11750
11752
  /**
11751
11753
  * This class represents the immutable ClientState for a client read from
11752
11754
  * WebStorage, containing the list of active query targets.
11753
- */ class bo {
11755
+ */ class Vo {
11754
11756
  constructor(t, e) {
11755
11757
  this.clientId = t, this.activeTargetIds = e;
11756
11758
  }
@@ -11762,7 +11764,7 @@ class Vo {
11762
11764
  let s = "object" == typeof n && n.activeTargetIds instanceof Array, i = Gn();
11763
11765
  for (let t = 0; s && t < n.activeTargetIds.length; ++t) s = Ct(n.activeTargetIds[t]),
11764
11766
  i = i.add(n.activeTargetIds[t]);
11765
- return s ? new bo(t, i) : (M("SharedClientState", `Failed to parse client data for instance '${t}': ${e}`),
11767
+ return s ? new Vo(t, i) : (M("SharedClientState", `Failed to parse client data for instance '${t}': ${e}`),
11766
11768
  null);
11767
11769
  }
11768
11770
  }
@@ -11892,7 +11894,7 @@ class So {
11892
11894
  if (e === this.Zi) continue;
11893
11895
  const t = this.getItem(To(this.persistenceKey, e));
11894
11896
  if (t) {
11895
- const n = bo.Hi(e, t);
11897
+ const n = Vo.Hi(e, t);
11896
11898
  n && (this.nr = this.nr.insert(n.clientId, n));
11897
11899
  }
11898
11900
  }
@@ -11939,7 +11941,7 @@ class So {
11939
11941
  if (this.isActiveQueryTarget(t)) {
11940
11942
  const n = this.storage.getItem(Ro(this.persistenceKey, t));
11941
11943
  if (n) {
11942
- const s = Vo.Hi(t, n);
11944
+ const s = bo.Hi(t, n);
11943
11945
  s && (e = s.state);
11944
11946
  }
11945
11947
  }
@@ -12003,8 +12005,8 @@ class So {
12003
12005
  }
12004
12006
  } else if (this.ur.test(e.key)) {
12005
12007
  if (null !== e.newValue) {
12006
- const t = this.Vr(e.key, e.newValue);
12007
- if (t) return this.br(t);
12008
+ const t = this.br(e.key, e.newValue);
12009
+ if (t) return this.Vr(t);
12008
12010
  }
12009
12011
  } else if (this.ar.test(e.key)) {
12010
12012
  if (null !== e.newValue) {
@@ -12060,7 +12062,7 @@ class So {
12060
12062
  this.storage.setItem(this.hr, JSON.stringify(e));
12061
12063
  }
12062
12064
  Ir(t, e, n) {
12063
- const s = Ro(this.persistenceKey, t), i = new Vo(t, e, n);
12065
+ const s = Ro(this.persistenceKey, t), i = new bo(t, e, n);
12064
12066
  this.setItem(s, i.Ji());
12065
12067
  }
12066
12068
  Tr() {
@@ -12078,12 +12080,12 @@ class So {
12078
12080
  * be parsed.
12079
12081
  */ Pr(t, e) {
12080
12082
  const n = this.Ar(t);
12081
- return bo.Hi(n, e);
12083
+ return Vo.Hi(n, e);
12082
12084
  }
12083
12085
  /**
12084
12086
  * Parses a mutation batch state in WebStorage. Returns 'null' if the value
12085
12087
  * could not be parsed.
12086
- */ Vr(t, e) {
12088
+ */ br(t, e) {
12087
12089
  const n = this.ur.exec(t), s = Number(n[1]), i = void 0 !== n[2] ? n[2] : null;
12088
12090
  return Po.Hi(new C(i), s, e);
12089
12091
  }
@@ -12092,7 +12094,7 @@ class So {
12092
12094
  * could not be parsed.
12093
12095
  */ vr(t, e) {
12094
12096
  const n = this.ar.exec(t), s = Number(n[1]);
12095
- return Vo.Hi(s, e);
12097
+ return bo.Hi(s, e);
12096
12098
  }
12097
12099
  /**
12098
12100
  * Parses an online state from WebStorage. Returns 'null' if the value
@@ -12100,7 +12102,7 @@ class So {
12100
12102
  */ _r(t) {
12101
12103
  return vo.Hi(t);
12102
12104
  }
12103
- async br(t) {
12105
+ async Vr(t) {
12104
12106
  if (t.user.uid === this.currentUser.uid) return this.syncEngine.Cr(t.batchId, t.state, t.error);
12105
12107
  $("SharedClientState", `Ignoring mutation for non-active user ${t.user.uid}`);
12106
12108
  }
@@ -12545,7 +12547,7 @@ class {
12545
12547
  function(t) {
12546
12548
  // lookup by string
12547
12549
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12548
- const e = Vn[t];
12550
+ const e = bn[t];
12549
12551
  if (void 0 !== e) return Sn(e);
12550
12552
  }(t), n = i.message;
12551
12553
  void 0 === e && (e = G.INTERNAL, n = "Unknown error status: " + t + " with message " + i.message),
@@ -12773,7 +12775,7 @@ class Uo {
12773
12775
  * getCloseGuardedDispatcher() to invalidate callbacks that happen after
12774
12776
  * close.
12775
12777
  */
12776
- this.Ro = 0, this.Po = null, this.Vo = null, this.stream = null, this.bo = new Lo(t, e);
12778
+ this.Ro = 0, this.Po = null, this.bo = null, this.stream = null, this.Vo = new Lo(t, e);
12777
12779
  }
12778
12780
  /**
12779
12781
  * Returns true if start() has been called and no error has occurred. True
@@ -12815,7 +12817,7 @@ class Uo {
12815
12817
  * Each error will call the onClose() listener. That function can decide to
12816
12818
  * inhibit backoff if required.
12817
12819
  */ Co() {
12818
- this.state = 0 /* Initial */ , this.bo.reset();
12820
+ this.state = 0 /* Initial */ , this.Vo.reset();
12819
12821
  }
12820
12822
  /**
12821
12823
  * Marks this stream as idle. If no further actions are performed on the
@@ -12844,7 +12846,7 @@ class Uo {
12844
12846
  this.Po && (this.Po.cancel(), this.Po = null);
12845
12847
  }
12846
12848
  /** Cancels the health check delayed operation. */ $o() {
12847
- this.Vo && (this.Vo.cancel(), this.Vo = null);
12849
+ this.bo && (this.bo.cancel(), this.bo = null);
12848
12850
  }
12849
12851
  /**
12850
12852
  * Closes the stream and cleans up as necessary:
@@ -12860,15 +12862,15 @@ class Uo {
12860
12862
  * @param error - the error the connection was closed with.
12861
12863
  */ async close(t, e) {
12862
12864
  // Cancel any outstanding timers (they're guaranteed not to execute).
12863
- this.Oo(), this.$o(), this.bo.cancel(),
12865
+ this.Oo(), this.$o(), this.Vo.cancel(),
12864
12866
  // Invalidates any stream-related callbacks (e.g. from auth or the
12865
12867
  // underlying stream), guaranteeing they won't execute.
12866
12868
  this.Ro++, 4 /* Error */ !== t ?
12867
12869
  // If this is an intentional close ensure we don't delay our next connection attempt.
12868
- this.bo.reset() : e && e.code === G.RESOURCE_EXHAUSTED ? (
12870
+ this.Vo.reset() : e && e.code === G.RESOURCE_EXHAUSTED ? (
12869
12871
  // Log the error. (Probably either 'quota exceeded' or 'max queue length reached'.)
12870
12872
  M(e.toString()), M("Using maximum backoff delay to prevent overloading the backend."),
12871
- this.bo.mo()) : e && e.code === G.UNAUTHENTICATED && 3 /* Healthy */ !== this.state && (
12873
+ this.Vo.mo()) : e && e.code === G.UNAUTHENTICATED && 3 /* Healthy */ !== this.state && (
12872
12874
  // "unauthenticated" error means the token was rejected. This should rarely
12873
12875
  // happen since both Auth and AppCheck ensure a sufficient TTL when we
12874
12876
  // request a token. If a user manually resets their system clock this can
@@ -12912,7 +12914,7 @@ class Uo {
12912
12914
  Bo(t, e) {
12913
12915
  const n = this.Fo(this.Ro);
12914
12916
  this.stream = this.Uo(t, e), this.stream.Qr((() => {
12915
- n((() => (this.state = 2 /* Open */ , this.Vo = this.Hn.enqueueAfterDelay(this.To, 1e4, (() => (this.So() && (this.state = 3 /* Healthy */),
12917
+ n((() => (this.state = 2 /* Open */ , this.bo = this.Hn.enqueueAfterDelay(this.To, 1e4, (() => (this.So() && (this.state = 3 /* Healthy */),
12916
12918
  Promise.resolve()))), this.listener.Qr())));
12917
12919
  })), this.stream.zr((t => {
12918
12920
  n((() => this.Lo(t)));
@@ -12921,7 +12923,7 @@ class Uo {
12921
12923
  }));
12922
12924
  }
12923
12925
  Do() {
12924
- this.state = 5 /* Backoff */ , this.bo.yo((async () => {
12926
+ this.state = 5 /* Backoff */ , this.Vo.yo((async () => {
12925
12927
  this.state = 0 /* Initial */ , this.start();
12926
12928
  }));
12927
12929
  }
@@ -12962,7 +12964,7 @@ class Uo {
12962
12964
  }
12963
12965
  onMessage(t) {
12964
12966
  // A successful response means the stream is healthy
12965
- this.bo.reset();
12967
+ this.Vo.reset();
12966
12968
  const e = ys(this.O, t), n = function(t) {
12967
12969
  // We have only reached a consistent snapshot for the entire stream if there
12968
12970
  // is a read_time set and it applies to all targets (i.e. the list of
@@ -13049,7 +13051,7 @@ class Uo {
13049
13051
  // A successful first write response means the stream is healthy,
13050
13052
  // Note, that we could consider a successful handshake healthy, however,
13051
13053
  // the write itself might be causing an error we want to back off from.
13052
- this.bo.reset();
13054
+ this.Vo.reset();
13053
13055
  const e = Es(t.writeResults, t.commitTime), n = os(t.commitTime);
13054
13056
  return this.listener.zo(n, e);
13055
13057
  }
@@ -13946,13 +13948,13 @@ class Pc {
13946
13948
  /**
13947
13949
  * Holds the listeners and the last received ViewSnapshot for a query being
13948
13950
  * tracked by EventManager.
13949
- */ class Vc {
13951
+ */ class bc {
13950
13952
  constructor() {
13951
13953
  this.yc = void 0, this.listeners = [];
13952
13954
  }
13953
13955
  }
13954
13956
 
13955
- class bc {
13957
+ class Vc {
13956
13958
  constructor() {
13957
13959
  this.queries = new er((t => Le(t)), Be), this.onlineState = "Unknown" /* Unknown */ ,
13958
13960
  this.Ic = new Set;
@@ -13962,7 +13964,7 @@ class bc {
13962
13964
  async function vc(t, e) {
13963
13965
  const n = K(t), s = e.query;
13964
13966
  let i = !1, r = n.queries.get(s);
13965
- if (r || (i = !0, r = new Vc), i) try {
13967
+ if (r || (i = !0, r = new bc), i) try {
13966
13968
  r.yc = await n.onListen(s);
13967
13969
  } catch (t) {
13968
13970
  const n = Tc(t, `Initialization of query '${Ue(e.query)}' failed`);
@@ -14042,7 +14044,7 @@ function xc(t) {
14042
14044
  /* excludesMetadataChanges= */ !0);
14043
14045
  }
14044
14046
  let e = !1;
14045
- return this.Rc ? this.Vc(t) && (this.Ac.next(t), e = !0) : this.bc(t, this.onlineState) && (this.vc(t),
14047
+ return this.Rc ? this.bc(t) && (this.Ac.next(t), e = !0) : this.Vc(t, this.onlineState) && (this.vc(t),
14046
14048
  e = !0), this.Pc = t, e;
14047
14049
  }
14048
14050
  onError(t) {
@@ -14051,10 +14053,10 @@ function xc(t) {
14051
14053
  /** Returns whether a snapshot was raised. */ Ec(t) {
14052
14054
  this.onlineState = t;
14053
14055
  let e = !1;
14054
- return this.Pc && !this.Rc && this.bc(this.Pc, t) && (this.vc(this.Pc), e = !0),
14056
+ return this.Pc && !this.Rc && this.Vc(this.Pc, t) && (this.vc(this.Pc), e = !0),
14055
14057
  e;
14056
14058
  }
14057
- bc(t, e) {
14059
+ Vc(t, e) {
14058
14060
  // Always raise the first event when we're synced
14059
14061
  if (!t.fromCache) return !0;
14060
14062
  // NOTE: We consider OnlineState.Unknown as online (it should become Offline
@@ -14065,7 +14067,7 @@ function xc(t) {
14065
14067
  return (!this.options.Sc || !n) && (!t.docs.isEmpty() || "Offline" /* Offline */ === e);
14066
14068
  // Raise data from cache if we have any documents or we are offline
14067
14069
  }
14068
- Vc(t) {
14070
+ bc(t) {
14069
14071
  // We don't need to handle includeDocumentMetadataChanges here because
14070
14072
  // the Metadata only changes have already been stripped out if needed.
14071
14073
  // At this point the only changes we will see are the ones we should
@@ -15336,7 +15338,7 @@ class Tu {
15336
15338
  }
15337
15339
  fu(t) {
15338
15340
  const e = this.persistence.referenceDelegate.garbageCollector;
15339
- return new br(e, t.asyncQueue);
15341
+ return new Vr(e, t.asyncQueue);
15340
15342
  }
15341
15343
  lu(t) {
15342
15344
  const e = Kr(t.databaseInfo.databaseId, t.databaseInfo.persistenceKey), n = void 0 !== this.cacheSizeBytes ? lr.withCacheSize(this.cacheSizeBytes) : lr.DEFAULT;
@@ -15395,7 +15397,7 @@ class Tu {
15395
15397
  await yc(this.remoteStore, this.syncEngine.isPrimaryClient));
15396
15398
  }
15397
15399
  createEventManager(t) {
15398
- return new bc;
15400
+ return new Vc;
15399
15401
  }
15400
15402
  createDatastore(t) {
15401
15403
  const e = Bo(t.databaseInfo.databaseId), n = (s = t.databaseInfo, new $o(s));
@@ -15456,7 +15458,7 @@ class Tu {
15456
15458
  * @param bytesPerRead - How many bytes each `read()` from the returned reader
15457
15459
  * will read.
15458
15460
  */
15459
- function Vu(t, e = 10240) {
15461
+ function bu(t, e = 10240) {
15460
15462
  let n = 0;
15461
15463
  // The TypeScript definition for ReadableStreamReader changed. We use
15462
15464
  // `any` here to allow this code to compile with different versions.
@@ -15522,7 +15524,7 @@ function Vu(t, e = 10240) {
15522
15524
  * asynchronously. To allow immediate silencing, a mute call is added which
15523
15525
  * causes events scheduled to no longer be raised.
15524
15526
  */
15525
- class bu {
15527
+ class Vu {
15526
15528
  constructor(t) {
15527
15529
  this.observer = t,
15528
15530
  /**
@@ -15829,14 +15831,14 @@ class Su {
15829
15831
  class Du {
15830
15832
  constructor(t, e, n, s) {
15831
15833
  this.asyncQueue = t, this.datastore = e, this.updateFunction = n, this.deferred = s,
15832
- this.Pu = 5, this.bo = new Lo(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
15834
+ this.Pu = 5, this.Vo = new Lo(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
15833
15835
  }
15834
15836
  /** Runs the transaction and sets the result on deferred. */ run() {
15835
- this.Pu -= 1, this.Vu();
15837
+ this.Pu -= 1, this.bu();
15836
15838
  }
15837
- Vu() {
15838
- this.bo.yo((async () => {
15839
- const t = new Su(this.datastore), e = this.bu(t);
15839
+ bu() {
15840
+ this.Vo.yo((async () => {
15841
+ const t = new Su(this.datastore), e = this.Vu(t);
15840
15842
  e && e.then((e => {
15841
15843
  this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
15842
15844
  this.deferred.resolve(e);
@@ -15848,7 +15850,7 @@ class Du {
15848
15850
  }));
15849
15851
  }));
15850
15852
  }
15851
- bu(t) {
15853
+ Vu(t) {
15852
15854
  try {
15853
15855
  const e = this.updateFunction(t);
15854
15856
  return !St(e) && e.catch && e.then ? e : (this.deferred.reject(Error("Transaction callback must return a Promise")),
@@ -15859,7 +15861,7 @@ class Du {
15859
15861
  }
15860
15862
  }
15861
15863
  vu(t) {
15862
- this.Pu > 0 && this.Su(t) ? (this.Pu -= 1, this.asyncQueue.enqueueAndForget((() => (this.Vu(),
15864
+ this.Pu > 0 && this.Su(t) ? (this.Pu -= 1, this.asyncQueue.enqueueAndForget((() => (this.bu(),
15863
15865
  Promise.resolve())))) : this.deferred.reject(t);
15864
15866
  }
15865
15867
  Su(t) {
@@ -16060,7 +16062,7 @@ async function Lu(t) {
16060
16062
  function Gu(t, e, n = {}) {
16061
16063
  const s = new Q;
16062
16064
  return t.asyncQueue.enqueueAndForget((async () => function(t, e, n, s, i) {
16063
- const r = new bu({
16065
+ const r = new Vu({
16064
16066
  next: r => {
16065
16067
  // Remove query first before passing event to user to avoid
16066
16068
  // user actions affecting the now stale query.
@@ -16107,7 +16109,7 @@ function ju(t, e) {
16107
16109
  function Qu(t, e, n = {}) {
16108
16110
  const s = new Q;
16109
16111
  return t.asyncQueue.enqueueAndForget((async () => function(t, e, n, s, i) {
16110
- const r = new bu({
16112
+ const r = new Vu({
16111
16113
  next: n => {
16112
16114
  // Remove query first before passing event to user to avoid
16113
16115
  // user actions affecting the now stale query.
@@ -16123,7 +16125,7 @@ function Qu(t, e, n = {}) {
16123
16125
  }
16124
16126
 
16125
16127
  function Wu(t, e) {
16126
- const n = new bu(e);
16128
+ const n = new Vu(e);
16127
16129
  return t.asyncQueue.enqueueAndForget((async () => function(t, e) {
16128
16130
  K(t).Ic.add(e),
16129
16131
  // Immediately fire an initial event, indicating all existing listeners
@@ -16167,8 +16169,8 @@ function Hu(t, e, n, s) {
16167
16169
  return function(t, e) {
16168
16170
  return new vu(t, e);
16169
16171
  }(function(t, e) {
16170
- if (t instanceof Uint8Array) return Vu(t, e);
16171
- if (t instanceof ArrayBuffer) return Vu(new Uint8Array(t), e);
16172
+ if (t instanceof Uint8Array) return bu(t, e);
16173
+ if (t instanceof ArrayBuffer) return bu(new Uint8Array(t), e);
16172
16174
  if (t instanceof ReadableStream) return t.getReader();
16173
16175
  throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream");
16174
16176
  }(n), e);
@@ -16700,13 +16702,13 @@ function da(t, e, ...n) {
16700
16702
  // List of TimerIds to fast-forward delays for.
16701
16703
  this.Mu = [],
16702
16704
  // Backoff timer used to schedule retries for retryable operations
16703
- this.bo = new Lo(this, "async_queue_retry" /* AsyncQueueRetry */),
16705
+ this.Vo = new Lo(this, "async_queue_retry" /* AsyncQueueRetry */),
16704
16706
  // Visibility handler that triggers an immediate retry of all retryable
16705
16707
  // operations. Meant to speed up recovery when we regain file system access
16706
16708
  // after page comes into foreground.
16707
16709
  this.Fu = () => {
16708
16710
  const t = Fo();
16709
- t && $("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.bo.Io();
16711
+ t && $("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.Vo.Io();
16710
16712
  };
16711
16713
  const t = Fo();
16712
16714
  t && "function" == typeof t.addEventListener && t.addEventListener("visibilitychange", this.Fu);
@@ -16753,7 +16755,7 @@ function da(t, e, ...n) {
16753
16755
  */ async Uu() {
16754
16756
  if (0 !== this.Cu.length) {
16755
16757
  try {
16756
- await this.Cu[0](), this.Cu.shift(), this.bo.reset();
16758
+ await this.Cu[0](), this.Cu.shift(), this.Vo.reset();
16757
16759
  } catch (t) {
16758
16760
  if (!wi(t)) throw t;
16759
16761
  // Failure will be handled by AsyncQueue
@@ -16770,7 +16772,7 @@ function da(t, e, ...n) {
16770
16772
  // Since `backoffAndRun()` cancels an existing backoff and schedules a
16771
16773
  // new backoff on every call, there is only ever a single additional
16772
16774
  // operation in the queue.
16773
- this.bo.yo((() => this.Uu()));
16775
+ this.Vo.yo((() => this.Uu()));
16774
16776
  }
16775
16777
  }
16776
16778
  Lu(t) {
@@ -17055,7 +17057,7 @@ class Ia extends oa {
17055
17057
  function Ra(t) {
17056
17058
  var e;
17057
17059
  const n = t._freezeSettings(), s = function(t, e, n, s) {
17058
- return new bt(t, e, n, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams);
17060
+ return new Vt(t, e, n, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams);
17059
17061
  }(t._databaseId, (null === (e = t._app) || void 0 === e ? void 0 : e.options.appId) || "", t._persistenceKey, n);
17060
17062
  t._firestoreClient = new Cu(t._authCredentials, t._appCheckCredentials, t._queue, s);
17061
17063
  }
@@ -17085,7 +17087,7 @@ function Ra(t) {
17085
17087
  */ function Pa(t, e) {
17086
17088
  Oa(t = sa(t, Ia));
17087
17089
  const n = Aa(t), s = t._freezeSettings(), i = new Pu;
17088
- return ba(n, i, new Au(i, s.cacheSizeBytes, null == e ? void 0 : e.forceOwnership));
17090
+ return Va(n, i, new Au(i, s.cacheSizeBytes, null == e ? void 0 : e.forceOwnership));
17089
17091
  }
17090
17092
 
17091
17093
  /**
@@ -17109,10 +17111,10 @@ function Ra(t) {
17109
17111
  * @param firestore - The {@link Firestore} instance to enable persistence for.
17110
17112
  * @returns A `Promise` that represents successfully enabling persistent
17111
17113
  * storage.
17112
- */ function Va(t) {
17114
+ */ function ba(t) {
17113
17115
  Oa(t = sa(t, Ia));
17114
17116
  const e = Aa(t), n = t._freezeSettings(), s = new Pu;
17115
- return ba(e, s, new Ru(s, n.cacheSizeBytes));
17117
+ return Va(e, s, new Ru(s, n.cacheSizeBytes));
17116
17118
  }
17117
17119
 
17118
17120
  /**
@@ -17120,7 +17122,7 @@ function Ra(t) {
17120
17122
  * If the operation fails with a recoverable error (see
17121
17123
  * `canRecoverFromIndexedDbError()` below), the returned Promise is rejected
17122
17124
  * but the client remains usable.
17123
- */ function ba(t, e, n) {
17125
+ */ function Va(t, e, n) {
17124
17126
  const s = new Q;
17125
17127
  return t.asyncQueue.enqueue((async () => {
17126
17128
  try {
@@ -18529,12 +18531,12 @@ class Ph extends Ah {
18529
18531
  * "&lt;=", "!=").
18530
18532
  * @param value - The value for comparison
18531
18533
  * @returns The created {@link Query}.
18532
- */ function Vh(t, e, n) {
18534
+ */ function bh(t, e, n) {
18533
18535
  const s = e, i = wh("where", t);
18534
18536
  return new Ph(i, s, n);
18535
18537
  }
18536
18538
 
18537
- class bh extends Ah {
18539
+ class Vh extends Ah {
18538
18540
  constructor(t, e) {
18539
18541
  super(), this.ca = t, this.ha = e, this.type = "orderBy";
18540
18542
  }
@@ -18580,7 +18582,7 @@ class bh extends Ah {
18580
18582
  * @returns The created {@link Query}.
18581
18583
  */ function vh(t, e = "asc") {
18582
18584
  const n = e, s = wh("orderBy", t);
18583
- return new bh(s, n);
18585
+ return new Vh(s, n);
18584
18586
  }
18585
18587
 
18586
18588
  class Sh extends Ah {
@@ -18816,7 +18818,7 @@ function Uh(t, e, n) {
18816
18818
  return null == n ? null : this.convertValue(n, e);
18817
18819
 
18818
18820
  case "estimate":
18819
- return this.convertTimestamp(Vt(t));
18821
+ return this.convertTimestamp(bt(t));
18820
18822
 
18821
18823
  default:
18822
18824
  return null;
@@ -19174,7 +19176,7 @@ function il(t, ...e) {
19174
19176
  }, Th(t._query);
19175
19177
  }
19176
19178
  return function(t, e, n, s) {
19177
- const i = new bu(s), r = new Nc(e, i, n);
19179
+ const i = new Vu(s), r = new Nc(e, i, n);
19178
19180
  return t.asyncQueue.enqueueAndForget((async () => vc(await Lu(t), r))), () => {
19179
19181
  i.mu(), t.asyncQueue.enqueueAndForget((async () => Sc(await Lu(t), r)));
19180
19182
  };
@@ -19478,10 +19480,10 @@ function gl(t, e) {
19478
19480
  return n = Object.assign({
19479
19481
  useFetchStreams: e
19480
19482
  }, n), i._setSettings(n), i;
19481
- }), "PUBLIC")), registerVersion(D, "3.4.5-canary.091e8676f", t),
19483
+ }), "PUBLIC")), registerVersion(D, "3.4.5-canary.2b98b28f2", t),
19482
19484
  // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
19483
- registerVersion(D, "3.4.5-canary.091e8676f", "esm2017");
19485
+ registerVersion(D, "3.4.5-canary.2b98b28f2", "esm2017");
19484
19486
  }();
19485
19487
 
19486
- export { qh as AbstractUserDataWriter, Fa as Bytes, pa as CACHE_SIZE_UNLIMITED, ha as CollectionReference, ua as DocumentReference, gh as DocumentSnapshot, $a as FieldPath, Ba as FieldValue, Ia as Firestore, j as FirestoreError, La as GeoPoint, ya as LoadBundleTask, aa as Query, Ah as QueryConstraint, yh as QueryDocumentSnapshot, ph as QuerySnapshot, mh as SnapshotMetadata, ut as Timestamp, ul as Transaction, jh as WriteBatch, vt as _DatabaseId, xt as _DocumentKey, et as _EmptyAppCheckTokenProvider, z as _EmptyAuthCredentialsProvider, mt as _FieldPath, sa as _cast, q as _debugAssert, yt as _isBase64Available, F as _logWarn, ml as _setIndexConfiguration, Zu as _validateIsNotUsedTogether, sl as addDoc, dl as arrayRemove, fl as arrayUnion, va as clearIndexedDbPersistence, la as collection, fa as collectionGroup, ca as connectFirestoreEmulator, nl as deleteDoc, hl as deleteField, Ca as disableNetwork, da as doc, Ma as documentId, Pa as enableIndexedDbPersistence, Va as enableMultiTabIndexedDbPersistence, Da as enableNetwork, Mh as endAt, $h as endBefore, Aa as ensureFirestoreConfigured, ol as executeWrite, Wh as getDoc, Hh as getDocFromCache, Jh as getDocFromServer, Yh as getDocs, Xh as getDocsFromCache, Zh as getDocsFromServer, Ta as getFirestore, _l as increment, Ea as initializeFirestore, Dh as limit, Ch as limitToLast, Na as loadBundle, ka as namedQuery, il as onSnapshot, rl as onSnapshotsInSync, vh as orderBy, Rh as query, wa as queryEqual, _a as refEqual, al as runTransaction, ll as serverTimestamp, tl as setDoc, O as setLogLevel, Eh as snapshotEqual, kh as startAfter, Nh as startAt, xa as terminate, el as updateDoc, Sa as waitForPendingWrites, Vh as where, wl as writeBatch };
19488
+ export { qh as AbstractUserDataWriter, Fa as Bytes, pa as CACHE_SIZE_UNLIMITED, ha as CollectionReference, ua as DocumentReference, gh as DocumentSnapshot, $a as FieldPath, Ba as FieldValue, Ia as Firestore, j as FirestoreError, La as GeoPoint, ya as LoadBundleTask, aa as Query, Ah as QueryConstraint, yh as QueryDocumentSnapshot, ph as QuerySnapshot, mh as SnapshotMetadata, ut as Timestamp, ul as Transaction, jh as WriteBatch, vt as _DatabaseId, xt as _DocumentKey, et as _EmptyAppCheckTokenProvider, z as _EmptyAuthCredentialsProvider, mt as _FieldPath, sa as _cast, q as _debugAssert, yt as _isBase64Available, F as _logWarn, ml as _setIndexConfiguration, Zu as _validateIsNotUsedTogether, sl as addDoc, dl as arrayRemove, fl as arrayUnion, va as clearIndexedDbPersistence, la as collection, fa as collectionGroup, ca as connectFirestoreEmulator, nl as deleteDoc, hl as deleteField, Ca as disableNetwork, da as doc, Ma as documentId, Pa as enableIndexedDbPersistence, ba as enableMultiTabIndexedDbPersistence, Da as enableNetwork, Mh as endAt, $h as endBefore, Aa as ensureFirestoreConfigured, ol as executeWrite, Wh as getDoc, Hh as getDocFromCache, Jh as getDocFromServer, Yh as getDocs, Xh as getDocsFromCache, Zh as getDocsFromServer, Ta as getFirestore, _l as increment, Ea as initializeFirestore, Dh as limit, Ch as limitToLast, Na as loadBundle, ka as namedQuery, il as onSnapshot, rl as onSnapshotsInSync, vh as orderBy, Rh as query, wa as queryEqual, _a as refEqual, al as runTransaction, ll as serverTimestamp, tl as setDoc, O as setLogLevel, Eh as snapshotEqual, kh as startAfter, Nh as startAt, xa as terminate, el as updateDoc, Sa as waitForPendingWrites, bh as where, wl as writeBatch };
19487
19489
  //# sourceMappingURL=index.esm2017.js.map