@firebase/firestore 4.1.2-canary.5f6304d39 → 4.1.2-canary.60e4a07d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/firestore/src/api/persistent_cache_index_manager.d.ts +10 -0
  2. package/dist/firestore/src/api.d.ts +1 -1
  3. package/dist/firestore/src/core/firestore_client.d.ts +1 -0
  4. package/dist/firestore/src/global_index.d.ts +14 -2
  5. package/dist/firestore/src/local/index_manager.d.ts +2 -0
  6. package/dist/firestore/src/local/indexeddb_index_manager.d.ts +1 -0
  7. package/dist/firestore/src/local/local_store_impl.d.ts +1 -0
  8. package/dist/firestore/src/local/memory_index_manager.d.ts +1 -0
  9. package/dist/firestore/test/unit/local/test_index_manager.d.ts +1 -0
  10. package/dist/index.cjs.js +103 -74
  11. package/dist/index.cjs.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.esm2017.js +103 -75
  14. package/dist/index.esm2017.js.map +1 -1
  15. package/dist/index.esm5.js +127 -80
  16. package/dist/index.esm5.js.map +1 -1
  17. package/dist/index.node.cjs.js +42 -2
  18. package/dist/index.node.cjs.js.map +1 -1
  19. package/dist/index.node.mjs +42 -3
  20. package/dist/index.node.mjs.map +1 -1
  21. package/dist/index.rn.js +120 -92
  22. package/dist/index.rn.js.map +1 -1
  23. package/dist/internal.d.ts +13 -0
  24. package/dist/lite/firestore/src/api/persistent_cache_index_manager.d.ts +10 -0
  25. package/dist/lite/firestore/src/api.d.ts +1 -1
  26. package/dist/lite/firestore/src/core/firestore_client.d.ts +1 -0
  27. package/dist/lite/firestore/src/local/index_manager.d.ts +2 -0
  28. package/dist/lite/firestore/src/local/indexeddb_index_manager.d.ts +1 -0
  29. package/dist/lite/firestore/src/local/local_store_impl.d.ts +1 -0
  30. package/dist/lite/firestore/src/local/memory_index_manager.d.ts +1 -0
  31. package/dist/lite/firestore/test/unit/local/test_index_manager.d.ts +1 -0
  32. package/dist/lite/index.browser.esm2017.js +2 -2
  33. package/dist/lite/index.browser.esm5.js +2 -2
  34. package/dist/lite/index.cjs.js +2 -2
  35. package/dist/lite/index.node.cjs.js +2 -2
  36. package/dist/lite/index.node.mjs +2 -2
  37. package/dist/lite/index.rn.esm2017.js +2 -2
  38. package/dist/lite/internal.d.ts +2 -0
  39. package/dist/lite/packages/firestore/src/api/persistent_cache_index_manager.d.ts +10 -0
  40. package/dist/lite/packages/firestore/src/api.d.ts +1 -1
  41. package/dist/lite/packages/firestore/src/core/firestore_client.d.ts +1 -0
  42. package/dist/lite/packages/firestore/src/local/index_manager.d.ts +2 -0
  43. package/dist/lite/packages/firestore/src/local/indexeddb_index_manager.d.ts +1 -0
  44. package/dist/lite/packages/firestore/src/local/local_store_impl.d.ts +1 -0
  45. package/dist/lite/packages/firestore/src/local/memory_index_manager.d.ts +1 -0
  46. package/dist/lite/packages/firestore/test/unit/local/test_index_manager.d.ts +1 -0
  47. package/dist/lite/private.d.ts +2 -0
  48. package/dist/packages/firestore/dist/index.esm2017.d.ts +18 -7
  49. package/dist/packages/firestore/src/api/persistent_cache_index_manager.d.ts +10 -0
  50. package/dist/packages/firestore/src/api.d.ts +1 -1
  51. package/dist/packages/firestore/src/core/firestore_client.d.ts +1 -0
  52. package/dist/packages/firestore/src/local/index_manager.d.ts +2 -0
  53. package/dist/packages/firestore/src/local/indexeddb_index_manager.d.ts +1 -0
  54. package/dist/packages/firestore/src/local/local_store_impl.d.ts +1 -0
  55. package/dist/packages/firestore/src/local/memory_index_manager.d.ts +1 -0
  56. package/dist/packages/firestore/test/unit/local/test_index_manager.d.ts +1 -0
  57. package/dist/private.d.ts +4 -0
  58. package/package.json +9 -9
package/dist/index.cjs.js CHANGED
@@ -70,7 +70,7 @@ User.MOCK_USER = new User("mock-user");
70
70
  * See the License for the specific language governing permissions and
71
71
  * limitations under the License.
72
72
  */
73
- let S = "10.3.0-canary.5f6304d39";
73
+ let S = "10.3.0-canary.60e4a07d2";
74
74
 
75
75
  /**
76
76
  * @license
@@ -4459,7 +4459,7 @@ class __PRIVATE_QueryImpl {
4459
4459
  // aggregate queries. Unlike targets for non-aggregate queries,
4460
4460
  // aggregate query targets do not contain normalized order-bys, they only
4461
4461
  // contain explicit order-bys.
4462
- this.Te = null, this.startAt, this.endAt;
4462
+ this.de = null, this.startAt, this.endAt;
4463
4463
  }
4464
4464
  }
4465
4465
 
@@ -4927,8 +4927,8 @@ function __PRIVATE_targetIdSet() {
4927
4927
  // PORTING NOTE: Since JavaScript's integer arithmetic is limited to 53 bit
4928
4928
  // precision and resolves overflows by reducing precision, we do not
4929
4929
  // manually cap overflows at 2^63.
4930
- const n = __PRIVATE_computeTransformOperationBaseValue(e, t), r = asNumber(n) + asNumber(e.de);
4931
- return isInteger(n) && isInteger(e.de) ? __PRIVATE_toInteger(r) : __PRIVATE_toDouble(e.serializer, r);
4930
+ const n = __PRIVATE_computeTransformOperationBaseValue(e, t), r = asNumber(n) + asNumber(e.Te);
4931
+ return isInteger(n) && isInteger(e.Te) ? __PRIVATE_toInteger(r) : __PRIVATE_toDouble(e.serializer, r);
4932
4932
  }(e, t);
4933
4933
  }
4934
4934
 
@@ -5010,7 +5010,7 @@ function __PRIVATE_applyArrayRemoveTransformOperation(e, t) {
5010
5010
  * arithmetic is used and precision loss can occur for values greater than 2^53.
5011
5011
  */ class __PRIVATE_NumericIncrementTransformOperation extends TransformOperation {
5012
5012
  constructor(e, t) {
5013
- super(), this.serializer = e, this.de = t;
5013
+ super(), this.serializer = e, this.Te = t;
5014
5014
  }
5015
5015
  }
5016
5016
 
@@ -5046,7 +5046,7 @@ function __PRIVATE_coercedFieldValuesArray(e) {
5046
5046
 
5047
5047
  function __PRIVATE_fieldTransformEquals(e, t) {
5048
5048
  return e.field.isEqual(t.field) && function __PRIVATE_transformOperationEquals(e, t) {
5049
- return e instanceof __PRIVATE_ArrayUnionTransformOperation && t instanceof __PRIVATE_ArrayUnionTransformOperation || e instanceof __PRIVATE_ArrayRemoveTransformOperation && t instanceof __PRIVATE_ArrayRemoveTransformOperation ? __PRIVATE_arrayEquals(e.elements, t.elements, __PRIVATE_valueEquals) : e instanceof __PRIVATE_NumericIncrementTransformOperation && t instanceof __PRIVATE_NumericIncrementTransformOperation ? __PRIVATE_valueEquals(e.de, t.de) : e instanceof __PRIVATE_ServerTimestampTransform && t instanceof __PRIVATE_ServerTimestampTransform;
5049
+ return e instanceof __PRIVATE_ArrayUnionTransformOperation && t instanceof __PRIVATE_ArrayUnionTransformOperation || e instanceof __PRIVATE_ArrayRemoveTransformOperation && t instanceof __PRIVATE_ArrayRemoveTransformOperation ? __PRIVATE_arrayEquals(e.elements, t.elements, __PRIVATE_valueEquals) : e instanceof __PRIVATE_NumericIncrementTransformOperation && t instanceof __PRIVATE_NumericIncrementTransformOperation ? __PRIVATE_valueEquals(e.Te, t.Te) : e instanceof __PRIVATE_ServerTimestampTransform && t instanceof __PRIVATE_ServerTimestampTransform;
5050
5050
  }(e.transform, t.transform);
5051
5051
  }
5052
5052
 
@@ -6758,7 +6758,7 @@ function toMutation(e, t) {
6758
6758
  };
6759
6759
  if (n instanceof __PRIVATE_NumericIncrementTransformOperation) return {
6760
6760
  fieldPath: t.field.canonicalString(),
6761
- increment: n.de
6761
+ increment: n.Te
6762
6762
  };
6763
6763
  throw fail();
6764
6764
  }(0, e)))), t.precondition.isNone || (n.currentDocument = function __PRIVATE_toPrecondition(e, t) {
@@ -7592,13 +7592,13 @@ class __PRIVATE_FirestoreIndexValueWriter {
7592
7592
  // ["bar", [2, truncated("foo")]] -> (STRING, "bar", TERM, ARRAY, NUMBER, 2, STRING, "foo", TRUNC)
7593
7593
  // ["bar", truncated(["foo"])] -> (STRING, "bar", TERM, ARRAY. STRING, "foo", TERM, TRUNC)
7594
7594
  /** Writes an index value. */
7595
- Tt(e, t) {
7596
- this.dt(e, t),
7595
+ dt(e, t) {
7596
+ this.Tt(e, t),
7597
7597
  // Write separator to split index values
7598
7598
  // (see go/firestore-storage-format#encodings).
7599
7599
  t.Et();
7600
7600
  }
7601
- dt(e, t) {
7601
+ Tt(e, t) {
7602
7602
  if ("nullValue" in e) this.At(t, 5); else if ("booleanValue" in e) this.At(t, 10),
7603
7603
  t.Rt(e.booleanValue ? 1 : 0); else if ("integerValue" in e) this.At(t, 15), t.Rt(__PRIVATE_normalizeNumber(e.integerValue)); else if ("doubleValue" in e) {
7604
7604
  const n = __PRIVATE_normalizeNumber(e.doubleValue);
@@ -7624,12 +7624,12 @@ class __PRIVATE_FirestoreIndexValueWriter {
7624
7624
  St(e, t) {
7625
7625
  const n = e.fields || {};
7626
7626
  this.At(t, 55);
7627
- for (const e of Object.keys(n)) this.ft(e, t), this.dt(n[e], t);
7627
+ for (const e of Object.keys(n)) this.ft(e, t), this.Tt(n[e], t);
7628
7628
  }
7629
7629
  bt(e, t) {
7630
7630
  const n = e.values || [];
7631
7631
  this.At(t, 50);
7632
- for (const e of n) this.dt(e, t);
7632
+ for (const e of n) this.Tt(e, t);
7633
7633
  }
7634
7634
  wt(e, t) {
7635
7635
  this.At(t, 37);
@@ -8277,6 +8277,10 @@ function __PRIVATE_applyDistributionFieldAndCompositeFilters(e, t) {
8277
8277
  // Field indices are not supported with memory persistence.
8278
8278
  return PersistencePromise.resolve();
8279
8279
  }
8280
+ deleteAllFieldIndexes(e) {
8281
+ // Field indices are not supported with memory persistence.
8282
+ return PersistencePromise.resolve();
8283
+ }
8280
8284
  createTargetIndexes(e, t) {
8281
8285
  // Field indices are not supported with memory persistence.
8282
8286
  return PersistencePromise.resolve();
@@ -8350,7 +8354,7 @@ function __PRIVATE_applyDistributionFieldAndCompositeFilters(e, t) {
8350
8354
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8351
8355
  * See the License for the specific language governing permissions and
8352
8356
  * limitations under the License.
8353
- */ const Te = new Uint8Array(0);
8357
+ */ const de = new Uint8Array(0);
8354
8358
 
8355
8359
  /**
8356
8360
  * A persisted implementation of IndexManager.
@@ -8443,6 +8447,10 @@ class __PRIVATE_IndexedDbIndexManager {
8443
8447
  /*lowerOpen=*/ !1,
8444
8448
  /*upperOpen=*/ !0))));
8445
8449
  }
8450
+ deleteAllFieldIndexes(e) {
8451
+ const t = __PRIVATE_indexConfigurationStore(e), n = __PRIVATE_indexEntriesStore(e), r = __PRIVATE_indexStateStore(e);
8452
+ return t.J().next((() => n.J())).next((() => r.J()));
8453
+ }
8446
8454
  createTargetIndexes(e, t) {
8447
8455
  return PersistencePromise.forEach(this.ln(t), (t => this.getIndexType(e, t).next((n => {
8448
8456
  if (0 /* IndexType.NONE */ === n || 1 /* IndexType.PARTIAL */ === n) {
@@ -8530,7 +8538,7 @@ class __PRIVATE_IndexedDbIndexManager {
8530
8538
  n.push(t.value), r && (r = t.inclusive);
8531
8539
  }
8532
8540
  return new Bound(n, r);
8533
- }(s, i), c = this.Pn(i, s, a), l = this.Pn(i, s, u), h = this.In(i, s, _), P = this.Tn(i.indexId, o, c, a.inclusive, l, u.inclusive, h);
8541
+ }(s, i), c = this.Pn(i, s, a), l = this.Pn(i, s, u), h = this.In(i, s, _), P = this.dn(i.indexId, o, c, a.inclusive, l, u.inclusive, h);
8534
8542
  return PersistencePromise.forEach(P, (i => n.H(i, t.limit).next((t => {
8535
8543
  t.forEach((t => {
8536
8544
  const n = DocumentKey.fromSegments(t.documentKey);
@@ -8553,14 +8561,14 @@ class __PRIVATE_IndexedDbIndexManager {
8553
8561
  /**
8554
8562
  * Constructs a key range query on `DbIndexEntryStore` that unions all
8555
8563
  * bounds.
8556
- */ Tn(e, t, n, r, i, s, o) {
8564
+ */ dn(e, t, n, r, i, s, o) {
8557
8565
  // The number of total index scans we union together. This is similar to a
8558
8566
  // distributed normal form, but adapted for array values. We create a single
8559
8567
  // index range per value in an ARRAY_CONTAINS or ARRAY_CONTAINS_ANY filter
8560
8568
  // combined with the values from the query bounds.
8561
8569
  const _ = (null != t ? t.length : 1) * Math.max(n.length, i.length), a = _ / (null != t ? t.length : 1), u = [];
8562
8570
  for (let c = 0; c < _; ++c) {
8563
- const _ = t ? this.dn(t[c / a]) : Te, l = this.En(e, _, n[c % a], r), h = this.An(e, _, i[c % a], s), P = o.map((t => this.En(e, _, t,
8571
+ const _ = t ? this.Tn(t[c / a]) : de, l = this.En(e, _, n[c % a], r), h = this.An(e, _, i[c % a], s), P = o.map((t => this.En(e, _, t,
8564
8572
  /* inclusive= */ !0)));
8565
8573
  u.push(...this.createRange(l, h, P));
8566
8574
  }
@@ -8624,13 +8632,13 @@ class __PRIVATE_IndexedDbIndexManager {
8624
8632
  const e = t.data.field(r.fieldPath);
8625
8633
  if (null == e) return null;
8626
8634
  const i = n.Yt(r.kind);
8627
- __PRIVATE_FirestoreIndexValueWriter.Ct.Tt(e, i);
8635
+ __PRIVATE_FirestoreIndexValueWriter.Ct.dt(e, i);
8628
8636
  }
8629
8637
  return n.zt();
8630
8638
  }
8631
- /** Encodes a single value to the ascending index format. */ dn(e) {
8639
+ /** Encodes a single value to the ascending index format. */ Tn(e) {
8632
8640
  const t = new __PRIVATE_IndexByteEncoder;
8633
- return __PRIVATE_FirestoreIndexValueWriter.Ct.Tt(e, t.Yt(0 /* IndexKind.ASCENDING */)),
8641
+ return __PRIVATE_FirestoreIndexValueWriter.Ct.dt(e, t.Yt(0 /* IndexKind.ASCENDING */)),
8634
8642
  t.zt();
8635
8643
  }
8636
8644
  /**
@@ -8638,7 +8646,7 @@ class __PRIVATE_IndexedDbIndexManager {
8638
8646
  * ordering of the field index.
8639
8647
  */ Vn(e, t) {
8640
8648
  const n = new __PRIVATE_IndexByteEncoder;
8641
- return __PRIVATE_FirestoreIndexValueWriter.Ct.Tt(__PRIVATE_refValue(this.databaseId, t), n.Yt(function __PRIVATE_fieldIndexGetKeyOrder(e) {
8649
+ return __PRIVATE_FirestoreIndexValueWriter.Ct.dt(__PRIVATE_refValue(this.databaseId, t), n.Yt(function __PRIVATE_fieldIndexGetKeyOrder(e) {
8642
8650
  const t = __PRIVATE_fieldIndexGetDirectionalSegments(e);
8643
8651
  return 0 === t.length ? 0 /* IndexKind.ASCENDING */ : t[t.length - 1].kind;
8644
8652
  }(e))), n.zt();
@@ -8655,7 +8663,7 @@ class __PRIVATE_IndexedDbIndexManager {
8655
8663
  const e = n[i++];
8656
8664
  for (const n of r) if (this.mn(t, s.fieldPath) && isArray(e)) r = this.fn(r, s, e); else {
8657
8665
  const t = n.Yt(s.kind);
8658
- __PRIVATE_FirestoreIndexValueWriter.Ct.Tt(e, t);
8666
+ __PRIVATE_FirestoreIndexValueWriter.Ct.dt(e, t);
8659
8667
  }
8660
8668
  }
8661
8669
  return this.gn(r);
@@ -8681,7 +8689,7 @@ class __PRIVATE_IndexedDbIndexManager {
8681
8689
  const r = [ ...e ], i = [];
8682
8690
  for (const e of n.arrayValue.values || []) for (const n of r) {
8683
8691
  const r = new __PRIVATE_IndexByteEncoder;
8684
- r.seed(n.zt()), __PRIVATE_FirestoreIndexValueWriter.Ct.Tt(e, r.Yt(t.kind)), i.push(r);
8692
+ r.seed(n.zt()), __PRIVATE_FirestoreIndexValueWriter.Ct.dt(e, r.Yt(t.kind)), i.push(r);
8685
8693
  }
8686
8694
  return i;
8687
8695
  }
@@ -8756,8 +8764,8 @@ class __PRIVATE_IndexedDbIndexManager {
8756
8764
  const i = __PRIVATE_fieldIndexGetArraySegment(t);
8757
8765
  if (null != i) {
8758
8766
  const s = e.data.field(i.fieldPath);
8759
- if (isArray(s)) for (const i of s.arrayValue.values || []) n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, this.dn(i), r));
8760
- } else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, Te, r));
8767
+ if (isArray(s)) for (const i of s.arrayValue.values || []) n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, this.Tn(i), r));
8768
+ } else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, de, r));
8761
8769
  return n;
8762
8770
  }
8763
8771
  /**
@@ -8832,7 +8840,7 @@ class __PRIVATE_IndexedDbIndexManager {
8832
8840
  // If we encounter two bounds that will create an unmatchable key range,
8833
8841
  // then we return an empty set of key ranges.
8834
8842
  if (this.Cn(r[e], r[e + 1])) return [];
8835
- const t = [ r[e].indexId, this.uid, r[e].arrayValue, r[e].directionalValue, Te, [] ], n = [ r[e + 1].indexId, this.uid, r[e + 1].arrayValue, r[e + 1].directionalValue, Te, [] ];
8843
+ const t = [ r[e].indexId, this.uid, r[e].arrayValue, r[e].directionalValue, de, [] ], n = [ r[e + 1].indexId, this.uid, r[e + 1].arrayValue, r[e + 1].directionalValue, de, [] ];
8836
8844
  i.push(IDBKeyRange.bound(t, n));
8837
8845
  }
8838
8846
  return i;
@@ -8900,7 +8908,7 @@ function __PRIVATE_getMinOffsetFromFieldIndexes(e) {
8900
8908
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8901
8909
  * See the License for the specific language governing permissions and
8902
8910
  * limitations under the License.
8903
- */ const de = {
8911
+ */ const Te = {
8904
8912
  didRun: !1,
8905
8913
  sequenceNumbersCollected: 0,
8906
8914
  targetsRemoved: 0,
@@ -9633,8 +9641,8 @@ class __PRIVATE_TargetIdGenerator {
9633
9641
  }
9634
9642
  collect(e, t) {
9635
9643
  return -1 === this.params.cacheSizeCollectionThreshold ? (__PRIVATE_logDebug("LruGarbageCollector", "Garbage collection skipped; disabled"),
9636
- PersistencePromise.resolve(de)) : this.getCacheSize(e).next((n => n < this.params.cacheSizeCollectionThreshold ? (__PRIVATE_logDebug("LruGarbageCollector", `Garbage collection skipped; Cache size ${n} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),
9637
- de) : this.Zn(e, t)));
9644
+ PersistencePromise.resolve(Te)) : this.getCacheSize(e).next((n => n < this.params.cacheSizeCollectionThreshold ? (__PRIVATE_logDebug("LruGarbageCollector", `Garbage collection skipped; Cache size ${n} is lower than threshold ${this.params.cacheSizeCollectionThreshold}`),
9645
+ Te) : this.Zn(e, t)));
9638
9646
  }
9639
9647
  getCacheSize(e) {
9640
9648
  return this.Hn.getCacheSize(e);
@@ -10674,16 +10682,16 @@ class OverlayedDocument {
10674
10682
  */ class __PRIVATE_ReferenceSet {
10675
10683
  constructor() {
10676
10684
  // A set of outstanding references to a document sorted by key.
10677
- this.Ir = new SortedSet(__PRIVATE_DocReference.Tr),
10685
+ this.Ir = new SortedSet(__PRIVATE_DocReference.dr),
10678
10686
  // A set of outstanding references to a document sorted by target id.
10679
- this.dr = new SortedSet(__PRIVATE_DocReference.Er);
10687
+ this.Tr = new SortedSet(__PRIVATE_DocReference.Er);
10680
10688
  }
10681
10689
  /** Returns true if the reference set contains no references. */ isEmpty() {
10682
10690
  return this.Ir.isEmpty();
10683
10691
  }
10684
10692
  /** Adds a reference to the given document key for the given ID. */ addReference(e, t) {
10685
10693
  const n = new __PRIVATE_DocReference(e, t);
10686
- this.Ir = this.Ir.add(n), this.dr = this.dr.add(n);
10694
+ this.Ir = this.Ir.add(n), this.Tr = this.Tr.add(n);
10687
10695
  }
10688
10696
  /** Add references to the given document keys for the given ID. */ Ar(e, t) {
10689
10697
  e.forEach((e => this.addReference(e, t)));
@@ -10702,7 +10710,7 @@ class OverlayedDocument {
10702
10710
  * removed.
10703
10711
  */ mr(e) {
10704
10712
  const t = new DocumentKey(new ResourcePath([])), n = new __PRIVATE_DocReference(t, e), r = new __PRIVATE_DocReference(t, e + 1), i = [];
10705
- return this.dr.forEachInRange([ n, r ], (e => {
10713
+ return this.Tr.forEachInRange([ n, r ], (e => {
10706
10714
  this.Rr(e), i.push(e.key);
10707
10715
  })), i;
10708
10716
  }
@@ -10710,12 +10718,12 @@ class OverlayedDocument {
10710
10718
  this.Ir.forEach((e => this.Rr(e)));
10711
10719
  }
10712
10720
  Rr(e) {
10713
- this.Ir = this.Ir.delete(e), this.dr = this.dr.delete(e);
10721
+ this.Ir = this.Ir.delete(e), this.Tr = this.Tr.delete(e);
10714
10722
  }
10715
10723
  pr(e) {
10716
10724
  const t = new DocumentKey(new ResourcePath([])), n = new __PRIVATE_DocReference(t, e), r = new __PRIVATE_DocReference(t, e + 1);
10717
10725
  let i = __PRIVATE_documentKeySet();
10718
- return this.dr.forEachInRange([ n, r ], (e => {
10726
+ return this.Tr.forEachInRange([ n, r ], (e => {
10719
10727
  i = i.add(e.key);
10720
10728
  })), i;
10721
10729
  }
@@ -10729,7 +10737,7 @@ class __PRIVATE_DocReference {
10729
10737
  constructor(e, t) {
10730
10738
  this.key = e, this.yr = t;
10731
10739
  }
10732
- /** Compare by key then by ID */ static Tr(e, t) {
10740
+ /** Compare by key then by ID */ static dr(e, t) {
10733
10741
  return DocumentKey.comparator(e.key, t.key) || __PRIVATE_primitiveComparator(e.yr, t.yr);
10734
10742
  }
10735
10743
  /** Compare by ID then by key */ static Er(e, t) {
@@ -10763,7 +10771,7 @@ class __PRIVATE_DocReference {
10763
10771
  /** Next value to use when assigning sequential IDs to each mutation batch. */
10764
10772
  this.wr = 1,
10765
10773
  /** An ordered mapping between documents and the mutations batch IDs. */
10766
- this.Sr = new SortedSet(__PRIVATE_DocReference.Tr);
10774
+ this.Sr = new SortedSet(__PRIVATE_DocReference.dr);
10767
10775
  }
10768
10776
  checkEmpty(e) {
10769
10777
  return PersistencePromise.resolve(0 === this.mutationQueue.length);
@@ -11725,9 +11733,9 @@ class __PRIVATE_IndexedDbPersistence {
11725
11733
  /** The last time we garbage collected the client metadata object store. */
11726
11734
  this.Ii = Number.NEGATIVE_INFINITY,
11727
11735
  /** A listener to notify on primary state changes. */
11728
- this.Ti = e => Promise.resolve(), !__PRIVATE_IndexedDbPersistence.C()) throw new FirestoreError(D.UNIMPLEMENTED, "This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");
11729
- this.referenceDelegate = new __PRIVATE_IndexedDbLruDelegateImpl(this, r), this.di = t + "main",
11730
- this.serializer = new __PRIVATE_LocalSerializer(_), this.Ei = new __PRIVATE_SimpleDb(this.di, this.ci, new __PRIVATE_SchemaConverter(this.serializer)),
11736
+ this.di = e => Promise.resolve(), !__PRIVATE_IndexedDbPersistence.C()) throw new FirestoreError(D.UNIMPLEMENTED, "This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");
11737
+ this.referenceDelegate = new __PRIVATE_IndexedDbLruDelegateImpl(this, r), this.Ti = t + "main",
11738
+ this.serializer = new __PRIVATE_LocalSerializer(_), this.Ei = new __PRIVATE_SimpleDb(this.Ti, this.ci, new __PRIVATE_SchemaConverter(this.serializer)),
11731
11739
  this.Kr = new __PRIVATE_IndexedDbTargetCache(this.referenceDelegate, this.serializer),
11732
11740
  this.remoteDocumentCache = __PRIVATE_newIndexedDbRemoteDocumentCache(this.serializer),
11733
11741
  this.Ur = new __PRIVATE_IndexedDbBundleCache, this.window && this.window.localStorage ? this.Ai = this.window.localStorage : (this.Ai = null,
@@ -11760,7 +11768,7 @@ class __PRIVATE_IndexedDbPersistence {
11760
11768
  *
11761
11769
  * PORTING NOTE: This is only used for Web multi-tab.
11762
11770
  */ gi(e) {
11763
- return this.Ti = async t => {
11771
+ return this.di = async t => {
11764
11772
  if (this.started) return e(t);
11765
11773
  }, e(this.isPrimary);
11766
11774
  }
@@ -11801,7 +11809,7 @@ class __PRIVATE_IndexedDbPersistence {
11801
11809
  inForeground: this.inForeground
11802
11810
  }).next((() => {
11803
11811
  if (this.isPrimary) return this.pi(e).next((e => {
11804
- e || (this.isPrimary = !1, this._i.enqueueRetryable((() => this.Ti(!1))));
11812
+ e || (this.isPrimary = !1, this._i.enqueueRetryable((() => this.di(!1))));
11805
11813
  }));
11806
11814
  })).next((() => this.yi(e))).next((t => this.isPrimary && !t ? this.wi(e).next((() => !1)) : !!t && this.Si(e).next((() => !0)))))).catch((e => {
11807
11815
  if (__PRIVATE_isIndexedDbTransactionError(e))
@@ -11813,7 +11821,7 @@ class __PRIVATE_IndexedDbPersistence {
11813
11821
  return __PRIVATE_logDebug("IndexedDbPersistence", "Releasing owner lease after error during lease refresh", e),
11814
11822
  /* isPrimary= */ !1;
11815
11823
  })).then((e => {
11816
- this.isPrimary !== e && this._i.enqueueRetryable((() => this.Ti(e))), this.isPrimary = e;
11824
+ this.isPrimary !== e && this._i.enqueueRetryable((() => this.di(e))), this.isPrimary = e;
11817
11825
  }));
11818
11826
  }
11819
11827
  pi(e) {
@@ -11965,7 +11973,7 @@ class __PRIVATE_IndexedDbPersistence {
11965
11973
  return this.Ei.runTransaction(e, r, i, (r => (s = new __PRIVATE_IndexedDbTransaction(r, this.qr ? this.qr.next() : __PRIVATE_ListenSequence.ae),
11966
11974
  "readwrite-primary" === t ? this.pi(s).next((e => !!e || this.yi(s))).next((t => {
11967
11975
  if (!t) throw __PRIVATE_logError(`Failed to obtain primary lease for action '${e}'.`),
11968
- this.isPrimary = !1, this._i.enqueueRetryable((() => this.Ti(!1))), new FirestoreError(D.FAILED_PRECONDITION, v);
11976
+ this.isPrimary = !1, this._i.enqueueRetryable((() => this.di(!1))), new FirestoreError(D.FAILED_PRECONDITION, v);
11969
11977
  return n(s);
11970
11978
  })).next((e => this.Si(s).next((() => e)))) : this.qi(s).next((() => n(s)))))).then((e => (s.raiseOnCommittedEvent(),
11971
11979
  e)));
@@ -12797,8 +12805,8 @@ async function __PRIVATE_localStoreApplyBundledDocuments(e, t, n, r) {
12797
12805
  for (const e of n) {
12798
12806
  const n = t.Is(e.metadata.name);
12799
12807
  e.document && (s = s.add(n));
12800
- const r = t.Ts(e);
12801
- r.setReadTime(t.ds(e.metadata.readTime)), o = o.insert(n, r);
12808
+ const r = t.ds(e);
12809
+ r.setReadTime(t.Ts(e.metadata.readTime)), o = o.insert(n, r);
12802
12810
  }
12803
12811
  const _ = i._s.newChangeBuffer({
12804
12812
  trackRemovals: !0
@@ -14317,7 +14325,7 @@ class __PRIVATE_PersistentStream {
14317
14325
  this.P_ = !1, this.lastStreamToken = void 0, super.start();
14318
14326
  }
14319
14327
  s_() {
14320
- this.P_ && this.T_([]);
14328
+ this.P_ && this.d_([]);
14321
14329
  }
14322
14330
  u_(e, t) {
14323
14331
  return this.connection.Mo("Write", e, t);
@@ -14331,7 +14339,7 @@ class __PRIVATE_PersistentStream {
14331
14339
  // the write itself might be causing an error we want to back off from.
14332
14340
  this.Ho.reset();
14333
14341
  const t = __PRIVATE_fromWriteResults(e.writeResults, e.commitTime), n = __PRIVATE_fromVersion(e.commitTime);
14334
- return this.listener.d_(n, t);
14342
+ return this.listener.T_(n, t);
14335
14343
  }
14336
14344
  // The first response is always the handshake response
14337
14345
  return __PRIVATE_hardAssert(!e.writeResults || 0 === e.writeResults.length), this.P_ = !0,
@@ -14347,7 +14355,7 @@ class __PRIVATE_PersistentStream {
14347
14355
  const e = {};
14348
14356
  e.database = __PRIVATE_getEncodedDatabaseId(this.serializer), this.n_(e);
14349
14357
  }
14350
- /** Sends a group of mutations to the Firestore backend to apply. */ T_(e) {
14358
+ /** Sends a group of mutations to the Firestore backend to apply. */ d_(e) {
14351
14359
  const t = {
14352
14360
  streamToken: this.lastStreamToken,
14353
14361
  writes: e.map((e => toMutation(this.serializer, e)))
@@ -14444,9 +14452,9 @@ async function __PRIVATE_invokeRunAggregationQueryRpc(e, t, n) {
14444
14452
  };
14445
14453
  }(i.serializer, function __PRIVATE_queryToAggregateTarget(e) {
14446
14454
  const t = __PRIVATE_debugCast(e);
14447
- return t.Te || (
14455
+ return t.de || (
14448
14456
  // Do not include implicit order-bys for aggregate queries.
14449
- t.Te = __PRIVATE__queryToTarget(t, e.explicitOrderBy)), t.Te;
14457
+ t.de = __PRIVATE__queryToTarget(t, e.explicitOrderBy)), t.de;
14450
14458
  }(t), n), _ = s.parent;
14451
14459
  i.connection.So || delete s.parent;
14452
14460
  const a = (await i.Fo("RunAggregationQuery", _, s, /*expectedResponseCount=*/ 1)).filter((e => !!e.result));
@@ -14850,7 +14858,7 @@ async function __PRIVATE_fillWritePipeline(e) {
14850
14858
  */ function __PRIVATE_addToWritePipeline(e, t) {
14851
14859
  e.C_.push(t);
14852
14860
  const n = __PRIVATE_ensureWriteStream(e);
14853
- n.Yo() && n.I_ && n.T_(t.mutations);
14861
+ n.Yo() && n.I_ && n.d_(t.mutations);
14854
14862
  }
14855
14863
 
14856
14864
  function __PRIVATE_shouldStartWriteStream(e) {
@@ -14868,7 +14876,7 @@ async function __PRIVATE_onWriteStreamOpen(e) {
14868
14876
  async function __PRIVATE_onWriteHandshakeComplete(e) {
14869
14877
  const t = __PRIVATE_ensureWriteStream(e);
14870
14878
  // Send the write pipeline now that the stream is established.
14871
- for (const n of e.C_) t.T_(n.mutations);
14879
+ for (const n of e.C_) t.d_(n.mutations);
14872
14880
  }
14873
14881
 
14874
14882
  async function __PRIVATE_onMutationResult(e, t, n) {
@@ -14985,7 +14993,7 @@ async function __PRIVATE_remoteStoreHandleCredentialChange(e, t) {
14985
14993
  Io: __PRIVATE_onWriteStreamOpen.bind(null, e),
14986
14994
  Eo: __PRIVATE_onWriteStreamClose.bind(null, e),
14987
14995
  E_: __PRIVATE_onWriteHandshakeComplete.bind(null, e),
14988
- d_: __PRIVATE_onMutationResult.bind(null, e)
14996
+ T_: __PRIVATE_onMutationResult.bind(null, e)
14989
14997
  }), e.M_.push((async t => {
14990
14998
  t ? (e.L_.Xo(),
14991
14999
  // This will start the write stream if necessary.
@@ -15487,10 +15495,10 @@ function __PRIVATE_raiseSnapshotsInSyncEvent(e) {
15487
15495
  }
15488
15496
  /**
15489
15497
  * Converts a BundleDocument to a MutableDocument.
15490
- */ Ts(e) {
15491
- return e.metadata.exists ? __PRIVATE_fromDocument(this.serializer, e.document, !1) : MutableDocument.newNoDocument(this.Is(e.metadata.name), this.ds(e.metadata.readTime));
15498
+ */ ds(e) {
15499
+ return e.metadata.exists ? __PRIVATE_fromDocument(this.serializer, e.document, !1) : MutableDocument.newNoDocument(this.Is(e.metadata.name), this.Ts(e.metadata.readTime));
15492
15500
  }
15493
- ds(e) {
15501
+ Ts(e) {
15494
15502
  return __PRIVATE_fromVersion(e);
15495
15503
  }
15496
15504
  }
@@ -15754,8 +15762,8 @@ class __PRIVATE_RemovedLimboDocument {
15754
15762
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15755
15763
  * See the License for the specific language governing permissions and
15756
15764
  * limitations under the License.
15757
- */ (e.type, t.type) || this.ua(e.doc, t.doc))), this.Ta(n);
15758
- const s = t ? this.da() : [], o = 0 === this.aa.size && this.current ? 1 /* SyncState.Synced */ : 0 /* SyncState.Local */ , _ = o !== this._a;
15765
+ */ (e.type, t.type) || this.ua(e.doc, t.doc))), this.da(n);
15766
+ const s = t ? this.Ta() : [], o = 0 === this.aa.size && this.current ? 1 /* SyncState.Synced */ : 0 /* SyncState.Local */ , _ = o !== this._a;
15759
15767
  if (this._a = o, 0 !== i.length || _) {
15760
15768
  return {
15761
15769
  snapshot: new ViewSnapshot(this.query, e.ca, r, i, e.mutatedKeys, 0 /* SyncState.Local */ === o, _,
@@ -15798,11 +15806,11 @@ class __PRIVATE_RemovedLimboDocument {
15798
15806
  /**
15799
15807
  * Updates syncedDocuments, current, and limbo docs based on the given change.
15800
15808
  * Returns the list of changes to which docs are in limbo.
15801
- */ Ta(e) {
15809
+ */ da(e) {
15802
15810
  e && (e.addedDocuments.forEach((e => this.oa = this.oa.add(e))), e.modifiedDocuments.forEach((e => {})),
15803
15811
  e.removedDocuments.forEach((e => this.oa = this.oa.delete(e))), this.current = e.current);
15804
15812
  }
15805
- da() {
15813
+ Ta() {
15806
15814
  // We can only determine limbo documents when we're in-sync with the server.
15807
15815
  if (!this.current) return [];
15808
15816
  // TODO(klimt): Do this incrementally so that it's not quadratic when
@@ -17696,6 +17704,13 @@ function __PRIVATE_firestoreClientSetIndexConfiguration(e, t) {
17696
17704
  function __PRIVATE_firestoreClientSetPersistentCacheIndexAutoCreationEnabled(e, t) {
17697
17705
  return e.asyncQueue.enqueue((async () => function __PRIVATE_localStoreSetIndexAutoCreationEnabled(e, t) {
17698
17706
  __PRIVATE_debugCast(e).ns.Wi = t;
17707
+ }(await __PRIVATE_getLocalStore(e), t)));
17708
+ }
17709
+
17710
+ function __PRIVATE_firestoreClientDeleteAllFieldIndexes(e) {
17711
+ return e.asyncQueue.enqueue((async () => function __PRIVATE_localStoreDeleteAllFieldIndexes(e) {
17712
+ const t = __PRIVATE_debugCast(e), n = t.indexManager;
17713
+ return t.persistence.runTransaction("Delete All Indexes", "readwrite", (e => n.deleteAllFieldIndexes(e)));
17699
17714
  }
17700
17715
  /**
17701
17716
  * @license
@@ -17715,7 +17730,7 @@ function __PRIVATE_firestoreClientSetPersistentCacheIndexAutoCreationEnabled(e,
17715
17730
  */
17716
17731
  // The format of the LocalStorage key that stores the client state is:
17717
17732
  // firestore_clients_<persistence_prefix>_<instance_key>
17718
- (await __PRIVATE_getLocalStore(e), t)));
17733
+ (await __PRIVATE_getLocalStore(e))));
17719
17734
  }
17720
17735
 
17721
17736
  /**
@@ -19247,13 +19262,13 @@ function __PRIVATE_isWrite(e) {
19247
19262
  this.settings = e, this.databaseId = t, this.serializer = n, this.ignoreUndefinedProperties = r,
19248
19263
  // Minor hack: If fieldTransforms is undefined, we assume this is an
19249
19264
  // external call and we need to validate the entire path.
19250
- void 0 === i && this.Tu(), this.fieldTransforms = i || [], this.fieldMask = s || [];
19265
+ void 0 === i && this.du(), this.fieldTransforms = i || [], this.fieldMask = s || [];
19251
19266
  }
19252
19267
  get path() {
19253
19268
  return this.settings.path;
19254
19269
  }
19255
- get du() {
19256
- return this.settings.du;
19270
+ get Tu() {
19271
+ return this.settings.Tu;
19257
19272
  }
19258
19273
  /** Returns a new context with the specified settings overwritten. */ Eu(e) {
19259
19274
  return new __PRIVATE_ParseContextImpl(Object.assign(Object.assign({}, this.settings), e), this.databaseId, this.serializer, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
@@ -19272,7 +19287,7 @@ function __PRIVATE_isWrite(e) {
19272
19287
  path: n,
19273
19288
  Ru: !1
19274
19289
  });
19275
- return r.Tu(), r;
19290
+ return r.du(), r;
19276
19291
  }
19277
19292
  fu(e) {
19278
19293
  // TODO(b/34871131): We don't support array paths right now; so make path
@@ -19288,14 +19303,14 @@ function __PRIVATE_isWrite(e) {
19288
19303
  /** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(e) {
19289
19304
  return void 0 !== this.fieldMask.find((t => e.isPrefixOf(t))) || void 0 !== this.fieldTransforms.find((t => e.isPrefixOf(t.field)));
19290
19305
  }
19291
- Tu() {
19306
+ du() {
19292
19307
  // TODO(b/34871131): Remove null check once we have proper paths for fields
19293
19308
  // within arrays.
19294
19309
  if (this.path) for (let e = 0; e < this.path.length; e++) this.Vu(this.path.get(e));
19295
19310
  }
19296
19311
  Vu(e) {
19297
19312
  if (0 === e.length) throw this.gu("Document fields must not be empty");
19298
- if (__PRIVATE_isWrite(this.du) && ge.test(e)) throw this.gu('Document fields cannot begin and end with "__"');
19313
+ if (__PRIVATE_isWrite(this.Tu) && ge.test(e)) throw this.gu('Document fields cannot begin and end with "__"');
19299
19314
  }
19300
19315
  }
19301
19316
 
@@ -19308,7 +19323,7 @@ function __PRIVATE_isWrite(e) {
19308
19323
  }
19309
19324
  /** Creates a new top-level parse context. */ wu(e, t, n, r = !1) {
19310
19325
  return new __PRIVATE_ParseContextImpl({
19311
- du: e,
19326
+ Tu: e,
19312
19327
  methodName: t,
19313
19328
  yu: n,
19314
19329
  path: FieldPath$1.emptyPath(),
@@ -19342,7 +19357,7 @@ function __PRIVATE_newUserDataReader(e) {
19342
19357
 
19343
19358
  class __PRIVATE_DeleteFieldValueImpl extends FieldValue {
19344
19359
  _toFieldTransform(e) {
19345
- if (2 /* UserDataSource.MergeSet */ !== e.du) throw 1 /* UserDataSource.Update */ === e.du ? e.gu(`${this._methodName}() can only appear at the top level of your update data`) : e.gu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);
19360
+ if (2 /* UserDataSource.MergeSet */ !== e.Tu) throw 1 /* UserDataSource.Update */ === e.Tu ? e.gu(`${this._methodName}() can only appear at the top level of your update data`) : e.gu(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);
19346
19361
  // No transform to add for a delete, but we need to add it to our
19347
19362
  // fieldMask so it gets deleted.
19348
19363
  return e.fieldMask.push(e.path), null;
@@ -19369,7 +19384,7 @@ class __PRIVATE_DeleteFieldValueImpl extends FieldValue {
19369
19384
  * @param arrayElement - Whether or not the FieldValue has an array.
19370
19385
  */ function __PRIVATE_createSentinelChildContext(e, t, n) {
19371
19386
  return new __PRIVATE_ParseContextImpl({
19372
- du: 3 /* UserDataSource.Argument */ ,
19387
+ Tu: 3 /* UserDataSource.Argument */ ,
19373
19388
  yu: t.settings.yu,
19374
19389
  methodName: e._methodName,
19375
19390
  Ru: n
@@ -19512,7 +19527,7 @@ class __PRIVATE_NumericIncrementFieldValueImpl extends FieldValue {
19512
19527
  */
19513
19528
  return function __PRIVATE_parseSentinelFieldValue(e, t) {
19514
19529
  // Sentinels are only supported with writes, and not within arrays.
19515
- if (!__PRIVATE_isWrite(t.du)) throw t.gu(`${e._methodName}() can only be used with update() and set()`);
19530
+ if (!__PRIVATE_isWrite(t.Tu)) throw t.gu(`${e._methodName}() can only be used with update() and set()`);
19516
19531
  if (!t.path) throw t.gu(`${e._methodName}() is not currently supported inside arrays`);
19517
19532
  const n = e._toFieldTransform(t);
19518
19533
  n && t.fieldTransforms.push(n);
@@ -19537,7 +19552,7 @@ class __PRIVATE_NumericIncrementFieldValueImpl extends FieldValue {
19537
19552
  // the set of values to be included for the IN query) that may directly
19538
19553
  // contain additional arrays (each representing an individual field
19539
19554
  // value), so we disable this validation.
19540
- if (t.settings.Ru && 4 /* UserDataSource.ArrayArgument */ !== t.du) throw t.gu("Nested arrays are not supported");
19555
+ if (t.settings.Ru && 4 /* UserDataSource.ArrayArgument */ !== t.Tu) throw t.gu("Nested arrays are not supported");
19541
19556
  return function __PRIVATE_parseArray(e, t) {
19542
19557
  const n = [];
19543
19558
  let r = 0;
@@ -21702,6 +21717,19 @@ function __PRIVATE_tryGetString(e, t) {
21702
21717
  __PRIVATE_setPersistentCacheIndexAutoCreationEnabled(e, !1);
21703
21718
  }
21704
21719
 
21720
+ /**
21721
+ * Removes all persistent cache indexes.
21722
+ *
21723
+ * Please note this function will also deletes indexes generated by
21724
+ * `setIndexConfiguration()`, which is deprecated.
21725
+ *
21726
+ * TODO(CSI) Remove @internal to make the API publicly available.
21727
+ * @internal
21728
+ */ function deleteAllPersistentCacheIndexes(e) {
21729
+ e._client.verifyNotTerminated();
21730
+ __PRIVATE_firestoreClientDeleteAllFieldIndexes(e._client).then((e => __PRIVATE_logDebug("deleting all persistent cache indexes succeeded"))).catch((e => __PRIVATE_logWarn("deleting all persistent cache indexes failed", e)));
21731
+ }
21732
+
21705
21733
  function __PRIVATE_setPersistentCacheIndexAutoCreationEnabled(e, t) {
21706
21734
  e._client.verifyNotTerminated();
21707
21735
  __PRIVATE_firestoreClientSetPersistentCacheIndexAutoCreationEnabled(e._client, t).then((e => __PRIVATE_logDebug(`setting persistent cache index auto creation isEnabled=${t} succeeded`))).catch((e => __PRIVATE_logWarn(`setting persistent cache index auto creation isEnabled=${t} failed`, e)));
@@ -21798,9 +21826,9 @@ let Se = null;
21798
21826
  return r = Object.assign({
21799
21827
  useFetchStreams: t
21800
21828
  }, r), s._setSettings(r), s;
21801
- }), "PUBLIC").setMultipleInstances(!0)), app.registerVersion(w, "4.1.2-canary.5f6304d39", e),
21829
+ }), "PUBLIC").setMultipleInstances(!0)), app.registerVersion(w, "4.1.2-canary.60e4a07d2", e),
21802
21830
  // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
21803
- app.registerVersion(w, "4.1.2-canary.5f6304d39", "cjs2017");
21831
+ app.registerVersion(w, "4.1.2-canary.60e4a07d2", "cjs2017");
21804
21832
  }();
21805
21833
 
21806
21834
  exports.AbstractUserDataWriter = AbstractUserDataWriter;
@@ -21856,6 +21884,7 @@ exports.collection = collection;
21856
21884
  exports.collectionGroup = collectionGroup;
21857
21885
  exports.connectFirestoreEmulator = connectFirestoreEmulator;
21858
21886
  exports.count = count;
21887
+ exports.deleteAllPersistentCacheIndexes = deleteAllPersistentCacheIndexes;
21859
21888
  exports.deleteDoc = deleteDoc;
21860
21889
  exports.deleteField = deleteField;
21861
21890
  exports.disableNetwork = disableNetwork;