@firebase/firestore 4.3.2-canary.a89e05bfc → 4.3.2-canary.b2163b33d
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.
- package/dist/index.cjs.js +73 -73
- package/dist/index.esm2017.js +73 -73
- package/dist/index.esm5.js +68 -68
- package/dist/index.node.cjs.js +2 -2
- package/dist/index.node.mjs +2 -2
- package/dist/index.rn.js +75 -75
- package/dist/lite/index.browser.esm2017.js +2 -2
- package/dist/lite/index.browser.esm5.js +2 -2
- package/dist/lite/index.cjs.js +2 -2
- package/dist/lite/index.node.cjs.js +5 -9
- package/dist/lite/index.node.cjs.js.map +1 -1
- package/dist/lite/index.node.mjs +5 -5
- package/dist/lite/index.node.mjs.map +1 -1
- package/dist/lite/index.rn.esm2017.js +2 -2
- package/dist/packages/firestore/dist/index.esm2017.d.ts +14 -14
- package/package.json +10 -10
package/dist/index.esm2017.js
CHANGED
|
@@ -66,7 +66,7 @@ User.MOCK_USER = new User("mock-user");
|
|
|
66
66
|
* See the License for the specific language governing permissions and
|
|
67
67
|
* limitations under the License.
|
|
68
68
|
*/
|
|
69
|
-
let b = "10.6.0-canary.
|
|
69
|
+
let b = "10.6.0-canary.b2163b33d";
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* @license
|
|
@@ -5837,16 +5837,16 @@ class BloomFilter {
|
|
|
5837
5837
|
throw new __PRIVATE_BloomFilterError(`Invalid padding when bitmap length is 0: ${t}`);
|
|
5838
5838
|
this.Te = 8 * e.length - t,
|
|
5839
5839
|
// Set the bit count in Integer to avoid repetition in mightContain().
|
|
5840
|
-
this.
|
|
5840
|
+
this.de = Integer.fromNumber(this.Te);
|
|
5841
5841
|
}
|
|
5842
5842
|
// Calculate the ith hash value based on the hashed 64bit integers,
|
|
5843
5843
|
// and calculate its corresponding bit index in the bitmap to be checked.
|
|
5844
|
-
|
|
5844
|
+
Ee(e, t, n) {
|
|
5845
5845
|
// Calculate hashed value h(i) = h1 + (i * h2).
|
|
5846
5846
|
let r = e.add(t.multiply(Integer.fromNumber(n)));
|
|
5847
5847
|
// Wrap if hash value overflow 64bit.
|
|
5848
5848
|
return 1 === r.compare(he) && (r = new Integer([ r.getBits(0), r.getBits(1) ], 0)),
|
|
5849
|
-
r.modulo(this.
|
|
5849
|
+
r.modulo(this.de).toNumber();
|
|
5850
5850
|
}
|
|
5851
5851
|
// Return whether the bit on the given index in the bitmap is set to 1.
|
|
5852
5852
|
Ae(e) {
|
|
@@ -5857,7 +5857,7 @@ class BloomFilter {
|
|
|
5857
5857
|
if (0 === this.Te) return !1;
|
|
5858
5858
|
const t = __PRIVATE_getMd5HashValue(e), [n, r] = __PRIVATE_get64BitUints(t);
|
|
5859
5859
|
for (let e = 0; e < this.hashCount; e++) {
|
|
5860
|
-
const t = this.
|
|
5860
|
+
const t = this.Ee(n, r, e);
|
|
5861
5861
|
if (!this.Ae(t)) return !1;
|
|
5862
5862
|
}
|
|
5863
5863
|
return !0;
|
|
@@ -5870,7 +5870,7 @@ class BloomFilter {
|
|
|
5870
5870
|
if (0 === this.Te) return;
|
|
5871
5871
|
const t = __PRIVATE_getMd5HashValue(e), [n, r] = __PRIVATE_get64BitUints(t);
|
|
5872
5872
|
for (let e = 0; e < this.hashCount; e++) {
|
|
5873
|
-
const t = this.
|
|
5873
|
+
const t = this.Ee(n, r, e);
|
|
5874
5874
|
this.Re(t);
|
|
5875
5875
|
}
|
|
5876
5876
|
}
|
|
@@ -7583,18 +7583,18 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7583
7583
|
}
|
|
7584
7584
|
Pt(e, t) {
|
|
7585
7585
|
if ("nullValue" in e) this.Tt(t, 5); else if ("booleanValue" in e) this.Tt(t, 10),
|
|
7586
|
-
t.
|
|
7586
|
+
t.dt(e.booleanValue ? 1 : 0); else if ("integerValue" in e) this.Tt(t, 15), t.dt(__PRIVATE_normalizeNumber(e.integerValue)); else if ("doubleValue" in e) {
|
|
7587
7587
|
const n = __PRIVATE_normalizeNumber(e.doubleValue);
|
|
7588
7588
|
isNaN(n) ? this.Tt(t, 13) : (this.Tt(t, 15), __PRIVATE_isNegativeZero(n) ?
|
|
7589
7589
|
// -0.0, 0 and 0.0 are all considered the same
|
|
7590
|
-
t.
|
|
7590
|
+
t.dt(0) : t.dt(n));
|
|
7591
7591
|
} else if ("timestampValue" in e) {
|
|
7592
7592
|
const n = e.timestampValue;
|
|
7593
|
-
this.Tt(t, 20), "string" == typeof n ? t.
|
|
7593
|
+
this.Tt(t, 20), "string" == typeof n ? t.Et(n) : (t.Et(`${n.seconds || ""}`), t.dt(n.nanos || 0));
|
|
7594
7594
|
} else if ("stringValue" in e) this.At(e.stringValue, t), this.Rt(t); else if ("bytesValue" in e) this.Tt(t, 30),
|
|
7595
7595
|
t.Vt(__PRIVATE_normalizeByteString(e.bytesValue)), this.Rt(t); else if ("referenceValue" in e) this.ft(e.referenceValue, t); else if ("geoPointValue" in e) {
|
|
7596
7596
|
const n = e.geoPointValue;
|
|
7597
|
-
this.Tt(t, 45), t.
|
|
7597
|
+
this.Tt(t, 45), t.dt(n.latitude || 0), t.dt(n.longitude || 0);
|
|
7598
7598
|
} else "mapValue" in e ? __PRIVATE_isMaxValue(e) ? this.Tt(t, Number.MAX_SAFE_INTEGER) : (this.gt(e.mapValue, t),
|
|
7599
7599
|
this.Rt(t)) : "arrayValue" in e ? (this.yt(e.arrayValue, t), this.Rt(t)) : fail();
|
|
7600
7600
|
}
|
|
@@ -7602,7 +7602,7 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7602
7602
|
this.Tt(t, 25), this.wt(e, t);
|
|
7603
7603
|
}
|
|
7604
7604
|
wt(e, t) {
|
|
7605
|
-
t.
|
|
7605
|
+
t.Et(e);
|
|
7606
7606
|
}
|
|
7607
7607
|
gt(e, t) {
|
|
7608
7608
|
const n = e.fields || {};
|
|
@@ -7621,13 +7621,13 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7621
7621
|
}));
|
|
7622
7622
|
}
|
|
7623
7623
|
Tt(e, t) {
|
|
7624
|
-
e.
|
|
7624
|
+
e.dt(t);
|
|
7625
7625
|
}
|
|
7626
7626
|
Rt(e) {
|
|
7627
7627
|
// While the SDK does not implement truncation, the truncation marker is
|
|
7628
7628
|
// used to terminate all variable length values (which are strings, bytes,
|
|
7629
7629
|
// references, arrays and maps).
|
|
7630
|
-
e.
|
|
7630
|
+
e.dt(2);
|
|
7631
7631
|
}
|
|
7632
7632
|
}
|
|
7633
7633
|
|
|
@@ -7814,10 +7814,10 @@ class __PRIVATE_AscendingIndexByteEncoder {
|
|
|
7814
7814
|
Vt(e) {
|
|
7815
7815
|
this.Wt.bt(e);
|
|
7816
7816
|
}
|
|
7817
|
-
|
|
7817
|
+
Et(e) {
|
|
7818
7818
|
this.Wt.xt(e);
|
|
7819
7819
|
}
|
|
7820
|
-
|
|
7820
|
+
dt(e) {
|
|
7821
7821
|
this.Wt.Nt(e);
|
|
7822
7822
|
}
|
|
7823
7823
|
It() {
|
|
@@ -7832,10 +7832,10 @@ class __PRIVATE_DescendingIndexByteEncoder {
|
|
|
7832
7832
|
Vt(e) {
|
|
7833
7833
|
this.Wt.vt(e);
|
|
7834
7834
|
}
|
|
7835
|
-
|
|
7835
|
+
Et(e) {
|
|
7836
7836
|
this.Wt.Ot(e);
|
|
7837
7837
|
}
|
|
7838
|
-
|
|
7838
|
+
dt(e) {
|
|
7839
7839
|
this.Wt.kt(e);
|
|
7840
7840
|
}
|
|
7841
7841
|
It() {
|
|
@@ -8352,7 +8352,7 @@ function __PRIVATE_applyDistributionFieldAndCompositeFilters(e, t) {
|
|
|
8352
8352
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8353
8353
|
* See the License for the specific language governing permissions and
|
|
8354
8354
|
* limitations under the License.
|
|
8355
|
-
*/ const
|
|
8355
|
+
*/ const de = new Uint8Array(0);
|
|
8356
8356
|
|
|
8357
8357
|
/**
|
|
8358
8358
|
* A persisted implementation of IndexManager.
|
|
@@ -8566,7 +8566,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8566
8566
|
// combined with the values from the query bounds.
|
|
8567
8567
|
const _ = (null != t ? t.length : 1) * Math.max(n.length, i.length), a = _ / (null != t ? t.length : 1), u = [];
|
|
8568
8568
|
for (let c = 0; c < _; ++c) {
|
|
8569
|
-
const _ = t ? this.In(t[c / a]) :
|
|
8569
|
+
const _ = t ? this.In(t[c / a]) : de, l = this.Tn(e, _, n[c % a], r), h = this.dn(e, _, i[c % a], s), P = o.map((t => this.Tn(e, _, t,
|
|
8570
8570
|
/* inclusive= */ !0)));
|
|
8571
8571
|
u.push(...this.createRange(l, h, P));
|
|
8572
8572
|
}
|
|
@@ -8576,7 +8576,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8576
8576
|
const i = new __PRIVATE_IndexEntry(e, DocumentKey.empty(), t, n);
|
|
8577
8577
|
return r ? i : i.Ht();
|
|
8578
8578
|
}
|
|
8579
|
-
/** Generates the upper bound for `arrayValue` and `directionalValue`. */
|
|
8579
|
+
/** Generates the upper bound for `arrayValue` and `directionalValue`. */ dn(e, t, n, r) {
|
|
8580
8580
|
const i = new __PRIVATE_IndexEntry(e, DocumentKey.empty(), t, n);
|
|
8581
8581
|
return r ? i.Ht() : i;
|
|
8582
8582
|
}
|
|
@@ -8624,7 +8624,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8624
8624
|
* Returns the byte encoded form of the directional values in the field index.
|
|
8625
8625
|
* Returns `null` if the document does not have all fields specified in the
|
|
8626
8626
|
* index.
|
|
8627
|
-
*/
|
|
8627
|
+
*/ En(e, t) {
|
|
8628
8628
|
const n = new __PRIVATE_IndexByteEncoder;
|
|
8629
8629
|
for (const r of __PRIVATE_fieldIndexGetDirectionalSegments(e)) {
|
|
8630
8630
|
const e = t.data.field(r.fieldPath);
|
|
@@ -8757,13 +8757,13 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8757
8757
|
}
|
|
8758
8758
|
/** Creates the index entries for the given document. */ pn(e, t) {
|
|
8759
8759
|
let n = new SortedSet(__PRIVATE_indexEntryComparator);
|
|
8760
|
-
const r = this.
|
|
8760
|
+
const r = this.En(t, e);
|
|
8761
8761
|
if (null == r) return n;
|
|
8762
8762
|
const i = __PRIVATE_fieldIndexGetArraySegment(t);
|
|
8763
8763
|
if (null != i) {
|
|
8764
8764
|
const s = e.data.field(i.fieldPath);
|
|
8765
8765
|
if (isArray(s)) for (const i of s.arrayValue.values || []) n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, this.In(i), r));
|
|
8766
|
-
} else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key,
|
|
8766
|
+
} else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, de, r));
|
|
8767
8767
|
return n;
|
|
8768
8768
|
}
|
|
8769
8769
|
/**
|
|
@@ -8838,7 +8838,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8838
8838
|
// If we encounter two bounds that will create an unmatchable key range,
|
|
8839
8839
|
// then we return an empty set of key ranges.
|
|
8840
8840
|
if (this.bn(r[e], r[e + 1])) return [];
|
|
8841
|
-
const t = [ r[e].indexId, this.uid, r[e].arrayValue, r[e].directionalValue,
|
|
8841
|
+
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, [] ];
|
|
8842
8842
|
i.push(IDBKeyRange.bound(t, n));
|
|
8843
8843
|
}
|
|
8844
8844
|
return i;
|
|
@@ -8906,7 +8906,7 @@ function __PRIVATE_getMinOffsetFromFieldIndexes(e) {
|
|
|
8906
8906
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8907
8907
|
* See the License for the specific language governing permissions and
|
|
8908
8908
|
* limitations under the License.
|
|
8909
|
-
*/ const
|
|
8909
|
+
*/ const Ee = {
|
|
8910
8910
|
didRun: !1,
|
|
8911
8911
|
sequenceNumbersCollected: 0,
|
|
8912
8912
|
targetsRemoved: 0,
|
|
@@ -9639,8 +9639,8 @@ class __PRIVATE_TargetIdGenerator {
|
|
|
9639
9639
|
}
|
|
9640
9640
|
collect(e, t) {
|
|
9641
9641
|
return -1 === this.params.cacheSizeCollectionThreshold ? (__PRIVATE_logDebug("LruGarbageCollector", "Garbage collection skipped; disabled"),
|
|
9642
|
-
PersistencePromise.resolve(
|
|
9643
|
-
|
|
9642
|
+
PersistencePromise.resolve(Ee)) : 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}`),
|
|
9643
|
+
Ee) : this.Jn(e, t)));
|
|
9644
9644
|
}
|
|
9645
9645
|
getCacheSize(e) {
|
|
9646
9646
|
return this.zn.getCacheSize(e);
|
|
@@ -10691,14 +10691,14 @@ class OverlayedDocument {
|
|
|
10691
10691
|
const n = new __PRIVATE_DocReference(e, t);
|
|
10692
10692
|
this.hr = this.hr.add(n), this.Ir = this.Ir.add(n);
|
|
10693
10693
|
}
|
|
10694
|
-
/** Add references to the given document keys for the given ID. */
|
|
10694
|
+
/** Add references to the given document keys for the given ID. */ dr(e, t) {
|
|
10695
10695
|
e.forEach((e => this.addReference(e, t)));
|
|
10696
10696
|
}
|
|
10697
10697
|
/**
|
|
10698
10698
|
* Removes a reference to the given document key for the given
|
|
10699
10699
|
* ID.
|
|
10700
10700
|
*/ removeReference(e, t) {
|
|
10701
|
-
this.
|
|
10701
|
+
this.Er(new __PRIVATE_DocReference(e, t));
|
|
10702
10702
|
}
|
|
10703
10703
|
Ar(e, t) {
|
|
10704
10704
|
e.forEach((e => this.removeReference(e, t)));
|
|
@@ -10709,13 +10709,13 @@ class OverlayedDocument {
|
|
|
10709
10709
|
*/ Rr(e) {
|
|
10710
10710
|
const t = new DocumentKey(new ResourcePath([])), n = new __PRIVATE_DocReference(t, e), r = new __PRIVATE_DocReference(t, e + 1), i = [];
|
|
10711
10711
|
return this.Ir.forEachInRange([ n, r ], (e => {
|
|
10712
|
-
this.
|
|
10712
|
+
this.Er(e), i.push(e.key);
|
|
10713
10713
|
})), i;
|
|
10714
10714
|
}
|
|
10715
10715
|
Vr() {
|
|
10716
|
-
this.hr.forEach((e => this.
|
|
10716
|
+
this.hr.forEach((e => this.Er(e)));
|
|
10717
10717
|
}
|
|
10718
|
-
|
|
10718
|
+
Er(e) {
|
|
10719
10719
|
this.hr = this.hr.delete(e), this.Ir = this.Ir.delete(e);
|
|
10720
10720
|
}
|
|
10721
10721
|
mr(e) {
|
|
@@ -11117,7 +11117,7 @@ class __PRIVATE_MemoryRemoteDocumentChangeBuffer extends RemoteDocumentChangeBuf
|
|
|
11117
11117
|
return PersistencePromise.resolve(n);
|
|
11118
11118
|
}
|
|
11119
11119
|
addMatchingKeys(e, t, n) {
|
|
11120
|
-
return this.Or.
|
|
11120
|
+
return this.Or.dr(t, n), PersistencePromise.resolve();
|
|
11121
11121
|
}
|
|
11122
11122
|
removeMatchingKeys(e, t, n) {
|
|
11123
11123
|
this.Or.Ar(t, n);
|
|
@@ -11736,7 +11736,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11736
11736
|
this.serializer = new __PRIVATE_LocalSerializer(_), this.Ti = new __PRIVATE_SimpleDb(this.Ii, this.ai, new __PRIVATE_SchemaConverter(this.serializer)),
|
|
11737
11737
|
this.qr = new __PRIVATE_IndexedDbTargetCache(this.referenceDelegate, this.serializer),
|
|
11738
11738
|
this.remoteDocumentCache = __PRIVATE_newIndexedDbRemoteDocumentCache(this.serializer),
|
|
11739
|
-
this.Kr = new __PRIVATE_IndexedDbBundleCache, this.window && this.window.localStorage ? this.
|
|
11739
|
+
this.Kr = new __PRIVATE_IndexedDbBundleCache, this.window && this.window.localStorage ? this.di = this.window.localStorage : (this.di = null,
|
|
11740
11740
|
!1 === u && __PRIVATE_logError("IndexedDbPersistence", "LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."));
|
|
11741
11741
|
}
|
|
11742
11742
|
/**
|
|
@@ -11747,7 +11747,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11747
11747
|
// NOTE: This is expected to fail sometimes (in the case of another tab
|
|
11748
11748
|
// already having the persistence lock), so it's the first thing we should
|
|
11749
11749
|
// do.
|
|
11750
|
-
return this.
|
|
11750
|
+
return this.Ei().then((() => {
|
|
11751
11751
|
if (!this.isPrimary && !this.allowTabSynchronization)
|
|
11752
11752
|
// Fail `start()` if `synchronizeTabs` is disabled and we cannot
|
|
11753
11753
|
// obtain the primary lease.
|
|
@@ -11791,7 +11791,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11791
11791
|
// Schedule a primary lease refresh for immediate execution. The eventual
|
|
11792
11792
|
// lease update will be propagated via `primaryStateListener`.
|
|
11793
11793
|
this.si.enqueueAndForget((async () => {
|
|
11794
|
-
this.started && await this.
|
|
11794
|
+
this.started && await this.Ei();
|
|
11795
11795
|
})));
|
|
11796
11796
|
}
|
|
11797
11797
|
/**
|
|
@@ -11799,7 +11799,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11799
11799
|
* extend the primary lease for the local client. Asynchronously notifies the
|
|
11800
11800
|
* primary state listener if the client either newly obtained or released its
|
|
11801
11801
|
* primary lease.
|
|
11802
|
-
*/
|
|
11802
|
+
*/ Ei() {
|
|
11803
11803
|
return this.runTransaction("updateClientMetadataAndTryBecomePrimary", "readwrite", (e => __PRIVATE_clientMetadataStore(e).put({
|
|
11804
11804
|
clientId: this.clientId,
|
|
11805
11805
|
updateTimeMs: Date.now(),
|
|
@@ -11848,14 +11848,14 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11848
11848
|
// Ideally we'd delete the IndexedDb and LocalStorage zombie entries for
|
|
11849
11849
|
// the client atomically, but we can't. So we opt to delete the IndexedDb
|
|
11850
11850
|
// entries first to avoid potentially reviving a zombied client.
|
|
11851
|
-
if (this.
|
|
11851
|
+
if (this.di) for (const t of e) this.di.removeItem(this.vi(t.clientId));
|
|
11852
11852
|
}
|
|
11853
11853
|
}
|
|
11854
11854
|
/**
|
|
11855
11855
|
* Schedules a recurring timer to update the client metadata and to either
|
|
11856
11856
|
* extend or acquire the primary lease if the client is eligible.
|
|
11857
11857
|
*/ Vi() {
|
|
11858
|
-
this.li = this.si.enqueueAfterDelay("client_metadata_refresh" /* TimerId.ClientMetadataRefresh */ , 4e3, (() => this.
|
|
11858
|
+
this.li = this.si.enqueueAfterDelay("client_metadata_refresh" /* TimerId.ClientMetadataRefresh */ , 4e3, (() => this.Ei().then((() => this.bi())).then((() => this.Vi()))));
|
|
11859
11859
|
}
|
|
11860
11860
|
/** Checks whether `client` is the local client. */ wi(e) {
|
|
11861
11861
|
return !!e && e.ownerId === this.clientId;
|
|
@@ -12014,7 +12014,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12014
12014
|
Ai() {
|
|
12015
12015
|
null !== this.document && "function" == typeof this.document.addEventListener && (this.ci = () => {
|
|
12016
12016
|
this.si.enqueueAndForget((() => (this.inForeground = "visible" === this.document.visibilityState,
|
|
12017
|
-
this.
|
|
12017
|
+
this.Ei())));
|
|
12018
12018
|
}, this.document.addEventListener("visibilitychange", this.ci), this.inForeground = "visible" === this.document.visibilityState);
|
|
12019
12019
|
}
|
|
12020
12020
|
xi() {
|
|
@@ -12055,7 +12055,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12055
12055
|
*/ Fi(e) {
|
|
12056
12056
|
var t;
|
|
12057
12057
|
try {
|
|
12058
|
-
const n = null !== (null === (t = this.
|
|
12058
|
+
const n = null !== (null === (t = this.di) || void 0 === t ? void 0 : t.getItem(this.vi(e)));
|
|
12059
12059
|
return __PRIVATE_logDebug("IndexedDbPersistence", `Client '${e}' ${n ? "is" : "is not"} zombied in LocalStorage`),
|
|
12060
12060
|
n;
|
|
12061
12061
|
} catch (e) {
|
|
@@ -12068,16 +12068,16 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12068
12068
|
* Record client as zombied (a client that had its tab closed). Zombied
|
|
12069
12069
|
* clients are ignored during primary tab selection.
|
|
12070
12070
|
*/ Mi() {
|
|
12071
|
-
if (this.
|
|
12072
|
-
this.
|
|
12071
|
+
if (this.di) try {
|
|
12072
|
+
this.di.setItem(this.vi(this.clientId), String(Date.now()));
|
|
12073
12073
|
} catch (e) {
|
|
12074
12074
|
// Gracefully handle if LocalStorage isn't available / working.
|
|
12075
12075
|
__PRIVATE_logError("Failed to set zombie client id.", e);
|
|
12076
12076
|
}
|
|
12077
12077
|
}
|
|
12078
12078
|
/** Removes the zombied client entry if it exists. */ Ni() {
|
|
12079
|
-
if (this.
|
|
12080
|
-
this.
|
|
12079
|
+
if (this.di) try {
|
|
12080
|
+
this.di.removeItem(this.vi(this.clientId));
|
|
12081
12081
|
} catch (e) {
|
|
12082
12082
|
// Ignore
|
|
12083
12083
|
}
|
|
@@ -12891,7 +12891,7 @@ class __PRIVATE_MutationMetadata {
|
|
|
12891
12891
|
s && (i = new FirestoreError(r.error.code, r.error.message))), s ? new __PRIVATE_MutationMetadata(e, t, r.state, i) : (__PRIVATE_logError("SharedClientState", `Failed to parse mutation state for ID '${t}': ${n}`),
|
|
12892
12892
|
null);
|
|
12893
12893
|
}
|
|
12894
|
-
|
|
12894
|
+
ds() {
|
|
12895
12895
|
const e = {
|
|
12896
12896
|
state: this.state,
|
|
12897
12897
|
updateTimeMs: Date.now()
|
|
@@ -12922,7 +12922,7 @@ class __PRIVATE_QueryTargetMetadata {
|
|
|
12922
12922
|
i && (r = new FirestoreError(n.error.code, n.error.message))), i ? new __PRIVATE_QueryTargetMetadata(e, n.state, r) : (__PRIVATE_logError("SharedClientState", `Failed to parse target state for ID '${e}': ${t}`),
|
|
12923
12923
|
null);
|
|
12924
12924
|
}
|
|
12925
|
-
|
|
12925
|
+
ds() {
|
|
12926
12926
|
const e = {
|
|
12927
12927
|
state: this.state,
|
|
12928
12928
|
updateTimeMs: Date.now()
|
|
@@ -12987,7 +12987,7 @@ class __PRIVATE_LocalClientState {
|
|
|
12987
12987
|
constructor() {
|
|
12988
12988
|
this.activeTargetIds = __PRIVATE_targetIdSet();
|
|
12989
12989
|
}
|
|
12990
|
-
|
|
12990
|
+
Es(e) {
|
|
12991
12991
|
this.activeTargetIds = this.activeTargetIds.add(e);
|
|
12992
12992
|
}
|
|
12993
12993
|
As(e) {
|
|
@@ -12996,7 +12996,7 @@ class __PRIVATE_LocalClientState {
|
|
|
12996
12996
|
/**
|
|
12997
12997
|
* Converts this entry into a JSON-encoded format we can use for WebStorage.
|
|
12998
12998
|
* Does not encode `clientId` as it is part of the key in WebStorage.
|
|
12999
|
-
*/
|
|
12999
|
+
*/ ds() {
|
|
13000
13000
|
const e = {
|
|
13001
13001
|
activeTargetIds: this.activeTargetIds.toArray(),
|
|
13002
13002
|
updateTimeMs: Date.now()
|
|
@@ -13131,7 +13131,7 @@ class __PRIVATE_LocalClientState {
|
|
|
13131
13131
|
r && (t = r.state);
|
|
13132
13132
|
}
|
|
13133
13133
|
}
|
|
13134
|
-
return this.Ls.
|
|
13134
|
+
return this.Ls.Es(e), this.Fs(), t;
|
|
13135
13135
|
}
|
|
13136
13136
|
removeLocalQueryTarget(e) {
|
|
13137
13137
|
this.Ls.As(e), this.Fs();
|
|
@@ -13233,11 +13233,11 @@ class __PRIVATE_LocalClientState {
|
|
|
13233
13233
|
return this.gs.get(this.Rs);
|
|
13234
13234
|
}
|
|
13235
13235
|
Fs() {
|
|
13236
|
-
this.setItem(this.ys, this.Ls.
|
|
13236
|
+
this.setItem(this.ys, this.Ls.ds());
|
|
13237
13237
|
}
|
|
13238
13238
|
Ns(e, t, n) {
|
|
13239
13239
|
const r = new __PRIVATE_MutationMetadata(this.currentUser, e, t, n), i = createWebStorageMutationBatchKey(this.persistenceKey, this.currentUser, e);
|
|
13240
|
-
this.setItem(i, r.
|
|
13240
|
+
this.setItem(i, r.ds());
|
|
13241
13241
|
}
|
|
13242
13242
|
Bs(e) {
|
|
13243
13243
|
const t = createWebStorageMutationBatchKey(this.persistenceKey, this.currentUser, e);
|
|
@@ -13252,7 +13252,7 @@ class __PRIVATE_LocalClientState {
|
|
|
13252
13252
|
}
|
|
13253
13253
|
ks(e, t, n) {
|
|
13254
13254
|
const r = createWebStorageQueryTargetMetadataKey(this.persistenceKey, e), i = new __PRIVATE_QueryTargetMetadata(e, t, n);
|
|
13255
|
-
this.setItem(r, i.
|
|
13255
|
+
this.setItem(r, i.ds());
|
|
13256
13256
|
}
|
|
13257
13257
|
Qs(e) {
|
|
13258
13258
|
const t = JSON.stringify(Array.from(e));
|
|
@@ -13340,7 +13340,7 @@ class __PRIVATE_MemorySharedClientState {
|
|
|
13340
13340
|
// No op.
|
|
13341
13341
|
}
|
|
13342
13342
|
addLocalQueryTarget(e) {
|
|
13343
|
-
return this.eo.
|
|
13343
|
+
return this.eo.Es(e), this.no[e] || "not-current";
|
|
13344
13344
|
}
|
|
13345
13345
|
updateQueryState(e, t, n) {
|
|
13346
13346
|
this.no[e] = t;
|
|
@@ -14348,7 +14348,7 @@ class __PRIVATE_PersistentStream {
|
|
|
14348
14348
|
* Sends an initial streamToken to the server, performing the handshake
|
|
14349
14349
|
* required to make the StreamingWrite RPC work. Subsequent
|
|
14350
14350
|
* calls should wait until onHandshakeComplete was called.
|
|
14351
|
-
*/
|
|
14351
|
+
*/ d_() {
|
|
14352
14352
|
// TODO(dimond): Support stream resumption. We intentionally do not set the
|
|
14353
14353
|
// stream token on the handshake, ignoring any stream token we might have.
|
|
14354
14354
|
const e = {};
|
|
@@ -14391,10 +14391,10 @@ class __PRIVATE_PersistentStream {
|
|
|
14391
14391
|
class __PRIVATE_DatastoreImpl extends class Datastore {} {
|
|
14392
14392
|
constructor(e, t, n, r) {
|
|
14393
14393
|
super(), this.authCredentials = e, this.appCheckCredentials = t, this.connection = n,
|
|
14394
|
-
this.serializer = r, this.
|
|
14394
|
+
this.serializer = r, this.E_ = !1;
|
|
14395
14395
|
}
|
|
14396
14396
|
A_() {
|
|
14397
|
-
if (this.
|
|
14397
|
+
if (this.E_) throw new FirestoreError(C.FAILED_PRECONDITION, "The client has already been terminated.");
|
|
14398
14398
|
}
|
|
14399
14399
|
/** Invokes the provided RPC with auth and AppCheck tokens. */ wo(e, t, n) {
|
|
14400
14400
|
return this.A_(), Promise.all([ this.authCredentials.getToken(), this.appCheckCredentials.getToken() ]).then((([r, i]) => this.connection.wo(e, t, n, r, i))).catch((e => {
|
|
@@ -14409,7 +14409,7 @@ class __PRIVATE_DatastoreImpl extends class Datastore {} {
|
|
|
14409
14409
|
}));
|
|
14410
14410
|
}
|
|
14411
14411
|
terminate() {
|
|
14412
|
-
this.
|
|
14412
|
+
this.E_ = !0;
|
|
14413
14413
|
}
|
|
14414
14414
|
}
|
|
14415
14415
|
|
|
@@ -14869,7 +14869,7 @@ function __PRIVATE_startWriteStream(e) {
|
|
|
14869
14869
|
}
|
|
14870
14870
|
|
|
14871
14871
|
async function __PRIVATE_onWriteStreamOpen(e) {
|
|
14872
|
-
__PRIVATE_ensureWriteStream(e).
|
|
14872
|
+
__PRIVATE_ensureWriteStream(e).d_();
|
|
14873
14873
|
}
|
|
14874
14874
|
|
|
14875
14875
|
async function __PRIVATE_onWriteHandshakeComplete(e) {
|
|
@@ -15796,7 +15796,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15796
15796
|
}
|
|
15797
15797
|
/**
|
|
15798
15798
|
* Returns whether the doc for the given key should be in limbo.
|
|
15799
|
-
*/
|
|
15799
|
+
*/ da(e) {
|
|
15800
15800
|
// If the remote end says it's part of this query, it's not in limbo.
|
|
15801
15801
|
return !this.ia.has(e) && (
|
|
15802
15802
|
// The local store doesn't think it's a result, so it shouldn't be in limbo.
|
|
@@ -15816,7 +15816,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15816
15816
|
// updating many documents.
|
|
15817
15817
|
const e = this.oa;
|
|
15818
15818
|
this.oa = __PRIVATE_documentKeySet(), this.aa.forEach((e => {
|
|
15819
|
-
this.
|
|
15819
|
+
this.da(e.key) && (this.oa = this.oa.add(e.key));
|
|
15820
15820
|
}));
|
|
15821
15821
|
// Diff the new limbo docs with the old limbo docs.
|
|
15822
15822
|
const t = [];
|
|
@@ -15846,7 +15846,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15846
15846
|
* @returns The ViewChange that resulted from this synchronization.
|
|
15847
15847
|
*/
|
|
15848
15848
|
// PORTING NOTE: Multi-tab only.
|
|
15849
|
-
|
|
15849
|
+
Ea(e) {
|
|
15850
15850
|
this.ia = e.ls, this.oa = __PRIVATE_documentKeySet();
|
|
15851
15851
|
const t = this.ca(e.documents);
|
|
15852
15852
|
return this.applyChanges(t, /*updateLimboDocuments=*/ !0);
|
|
@@ -16401,7 +16401,7 @@ function __PRIVATE_syncEngineGetRemoteKeysForTarget(e, t) {
|
|
|
16401
16401
|
* from persistence.
|
|
16402
16402
|
*/ async function __PRIVATE_synchronizeViewAndComputeSnapshot(e, t) {
|
|
16403
16403
|
const n = __PRIVATE_debugCast(e), r = await __PRIVATE_localStoreExecuteQuery(n.localStore, t.query,
|
|
16404
|
-
/* usePreviousResults= */ !0), i = t.view.
|
|
16404
|
+
/* usePreviousResults= */ !0), i = t.view.Ea(r);
|
|
16405
16405
|
return n.isPrimaryClient && __PRIVATE_updateTrackedLimbos(n, t.targetId, i.Ta),
|
|
16406
16406
|
i;
|
|
16407
16407
|
}
|
|
@@ -19270,11 +19270,11 @@ function __PRIVATE_isWrite(e) {
|
|
|
19270
19270
|
/** Returns a new context with the specified settings overwritten. */ Tu(e) {
|
|
19271
19271
|
return new __PRIVATE_ParseContextImpl(Object.assign(Object.assign({}, this.settings), e), this.databaseId, this.serializer, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
|
|
19272
19272
|
}
|
|
19273
|
-
|
|
19273
|
+
du(e) {
|
|
19274
19274
|
var t;
|
|
19275
19275
|
const n = null === (t = this.path) || void 0 === t ? void 0 : t.child(e), r = this.Tu({
|
|
19276
19276
|
path: n,
|
|
19277
|
-
|
|
19277
|
+
Eu: !1
|
|
19278
19278
|
});
|
|
19279
19279
|
return r.Au(e), r;
|
|
19280
19280
|
}
|
|
@@ -19282,7 +19282,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19282
19282
|
var t;
|
|
19283
19283
|
const n = null === (t = this.path) || void 0 === t ? void 0 : t.child(e), r = this.Tu({
|
|
19284
19284
|
path: n,
|
|
19285
|
-
|
|
19285
|
+
Eu: !1
|
|
19286
19286
|
});
|
|
19287
19287
|
return r.Pu(), r;
|
|
19288
19288
|
}
|
|
@@ -19291,7 +19291,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19291
19291
|
// undefined.
|
|
19292
19292
|
return this.Tu({
|
|
19293
19293
|
path: void 0,
|
|
19294
|
-
|
|
19294
|
+
Eu: !0
|
|
19295
19295
|
});
|
|
19296
19296
|
}
|
|
19297
19297
|
mu(e) {
|
|
@@ -19324,7 +19324,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19324
19324
|
methodName: t,
|
|
19325
19325
|
gu: n,
|
|
19326
19326
|
path: FieldPath$1.emptyPath(),
|
|
19327
|
-
|
|
19327
|
+
Eu: !1,
|
|
19328
19328
|
fu: r
|
|
19329
19329
|
}, this.databaseId, this.serializer, this.ignoreUndefinedProperties);
|
|
19330
19330
|
}
|
|
@@ -19384,7 +19384,7 @@ class __PRIVATE_DeleteFieldValueImpl extends FieldValue {
|
|
|
19384
19384
|
Iu: 3 /* UserDataSource.Argument */ ,
|
|
19385
19385
|
gu: t.settings.gu,
|
|
19386
19386
|
methodName: e._methodName,
|
|
19387
|
-
|
|
19387
|
+
Eu: n
|
|
19388
19388
|
}, t.databaseId, t.serializer, t.ignoreUndefinedProperties);
|
|
19389
19389
|
}
|
|
19390
19390
|
|
|
@@ -19549,7 +19549,7 @@ class __PRIVATE_NumericIncrementFieldValueImpl extends FieldValue {
|
|
|
19549
19549
|
// the set of values to be included for the IN query) that may directly
|
|
19550
19550
|
// contain additional arrays (each representing an individual field
|
|
19551
19551
|
// value), so we disable this validation.
|
|
19552
|
-
if (t.settings.
|
|
19552
|
+
if (t.settings.Eu && 4 /* UserDataSource.ArrayArgument */ !== t.Iu) throw t.mu("Nested arrays are not supported");
|
|
19553
19553
|
return function __PRIVATE_parseArray(e, t) {
|
|
19554
19554
|
const n = [];
|
|
19555
19555
|
let r = 0;
|
|
@@ -19628,7 +19628,7 @@ function __PRIVATE_parseObject(e, t) {
|
|
|
19628
19628
|
// If we encounter an empty object, we explicitly add it to the update
|
|
19629
19629
|
// mask to ensure that the server creates a map entry.
|
|
19630
19630
|
t.path && t.path.length > 0 && t.fieldMask.push(t.path) : forEach(e, ((e, r) => {
|
|
19631
|
-
const i = __PRIVATE_parseData(r, t.
|
|
19631
|
+
const i = __PRIVATE_parseData(r, t.du(e));
|
|
19632
19632
|
null != i && (n[e] = i);
|
|
19633
19633
|
})), {
|
|
19634
19634
|
mapValue: {
|
|
@@ -21788,9 +21788,9 @@ let be = null;
|
|
|
21788
21788
|
return r = Object.assign({
|
|
21789
21789
|
useFetchStreams: t
|
|
21790
21790
|
}, r), s._setSettings(r), s;
|
|
21791
|
-
}), "PUBLIC").setMultipleInstances(!0)), registerVersion(S, "4.3.2-canary.
|
|
21791
|
+
}), "PUBLIC").setMultipleInstances(!0)), registerVersion(S, "4.3.2-canary.b2163b33d", e),
|
|
21792
21792
|
// BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
|
|
21793
|
-
registerVersion(S, "4.3.2-canary.
|
|
21793
|
+
registerVersion(S, "4.3.2-canary.b2163b33d", "esm2017");
|
|
21794
21794
|
}();
|
|
21795
21795
|
|
|
21796
21796
|
export { AbstractUserDataWriter, AggregateField, AggregateQuerySnapshot, Bytes, ge as CACHE_SIZE_UNLIMITED, CollectionReference, DocumentReference, DocumentSnapshot, FieldPath, FieldValue, Firestore, FirestoreError, GeoPoint, LoadBundleTask, PersistentCacheIndexManager, Query, QueryCompositeFilterConstraint, QueryConstraint, QueryDocumentSnapshot, QueryEndAtConstraint, QueryFieldFilterConstraint, QueryLimitConstraint, QueryOrderByConstraint, QuerySnapshot, QueryStartAtConstraint, SnapshotMetadata, Timestamp, Transaction, WriteBatch, __PRIVATE_AutoId as _AutoId, ByteString as _ByteString, DatabaseId as _DatabaseId, DocumentKey as _DocumentKey, __PRIVATE_EmptyAppCheckTokenProvider as _EmptyAppCheckTokenProvider, __PRIVATE_EmptyAuthCredentialsProvider as _EmptyAuthCredentialsProvider, FieldPath$1 as _FieldPath, TestingHooks as _TestingHooks, __PRIVATE_cast as _cast, __PRIVATE_debugAssert as _debugAssert, __PRIVATE_isBase64Available as _isBase64Available, __PRIVATE_logWarn as _logWarn, __PRIVATE_validateIsNotUsedTogether as _validateIsNotUsedTogether, addDoc, aggregateFieldEqual, aggregateQuerySnapshotEqual, and, arrayRemove, arrayUnion, average, clearIndexedDbPersistence, collection, collectionGroup, connectFirestoreEmulator, count, deleteAllPersistentCacheIndexes, deleteDoc, deleteField, disableNetwork, disablePersistentCacheIndexAutoCreation, doc, documentId, enableIndexedDbPersistence, enableMultiTabIndexedDbPersistence, enableNetwork, enablePersistentCacheIndexAutoCreation, endAt, endBefore, ensureFirestoreConfigured, executeWrite, getAggregateFromServer, getCountFromServer, getDoc, getDocFromCache, getDocFromServer, getDocs, getDocsFromCache, getDocsFromServer, getFirestore, getPersistentCacheIndexManager, increment, initializeFirestore, limit, limitToLast, loadBundle, memoryEagerGarbageCollector, memoryLocalCache, memoryLruGarbageCollector, namedQuery, onSnapshot, onSnapshotsInSync, or, orderBy, persistentLocalCache, persistentMultipleTabManager, persistentSingleTabManager, query, queryEqual, refEqual, runTransaction, serverTimestamp, setDoc, setIndexConfiguration, setLogLevel, snapshotEqual, startAfter, startAt, sum, terminate, updateDoc, waitForPendingWrites, where, writeBatch };
|