@firebase/firestore 3.4.3-canary.4983f4d5a → 3.4.3-canary.73fcec982

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 N = "9.6.4-canary.4983f4d5a";
69
+ let N = "9.6.4-canary.73fcec982";
70
70
 
71
71
  /**
72
72
  * @license
@@ -11673,14 +11673,14 @@ function lo(t, e) {
11673
11673
  // Mark this as something the client is currently listening for.
11674
11674
  n.Wr.set(e.targetId, e), go(n) ?
11675
11675
  // The listen will be sent in onWatchStreamOpen
11676
- mo(n) : $o(n).lr() && wo(n, e));
11676
+ mo(n) : Oo(n).lr() && wo(n, e));
11677
11677
  }
11678
11678
 
11679
11679
  /**
11680
11680
  * Removes the listen from server. It is a no-op if the given target id is
11681
11681
  * not being listened to.
11682
11682
  */ function fo(t, e) {
11683
- const n = K(t), s = $o(n);
11683
+ const n = K(t), s = Oo(n);
11684
11684
  n.Wr.delete(e), s.lr() && _o(n, e), 0 === n.Wr.size && (s.lr() ? s._r() : yo(n) &&
11685
11685
  // Revert to OnlineState.Unknown if the watch stream is not open and we
11686
11686
  // have no listeners, since without any listens to send we cannot
@@ -11692,7 +11692,7 @@ function lo(t, e) {
11692
11692
  * We need to increment the the expected number of pending responses we're due
11693
11693
  * from watch so we wait for the ack to process any messages from this target.
11694
11694
  */ function wo(t, e) {
11695
- t.Yr.X(e.targetId), $o(t).Pr(e);
11695
+ t.Yr.X(e.targetId), Oo(t).Pr(e);
11696
11696
  }
11697
11697
 
11698
11698
  /**
@@ -11700,21 +11700,21 @@ function lo(t, e) {
11700
11700
  * from watch so we wait for the removal on the server before we process any
11701
11701
  * messages from this target.
11702
11702
  */ function _o(t, e) {
11703
- t.Yr.X(e), $o(t).vr(e);
11703
+ t.Yr.X(e), Oo(t).vr(e);
11704
11704
  }
11705
11705
 
11706
11706
  function mo(t) {
11707
11707
  t.Yr = new Ln({
11708
11708
  getRemoteKeysForTarget: e => t.remoteSyncer.getRemoteKeysForTarget(e),
11709
11709
  Et: e => t.Wr.get(e) || null
11710
- }), $o(t).start(), t.Jr.Br();
11710
+ }), Oo(t).start(), t.Jr.Br();
11711
11711
  }
11712
11712
 
11713
11713
  /**
11714
11714
  * Returns whether the watch stream should be started because it's necessary
11715
11715
  * and has not yet been started.
11716
11716
  */ function go(t) {
11717
- return yo(t) && !$o(t).hr() && t.Wr.size > 0;
11717
+ return yo(t) && !Oo(t).hr() && t.Wr.size > 0;
11718
11718
  }
11719
11719
 
11720
11720
  function yo(t) {
@@ -11848,7 +11848,7 @@ async function Io(t, e, n) {
11848
11848
  }
11849
11849
 
11850
11850
  async function bo(t) {
11851
- const e = K(t), n = Oo(e);
11851
+ const e = K(t), n = Mo(e);
11852
11852
  let s = e.Qr.length > 0 ? e.Qr[e.Qr.length - 1].batchId : -1;
11853
11853
  for (;Po(e); ) try {
11854
11854
  const t = await pr(e.localStore, s);
@@ -11875,24 +11875,24 @@ async function bo(t) {
11875
11875
  * immediately if the write stream is established.
11876
11876
  */ function vo(t, e) {
11877
11877
  t.Qr.push(e);
11878
- const n = Oo(t);
11878
+ const n = Mo(t);
11879
11879
  n.lr() && n.Sr && n.Dr(e.mutations);
11880
11880
  }
11881
11881
 
11882
11882
  function Vo(t) {
11883
- return yo(t) && !Oo(t).hr() && t.Qr.length > 0;
11883
+ return yo(t) && !Mo(t).hr() && t.Qr.length > 0;
11884
11884
  }
11885
11885
 
11886
11886
  function So(t) {
11887
- Oo(t).start();
11887
+ Mo(t).start();
11888
11888
  }
11889
11889
 
11890
11890
  async function Do(t) {
11891
- Oo(t).kr();
11891
+ Mo(t).kr();
11892
11892
  }
11893
11893
 
11894
11894
  async function Co(t) {
11895
- const e = Oo(t);
11895
+ const e = Mo(t);
11896
11896
  // Send the write pipeline now that the stream is established.
11897
11897
  for (const n of t.Qr) e.Dr(n.mutations);
11898
11898
  }
@@ -11908,7 +11908,7 @@ async function No(t, e, n) {
11908
11908
  async function ko(t, e) {
11909
11909
  // If the write stream closed after the write handshake completes, a write
11910
11910
  // operation failed and we fail the pending operation.
11911
- e && Oo(t).Sr &&
11911
+ e && Mo(t).Sr &&
11912
11912
  // This error affects the actual write.
11913
11913
  await async function(t, e) {
11914
11914
  // Only handle permanent errors here. If it's transient, just let the retry
@@ -11920,7 +11920,7 @@ async function ko(t, e) {
11920
11920
  // In this case it's also unlikely that the server itself is melting
11921
11921
  // down -- this was just a bad request so inhibit backoff on the next
11922
11922
  // restart.
11923
- Oo(t).wr(), await Ro(t, (() => t.remoteSyncer.rejectFailedWrite(n.batchId, e))),
11923
+ Mo(t).wr(), await Ro(t, (() => t.remoteSyncer.rejectFailedWrite(n.batchId, e))),
11924
11924
  // It's possible that with the completion of this mutation
11925
11925
  // another slot has freed up.
11926
11926
  await bo(t);
@@ -11932,10 +11932,22 @@ async function ko(t, e) {
11932
11932
  Vo(t) && So(t);
11933
11933
  }
11934
11934
 
11935
+ async function xo(t, e) {
11936
+ const n = K(t);
11937
+ n.asyncQueue.verifyOperationInProgress(), O("RemoteStore", "RemoteStore received new credentials");
11938
+ const s = yo(n);
11939
+ // Tear down and re-create our network streams. This will ensure we get a
11940
+ // fresh auth token for the new user and re-fill the write pipeline with
11941
+ // new mutations from the LocalStore (since mutations are per-user).
11942
+ n.Gr.add(3 /* CredentialChange */), await ho(n), s &&
11943
+ // Don't set the network status to Unknown if we are offline.
11944
+ n.Jr.set("Unknown" /* Unknown */), await n.remoteSyncer.handleCredentialChange(e),
11945
+ n.Gr.delete(3 /* CredentialChange */), await uo(n);
11946
+ }
11947
+
11935
11948
  /**
11936
11949
  * Toggles the network state when the client gains or loses its primary lease.
11937
- */
11938
- async function xo(t, e) {
11950
+ */ async function $o(t, e) {
11939
11951
  const n = K(t);
11940
11952
  e ? (n.Gr.delete(2 /* IsSecondary */), await uo(n)) : e || (n.Gr.add(2 /* IsSecondary */),
11941
11953
  await ho(n), n.Jr.set("Unknown" /* Unknown */));
@@ -11948,7 +11960,7 @@ async function xo(t, e) {
11948
11960
  *
11949
11961
  * PORTING NOTE: On iOS and Android, the WatchStream gets registered on startup.
11950
11962
  * This is not done on Web to allow it to be tree-shaken.
11951
- */ function $o(t) {
11963
+ */ function Oo(t) {
11952
11964
  return t.Xr || (
11953
11965
  // Create stream (but note that it is not started yet).
11954
11966
  t.Xr = function(t, e, n) {
@@ -11987,7 +11999,7 @@ async function xo(t, e) {
11987
11999
  *
11988
12000
  * PORTING NOTE: On iOS and Android, the WriteStream gets registered on startup.
11989
12001
  * This is not done on Web to allow it to be tree-shaken.
11990
- */ function Oo(t) {
12002
+ */ function Mo(t) {
11991
12003
  return t.Zr || (
11992
12004
  // Create stream (but note that it is not started yet).
11993
12005
  t.Zr = function(t, e, n) {
@@ -12033,7 +12045,7 @@ async function xo(t, e) {
12033
12045
  * in newer versions of TypeScript defines `finally`, which is not available in
12034
12046
  * IE.
12035
12047
  */
12036
- class Mo {
12048
+ class Fo {
12037
12049
  constructor(t, e, n, s, i) {
12038
12050
  this.asyncQueue = t, this.timerId = e, this.targetTimeMs = n, this.op = s, this.removalCallback = i,
12039
12051
  this.deferred = new W, this.then = this.deferred.promise.then.bind(this.deferred.promise),
@@ -12056,7 +12068,7 @@ class Mo {
12056
12068
  * PORTING NOTE: This exists to prevent making removeDelayedOperation() and
12057
12069
  * the DelayedOperation class public.
12058
12070
  */ static createAndSchedule(t, e, n, s, i) {
12059
- const r = Date.now() + n, o = new Mo(t, e, r, s, i);
12071
+ const r = Date.now() + n, o = new Fo(t, e, r, s, i);
12060
12072
  return o.start(n), o;
12061
12073
  }
12062
12074
  /**
@@ -12093,7 +12105,7 @@ class Mo {
12093
12105
  /**
12094
12106
  * Returns a FirestoreError that can be surfaced to the user if the provided
12095
12107
  * error is an IndexedDbTransactionError. Re-throws the error otherwise.
12096
- */ function Fo(t, e) {
12108
+ */ function Lo(t, e) {
12097
12109
  if (M("AsyncQueue", `${e}: ${t}`), Zs(t)) return new Q(j.UNAVAILABLE, `${e}: ${t}`);
12098
12110
  throw t;
12099
12111
  }
@@ -12119,7 +12131,7 @@ class Mo {
12119
12131
  * in order specified by the provided comparator. We always add a document key
12120
12132
  * comparator on top of what is provided to guarantee document equality based on
12121
12133
  * the key.
12122
- */ class Lo {
12134
+ */ class Bo {
12123
12135
  /** The default ordering is by key if the comparator is omitted */
12124
12136
  constructor(t) {
12125
12137
  // We are adding document key comparator to the end as it's the only
@@ -12131,7 +12143,7 @@ class Mo {
12131
12143
  * Returns an empty copy of the existing DocumentSet, using the same
12132
12144
  * comparator.
12133
12145
  */ static emptySet(t) {
12134
- return new Lo(t.comparator);
12146
+ return new Bo(t.comparator);
12135
12147
  }
12136
12148
  has(t) {
12137
12149
  return null != this.keyedMap.get(t);
@@ -12171,7 +12183,7 @@ class Mo {
12171
12183
  return e ? this.copy(this.keyedMap.remove(t), this.sortedSet.remove(e)) : this;
12172
12184
  }
12173
12185
  isEqual(t) {
12174
- if (!(t instanceof Lo)) return !1;
12186
+ if (!(t instanceof Bo)) return !1;
12175
12187
  if (this.size !== t.size) return !1;
12176
12188
  const e = this.sortedSet.getIterator(), n = t.sortedSet.getIterator();
12177
12189
  for (;e.hasNext(); ) {
@@ -12187,7 +12199,7 @@ class Mo {
12187
12199
  })), 0 === t.length ? "DocumentSet ()" : "DocumentSet (\n " + t.join(" \n") + "\n)";
12188
12200
  }
12189
12201
  copy(t, e) {
12190
- const n = new Lo;
12202
+ const n = new Bo;
12191
12203
  return n.comparator = this.comparator, n.keyedMap = t, n.sortedSet = e, n;
12192
12204
  }
12193
12205
  }
@@ -12211,7 +12223,7 @@ class Mo {
12211
12223
  /**
12212
12224
  * DocumentChangeSet keeps track of a set of changes to docs in a query, merging
12213
12225
  * duplicate events for the same doc.
12214
- */ class Bo {
12226
+ */ class Uo {
12215
12227
  constructor() {
12216
12228
  this.eo = new yn(Dt.comparator);
12217
12229
  }
@@ -12252,7 +12264,7 @@ class Mo {
12252
12264
  }
12253
12265
  }
12254
12266
 
12255
- class Uo {
12267
+ class qo {
12256
12268
  constructor(t, e, n, s, i, r, o, c) {
12257
12269
  this.query = t, this.docs = e, this.oldDocs = n, this.docChanges = s, this.mutatedKeys = i,
12258
12270
  this.fromCache = r, this.syncStateChanged = o, this.excludesMetadataChanges = c;
@@ -12264,7 +12276,7 @@ class Uo {
12264
12276
  type: 0 /* Added */ ,
12265
12277
  doc: t
12266
12278
  });
12267
- })), new Uo(t, e, Lo.emptySet(e), i, n, s,
12279
+ })), new qo(t, e, Bo.emptySet(e), i, n, s,
12268
12280
  /* syncStateChanged= */ !0,
12269
12281
  /* excludesMetadataChanges= */ !1);
12270
12282
  }
@@ -12299,36 +12311,36 @@ class Uo {
12299
12311
  /**
12300
12312
  * Holds the listeners and the last received ViewSnapshot for a query being
12301
12313
  * tracked by EventManager.
12302
- */ class qo {
12314
+ */ class Ko {
12303
12315
  constructor() {
12304
12316
  this.so = void 0, this.listeners = [];
12305
12317
  }
12306
12318
  }
12307
12319
 
12308
- class Ko {
12320
+ class jo {
12309
12321
  constructor() {
12310
12322
  this.queries = new zi((t => Ve(t)), ve), this.onlineState = "Unknown" /* Unknown */ ,
12311
12323
  this.io = new Set;
12312
12324
  }
12313
12325
  }
12314
12326
 
12315
- async function jo(t, e) {
12327
+ async function Qo(t, e) {
12316
12328
  const n = K(t), s = e.query;
12317
12329
  let i = !1, r = n.queries.get(s);
12318
- if (r || (i = !0, r = new qo), i) try {
12330
+ if (r || (i = !0, r = new Ko), i) try {
12319
12331
  r.so = await n.onListen(s);
12320
12332
  } catch (t) {
12321
- const n = Fo(t, `Initialization of query '${Se(e.query)}' failed`);
12333
+ const n = Lo(t, `Initialization of query '${Se(e.query)}' failed`);
12322
12334
  return void e.onError(n);
12323
12335
  }
12324
12336
  if (n.queries.set(s, r), r.listeners.push(e),
12325
12337
  // Run global snapshot listeners if a consistent snapshot has been emitted.
12326
12338
  e.ro(n.onlineState), r.so) {
12327
- e.oo(r.so) && zo(n);
12339
+ e.oo(r.so) && Ho(n);
12328
12340
  }
12329
12341
  }
12330
12342
 
12331
- async function Qo(t, e) {
12343
+ async function Wo(t, e) {
12332
12344
  const n = K(t), s = e.query;
12333
12345
  let i = !1;
12334
12346
  const r = n.queries.get(s);
@@ -12339,7 +12351,7 @@ async function Qo(t, e) {
12339
12351
  if (i) return n.queries.delete(s), n.onUnlisten(s);
12340
12352
  }
12341
12353
 
12342
- function Wo(t, e) {
12354
+ function Go(t, e) {
12343
12355
  const n = K(t);
12344
12356
  let s = !1;
12345
12357
  for (const t of e) {
@@ -12349,10 +12361,10 @@ function Wo(t, e) {
12349
12361
  i.so = t;
12350
12362
  }
12351
12363
  }
12352
- s && zo(n);
12364
+ s && Ho(n);
12353
12365
  }
12354
12366
 
12355
- function Go(t, e, n) {
12367
+ function zo(t, e, n) {
12356
12368
  const s = K(t), i = s.queries.get(e);
12357
12369
  if (i) for (const t of i.listeners) t.onError(n);
12358
12370
  // Remove all listeners. NOTE: We don't need to call syncEngine.unlisten()
@@ -12361,7 +12373,7 @@ function Go(t, e, n) {
12361
12373
  }
12362
12374
 
12363
12375
  // Call all global snapshot listeners that have been set.
12364
- function zo(t) {
12376
+ function Ho(t) {
12365
12377
  t.io.forEach((t => {
12366
12378
  t.next();
12367
12379
  }));
@@ -12372,7 +12384,7 @@ function zo(t) {
12372
12384
  * when to raise the event.
12373
12385
  *
12374
12386
  * It uses an Observer to dispatch events.
12375
- */ class Ho {
12387
+ */ class Jo {
12376
12388
  constructor(t, e, n) {
12377
12389
  this.query = t, this.co = e,
12378
12390
  /**
@@ -12391,7 +12403,7 @@ function zo(t) {
12391
12403
  // Remove the metadata only changes.
12392
12404
  const e = [];
12393
12405
  for (const n of t.docChanges) 3 /* Metadata */ !== n.type && e.push(n);
12394
- t = new Uo(t.query, t.docs, t.oldDocs, e, t.mutatedKeys, t.fromCache, t.syncStateChanged,
12406
+ t = new qo(t.query, t.docs, t.oldDocs, e, t.mutatedKeys, t.fromCache, t.syncStateChanged,
12395
12407
  /* excludesMetadataChanges= */ !0);
12396
12408
  }
12397
12409
  let e = !1;
@@ -12431,7 +12443,7 @@ function zo(t) {
12431
12443
  // stripped out.
12432
12444
  }
12433
12445
  fo(t) {
12434
- t = Uo.fromInitialDocuments(t.query, t.docs, t.mutatedKeys, t.fromCache), this.ao = !0,
12446
+ t = qo.fromInitialDocuments(t.query, t.docs, t.mutatedKeys, t.fromCache), this.ao = !0,
12435
12447
  this.co.next(t);
12436
12448
  }
12437
12449
  }
@@ -12455,7 +12467,7 @@ function zo(t) {
12455
12467
  /**
12456
12468
  * A complete element in the bundle stream, together with the byte length it
12457
12469
  * occupies in the stream.
12458
- */ class Jo {
12470
+ */ class Yo {
12459
12471
  constructor(t,
12460
12472
  // How many bytes this element takes to store in the bundle.
12461
12473
  e) {
@@ -12484,7 +12496,7 @@ function zo(t) {
12484
12496
  */
12485
12497
  /**
12486
12498
  * Helper to convert objects from bundles to model objects in the SDK.
12487
- */ class Yo {
12499
+ */ class Xo {
12488
12500
  constructor(t) {
12489
12501
  this.k = t;
12490
12502
  }
@@ -12504,13 +12516,13 @@ function zo(t) {
12504
12516
  /**
12505
12517
  * A class to process the elements from a bundle, load them into local
12506
12518
  * storage and provide progress update while loading.
12507
- */ class Xo {
12519
+ */ class Zo {
12508
12520
  constructor(t, e, n) {
12509
12521
  this.mo = t, this.localStore = e, this.k = n,
12510
12522
  /** Batched queries to be saved into storage */
12511
12523
  this.queries = [],
12512
12524
  /** Batched documents to be saved into storage */
12513
- this.documents = [], this.progress = Zo(t);
12525
+ this.documents = [], this.progress = tc(t);
12514
12526
  }
12515
12527
  /**
12516
12528
  * Adds an element from the bundle to the loader.
@@ -12527,7 +12539,7 @@ function zo(t) {
12527
12539
  Object.assign({}, this.progress)) : null;
12528
12540
  }
12529
12541
  po(t) {
12530
- const e = new Map, n = new Yo(this.k);
12542
+ const e = new Map, n = new Xo(this.k);
12531
12543
  for (const s of t) if (s.metadata.queries) {
12532
12544
  const t = n.Hn(s.metadata.name);
12533
12545
  for (const n of s.metadata.queries) {
@@ -12540,7 +12552,7 @@ function zo(t) {
12540
12552
  /**
12541
12553
  * Update the progress to 'Success' and return the updated progress.
12542
12554
  */ async complete() {
12543
- const t = await Pr(this.localStore, new Yo(this.k), this.documents, this.mo.id), e = this.po(this.documents);
12555
+ const t = await Pr(this.localStore, new Xo(this.k), this.documents, this.mo.id), e = this.po(this.documents);
12544
12556
  for (const t of this.queries) await vr(this.localStore, t, e.get(t.name));
12545
12557
  return this.progress.taskState = "Success", new ar(Object.assign({}, this.progress), t);
12546
12558
  }
@@ -12549,7 +12561,7 @@ function zo(t) {
12549
12561
  /**
12550
12562
  * Returns a `LoadBundleTaskProgress` representing the initial progress of
12551
12563
  * loading a bundle.
12552
- */ function Zo(t) {
12564
+ */ function tc(t) {
12553
12565
  return {
12554
12566
  taskState: "Running",
12555
12567
  documentsLoaded: 0,
@@ -12579,13 +12591,13 @@ function zo(t) {
12579
12591
  * See the License for the specific language governing permissions and
12580
12592
  * limitations under the License.
12581
12593
  */
12582
- class tc {
12594
+ class ec {
12583
12595
  constructor(t) {
12584
12596
  this.key = t;
12585
12597
  }
12586
12598
  }
12587
12599
 
12588
- class ec {
12600
+ class nc {
12589
12601
  constructor(t) {
12590
12602
  this.key = t;
12591
12603
  }
@@ -12595,7 +12607,7 @@ class ec {
12595
12607
  * View is responsible for computing the final merged truth of what docs are in
12596
12608
  * a query. It gets notified of local and remote changes to docs, and applies
12597
12609
  * the query filters and limits to determine the most correct possible results.
12598
- */ class nc {
12610
+ */ class sc {
12599
12611
  constructor(t,
12600
12612
  /** Documents included in the remote target */
12601
12613
  e) {
@@ -12610,7 +12622,7 @@ class ec {
12610
12622
  /** Documents in the view but not in the remote target */
12611
12623
  this.Io = Dn(),
12612
12624
  /** Document Keys that have local changes */
12613
- this.mutatedKeys = Dn(), this.Ao = Ce(t), this.Ro = new Lo(this.Ao);
12625
+ this.mutatedKeys = Dn(), this.Ao = Ce(t), this.Ro = new Bo(this.Ao);
12614
12626
  }
12615
12627
  /**
12616
12628
  * The set of remote documents that the server has told us belongs to the target associated with
@@ -12628,7 +12640,7 @@ class ec {
12628
12640
  * with this set of docs and changes instead of the current view.
12629
12641
  * @returns a new set of docs, changes, and refill flag.
12630
12642
  */ Po(t, e) {
12631
- const n = e ? e.vo : new Bo, s = e ? e.Ro : this.Ro;
12643
+ const n = e ? e.vo : new Uo, s = e ? e.Ro : this.Ro;
12632
12644
  let i = e ? e.mutatedKeys : this.mutatedKeys, r = s, o = !1;
12633
12645
  // Track the last doc in a (full) limit. This is necessary, because some
12634
12646
  // update (a delete, or an update moving a doc past the old limit) might
@@ -12752,7 +12764,7 @@ class ec {
12752
12764
  const r = e ? this.Do() : [], o = 0 === this.Io.size && this.current ? 1 /* Synced */ : 0 /* Local */ , c = o !== this.Eo;
12753
12765
  if (this.Eo = o, 0 !== i.length || c) {
12754
12766
  return {
12755
- snapshot: new Uo(this.query, t.Ro, s, i, t.mutatedKeys, 0 /* Local */ === o, c,
12767
+ snapshot: new qo(this.query, t.Ro, s, i, t.mutatedKeys, 0 /* Local */ === o, c,
12756
12768
  /* excludesMetadataChanges= */ !1),
12757
12769
  Co: r
12758
12770
  };
@@ -12773,7 +12785,7 @@ class ec {
12773
12785
  // true once the client is back online.
12774
12786
  this.current = !1, this.applyChanges({
12775
12787
  Ro: this.Ro,
12776
- vo: new Bo,
12788
+ vo: new Uo,
12777
12789
  mutatedKeys: this.mutatedKeys,
12778
12790
  Bn: !1
12779
12791
  },
@@ -12808,9 +12820,9 @@ class ec {
12808
12820
  // Diff the new limbo docs with the old limbo docs.
12809
12821
  const e = [];
12810
12822
  return t.forEach((t => {
12811
- this.Io.has(t) || e.push(new ec(t));
12823
+ this.Io.has(t) || e.push(new nc(t));
12812
12824
  })), this.Io.forEach((n => {
12813
- t.has(n) || e.push(new tc(n));
12825
+ t.has(n) || e.push(new ec(n));
12814
12826
  })), e;
12815
12827
  }
12816
12828
  /**
@@ -12845,7 +12857,7 @@ class ec {
12845
12857
  */
12846
12858
  // PORTING NOTE: Multi-tab only.
12847
12859
  xo() {
12848
- return Uo.fromInitialDocuments(this.query, this.Ro, this.mutatedKeys, 0 /* Local */ === this.Eo);
12860
+ return qo.fromInitialDocuments(this.query, this.Ro, this.mutatedKeys, 0 /* Local */ === this.Eo);
12849
12861
  }
12850
12862
  }
12851
12863
 
@@ -12853,7 +12865,7 @@ class ec {
12853
12865
  * QueryView contains all of the data that SyncEngine needs to keep track of for
12854
12866
  * a particular query.
12855
12867
  */
12856
- class sc {
12868
+ class ic {
12857
12869
  constructor(
12858
12870
  /**
12859
12871
  * The query itself.
@@ -12875,7 +12887,7 @@ class sc {
12875
12887
  }
12876
12888
  }
12877
12889
 
12878
- /** Tracks a limbo resolution. */ class ic {
12890
+ /** Tracks a limbo resolution. */ class rc {
12879
12891
  constructor(t) {
12880
12892
  this.key = t,
12881
12893
  /**
@@ -12900,7 +12912,7 @@ class sc {
12900
12912
  * the class is not exported so they are only accessible from this module.
12901
12913
  * This is useful to implement optional features (like bundles) in free
12902
12914
  * functions, such that they are tree-shakeable.
12903
- */ class rc {
12915
+ */ class oc {
12904
12916
  constructor(t, e, n,
12905
12917
  // PORTING NOTE: Manages state synchronization in multi-tab environments.
12906
12918
  s, i, r) {
@@ -12946,8 +12958,8 @@ class sc {
12946
12958
  * server. All the subsequent view snapshots or errors are sent to the
12947
12959
  * subscribed handlers. Returns the initial snapshot.
12948
12960
  */
12949
- async function oc(t, e) {
12950
- const n = $c(t);
12961
+ async function cc(t, e) {
12962
+ const n = Oc(t);
12951
12963
  let s, i;
12952
12964
  const r = n.Mo.get(e);
12953
12965
  if (r)
@@ -12959,7 +12971,7 @@ async function oc(t, e) {
12959
12971
  // case and calls `listen` to obtain this ID.
12960
12972
  s = r.targetId, n.sharedClientState.addLocalQueryTarget(s), i = r.view.xo(); else {
12961
12973
  const t = await Tr(n.localStore, be(e)), r = n.sharedClientState.addLocalQueryTarget(t.targetId);
12962
- s = t.targetId, i = await cc(n, e, s, "current" === r), n.isPrimaryClient && lo(n.remoteStore, t);
12974
+ s = t.targetId, i = await ac(n, e, s, "current" === r), n.isPrimaryClient && lo(n.remoteStore, t);
12963
12975
  }
12964
12976
  return i;
12965
12977
  }
@@ -12967,7 +12979,7 @@ async function oc(t, e) {
12967
12979
  /**
12968
12980
  * Registers a view for a previously unknown query and computes its initial
12969
12981
  * snapshot.
12970
- */ async function cc(t, e, n, s) {
12982
+ */ async function ac(t, e, n, s) {
12971
12983
  // PORTING NOTE: On Web only, we inject the code that registers new Limbo
12972
12984
  // targets based on view changes. This allows us to only depend on Limbo
12973
12985
  // changes when user code includes queries.
@@ -12981,17 +12993,17 @@ async function oc(t, e) {
12981
12993
  /* usePreviousResults= */ !1).then((({documents: t}) => e.view.Po(t, i))));
12982
12994
  const r = s && s.targetChanges.get(e.targetId), o = e.view.applyChanges(i,
12983
12995
  /* updateLimboDocuments= */ t.isPrimaryClient, r);
12984
- return Tc(t, e.targetId, o.Co), o.snapshot;
12996
+ return Ec(t, e.targetId, o.Co), o.snapshot;
12985
12997
  }(t, e, n, s);
12986
12998
  const i = await Ir(t.localStore, e,
12987
- /* usePreviousResults= */ !0), r = new nc(e, i.zn), o = r.Po(i.documents), c = xn.createSynthesizedTargetChangeForCurrentChange(n, s && "Offline" /* Offline */ !== t.onlineState), a = r.applyChanges(o,
12999
+ /* usePreviousResults= */ !0), r = new sc(e, i.zn), o = r.Po(i.documents), c = xn.createSynthesizedTargetChangeForCurrentChange(n, s && "Offline" /* Offline */ !== t.onlineState), a = r.applyChanges(o,
12988
13000
  /* updateLimboDocuments= */ t.isPrimaryClient, c);
12989
- Tc(t, n, a.Co);
12990
- const u = new sc(e, n, r);
13001
+ Ec(t, n, a.Co);
13002
+ const u = new ic(e, n, r);
12991
13003
  return t.Mo.set(e, u), t.Fo.has(n) ? t.Fo.get(n).push(e) : t.Fo.set(n, [ e ]), a.snapshot;
12992
13004
  }
12993
13005
 
12994
- /** Stops listening to the query. */ async function ac(t, e) {
13006
+ /** Stops listening to the query. */ async function uc(t, e) {
12995
13007
  const n = K(t), s = n.Mo.get(e), i = n.Fo.get(s.targetId);
12996
13008
  if (i.length > 1) return n.Fo.set(s.targetId, i.filter((t => !ve(t, e)))), void n.Mo.delete(e);
12997
13009
  // No other queries are mapped to the target, clean up the query and the target.
@@ -13002,9 +13014,9 @@ async function oc(t, e) {
13002
13014
  n.sharedClientState.isActiveQueryTarget(s.targetId) || await Er(n.localStore, s.targetId,
13003
13015
  /*keepPersistedTargetData=*/ !1).then((() => {
13004
13016
  n.sharedClientState.clearQueryState(s.targetId), fo(n.remoteStore, s.targetId),
13005
- yc(n, s.targetId);
13017
+ pc(n, s.targetId);
13006
13018
  })).catch(Ui);
13007
- } else yc(n, s.targetId), await Er(n.localStore, s.targetId,
13019
+ } else pc(n, s.targetId), await Er(n.localStore, s.targetId,
13008
13020
  /*keepPersistedTargetData=*/ !0);
13009
13021
  }
13010
13022
 
@@ -13017,8 +13029,8 @@ async function oc(t, e) {
13017
13029
  * have completed, *not* when the write was acked by the backend. The
13018
13030
  * userCallback is resolved once the write was acked/rejected by the
13019
13031
  * backend (or failed locally for any other reason).
13020
- */ async function uc(t, e, n) {
13021
- const s = Oc(t);
13032
+ */ async function hc(t, e, n) {
13033
+ const s = Mc(t);
13022
13034
  try {
13023
13035
  const t = await function(t, e) {
13024
13036
  const n = K(t), s = at.now(), i = e.reduce(((t, e) => t.add(e.key)), Dn());
@@ -13053,11 +13065,11 @@ async function oc(t, e) {
13053
13065
  /**
13054
13066
  * Resolves or rejects the user callback for the given batch and then discards
13055
13067
  * it.
13056
- */ (s, t.batchId, n), await Ac(s, t.changes), await bo(s.remoteStore);
13068
+ */ (s, t.batchId, n), await Rc(s, t.changes), await bo(s.remoteStore);
13057
13069
  } catch (t) {
13058
13070
  // If we can't persist the mutation, we reject the user callback and
13059
13071
  // don't send the mutation. The user can then retry the write.
13060
- const e = Fo(t, "Failed to persist write");
13072
+ const e = Lo(t, "Failed to persist write");
13061
13073
  n.reject(e);
13062
13074
  }
13063
13075
  }
@@ -13066,7 +13078,7 @@ async function oc(t, e) {
13066
13078
  * Applies one remote event to the sync engine, notifying any views of the
13067
13079
  * changes, and releasing any pending mutation batches that would become
13068
13080
  * visible because of the snapshot version the remote event contains.
13069
- */ async function hc(t, e) {
13081
+ */ async function lc(t, e) {
13070
13082
  const n = K(t);
13071
13083
  try {
13072
13084
  const t = await gr(n.localStore, e);
@@ -13079,7 +13091,7 @@ async function oc(t, e) {
13079
13091
  U(t.addedDocuments.size + t.modifiedDocuments.size + t.removedDocuments.size <= 1),
13080
13092
  t.addedDocuments.size > 0 ? s.$o = !0 : t.modifiedDocuments.size > 0 ? U(s.$o) : t.removedDocuments.size > 0 && (U(s.$o),
13081
13093
  s.$o = !1));
13082
- })), await Ac(n, t, e);
13094
+ })), await Rc(n, t, e);
13083
13095
  } catch (t) {
13084
13096
  await Ui(t);
13085
13097
  }
@@ -13088,7 +13100,7 @@ async function oc(t, e) {
13088
13100
  /**
13089
13101
  * Applies an OnlineState change to the sync engine and notifies any views of
13090
13102
  * the change.
13091
- */ function lc(t, e, n) {
13103
+ */ function fc(t, e, n) {
13092
13104
  const s = K(t);
13093
13105
  // If we are the secondary client, we explicitly ignore the remote store's
13094
13106
  // online state (the local client may go offline, even though the primary
@@ -13107,7 +13119,7 @@ async function oc(t, e) {
13107
13119
  for (const t of n.listeners)
13108
13120
  // Run global snapshot listeners if a consistent snapshot has been emitted.
13109
13121
  t.ro(e) && (s = !0);
13110
- })), s && zo(n);
13122
+ })), s && Ho(n);
13111
13123
  }(s.eventManager, e), t.length && s.Oo.br(t), s.onlineState = e, s.isPrimaryClient && s.sharedClientState.setOnlineState(e);
13112
13124
  }
13113
13125
  }
@@ -13122,7 +13134,7 @@ async function oc(t, e) {
13122
13134
  * @param err - A description of the condition that has forced the rejection.
13123
13135
  * Nearly always this will be an indication that the user is no longer
13124
13136
  * authorized to see the data matching the target.
13125
- */ async function fc(t, e, n) {
13137
+ */ async function dc(t, e, n) {
13126
13138
  const s = K(t);
13127
13139
  // PORTING NOTE: Multi-tab only.
13128
13140
  s.sharedClientState.updateQueryState(e, "rejected", n);
@@ -13139,18 +13151,18 @@ async function oc(t, e) {
13139
13151
  const n = Dn().add(r), i = new kn(ut.min(),
13140
13152
  /* targetChanges= */ new Map,
13141
13153
  /* targetMismatches= */ new En(rt), t, n);
13142
- await hc(s, i),
13154
+ await lc(s, i),
13143
13155
  // Since this query failed, we won't want to manually unlisten to it.
13144
13156
  // We only remove it from bookkeeping after we successfully applied the
13145
13157
  // RemoteEvent. If `applyRemoteEvent()` throws, we want to re-listen to
13146
13158
  // this query when the RemoteStore restarts the Watch stream, which should
13147
13159
  // re-trigger the target failure.
13148
- s.Bo = s.Bo.remove(r), s.Uo.delete(e), Ic(s);
13160
+ s.Bo = s.Bo.remove(r), s.Uo.delete(e), Ac(s);
13149
13161
  } else await Er(s.localStore, e,
13150
- /* keepPersistedTargetData */ !1).then((() => yc(s, e, n))).catch(Ui);
13162
+ /* keepPersistedTargetData */ !1).then((() => pc(s, e, n))).catch(Ui);
13151
13163
  }
13152
13164
 
13153
- async function dc(t, e) {
13165
+ async function wc(t, e) {
13154
13166
  const n = K(t), s = e.batch.batchId;
13155
13167
  try {
13156
13168
  const t = await _r(n.localStore, e);
@@ -13158,14 +13170,14 @@ async function dc(t, e) {
13158
13170
  // raise events immediately (depending on whether the watcher is caught
13159
13171
  // up), so we raise user callbacks first so that they consistently happen
13160
13172
  // before listen events.
13161
- gc(n, s, /*error=*/ null), mc(n, s), n.sharedClientState.updateMutationState(s, "acknowledged"),
13162
- await Ac(n, t);
13173
+ yc(n, s, /*error=*/ null), gc(n, s), n.sharedClientState.updateMutationState(s, "acknowledged"),
13174
+ await Rc(n, t);
13163
13175
  } catch (t) {
13164
13176
  await Ui(t);
13165
13177
  }
13166
13178
  }
13167
13179
 
13168
- async function wc(t, e, n) {
13180
+ async function _c(t, e, n) {
13169
13181
  const s = K(t);
13170
13182
  try {
13171
13183
  const t = await function(t, e) {
@@ -13185,8 +13197,8 @@ async function wc(t, e, n) {
13185
13197
  // raise events immediately (depending on whether the watcher is caught up),
13186
13198
  // so we raise user callbacks first so that they consistently happen before
13187
13199
  // listen events.
13188
- gc(s, e, n), mc(s, e), s.sharedClientState.updateMutationState(e, "rejected", n),
13189
- await Ac(s, t);
13200
+ yc(s, e, n), gc(s, e), s.sharedClientState.updateMutationState(e, "rejected", n),
13201
+ await Rc(s, t);
13190
13202
  } catch (n) {
13191
13203
  await Ui(n);
13192
13204
  }
@@ -13195,7 +13207,7 @@ async function wc(t, e, n) {
13195
13207
  /**
13196
13208
  * Registers a user callback that resolves when all pending mutations at the moment of calling
13197
13209
  * are acknowledged .
13198
- */ async function _c(t, e) {
13210
+ */ async function mc(t, e) {
13199
13211
  const n = K(t);
13200
13212
  yo(n.remoteStore) || O("SyncEngine", "The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.");
13201
13213
  try {
@@ -13209,7 +13221,7 @@ async function wc(t, e, n) {
13209
13221
  const s = n.jo.get(t) || [];
13210
13222
  s.push(e), n.jo.set(t, s);
13211
13223
  } catch (t) {
13212
- const n = Fo(t, "Initialization of waitForPendingWrites() operation failed");
13224
+ const n = Lo(t, "Initialization of waitForPendingWrites() operation failed");
13213
13225
  e.reject(n);
13214
13226
  }
13215
13227
  }
@@ -13217,13 +13229,13 @@ async function wc(t, e, n) {
13217
13229
  /**
13218
13230
  * Triggers the callbacks that are waiting for this batch id to get acknowledged by server,
13219
13231
  * if there are any.
13220
- */ function mc(t, e) {
13232
+ */ function gc(t, e) {
13221
13233
  (t.jo.get(e) || []).forEach((t => {
13222
13234
  t.resolve();
13223
13235
  })), t.jo.delete(e);
13224
13236
  }
13225
13237
 
13226
- /** Reject all outstanding callbacks waiting for pending writes to complete. */ function gc(t, e, n) {
13238
+ /** Reject all outstanding callbacks waiting for pending writes to complete. */ function yc(t, e, n) {
13227
13239
  const s = K(t);
13228
13240
  let i = s.Ko[s.currentUser.toKey()];
13229
13241
  // NOTE: Mutations restored from persistence won't have callbacks, so it's
@@ -13234,39 +13246,39 @@ async function wc(t, e, n) {
13234
13246
  }
13235
13247
  }
13236
13248
 
13237
- function yc(t, e, n = null) {
13249
+ function pc(t, e, n = null) {
13238
13250
  t.sharedClientState.removeLocalQueryTarget(e);
13239
13251
  for (const s of t.Fo.get(e)) t.Mo.delete(s), n && t.Oo.zo(s, n);
13240
13252
  if (t.Fo.delete(e), t.isPrimaryClient) {
13241
13253
  t.qo.us(e).forEach((e => {
13242
13254
  t.qo.containsKey(e) ||
13243
13255
  // We removed the last reference for this key
13244
- pc(t, e);
13256
+ Tc(t, e);
13245
13257
  }));
13246
13258
  }
13247
13259
  }
13248
13260
 
13249
- function pc(t, e) {
13261
+ function Tc(t, e) {
13250
13262
  t.Lo.delete(e.path.canonicalString());
13251
13263
  // It's possible that the target already got removed because the query failed. In that case,
13252
13264
  // the key won't exist in `limboTargetsByKey`. Only do the cleanup if we still have the target.
13253
13265
  const n = t.Bo.get(e);
13254
- null !== n && (fo(t.remoteStore, n), t.Bo = t.Bo.remove(e), t.Uo.delete(n), Ic(t));
13266
+ null !== n && (fo(t.remoteStore, n), t.Bo = t.Bo.remove(e), t.Uo.delete(n), Ac(t));
13255
13267
  }
13256
13268
 
13257
- function Tc(t, e, n) {
13258
- for (const s of n) if (s instanceof tc) t.qo.addReference(s.key, e), Ec(t, s); else if (s instanceof ec) {
13269
+ function Ec(t, e, n) {
13270
+ for (const s of n) if (s instanceof ec) t.qo.addReference(s.key, e), Ic(t, s); else if (s instanceof nc) {
13259
13271
  O("SyncEngine", "Document no longer in limbo: " + s.key), t.qo.removeReference(s.key, e);
13260
13272
  t.qo.containsKey(s.key) ||
13261
13273
  // We removed the last reference for this key
13262
- pc(t, s.key);
13274
+ Tc(t, s.key);
13263
13275
  } else B();
13264
13276
  }
13265
13277
 
13266
- function Ec(t, e) {
13278
+ function Ic(t, e) {
13267
13279
  const n = e.key, s = n.path.canonicalString();
13268
13280
  t.Bo.get(n) || t.Lo.has(s) || (O("SyncEngine", "New document in limbo: " + n), t.Lo.add(s),
13269
- Ic(t));
13281
+ Ac(t));
13270
13282
  }
13271
13283
 
13272
13284
  /**
@@ -13276,16 +13288,16 @@ function Ec(t, e) {
13276
13288
  * Without bounding the number of concurrent resolutions, the server can fail
13277
13289
  * with "resource exhausted" errors which can lead to pathological client
13278
13290
  * behavior as seen in https://github.com/firebase/firebase-js-sdk/issues/2683.
13279
- */ function Ic(t) {
13291
+ */ function Ac(t) {
13280
13292
  for (;t.Lo.size > 0 && t.Bo.size < t.maxConcurrentLimboResolutions; ) {
13281
13293
  const e = t.Lo.values().next().value;
13282
13294
  t.Lo.delete(e);
13283
13295
  const n = new Dt(wt.fromString(e)), s = t.Qo.next();
13284
- t.Uo.set(s, new ic(n)), t.Bo = t.Bo.insert(n, s), lo(t.remoteStore, new ai(be(ye(n.path)), s, 2 /* LimboResolution */ , nt.I));
13296
+ t.Uo.set(s, new rc(n)), t.Bo = t.Bo.insert(n, s), lo(t.remoteStore, new ai(be(ye(n.path)), s, 2 /* LimboResolution */ , nt.I));
13285
13297
  }
13286
13298
  }
13287
13299
 
13288
- async function Ac(t, e, n) {
13300
+ async function Rc(t, e, n) {
13289
13301
  const s = K(t), i = [], r = [], o = [];
13290
13302
  s.Mo.isEmpty() || (s.Mo.forEach(((t, c) => {
13291
13303
  o.push(s.Go(c, e, n).then((t => {
@@ -13319,7 +13331,7 @@ async function Ac(t, e, n) {
13319
13331
  }(s.localStore, r));
13320
13332
  }
13321
13333
 
13322
- async function Rc(t, e) {
13334
+ async function bc(t, e) {
13323
13335
  const n = K(t);
13324
13336
  if (!n.currentUser.isEqual(e)) {
13325
13337
  O("SyncEngine", "User change. New user:", e.toKey());
@@ -13334,11 +13346,11 @@ async function Rc(t, e) {
13334
13346
  })), t.jo.clear();
13335
13347
  }(n, "'waitForPendingWrites' promise is rejected due to a user change."),
13336
13348
  // TODO(b/114226417): Consider calling this only in the primary tab.
13337
- n.sharedClientState.handleUserChange(e, t.removedBatchIds, t.addedBatchIds), await Ac(n, t.Gn);
13349
+ n.sharedClientState.handleUserChange(e, t.removedBatchIds, t.addedBatchIds), await Rc(n, t.Gn);
13338
13350
  }
13339
13351
  }
13340
13352
 
13341
- function bc(t, e) {
13353
+ function Pc(t, e) {
13342
13354
  const n = K(t), s = n.Uo.get(e);
13343
13355
  if (s && s.$o) return Dn().add(s.key);
13344
13356
  {
@@ -13356,10 +13368,10 @@ function bc(t, e) {
13356
13368
  /**
13357
13369
  * Reconcile the list of synced documents in an existing view with those
13358
13370
  * from persistence.
13359
- */ async function Pc(t, e) {
13371
+ */ async function vc(t, e) {
13360
13372
  const n = K(t), s = await Ir(n.localStore, e.query,
13361
13373
  /* usePreviousResults= */ !0), i = e.view.ko(s);
13362
- return n.isPrimaryClient && Tc(n, e.targetId, i.Co), i;
13374
+ return n.isPrimaryClient && Ec(n, e.targetId, i.Co), i;
13363
13375
  }
13364
13376
 
13365
13377
  /**
@@ -13367,14 +13379,14 @@ function bc(t, e) {
13367
13379
  * snapshots if needed.
13368
13380
  */
13369
13381
  // PORTING NOTE: Multi-Tab only.
13370
- async function vc(t) {
13382
+ async function Vc(t) {
13371
13383
  const e = K(t);
13372
- return Rr(e.localStore).then((t => Ac(e, t)));
13384
+ return Rr(e.localStore).then((t => Rc(e, t)));
13373
13385
  }
13374
13386
 
13375
13387
  /** Applies a mutation state to an existing batch. */
13376
13388
  // PORTING NOTE: Multi-Tab only.
13377
- async function Vc(t, e, n, s) {
13389
+ async function Sc(t, e, n, s) {
13378
13390
  const i = K(t), r = await function(t, e) {
13379
13391
  const n = K(t), s = K(n.An);
13380
13392
  return n.persistence.runTransaction("Lookup mutation documents", "readonly", (t => s.Zt(t, e).next((e => e ? n.Wn.vn(t, e) : zs.resolve(null)))));
@@ -13388,11 +13400,11 @@ async function Vc(t, e, n, s) {
13388
13400
  await bo(i.remoteStore) : "acknowledged" === n || "rejected" === n ? (
13389
13401
  // NOTE: Both these methods are no-ops for batches that originated from
13390
13402
  // other clients.
13391
- gc(i, e, s || null), mc(i, e), function(t, e) {
13403
+ yc(i, e, s || null), gc(i, e), function(t, e) {
13392
13404
  K(K(t).An).ee(e);
13393
13405
  }
13394
13406
  // PORTING NOTE: Multi-Tab only.
13395
- (i.localStore, e)) : B(), await Ac(i, r)) :
13407
+ (i.localStore, e)) : B(), await Rc(i, r)) :
13396
13408
  // A throttled tab may not have seen the mutation before it was completed
13397
13409
  // and removed from the mutation queue, in which case we won't have cached
13398
13410
  // the affected documents. In this case we can safely ignore the update
@@ -13405,26 +13417,26 @@ async function Vc(t, e, n, s) {
13405
13417
 
13406
13418
  /** Applies a query target change from a different tab. */
13407
13419
  // PORTING NOTE: Multi-Tab only.
13408
- async function Sc(t, e) {
13420
+ async function Dc(t, e) {
13409
13421
  const n = K(t);
13410
- if ($c(n), Oc(n), !0 === e && !0 !== n.Wo) {
13422
+ if (Oc(n), Mc(n), !0 === e && !0 !== n.Wo) {
13411
13423
  // Secondary tabs only maintain Views for their local listeners and the
13412
13424
  // Views internal state may not be 100% populated (in particular
13413
13425
  // secondary tabs don't track syncedDocuments, the set of documents the
13414
13426
  // server considers to be in the target). So when a secondary becomes
13415
13427
  // primary, we need to need to make sure that all views for all targets
13416
13428
  // match the state on disk.
13417
- const t = n.sharedClientState.getAllActiveQueryTargets(), e = await Dc(n, t.toArray());
13418
- n.Wo = !0, await xo(n.remoteStore, !0);
13429
+ const t = n.sharedClientState.getAllActiveQueryTargets(), e = await Cc(n, t.toArray());
13430
+ n.Wo = !0, await $o(n.remoteStore, !0);
13419
13431
  for (const t of e) lo(n.remoteStore, t);
13420
13432
  } else if (!1 === e && !1 !== n.Wo) {
13421
13433
  const t = [];
13422
13434
  let e = Promise.resolve();
13423
13435
  n.Fo.forEach(((s, i) => {
13424
- n.sharedClientState.isLocalQueryTarget(i) ? t.push(i) : e = e.then((() => (yc(n, i),
13436
+ n.sharedClientState.isLocalQueryTarget(i) ? t.push(i) : e = e.then((() => (pc(n, i),
13425
13437
  Er(n.localStore, i,
13426
13438
  /*keepPersistedTargetData=*/ !0)))), fo(n.remoteStore, i);
13427
- })), await e, await Dc(n, t),
13439
+ })), await e, await Cc(n, t),
13428
13440
  // PORTING NOTE: Multi-Tab only.
13429
13441
  function(t) {
13430
13442
  const e = K(t);
@@ -13443,11 +13455,11 @@ async function Sc(t, e) {
13443
13455
  * tab to a primary tab
13444
13456
  */
13445
13457
  // PORTING NOTE: Multi-Tab only.
13446
- (n), n.Wo = !1, await xo(n.remoteStore, !1);
13458
+ (n), n.Wo = !1, await $o(n.remoteStore, !1);
13447
13459
  }
13448
13460
  }
13449
13461
 
13450
- async function Dc(t, e, n) {
13462
+ async function Cc(t, e, n) {
13451
13463
  const s = K(t), i = [], r = [];
13452
13464
  for (const t of e) {
13453
13465
  let e;
@@ -13459,14 +13471,14 @@ async function Dc(t, e, n) {
13459
13471
  // state (the list of syncedDocuments may have gotten out of sync).
13460
13472
  e = await Tr(s.localStore, be(n[0]));
13461
13473
  for (const t of n) {
13462
- const e = s.Mo.get(t), n = await Pc(s, e);
13474
+ const e = s.Mo.get(t), n = await vc(s, e);
13463
13475
  n.snapshot && r.push(n.snapshot);
13464
13476
  }
13465
13477
  } else {
13466
13478
  // For queries that never executed on this client, we need to
13467
13479
  // allocate the target in LocalStore and initialize a new View.
13468
13480
  const n = await Ar(s.localStore, t);
13469
- e = await Tr(s.localStore, n), await cc(s, Cc(n), t,
13481
+ e = await Tr(s.localStore, n), await ac(s, Nc(n), t,
13470
13482
  /*current=*/ !1);
13471
13483
  }
13472
13484
  i.push(e);
@@ -13485,20 +13497,20 @@ async function Dc(t, e, n) {
13485
13497
  * difference will not cause issues.
13486
13498
  */
13487
13499
  // PORTING NOTE: Multi-Tab only.
13488
- function Cc(t) {
13500
+ function Nc(t) {
13489
13501
  return ge(t.path, t.collectionGroup, t.orderBy, t.filters, t.limit, "F" /* First */ , t.startAt, t.endAt);
13490
13502
  }
13491
13503
 
13492
13504
  /** Returns the IDs of the clients that are currently active. */
13493
13505
  // PORTING NOTE: Multi-Tab only.
13494
- function Nc(t) {
13506
+ function kc(t) {
13495
13507
  const e = K(t);
13496
13508
  return K(K(e.localStore).persistence).Tn();
13497
13509
  }
13498
13510
 
13499
13511
  /** Applies a query target change from a different tab. */
13500
13512
  // PORTING NOTE: Multi-Tab only.
13501
- async function kc(t, e, n, s) {
13513
+ async function xc(t, e, n, s) {
13502
13514
  const i = K(t);
13503
13515
  if (i.Wo)
13504
13516
  // If we receive a target state notification via WebStorage, we are
@@ -13508,13 +13520,13 @@ async function kc(t, e, n, s) {
13508
13520
  case "not-current":
13509
13521
  {
13510
13522
  const t = await Rr(i.localStore), s = kn.createSynthesizedRemoteEventForCurrentChange(e, "current" === n);
13511
- await Ac(i, t, s);
13523
+ await Rc(i, t, s);
13512
13524
  break;
13513
13525
  }
13514
13526
 
13515
13527
  case "rejected":
13516
13528
  await Er(i.localStore, e,
13517
- /* keepPersistedTargetData */ !0), yc(i, e, s);
13529
+ /* keepPersistedTargetData */ !0), pc(i, e, s);
13518
13530
  break;
13519
13531
 
13520
13532
  default:
@@ -13522,8 +13534,8 @@ async function kc(t, e, n, s) {
13522
13534
  }
13523
13535
  }
13524
13536
 
13525
- /** Adds or removes Watch targets for queries from different tabs. */ async function xc(t, e, n) {
13526
- const s = $c(t);
13537
+ /** Adds or removes Watch targets for queries from different tabs. */ async function $c(t, e, n) {
13538
+ const s = Oc(t);
13527
13539
  if (s.Wo) {
13528
13540
  for (const t of e) {
13529
13541
  if (s.Fo.has(t)) {
@@ -13532,7 +13544,7 @@ async function kc(t, e, n, s) {
13532
13544
  continue;
13533
13545
  }
13534
13546
  const e = await Ar(s.localStore, t), n = await Tr(s.localStore, e);
13535
- await cc(s, Cc(e), n.targetId,
13547
+ await ac(s, Nc(e), n.targetId,
13536
13548
  /*current=*/ !1), lo(s.remoteStore, n);
13537
13549
  }
13538
13550
  for (const t of n)
@@ -13542,21 +13554,21 @@ async function kc(t, e, n, s) {
13542
13554
  // Release queries that are still active.
13543
13555
  await Er(s.localStore, t,
13544
13556
  /* keepPersistedTargetData */ !1).then((() => {
13545
- fo(s.remoteStore, t), yc(s, t);
13557
+ fo(s.remoteStore, t), pc(s, t);
13546
13558
  })).catch(Ui);
13547
13559
  }
13548
13560
  }
13549
13561
 
13550
- function $c(t) {
13562
+ function Oc(t) {
13551
13563
  const e = K(t);
13552
- return e.remoteStore.remoteSyncer.applyRemoteEvent = hc.bind(null, e), e.remoteStore.remoteSyncer.getRemoteKeysForTarget = bc.bind(null, e),
13553
- e.remoteStore.remoteSyncer.rejectListen = fc.bind(null, e), e.Oo.br = Wo.bind(null, e.eventManager),
13554
- e.Oo.zo = Go.bind(null, e.eventManager), e;
13564
+ return e.remoteStore.remoteSyncer.applyRemoteEvent = lc.bind(null, e), e.remoteStore.remoteSyncer.getRemoteKeysForTarget = Pc.bind(null, e),
13565
+ e.remoteStore.remoteSyncer.rejectListen = dc.bind(null, e), e.Oo.br = Go.bind(null, e.eventManager),
13566
+ e.Oo.zo = zo.bind(null, e.eventManager), e;
13555
13567
  }
13556
13568
 
13557
- function Oc(t) {
13569
+ function Mc(t) {
13558
13570
  const e = K(t);
13559
- return e.remoteStore.remoteSyncer.applySuccessfulWrite = dc.bind(null, e), e.remoteStore.remoteSyncer.rejectFailedWrite = wc.bind(null, e),
13571
+ return e.remoteStore.remoteSyncer.applySuccessfulWrite = wc.bind(null, e), e.remoteStore.remoteSyncer.rejectFailedWrite = _c.bind(null, e),
13560
13572
  e;
13561
13573
  }
13562
13574
 
@@ -13567,7 +13579,7 @@ function Oc(t) {
13567
13579
  * @param syncEngine - SyncEngine to use.
13568
13580
  * @param bundleReader - Bundle to load into the SDK.
13569
13581
  * @param task - LoadBundleTask used to update the loading progress to public API.
13570
- */ function Mc(t, e, n) {
13582
+ */ function Fc(t, e, n) {
13571
13583
  const s = K(t);
13572
13584
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
13573
13585
  (async function(t, e, n) {
@@ -13588,8 +13600,8 @@ function Oc(t) {
13588
13600
  totalBytes: t.totalBytes
13589
13601
  };
13590
13602
  }(s));
13591
- n._updateProgress(Zo(s));
13592
- const i = new Xo(s, t.localStore, e.k);
13603
+ n._updateProgress(tc(s));
13604
+ const i = new Zo(s, t.localStore, e.k);
13593
13605
  let r = await e.Ho();
13594
13606
  for (;r; ) {
13595
13607
  const t = await i.yo(r);
@@ -13599,7 +13611,7 @@ function Oc(t) {
13599
13611
  // TODO(b/160876443): This currently raises snapshots with
13600
13612
  // `fromCache=false` if users already listen to some queries and bundles
13601
13613
  // has newer version.
13602
- await Ac(t, o.In,
13614
+ await Rc(t, o.In,
13603
13615
  /* remoteEvent */ void 0),
13604
13616
  // Save metadata, so loading the same bundle will skip.
13605
13617
  await function(t, e) {
@@ -13638,7 +13650,7 @@ function Oc(t) {
13638
13650
  }));
13639
13651
  }
13640
13652
 
13641
- class Fc {
13653
+ class Lc {
13642
13654
  constructor() {
13643
13655
  this.synchronizeTabs = !1;
13644
13656
  }
@@ -13666,14 +13678,14 @@ class Fc {
13666
13678
 
13667
13679
  /**
13668
13680
  * Provides all components needed for Firestore with IndexedDB persistence.
13669
- */ class Lc extends Fc {
13681
+ */ class Bc extends Lc {
13670
13682
  constructor(t, e, n) {
13671
13683
  super(), this.tc = t, this.cacheSizeBytes = e, this.forceOwnership = n, this.synchronizeTabs = !1;
13672
13684
  }
13673
13685
  async initialize(t) {
13674
13686
  await super.initialize(t), await br(this.localStore), await this.tc.initialize(this, t),
13675
13687
  // Enqueue writes from a previous session
13676
- await Oc(this.tc.syncEngine), await bo(this.tc.remoteStore),
13688
+ await Mc(this.tc.syncEngine), await bo(this.tc.remoteStore),
13677
13689
  // NOTE: This will immediately call the listener, so we make sure to
13678
13690
  // set it after localStore / remoteStore are started.
13679
13691
  await this.persistence.sn((() => (this.gcScheduler && !this.gcScheduler.started && this.gcScheduler.start(this.localStore),
@@ -13702,7 +13714,7 @@ class Fc {
13702
13714
  * In the legacy client, this provider is used to provide both multi-tab and
13703
13715
  * non-multi-tab persistence since we cannot tell at build time whether
13704
13716
  * `synchronizeTabs` will be enabled.
13705
- */ class Bc extends Lc {
13717
+ */ class Uc extends Bc {
13706
13718
  constructor(t, e) {
13707
13719
  super(t, e, /* forceOwnership= */ !1), this.tc = t, this.cacheSizeBytes = e, this.synchronizeTabs = !0;
13708
13720
  }
@@ -13710,16 +13722,16 @@ class Fc {
13710
13722
  await super.initialize(t);
13711
13723
  const e = this.tc.syncEngine;
13712
13724
  this.sharedClientState instanceof Wr && (this.sharedClientState.syncEngine = {
13713
- mi: Vc.bind(null, e),
13714
- gi: kc.bind(null, e),
13715
- yi: xc.bind(null, e),
13716
- Tn: Nc.bind(null, e),
13717
- _i: vc.bind(null, e)
13725
+ mi: Sc.bind(null, e),
13726
+ gi: xc.bind(null, e),
13727
+ yi: $c.bind(null, e),
13728
+ Tn: kc.bind(null, e),
13729
+ _i: Vc.bind(null, e)
13718
13730
  }, await this.sharedClientState.start()),
13719
13731
  // NOTE: This will immediately call the listener, so we make sure to
13720
13732
  // set it after localStore / remoteStore are started.
13721
13733
  await this.persistence.sn((async t => {
13722
- await Sc(this.tc.syncEngine, t), this.gcScheduler && (t && !this.gcScheduler.started ? this.gcScheduler.start(this.localStore) : t || this.gcScheduler.stop());
13734
+ await Dc(this.tc.syncEngine, t), this.gcScheduler && (t && !this.gcScheduler.started ? this.gcScheduler.start(this.localStore) : t || this.gcScheduler.stop());
13723
13735
  }));
13724
13736
  }
13725
13737
  Jo(t) {
@@ -13733,17 +13745,17 @@ class Fc {
13733
13745
  /**
13734
13746
  * Initializes and wires the components that are needed to interface with the
13735
13747
  * network.
13736
- */ class Uc {
13748
+ */ class qc {
13737
13749
  async initialize(t, e) {
13738
13750
  this.localStore || (this.localStore = t.localStore, this.sharedClientState = t.sharedClientState,
13739
13751
  this.datastore = this.createDatastore(e), this.remoteStore = this.createRemoteStore(e),
13740
13752
  this.eventManager = this.createEventManager(e), this.syncEngine = this.createSyncEngine(e,
13741
- /* startAsPrimary=*/ !t.synchronizeTabs), this.sharedClientState.onlineStateHandler = t => lc(this.syncEngine, t, 1 /* SharedClientState */),
13742
- this.remoteStore.remoteSyncer.handleCredentialChange = Rc.bind(null, this.syncEngine),
13743
- await xo(this.remoteStore, this.syncEngine.isPrimaryClient));
13753
+ /* startAsPrimary=*/ !t.synchronizeTabs), this.sharedClientState.onlineStateHandler = t => fc(this.syncEngine, t, 1 /* SharedClientState */),
13754
+ this.remoteStore.remoteSyncer.handleCredentialChange = bc.bind(null, this.syncEngine),
13755
+ await $o(this.remoteStore, this.syncEngine.isPrimaryClient));
13744
13756
  }
13745
13757
  createEventManager(t) {
13746
- return new Ko;
13758
+ return new jo;
13747
13759
  }
13748
13760
  createDatastore(t) {
13749
13761
  const e = eo(t.databaseInfo.databaseId), n = (s = t.databaseInfo, new Xr(s));
@@ -13753,7 +13765,7 @@ class Fc {
13753
13765
  }(t.authCredentials, t.appCheckCredentials, n, e);
13754
13766
  }
13755
13767
  createRemoteStore(t) {
13756
- return e = this.localStore, n = this.datastore, s = t.asyncQueue, i = t => lc(this.syncEngine, t, 0 /* RemoteStore */),
13768
+ return e = this.localStore, n = this.datastore, s = t.asyncQueue, i = t => fc(this.syncEngine, t, 0 /* RemoteStore */),
13757
13769
  r = Hr.Pt() ? new Hr : new zr, new ao(e, n, s, i, r);
13758
13770
  var e, n, s, i, r;
13759
13771
  /** Re-enables the network. Idempotent. */ }
@@ -13761,7 +13773,7 @@ class Fc {
13761
13773
  return function(t, e, n,
13762
13774
  // PORTING NOTE: Manages state synchronization in multi-tab environments.
13763
13775
  s, i, r, o) {
13764
- const c = new rc(t, e, n, s, i, r);
13776
+ const c = new oc(t, e, n, s, i, r);
13765
13777
  return o && (c.Wo = !0), c;
13766
13778
  }(this.localStore, this.remoteStore, this.eventManager, this.sharedClientState, t.initialUser, t.maxConcurrentLimboResolutions, e);
13767
13779
  }
@@ -13804,7 +13816,7 @@ class Fc {
13804
13816
  * @param bytesPerRead - How many bytes each `read()` from the returned reader
13805
13817
  * will read.
13806
13818
  */
13807
- function qc(t, e = 10240) {
13819
+ function Kc(t, e = 10240) {
13808
13820
  let n = 0;
13809
13821
  // The TypeScript definition for ReadableStreamReader changed. We use
13810
13822
  // `any` here to allow this code to compile with different versions.
@@ -13870,7 +13882,7 @@ function qc(t, e = 10240) {
13870
13882
  * asynchronously. To allow immediate silencing, a mute call is added which
13871
13883
  * causes events scheduled to no longer be raised.
13872
13884
  */
13873
- class Kc {
13885
+ class jc {
13874
13886
  constructor(t) {
13875
13887
  this.observer = t,
13876
13888
  /**
@@ -13916,7 +13928,7 @@ class Kc {
13916
13928
  *
13917
13929
  * Takes a bundle stream or buffer, and presents abstractions to read bundled
13918
13930
  * elements out of the underlying content.
13919
- */ class jc {
13931
+ */ class Qc {
13920
13932
  constructor(
13921
13933
  /** The reader to read from underlying binary bundle data source. */
13922
13934
  t, e) {
@@ -13958,7 +13970,7 @@ class Kc {
13958
13970
  const e = this.ic.decode(t), n = Number(e);
13959
13971
  isNaN(n) && this.cc(`length string (${e}) is not valid number`);
13960
13972
  const s = await this.ac(n);
13961
- return new Jo(JSON.parse(s), t.length + n);
13973
+ return new Yo(JSON.parse(s), t.length + n);
13962
13974
  }
13963
13975
  /** First index of '{' from the underlying buffer. */ uc() {
13964
13976
  return this.buffer.findIndex((t => t === "{".charCodeAt(0)));
@@ -14033,7 +14045,7 @@ class Kc {
14033
14045
  * Internal transaction object responsible for accumulating the mutations to
14034
14046
  * perform and the base versions for any documents read.
14035
14047
  */
14036
- class Qc {
14048
+ class Wc {
14037
14049
  constructor(t) {
14038
14050
  this.datastore = t,
14039
14051
  // The version of each document that was read during this transaction.
@@ -14174,7 +14186,7 @@ class Qc {
14174
14186
  * TransactionRunner encapsulates the logic needed to run and retry transactions
14175
14187
  * with backoff.
14176
14188
  */
14177
- class Wc {
14189
+ class Gc {
14178
14190
  constructor(t, e, n, s) {
14179
14191
  this.asyncQueue = t, this.datastore = e, this.updateFunction = n, this.deferred = s,
14180
14192
  this.lc = 5, this.ur = new no(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
@@ -14184,7 +14196,7 @@ class Wc {
14184
14196
  }
14185
14197
  fc() {
14186
14198
  this.ur.Zi((async () => {
14187
- const t = new Qc(this.datastore), e = this.dc(t);
14199
+ const t = new Wc(this.datastore), e = this.dc(t);
14188
14200
  e && e.then((e => {
14189
14201
  this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
14190
14202
  this.deferred.resolve(e);
@@ -14242,7 +14254,7 @@ class Wc {
14242
14254
  * pieces of the client SDK architecture. It is responsible for creating the
14243
14255
  * async queue that is shared by all of the other components in the system.
14244
14256
  */
14245
- class Gc {
14257
+ class zc {
14246
14258
  constructor(t, e,
14247
14259
  /**
14248
14260
  * Asynchronous queue responsible for all of our internal processing. When
@@ -14255,12 +14267,11 @@ class Gc {
14255
14267
  n, s) {
14256
14268
  this.authCredentials = t, this.appCheckCredentials = e, this.asyncQueue = n, this.databaseInfo = s,
14257
14269
  this.user = C.UNAUTHENTICATED, this.clientId = it.A(), this.authCredentialListener = () => Promise.resolve(),
14258
- this.authCredentials.start(n, (async t => {
14270
+ this.appCheckCredentialListener = () => Promise.resolve(), this.authCredentials.start(n, (async t => {
14259
14271
  O("FirestoreClient", "Received user=", t.uid), await this.authCredentialListener(t),
14260
14272
  this.user = t;
14261
- })),
14262
- // Register an empty credentials change listener to activate token refresh.
14263
- this.appCheckCredentials.start(n, (() => Promise.resolve()));
14273
+ })), this.appCheckCredentials.start(n, (t => (O("FirestoreClient", "Received new app check token=", t),
14274
+ this.appCheckCredentialListener(t, this.user))));
14264
14275
  }
14265
14276
  async getConfiguration() {
14266
14277
  return {
@@ -14276,6 +14287,9 @@ class Gc {
14276
14287
  setCredentialChangeListener(t) {
14277
14288
  this.authCredentialListener = t;
14278
14289
  }
14290
+ setAppCheckTokenChangeListener(t) {
14291
+ this.appCheckCredentialListener = t;
14292
+ }
14279
14293
  /**
14280
14294
  * Checks that the client has not been terminated. Ensures that other methods on
14281
14295
  * this class cannot be called after the client is terminated.
@@ -14293,14 +14307,14 @@ class Gc {
14293
14307
  // tokens.
14294
14308
  this.authCredentials.shutdown(), this.appCheckCredentials.shutdown(), t.resolve();
14295
14309
  } catch (e) {
14296
- const n = Fo(e, "Failed to shutdown persistence");
14310
+ const n = Lo(e, "Failed to shutdown persistence");
14297
14311
  t.reject(n);
14298
14312
  }
14299
14313
  })), t.promise;
14300
14314
  }
14301
14315
  }
14302
14316
 
14303
- async function zc(t, e) {
14317
+ async function Hc(t, e) {
14304
14318
  t.asyncQueue.verifyOperationInProgress(), O("FirestoreClient", "Initializing OfflineComponentProvider");
14305
14319
  const n = await t.getConfiguration();
14306
14320
  await e.initialize(n);
@@ -14313,63 +14327,53 @@ async function zc(t, e) {
14313
14327
  e.persistence.setDatabaseDeletedListener((() => t.terminate())), t.offlineComponents = e;
14314
14328
  }
14315
14329
 
14316
- async function Hc(t, e) {
14330
+ async function Jc(t, e) {
14317
14331
  t.asyncQueue.verifyOperationInProgress();
14318
- const n = await Jc(t);
14332
+ const n = await Yc(t);
14319
14333
  O("FirestoreClient", "Initializing OnlineComponentProvider");
14320
14334
  const s = await t.getConfiguration();
14321
14335
  await e.initialize(n, s),
14322
14336
  // The CredentialChangeListener of the online component provider takes
14323
14337
  // precedence over the offline component provider.
14324
- t.setCredentialChangeListener((t => async function(t, e) {
14325
- const n = K(t);
14326
- n.asyncQueue.verifyOperationInProgress(), O("RemoteStore", "RemoteStore received new credentials");
14327
- const s = yo(n);
14328
- // Tear down and re-create our network streams. This will ensure we get a
14329
- // fresh auth token for the new user and re-fill the write pipeline with
14330
- // new mutations from the LocalStore (since mutations are per-user).
14331
- n.Gr.add(3 /* CredentialChange */), await ho(n), s &&
14332
- // Don't set the network status to Unknown if we are offline.
14333
- n.Jr.set("Unknown" /* Unknown */), await n.remoteSyncer.handleCredentialChange(e),
14334
- n.Gr.delete(3 /* CredentialChange */), await uo(n);
14335
- }(e.remoteStore, t))), t.onlineComponents = e;
14336
- }
14337
-
14338
- async function Jc(t) {
14339
- return t.offlineComponents || (O("FirestoreClient", "Using default OfflineComponentProvider"),
14340
- await zc(t, new Fc)), t.offlineComponents;
14338
+ t.setCredentialChangeListener((t => xo(e.remoteStore, t))), t.setAppCheckTokenChangeListener(((t, n) => xo(e.remoteStore, n))),
14339
+ t.onlineComponents = e;
14341
14340
  }
14342
14341
 
14343
14342
  async function Yc(t) {
14344
- return t.onlineComponents || (O("FirestoreClient", "Using default OnlineComponentProvider"),
14345
- await Hc(t, new Uc)), t.onlineComponents;
14343
+ return t.offlineComponents || (O("FirestoreClient", "Using default OfflineComponentProvider"),
14344
+ await Hc(t, new Lc)), t.offlineComponents;
14346
14345
  }
14347
14346
 
14348
- function Xc(t) {
14349
- return Jc(t).then((t => t.persistence));
14347
+ async function Xc(t) {
14348
+ return t.onlineComponents || (O("FirestoreClient", "Using default OnlineComponentProvider"),
14349
+ await Jc(t, new qc)), t.onlineComponents;
14350
14350
  }
14351
14351
 
14352
14352
  function Zc(t) {
14353
- return Jc(t).then((t => t.localStore));
14353
+ return Yc(t).then((t => t.persistence));
14354
14354
  }
14355
14355
 
14356
14356
  function ta(t) {
14357
- return Yc(t).then((t => t.remoteStore));
14357
+ return Yc(t).then((t => t.localStore));
14358
14358
  }
14359
14359
 
14360
14360
  function ea(t) {
14361
- return Yc(t).then((t => t.syncEngine));
14361
+ return Xc(t).then((t => t.remoteStore));
14362
14362
  }
14363
14363
 
14364
- async function na(t) {
14365
- const e = await Yc(t), n = e.eventManager;
14366
- return n.onListen = oc.bind(null, e.syncEngine), n.onUnlisten = ac.bind(null, e.syncEngine),
14364
+ function na(t) {
14365
+ return Xc(t).then((t => t.syncEngine));
14366
+ }
14367
+
14368
+ async function sa(t) {
14369
+ const e = await Xc(t), n = e.eventManager;
14370
+ return n.onListen = cc.bind(null, e.syncEngine), n.onUnlisten = uc.bind(null, e.syncEngine),
14367
14371
  n;
14368
14372
  }
14369
14373
 
14370
- /** Enables the network connection and re-enqueues all pending operations. */ function sa(t) {
14374
+ /** Enables the network connection and re-enqueues all pending operations. */ function ia(t) {
14371
14375
  return t.asyncQueue.enqueue((async () => {
14372
- const e = await Xc(t), n = await ta(t);
14376
+ const e = await Zc(t), n = await ea(t);
14373
14377
  return e.setNetworkEnabled(!0), function(t) {
14374
14378
  const e = K(t);
14375
14379
  return e.Gr.delete(0 /* UserDisabled */), uo(e);
@@ -14377,9 +14381,9 @@ async function na(t) {
14377
14381
  }));
14378
14382
  }
14379
14383
 
14380
- /** Disables the network connection. Pending operations will not complete. */ function ia(t) {
14384
+ /** Disables the network connection. Pending operations will not complete. */ function ra(t) {
14381
14385
  return t.asyncQueue.enqueue((async () => {
14382
- const e = await Xc(t), n = await ta(t);
14386
+ const e = await Zc(t), n = await ea(t);
14383
14387
  return e.setNetworkEnabled(!1), async function(t) {
14384
14388
  const e = K(t);
14385
14389
  e.Gr.add(0 /* UserDisabled */), await ho(e),
@@ -14393,7 +14397,7 @@ async function na(t) {
14393
14397
  * Returns a Promise that resolves when all writes that were pending at the time
14394
14398
  * this method was called received server acknowledgement. An acknowledgement
14395
14399
  * can be either acceptance or rejection.
14396
- */ function ra(t, e) {
14400
+ */ function oa(t, e) {
14397
14401
  const n = new W;
14398
14402
  return t.asyncQueue.enqueueAndForget((async () => async function(t, e, n) {
14399
14403
  try {
@@ -14403,24 +14407,24 @@ async function na(t) {
14403
14407
  }(t, e);
14404
14408
  s.isFoundDocument() ? n.resolve(s) : s.isNoDocument() ? n.resolve(null) : n.reject(new Q(j.UNAVAILABLE, "Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"));
14405
14409
  } catch (t) {
14406
- const s = Fo(t, `Failed to get document '${e} from cache`);
14410
+ const s = Lo(t, `Failed to get document '${e} from cache`);
14407
14411
  n.reject(s);
14408
14412
  }
14409
14413
  }
14410
14414
  /**
14411
14415
  * Retrieves a latency-compensated document from the backend via a
14412
14416
  * SnapshotListener.
14413
- */ (await Zc(t), e, n))), n.promise;
14417
+ */ (await ta(t), e, n))), n.promise;
14414
14418
  }
14415
14419
 
14416
- function oa(t, e, n = {}) {
14420
+ function ca(t, e, n = {}) {
14417
14421
  const s = new W;
14418
14422
  return t.asyncQueue.enqueueAndForget((async () => function(t, e, n, s, i) {
14419
- const r = new Kc({
14423
+ const r = new jc({
14420
14424
  next: r => {
14421
14425
  // Remove query first before passing event to user to avoid
14422
14426
  // user actions affecting the now stale query.
14423
- e.enqueueAndForget((() => Qo(t, o)));
14427
+ e.enqueueAndForget((() => Wo(t, o)));
14424
14428
  const c = r.docs.has(n);
14425
14429
  !c && r.fromCache ?
14426
14430
  // TODO(dimond): If we're online and the document doesn't
@@ -14433,62 +14437,62 @@ function oa(t, e, n = {}) {
14433
14437
  i.reject(new Q(j.UNAVAILABLE, "Failed to get document because the client is offline.")) : c && r.fromCache && s && "server" === s.source ? i.reject(new Q(j.UNAVAILABLE, 'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')) : i.resolve(r);
14434
14438
  },
14435
14439
  error: t => i.reject(t)
14436
- }), o = new Ho(ye(n.path), r, {
14440
+ }), o = new Jo(ye(n.path), r, {
14437
14441
  includeMetadataChanges: !0,
14438
14442
  wo: !0
14439
14443
  });
14440
- return jo(t, o);
14441
- }(await na(t), t.asyncQueue, e, n, s))), s.promise;
14444
+ return Qo(t, o);
14445
+ }(await sa(t), t.asyncQueue, e, n, s))), s.promise;
14442
14446
  }
14443
14447
 
14444
- function ca(t, e) {
14448
+ function aa(t, e) {
14445
14449
  const n = new W;
14446
14450
  return t.asyncQueue.enqueueAndForget((async () => async function(t, e, n) {
14447
14451
  try {
14448
14452
  const s = await Ir(t, e,
14449
- /* usePreviousResults= */ !0), i = new nc(e, s.zn), r = i.Po(s.documents), o = i.applyChanges(r,
14453
+ /* usePreviousResults= */ !0), i = new sc(e, s.zn), r = i.Po(s.documents), o = i.applyChanges(r,
14450
14454
  /* updateLimboDocuments= */ !1);
14451
14455
  n.resolve(o.snapshot);
14452
14456
  } catch (t) {
14453
- const s = Fo(t, `Failed to execute query '${e} against cache`);
14457
+ const s = Lo(t, `Failed to execute query '${e} against cache`);
14454
14458
  n.reject(s);
14455
14459
  }
14456
14460
  }
14457
14461
  /**
14458
14462
  * Retrieves a latency-compensated query snapshot from the backend via a
14459
14463
  * SnapshotListener.
14460
- */ (await Zc(t), e, n))), n.promise;
14464
+ */ (await ta(t), e, n))), n.promise;
14461
14465
  }
14462
14466
 
14463
- function aa(t, e, n = {}) {
14467
+ function ua(t, e, n = {}) {
14464
14468
  const s = new W;
14465
14469
  return t.asyncQueue.enqueueAndForget((async () => function(t, e, n, s, i) {
14466
- const r = new Kc({
14470
+ const r = new jc({
14467
14471
  next: n => {
14468
14472
  // Remove query first before passing event to user to avoid
14469
14473
  // user actions affecting the now stale query.
14470
- e.enqueueAndForget((() => Qo(t, o))), n.fromCache && "server" === s.source ? i.reject(new Q(j.UNAVAILABLE, 'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')) : i.resolve(n);
14474
+ e.enqueueAndForget((() => Wo(t, o))), n.fromCache && "server" === s.source ? i.reject(new Q(j.UNAVAILABLE, 'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')) : i.resolve(n);
14471
14475
  },
14472
14476
  error: t => i.reject(t)
14473
- }), o = new Ho(n, r, {
14477
+ }), o = new Jo(n, r, {
14474
14478
  includeMetadataChanges: !0,
14475
14479
  wo: !0
14476
14480
  });
14477
- return jo(t, o);
14478
- }(await na(t), t.asyncQueue, e, n, s))), s.promise;
14481
+ return Qo(t, o);
14482
+ }(await sa(t), t.asyncQueue, e, n, s))), s.promise;
14479
14483
  }
14480
14484
 
14481
- function ua(t, e) {
14482
- const n = new Kc(e);
14485
+ function ha(t, e) {
14486
+ const n = new jc(e);
14483
14487
  return t.asyncQueue.enqueueAndForget((async () => function(t, e) {
14484
14488
  K(t).io.add(e),
14485
14489
  // Immediately fire an initial event, indicating all existing listeners
14486
14490
  // are in-sync.
14487
14491
  e.next();
14488
- }(await na(t), n))), () => {
14492
+ }(await sa(t), n))), () => {
14489
14493
  n.nc(), t.asyncQueue.enqueueAndForget((async () => function(t, e) {
14490
14494
  K(t).io.delete(e);
14491
- }(await na(t), n)));
14495
+ }(await sa(t), n)));
14492
14496
  };
14493
14497
  }
14494
14498
 
@@ -14506,25 +14510,25 @@ function ua(t, e) {
14506
14510
  * accessed with the transaction will not reflect local changes that have not
14507
14511
  * been committed. For this reason, it is required that all reads are
14508
14512
  * performed before any writes. Transactions must be performed while online.
14509
- */ function ha(t, e) {
14513
+ */ function la(t, e) {
14510
14514
  const n = new W;
14511
14515
  return t.asyncQueue.enqueueAndForget((async () => {
14512
14516
  const s = await function(t) {
14513
- return Yc(t).then((t => t.datastore));
14517
+ return Xc(t).then((t => t.datastore));
14514
14518
  }(t);
14515
- new Wc(t.asyncQueue, s, e, n).run();
14519
+ new Gc(t.asyncQueue, s, e, n).run();
14516
14520
  })), n.promise;
14517
14521
  }
14518
14522
 
14519
- function la(t, e, n, s) {
14523
+ function fa(t, e, n, s) {
14520
14524
  const i = function(t, e) {
14521
14525
  let n;
14522
14526
  n = "string" == typeof t ? (new TextEncoder).encode(t) : t;
14523
14527
  return function(t, e) {
14524
- return new jc(t, e);
14528
+ return new Qc(t, e);
14525
14529
  }(function(t, e) {
14526
- if (t instanceof Uint8Array) return qc(t, e);
14527
- if (t instanceof ArrayBuffer) return qc(new Uint8Array(t), e);
14530
+ if (t instanceof Uint8Array) return Kc(t, e);
14531
+ if (t instanceof ArrayBuffer) return Kc(new Uint8Array(t), e);
14528
14532
  if (t instanceof ReadableStream) return t.getReader();
14529
14533
  throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream");
14530
14534
  }(n), e);
@@ -14546,18 +14550,18 @@ function la(t, e, n, s) {
14546
14550
  * limitations under the License.
14547
14551
  */ (n, eo(e));
14548
14552
  t.asyncQueue.enqueueAndForget((async () => {
14549
- Mc(await ea(t), i, s);
14553
+ Fc(await na(t), i, s);
14550
14554
  }));
14551
14555
  }
14552
14556
 
14553
- function fa(t, e) {
14557
+ function da(t, e) {
14554
14558
  return t.asyncQueue.enqueue((async () => function(t, e) {
14555
14559
  const n = K(t);
14556
14560
  return n.persistence.runTransaction("Get named query", "readonly", (t => n.Ye.getNamedQuery(t, e)));
14557
- }(await Zc(t), e)));
14561
+ }(await ta(t), e)));
14558
14562
  }
14559
14563
 
14560
- class da {
14564
+ class wa {
14561
14565
  /**
14562
14566
  * Constructs a DatabaseInfo using the provided host, databaseId and
14563
14567
  * persistenceKey.
@@ -14586,7 +14590,7 @@ class da {
14586
14590
  * Represents the database ID a Firestore client is associated with.
14587
14591
  * @internal
14588
14592
  */
14589
- class wa {
14593
+ class _a {
14590
14594
  constructor(t, e) {
14591
14595
  this.projectId = t, this.database = e || "(default)";
14592
14596
  }
@@ -14594,7 +14598,7 @@ class wa {
14594
14598
  return "(default)" === this.database;
14595
14599
  }
14596
14600
  isEqual(t) {
14597
- return t instanceof wa && t.projectId === this.projectId && t.database === this.database;
14601
+ return t instanceof _a && t.projectId === this.projectId && t.database === this.database;
14598
14602
  }
14599
14603
  }
14600
14604
 
@@ -14613,7 +14617,7 @@ class wa {
14613
14617
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14614
14618
  * See the License for the specific language governing permissions and
14615
14619
  * limitations under the License.
14616
- */ const _a = new Map;
14620
+ */ const ma = new Map;
14617
14621
 
14618
14622
  /**
14619
14623
  * An instance map that ensures only one Datastore exists per Firestore
@@ -14635,28 +14639,28 @@ class wa {
14635
14639
  * See the License for the specific language governing permissions and
14636
14640
  * limitations under the License.
14637
14641
  */
14638
- function ma(t, e, n) {
14642
+ function ga(t, e, n) {
14639
14643
  if (!n) throw new Q(j.INVALID_ARGUMENT, `Function ${t}() cannot be called with an empty ${e}.`);
14640
14644
  }
14641
14645
 
14642
14646
  /**
14643
14647
  * Validates that two boolean options are not set at the same time.
14644
14648
  * @internal
14645
- */ function ga(t, e, n, s) {
14649
+ */ function ya(t, e, n, s) {
14646
14650
  if (!0 === e && !0 === s) throw new Q(j.INVALID_ARGUMENT, `${t} and ${n} cannot be used together.`);
14647
14651
  }
14648
14652
 
14649
14653
  /**
14650
14654
  * Validates that `path` refers to a document (indicated by the fact it contains
14651
14655
  * an even numbers of segments).
14652
- */ function ya(t) {
14656
+ */ function pa(t) {
14653
14657
  if (!Dt.isDocumentKey(t)) throw new Q(j.INVALID_ARGUMENT, `Invalid document reference. Document references must have an even number of segments, but ${t} has ${t.length}.`);
14654
14658
  }
14655
14659
 
14656
14660
  /**
14657
14661
  * Validates that `path` refers to a collection (indicated by the fact it
14658
14662
  * contains an odd numbers of segments).
14659
- */ function pa(t) {
14663
+ */ function Ta(t) {
14660
14664
  if (Dt.isDocumentKey(t)) throw new Q(j.INVALID_ARGUMENT, `Invalid collection reference. Collection references must have an odd number of segments, but ${t} has ${t.length}.`);
14661
14665
  }
14662
14666
 
@@ -14665,7 +14669,7 @@ function ma(t, e, n) {
14665
14669
  * (i.e. excludes Array, Date, etc.).
14666
14670
  */
14667
14671
  /** Returns a string describing the type / value of the provided input. */
14668
- function Ta(t) {
14672
+ function Ea(t) {
14669
14673
  if (void 0 === t) return "undefined";
14670
14674
  if (null === t) return "null";
14671
14675
  if ("string" == typeof t) return t.length > 20 && (t = `${t.substring(0, 20)}...`),
@@ -14694,7 +14698,7 @@ function Ta(t) {
14694
14698
  return "function" == typeof t ? "a function" : B();
14695
14699
  }
14696
14700
 
14697
- function Ea(t,
14701
+ function Ia(t,
14698
14702
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14699
14703
  e) {
14700
14704
  if ("_delegate" in t && (
@@ -14703,14 +14707,14 @@ e) {
14703
14707
  t = t._delegate), !(t instanceof e)) {
14704
14708
  if (e.name === t.constructor.name) throw new Q(j.INVALID_ARGUMENT, "Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");
14705
14709
  {
14706
- const n = Ta(t);
14710
+ const n = Ea(t);
14707
14711
  throw new Q(j.INVALID_ARGUMENT, `Expected type '${e.name}', but it was: ${n}`);
14708
14712
  }
14709
14713
  }
14710
14714
  return t;
14711
14715
  }
14712
14716
 
14713
- function Ia(t, e) {
14717
+ function Aa(t, e) {
14714
14718
  if (e <= 0) throw new Q(j.INVALID_ARGUMENT, `Function ${t}() requires a positive number, but it was: ${e}.`);
14715
14719
  }
14716
14720
 
@@ -14736,7 +14740,7 @@ function Ia(t, e) {
14736
14740
  * user-supplied `FirestoreSettings` object. This is a separate type so that
14737
14741
  * defaults can be supplied and the value can be checked for equality.
14738
14742
  */
14739
- class Aa {
14743
+ class Ra {
14740
14744
  constructor(t) {
14741
14745
  var e;
14742
14746
  if (void 0 === t.host) {
@@ -14749,7 +14753,7 @@ class Aa {
14749
14753
  this.cacheSizeBytes = t.cacheSizeBytes;
14750
14754
  }
14751
14755
  this.experimentalForceLongPolling = !!t.experimentalForceLongPolling, this.experimentalAutoDetectLongPolling = !!t.experimentalAutoDetectLongPolling,
14752
- this.useFetchStreams = !!t.useFetchStreams, ga("experimentalForceLongPolling", t.experimentalForceLongPolling, "experimentalAutoDetectLongPolling", t.experimentalAutoDetectLongPolling);
14756
+ this.useFetchStreams = !!t.useFetchStreams, ya("experimentalForceLongPolling", t.experimentalForceLongPolling, "experimentalAutoDetectLongPolling", t.experimentalAutoDetectLongPolling);
14753
14757
  }
14754
14758
  isEqual(t) {
14755
14759
  return this.host === t.host && this.ssl === t.ssl && this.credentials === t.credentials && this.cacheSizeBytes === t.cacheSizeBytes && this.experimentalForceLongPolling === t.experimentalForceLongPolling && this.experimentalAutoDetectLongPolling === t.experimentalAutoDetectLongPolling && this.ignoreUndefinedProperties === t.ignoreUndefinedProperties && this.useFetchStreams === t.useFetchStreams;
@@ -14776,18 +14780,18 @@ class Aa {
14776
14780
  * The Cloud Firestore service interface.
14777
14781
  *
14778
14782
  * Do not call this constructor directly. Instead, use {@link getFirestore}.
14779
- */ class Ra {
14783
+ */ class ba {
14780
14784
  /** @hideconstructor */
14781
14785
  constructor(t, e, n) {
14782
14786
  this._authCredentials = e, this._appCheckCredentials = n,
14783
14787
  /**
14784
14788
  * Whether it's a Firestore or Firestore Lite instance.
14785
14789
  */
14786
- this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new Aa({}),
14787
- this._settingsFrozen = !1, t instanceof wa ? this._databaseId = t : (this._app = t,
14790
+ this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new Ra({}),
14791
+ this._settingsFrozen = !1, t instanceof _a ? this._databaseId = t : (this._app = t,
14788
14792
  this._databaseId = function(t) {
14789
14793
  if (!Object.prototype.hasOwnProperty.apply(t.options, [ "projectId" ])) throw new Q(j.INVALID_ARGUMENT, '"projectId" not provided in firebase.initializeApp.');
14790
- return new wa(t.options.projectId);
14794
+ return new _a(t.options.projectId);
14791
14795
  }
14792
14796
  /**
14793
14797
  * Modify this instance to communicate with the Cloud Firestore emulator.
@@ -14818,7 +14822,7 @@ class Aa {
14818
14822
  }
14819
14823
  _setSettings(t) {
14820
14824
  if (this._settingsFrozen) throw new Q(j.FAILED_PRECONDITION, "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.");
14821
- this._settings = new Aa(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
14825
+ this._settings = new Ra(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
14822
14826
  if (!t) return new z;
14823
14827
  switch (t.type) {
14824
14828
  case "gapi":
@@ -14863,15 +14867,15 @@ class Aa {
14863
14867
  * when the `Firestore` instance is terminated.
14864
14868
  */
14865
14869
  return function(t) {
14866
- const e = _a.get(t);
14867
- e && (O("ComponentProvider", "Removing Datastore"), _a.delete(t), e.terminate());
14870
+ const e = ma.get(t);
14871
+ e && (O("ComponentProvider", "Removing Datastore"), ma.delete(t), e.terminate());
14868
14872
  }(this), Promise.resolve();
14869
14873
  }
14870
14874
  }
14871
14875
 
14872
- function ba(t, e, n, s = {}) {
14876
+ function Pa(t, e, n, s = {}) {
14873
14877
  var i;
14874
- const r = (t = Ea(t, Ra))._getSettings();
14878
+ const r = (t = Ia(t, ba))._getSettings();
14875
14879
  if ("firestore.googleapis.com" !== r.host && r.host !== e && F("Host has been set in both settings() and useEmulator(), emulator host will be used"),
14876
14880
  t._setSettings(Object.assign(Object.assign({}, r), {
14877
14881
  host: `${e}:${n}`,
@@ -14910,7 +14914,7 @@ function ba(t, e, n, s = {}) {
14910
14914
  * A `DocumentReference` refers to a document location in a Firestore database
14911
14915
  * and can be used to write, read, or listen to the location. The document at
14912
14916
  * the referenced location may or may not exist.
14913
- */ class Pa {
14917
+ */ class va {
14914
14918
  /** @hideconstructor */
14915
14919
  constructor(t,
14916
14920
  /**
@@ -14938,17 +14942,17 @@ function ba(t, e, n, s = {}) {
14938
14942
  /**
14939
14943
  * The collection this `DocumentReference` belongs to.
14940
14944
  */ get parent() {
14941
- return new Va(this.firestore, this.converter, this._key.path.popLast());
14945
+ return new Sa(this.firestore, this.converter, this._key.path.popLast());
14942
14946
  }
14943
14947
  withConverter(t) {
14944
- return new Pa(this.firestore, t, this._key);
14948
+ return new va(this.firestore, t, this._key);
14945
14949
  }
14946
14950
  }
14947
14951
 
14948
14952
  /**
14949
14953
  * A `Query` refers to a query which you can read or listen to. You can also
14950
14954
  * construct refined `Query` objects by adding filters and ordering.
14951
- */ class va {
14955
+ */ class Va {
14952
14956
  // This is the lite version of the Query class in the main SDK.
14953
14957
  /** @hideconstructor protected */
14954
14958
  constructor(t,
@@ -14961,14 +14965,14 @@ function ba(t, e, n, s = {}) {
14961
14965
  this.type = "query", this.firestore = t;
14962
14966
  }
14963
14967
  withConverter(t) {
14964
- return new va(this.firestore, t, this._query);
14968
+ return new Va(this.firestore, t, this._query);
14965
14969
  }
14966
14970
  }
14967
14971
 
14968
14972
  /**
14969
14973
  * A `CollectionReference` object can be used for adding documents, getting
14970
14974
  * document references, and querying for documents (using {@link query}).
14971
- */ class Va extends va {
14975
+ */ class Sa extends Va {
14972
14976
  /** @hideconstructor */
14973
14977
  constructor(t, e, n) {
14974
14978
  super(t, e, ye(n)), this._path = n,
@@ -14989,23 +14993,23 @@ function ba(t, e, n, s = {}) {
14989
14993
  * subcollection. If this isn't a subcollection, the reference is null.
14990
14994
  */ get parent() {
14991
14995
  const t = this._path.popLast();
14992
- return t.isEmpty() ? null : new Pa(this.firestore,
14996
+ return t.isEmpty() ? null : new va(this.firestore,
14993
14997
  /* converter= */ null, new Dt(t));
14994
14998
  }
14995
14999
  withConverter(t) {
14996
- return new Va(this.firestore, t, this._path);
15000
+ return new Sa(this.firestore, t, this._path);
14997
15001
  }
14998
15002
  }
14999
15003
 
15000
- function Sa(t, e, ...n) {
15001
- if (t = getModularInstance(t), ma("collection", "path", e), t instanceof Ra) {
15004
+ function Da(t, e, ...n) {
15005
+ if (t = getModularInstance(t), ga("collection", "path", e), t instanceof ba) {
15002
15006
  const s = wt.fromString(e, ...n);
15003
- return pa(s), new Va(t, /* converter= */ null, s);
15007
+ return Ta(s), new Sa(t, /* converter= */ null, s);
15004
15008
  }
15005
15009
  {
15006
- if (!(t instanceof Pa || t instanceof Va)) throw new Q(j.INVALID_ARGUMENT, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
15010
+ if (!(t instanceof va || t instanceof Sa)) throw new Q(j.INVALID_ARGUMENT, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
15007
15011
  const s = t._path.child(wt.fromString(e, ...n));
15008
- return pa(s), new Va(t.firestore,
15012
+ return Ta(s), new Sa(t.firestore,
15009
15013
  /* converter= */ null, s);
15010
15014
  }
15011
15015
  }
@@ -15022,9 +15026,9 @@ function Sa(t, e, ...n) {
15022
15026
  * collection or subcollection with this ID as the last segment of its path
15023
15027
  * will be included. Cannot contain a slash.
15024
15028
  * @returns The created `Query`.
15025
- */ function Da(t, e) {
15026
- if (t = Ea(t, Ra), ma("collectionGroup", "collection id", e), e.indexOf("/") >= 0) throw new Q(j.INVALID_ARGUMENT, `Invalid collection ID '${e}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
15027
- return new va(t,
15029
+ */ function Ca(t, e) {
15030
+ if (t = Ia(t, ba), ga("collectionGroup", "collection id", e), e.indexOf("/") >= 0) throw new Q(j.INVALID_ARGUMENT, `Invalid collection ID '${e}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
15031
+ return new Va(t,
15028
15032
  /* converter= */ null,
15029
15033
  /**
15030
15034
  * Creates a new Query for a collection group query that matches all documents
@@ -15035,19 +15039,19 @@ function Sa(t, e, ...n) {
15035
15039
  }(e));
15036
15040
  }
15037
15041
 
15038
- function Ca(t, e, ...n) {
15042
+ function Na(t, e, ...n) {
15039
15043
  if (t = getModularInstance(t),
15040
15044
  // We allow omission of 'pathString' but explicitly prohibit passing in both
15041
15045
  // 'undefined' and 'null'.
15042
- 1 === arguments.length && (e = it.A()), ma("doc", "path", e), t instanceof Ra) {
15046
+ 1 === arguments.length && (e = it.A()), ga("doc", "path", e), t instanceof ba) {
15043
15047
  const s = wt.fromString(e, ...n);
15044
- return ya(s), new Pa(t,
15048
+ return pa(s), new va(t,
15045
15049
  /* converter= */ null, new Dt(s));
15046
15050
  }
15047
15051
  {
15048
- if (!(t instanceof Pa || t instanceof Va)) throw new Q(j.INVALID_ARGUMENT, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
15052
+ if (!(t instanceof va || t instanceof Sa)) throw new Q(j.INVALID_ARGUMENT, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
15049
15053
  const s = t._path.child(wt.fromString(e, ...n));
15050
- return ya(s), new Pa(t.firestore, t instanceof Va ? t.converter : null, new Dt(s));
15054
+ return pa(s), new va(t.firestore, t instanceof Sa ? t.converter : null, new Dt(s));
15051
15055
  }
15052
15056
  }
15053
15057
 
@@ -15058,8 +15062,8 @@ function Ca(t, e, ...n) {
15058
15062
  * @param right - A reference to compare.
15059
15063
  * @returns true if the references point to the same location in the same
15060
15064
  * Firestore database.
15061
- */ function Na(t, e) {
15062
- return t = getModularInstance(t), e = getModularInstance(e), (t instanceof Pa || t instanceof Va) && (e instanceof Pa || e instanceof Va) && (t.firestore === e.firestore && t.path === e.path && t.converter === e.converter);
15065
+ */ function ka(t, e) {
15066
+ return t = getModularInstance(t), e = getModularInstance(e), (t instanceof va || t instanceof Sa) && (e instanceof va || e instanceof Sa) && (t.firestore === e.firestore && t.path === e.path && t.converter === e.converter);
15063
15067
  }
15064
15068
 
15065
15069
  /**
@@ -15070,8 +15074,8 @@ function Ca(t, e, ...n) {
15070
15074
  * @param right - A `Query` to compare.
15071
15075
  * @returns true if the references point to the same location in the same
15072
15076
  * Firestore database.
15073
- */ function ka(t, e) {
15074
- return t = getModularInstance(t), e = getModularInstance(e), t instanceof va && e instanceof va && (t.firestore === e.firestore && ve(t._query, e._query) && t.converter === e.converter);
15077
+ */ function xa(t, e) {
15078
+ return t = getModularInstance(t), e = getModularInstance(e), t instanceof Va && e instanceof Va && (t.firestore === e.firestore && ve(t._query, e._query) && t.converter === e.converter);
15075
15079
  }
15076
15080
 
15077
15081
  /**
@@ -15089,7 +15093,7 @@ function Ca(t, e, ...n) {
15089
15093
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15090
15094
  * See the License for the specific language governing permissions and
15091
15095
  * limitations under the License.
15092
- */ class xa {
15096
+ */ class $a {
15093
15097
  constructor() {
15094
15098
  // The last promise in the queue.
15095
15099
  this.mc = Promise.resolve(),
@@ -15226,7 +15230,7 @@ function Ca(t, e, ...n) {
15226
15230
  this.Pc(),
15227
15231
  // Fast-forward delays for timerIds that have been overriden.
15228
15232
  this.Rc.indexOf(t) > -1 && (e = 0);
15229
- const s = Mo.createAndSchedule(this, t, e, n, (t => this.Sc(t)));
15233
+ const s = Fo.createAndSchedule(this, t, e, n, (t => this.Sc(t)));
15230
15234
  return this.Tc.push(s), s;
15231
15235
  }
15232
15236
  Pc() {
@@ -15280,7 +15284,7 @@ function Ca(t, e, ...n) {
15280
15284
  }
15281
15285
  }
15282
15286
 
15283
- function $a(t) {
15287
+ function Oa(t) {
15284
15288
  /**
15285
15289
  * Returns true if obj is an object and contains at least one of the specified
15286
15290
  * methods.
@@ -15315,7 +15319,7 @@ function $a(t) {
15315
15319
  */ (t, [ "next", "error", "complete" ]);
15316
15320
  }
15317
15321
 
15318
- class Oa {
15322
+ class Ma {
15319
15323
  constructor() {
15320
15324
  this._progressObserver = {}, this._taskCompletionResolver = new W, this._lastProgress = {
15321
15325
  taskState: "Running",
@@ -15399,27 +15403,27 @@ class Oa {
15399
15403
  * See the License for the specific language governing permissions and
15400
15404
  * limitations under the License.
15401
15405
  */
15402
- /** DOMException error code constants. */ const Ma = -1;
15406
+ /** DOMException error code constants. */ const Fa = -1;
15403
15407
 
15404
15408
  /**
15405
15409
  * The Cloud Firestore service interface.
15406
15410
  *
15407
15411
  * Do not call this constructor directly. Instead, use {@link getFirestore}.
15408
15412
  */
15409
- class Fa extends Ra {
15413
+ class La extends ba {
15410
15414
  /** @hideconstructor */
15411
15415
  constructor(t, e, n) {
15412
15416
  super(t, e, n),
15413
15417
  /**
15414
15418
  * Whether it's a {@link Firestore} or Firestore Lite instance.
15415
15419
  */
15416
- this.type = "firestore", this._queue = new xa, this._persistenceKey = "name" in t ? t.name : "[DEFAULT]";
15420
+ this.type = "firestore", this._queue = new $a, this._persistenceKey = "name" in t ? t.name : "[DEFAULT]";
15417
15421
  }
15418
15422
  _terminate() {
15419
15423
  return this._firestoreClient ||
15420
15424
  // The client must be initialized to ensure that all subsequent API
15421
15425
  // usage throws an exception.
15422
- qa(this), this._firestoreClient.terminate();
15426
+ Ka(this), this._firestoreClient.terminate();
15423
15427
  }
15424
15428
  }
15425
15429
 
@@ -15433,7 +15437,7 @@ class Fa extends Ra {
15433
15437
  * be associated.
15434
15438
  * @param settings - A settings object to configure the {@link Firestore} instance.
15435
15439
  * @returns A newly initialized {@link Firestore} instance.
15436
- */ function La(t, e) {
15440
+ */ function Ba(t, e) {
15437
15441
  const n = _getProvider(t, "firestore");
15438
15442
  if (n.isInitialized()) {
15439
15443
  const t = n.getImmediate(), s = n.getOptions();
@@ -15454,22 +15458,22 @@ class Fa extends Ra {
15454
15458
  * @param app - The {@link @firebase/app#FirebaseApp} instance that the returned {@link Firestore}
15455
15459
  * instance is associated with.
15456
15460
  * @returns The {@link Firestore} instance of the provided app.
15457
- */ function Ba(e = getApp()) {
15461
+ */ function Ua(e = getApp()) {
15458
15462
  return _getProvider(e, "firestore").getImmediate();
15459
15463
  }
15460
15464
 
15461
15465
  /**
15462
15466
  * @internal
15463
- */ function Ua(t) {
15464
- return t._firestoreClient || qa(t), t._firestoreClient.verifyNotTerminated(), t._firestoreClient;
15467
+ */ function qa(t) {
15468
+ return t._firestoreClient || Ka(t), t._firestoreClient.verifyNotTerminated(), t._firestoreClient;
15465
15469
  }
15466
15470
 
15467
- function qa(t) {
15471
+ function Ka(t) {
15468
15472
  var e;
15469
15473
  const n = t._freezeSettings(), s = function(t, e, n, s) {
15470
- return new da(t, e, n, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams);
15474
+ return new wa(t, e, n, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams);
15471
15475
  }(t._databaseId, (null === (e = t._app) || void 0 === e ? void 0 : e.options.appId) || "", t._persistenceKey, n);
15472
- t._firestoreClient = new Gc(t._authCredentials, t._appCheckCredentials, t._queue, s);
15476
+ t._firestoreClient = new zc(t._authCredentials, t._appCheckCredentials, t._queue, s);
15473
15477
  }
15474
15478
 
15475
15479
  /**
@@ -15494,10 +15498,10 @@ function qa(t) {
15494
15498
  * @param persistenceSettings - Optional settings object to configure
15495
15499
  * persistence.
15496
15500
  * @returns A `Promise` that represents successfully enabling persistent storage.
15497
- */ function Ka(t, e) {
15498
- Za(t = Ea(t, Fa));
15499
- const n = Ua(t), s = t._freezeSettings(), i = new Uc;
15500
- return Qa(n, i, new Lc(i, s.cacheSizeBytes, null == e ? void 0 : e.forceOwnership));
15501
+ */ function ja(t, e) {
15502
+ tu(t = Ia(t, La));
15503
+ const n = qa(t), s = t._freezeSettings(), i = new qc;
15504
+ return Wa(n, i, new Bc(i, s.cacheSizeBytes, null == e ? void 0 : e.forceOwnership));
15501
15505
  }
15502
15506
 
15503
15507
  /**
@@ -15521,10 +15525,10 @@ function qa(t) {
15521
15525
  * @param firestore - The {@link Firestore} instance to enable persistence for.
15522
15526
  * @returns A `Promise` that represents successfully enabling persistent
15523
15527
  * storage.
15524
- */ function ja(t) {
15525
- Za(t = Ea(t, Fa));
15526
- const e = Ua(t), n = t._freezeSettings(), s = new Uc;
15527
- return Qa(e, s, new Bc(s, n.cacheSizeBytes));
15528
+ */ function Qa(t) {
15529
+ tu(t = Ia(t, La));
15530
+ const e = qa(t), n = t._freezeSettings(), s = new qc;
15531
+ return Wa(e, s, new Uc(s, n.cacheSizeBytes));
15528
15532
  }
15529
15533
 
15530
15534
  /**
@@ -15532,11 +15536,11 @@ function qa(t) {
15532
15536
  * If the operation fails with a recoverable error (see
15533
15537
  * `canRecoverFromIndexedDbError()` below), the returned Promise is rejected
15534
15538
  * but the client remains usable.
15535
- */ function Qa(t, e, n) {
15539
+ */ function Wa(t, e, n) {
15536
15540
  const s = new W;
15537
15541
  return t.asyncQueue.enqueue((async () => {
15538
15542
  try {
15539
- await zc(t, n), await Hc(t, e), s.resolve();
15543
+ await Hc(t, n), await Jc(t, e), s.resolve();
15540
15544
  } catch (t) {
15541
15545
  if (!
15542
15546
  /**
@@ -15590,7 +15594,7 @@ function qa(t) {
15590
15594
  })).then((() => s.promise));
15591
15595
  }
15592
15596
 
15593
- function Wa(t) {
15597
+ function Ga(t) {
15594
15598
  if (t._initialized && !t._terminated) throw new Q(j.FAILED_PRECONDITION, "Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");
15595
15599
  const e = new W;
15596
15600
  return t._queue.enqueueAndForgetEvenWhileRestricted((async () => {
@@ -15621,11 +15625,11 @@ function Wa(t) {
15621
15625
  *
15622
15626
  * @returns A `Promise` which resolves when all currently pending writes have been
15623
15627
  * acknowledged by the backend.
15624
- */ function Ga(t) {
15628
+ */ function za(t) {
15625
15629
  return function(t) {
15626
15630
  const e = new W;
15627
- return t.asyncQueue.enqueueAndForget((async () => _c(await ea(t), e))), e.promise;
15628
- }(Ua(t = Ea(t, Fa)));
15631
+ return t.asyncQueue.enqueueAndForget((async () => mc(await na(t), e))), e.promise;
15632
+ }(qa(t = Ia(t, La)));
15629
15633
  }
15630
15634
 
15631
15635
  /**
@@ -15633,8 +15637,8 @@ function Wa(t) {
15633
15637
  * call to {@link disableNetwork}.
15634
15638
  *
15635
15639
  * @returns A `Promise` that is resolved once the network has been enabled.
15636
- */ function za(t) {
15637
- return sa(Ua(t = Ea(t, Fa)));
15640
+ */ function Ha(t) {
15641
+ return ia(qa(t = Ia(t, La)));
15638
15642
  }
15639
15643
 
15640
15644
  /**
@@ -15644,8 +15648,8 @@ function Wa(t) {
15644
15648
  * operations will be queued until the network is restored.
15645
15649
  *
15646
15650
  * @returns A `Promise` that is resolved once the network has been disabled.
15647
- */ function Ha(t) {
15648
- return ia(Ua(t = Ea(t, Fa)));
15651
+ */ function Ja(t) {
15652
+ return ra(qa(t = Ia(t, La)));
15649
15653
  }
15650
15654
 
15651
15655
  /**
@@ -15669,7 +15673,7 @@ function Wa(t) {
15669
15673
  *
15670
15674
  * @returns A `Promise` that is resolved when the instance has been successfully
15671
15675
  * terminated.
15672
- */ function Ja(t) {
15676
+ */ function Ya(t) {
15673
15677
  return _removeServiceInstance(t.app, "firestore"), t._delete();
15674
15678
  }
15675
15679
 
@@ -15683,9 +15687,9 @@ function Wa(t) {
15683
15687
  * @returns A `LoadBundleTask` object, which notifies callers with progress
15684
15688
  * updates, and completion or error events. It can be used as a
15685
15689
  * `Promise<LoadBundleTaskProgress>`.
15686
- */ function Ya(t, e) {
15687
- const n = Ua(t = Ea(t, Fa)), s = new Oa;
15688
- return la(n, t._databaseId, e, s), s;
15690
+ */ function Xa(t, e) {
15691
+ const n = qa(t = Ia(t, La)), s = new Ma;
15692
+ return fa(n, t._databaseId, e, s), s;
15689
15693
  }
15690
15694
 
15691
15695
  /**
@@ -15699,11 +15703,11 @@ function Wa(t) {
15699
15703
  * @param firestore - The {@link Firestore} instance to read the query from.
15700
15704
  * @param name - The name of the query.
15701
15705
  * @returns A `Promise` that is resolved with the Query or `null`.
15702
- */ function Xa(t, e) {
15703
- return fa(Ua(t = Ea(t, Fa)), e).then((e => e ? new va(t, null, e.query) : null));
15706
+ */ function Za(t, e) {
15707
+ return da(qa(t = Ia(t, La)), e).then((e => e ? new Va(t, null, e.query) : null));
15704
15708
  }
15705
15709
 
15706
- function Za(t) {
15710
+ function tu(t) {
15707
15711
  if (t._initialized || t._terminated) throw new Q(j.FAILED_PRECONDITION, "Firestore has already been started and persistence can no longer be enabled. You can only enable persistence before calling any other methods on a Firestore object.");
15708
15712
  }
15709
15713
 
@@ -15747,7 +15751,7 @@ function Za(t) {
15747
15751
  * Create a `FieldPath` by providing field names. If more than one field
15748
15752
  * name is provided, the path will point to a nested field in a document.
15749
15753
  */
15750
- class tu {
15754
+ class eu {
15751
15755
  /**
15752
15756
  * Creates a `FieldPath` from the provided field names. If more than one field
15753
15757
  * name is provided, the path will point to a nested field in a document.
@@ -15771,8 +15775,8 @@ class tu {
15771
15775
  /**
15772
15776
  * Returns a special sentinel `FieldPath` to refer to the ID of a document.
15773
15777
  * It can be used in queries to sort or filter by the document ID.
15774
- */ function eu() {
15775
- return new tu("__name__");
15778
+ */ function nu() {
15779
+ return new eu("__name__");
15776
15780
  }
15777
15781
 
15778
15782
  /**
@@ -15793,7 +15797,7 @@ class tu {
15793
15797
  */
15794
15798
  /**
15795
15799
  * An immutable object representing an array of bytes.
15796
- */ class nu {
15800
+ */ class su {
15797
15801
  /** @hideconstructor */
15798
15802
  constructor(t) {
15799
15803
  this._byteString = t;
@@ -15805,7 +15809,7 @@ class tu {
15805
15809
  * @param base64 - The Base64 string used to create the `Bytes` object.
15806
15810
  */ static fromBase64String(t) {
15807
15811
  try {
15808
- return new nu(pt.fromBase64String(t));
15812
+ return new su(pt.fromBase64String(t));
15809
15813
  } catch (t) {
15810
15814
  throw new Q(j.INVALID_ARGUMENT, "Failed to construct data from Base64 string: " + t);
15811
15815
  }
@@ -15815,7 +15819,7 @@ class tu {
15815
15819
  *
15816
15820
  * @param array - The Uint8Array used to create the `Bytes` object.
15817
15821
  */ static fromUint8Array(t) {
15818
- return new nu(pt.fromUint8Array(t));
15822
+ return new su(pt.fromUint8Array(t));
15819
15823
  }
15820
15824
  /**
15821
15825
  * Returns the underlying bytes as a Base64-encoded string.
@@ -15867,7 +15871,7 @@ class tu {
15867
15871
  /**
15868
15872
  * Sentinel values that can be used when writing document fields with `set()`
15869
15873
  * or `update()`.
15870
- */ class su {
15874
+ */ class iu {
15871
15875
  /**
15872
15876
  * @param _methodName - The public API endpoint that returns this class.
15873
15877
  * @hideconstructor
@@ -15899,7 +15903,7 @@ class tu {
15899
15903
  *
15900
15904
  * Latitude values are in the range of [-90, 90].
15901
15905
  * Longitude values are in the range of [-180, 180].
15902
- */ class iu {
15906
+ */ class ru {
15903
15907
  /**
15904
15908
  * Creates a new immutable `GeoPoint` object with the provided latitude and
15905
15909
  * longitude values.
@@ -15958,9 +15962,9 @@ class tu {
15958
15962
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15959
15963
  * See the License for the specific language governing permissions and
15960
15964
  * limitations under the License.
15961
- */ const ru = /^__.*__$/;
15965
+ */ const ou = /^__.*__$/;
15962
15966
 
15963
- /** The result of parsing document data (e.g. for a setData call). */ class ou {
15967
+ /** The result of parsing document data (e.g. for a setData call). */ class cu {
15964
15968
  constructor(t, e, n) {
15965
15969
  this.data = t, this.fieldMask = e, this.fieldTransforms = n;
15966
15970
  }
@@ -15969,7 +15973,7 @@ class tu {
15969
15973
  }
15970
15974
  }
15971
15975
 
15972
- /** The result of parsing "update" data (i.e. for an updateData call). */ class cu {
15976
+ /** The result of parsing "update" data (i.e. for an updateData call). */ class au {
15973
15977
  constructor(t,
15974
15978
  // The fieldMask does not include document transforms.
15975
15979
  e, n) {
@@ -15980,7 +15984,7 @@ class tu {
15980
15984
  }
15981
15985
  }
15982
15986
 
15983
- function au(t) {
15987
+ function uu(t) {
15984
15988
  switch (t) {
15985
15989
  case 0 /* Set */ :
15986
15990
  // fall through
@@ -15998,7 +16002,7 @@ function au(t) {
15998
16002
  }
15999
16003
  }
16000
16004
 
16001
- /** A "context" object passed around while parsing user data. */ class uu {
16005
+ /** A "context" object passed around while parsing user data. */ class hu {
16002
16006
  /**
16003
16007
  * Initializes a ParseContext with the given source and path.
16004
16008
  *
@@ -16030,7 +16034,7 @@ function au(t) {
16030
16034
  return this.settings.$c;
16031
16035
  }
16032
16036
  /** Returns a new context with the specified settings overwritten. */ Oc(t) {
16033
- return new uu(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.k, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
16037
+ return new hu(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.k, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
16034
16038
  }
16035
16039
  Mc(t) {
16036
16040
  var e;
@@ -16057,7 +16061,7 @@ function au(t) {
16057
16061
  });
16058
16062
  }
16059
16063
  qc(t) {
16060
- return Su(t, this.settings.methodName, this.settings.Kc || !1, this.path, this.settings.jc);
16064
+ return Du(t, this.settings.methodName, this.settings.Kc || !1, this.path, this.settings.jc);
16061
16065
  }
16062
16066
  /** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(t) {
16063
16067
  return void 0 !== this.fieldMask.find((e => t.isPrefixOf(e))) || void 0 !== this.fieldTransforms.find((e => t.isPrefixOf(e.field)));
@@ -16069,19 +16073,19 @@ function au(t) {
16069
16073
  }
16070
16074
  Lc(t) {
16071
16075
  if (0 === t.length) throw this.qc("Document fields must not be empty");
16072
- if (au(this.$c) && ru.test(t)) throw this.qc('Document fields cannot begin and end with "__"');
16076
+ if (uu(this.$c) && ou.test(t)) throw this.qc('Document fields cannot begin and end with "__"');
16073
16077
  }
16074
16078
  }
16075
16079
 
16076
16080
  /**
16077
16081
  * Helper for parsing raw user input (provided via the API) into internal model
16078
16082
  * classes.
16079
- */ class hu {
16083
+ */ class lu {
16080
16084
  constructor(t, e, n) {
16081
16085
  this.databaseId = t, this.ignoreUndefinedProperties = e, this.k = n || eo(t);
16082
16086
  }
16083
16087
  /** Creates a new top-level parse context. */ Qc(t, e, n, s = !1) {
16084
- return new uu({
16088
+ return new hu({
16085
16089
  $c: t,
16086
16090
  methodName: e,
16087
16091
  jc: n,
@@ -16092,29 +16096,29 @@ function au(t) {
16092
16096
  }
16093
16097
  }
16094
16098
 
16095
- function lu(t) {
16099
+ function fu(t) {
16096
16100
  const e = t._freezeSettings(), n = eo(t._databaseId);
16097
- return new hu(t._databaseId, !!e.ignoreUndefinedProperties, n);
16101
+ return new lu(t._databaseId, !!e.ignoreUndefinedProperties, n);
16098
16102
  }
16099
16103
 
16100
- /** Parse document data from a set() call. */ function fu(t, e, n, s, i, r = {}) {
16104
+ /** Parse document data from a set() call. */ function du(t, e, n, s, i, r = {}) {
16101
16105
  const o = t.Qc(r.merge || r.mergeFields ? 2 /* MergeSet */ : 0 /* Set */ , e, n, i);
16102
- bu("Data must be an object, but it was:", o, s);
16103
- const c = Au(s, o);
16106
+ Pu("Data must be an object, but it was:", o, s);
16107
+ const c = Ru(s, o);
16104
16108
  let a, u;
16105
16109
  if (r.merge) a = new gt(o.fieldMask), u = o.fieldTransforms; else if (r.mergeFields) {
16106
16110
  const t = [];
16107
16111
  for (const s of r.mergeFields) {
16108
- const i = Pu(e, s, n);
16112
+ const i = vu(e, s, n);
16109
16113
  if (!o.contains(i)) throw new Q(j.INVALID_ARGUMENT, `Field '${i}' is specified in your field mask but missing from your input data.`);
16110
- Du(t, i) || t.push(i);
16114
+ Cu(t, i) || t.push(i);
16111
16115
  }
16112
16116
  a = new gt(t), u = o.fieldTransforms.filter((t => a.covers(t.field)));
16113
16117
  } else a = null, u = o.fieldTransforms;
16114
- return new ou(new Qt(c), a, u);
16118
+ return new cu(new Qt(c), a, u);
16115
16119
  }
16116
16120
 
16117
- class du extends su {
16121
+ class wu extends iu {
16118
16122
  _toFieldTransform(t) {
16119
16123
  if (2 /* MergeSet */ !== t.$c) throw 1 /* Update */ === t.$c ? t.qc(`${this._methodName}() can only appear at the top level of your update data`) : t.qc(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);
16120
16124
  // No transform to add for a delete, but we need to add it to our
@@ -16122,7 +16126,7 @@ class du extends su {
16122
16126
  return t.fieldMask.push(t.path), null;
16123
16127
  }
16124
16128
  isEqual(t) {
16125
- return t instanceof du;
16129
+ return t instanceof wu;
16126
16130
  }
16127
16131
  }
16128
16132
 
@@ -16141,8 +16145,8 @@ class du extends su {
16141
16145
  * context.
16142
16146
  * @param context - The parent context.
16143
16147
  * @param arrayElement - Whether or not the FieldValue has an array.
16144
- */ function wu(t, e, n) {
16145
- return new uu({
16148
+ */ function _u(t, e, n) {
16149
+ return new hu({
16146
16150
  $c: 3 /* Argument */ ,
16147
16151
  jc: e.settings.jc,
16148
16152
  methodName: t._methodName,
@@ -16150,22 +16154,22 @@ class du extends su {
16150
16154
  }, e.databaseId, e.k, e.ignoreUndefinedProperties);
16151
16155
  }
16152
16156
 
16153
- class _u extends su {
16157
+ class mu extends iu {
16154
16158
  _toFieldTransform(t) {
16155
16159
  return new ze(t.path, new Be);
16156
16160
  }
16157
16161
  isEqual(t) {
16158
- return t instanceof _u;
16162
+ return t instanceof mu;
16159
16163
  }
16160
16164
  }
16161
16165
 
16162
- class mu extends su {
16166
+ class gu extends iu {
16163
16167
  constructor(t, e) {
16164
16168
  super(t), this.Wc = e;
16165
16169
  }
16166
16170
  _toFieldTransform(t) {
16167
- const e = wu(this, t,
16168
- /*array=*/ !0), n = this.Wc.map((t => Iu(t, e))), s = new Ue(n);
16171
+ const e = _u(this, t,
16172
+ /*array=*/ !0), n = this.Wc.map((t => Au(t, e))), s = new Ue(n);
16169
16173
  return new ze(t.path, s);
16170
16174
  }
16171
16175
  isEqual(t) {
@@ -16174,13 +16178,13 @@ class mu extends su {
16174
16178
  }
16175
16179
  }
16176
16180
 
16177
- class gu extends su {
16181
+ class yu extends iu {
16178
16182
  constructor(t, e) {
16179
16183
  super(t), this.Wc = e;
16180
16184
  }
16181
16185
  _toFieldTransform(t) {
16182
- const e = wu(this, t,
16183
- /*array=*/ !0), n = this.Wc.map((t => Iu(t, e))), s = new Ke(n);
16186
+ const e = _u(this, t,
16187
+ /*array=*/ !0), n = this.Wc.map((t => Au(t, e))), s = new Ke(n);
16184
16188
  return new ze(t.path, s);
16185
16189
  }
16186
16190
  isEqual(t) {
@@ -16189,7 +16193,7 @@ class gu extends su {
16189
16193
  }
16190
16194
  }
16191
16195
 
16192
- class yu extends su {
16196
+ class pu extends iu {
16193
16197
  constructor(t, e) {
16194
16198
  super(t), this.Gc = e;
16195
16199
  }
@@ -16203,50 +16207,50 @@ class yu extends su {
16203
16207
  }
16204
16208
  }
16205
16209
 
16206
- /** Parse update data from an update() call. */ function pu(t, e, n, s) {
16210
+ /** Parse update data from an update() call. */ function Tu(t, e, n, s) {
16207
16211
  const i = t.Qc(1 /* Update */ , e, n);
16208
- bu("Data must be an object, but it was:", i, s);
16212
+ Pu("Data must be an object, but it was:", i, s);
16209
16213
  const r = [], o = Qt.empty();
16210
16214
  lt(s, ((t, s) => {
16211
- const c = Vu(e, t, n);
16215
+ const c = Su(e, t, n);
16212
16216
  // For Compat types, we have to "extract" the underlying types before
16213
16217
  // performing validation.
16214
16218
  s = getModularInstance(s);
16215
16219
  const a = i.Bc(c);
16216
- if (s instanceof du)
16220
+ if (s instanceof wu)
16217
16221
  // Add it to the field mask, but don't add anything to updateData.
16218
16222
  r.push(c); else {
16219
- const t = Iu(s, a);
16223
+ const t = Au(s, a);
16220
16224
  null != t && (r.push(c), o.set(c, t));
16221
16225
  }
16222
16226
  }));
16223
16227
  const c = new gt(r);
16224
- return new cu(o, c, i.fieldTransforms);
16228
+ return new au(o, c, i.fieldTransforms);
16225
16229
  }
16226
16230
 
16227
- /** Parse update data from a list of field/value arguments. */ function Tu(t, e, n, s, i, r) {
16228
- const o = t.Qc(1 /* Update */ , e, n), c = [ Pu(e, s, n) ], a = [ i ];
16231
+ /** Parse update data from a list of field/value arguments. */ function Eu(t, e, n, s, i, r) {
16232
+ const o = t.Qc(1 /* Update */ , e, n), c = [ vu(e, s, n) ], a = [ i ];
16229
16233
  if (r.length % 2 != 0) throw new Q(j.INVALID_ARGUMENT, `Function ${e}() needs to be called with an even number of arguments that alternate between field names and values.`);
16230
- for (let t = 0; t < r.length; t += 2) c.push(Pu(e, r[t])), a.push(r[t + 1]);
16234
+ for (let t = 0; t < r.length; t += 2) c.push(vu(e, r[t])), a.push(r[t + 1]);
16231
16235
  const u = [], h = Qt.empty();
16232
16236
  // We iterate in reverse order to pick the last value for a field if the
16233
16237
  // user specified the field multiple times.
16234
- for (let t = c.length - 1; t >= 0; --t) if (!Du(u, c[t])) {
16238
+ for (let t = c.length - 1; t >= 0; --t) if (!Cu(u, c[t])) {
16235
16239
  const e = c[t];
16236
16240
  let n = a[t];
16237
16241
  // For Compat types, we have to "extract" the underlying types before
16238
16242
  // performing validation.
16239
16243
  n = getModularInstance(n);
16240
16244
  const s = o.Bc(e);
16241
- if (n instanceof du)
16245
+ if (n instanceof wu)
16242
16246
  // Add it to the field mask, but don't add anything to updateData.
16243
16247
  u.push(e); else {
16244
- const t = Iu(n, s);
16248
+ const t = Au(n, s);
16245
16249
  null != t && (u.push(e), h.set(e, t));
16246
16250
  }
16247
16251
  }
16248
16252
  const l = new gt(u);
16249
- return new cu(h, l, o.fieldTransforms);
16253
+ return new au(h, l, o.fieldTransforms);
16250
16254
  }
16251
16255
 
16252
16256
  /**
@@ -16255,8 +16259,8 @@ class yu extends su {
16255
16259
  *
16256
16260
  * @param allowArrays - Whether the query value is an array that may directly
16257
16261
  * contain additional arrays (e.g. the operand of an `in` query).
16258
- */ function Eu(t, e, n, s = !1) {
16259
- return Iu(n, t.Qc(s ? 4 /* ArrayArgument */ : 3 /* Argument */ , e));
16262
+ */ function Iu(t, e, n, s = !1) {
16263
+ return Au(n, t.Qc(s ? 4 /* ArrayArgument */ : 3 /* Argument */ , e));
16260
16264
  }
16261
16265
 
16262
16266
  /**
@@ -16267,12 +16271,12 @@ class yu extends su {
16267
16271
  * the source of the data being parsed, etc.
16268
16272
  * @returns The parsed value, or null if the value was a FieldValue sentinel
16269
16273
  * that should not be included in the resulting parsed data.
16270
- */ function Iu(t, e) {
16271
- if (Ru(
16274
+ */ function Au(t, e) {
16275
+ if (bu(
16272
16276
  // Unwrap the API type from the Compat SDK. This will return the API type
16273
16277
  // from firestore-exp.
16274
- t = getModularInstance(t))) return bu("Unsupported field value:", e, t), Au(t, e);
16275
- if (t instanceof su)
16278
+ t = getModularInstance(t))) return Pu("Unsupported field value:", e, t), Ru(t, e);
16279
+ if (t instanceof iu)
16276
16280
  // FieldValues usually parse into transforms (except deleteField())
16277
16281
  // in which case we do not want to include this field in our parsed data
16278
16282
  // (as doing so will overwrite the field directly prior to the transform
@@ -16284,7 +16288,7 @@ class yu extends su {
16284
16288
  */
16285
16289
  return function(t, e) {
16286
16290
  // Sentinels are only supported with writes, and not within arrays.
16287
- if (!au(e.$c)) throw e.qc(`${t._methodName}() can only be used with update() and set()`);
16291
+ if (!uu(e.$c)) throw e.qc(`${t._methodName}() can only be used with update() and set()`);
16288
16292
  if (!e.path) throw e.qc(`${t._methodName}() is not currently supported inside arrays`);
16289
16293
  const n = t._toFieldTransform(e);
16290
16294
  n && e.fieldTransforms.push(n);
@@ -16314,7 +16318,7 @@ class yu extends su {
16314
16318
  const n = [];
16315
16319
  let s = 0;
16316
16320
  for (const i of t) {
16317
- let t = Iu(i, e.Uc(s));
16321
+ let t = Au(i, e.Uc(s));
16318
16322
  null == t && (
16319
16323
  // Just include nulls in the array for fields being replaced with a
16320
16324
  // sentinel.
@@ -16355,23 +16359,23 @@ class yu extends su {
16355
16359
  timestampValue: Qn(e.k, n)
16356
16360
  };
16357
16361
  }
16358
- if (t instanceof iu) return {
16362
+ if (t instanceof ru) return {
16359
16363
  geoPointValue: {
16360
16364
  latitude: t.latitude,
16361
16365
  longitude: t.longitude
16362
16366
  }
16363
16367
  };
16364
- if (t instanceof nu) return {
16368
+ if (t instanceof su) return {
16365
16369
  bytesValue: Wn(e.k, t._byteString)
16366
16370
  };
16367
- if (t instanceof Pa) {
16371
+ if (t instanceof va) {
16368
16372
  const n = e.databaseId, s = t.firestore._databaseId;
16369
16373
  if (!s.isEqual(n)) throw e.qc(`Document reference is for database ${s.projectId}/${s.database} but should be for database ${n.projectId}/${n.database}`);
16370
16374
  return {
16371
16375
  referenceValue: Hn(t.firestore._databaseId || e.databaseId, t._key.path)
16372
16376
  };
16373
16377
  }
16374
- throw e.qc(`Unsupported field value: ${Ta(t)}`);
16378
+ throw e.qc(`Unsupported field value: ${Ea(t)}`);
16375
16379
  }
16376
16380
  /**
16377
16381
  * Checks whether an object looks like a JSON object that should be converted
@@ -16382,13 +16386,13 @@ class yu extends su {
16382
16386
  */ (t, e);
16383
16387
  }
16384
16388
 
16385
- function Au(t, e) {
16389
+ function Ru(t, e) {
16386
16390
  const n = {};
16387
16391
  return ft(t) ?
16388
16392
  // If we encounter an empty object, we explicitly add it to the update
16389
16393
  // mask to ensure that the server creates a map entry.
16390
16394
  e.path && e.path.length > 0 && e.fieldMask.push(e.path) : lt(t, ((t, s) => {
16391
- const i = Iu(s, e.Mc(t));
16395
+ const i = Au(s, e.Mc(t));
16392
16396
  null != i && (n[t] = i);
16393
16397
  })), {
16394
16398
  mapValue: {
@@ -16397,35 +16401,35 @@ function Au(t, e) {
16397
16401
  };
16398
16402
  }
16399
16403
 
16400
- function Ru(t) {
16401
- return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof at || t instanceof iu || t instanceof nu || t instanceof Pa || t instanceof su);
16404
+ function bu(t) {
16405
+ return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof at || t instanceof ru || t instanceof su || t instanceof va || t instanceof iu);
16402
16406
  }
16403
16407
 
16404
- function bu(t, e, n) {
16405
- if (!Ru(n) || !function(t) {
16408
+ function Pu(t, e, n) {
16409
+ if (!bu(n) || !function(t) {
16406
16410
  return "object" == typeof t && null !== t && (Object.getPrototypeOf(t) === Object.prototype || null === Object.getPrototypeOf(t));
16407
16411
  }(n)) {
16408
- const s = Ta(n);
16412
+ const s = Ea(n);
16409
16413
  throw "an object" === s ? e.qc(t + " a custom object") : e.qc(t + " " + s);
16410
16414
  }
16411
16415
  }
16412
16416
 
16413
16417
  /**
16414
16418
  * Helper that calls fromDotSeparatedString() but wraps any error thrown.
16415
- */ function Pu(t, e, n) {
16419
+ */ function vu(t, e, n) {
16416
16420
  if ((
16417
16421
  // If required, replace the FieldPath Compat class with with the firestore-exp
16418
16422
  // FieldPath.
16419
- e = getModularInstance(e)) instanceof tu) return e._internalPath;
16420
- if ("string" == typeof e) return Vu(t, e);
16421
- throw Su("Field path arguments must be of type string or ", t,
16423
+ e = getModularInstance(e)) instanceof eu) return e._internalPath;
16424
+ if ("string" == typeof e) return Su(t, e);
16425
+ throw Du("Field path arguments must be of type string or ", t,
16422
16426
  /* hasConverter= */ !1,
16423
16427
  /* path= */ void 0, n);
16424
16428
  }
16425
16429
 
16426
16430
  /**
16427
16431
  * Matches any characters in a field path string that are reserved.
16428
- */ const vu = new RegExp("[~\\*/\\[\\]]");
16432
+ */ const Vu = new RegExp("[~\\*/\\[\\]]");
16429
16433
 
16430
16434
  /**
16431
16435
  * Wraps fromDotSeparatedString with an error message about the method that
@@ -16435,20 +16439,20 @@ function bu(t, e, n) {
16435
16439
  * split on dots.
16436
16440
  * @param targetDoc - The document against which the field path will be
16437
16441
  * evaluated.
16438
- */ function Vu(t, e, n) {
16439
- if (e.search(vu) >= 0) throw Su(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
16442
+ */ function Su(t, e, n) {
16443
+ if (e.search(Vu) >= 0) throw Du(`Invalid field path (${e}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
16440
16444
  /* hasConverter= */ !1,
16441
16445
  /* path= */ void 0, n);
16442
16446
  try {
16443
- return new tu(...e.split("."))._internalPath;
16447
+ return new eu(...e.split("."))._internalPath;
16444
16448
  } catch (s) {
16445
- throw Su(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
16449
+ throw Du(`Invalid field path (${e}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
16446
16450
  /* hasConverter= */ !1,
16447
16451
  /* path= */ void 0, n);
16448
16452
  }
16449
16453
  }
16450
16454
 
16451
- function Su(t, e, n, s, i) {
16455
+ function Du(t, e, n, s, i) {
16452
16456
  const r = s && !s.isEmpty(), o = void 0 !== i;
16453
16457
  let c = `Function ${e}() called with invalid data`;
16454
16458
  n && (c += " (via `toFirestore()`)"), c += ". ";
@@ -16457,7 +16461,7 @@ function Su(t, e, n, s, i) {
16457
16461
  a += ")"), new Q(j.INVALID_ARGUMENT, c + t + a);
16458
16462
  }
16459
16463
 
16460
- /** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function Du(t, e) {
16464
+ /** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function Cu(t, e) {
16461
16465
  return t.some((t => t.isEqual(e)));
16462
16466
  }
16463
16467
 
@@ -16485,7 +16489,7 @@ function Su(t, e, n, s, i) {
16485
16489
  * For a `DocumentSnapshot` that points to a non-existing document, any data
16486
16490
  * access will return 'undefined'. You can use the `exists()` method to
16487
16491
  * explicitly verify a document's existence.
16488
- */ class Cu {
16492
+ */ class Nu {
16489
16493
  // Note: This class is stripped down version of the DocumentSnapshot in
16490
16494
  // the legacy SDK. The changes are:
16491
16495
  // - No support for SnapshotMetadata.
@@ -16501,7 +16505,7 @@ function Su(t, e, n, s, i) {
16501
16505
  /**
16502
16506
  * The `DocumentReference` for the document included in the `DocumentSnapshot`.
16503
16507
  */ get ref() {
16504
- return new Pa(this._firestore, this._converter, this._key);
16508
+ return new va(this._firestore, this._converter, this._key);
16505
16509
  }
16506
16510
  /**
16507
16511
  * Signals whether or not the document at the snapshot's location exists.
@@ -16521,7 +16525,7 @@ function Su(t, e, n, s, i) {
16521
16525
  if (this._converter) {
16522
16526
  // We only want to use the converter and create a new DocumentSnapshot
16523
16527
  // if a converter has been provided.
16524
- const t = new Nu(this._firestore, this._userDataWriter, this._key, this._document,
16528
+ const t = new ku(this._firestore, this._userDataWriter, this._key, this._document,
16525
16529
  /* converter= */ null);
16526
16530
  return this._converter.fromFirestore(t);
16527
16531
  }
@@ -16541,7 +16545,7 @@ function Su(t, e, n, s, i) {
16541
16545
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16542
16546
  get(t) {
16543
16547
  if (this._document) {
16544
- const e = this._document.data.field(ku("DocumentSnapshot.get", t));
16548
+ const e = this._document.data.field(xu("DocumentSnapshot.get", t));
16545
16549
  if (null !== e) return this._userDataWriter.convertValue(e);
16546
16550
  }
16547
16551
  }
@@ -16557,7 +16561,7 @@ function Su(t, e, n, s, i) {
16557
16561
  * `DocumentSnapshot`. Since query results contain only existing documents, the
16558
16562
  * `exists` property will always be true and `data()` will never return
16559
16563
  * 'undefined'.
16560
- */ class Nu extends Cu {
16564
+ */ class ku extends Nu {
16561
16565
  /**
16562
16566
  * Retrieves all fields in the document as an `Object`.
16563
16567
  *
@@ -16571,8 +16575,8 @@ function Su(t, e, n, s, i) {
16571
16575
 
16572
16576
  /**
16573
16577
  * Helper that calls `fromDotSeparatedString()` but wraps any error thrown.
16574
- */ function ku(t, e) {
16575
- return "string" == typeof e ? Vu(t, e) : e instanceof tu ? e._internalPath : e._delegate._internalPath;
16578
+ */ function xu(t, e) {
16579
+ return "string" == typeof e ? Su(t, e) : e instanceof eu ? e._internalPath : e._delegate._internalPath;
16576
16580
  }
16577
16581
 
16578
16582
  /**
@@ -16593,7 +16597,7 @@ function Su(t, e, n, s, i) {
16593
16597
  */
16594
16598
  /**
16595
16599
  * Metadata about a snapshot, describing the state of the snapshot.
16596
- */ class xu {
16600
+ */ class $u {
16597
16601
  /** @hideconstructor */
16598
16602
  constructor(t, e) {
16599
16603
  this.hasPendingWrites = t, this.fromCache = e;
@@ -16616,7 +16620,7 @@ function Su(t, e, n, s, i) {
16616
16620
  * For a `DocumentSnapshot` that points to a non-existing document, any data
16617
16621
  * access will return 'undefined'. You can use the `exists()` method to
16618
16622
  * explicitly verify a document's existence.
16619
- */ class $u extends Cu {
16623
+ */ class Ou extends Nu {
16620
16624
  /** @hideconstructor protected */
16621
16625
  constructor(t, e, n, s, i, r) {
16622
16626
  super(t, e, n, s, r), this._firestore = t, this._firestoreImpl = t, this.metadata = i;
@@ -16645,7 +16649,7 @@ function Su(t, e, n, s, i) {
16645
16649
  if (this._converter) {
16646
16650
  // We only want to use the converter and create a new DocumentSnapshot
16647
16651
  // if a converter has been provided.
16648
- const e = new Ou(this._firestore, this._userDataWriter, this._key, this._document, this.metadata,
16652
+ const e = new Mu(this._firestore, this._userDataWriter, this._key, this._document, this.metadata,
16649
16653
  /* converter= */ null);
16650
16654
  return this._converter.fromFirestore(e, t);
16651
16655
  }
@@ -16672,7 +16676,7 @@ function Su(t, e, n, s, i) {
16672
16676
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16673
16677
  get(t, e = {}) {
16674
16678
  if (this._document) {
16675
- const n = this._document.data.field(ku("DocumentSnapshot.get", t));
16679
+ const n = this._document.data.field(xu("DocumentSnapshot.get", t));
16676
16680
  if (null !== n) return this._userDataWriter.convertValue(n, e.serverTimestamps);
16677
16681
  }
16678
16682
  }
@@ -16688,7 +16692,7 @@ function Su(t, e, n, s, i) {
16688
16692
  * `DocumentSnapshot`. Since query results contain only existing documents, the
16689
16693
  * `exists` property will always be true and `data()` will never return
16690
16694
  * 'undefined'.
16691
- */ class Ou extends $u {
16695
+ */ class Mu extends Ou {
16692
16696
  /**
16693
16697
  * Retrieves all fields in the document as an `Object`.
16694
16698
  *
@@ -16713,10 +16717,10 @@ function Su(t, e, n, s, i) {
16713
16717
  * array via the `docs` property or enumerated using the `forEach` method. The
16714
16718
  * number of documents can be determined via the `empty` and `size`
16715
16719
  * properties.
16716
- */ class Mu {
16720
+ */ class Fu {
16717
16721
  /** @hideconstructor */
16718
16722
  constructor(t, e, n, s) {
16719
- this._firestore = t, this._userDataWriter = e, this._snapshot = s, this.metadata = new xu(s.hasPendingWrites, s.fromCache),
16723
+ this._firestore = t, this._userDataWriter = e, this._snapshot = s, this.metadata = new $u(s.hasPendingWrites, s.fromCache),
16720
16724
  this.query = n;
16721
16725
  }
16722
16726
  /** An array of all the documents in the `QuerySnapshot`. */ get docs() {
@@ -16737,7 +16741,7 @@ function Su(t, e, n, s, i) {
16737
16741
  * @param thisArg - The `this` binding for the callback.
16738
16742
  */ forEach(t, e) {
16739
16743
  this._snapshot.docs.forEach((n => {
16740
- t.call(e, new Ou(this._firestore, this._userDataWriter, n.key, n, new xu(this._snapshot.mutatedKeys.has(n.key), this._snapshot.fromCache), this.query.converter));
16744
+ t.call(e, new Mu(this._firestore, this._userDataWriter, n.key, n, new $u(this._snapshot.mutatedKeys.has(n.key), this._snapshot.fromCache), this.query.converter));
16741
16745
  }));
16742
16746
  }
16743
16747
  /**
@@ -16758,7 +16762,7 @@ function Su(t, e, n, s, i) {
16758
16762
  let e = 0;
16759
16763
  return t._snapshot.docChanges.map((n => ({
16760
16764
  type: "added",
16761
- doc: new Ou(t._firestore, t._userDataWriter, n.doc.key, n.doc, new xu(t._snapshot.mutatedKeys.has(n.doc.key), t._snapshot.fromCache), t.query.converter),
16765
+ doc: new Mu(t._firestore, t._userDataWriter, n.doc.key, n.doc, new $u(t._snapshot.mutatedKeys.has(n.doc.key), t._snapshot.fromCache), t.query.converter),
16762
16766
  oldIndex: -1,
16763
16767
  newIndex: e++
16764
16768
  })));
@@ -16768,11 +16772,11 @@ function Su(t, e, n, s, i) {
16768
16772
  // to lookup the index of a document.
16769
16773
  let n = t._snapshot.oldDocs;
16770
16774
  return t._snapshot.docChanges.filter((t => e || 3 /* Metadata */ !== t.type)).map((e => {
16771
- const s = new Ou(t._firestore, t._userDataWriter, e.doc.key, e.doc, new xu(t._snapshot.mutatedKeys.has(e.doc.key), t._snapshot.fromCache), t.query.converter);
16775
+ const s = new Mu(t._firestore, t._userDataWriter, e.doc.key, e.doc, new $u(t._snapshot.mutatedKeys.has(e.doc.key), t._snapshot.fromCache), t.query.converter);
16772
16776
  let i = -1, r = -1;
16773
16777
  return 0 /* Added */ !== e.type && (i = n.indexOf(e.doc.key), n = n.delete(e.doc.key)),
16774
16778
  1 /* Removed */ !== e.type && (n = n.add(e.doc), r = n.indexOf(e.doc.key)), {
16775
- type: Fu(e.type),
16779
+ type: Lu(e.type),
16776
16780
  doc: s,
16777
16781
  oldIndex: i,
16778
16782
  newIndex: r
@@ -16783,7 +16787,7 @@ function Su(t, e, n, s, i) {
16783
16787
  }
16784
16788
  }
16785
16789
 
16786
- function Fu(t) {
16790
+ function Lu(t) {
16787
16791
  switch (t) {
16788
16792
  case 0 /* Added */ :
16789
16793
  return "added";
@@ -16808,8 +16812,8 @@ function Fu(t) {
16808
16812
  * @param left - A snapshot to compare.
16809
16813
  * @param right - A snapshot to compare.
16810
16814
  * @returns true if the snapshots are equal.
16811
- */ function Lu(t, e) {
16812
- return t instanceof $u && e instanceof $u ? 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 Mu && e instanceof Mu && (t._firestore === e._firestore && ka(t.query, e.query) && t.metadata.isEqual(e.metadata) && t._snapshot.isEqual(e._snapshot));
16815
+ */ function Bu(t, e) {
16816
+ return t instanceof Ou && e instanceof Ou ? 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 Fu && e instanceof Fu && (t._firestore === e._firestore && xa(t.query, e.query) && t.metadata.isEqual(e.metadata) && t._snapshot.isEqual(e._snapshot));
16813
16817
  }
16814
16818
 
16815
16819
  /**
@@ -16827,7 +16831,7 @@ function Fu(t) {
16827
16831
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16828
16832
  * See the License for the specific language governing permissions and
16829
16833
  * limitations under the License.
16830
- */ function Bu(t) {
16834
+ */ function Uu(t) {
16831
16835
  if (Te(t) && 0 === t.explicitOrderBy.length) throw new Q(j.UNIMPLEMENTED, "limitToLast() queries require specifying at least one orderBy() clause");
16832
16836
  }
16833
16837
 
@@ -16838,7 +16842,7 @@ function Fu(t) {
16838
16842
  * endBefore:1}, {@link (endAt:1)}, {@link limit} or {@link limitToLast} and
16839
16843
  * can then be passed to {@link query} to create a new query instance that
16840
16844
  * also contains this `QueryConstraint`.
16841
- */ class Uu {}
16845
+ */ class qu {}
16842
16846
 
16843
16847
  /**
16844
16848
  * Creates a new immutable instance of {@link Query} that is extended to also include
@@ -16848,32 +16852,32 @@ function Fu(t) {
16848
16852
  * @param queryConstraints - The list of {@link QueryConstraint}s to apply.
16849
16853
  * @throws if any of the provided query constraints cannot be combined with the
16850
16854
  * existing or new constraints.
16851
- */ function qu(t, ...e) {
16855
+ */ function Ku(t, ...e) {
16852
16856
  for (const n of e) t = n._apply(t);
16853
16857
  return t;
16854
16858
  }
16855
16859
 
16856
- class Ku extends Uu {
16860
+ class ju extends qu {
16857
16861
  constructor(t, e, n) {
16858
16862
  super(), this.zc = t, this.Hc = e, this.Jc = n, this.type = "where";
16859
16863
  }
16860
16864
  _apply(t) {
16861
- const e = lu(t.firestore), n = function(t, e, n, s, i, r, o) {
16865
+ const e = fu(t.firestore), n = function(t, e, n, s, i, r, o) {
16862
16866
  let c;
16863
16867
  if (i.isKeyField()) {
16864
16868
  if ("array-contains" /* ARRAY_CONTAINS */ === r || "array-contains-any" /* ARRAY_CONTAINS_ANY */ === r) throw new Q(j.INVALID_ARGUMENT, `Invalid Query. You can't perform '${r}' queries on documentId().`);
16865
16869
  if ("in" /* IN */ === r || "not-in" /* NOT_IN */ === r) {
16866
- ih(o, r);
16870
+ rh(o, r);
16867
16871
  const e = [];
16868
- for (const n of o) e.push(sh(s, t, n));
16872
+ for (const n of o) e.push(ih(s, t, n));
16869
16873
  c = {
16870
16874
  arrayValue: {
16871
16875
  values: e
16872
16876
  }
16873
16877
  };
16874
- } else c = sh(s, t, o);
16875
- } else "in" /* IN */ !== r && "not-in" /* NOT_IN */ !== r && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== r || ih(o, r),
16876
- c = Eu(n, e, o,
16878
+ } else c = ih(s, t, o);
16879
+ } else "in" /* IN */ !== r && "not-in" /* NOT_IN */ !== r && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== r || rh(o, r),
16880
+ c = Iu(n, e, o,
16877
16881
  /* allowArrays= */ "in" /* IN */ === r || "not-in" /* NOT_IN */ === r);
16878
16882
  const a = te.create(i, r, c);
16879
16883
  return function(t, e) {
@@ -16881,7 +16885,7 @@ class Ku extends Uu {
16881
16885
  const n = Ie(t);
16882
16886
  if (null !== n && !n.isEqual(e.field)) throw new Q(j.INVALID_ARGUMENT, `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()}'`);
16883
16887
  const s = Ee(t);
16884
- null !== s && rh(t, e.field, s);
16888
+ null !== s && oh(t, e.field, s);
16885
16889
  }
16886
16890
  const n = function(t, e) {
16887
16891
  for (const n of t.filters) if (e.indexOf(n.op) >= 0) return n.op;
@@ -16925,7 +16929,7 @@ class Ku extends Uu {
16925
16929
  throw n === e.op ? new Q(j.INVALID_ARGUMENT, `Invalid query. You cannot use more than one '${e.op.toString()}' filter.`) : new Q(j.INVALID_ARGUMENT, `Invalid query. You cannot use '${e.op.toString()}' filters with '${n.toString()}' filters.`);
16926
16930
  }(t, a), a;
16927
16931
  }(t._query, "where", e, t.firestore._databaseId, this.zc, this.Hc, this.Jc);
16928
- return new va(t.firestore, t.converter, function(t, e) {
16932
+ return new Va(t.firestore, t.converter, function(t, e) {
16929
16933
  const n = t.filters.concat([ e ]);
16930
16934
  return new me(t.path, t.collectionGroup, t.explicitOrderBy.slice(), n, t.limit, t.limitType, t.startAt, t.endAt);
16931
16935
  }(t._query, n));
@@ -16942,12 +16946,12 @@ class Ku extends Uu {
16942
16946
  * "&lt;=", "!=").
16943
16947
  * @param value - The value for comparison
16944
16948
  * @returns The created {@link Query}.
16945
- */ function ju(t, e, n) {
16946
- const s = e, i = ku("where", t);
16947
- return new Ku(i, s, n);
16949
+ */ function Qu(t, e, n) {
16950
+ const s = e, i = xu("where", t);
16951
+ return new ju(i, s, n);
16948
16952
  }
16949
16953
 
16950
- class Qu extends Uu {
16954
+ class Wu extends qu {
16951
16955
  constructor(t, e) {
16952
16956
  super(), this.zc = t, this.Yc = e, this.type = "orderBy";
16953
16957
  }
@@ -16960,7 +16964,7 @@ class Qu extends Uu {
16960
16964
  if (null === Ee(t)) {
16961
16965
  // This is the first order by. It must match any inequality.
16962
16966
  const n = Ie(t);
16963
- null !== n && rh(t, n, e.field);
16967
+ null !== n && oh(t, n, e.field);
16964
16968
  }
16965
16969
  }(t, s), s;
16966
16970
  }
@@ -16975,7 +16979,7 @@ class Qu extends Uu {
16975
16979
  * of the query or if any of the fields in the order by are an uncommitted
16976
16980
  * server timestamp.
16977
16981
  */ (t._query, this.zc, this.Yc);
16978
- return new va(t.firestore, t.converter, function(t, e) {
16982
+ return new Va(t.firestore, t.converter, function(t, e) {
16979
16983
  // TODO(dimond): validate that orderBy does not list the same key twice.
16980
16984
  const n = t.explicitOrderBy.concat([ e ]);
16981
16985
  return new me(t.path, t.collectionGroup, n, t.filters.slice(), t.limit, t.limitType, t.startAt, t.endAt);
@@ -16991,17 +16995,17 @@ class Qu extends Uu {
16991
16995
  * @param directionStr - Optional direction to sort by ('asc' or 'desc'). If
16992
16996
  * not specified, order will be ascending.
16993
16997
  * @returns The created {@link Query}.
16994
- */ function Wu(t, e = "asc") {
16995
- const n = e, s = ku("orderBy", t);
16996
- return new Qu(s, n);
16998
+ */ function Gu(t, e = "asc") {
16999
+ const n = e, s = xu("orderBy", t);
17000
+ return new Wu(s, n);
16997
17001
  }
16998
17002
 
16999
- class Gu extends Uu {
17003
+ class zu extends qu {
17000
17004
  constructor(t, e, n) {
17001
17005
  super(), this.type = t, this.Xc = e, this.Zc = n;
17002
17006
  }
17003
17007
  _apply(t) {
17004
- return new va(t.firestore, t.converter, Pe(t._query, this.Xc, this.Zc));
17008
+ return new Va(t.firestore, t.converter, Pe(t._query, this.Xc, this.Zc));
17005
17009
  }
17006
17010
  }
17007
17011
 
@@ -17010,8 +17014,8 @@ class Gu extends Uu {
17010
17014
  *
17011
17015
  * @param limit - The maximum number of items to return.
17012
17016
  * @returns The created {@link Query}.
17013
- */ function zu(t) {
17014
- return Ia("limit", t), new Gu("limit", t, "F" /* First */);
17017
+ */ function Hu(t) {
17018
+ return Aa("limit", t), new zu("limit", t, "F" /* First */);
17015
17019
  }
17016
17020
 
17017
17021
  /**
@@ -17022,53 +17026,53 @@ class Gu extends Uu {
17022
17026
  *
17023
17027
  * @param limit - The maximum number of items to return.
17024
17028
  * @returns The created {@link Query}.
17025
- */ function Hu(t) {
17026
- return Ia("limitToLast", t), new Gu("limitToLast", t, "L" /* Last */);
17029
+ */ function Ju(t) {
17030
+ return Aa("limitToLast", t), new zu("limitToLast", t, "L" /* Last */);
17027
17031
  }
17028
17032
 
17029
- class Ju extends Uu {
17033
+ class Yu extends qu {
17030
17034
  constructor(t, e, n) {
17031
17035
  super(), this.type = t, this.ta = e, this.ea = n;
17032
17036
  }
17033
17037
  _apply(t) {
17034
- const e = nh(t, this.type, this.ta, this.ea);
17035
- return new va(t.firestore, t.converter, function(t, e) {
17038
+ const e = sh(t, this.type, this.ta, this.ea);
17039
+ return new Va(t.firestore, t.converter, function(t, e) {
17036
17040
  return new me(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, e, t.endAt);
17037
17041
  }(t._query, e));
17038
17042
  }
17039
17043
  }
17040
17044
 
17041
- function Yu(...t) {
17042
- return new Ju("startAt", t, /*before=*/ !0);
17045
+ function Xu(...t) {
17046
+ return new Yu("startAt", t, /*before=*/ !0);
17043
17047
  }
17044
17048
 
17045
- function Xu(...t) {
17046
- return new Ju("startAfter", t,
17049
+ function Zu(...t) {
17050
+ return new Yu("startAfter", t,
17047
17051
  /*before=*/ !1);
17048
17052
  }
17049
17053
 
17050
- class Zu extends Uu {
17054
+ class th extends qu {
17051
17055
  constructor(t, e, n) {
17052
17056
  super(), this.type = t, this.ta = e, this.ea = n;
17053
17057
  }
17054
17058
  _apply(t) {
17055
- const e = nh(t, this.type, this.ta, this.ea);
17056
- return new va(t.firestore, t.converter, function(t, e) {
17059
+ const e = sh(t, this.type, this.ta, this.ea);
17060
+ return new Va(t.firestore, t.converter, function(t, e) {
17057
17061
  return new me(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, t.startAt, e);
17058
17062
  }(t._query, e));
17059
17063
  }
17060
17064
  }
17061
17065
 
17062
- function th(...t) {
17063
- return new Zu("endBefore", t, /*before=*/ !0);
17066
+ function eh(...t) {
17067
+ return new th("endBefore", t, /*before=*/ !0);
17064
17068
  }
17065
17069
 
17066
- function eh(...t) {
17067
- return new Zu("endAt", t, /*before=*/ !1);
17070
+ function nh(...t) {
17071
+ return new th("endAt", t, /*before=*/ !1);
17068
17072
  }
17069
17073
 
17070
- /** Helper function to create a bound from a document or fields */ function nh(t, e, n, s) {
17071
- if (n[0] = getModularInstance(n[0]), n[0] instanceof Cu) return function(t, e, n, s, i) {
17074
+ /** Helper function to create a bound from a document or fields */ function sh(t, e, n, s) {
17075
+ if (n[0] = getModularInstance(n[0]), n[0] instanceof Nu) return function(t, e, n, s, i) {
17072
17076
  if (!s) throw new Q(j.NOT_FOUND, `Can't use a DocumentSnapshot that doesn't exist for ${n}().`);
17073
17077
  const r = [];
17074
17078
  // Because people expect to continue/end a query at the exact document
@@ -17093,7 +17097,7 @@ function eh(...t) {
17093
17097
  * Converts a list of field values to a `Bound` for the given query.
17094
17098
  */ (t._query, t.firestore._databaseId, e, n[0]._document, s);
17095
17099
  {
17096
- const i = lu(t.firestore);
17100
+ const i = fu(t.firestore);
17097
17101
  return function(t, e, n, s, i, r) {
17098
17102
  // Use explicit order by's because it has to match the query the user made
17099
17103
  const o = t.explicitOrderBy;
@@ -17109,7 +17113,7 @@ function eh(...t) {
17109
17113
  const i = new Dt(n);
17110
17114
  c.push(Ft(e, i));
17111
17115
  } else {
17112
- const t = Eu(n, s, a);
17116
+ const t = Iu(n, s, a);
17113
17117
  c.push(t);
17114
17118
  }
17115
17119
  }
@@ -17123,7 +17127,7 @@ function eh(...t) {
17123
17127
  }
17124
17128
  }
17125
17129
 
17126
- function sh(t, e, n) {
17130
+ function ih(t, e, n) {
17127
17131
  if ("string" == typeof (n = getModularInstance(n))) {
17128
17132
  if ("" === n) throw new Q(j.INVALID_ARGUMENT, "Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");
17129
17133
  if (!Ae(e) && -1 !== n.indexOf("/")) throw new Q(j.INVALID_ARGUMENT, `Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${n}' contains a '/' character.`);
@@ -17131,19 +17135,19 @@ function sh(t, e, n) {
17131
17135
  if (!Dt.isDocumentKey(s)) throw new Q(j.INVALID_ARGUMENT, `Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${s}' is not because it has an odd number of segments (${s.length}).`);
17132
17136
  return Ft(t, new Dt(s));
17133
17137
  }
17134
- if (n instanceof Pa) return Ft(t, n._key);
17135
- throw new Q(j.INVALID_ARGUMENT, `Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${Ta(n)}.`);
17138
+ if (n instanceof va) return Ft(t, n._key);
17139
+ throw new Q(j.INVALID_ARGUMENT, `Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${Ea(n)}.`);
17136
17140
  }
17137
17141
 
17138
17142
  /**
17139
17143
  * Validates that the value passed into a disjunctive filter satisfies all
17140
17144
  * array requirements.
17141
- */ function ih(t, e) {
17145
+ */ function rh(t, e) {
17142
17146
  if (!Array.isArray(t) || 0 === t.length) throw new Q(j.INVALID_ARGUMENT, `Invalid Query. A non-empty array is required for '${e.toString()}' filters.`);
17143
17147
  if (t.length > 10) throw new Q(j.INVALID_ARGUMENT, `Invalid Query. '${e.toString()}' filters support a maximum of 10 elements in the value array.`);
17144
17148
  }
17145
17149
 
17146
- function rh(t, e, n) {
17150
+ function oh(t, e, n) {
17147
17151
  if (!n.isEqual(e)) throw new Q(j.INVALID_ARGUMENT, `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.`);
17148
17152
  }
17149
17153
 
@@ -17168,7 +17172,7 @@ function rh(t, e, n) {
17168
17172
  * to the user.
17169
17173
  *
17170
17174
  * @internal
17171
- */ class oh {
17175
+ */ class ch {
17172
17176
  convertValue(t, e = "none") {
17173
17177
  switch (Ct(t)) {
17174
17178
  case 0 /* NullValue */ :
@@ -17215,7 +17219,7 @@ function rh(t, e, n) {
17215
17219
  })), n;
17216
17220
  }
17217
17221
  convertGeoPoint(t) {
17218
- return new iu(It(t.latitude), It(t.longitude));
17222
+ return new ru(It(t.latitude), It(t.longitude));
17219
17223
  }
17220
17224
  convertArray(t, e) {
17221
17225
  return (t.values || []).map((t => this.convertValue(t, e)));
@@ -17240,7 +17244,7 @@ function rh(t, e, n) {
17240
17244
  convertDocumentKey(t, e) {
17241
17245
  const n = wt.fromString(t);
17242
17246
  U(Rs(n));
17243
- const s = new wa(n.get(1), n.get(3)), i = new Dt(n.popFirst(5));
17247
+ const s = new _a(n.get(1), n.get(3)), i = new Dt(n.popFirst(5));
17244
17248
  return s.isEqual(e) ||
17245
17249
  // TODO(b/64130202): Somehow support foreign references.
17246
17250
  M(`Document ${i} contains a document reference within a different database (${s.projectId}/${s.database}) which is not supported. It will be treated as a reference in the current database (${e.projectId}/${e.database}) instead.`),
@@ -17272,7 +17276,7 @@ function rh(t, e, n) {
17272
17276
  * because we want to provide the user with a more specific error message if
17273
17277
  * their `set()` or fails due to invalid data originating from a `toFirestore()`
17274
17278
  * call.
17275
- */ function ch(t, e, n) {
17279
+ */ function ah(t, e, n) {
17276
17280
  let s;
17277
17281
  // Cast to `any` in order to satisfy the union type constraint on
17278
17282
  // toFirestore().
@@ -17281,16 +17285,16 @@ function rh(t, e, n) {
17281
17285
  s;
17282
17286
  }
17283
17287
 
17284
- class ah extends oh {
17288
+ class uh extends ch {
17285
17289
  constructor(t) {
17286
17290
  super(), this.firestore = t;
17287
17291
  }
17288
17292
  convertBytes(t) {
17289
- return new nu(t);
17293
+ return new su(t);
17290
17294
  }
17291
17295
  convertReference(t) {
17292
17296
  const e = this.convertDocumentKey(t, this.firestore._databaseId);
17293
- return new Pa(this.firestore, /* converter= */ null, e);
17297
+ return new va(this.firestore, /* converter= */ null, e);
17294
17298
  }
17295
17299
  }
17296
17300
 
@@ -17317,24 +17321,24 @@ class ah extends oh {
17317
17321
  * provides methods for adding writes to the write batch. None of the writes
17318
17322
  * will be committed (or visible locally) until {@link WriteBatch.commit} is
17319
17323
  * called.
17320
- */ class uh {
17324
+ */ class hh {
17321
17325
  /** @hideconstructor */
17322
17326
  constructor(t, e) {
17323
17327
  this._firestore = t, this._commitHandler = e, this._mutations = [], this._committed = !1,
17324
- this._dataReader = lu(t);
17328
+ this._dataReader = fu(t);
17325
17329
  }
17326
17330
  set(t, e, n) {
17327
17331
  this._verifyNotCommitted();
17328
- const s = hh(t, this._firestore), i = ch(s.converter, e, n), r = fu(this._dataReader, "WriteBatch.set", s._key, i, null !== s.converter, n);
17332
+ const s = lh(t, this._firestore), i = ah(s.converter, e, n), r = du(this._dataReader, "WriteBatch.set", s._key, i, null !== s.converter, n);
17329
17333
  return this._mutations.push(r.toMutation(s._key, Ye.none())), this;
17330
17334
  }
17331
17335
  update(t, e, n, ...s) {
17332
17336
  this._verifyNotCommitted();
17333
- const i = hh(t, this._firestore);
17337
+ const i = lh(t, this._firestore);
17334
17338
  // For Compat types, we have to "extract" the underlying types before
17335
17339
  // performing validation.
17336
17340
  let r;
17337
- return r = "string" == typeof (e = getModularInstance(e)) || e instanceof tu ? Tu(this._dataReader, "WriteBatch.update", i._key, e, n, s) : pu(this._dataReader, "WriteBatch.update", i._key, e),
17341
+ return r = "string" == typeof (e = getModularInstance(e)) || e instanceof eu ? Eu(this._dataReader, "WriteBatch.update", i._key, e, n, s) : Tu(this._dataReader, "WriteBatch.update", i._key, e),
17338
17342
  this._mutations.push(r.toMutation(i._key, Ye.exists(!0))), this;
17339
17343
  }
17340
17344
  /**
@@ -17344,7 +17348,7 @@ class ah extends oh {
17344
17348
  * @returns This `WriteBatch` instance. Used for chaining method calls.
17345
17349
  */ delete(t) {
17346
17350
  this._verifyNotCommitted();
17347
- const e = hh(t, this._firestore);
17351
+ const e = lh(t, this._firestore);
17348
17352
  return this._mutations = this._mutations.concat(new ln(e._key, Ye.none())), this;
17349
17353
  }
17350
17354
  /**
@@ -17366,7 +17370,7 @@ class ah extends oh {
17366
17370
  }
17367
17371
  }
17368
17372
 
17369
- function hh(t, e) {
17373
+ function lh(t, e) {
17370
17374
  if ((t = getModularInstance(t)).firestore !== e) throw new Q(j.INVALID_ARGUMENT, "Provided document reference is from a different Firestore instance.");
17371
17375
  return t;
17372
17376
  }
@@ -17424,22 +17428,22 @@ function hh(t, e) {
17424
17428
  * @returns A Promise resolved with a `DocumentSnapshot` containing the
17425
17429
  * current document contents.
17426
17430
  */
17427
- function lh(t) {
17428
- t = Ea(t, Pa);
17429
- const e = Ea(t.firestore, Fa);
17430
- return oa(Ua(e), t._key).then((n => bh(e, t, n)));
17431
+ function fh(t) {
17432
+ t = Ia(t, va);
17433
+ const e = Ia(t.firestore, La);
17434
+ return ca(qa(e), t._key).then((n => Ph(e, t, n)));
17431
17435
  }
17432
17436
 
17433
- class fh extends oh {
17437
+ class dh extends ch {
17434
17438
  constructor(t) {
17435
17439
  super(), this.firestore = t;
17436
17440
  }
17437
17441
  convertBytes(t) {
17438
- return new nu(t);
17442
+ return new su(t);
17439
17443
  }
17440
17444
  convertReference(t) {
17441
17445
  const e = this.convertDocumentKey(t, this.firestore._databaseId);
17442
- return new Pa(this.firestore, /* converter= */ null, e);
17446
+ return new va(this.firestore, /* converter= */ null, e);
17443
17447
  }
17444
17448
  }
17445
17449
 
@@ -17449,10 +17453,10 @@ class fh extends oh {
17449
17453
  *
17450
17454
  * @returns A `Promise` resolved with a `DocumentSnapshot` containing the
17451
17455
  * current document contents.
17452
- */ function dh(t) {
17453
- t = Ea(t, Pa);
17454
- const e = Ea(t.firestore, Fa), n = Ua(e), s = new fh(e);
17455
- return ra(n, t._key).then((n => new $u(e, s, t._key, n, new xu(null !== n && n.hasLocalMutations,
17456
+ */ function wh(t) {
17457
+ t = Ia(t, va);
17458
+ const e = Ia(t.firestore, La), n = qa(e), s = new dh(e);
17459
+ return oa(n, t._key).then((n => new Ou(e, s, t._key, n, new $u(null !== n && n.hasLocalMutations,
17456
17460
  /* fromCache= */ !0), t.converter)));
17457
17461
  }
17458
17462
 
@@ -17462,12 +17466,12 @@ class fh extends oh {
17462
17466
  *
17463
17467
  * @returns A `Promise` resolved with a `DocumentSnapshot` containing the
17464
17468
  * current document contents.
17465
- */ function wh(t) {
17466
- t = Ea(t, Pa);
17467
- const e = Ea(t.firestore, Fa);
17468
- return oa(Ua(e), t._key, {
17469
+ */ function _h(t) {
17470
+ t = Ia(t, va);
17471
+ const e = Ia(t.firestore, La);
17472
+ return ca(qa(e), t._key, {
17469
17473
  source: "server"
17470
- }).then((n => bh(e, t, n)));
17474
+ }).then((n => Ph(e, t, n)));
17471
17475
  }
17472
17476
 
17473
17477
  /**
@@ -17479,10 +17483,10 @@ class fh extends oh {
17479
17483
  * invoke {@link getDocsFromCache} or {@link getDocsFromServer}.
17480
17484
  *
17481
17485
  * @returns A `Promise` that will be resolved with the results of the query.
17482
- */ function _h(t) {
17483
- t = Ea(t, va);
17484
- const e = Ea(t.firestore, Fa), n = Ua(e), s = new fh(e);
17485
- return Bu(t._query), aa(n, t._query).then((n => new Mu(e, s, t, n)));
17486
+ */ function mh(t) {
17487
+ t = Ia(t, Va);
17488
+ const e = Ia(t.firestore, La), n = qa(e), s = new dh(e);
17489
+ return Uu(t._query), ua(n, t._query).then((n => new Fu(e, s, t, n)));
17486
17490
  }
17487
17491
 
17488
17492
  /**
@@ -17490,10 +17494,10 @@ class fh extends oh {
17490
17494
  * Returns an error if the document is not currently cached.
17491
17495
  *
17492
17496
  * @returns A `Promise` that will be resolved with the results of the query.
17493
- */ function mh(t) {
17494
- t = Ea(t, va);
17495
- const e = Ea(t.firestore, Fa), n = Ua(e), s = new fh(e);
17496
- return ca(n, t._query).then((n => new Mu(e, s, t, n)));
17497
+ */ function gh(t) {
17498
+ t = Ia(t, Va);
17499
+ const e = Ia(t.firestore, La), n = qa(e), s = new dh(e);
17500
+ return aa(n, t._query).then((n => new Fu(e, s, t, n)));
17497
17501
  }
17498
17502
 
17499
17503
  /**
@@ -17501,29 +17505,29 @@ class fh extends oh {
17501
17505
  * server. Returns an error if the network is not available.
17502
17506
  *
17503
17507
  * @returns A `Promise` that will be resolved with the results of the query.
17504
- */ function gh(t) {
17505
- t = Ea(t, va);
17506
- const e = Ea(t.firestore, Fa), n = Ua(e), s = new fh(e);
17507
- return aa(n, t._query, {
17508
+ */ function yh(t) {
17509
+ t = Ia(t, Va);
17510
+ const e = Ia(t.firestore, La), n = qa(e), s = new dh(e);
17511
+ return ua(n, t._query, {
17508
17512
  source: "server"
17509
- }).then((n => new Mu(e, s, t, n)));
17513
+ }).then((n => new Fu(e, s, t, n)));
17510
17514
  }
17511
17515
 
17512
- function yh(t, e, n) {
17513
- t = Ea(t, Pa);
17514
- const s = Ea(t.firestore, Fa), i = ch(t.converter, e, n);
17515
- return Rh(s, [ fu(lu(s), "setDoc", t._key, i, null !== t.converter, n).toMutation(t._key, Ye.none()) ]);
17516
+ function ph(t, e, n) {
17517
+ t = Ia(t, va);
17518
+ const s = Ia(t.firestore, La), i = ah(t.converter, e, n);
17519
+ return bh(s, [ du(fu(s), "setDoc", t._key, i, null !== t.converter, n).toMutation(t._key, Ye.none()) ]);
17516
17520
  }
17517
17521
 
17518
- function ph(t, e, n, ...s) {
17519
- t = Ea(t, Pa);
17520
- const i = Ea(t.firestore, Fa), r = lu(i);
17522
+ function Th(t, e, n, ...s) {
17523
+ t = Ia(t, va);
17524
+ const i = Ia(t.firestore, La), r = fu(i);
17521
17525
  let o;
17522
17526
  o = "string" == typeof (
17523
17527
  // For Compat types, we have to "extract" the underlying types before
17524
17528
  // performing validation.
17525
- e = getModularInstance(e)) || e instanceof tu ? Tu(r, "updateDoc", t._key, e, n, s) : pu(r, "updateDoc", t._key, e);
17526
- return Rh(i, [ o.toMutation(t._key, Ye.exists(!0)) ]);
17529
+ e = getModularInstance(e)) || e instanceof eu ? Eu(r, "updateDoc", t._key, e, n, s) : Tu(r, "updateDoc", t._key, e);
17530
+ return bh(i, [ o.toMutation(t._key, Ye.exists(!0)) ]);
17527
17531
  }
17528
17532
 
17529
17533
  /**
@@ -17532,8 +17536,8 @@ function ph(t, e, n, ...s) {
17532
17536
  * @param reference - A reference to the document to delete.
17533
17537
  * @returns A Promise resolved once the document has been successfully
17534
17538
  * deleted from the backend (note that it won't resolve while you're offline).
17535
- */ function Th(t) {
17536
- return Rh(Ea(t.firestore, Fa), [ new ln(t._key, Ye.none()) ]);
17539
+ */ function Eh(t) {
17540
+ return bh(Ia(t.firestore, La), [ new ln(t._key, Ye.none()) ]);
17537
17541
  }
17538
17542
 
17539
17543
  /**
@@ -17545,55 +17549,55 @@ function ph(t, e, n, ...s) {
17545
17549
  * @returns A `Promise` resolved with a `DocumentReference` pointing to the
17546
17550
  * newly created document after it has been written to the backend (Note that it
17547
17551
  * won't resolve while you're offline).
17548
- */ function Eh(t, e) {
17549
- const n = Ea(t.firestore, Fa), s = Ca(t), i = ch(t.converter, e);
17550
- return Rh(n, [ fu(lu(t.firestore), "addDoc", s._key, i, null !== t.converter, {}).toMutation(s._key, Ye.exists(!1)) ]).then((() => s));
17552
+ */ function Ih(t, e) {
17553
+ const n = Ia(t.firestore, La), s = Na(t), i = ah(t.converter, e);
17554
+ return bh(n, [ du(fu(t.firestore), "addDoc", s._key, i, null !== t.converter, {}).toMutation(s._key, Ye.exists(!1)) ]).then((() => s));
17551
17555
  }
17552
17556
 
17553
- function Ih(t, ...e) {
17557
+ function Ah(t, ...e) {
17554
17558
  var n, s, i;
17555
17559
  t = getModularInstance(t);
17556
17560
  let r = {
17557
17561
  includeMetadataChanges: !1
17558
17562
  }, o = 0;
17559
- "object" != typeof e[o] || $a(e[o]) || (r = e[o], o++);
17563
+ "object" != typeof e[o] || Oa(e[o]) || (r = e[o], o++);
17560
17564
  const c = {
17561
17565
  includeMetadataChanges: r.includeMetadataChanges
17562
17566
  };
17563
- if ($a(e[o])) {
17567
+ if (Oa(e[o])) {
17564
17568
  const t = e[o];
17565
17569
  e[o] = null === (n = t.next) || void 0 === n ? void 0 : n.bind(t), e[o + 1] = null === (s = t.error) || void 0 === s ? void 0 : s.bind(t),
17566
17570
  e[o + 2] = null === (i = t.complete) || void 0 === i ? void 0 : i.bind(t);
17567
17571
  }
17568
17572
  let a, u, h;
17569
- if (t instanceof Pa) u = Ea(t.firestore, Fa), h = ye(t._key.path), a = {
17573
+ if (t instanceof va) u = Ia(t.firestore, La), h = ye(t._key.path), a = {
17570
17574
  next: n => {
17571
- e[o] && e[o](bh(u, t, n));
17575
+ e[o] && e[o](Ph(u, t, n));
17572
17576
  },
17573
17577
  error: e[o + 1],
17574
17578
  complete: e[o + 2]
17575
17579
  }; else {
17576
- const n = Ea(t, va);
17577
- u = Ea(n.firestore, Fa), h = n._query;
17578
- const s = new fh(u);
17580
+ const n = Ia(t, Va);
17581
+ u = Ia(n.firestore, La), h = n._query;
17582
+ const s = new dh(u);
17579
17583
  a = {
17580
17584
  next: t => {
17581
- e[o] && e[o](new Mu(u, s, n, t));
17585
+ e[o] && e[o](new Fu(u, s, n, t));
17582
17586
  },
17583
17587
  error: e[o + 1],
17584
17588
  complete: e[o + 2]
17585
- }, Bu(t._query);
17589
+ }, Uu(t._query);
17586
17590
  }
17587
17591
  return function(t, e, n, s) {
17588
- const i = new Kc(s), r = new Ho(e, i, n);
17589
- return t.asyncQueue.enqueueAndForget((async () => jo(await na(t), r))), () => {
17590
- i.nc(), t.asyncQueue.enqueueAndForget((async () => Qo(await na(t), r)));
17592
+ const i = new jc(s), r = new Jo(e, i, n);
17593
+ return t.asyncQueue.enqueueAndForget((async () => Qo(await sa(t), r))), () => {
17594
+ i.nc(), t.asyncQueue.enqueueAndForget((async () => Wo(await sa(t), r)));
17591
17595
  };
17592
- }(Ua(u), h, c, a);
17596
+ }(qa(u), h, c, a);
17593
17597
  }
17594
17598
 
17595
- function Ah(t, e) {
17596
- return ua(Ua(t = Ea(t, Fa)), $a(e) ? e : {
17599
+ function Rh(t, e) {
17600
+ return ha(qa(t = Ia(t, La)), Oa(e) ? e : {
17597
17601
  next: e
17598
17602
  });
17599
17603
  }
@@ -17601,19 +17605,19 @@ function Ah(t, e) {
17601
17605
  /**
17602
17606
  * Locally writes `mutations` on the async queue.
17603
17607
  * @internal
17604
- */ function Rh(t, e) {
17608
+ */ function bh(t, e) {
17605
17609
  return function(t, e) {
17606
17610
  const n = new W;
17607
- return t.asyncQueue.enqueueAndForget((async () => uc(await ea(t), e, n))), n.promise;
17608
- }(Ua(t), e);
17611
+ return t.asyncQueue.enqueueAndForget((async () => hc(await na(t), e, n))), n.promise;
17612
+ }(qa(t), e);
17609
17613
  }
17610
17614
 
17611
17615
  /**
17612
17616
  * Converts a {@link ViewSnapshot} that contains the single document specified by `ref`
17613
17617
  * to a {@link DocumentSnapshot}.
17614
- */ function bh(t, e, n) {
17615
- const s = n.docs.get(e._key), i = new fh(t);
17616
- return new $u(t, i, e._key, s, new xu(n.hasPendingWrites, n.fromCache), e.converter);
17618
+ */ function Ph(t, e, n) {
17619
+ const s = n.docs.get(e._key), i = new dh(t);
17620
+ return new Ou(t, i, e._key, s, new $u(n.hasPendingWrites, n.fromCache), e.converter);
17617
17621
  }
17618
17622
 
17619
17623
  /**
@@ -17638,10 +17642,10 @@ function Ah(t, e) {
17638
17642
  * The `Transaction` object passed to a transaction's `updateFunction` provides
17639
17643
  * the methods to read and write data within the transaction context. See
17640
17644
  * {@link runTransaction}.
17641
- */ class Ph extends class {
17645
+ */ class vh extends class {
17642
17646
  /** @hideconstructor */
17643
17647
  constructor(t, e) {
17644
- this._firestore = t, this._transaction = e, this._dataReader = lu(t);
17648
+ this._firestore = t, this._transaction = e, this._dataReader = fu(t);
17645
17649
  }
17646
17650
  /**
17647
17651
  * Reads the document referenced by the provided {@link DocumentReference}.
@@ -17649,25 +17653,25 @@ function Ah(t, e) {
17649
17653
  * @param documentRef - A reference to the document to be read.
17650
17654
  * @returns A `DocumentSnapshot` with the read data.
17651
17655
  */ get(t) {
17652
- const e = hh(t, this._firestore), n = new ah(this._firestore);
17656
+ const e = lh(t, this._firestore), n = new uh(this._firestore);
17653
17657
  return this._transaction.lookup([ e._key ]).then((t => {
17654
17658
  if (!t || 1 !== t.length) return B();
17655
17659
  const s = t[0];
17656
- if (s.isFoundDocument()) return new Cu(this._firestore, n, s.key, s, e.converter);
17657
- if (s.isNoDocument()) return new Cu(this._firestore, n, e._key, null, e.converter);
17660
+ if (s.isFoundDocument()) return new Nu(this._firestore, n, s.key, s, e.converter);
17661
+ if (s.isNoDocument()) return new Nu(this._firestore, n, e._key, null, e.converter);
17658
17662
  throw B();
17659
17663
  }));
17660
17664
  }
17661
17665
  set(t, e, n) {
17662
- const s = hh(t, this._firestore), i = ch(s.converter, e, n), r = fu(this._dataReader, "Transaction.set", s._key, i, null !== s.converter, n);
17666
+ const s = lh(t, this._firestore), i = ah(s.converter, e, n), r = du(this._dataReader, "Transaction.set", s._key, i, null !== s.converter, n);
17663
17667
  return this._transaction.set(s._key, r), this;
17664
17668
  }
17665
17669
  update(t, e, n, ...s) {
17666
- const i = hh(t, this._firestore);
17670
+ const i = lh(t, this._firestore);
17667
17671
  // For Compat types, we have to "extract" the underlying types before
17668
17672
  // performing validation.
17669
17673
  let r;
17670
- return r = "string" == typeof (e = getModularInstance(e)) || e instanceof tu ? Tu(this._dataReader, "Transaction.update", i._key, e, n, s) : pu(this._dataReader, "Transaction.update", i._key, e),
17674
+ return r = "string" == typeof (e = getModularInstance(e)) || e instanceof eu ? Eu(this._dataReader, "Transaction.update", i._key, e, n, s) : Tu(this._dataReader, "Transaction.update", i._key, e),
17671
17675
  this._transaction.update(i._key, r), this;
17672
17676
  }
17673
17677
  /**
@@ -17676,7 +17680,7 @@ function Ah(t, e) {
17676
17680
  * @param documentRef - A reference to the document to be deleted.
17677
17681
  * @returns This `Transaction` instance. Used for chaining method calls.
17678
17682
  */ delete(t) {
17679
- const e = hh(t, this._firestore);
17683
+ const e = lh(t, this._firestore);
17680
17684
  return this._transaction.delete(e._key), this;
17681
17685
  }
17682
17686
  } {
@@ -17692,8 +17696,8 @@ function Ah(t, e) {
17692
17696
  * @param documentRef - A reference to the document to be read.
17693
17697
  * @returns A `DocumentSnapshot` with the read data.
17694
17698
  */ get(t) {
17695
- const e = hh(t, this._firestore), n = new fh(this._firestore);
17696
- return super.get(t).then((t => new $u(this._firestore, n, e._key, t._document, new xu(
17699
+ const e = lh(t, this._firestore), n = new dh(this._firestore);
17700
+ return super.get(t).then((t => new Ou(this._firestore, n, e._key, t._document, new $u(
17697
17701
  /* hasPendingWrites= */ !1,
17698
17702
  /* fromCache= */ !1), e.converter)));
17699
17703
  }
@@ -17715,8 +17719,8 @@ function Ah(t, e) {
17715
17719
  * (the `updateFunction` returned a failed promise), the promise returned by the
17716
17720
  * `updateFunction `is returned here. Otherwise, if the transaction failed, a
17717
17721
  * rejected promise with the corresponding failure error is returned.
17718
- */ function vh(t, e) {
17719
- return ha(Ua(t = Ea(t, Fa)), (n => e(new Ph(t, n))));
17722
+ */ function Vh(t, e) {
17723
+ return la(qa(t = Ia(t, La)), (n => e(new vh(t, n))));
17720
17724
  }
17721
17725
 
17722
17726
  /**
@@ -17738,15 +17742,15 @@ function Ah(t, e) {
17738
17742
  /**
17739
17743
  * Returns a sentinel for use with {@link @firebase/firestore/lite#(updateDoc:1)} or
17740
17744
  * {@link @firebase/firestore/lite#(setDoc:1)} with `{merge: true}` to mark a field for deletion.
17741
- */ function Vh() {
17742
- return new du("deleteField");
17745
+ */ function Sh() {
17746
+ return new wu("deleteField");
17743
17747
  }
17744
17748
 
17745
17749
  /**
17746
17750
  * Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
17747
17751
  * include a server-generated timestamp in the written data.
17748
- */ function Sh() {
17749
- return new _u("serverTimestamp");
17752
+ */ function Dh() {
17753
+ return new mu("serverTimestamp");
17750
17754
  }
17751
17755
 
17752
17756
  /**
@@ -17760,10 +17764,10 @@ function Ah(t, e) {
17760
17764
  * @param elements - The elements to union into the array.
17761
17765
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
17762
17766
  * `updateDoc()`.
17763
- */ function Dh(...t) {
17767
+ */ function Ch(...t) {
17764
17768
  // NOTE: We don't actually parse the data until it's used in set() or
17765
17769
  // update() since we'd need the Firestore instance to do this.
17766
- return new mu("arrayUnion", t);
17770
+ return new gu("arrayUnion", t);
17767
17771
  }
17768
17772
 
17769
17773
  /**
@@ -17776,10 +17780,10 @@ function Ah(t, e) {
17776
17780
  * @param elements - The elements to remove from the array.
17777
17781
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
17778
17782
  * `updateDoc()`
17779
- */ function Ch(...t) {
17783
+ */ function Nh(...t) {
17780
17784
  // NOTE: We don't actually parse the data until it's used in set() or
17781
17785
  // update() since we'd need the Firestore instance to do this.
17782
- return new gu("arrayRemove", t);
17786
+ return new yu("arrayRemove", t);
17783
17787
  }
17784
17788
 
17785
17789
  /**
@@ -17800,8 +17804,8 @@ function Ah(t, e) {
17800
17804
  * @param n - The value to increment by.
17801
17805
  * @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
17802
17806
  * `updateDoc()`
17803
- */ function Nh(t) {
17804
- return new yu("increment", t);
17807
+ */ function kh(t) {
17808
+ return new pu("increment", t);
17805
17809
  }
17806
17810
 
17807
17811
  /**
@@ -17830,11 +17834,11 @@ function Ah(t, e) {
17830
17834
  *
17831
17835
  * @returns A {@link WriteBatch} that can be used to atomically execute multiple
17832
17836
  * writes.
17833
- */ function kh(t) {
17834
- return Ua(t = Ea(t, Fa)), new uh(t, (e => Rh(t, e)));
17837
+ */ function xh(t) {
17838
+ return qa(t = Ia(t, La)), new hh(t, (e => bh(t, e)));
17835
17839
  }
17836
17840
 
17837
- /** An index component consisting of field path and index type. */ class $h {
17841
+ /** An index component consisting of field path and index type. */ class Oh {
17838
17842
  constructor(
17839
17843
  /** The field path of the component. */
17840
17844
  t,
@@ -17859,8 +17863,8 @@ function Ah(t, e) {
17859
17863
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17860
17864
  * See the License for the specific language governing permissions and
17861
17865
  * limitations under the License.
17862
- */ function Oh(t, e) {
17863
- Ua(t = Ea(t, Fa));
17866
+ */ function Mh(t, e) {
17867
+ qa(t = Ia(t, La));
17864
17868
  const n = "string" == typeof e ? function(t) {
17865
17869
  try {
17866
17870
  return JSON.parse(t);
@@ -17871,17 +17875,17 @@ function Ah(t, e) {
17871
17875
  // PORTING NOTE: We don't return an error if the user has not enabled
17872
17876
  // persistence since `enableIndexeddbPersistence()` can fail on the Web.
17873
17877
  if (Array.isArray(n.indexes)) for (const t of n.indexes) {
17874
- Mh(t, "collectionGroup"); const n = [];
17878
+ Fh(t, "collectionGroup"); const n = [];
17875
17879
  if (Array.isArray(t.fields)) for (const e of t.fields) {
17876
- const t = Vu("setIndexConfiguration", Mh(e, "fieldPath"));
17877
- "CONTAINS" === e.arrayConfig ? n.push(new $h(t, 2 /* CONTAINS */)) : "ASCENDING" === e.order ? n.push(new $h(t, 0 /* ASCENDING */)) : "DESCENDING" === e.order && n.push(new $h(t, 1 /* DESCENDING */));
17880
+ const t = Su("setIndexConfiguration", Fh(e, "fieldPath"));
17881
+ "CONTAINS" === e.arrayConfig ? n.push(new Oh(t, 2 /* CONTAINS */)) : "ASCENDING" === e.order ? n.push(new Oh(t, 0 /* ASCENDING */)) : "DESCENDING" === e.order && n.push(new Oh(t, 1 /* DESCENDING */));
17878
17882
  }
17879
17883
  }
17880
17884
  // TODO(indexing): Configure indexes
17881
17885
  return Promise.resolve();
17882
17886
  }
17883
17887
 
17884
- function Mh(t, e) {
17888
+ function Fh(t, e) {
17885
17889
  if ("string" != typeof t[e]) throw new Q(j.INVALID_ARGUMENT, "Missing string value for: " + e);
17886
17890
  return t[e];
17887
17891
  }
@@ -17894,14 +17898,14 @@ function Mh(t, e) {
17894
17898
  !function(t) {
17895
17899
  N = t;
17896
17900
  }(SDK_VERSION), _registerComponent(new Component("firestore", ((t, {options: n}) => {
17897
- const s = t.getProvider("app").getImmediate(), i = new Fa(s, new J(t.getProvider("auth-internal")), new tt(t.getProvider("app-check-internal")));
17901
+ const s = t.getProvider("app").getImmediate(), i = new La(s, new J(t.getProvider("auth-internal")), new tt(t.getProvider("app-check-internal")));
17898
17902
  return n = Object.assign({
17899
17903
  useFetchStreams: e
17900
17904
  }, n), i._setSettings(n), i;
17901
- }), "PUBLIC")), registerVersion(D, "3.4.3-canary.4983f4d5a", t),
17905
+ }), "PUBLIC")), registerVersion(D, "3.4.3-canary.73fcec982", t),
17902
17906
  // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
17903
- registerVersion(D, "3.4.3-canary.4983f4d5a", "esm2017");
17907
+ registerVersion(D, "3.4.3-canary.73fcec982", "esm2017");
17904
17908
  }();
17905
17909
 
17906
- export { oh as AbstractUserDataWriter, nu as Bytes, Ma as CACHE_SIZE_UNLIMITED, Va as CollectionReference, Pa as DocumentReference, $u as DocumentSnapshot, tu as FieldPath, su as FieldValue, Fa as Firestore, Q as FirestoreError, iu as GeoPoint, Oa as LoadBundleTask, va as Query, Uu as QueryConstraint, Ou as QueryDocumentSnapshot, Mu as QuerySnapshot, xu as SnapshotMetadata, at as Timestamp, Ph as Transaction, uh as WriteBatch, wa as _DatabaseId, Dt as _DocumentKey, et as _EmptyAppCheckTokenProvider, z as _EmptyAuthCredentialsProvider, mt as _FieldPath, Ea as _cast, q as _debugAssert, yt as _isBase64Available, F as _logWarn, Oh as _setIndexConfiguration, ga as _validateIsNotUsedTogether, Eh as addDoc, Ch as arrayRemove, Dh as arrayUnion, Wa as clearIndexedDbPersistence, Sa as collection, Da as collectionGroup, ba as connectFirestoreEmulator, Th as deleteDoc, Vh as deleteField, Ha as disableNetwork, Ca as doc, eu as documentId, Ka as enableIndexedDbPersistence, ja as enableMultiTabIndexedDbPersistence, za as enableNetwork, eh as endAt, th as endBefore, Ua as ensureFirestoreConfigured, Rh as executeWrite, lh as getDoc, dh as getDocFromCache, wh as getDocFromServer, _h as getDocs, mh as getDocsFromCache, gh as getDocsFromServer, Ba as getFirestore, Nh as increment, La as initializeFirestore, zu as limit, Hu as limitToLast, Ya as loadBundle, Xa as namedQuery, Ih as onSnapshot, Ah as onSnapshotsInSync, Wu as orderBy, qu as query, ka as queryEqual, Na as refEqual, vh as runTransaction, Sh as serverTimestamp, yh as setDoc, $ as setLogLevel, Lu as snapshotEqual, Xu as startAfter, Yu as startAt, Ja as terminate, ph as updateDoc, Ga as waitForPendingWrites, ju as where, kh as writeBatch };
17910
+ export { ch as AbstractUserDataWriter, su as Bytes, Fa as CACHE_SIZE_UNLIMITED, Sa as CollectionReference, va as DocumentReference, Ou as DocumentSnapshot, eu as FieldPath, iu as FieldValue, La as Firestore, Q as FirestoreError, ru as GeoPoint, Ma as LoadBundleTask, Va as Query, qu as QueryConstraint, Mu as QueryDocumentSnapshot, Fu as QuerySnapshot, $u as SnapshotMetadata, at as Timestamp, vh as Transaction, hh as WriteBatch, _a as _DatabaseId, Dt as _DocumentKey, et as _EmptyAppCheckTokenProvider, z as _EmptyAuthCredentialsProvider, mt as _FieldPath, Ia as _cast, q as _debugAssert, yt as _isBase64Available, F as _logWarn, Mh as _setIndexConfiguration, ya as _validateIsNotUsedTogether, Ih as addDoc, Nh as arrayRemove, Ch as arrayUnion, Ga as clearIndexedDbPersistence, Da as collection, Ca as collectionGroup, Pa as connectFirestoreEmulator, Eh as deleteDoc, Sh as deleteField, Ja as disableNetwork, Na as doc, nu as documentId, ja as enableIndexedDbPersistence, Qa as enableMultiTabIndexedDbPersistence, Ha as enableNetwork, nh as endAt, eh as endBefore, qa as ensureFirestoreConfigured, bh as executeWrite, fh as getDoc, wh as getDocFromCache, _h as getDocFromServer, mh as getDocs, gh as getDocsFromCache, yh as getDocsFromServer, Ua as getFirestore, kh as increment, Ba as initializeFirestore, Hu as limit, Ju as limitToLast, Xa as loadBundle, Za as namedQuery, Ah as onSnapshot, Rh as onSnapshotsInSync, Gu as orderBy, Ku as query, xa as queryEqual, ka as refEqual, Vh as runTransaction, Dh as serverTimestamp, ph as setDoc, $ as setLogLevel, Bu as snapshotEqual, Zu as startAfter, Xu as startAt, Ya as terminate, Th as updateDoc, za as waitForPendingWrites, Qu as where, xh as writeBatch };
17907
17911
  //# sourceMappingURL=index.esm2017.js.map