@firebase/firestore 4.3.2-canary.12ad9f181 → 4.3.2
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.cjs.js.map +1 -1
- package/dist/index.esm2017.js +73 -73
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +68 -68
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.node.cjs.js +2 -2
- package/dist/index.node.mjs +2 -2
- package/dist/index.rn.js +75 -75
- package/dist/index.rn.js.map +1 -1
- package/dist/lite/index.browser.esm2017.js +2 -2
- package/dist/lite/index.browser.esm2017.js.map +1 -1
- package/dist/lite/index.browser.esm5.js +2 -2
- package/dist/lite/index.browser.esm5.js.map +1 -1
- package/dist/lite/index.cjs.js +2 -2
- package/dist/lite/index.cjs.js.map +1 -1
- package/dist/lite/index.node.cjs.js +2 -2
- package/dist/lite/index.node.mjs +2 -2
- package/dist/lite/index.rn.esm2017.js +2 -2
- package/dist/lite/index.rn.esm2017.js.map +1 -1
- package/dist/packages/firestore/dist/index.esm2017.d.ts +14 -14
- 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 b = "10.5.2
|
|
73
|
+
let b = "10.5.2";
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* @license
|
|
@@ -5841,16 +5841,16 @@ class BloomFilter {
|
|
|
5841
5841
|
throw new __PRIVATE_BloomFilterError(`Invalid padding when bitmap length is 0: ${t}`);
|
|
5842
5842
|
this.Te = 8 * e.length - t,
|
|
5843
5843
|
// Set the bit count in Integer to avoid repetition in mightContain().
|
|
5844
|
-
this.
|
|
5844
|
+
this.Ee = webchannelWrapper.Integer.fromNumber(this.Te);
|
|
5845
5845
|
}
|
|
5846
5846
|
// Calculate the ith hash value based on the hashed 64bit integers,
|
|
5847
5847
|
// and calculate its corresponding bit index in the bitmap to be checked.
|
|
5848
|
-
|
|
5848
|
+
de(e, t, n) {
|
|
5849
5849
|
// Calculate hashed value h(i) = h1 + (i * h2).
|
|
5850
5850
|
let r = e.add(t.multiply(webchannelWrapper.Integer.fromNumber(n)));
|
|
5851
5851
|
// Wrap if hash value overflow 64bit.
|
|
5852
5852
|
return 1 === r.compare(he) && (r = new webchannelWrapper.Integer([ r.getBits(0), r.getBits(1) ], 0)),
|
|
5853
|
-
r.modulo(this.
|
|
5853
|
+
r.modulo(this.Ee).toNumber();
|
|
5854
5854
|
}
|
|
5855
5855
|
// Return whether the bit on the given index in the bitmap is set to 1.
|
|
5856
5856
|
Ae(e) {
|
|
@@ -5861,7 +5861,7 @@ class BloomFilter {
|
|
|
5861
5861
|
if (0 === this.Te) return !1;
|
|
5862
5862
|
const t = __PRIVATE_getMd5HashValue(e), [n, r] = __PRIVATE_get64BitUints(t);
|
|
5863
5863
|
for (let e = 0; e < this.hashCount; e++) {
|
|
5864
|
-
const t = this.
|
|
5864
|
+
const t = this.de(n, r, e);
|
|
5865
5865
|
if (!this.Ae(t)) return !1;
|
|
5866
5866
|
}
|
|
5867
5867
|
return !0;
|
|
@@ -5874,7 +5874,7 @@ class BloomFilter {
|
|
|
5874
5874
|
if (0 === this.Te) return;
|
|
5875
5875
|
const t = __PRIVATE_getMd5HashValue(e), [n, r] = __PRIVATE_get64BitUints(t);
|
|
5876
5876
|
for (let e = 0; e < this.hashCount; e++) {
|
|
5877
|
-
const t = this.
|
|
5877
|
+
const t = this.de(n, r, e);
|
|
5878
5878
|
this.Re(t);
|
|
5879
5879
|
}
|
|
5880
5880
|
}
|
|
@@ -7587,18 +7587,18 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7587
7587
|
}
|
|
7588
7588
|
Pt(e, t) {
|
|
7589
7589
|
if ("nullValue" in e) this.Tt(t, 5); else if ("booleanValue" in e) this.Tt(t, 10),
|
|
7590
|
-
t.
|
|
7590
|
+
t.Et(e.booleanValue ? 1 : 0); else if ("integerValue" in e) this.Tt(t, 15), t.Et(__PRIVATE_normalizeNumber(e.integerValue)); else if ("doubleValue" in e) {
|
|
7591
7591
|
const n = __PRIVATE_normalizeNumber(e.doubleValue);
|
|
7592
7592
|
isNaN(n) ? this.Tt(t, 13) : (this.Tt(t, 15), __PRIVATE_isNegativeZero(n) ?
|
|
7593
7593
|
// -0.0, 0 and 0.0 are all considered the same
|
|
7594
|
-
t.
|
|
7594
|
+
t.Et(0) : t.Et(n));
|
|
7595
7595
|
} else if ("timestampValue" in e) {
|
|
7596
7596
|
const n = e.timestampValue;
|
|
7597
|
-
this.Tt(t, 20), "string" == typeof n ? t.
|
|
7597
|
+
this.Tt(t, 20), "string" == typeof n ? t.dt(n) : (t.dt(`${n.seconds || ""}`), t.Et(n.nanos || 0));
|
|
7598
7598
|
} else if ("stringValue" in e) this.At(e.stringValue, t), this.Rt(t); else if ("bytesValue" in e) this.Tt(t, 30),
|
|
7599
7599
|
t.Vt(__PRIVATE_normalizeByteString(e.bytesValue)), this.Rt(t); else if ("referenceValue" in e) this.ft(e.referenceValue, t); else if ("geoPointValue" in e) {
|
|
7600
7600
|
const n = e.geoPointValue;
|
|
7601
|
-
this.Tt(t, 45), t.
|
|
7601
|
+
this.Tt(t, 45), t.Et(n.latitude || 0), t.Et(n.longitude || 0);
|
|
7602
7602
|
} else "mapValue" in e ? __PRIVATE_isMaxValue(e) ? this.Tt(t, Number.MAX_SAFE_INTEGER) : (this.gt(e.mapValue, t),
|
|
7603
7603
|
this.Rt(t)) : "arrayValue" in e ? (this.yt(e.arrayValue, t), this.Rt(t)) : fail();
|
|
7604
7604
|
}
|
|
@@ -7606,7 +7606,7 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7606
7606
|
this.Tt(t, 25), this.wt(e, t);
|
|
7607
7607
|
}
|
|
7608
7608
|
wt(e, t) {
|
|
7609
|
-
t.
|
|
7609
|
+
t.dt(e);
|
|
7610
7610
|
}
|
|
7611
7611
|
gt(e, t) {
|
|
7612
7612
|
const n = e.fields || {};
|
|
@@ -7625,13 +7625,13 @@ class __PRIVATE_FirestoreIndexValueWriter {
|
|
|
7625
7625
|
}));
|
|
7626
7626
|
}
|
|
7627
7627
|
Tt(e, t) {
|
|
7628
|
-
e.
|
|
7628
|
+
e.Et(t);
|
|
7629
7629
|
}
|
|
7630
7630
|
Rt(e) {
|
|
7631
7631
|
// While the SDK does not implement truncation, the truncation marker is
|
|
7632
7632
|
// used to terminate all variable length values (which are strings, bytes,
|
|
7633
7633
|
// references, arrays and maps).
|
|
7634
|
-
e.
|
|
7634
|
+
e.Et(2);
|
|
7635
7635
|
}
|
|
7636
7636
|
}
|
|
7637
7637
|
|
|
@@ -7818,10 +7818,10 @@ class __PRIVATE_AscendingIndexByteEncoder {
|
|
|
7818
7818
|
Vt(e) {
|
|
7819
7819
|
this.Wt.bt(e);
|
|
7820
7820
|
}
|
|
7821
|
-
|
|
7821
|
+
dt(e) {
|
|
7822
7822
|
this.Wt.xt(e);
|
|
7823
7823
|
}
|
|
7824
|
-
|
|
7824
|
+
Et(e) {
|
|
7825
7825
|
this.Wt.Nt(e);
|
|
7826
7826
|
}
|
|
7827
7827
|
It() {
|
|
@@ -7836,10 +7836,10 @@ class __PRIVATE_DescendingIndexByteEncoder {
|
|
|
7836
7836
|
Vt(e) {
|
|
7837
7837
|
this.Wt.vt(e);
|
|
7838
7838
|
}
|
|
7839
|
-
|
|
7839
|
+
dt(e) {
|
|
7840
7840
|
this.Wt.Ot(e);
|
|
7841
7841
|
}
|
|
7842
|
-
|
|
7842
|
+
Et(e) {
|
|
7843
7843
|
this.Wt.kt(e);
|
|
7844
7844
|
}
|
|
7845
7845
|
It() {
|
|
@@ -8356,7 +8356,7 @@ function __PRIVATE_applyDistributionFieldAndCompositeFilters(e, t) {
|
|
|
8356
8356
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8357
8357
|
* See the License for the specific language governing permissions and
|
|
8358
8358
|
* limitations under the License.
|
|
8359
|
-
*/ const
|
|
8359
|
+
*/ const Ee = new Uint8Array(0);
|
|
8360
8360
|
|
|
8361
8361
|
/**
|
|
8362
8362
|
* A persisted implementation of IndexManager.
|
|
@@ -8570,7 +8570,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8570
8570
|
// combined with the values from the query bounds.
|
|
8571
8571
|
const _ = (null != t ? t.length : 1) * Math.max(n.length, i.length), a = _ / (null != t ? t.length : 1), u = [];
|
|
8572
8572
|
for (let c = 0; c < _; ++c) {
|
|
8573
|
-
const _ = t ? this.In(t[c / a]) :
|
|
8573
|
+
const _ = t ? this.In(t[c / a]) : Ee, l = this.Tn(e, _, n[c % a], r), h = this.En(e, _, i[c % a], s), P = o.map((t => this.Tn(e, _, t,
|
|
8574
8574
|
/* inclusive= */ !0)));
|
|
8575
8575
|
u.push(...this.createRange(l, h, P));
|
|
8576
8576
|
}
|
|
@@ -8580,7 +8580,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8580
8580
|
const i = new __PRIVATE_IndexEntry(e, DocumentKey.empty(), t, n);
|
|
8581
8581
|
return r ? i : i.Ht();
|
|
8582
8582
|
}
|
|
8583
|
-
/** Generates the upper bound for `arrayValue` and `directionalValue`. */
|
|
8583
|
+
/** Generates the upper bound for `arrayValue` and `directionalValue`. */ En(e, t, n, r) {
|
|
8584
8584
|
const i = new __PRIVATE_IndexEntry(e, DocumentKey.empty(), t, n);
|
|
8585
8585
|
return r ? i.Ht() : i;
|
|
8586
8586
|
}
|
|
@@ -8628,7 +8628,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8628
8628
|
* Returns the byte encoded form of the directional values in the field index.
|
|
8629
8629
|
* Returns `null` if the document does not have all fields specified in the
|
|
8630
8630
|
* index.
|
|
8631
|
-
*/
|
|
8631
|
+
*/ dn(e, t) {
|
|
8632
8632
|
const n = new __PRIVATE_IndexByteEncoder;
|
|
8633
8633
|
for (const r of __PRIVATE_fieldIndexGetDirectionalSegments(e)) {
|
|
8634
8634
|
const e = t.data.field(r.fieldPath);
|
|
@@ -8761,13 +8761,13 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8761
8761
|
}
|
|
8762
8762
|
/** Creates the index entries for the given document. */ pn(e, t) {
|
|
8763
8763
|
let n = new SortedSet(__PRIVATE_indexEntryComparator);
|
|
8764
|
-
const r = this.
|
|
8764
|
+
const r = this.dn(t, e);
|
|
8765
8765
|
if (null == r) return n;
|
|
8766
8766
|
const i = __PRIVATE_fieldIndexGetArraySegment(t);
|
|
8767
8767
|
if (null != i) {
|
|
8768
8768
|
const s = e.data.field(i.fieldPath);
|
|
8769
8769
|
if (isArray(s)) for (const i of s.arrayValue.values || []) n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, this.In(i), r));
|
|
8770
|
-
} else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key,
|
|
8770
|
+
} else n = n.add(new __PRIVATE_IndexEntry(t.indexId, e.key, Ee, r));
|
|
8771
8771
|
return n;
|
|
8772
8772
|
}
|
|
8773
8773
|
/**
|
|
@@ -8842,7 +8842,7 @@ class __PRIVATE_IndexedDbIndexManager {
|
|
|
8842
8842
|
// If we encounter two bounds that will create an unmatchable key range,
|
|
8843
8843
|
// then we return an empty set of key ranges.
|
|
8844
8844
|
if (this.bn(r[e], r[e + 1])) return [];
|
|
8845
|
-
const t = [ r[e].indexId, this.uid, r[e].arrayValue, r[e].directionalValue,
|
|
8845
|
+
const t = [ r[e].indexId, this.uid, r[e].arrayValue, r[e].directionalValue, Ee, [] ], n = [ r[e + 1].indexId, this.uid, r[e + 1].arrayValue, r[e + 1].directionalValue, Ee, [] ];
|
|
8846
8846
|
i.push(IDBKeyRange.bound(t, n));
|
|
8847
8847
|
}
|
|
8848
8848
|
return i;
|
|
@@ -8910,7 +8910,7 @@ function __PRIVATE_getMinOffsetFromFieldIndexes(e) {
|
|
|
8910
8910
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8911
8911
|
* See the License for the specific language governing permissions and
|
|
8912
8912
|
* limitations under the License.
|
|
8913
|
-
*/ const
|
|
8913
|
+
*/ const de = {
|
|
8914
8914
|
didRun: !1,
|
|
8915
8915
|
sequenceNumbersCollected: 0,
|
|
8916
8916
|
targetsRemoved: 0,
|
|
@@ -9643,8 +9643,8 @@ class __PRIVATE_TargetIdGenerator {
|
|
|
9643
9643
|
}
|
|
9644
9644
|
collect(e, t) {
|
|
9645
9645
|
return -1 === this.params.cacheSizeCollectionThreshold ? (__PRIVATE_logDebug("LruGarbageCollector", "Garbage collection skipped; disabled"),
|
|
9646
|
-
PersistencePromise.resolve(
|
|
9647
|
-
|
|
9646
|
+
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}`),
|
|
9647
|
+
de) : this.Jn(e, t)));
|
|
9648
9648
|
}
|
|
9649
9649
|
getCacheSize(e) {
|
|
9650
9650
|
return this.zn.getCacheSize(e);
|
|
@@ -10695,14 +10695,14 @@ class OverlayedDocument {
|
|
|
10695
10695
|
const n = new __PRIVATE_DocReference(e, t);
|
|
10696
10696
|
this.hr = this.hr.add(n), this.Ir = this.Ir.add(n);
|
|
10697
10697
|
}
|
|
10698
|
-
/** Add references to the given document keys for the given ID. */
|
|
10698
|
+
/** Add references to the given document keys for the given ID. */ Er(e, t) {
|
|
10699
10699
|
e.forEach((e => this.addReference(e, t)));
|
|
10700
10700
|
}
|
|
10701
10701
|
/**
|
|
10702
10702
|
* Removes a reference to the given document key for the given
|
|
10703
10703
|
* ID.
|
|
10704
10704
|
*/ removeReference(e, t) {
|
|
10705
|
-
this.
|
|
10705
|
+
this.dr(new __PRIVATE_DocReference(e, t));
|
|
10706
10706
|
}
|
|
10707
10707
|
Ar(e, t) {
|
|
10708
10708
|
e.forEach((e => this.removeReference(e, t)));
|
|
@@ -10713,13 +10713,13 @@ class OverlayedDocument {
|
|
|
10713
10713
|
*/ Rr(e) {
|
|
10714
10714
|
const t = new DocumentKey(new ResourcePath([])), n = new __PRIVATE_DocReference(t, e), r = new __PRIVATE_DocReference(t, e + 1), i = [];
|
|
10715
10715
|
return this.Ir.forEachInRange([ n, r ], (e => {
|
|
10716
|
-
this.
|
|
10716
|
+
this.dr(e), i.push(e.key);
|
|
10717
10717
|
})), i;
|
|
10718
10718
|
}
|
|
10719
10719
|
Vr() {
|
|
10720
|
-
this.hr.forEach((e => this.
|
|
10720
|
+
this.hr.forEach((e => this.dr(e)));
|
|
10721
10721
|
}
|
|
10722
|
-
|
|
10722
|
+
dr(e) {
|
|
10723
10723
|
this.hr = this.hr.delete(e), this.Ir = this.Ir.delete(e);
|
|
10724
10724
|
}
|
|
10725
10725
|
mr(e) {
|
|
@@ -11121,7 +11121,7 @@ class __PRIVATE_MemoryRemoteDocumentChangeBuffer extends RemoteDocumentChangeBuf
|
|
|
11121
11121
|
return PersistencePromise.resolve(n);
|
|
11122
11122
|
}
|
|
11123
11123
|
addMatchingKeys(e, t, n) {
|
|
11124
|
-
return this.Or.
|
|
11124
|
+
return this.Or.Er(t, n), PersistencePromise.resolve();
|
|
11125
11125
|
}
|
|
11126
11126
|
removeMatchingKeys(e, t, n) {
|
|
11127
11127
|
this.Or.Ar(t, n);
|
|
@@ -11740,7 +11740,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11740
11740
|
this.serializer = new __PRIVATE_LocalSerializer(_), this.Ti = new __PRIVATE_SimpleDb(this.Ii, this.ai, new __PRIVATE_SchemaConverter(this.serializer)),
|
|
11741
11741
|
this.qr = new __PRIVATE_IndexedDbTargetCache(this.referenceDelegate, this.serializer),
|
|
11742
11742
|
this.remoteDocumentCache = __PRIVATE_newIndexedDbRemoteDocumentCache(this.serializer),
|
|
11743
|
-
this.Kr = new __PRIVATE_IndexedDbBundleCache, this.window && this.window.localStorage ? this.
|
|
11743
|
+
this.Kr = new __PRIVATE_IndexedDbBundleCache, this.window && this.window.localStorage ? this.Ei = this.window.localStorage : (this.Ei = null,
|
|
11744
11744
|
!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."));
|
|
11745
11745
|
}
|
|
11746
11746
|
/**
|
|
@@ -11751,7 +11751,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11751
11751
|
// NOTE: This is expected to fail sometimes (in the case of another tab
|
|
11752
11752
|
// already having the persistence lock), so it's the first thing we should
|
|
11753
11753
|
// do.
|
|
11754
|
-
return this.
|
|
11754
|
+
return this.di().then((() => {
|
|
11755
11755
|
if (!this.isPrimary && !this.allowTabSynchronization)
|
|
11756
11756
|
// Fail `start()` if `synchronizeTabs` is disabled and we cannot
|
|
11757
11757
|
// obtain the primary lease.
|
|
@@ -11795,7 +11795,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11795
11795
|
// Schedule a primary lease refresh for immediate execution. The eventual
|
|
11796
11796
|
// lease update will be propagated via `primaryStateListener`.
|
|
11797
11797
|
this.si.enqueueAndForget((async () => {
|
|
11798
|
-
this.started && await this.
|
|
11798
|
+
this.started && await this.di();
|
|
11799
11799
|
})));
|
|
11800
11800
|
}
|
|
11801
11801
|
/**
|
|
@@ -11803,7 +11803,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11803
11803
|
* extend the primary lease for the local client. Asynchronously notifies the
|
|
11804
11804
|
* primary state listener if the client either newly obtained or released its
|
|
11805
11805
|
* primary lease.
|
|
11806
|
-
*/
|
|
11806
|
+
*/ di() {
|
|
11807
11807
|
return this.runTransaction("updateClientMetadataAndTryBecomePrimary", "readwrite", (e => __PRIVATE_clientMetadataStore(e).put({
|
|
11808
11808
|
clientId: this.clientId,
|
|
11809
11809
|
updateTimeMs: Date.now(),
|
|
@@ -11852,14 +11852,14 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
11852
11852
|
// Ideally we'd delete the IndexedDb and LocalStorage zombie entries for
|
|
11853
11853
|
// the client atomically, but we can't. So we opt to delete the IndexedDb
|
|
11854
11854
|
// entries first to avoid potentially reviving a zombied client.
|
|
11855
|
-
if (this.
|
|
11855
|
+
if (this.Ei) for (const t of e) this.Ei.removeItem(this.vi(t.clientId));
|
|
11856
11856
|
}
|
|
11857
11857
|
}
|
|
11858
11858
|
/**
|
|
11859
11859
|
* Schedules a recurring timer to update the client metadata and to either
|
|
11860
11860
|
* extend or acquire the primary lease if the client is eligible.
|
|
11861
11861
|
*/ Vi() {
|
|
11862
|
-
this.li = this.si.enqueueAfterDelay("client_metadata_refresh" /* TimerId.ClientMetadataRefresh */ , 4e3, (() => this.
|
|
11862
|
+
this.li = this.si.enqueueAfterDelay("client_metadata_refresh" /* TimerId.ClientMetadataRefresh */ , 4e3, (() => this.di().then((() => this.bi())).then((() => this.Vi()))));
|
|
11863
11863
|
}
|
|
11864
11864
|
/** Checks whether `client` is the local client. */ wi(e) {
|
|
11865
11865
|
return !!e && e.ownerId === this.clientId;
|
|
@@ -12018,7 +12018,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12018
12018
|
Ai() {
|
|
12019
12019
|
null !== this.document && "function" == typeof this.document.addEventListener && (this.ci = () => {
|
|
12020
12020
|
this.si.enqueueAndForget((() => (this.inForeground = "visible" === this.document.visibilityState,
|
|
12021
|
-
this.
|
|
12021
|
+
this.di())));
|
|
12022
12022
|
}, this.document.addEventListener("visibilitychange", this.ci), this.inForeground = "visible" === this.document.visibilityState);
|
|
12023
12023
|
}
|
|
12024
12024
|
xi() {
|
|
@@ -12059,7 +12059,7 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12059
12059
|
*/ Fi(e) {
|
|
12060
12060
|
var t;
|
|
12061
12061
|
try {
|
|
12062
|
-
const n = null !== (null === (t = this.
|
|
12062
|
+
const n = null !== (null === (t = this.Ei) || void 0 === t ? void 0 : t.getItem(this.vi(e)));
|
|
12063
12063
|
return __PRIVATE_logDebug("IndexedDbPersistence", `Client '${e}' ${n ? "is" : "is not"} zombied in LocalStorage`),
|
|
12064
12064
|
n;
|
|
12065
12065
|
} catch (e) {
|
|
@@ -12072,16 +12072,16 @@ class __PRIVATE_IndexedDbPersistence {
|
|
|
12072
12072
|
* Record client as zombied (a client that had its tab closed). Zombied
|
|
12073
12073
|
* clients are ignored during primary tab selection.
|
|
12074
12074
|
*/ Mi() {
|
|
12075
|
-
if (this.
|
|
12076
|
-
this.
|
|
12075
|
+
if (this.Ei) try {
|
|
12076
|
+
this.Ei.setItem(this.vi(this.clientId), String(Date.now()));
|
|
12077
12077
|
} catch (e) {
|
|
12078
12078
|
// Gracefully handle if LocalStorage isn't available / working.
|
|
12079
12079
|
__PRIVATE_logError("Failed to set zombie client id.", e);
|
|
12080
12080
|
}
|
|
12081
12081
|
}
|
|
12082
12082
|
/** Removes the zombied client entry if it exists. */ Ni() {
|
|
12083
|
-
if (this.
|
|
12084
|
-
this.
|
|
12083
|
+
if (this.Ei) try {
|
|
12084
|
+
this.Ei.removeItem(this.vi(this.clientId));
|
|
12085
12085
|
} catch (e) {
|
|
12086
12086
|
// Ignore
|
|
12087
12087
|
}
|
|
@@ -12895,7 +12895,7 @@ class __PRIVATE_MutationMetadata {
|
|
|
12895
12895
|
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}`),
|
|
12896
12896
|
null);
|
|
12897
12897
|
}
|
|
12898
|
-
|
|
12898
|
+
Es() {
|
|
12899
12899
|
const e = {
|
|
12900
12900
|
state: this.state,
|
|
12901
12901
|
updateTimeMs: Date.now()
|
|
@@ -12926,7 +12926,7 @@ class __PRIVATE_QueryTargetMetadata {
|
|
|
12926
12926
|
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}`),
|
|
12927
12927
|
null);
|
|
12928
12928
|
}
|
|
12929
|
-
|
|
12929
|
+
Es() {
|
|
12930
12930
|
const e = {
|
|
12931
12931
|
state: this.state,
|
|
12932
12932
|
updateTimeMs: Date.now()
|
|
@@ -12991,7 +12991,7 @@ class __PRIVATE_LocalClientState {
|
|
|
12991
12991
|
constructor() {
|
|
12992
12992
|
this.activeTargetIds = __PRIVATE_targetIdSet();
|
|
12993
12993
|
}
|
|
12994
|
-
|
|
12994
|
+
ds(e) {
|
|
12995
12995
|
this.activeTargetIds = this.activeTargetIds.add(e);
|
|
12996
12996
|
}
|
|
12997
12997
|
As(e) {
|
|
@@ -13000,7 +13000,7 @@ class __PRIVATE_LocalClientState {
|
|
|
13000
13000
|
/**
|
|
13001
13001
|
* Converts this entry into a JSON-encoded format we can use for WebStorage.
|
|
13002
13002
|
* Does not encode `clientId` as it is part of the key in WebStorage.
|
|
13003
|
-
*/
|
|
13003
|
+
*/ Es() {
|
|
13004
13004
|
const e = {
|
|
13005
13005
|
activeTargetIds: this.activeTargetIds.toArray(),
|
|
13006
13006
|
updateTimeMs: Date.now()
|
|
@@ -13135,7 +13135,7 @@ class __PRIVATE_LocalClientState {
|
|
|
13135
13135
|
r && (t = r.state);
|
|
13136
13136
|
}
|
|
13137
13137
|
}
|
|
13138
|
-
return this.Ls.
|
|
13138
|
+
return this.Ls.ds(e), this.Fs(), t;
|
|
13139
13139
|
}
|
|
13140
13140
|
removeLocalQueryTarget(e) {
|
|
13141
13141
|
this.Ls.As(e), this.Fs();
|
|
@@ -13237,11 +13237,11 @@ class __PRIVATE_LocalClientState {
|
|
|
13237
13237
|
return this.gs.get(this.Rs);
|
|
13238
13238
|
}
|
|
13239
13239
|
Fs() {
|
|
13240
|
-
this.setItem(this.ys, this.Ls.
|
|
13240
|
+
this.setItem(this.ys, this.Ls.Es());
|
|
13241
13241
|
}
|
|
13242
13242
|
Ns(e, t, n) {
|
|
13243
13243
|
const r = new __PRIVATE_MutationMetadata(this.currentUser, e, t, n), i = createWebStorageMutationBatchKey(this.persistenceKey, this.currentUser, e);
|
|
13244
|
-
this.setItem(i, r.
|
|
13244
|
+
this.setItem(i, r.Es());
|
|
13245
13245
|
}
|
|
13246
13246
|
Bs(e) {
|
|
13247
13247
|
const t = createWebStorageMutationBatchKey(this.persistenceKey, this.currentUser, e);
|
|
@@ -13256,7 +13256,7 @@ class __PRIVATE_LocalClientState {
|
|
|
13256
13256
|
}
|
|
13257
13257
|
ks(e, t, n) {
|
|
13258
13258
|
const r = createWebStorageQueryTargetMetadataKey(this.persistenceKey, e), i = new __PRIVATE_QueryTargetMetadata(e, t, n);
|
|
13259
|
-
this.setItem(r, i.
|
|
13259
|
+
this.setItem(r, i.Es());
|
|
13260
13260
|
}
|
|
13261
13261
|
Qs(e) {
|
|
13262
13262
|
const t = JSON.stringify(Array.from(e));
|
|
@@ -13344,7 +13344,7 @@ class __PRIVATE_MemorySharedClientState {
|
|
|
13344
13344
|
// No op.
|
|
13345
13345
|
}
|
|
13346
13346
|
addLocalQueryTarget(e) {
|
|
13347
|
-
return this.eo.
|
|
13347
|
+
return this.eo.ds(e), this.no[e] || "not-current";
|
|
13348
13348
|
}
|
|
13349
13349
|
updateQueryState(e, t, n) {
|
|
13350
13350
|
this.no[e] = t;
|
|
@@ -14352,7 +14352,7 @@ class __PRIVATE_PersistentStream {
|
|
|
14352
14352
|
* Sends an initial streamToken to the server, performing the handshake
|
|
14353
14353
|
* required to make the StreamingWrite RPC work. Subsequent
|
|
14354
14354
|
* calls should wait until onHandshakeComplete was called.
|
|
14355
|
-
*/
|
|
14355
|
+
*/ E_() {
|
|
14356
14356
|
// TODO(dimond): Support stream resumption. We intentionally do not set the
|
|
14357
14357
|
// stream token on the handshake, ignoring any stream token we might have.
|
|
14358
14358
|
const e = {};
|
|
@@ -14395,10 +14395,10 @@ class __PRIVATE_PersistentStream {
|
|
|
14395
14395
|
class __PRIVATE_DatastoreImpl extends class Datastore {} {
|
|
14396
14396
|
constructor(e, t, n, r) {
|
|
14397
14397
|
super(), this.authCredentials = e, this.appCheckCredentials = t, this.connection = n,
|
|
14398
|
-
this.serializer = r, this.
|
|
14398
|
+
this.serializer = r, this.d_ = !1;
|
|
14399
14399
|
}
|
|
14400
14400
|
A_() {
|
|
14401
|
-
if (this.
|
|
14401
|
+
if (this.d_) throw new FirestoreError(C.FAILED_PRECONDITION, "The client has already been terminated.");
|
|
14402
14402
|
}
|
|
14403
14403
|
/** Invokes the provided RPC with auth and AppCheck tokens. */ wo(e, t, n) {
|
|
14404
14404
|
return this.A_(), Promise.all([ this.authCredentials.getToken(), this.appCheckCredentials.getToken() ]).then((([r, i]) => this.connection.wo(e, t, n, r, i))).catch((e => {
|
|
@@ -14413,7 +14413,7 @@ class __PRIVATE_DatastoreImpl extends class Datastore {} {
|
|
|
14413
14413
|
}));
|
|
14414
14414
|
}
|
|
14415
14415
|
terminate() {
|
|
14416
|
-
this.
|
|
14416
|
+
this.d_ = !0;
|
|
14417
14417
|
}
|
|
14418
14418
|
}
|
|
14419
14419
|
|
|
@@ -14873,7 +14873,7 @@ function __PRIVATE_startWriteStream(e) {
|
|
|
14873
14873
|
}
|
|
14874
14874
|
|
|
14875
14875
|
async function __PRIVATE_onWriteStreamOpen(e) {
|
|
14876
|
-
__PRIVATE_ensureWriteStream(e).
|
|
14876
|
+
__PRIVATE_ensureWriteStream(e).E_();
|
|
14877
14877
|
}
|
|
14878
14878
|
|
|
14879
14879
|
async function __PRIVATE_onWriteHandshakeComplete(e) {
|
|
@@ -15800,7 +15800,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15800
15800
|
}
|
|
15801
15801
|
/**
|
|
15802
15802
|
* Returns whether the doc for the given key should be in limbo.
|
|
15803
|
-
*/
|
|
15803
|
+
*/ Ea(e) {
|
|
15804
15804
|
// If the remote end says it's part of this query, it's not in limbo.
|
|
15805
15805
|
return !this.ia.has(e) && (
|
|
15806
15806
|
// The local store doesn't think it's a result, so it shouldn't be in limbo.
|
|
@@ -15820,7 +15820,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15820
15820
|
// updating many documents.
|
|
15821
15821
|
const e = this.oa;
|
|
15822
15822
|
this.oa = __PRIVATE_documentKeySet(), this.aa.forEach((e => {
|
|
15823
|
-
this.
|
|
15823
|
+
this.Ea(e.key) && (this.oa = this.oa.add(e.key));
|
|
15824
15824
|
}));
|
|
15825
15825
|
// Diff the new limbo docs with the old limbo docs.
|
|
15826
15826
|
const t = [];
|
|
@@ -15850,7 +15850,7 @@ class __PRIVATE_RemovedLimboDocument {
|
|
|
15850
15850
|
* @returns The ViewChange that resulted from this synchronization.
|
|
15851
15851
|
*/
|
|
15852
15852
|
// PORTING NOTE: Multi-tab only.
|
|
15853
|
-
|
|
15853
|
+
da(e) {
|
|
15854
15854
|
this.ia = e.ls, this.oa = __PRIVATE_documentKeySet();
|
|
15855
15855
|
const t = this.ca(e.documents);
|
|
15856
15856
|
return this.applyChanges(t, /*updateLimboDocuments=*/ !0);
|
|
@@ -16405,7 +16405,7 @@ function __PRIVATE_syncEngineGetRemoteKeysForTarget(e, t) {
|
|
|
16405
16405
|
* from persistence.
|
|
16406
16406
|
*/ async function __PRIVATE_synchronizeViewAndComputeSnapshot(e, t) {
|
|
16407
16407
|
const n = __PRIVATE_debugCast(e), r = await __PRIVATE_localStoreExecuteQuery(n.localStore, t.query,
|
|
16408
|
-
/* usePreviousResults= */ !0), i = t.view.
|
|
16408
|
+
/* usePreviousResults= */ !0), i = t.view.da(r);
|
|
16409
16409
|
return n.isPrimaryClient && __PRIVATE_updateTrackedLimbos(n, t.targetId, i.Ta),
|
|
16410
16410
|
i;
|
|
16411
16411
|
}
|
|
@@ -19274,11 +19274,11 @@ function __PRIVATE_isWrite(e) {
|
|
|
19274
19274
|
/** Returns a new context with the specified settings overwritten. */ Tu(e) {
|
|
19275
19275
|
return new __PRIVATE_ParseContextImpl(Object.assign(Object.assign({}, this.settings), e), this.databaseId, this.serializer, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
|
|
19276
19276
|
}
|
|
19277
|
-
|
|
19277
|
+
Eu(e) {
|
|
19278
19278
|
var t;
|
|
19279
19279
|
const n = null === (t = this.path) || void 0 === t ? void 0 : t.child(e), r = this.Tu({
|
|
19280
19280
|
path: n,
|
|
19281
|
-
|
|
19281
|
+
du: !1
|
|
19282
19282
|
});
|
|
19283
19283
|
return r.Au(e), r;
|
|
19284
19284
|
}
|
|
@@ -19286,7 +19286,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19286
19286
|
var t;
|
|
19287
19287
|
const n = null === (t = this.path) || void 0 === t ? void 0 : t.child(e), r = this.Tu({
|
|
19288
19288
|
path: n,
|
|
19289
|
-
|
|
19289
|
+
du: !1
|
|
19290
19290
|
});
|
|
19291
19291
|
return r.Pu(), r;
|
|
19292
19292
|
}
|
|
@@ -19295,7 +19295,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19295
19295
|
// undefined.
|
|
19296
19296
|
return this.Tu({
|
|
19297
19297
|
path: void 0,
|
|
19298
|
-
|
|
19298
|
+
du: !0
|
|
19299
19299
|
});
|
|
19300
19300
|
}
|
|
19301
19301
|
mu(e) {
|
|
@@ -19328,7 +19328,7 @@ function __PRIVATE_isWrite(e) {
|
|
|
19328
19328
|
methodName: t,
|
|
19329
19329
|
gu: n,
|
|
19330
19330
|
path: FieldPath$1.emptyPath(),
|
|
19331
|
-
|
|
19331
|
+
du: !1,
|
|
19332
19332
|
fu: r
|
|
19333
19333
|
}, this.databaseId, this.serializer, this.ignoreUndefinedProperties);
|
|
19334
19334
|
}
|
|
@@ -19388,7 +19388,7 @@ class __PRIVATE_DeleteFieldValueImpl extends FieldValue {
|
|
|
19388
19388
|
Iu: 3 /* UserDataSource.Argument */ ,
|
|
19389
19389
|
gu: t.settings.gu,
|
|
19390
19390
|
methodName: e._methodName,
|
|
19391
|
-
|
|
19391
|
+
du: n
|
|
19392
19392
|
}, t.databaseId, t.serializer, t.ignoreUndefinedProperties);
|
|
19393
19393
|
}
|
|
19394
19394
|
|
|
@@ -19553,7 +19553,7 @@ class __PRIVATE_NumericIncrementFieldValueImpl extends FieldValue {
|
|
|
19553
19553
|
// the set of values to be included for the IN query) that may directly
|
|
19554
19554
|
// contain additional arrays (each representing an individual field
|
|
19555
19555
|
// value), so we disable this validation.
|
|
19556
|
-
if (t.settings.
|
|
19556
|
+
if (t.settings.du && 4 /* UserDataSource.ArrayArgument */ !== t.Iu) throw t.mu("Nested arrays are not supported");
|
|
19557
19557
|
return function __PRIVATE_parseArray(e, t) {
|
|
19558
19558
|
const n = [];
|
|
19559
19559
|
let r = 0;
|
|
@@ -19632,7 +19632,7 @@ function __PRIVATE_parseObject(e, t) {
|
|
|
19632
19632
|
// If we encounter an empty object, we explicitly add it to the update
|
|
19633
19633
|
// mask to ensure that the server creates a map entry.
|
|
19634
19634
|
t.path && t.path.length > 0 && t.fieldMask.push(t.path) : forEach(e, ((e, r) => {
|
|
19635
|
-
const i = __PRIVATE_parseData(r, t.
|
|
19635
|
+
const i = __PRIVATE_parseData(r, t.Eu(e));
|
|
19636
19636
|
null != i && (n[e] = i);
|
|
19637
19637
|
})), {
|
|
19638
19638
|
mapValue: {
|
|
@@ -21792,9 +21792,9 @@ let be = null;
|
|
|
21792
21792
|
return r = Object.assign({
|
|
21793
21793
|
useFetchStreams: t
|
|
21794
21794
|
}, r), s._setSettings(r), s;
|
|
21795
|
-
}), "PUBLIC").setMultipleInstances(!0)), app.registerVersion(S, "4.3.2
|
|
21795
|
+
}), "PUBLIC").setMultipleInstances(!0)), app.registerVersion(S, "4.3.2", e),
|
|
21796
21796
|
// BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation
|
|
21797
|
-
app.registerVersion(S, "4.3.2
|
|
21797
|
+
app.registerVersion(S, "4.3.2", "cjs2017");
|
|
21798
21798
|
}();
|
|
21799
21799
|
|
|
21800
21800
|
exports.AbstractUserDataWriter = AbstractUserDataWriter;
|