@firebase/firestore 3.4.4-canary.2dd99ae2d → 3.4.4-canary.7f959622d
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/firestore/src/core/target.d.ts +8 -4
- package/dist/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/firestore/src/local/indexeddb_schema.d.ts +121 -7
- package/dist/firestore/test/util/helpers.d.ts +1 -1
- package/dist/index.esm2017.js +2233 -2144
- package/dist/index.esm2017.js.map +1 -1
- package/dist/index.esm5.js +2964 -2912
- package/dist/index.esm5.js.map +1 -1
- package/dist/index.node.cjs.js +199 -90
- package/dist/index.node.cjs.js.map +1 -1
- package/dist/index.node.mjs +199 -90
- package/dist/index.node.mjs.map +1 -1
- package/dist/index.rn.js +2183 -2090
- package/dist/index.rn.js.map +1 -1
- package/dist/internal.d.ts +2 -2
- package/dist/lite/firestore/src/core/target.d.ts +8 -4
- package/dist/lite/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/lite/firestore/src/local/indexeddb_schema.d.ts +121 -7
- package/dist/lite/firestore/test/util/helpers.d.ts +1 -1
- package/dist/lite/index.browser.esm2017.js +301 -298
- package/dist/lite/index.browser.esm2017.js.map +1 -1
- package/dist/lite/index.browser.esm5.js +327 -326
- package/dist/lite/index.browser.esm5.js.map +1 -1
- package/dist/lite/index.node.cjs.js +36 -29
- package/dist/lite/index.node.cjs.js.map +1 -1
- package/dist/lite/index.node.mjs +36 -29
- package/dist/lite/index.node.mjs.map +1 -1
- package/dist/lite/index.rn.esm2017.js +301 -298
- package/dist/lite/index.rn.esm2017.js.map +1 -1
- package/dist/lite/internal.d.ts +2 -2
- package/dist/lite/packages/firestore/dist/lite/index.browser.esm2017.d.ts +90 -90
- package/dist/lite/packages/firestore/src/core/target.d.ts +8 -4
- package/dist/lite/packages/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/lite/packages/firestore/src/local/indexeddb_schema.d.ts +121 -7
- package/dist/lite/packages/firestore/test/util/helpers.d.ts +1 -1
- package/dist/lite/private.d.ts +2 -2
- package/dist/packages/firestore/dist/index.esm2017.d.ts +61 -61
- package/dist/packages/firestore/src/core/target.d.ts +8 -4
- package/dist/packages/firestore/src/lite-api/query.d.ts +2 -2
- package/dist/packages/firestore/src/local/indexeddb_schema.d.ts +121 -7
- package/dist/packages/firestore/test/util/helpers.d.ts +1 -1
- package/dist/private.d.ts +2 -2
- package/package.json +9 -9
|
@@ -66,7 +66,7 @@ f.MOCK_USER = new f("mock-user");
|
|
|
66
66
|
* See the License for the specific language governing permissions and
|
|
67
67
|
* limitations under the License.
|
|
68
68
|
*/
|
|
69
|
-
let d = "9.6.5-canary.
|
|
69
|
+
let d = "9.6.5-canary.7f959622d";
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* @license
|
|
@@ -2259,7 +2259,6 @@ function Zt(t, n) {
|
|
|
2259
2259
|
}
|
|
2260
2260
|
}
|
|
2261
2261
|
|
|
2262
|
-
// TODO(indexing): Change Bound.before to "inclusive"
|
|
2263
2262
|
/**
|
|
2264
2263
|
* Represents a bound of a query.
|
|
2265
2264
|
*
|
|
@@ -2275,7 +2274,7 @@ function Zt(t, n) {
|
|
|
2275
2274
|
* just after the provided values.
|
|
2276
2275
|
*/ class sn {
|
|
2277
2276
|
constructor(t, n) {
|
|
2278
|
-
this.position = t, this.
|
|
2277
|
+
this.position = t, this.inclusive = n;
|
|
2279
2278
|
}
|
|
2280
2279
|
}
|
|
2281
2280
|
|
|
@@ -2294,7 +2293,7 @@ function un(t, n) {
|
|
|
2294
2293
|
function cn(t, n) {
|
|
2295
2294
|
if (null === t) return null === n;
|
|
2296
2295
|
if (null === n) return !1;
|
|
2297
|
-
if (t.
|
|
2296
|
+
if (t.inclusive !== n.inclusive || t.position.length !== n.position.length) return !1;
|
|
2298
2297
|
for (let e = 0; e < t.position.length; e++) {
|
|
2299
2298
|
if (!qt(t.position[e], n.position[e])) return !1;
|
|
2300
2299
|
}
|
|
@@ -2400,7 +2399,7 @@ function dn(t) {
|
|
|
2400
2399
|
t.push(new on(e.field, n));
|
|
2401
2400
|
}
|
|
2402
2401
|
// We need to swap the cursors to match the now-flipped query ordering.
|
|
2403
|
-
const e = n.endAt ? new sn(n.endAt.position, !n.endAt.
|
|
2402
|
+
const e = n.endAt ? new sn(n.endAt.position, !n.endAt.inclusive) : null, r = n.startAt ? new sn(n.startAt.position, !n.startAt.inclusive) : null;
|
|
2404
2403
|
// Now return as a LimitType.First query.
|
|
2405
2404
|
n.S = Yt(n.path, n.collectionGroup, t, n.filters, n.limit, e, r);
|
|
2406
2405
|
}
|
|
@@ -2773,7 +2772,7 @@ function Ln(t, n) {
|
|
|
2773
2772
|
function kn(t, n) {
|
|
2774
2773
|
const e = function(t) {
|
|
2775
2774
|
const n = Z.fromString(t);
|
|
2776
|
-
return b(
|
|
2775
|
+
return b(Kn(n)), n;
|
|
2777
2776
|
}(n);
|
|
2778
2777
|
if (e.get(1) !== t.databaseId.projectId) throw new U(R, "Tried to deserialize key from different project: " + e.get(1) + " vs " + t.databaseId.projectId);
|
|
2779
2778
|
if (e.get(3) !== t.databaseId.database) throw new U(R, "Tried to deserialize key from different database: " + e.get(3) + " vs " + t.databaseId.database);
|
|
@@ -2820,7 +2819,7 @@ function zn(t, n) {
|
|
|
2820
2819
|
delete: Ln(t, n.key)
|
|
2821
2820
|
}; else if (n instanceof Pn) e = {
|
|
2822
2821
|
update: Mn(t, n.key, n.data),
|
|
2823
|
-
updateMask:
|
|
2822
|
+
updateMask: Hn(n.fieldMask)
|
|
2824
2823
|
}; else {
|
|
2825
2824
|
if (!(n instanceof Nn)) return v();
|
|
2826
2825
|
e = {
|
|
@@ -2878,34 +2877,34 @@ function Qn(t, n) {
|
|
|
2878
2877
|
if ("==" /* EQUAL */ === t.op) {
|
|
2879
2878
|
if (Mt(t.value)) return {
|
|
2880
2879
|
unaryFilter: {
|
|
2881
|
-
field:
|
|
2880
|
+
field: Yn(t.field),
|
|
2882
2881
|
op: "IS_NAN"
|
|
2883
2882
|
}
|
|
2884
2883
|
};
|
|
2885
2884
|
if (jt(t.value)) return {
|
|
2886
2885
|
unaryFilter: {
|
|
2887
|
-
field:
|
|
2886
|
+
field: Yn(t.field),
|
|
2888
2887
|
op: "IS_NULL"
|
|
2889
2888
|
}
|
|
2890
2889
|
};
|
|
2891
2890
|
} else if ("!=" /* NOT_EQUAL */ === t.op) {
|
|
2892
2891
|
if (Mt(t.value)) return {
|
|
2893
2892
|
unaryFilter: {
|
|
2894
|
-
field:
|
|
2893
|
+
field: Yn(t.field),
|
|
2895
2894
|
op: "IS_NOT_NAN"
|
|
2896
2895
|
}
|
|
2897
2896
|
};
|
|
2898
2897
|
if (jt(t.value)) return {
|
|
2899
2898
|
unaryFilter: {
|
|
2900
|
-
field:
|
|
2899
|
+
field: Yn(t.field),
|
|
2901
2900
|
op: "IS_NOT_NULL"
|
|
2902
2901
|
}
|
|
2903
2902
|
};
|
|
2904
2903
|
}
|
|
2905
2904
|
return {
|
|
2906
2905
|
fieldFilter: {
|
|
2907
|
-
field:
|
|
2908
|
-
op:
|
|
2906
|
+
field: Yn(t.field),
|
|
2907
|
+
op: Wn(t.op),
|
|
2909
2908
|
value: t.value
|
|
2910
2909
|
}
|
|
2911
2910
|
};
|
|
@@ -2925,8 +2924,8 @@ function Qn(t, n) {
|
|
|
2925
2924
|
// visible for testing
|
|
2926
2925
|
function(t) {
|
|
2927
2926
|
return {
|
|
2928
|
-
field:
|
|
2929
|
-
direction:
|
|
2927
|
+
field: Yn(t.field),
|
|
2928
|
+
direction: Gn(t.dir)
|
|
2930
2929
|
};
|
|
2931
2930
|
}(t)));
|
|
2932
2931
|
}(n.orderBy);
|
|
@@ -2936,41 +2935,43 @@ function Qn(t, n) {
|
|
|
2936
2935
|
value: n
|
|
2937
2936
|
};
|
|
2938
2937
|
}(t, n.limit);
|
|
2939
|
-
|
|
2940
|
-
|
|
2938
|
+
var u;
|
|
2939
|
+
return null !== o && (e.structuredQuery.limit = o), n.startAt && (e.structuredQuery.startAt = {
|
|
2940
|
+
before: (u = n.startAt).inclusive,
|
|
2941
|
+
values: u.position
|
|
2942
|
+
}), n.endAt && (e.structuredQuery.endAt = function(t) {
|
|
2943
|
+
return {
|
|
2944
|
+
before: !t.inclusive,
|
|
2945
|
+
values: t.position
|
|
2946
|
+
};
|
|
2947
|
+
}
|
|
2948
|
+
// visible for testing
|
|
2949
|
+
(n.endAt)), e;
|
|
2941
2950
|
}
|
|
2942
2951
|
|
|
2943
2952
|
function Gn(t) {
|
|
2944
|
-
return {
|
|
2945
|
-
before: t.before,
|
|
2946
|
-
values: t.position
|
|
2947
|
-
};
|
|
2948
|
-
}
|
|
2949
|
-
|
|
2950
|
-
// visible for testing
|
|
2951
|
-
function Wn(t) {
|
|
2952
2953
|
return Dn[t];
|
|
2953
2954
|
}
|
|
2954
2955
|
|
|
2955
2956
|
// visible for testing
|
|
2956
|
-
function
|
|
2957
|
+
function Wn(t) {
|
|
2957
2958
|
return $n[t];
|
|
2958
2959
|
}
|
|
2959
2960
|
|
|
2960
|
-
function
|
|
2961
|
+
function Yn(t) {
|
|
2961
2962
|
return {
|
|
2962
2963
|
fieldPath: t.canonicalString()
|
|
2963
2964
|
};
|
|
2964
2965
|
}
|
|
2965
2966
|
|
|
2966
|
-
function
|
|
2967
|
+
function Hn(t) {
|
|
2967
2968
|
const n = [];
|
|
2968
2969
|
return t.fields.forEach((t => n.push(t.canonicalString()))), {
|
|
2969
2970
|
fieldPaths: n
|
|
2970
2971
|
};
|
|
2971
2972
|
}
|
|
2972
2973
|
|
|
2973
|
-
function
|
|
2974
|
+
function Kn(t) {
|
|
2974
2975
|
// Resource names have at least 4 components (project ID, database ID)
|
|
2975
2976
|
return t.length >= 4 && "projects" === t.get(0) && "databases" === t.get(2);
|
|
2976
2977
|
}
|
|
@@ -2990,7 +2991,7 @@ function Jn(t) {
|
|
|
2990
2991
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
2991
2992
|
* See the License for the specific language governing permissions and
|
|
2992
2993
|
* limitations under the License.
|
|
2993
|
-
*/ function
|
|
2994
|
+
*/ function Jn(t) {
|
|
2994
2995
|
return new Sn(t, /* useProto3Json= */ !0);
|
|
2995
2996
|
}
|
|
2996
2997
|
|
|
@@ -3019,7 +3020,7 @@ function Jn(t) {
|
|
|
3019
3020
|
* base delay. This prevents clients from accidentally synchronizing their
|
|
3020
3021
|
* delays causing spikes of load to the backend.
|
|
3021
3022
|
*/
|
|
3022
|
-
class
|
|
3023
|
+
class Xn {
|
|
3023
3024
|
constructor(
|
|
3024
3025
|
/**
|
|
3025
3026
|
* The AsyncQueue to run backoff operations on.
|
|
@@ -3117,7 +3118,7 @@ class Zn {
|
|
|
3117
3118
|
* An implementation of Datastore that exposes additional state for internal
|
|
3118
3119
|
* consumption.
|
|
3119
3120
|
*/
|
|
3120
|
-
class
|
|
3121
|
+
class Zn extends class {} {
|
|
3121
3122
|
constructor(t, n, e, r) {
|
|
3122
3123
|
super(), this.authCredentials = t, this.appCheckCredentials = n, this.K = e, this.q = r,
|
|
3123
3124
|
this.J = !1;
|
|
@@ -3144,14 +3145,14 @@ class te extends class {} {
|
|
|
3144
3145
|
|
|
3145
3146
|
// TODO(firestorexp): Make sure there is only one Datastore instance per
|
|
3146
3147
|
// firestore-exp client.
|
|
3147
|
-
async function
|
|
3148
|
+
async function te(t, n) {
|
|
3148
3149
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3149
3150
|
writes: n.map((t => zn(e.q, t)))
|
|
3150
3151
|
};
|
|
3151
3152
|
await e.m("Commit", r, s);
|
|
3152
3153
|
}
|
|
3153
3154
|
|
|
3154
|
-
async function
|
|
3155
|
+
async function ne(t, n) {
|
|
3155
3156
|
const e = E(t), r = jn(e.q) + "/documents", s = {
|
|
3156
3157
|
documents: n.map((t => Ln(e.q, t)))
|
|
3157
3158
|
}, i = await e.T("BatchGetDocuments", r, s), o = new Map;
|
|
@@ -3166,7 +3167,7 @@ async function ee(t, n) {
|
|
|
3166
3167
|
})), u;
|
|
3167
3168
|
}
|
|
3168
3169
|
|
|
3169
|
-
async function
|
|
3170
|
+
async function ee(t, n) {
|
|
3170
3171
|
const e = E(t), r = Qn(e.q, mn(n));
|
|
3171
3172
|
return (await e.T("RunQuery", r.parent, {
|
|
3172
3173
|
structuredQuery: r.structuredQuery
|
|
@@ -3195,7 +3196,7 @@ async function re(t, n) {
|
|
|
3195
3196
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3196
3197
|
* See the License for the specific language governing permissions and
|
|
3197
3198
|
* limitations under the License.
|
|
3198
|
-
*/ const
|
|
3199
|
+
*/ const re = new Map;
|
|
3199
3200
|
|
|
3200
3201
|
/**
|
|
3201
3202
|
* An instance map that ensures only one Datastore exists per Firestore
|
|
@@ -3206,17 +3207,17 @@ async function re(t, n) {
|
|
|
3206
3207
|
* instance. Callers must invoke removeComponents() when the Firestore
|
|
3207
3208
|
* instance is terminated.
|
|
3208
3209
|
*/
|
|
3209
|
-
function
|
|
3210
|
+
function se(t) {
|
|
3210
3211
|
if (t._terminated) throw new U(F, "The client has already been terminated.");
|
|
3211
|
-
if (!
|
|
3212
|
+
if (!re.has(t)) {
|
|
3212
3213
|
p("ComponentProvider", "Initializing Datastore");
|
|
3213
3214
|
const i = function(t) {
|
|
3214
3215
|
return new mt(t, fetch.bind(null));
|
|
3215
3216
|
}((n = t._databaseId, e = t.app.options.appId || "", r = t._persistenceKey, s = t._freezeSettings(),
|
|
3216
|
-
new K(n, e, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o =
|
|
3217
|
-
return new
|
|
3217
|
+
new K(n, e, r, s.host, s.ssl, s.experimentalForceLongPolling, s.experimentalAutoDetectLongPolling, s.useFetchStreams))), o = Jn(t._databaseId), u = function(t, n, e, r) {
|
|
3218
|
+
return new Zn(t, n, e, r);
|
|
3218
3219
|
}(t._authCredentials, t._appCheckCredentials, i, o);
|
|
3219
|
-
|
|
3220
|
+
re.set(t, u);
|
|
3220
3221
|
}
|
|
3221
3222
|
var n, e, r, s;
|
|
3222
3223
|
/**
|
|
@@ -3234,7 +3235,7 @@ function ie(t) {
|
|
|
3234
3235
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3235
3236
|
* See the License for the specific language governing permissions and
|
|
3236
3237
|
* limitations under the License.
|
|
3237
|
-
*/ return
|
|
3238
|
+
*/ return re.get(t);
|
|
3238
3239
|
}
|
|
3239
3240
|
|
|
3240
3241
|
/**
|
|
@@ -3246,7 +3247,7 @@ function ie(t) {
|
|
|
3246
3247
|
* user-supplied `FirestoreSettings` object. This is a separate type so that
|
|
3247
3248
|
* defaults can be supplied and the value can be checked for equality.
|
|
3248
3249
|
*/
|
|
3249
|
-
class
|
|
3250
|
+
class ie {
|
|
3250
3251
|
constructor(t) {
|
|
3251
3252
|
var n;
|
|
3252
3253
|
if (void 0 === t.host) {
|
|
@@ -3288,14 +3289,14 @@ class oe {
|
|
|
3288
3289
|
* The Cloud Firestore service interface.
|
|
3289
3290
|
*
|
|
3290
3291
|
* Do not call this constructor directly. Instead, use {@link getFirestore}.
|
|
3291
|
-
*/ class
|
|
3292
|
+
*/ class oe {
|
|
3292
3293
|
/** @hideconstructor */
|
|
3293
3294
|
constructor(t, n, e) {
|
|
3294
3295
|
this._authCredentials = n, this._appCheckCredentials = e,
|
|
3295
3296
|
/**
|
|
3296
3297
|
* Whether it's a Firestore or Firestore Lite instance.
|
|
3297
3298
|
*/
|
|
3298
|
-
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new
|
|
3299
|
+
this.type = "firestore-lite", this._persistenceKey = "(lite)", this._settings = new ie({}),
|
|
3299
3300
|
this._settingsFrozen = !1, t instanceof J ? this._databaseId = t : (this._app = t,
|
|
3300
3301
|
this._databaseId = function(t) {
|
|
3301
3302
|
if (!Object.prototype.hasOwnProperty.apply(t.options, [ "projectId" ])) throw new U(R, '"projectId" not provided in firebase.initializeApp.');
|
|
@@ -3328,7 +3329,7 @@ class oe {
|
|
|
3328
3329
|
}
|
|
3329
3330
|
_setSettings(t) {
|
|
3330
3331
|
if (this._settingsFrozen) throw new U(F, "Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");
|
|
3331
|
-
this._settings = new
|
|
3332
|
+
this._settings = new ie(t), void 0 !== t.credentials && (this._authCredentials = function(t) {
|
|
3332
3333
|
if (!t) return new B;
|
|
3333
3334
|
switch (t.type) {
|
|
3334
3335
|
case "gapi":
|
|
@@ -3369,13 +3370,13 @@ class oe {
|
|
|
3369
3370
|
* Only ever called once.
|
|
3370
3371
|
*/ _terminate() {
|
|
3371
3372
|
return function(t) {
|
|
3372
|
-
const n =
|
|
3373
|
-
n && (p("ComponentProvider", "Removing Datastore"),
|
|
3373
|
+
const n = re.get(t);
|
|
3374
|
+
n && (p("ComponentProvider", "Removing Datastore"), re.delete(t), n.terminate());
|
|
3374
3375
|
}(this), Promise.resolve();
|
|
3375
3376
|
}
|
|
3376
3377
|
}
|
|
3377
3378
|
|
|
3378
|
-
function
|
|
3379
|
+
function ue(t, n) {
|
|
3379
3380
|
const e = _getProvider(t, "firestore/lite");
|
|
3380
3381
|
if (e.isInitialized()) throw new U(F, "Firestore can only be initialized once per app.");
|
|
3381
3382
|
return e.initialize({
|
|
@@ -3391,7 +3392,7 @@ function ce(t, n) {
|
|
|
3391
3392
|
* @param app - The {@link @firebase/app#FirebaseApp} instance that the returned `Firestore`
|
|
3392
3393
|
* instance is associated with.
|
|
3393
3394
|
* @returns The `Firestore` instance of the provided app.
|
|
3394
|
-
*/ function
|
|
3395
|
+
*/ function ce(n = t()) {
|
|
3395
3396
|
return _getProvider(n, "firestore/lite").getImmediate();
|
|
3396
3397
|
}
|
|
3397
3398
|
|
|
@@ -3407,9 +3408,9 @@ function ce(t, n) {
|
|
|
3407
3408
|
* @param port - the emulator port (ex: 9000).
|
|
3408
3409
|
* @param options.mockUserToken - the mock auth token to use for unit testing
|
|
3409
3410
|
* Security Rules.
|
|
3410
|
-
*/ function
|
|
3411
|
+
*/ function ae(t, n, e, r = {}) {
|
|
3411
3412
|
var s;
|
|
3412
|
-
const i = (t = ut(t,
|
|
3413
|
+
const i = (t = ut(t, oe))._getSettings();
|
|
3413
3414
|
if ("firestore.googleapis.com" !== i.host && i.host !== n && _("Host has been set in both settings() and useEmulator(), emulator host will be used"),
|
|
3414
3415
|
t._setSettings(Object.assign(Object.assign({}, i), {
|
|
3415
3416
|
host: `${n}:${e}`,
|
|
@@ -3447,8 +3448,8 @@ function ce(t, n) {
|
|
|
3447
3448
|
* @param firestore - The `Firestore` instance to terminate.
|
|
3448
3449
|
* @returns A `Promise` that is resolved when the instance has been successfully
|
|
3449
3450
|
* terminated.
|
|
3450
|
-
*/ function
|
|
3451
|
-
return t = ut(t,
|
|
3451
|
+
*/ function he(t) {
|
|
3452
|
+
return t = ut(t, oe), n(t.app, "firestore/lite"), t._delete();
|
|
3452
3453
|
}
|
|
3453
3454
|
|
|
3454
3455
|
/**
|
|
@@ -3488,7 +3489,7 @@ function ce(t, n) {
|
|
|
3488
3489
|
* and can be used to write, read, or listen to the location. The document at
|
|
3489
3490
|
* the referenced location may or may not exist.
|
|
3490
3491
|
*/
|
|
3491
|
-
class
|
|
3492
|
+
class le {
|
|
3492
3493
|
/** @hideconstructor */
|
|
3493
3494
|
constructor(t,
|
|
3494
3495
|
/**
|
|
@@ -3516,17 +3517,17 @@ class fe {
|
|
|
3516
3517
|
/**
|
|
3517
3518
|
* The collection this `DocumentReference` belongs to.
|
|
3518
3519
|
*/ get parent() {
|
|
3519
|
-
return new
|
|
3520
|
+
return new de(this.firestore, this.converter, this._key.path.popLast());
|
|
3520
3521
|
}
|
|
3521
3522
|
withConverter(t) {
|
|
3522
|
-
return new
|
|
3523
|
+
return new le(this.firestore, t, this._key);
|
|
3523
3524
|
}
|
|
3524
3525
|
}
|
|
3525
3526
|
|
|
3526
3527
|
/**
|
|
3527
3528
|
* A `Query` refers to a query which you can read or listen to. You can also
|
|
3528
3529
|
* construct refined `Query` objects by adding filters and ordering.
|
|
3529
|
-
*/ class
|
|
3530
|
+
*/ class fe {
|
|
3530
3531
|
// This is the lite version of the Query class in the main SDK.
|
|
3531
3532
|
/** @hideconstructor protected */
|
|
3532
3533
|
constructor(t,
|
|
@@ -3539,14 +3540,14 @@ class fe {
|
|
|
3539
3540
|
this.type = "query", this.firestore = t;
|
|
3540
3541
|
}
|
|
3541
3542
|
withConverter(t) {
|
|
3542
|
-
return new
|
|
3543
|
+
return new fe(this.firestore, t, this._query);
|
|
3543
3544
|
}
|
|
3544
3545
|
}
|
|
3545
3546
|
|
|
3546
3547
|
/**
|
|
3547
3548
|
* A `CollectionReference` object can be used for adding documents, getting
|
|
3548
3549
|
* document references, and querying for documents (using {@link query}).
|
|
3549
|
-
*/ class
|
|
3550
|
+
*/ class de extends fe {
|
|
3550
3551
|
/** @hideconstructor */
|
|
3551
3552
|
constructor(t, n, e) {
|
|
3552
3553
|
super(t, n, new an(e)), this._path = e,
|
|
@@ -3567,23 +3568,23 @@ class fe {
|
|
|
3567
3568
|
* subcollection. If this isn't a subcollection, the reference is null.
|
|
3568
3569
|
*/ get parent() {
|
|
3569
3570
|
const t = this._path.popLast();
|
|
3570
|
-
return t.isEmpty() ? null : new
|
|
3571
|
+
return t.isEmpty() ? null : new le(this.firestore,
|
|
3571
3572
|
/* converter= */ null, new et(t));
|
|
3572
3573
|
}
|
|
3573
3574
|
withConverter(t) {
|
|
3574
|
-
return new
|
|
3575
|
+
return new de(this.firestore, t, this._path);
|
|
3575
3576
|
}
|
|
3576
3577
|
}
|
|
3577
3578
|
|
|
3578
|
-
function
|
|
3579
|
-
if (t = l(t), rt("collection", "path", n), t instanceof
|
|
3579
|
+
function we(t, n, ...e) {
|
|
3580
|
+
if (t = l(t), rt("collection", "path", n), t instanceof oe) {
|
|
3580
3581
|
const r = Z.fromString(n, ...e);
|
|
3581
|
-
return it(r), new
|
|
3582
|
+
return it(r), new de(t, /* converter= */ null, r);
|
|
3582
3583
|
}
|
|
3583
3584
|
{
|
|
3584
|
-
if (!(t instanceof
|
|
3585
|
+
if (!(t instanceof le || t instanceof de)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
|
|
3585
3586
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3586
|
-
return it(r), new
|
|
3587
|
+
return it(r), new de(t.firestore,
|
|
3587
3588
|
/* converter= */ null, r);
|
|
3588
3589
|
}
|
|
3589
3590
|
}
|
|
@@ -3600,9 +3601,9 @@ function me(t, n, ...e) {
|
|
|
3600
3601
|
* collection or subcollection with this ID as the last segment of its path
|
|
3601
3602
|
* will be included. Cannot contain a slash.
|
|
3602
3603
|
* @returns The created `Query`.
|
|
3603
|
-
*/ function
|
|
3604
|
-
if (t = ut(t,
|
|
3605
|
-
return new
|
|
3604
|
+
*/ function me(t, n) {
|
|
3605
|
+
if (t = ut(t, oe), rt("collectionGroup", "collection id", n), n.indexOf("/") >= 0) throw new U(R, `Invalid collection ID '${n}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);
|
|
3606
|
+
return new fe(t,
|
|
3606
3607
|
/* converter= */ null,
|
|
3607
3608
|
/**
|
|
3608
3609
|
* Creates a new Query for a collection group query that matches all documents
|
|
@@ -3613,19 +3614,19 @@ function me(t, n, ...e) {
|
|
|
3613
3614
|
}(n));
|
|
3614
3615
|
}
|
|
3615
3616
|
|
|
3616
|
-
function
|
|
3617
|
+
function pe(t, n, ...e) {
|
|
3617
3618
|
if (t = l(t),
|
|
3618
3619
|
// We allow omission of 'pathString' but explicitly prohibit passing in both
|
|
3619
3620
|
// 'undefined' and 'null'.
|
|
3620
|
-
1 === arguments.length && (n = yt.R()), rt("doc", "path", n), t instanceof
|
|
3621
|
+
1 === arguments.length && (n = yt.R()), rt("doc", "path", n), t instanceof oe) {
|
|
3621
3622
|
const r = Z.fromString(n, ...e);
|
|
3622
|
-
return st(r), new
|
|
3623
|
+
return st(r), new le(t,
|
|
3623
3624
|
/* converter= */ null, new et(r));
|
|
3624
3625
|
}
|
|
3625
3626
|
{
|
|
3626
|
-
if (!(t instanceof
|
|
3627
|
+
if (!(t instanceof le || t instanceof de)) throw new U(R, "Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore");
|
|
3627
3628
|
const r = t._path.child(Z.fromString(n, ...e));
|
|
3628
|
-
return st(r), new
|
|
3629
|
+
return st(r), new le(t.firestore, t instanceof de ? t.converter : null, new et(r));
|
|
3629
3630
|
}
|
|
3630
3631
|
}
|
|
3631
3632
|
|
|
@@ -3636,8 +3637,8 @@ function ye(t, n, ...e) {
|
|
|
3636
3637
|
* @param right - A reference to compare.
|
|
3637
3638
|
* @returns true if the references point to the same location in the same
|
|
3638
3639
|
* Firestore database.
|
|
3639
|
-
*/ function
|
|
3640
|
-
return t = l(t), n = l(n), (t instanceof
|
|
3640
|
+
*/ function ye(t, n) {
|
|
3641
|
+
return t = l(t), n = l(n), (t instanceof le || t instanceof de) && (n instanceof le || n instanceof de) && (t.firestore === n.firestore && t.path === n.path && t.converter === n.converter);
|
|
3641
3642
|
}
|
|
3642
3643
|
|
|
3643
3644
|
/**
|
|
@@ -3648,8 +3649,8 @@ function ye(t, n, ...e) {
|
|
|
3648
3649
|
* @param right - A `Query` to compare.
|
|
3649
3650
|
* @returns true if the references point to the same location in the same
|
|
3650
3651
|
* Firestore database.
|
|
3651
|
-
*/ function
|
|
3652
|
-
return t = l(t), n = l(n), t instanceof
|
|
3652
|
+
*/ function _e(t, n) {
|
|
3653
|
+
return t = l(t), n = l(n), t instanceof fe && n instanceof fe && (t.firestore === n.firestore && pn(t._query, n._query) && t.converter === n.converter);
|
|
3653
3654
|
}
|
|
3654
3655
|
|
|
3655
3656
|
/**
|
|
@@ -3675,7 +3676,7 @@ function ye(t, n, ...e) {
|
|
|
3675
3676
|
*
|
|
3676
3677
|
* Create a `FieldPath` by providing field names. If more than one field
|
|
3677
3678
|
* name is provided, the path will point to a nested field in a document.
|
|
3678
|
-
*/ class
|
|
3679
|
+
*/ class ge {
|
|
3679
3680
|
/**
|
|
3680
3681
|
* Creates a `FieldPath` from the provided field names. If more than one field
|
|
3681
3682
|
* name is provided, the path will point to a nested field in a document.
|
|
@@ -3699,8 +3700,8 @@ function ye(t, n, ...e) {
|
|
|
3699
3700
|
/**
|
|
3700
3701
|
* Returns a special sentinel `FieldPath` to refer to the ID of a document.
|
|
3701
3702
|
* It can be used in queries to sort or filter by the document ID.
|
|
3702
|
-
*/ function
|
|
3703
|
-
return new
|
|
3703
|
+
*/ function ve() {
|
|
3704
|
+
return new ge("__name__");
|
|
3704
3705
|
}
|
|
3705
3706
|
|
|
3706
3707
|
/**
|
|
@@ -3721,7 +3722,7 @@ function ye(t, n, ...e) {
|
|
|
3721
3722
|
*/
|
|
3722
3723
|
/**
|
|
3723
3724
|
* An immutable object representing an array of bytes.
|
|
3724
|
-
*/ class
|
|
3725
|
+
*/ class be {
|
|
3725
3726
|
/** @hideconstructor */
|
|
3726
3727
|
constructor(t) {
|
|
3727
3728
|
this._byteString = t;
|
|
@@ -3733,7 +3734,7 @@ function ye(t, n, ...e) {
|
|
|
3733
3734
|
* @param base64 - The Base64 string used to create the `Bytes` object.
|
|
3734
3735
|
*/ static fromBase64String(t) {
|
|
3735
3736
|
try {
|
|
3736
|
-
return new
|
|
3737
|
+
return new be(Rt.fromBase64String(t));
|
|
3737
3738
|
} catch (t) {
|
|
3738
3739
|
throw new U(R, "Failed to construct data from Base64 string: " + t);
|
|
3739
3740
|
}
|
|
@@ -3743,7 +3744,7 @@ function ye(t, n, ...e) {
|
|
|
3743
3744
|
*
|
|
3744
3745
|
* @param array - The Uint8Array used to create the `Bytes` object.
|
|
3745
3746
|
*/ static fromUint8Array(t) {
|
|
3746
|
-
return new
|
|
3747
|
+
return new be(Rt.fromUint8Array(t));
|
|
3747
3748
|
}
|
|
3748
3749
|
/**
|
|
3749
3750
|
* Returns the underlying bytes as a Base64-encoded string.
|
|
@@ -3795,7 +3796,7 @@ function ye(t, n, ...e) {
|
|
|
3795
3796
|
/**
|
|
3796
3797
|
* Sentinel values that can be used when writing document fields with `set()`
|
|
3797
3798
|
* or `update()`.
|
|
3798
|
-
*/ class
|
|
3799
|
+
*/ class Ee {
|
|
3799
3800
|
/**
|
|
3800
3801
|
* @param _methodName - The public API endpoint that returns this class.
|
|
3801
3802
|
* @hideconstructor
|
|
@@ -3827,7 +3828,7 @@ function ye(t, n, ...e) {
|
|
|
3827
3828
|
*
|
|
3828
3829
|
* Latitude values are in the range of [-90, 90].
|
|
3829
3830
|
* Longitude values are in the range of [-180, 180].
|
|
3830
|
-
*/ class
|
|
3831
|
+
*/ class Te {
|
|
3831
3832
|
/**
|
|
3832
3833
|
* Creates a new immutable `GeoPoint` object with the provided latitude and
|
|
3833
3834
|
* longitude values.
|
|
@@ -3886,9 +3887,9 @@ function ye(t, n, ...e) {
|
|
|
3886
3887
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
3887
3888
|
* See the License for the specific language governing permissions and
|
|
3888
3889
|
* limitations under the License.
|
|
3889
|
-
*/ const
|
|
3890
|
+
*/ const Ie = /^__.*__$/;
|
|
3890
3891
|
|
|
3891
|
-
/** The result of parsing document data (e.g. for a setData call). */ class
|
|
3892
|
+
/** The result of parsing document data (e.g. for a setData call). */ class Ae {
|
|
3892
3893
|
constructor(t, n, e) {
|
|
3893
3894
|
this.data = t, this.fieldMask = n, this.fieldTransforms = e;
|
|
3894
3895
|
}
|
|
@@ -3897,7 +3898,7 @@ function ye(t, n, ...e) {
|
|
|
3897
3898
|
}
|
|
3898
3899
|
}
|
|
3899
3900
|
|
|
3900
|
-
/** The result of parsing "update" data (i.e. for an updateData call). */ class
|
|
3901
|
+
/** The result of parsing "update" data (i.e. for an updateData call). */ class Re {
|
|
3901
3902
|
constructor(t,
|
|
3902
3903
|
// The fieldMask does not include document transforms.
|
|
3903
3904
|
n, e) {
|
|
@@ -3908,7 +3909,7 @@ function ye(t, n, ...e) {
|
|
|
3908
3909
|
}
|
|
3909
3910
|
}
|
|
3910
3911
|
|
|
3911
|
-
function
|
|
3912
|
+
function Pe(t) {
|
|
3912
3913
|
switch (t) {
|
|
3913
3914
|
case 0 /* Set */ :
|
|
3914
3915
|
// fall through
|
|
@@ -3926,7 +3927,7 @@ function Ve(t) {
|
|
|
3926
3927
|
}
|
|
3927
3928
|
}
|
|
3928
3929
|
|
|
3929
|
-
/** A "context" object passed around while parsing user data. */ class
|
|
3930
|
+
/** A "context" object passed around while parsing user data. */ class Ve {
|
|
3930
3931
|
/**
|
|
3931
3932
|
* Initializes a ParseContext with the given source and path.
|
|
3932
3933
|
*
|
|
@@ -3958,7 +3959,7 @@ function Ve(t) {
|
|
|
3958
3959
|
return this.settings.tt;
|
|
3959
3960
|
}
|
|
3960
3961
|
/** Returns a new context with the specified settings overwritten. */ nt(t) {
|
|
3961
|
-
return new
|
|
3962
|
+
return new Ve(Object.assign(Object.assign({}, this.settings), t), this.databaseId, this.q, this.ignoreUndefinedProperties, this.fieldTransforms, this.fieldMask);
|
|
3962
3963
|
}
|
|
3963
3964
|
et(t) {
|
|
3964
3965
|
var n;
|
|
@@ -3985,7 +3986,7 @@ function Ve(t) {
|
|
|
3985
3986
|
});
|
|
3986
3987
|
}
|
|
3987
3988
|
ut(t) {
|
|
3988
|
-
return
|
|
3989
|
+
return Ye(t, this.settings.methodName, this.settings.ct || !1, this.path, this.settings.at);
|
|
3989
3990
|
}
|
|
3990
3991
|
/** Returns 'true' if 'fieldPath' was traversed when creating this context. */ contains(t) {
|
|
3991
3992
|
return void 0 !== this.fieldMask.find((n => t.isPrefixOf(n))) || void 0 !== this.fieldTransforms.find((n => t.isPrefixOf(n.field)));
|
|
@@ -3997,19 +3998,19 @@ function Ve(t) {
|
|
|
3997
3998
|
}
|
|
3998
3999
|
st(t) {
|
|
3999
4000
|
if (0 === t.length) throw this.ut("Document fields must not be empty");
|
|
4000
|
-
if (
|
|
4001
|
+
if (Pe(this.tt) && Ie.test(t)) throw this.ut('Document fields cannot begin and end with "__"');
|
|
4001
4002
|
}
|
|
4002
4003
|
}
|
|
4003
4004
|
|
|
4004
4005
|
/**
|
|
4005
4006
|
* Helper for parsing raw user input (provided via the API) into internal model
|
|
4006
4007
|
* classes.
|
|
4007
|
-
*/ class
|
|
4008
|
+
*/ class Ne {
|
|
4008
4009
|
constructor(t, n, e) {
|
|
4009
|
-
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e ||
|
|
4010
|
+
this.databaseId = t, this.ignoreUndefinedProperties = n, this.q = e || Jn(t);
|
|
4010
4011
|
}
|
|
4011
4012
|
/** Creates a new top-level parse context. */ ht(t, n, e, r = !1) {
|
|
4012
|
-
return new
|
|
4013
|
+
return new Ve({
|
|
4013
4014
|
tt: t,
|
|
4014
4015
|
methodName: n,
|
|
4015
4016
|
at: e,
|
|
@@ -4020,29 +4021,29 @@ function Ve(t) {
|
|
|
4020
4021
|
}
|
|
4021
4022
|
}
|
|
4022
4023
|
|
|
4023
|
-
function
|
|
4024
|
-
const n = t._freezeSettings(), e =
|
|
4025
|
-
return new
|
|
4024
|
+
function De(t) {
|
|
4025
|
+
const n = t._freezeSettings(), e = Jn(t._databaseId);
|
|
4026
|
+
return new Ne(t._databaseId, !!n.ignoreUndefinedProperties, e);
|
|
4026
4027
|
}
|
|
4027
4028
|
|
|
4028
|
-
/** Parse document data from a set() call. */ function
|
|
4029
|
+
/** Parse document data from a set() call. */ function $e(t, n, e, r, s, i = {}) {
|
|
4029
4030
|
const o = t.ht(i.merge || i.mergeFields ? 2 /* MergeSet */ : 0 /* Set */ , n, e, s);
|
|
4030
|
-
|
|
4031
|
-
const u =
|
|
4031
|
+
ze("Data must be an object, but it was:", o, r);
|
|
4032
|
+
const u = Me(r, o);
|
|
4032
4033
|
let c, a;
|
|
4033
4034
|
if (i.merge) c = new It(o.fieldMask), a = o.fieldTransforms; else if (i.mergeFields) {
|
|
4034
4035
|
const t = [];
|
|
4035
4036
|
for (const r of i.mergeFields) {
|
|
4036
|
-
const s =
|
|
4037
|
+
const s = Qe(n, r, e);
|
|
4037
4038
|
if (!o.contains(s)) throw new U(R, `Field '${s}' is specified in your field mask but missing from your input data.`);
|
|
4038
|
-
|
|
4039
|
+
He(t, s) || t.push(s);
|
|
4039
4040
|
}
|
|
4040
4041
|
c = new It(t), a = o.fieldTransforms.filter((t => c.covers(t.field)));
|
|
4041
4042
|
} else c = null, a = o.fieldTransforms;
|
|
4042
|
-
return new
|
|
4043
|
+
return new Ae(new Qt(u), c, a);
|
|
4043
4044
|
}
|
|
4044
4045
|
|
|
4045
|
-
class
|
|
4046
|
+
class Se extends Ee {
|
|
4046
4047
|
_toFieldTransform(t) {
|
|
4047
4048
|
if (2 /* MergeSet */ !== t.tt) throw 1 /* Update */ === t.tt ? t.ut(`${this._methodName}() can only appear at the top level of your update data`) : t.ut(`${this._methodName}() cannot be used with set() unless you pass {merge:true}`);
|
|
4048
4049
|
// No transform to add for a delete, but we need to add it to our
|
|
@@ -4050,7 +4051,7 @@ class Fe extends Te {
|
|
|
4050
4051
|
return t.fieldMask.push(t.path), null;
|
|
4051
4052
|
}
|
|
4052
4053
|
isEqual(t) {
|
|
4053
|
-
return t instanceof
|
|
4054
|
+
return t instanceof Se;
|
|
4054
4055
|
}
|
|
4055
4056
|
}
|
|
4056
4057
|
|
|
@@ -4069,8 +4070,8 @@ class Fe extends Te {
|
|
|
4069
4070
|
* context.
|
|
4070
4071
|
* @param context - The parent context.
|
|
4071
4072
|
* @param arrayElement - Whether or not the FieldValue has an array.
|
|
4072
|
-
*/ function
|
|
4073
|
-
return new
|
|
4073
|
+
*/ function Fe(t, n, e) {
|
|
4074
|
+
return new Ve({
|
|
4074
4075
|
tt: 3 /* Argument */ ,
|
|
4075
4076
|
at: n.settings.at,
|
|
4076
4077
|
methodName: t._methodName,
|
|
@@ -4078,22 +4079,22 @@ class Fe extends Te {
|
|
|
4078
4079
|
}, n.databaseId, n.q, n.ignoreUndefinedProperties);
|
|
4079
4080
|
}
|
|
4080
4081
|
|
|
4081
|
-
class
|
|
4082
|
+
class xe extends Ee {
|
|
4082
4083
|
_toFieldTransform(t) {
|
|
4083
4084
|
return new Tn(t.path, new gn);
|
|
4084
4085
|
}
|
|
4085
4086
|
isEqual(t) {
|
|
4086
|
-
return t instanceof
|
|
4087
|
+
return t instanceof xe;
|
|
4087
4088
|
}
|
|
4088
4089
|
}
|
|
4089
4090
|
|
|
4090
|
-
class
|
|
4091
|
+
class qe extends Ee {
|
|
4091
4092
|
constructor(t, n) {
|
|
4092
4093
|
super(t), this.lt = n;
|
|
4093
4094
|
}
|
|
4094
4095
|
_toFieldTransform(t) {
|
|
4095
|
-
const n =
|
|
4096
|
-
/*array=*/ !0), e = this.lt.map((t =>
|
|
4096
|
+
const n = Fe(this, t,
|
|
4097
|
+
/*array=*/ !0), e = this.lt.map((t => je(t, n))), r = new vn(e);
|
|
4097
4098
|
return new Tn(t.path, r);
|
|
4098
4099
|
}
|
|
4099
4100
|
isEqual(t) {
|
|
@@ -4102,13 +4103,13 @@ class Oe extends Te {
|
|
|
4102
4103
|
}
|
|
4103
4104
|
}
|
|
4104
4105
|
|
|
4105
|
-
class
|
|
4106
|
+
class Oe extends Ee {
|
|
4106
4107
|
constructor(t, n) {
|
|
4107
4108
|
super(t), this.lt = n;
|
|
4108
4109
|
}
|
|
4109
4110
|
_toFieldTransform(t) {
|
|
4110
|
-
const n =
|
|
4111
|
-
/*array=*/ !0), e = this.lt.map((t =>
|
|
4111
|
+
const n = Fe(this, t,
|
|
4112
|
+
/*array=*/ !0), e = this.lt.map((t => je(t, n))), r = new bn(e);
|
|
4112
4113
|
return new Tn(t.path, r);
|
|
4113
4114
|
}
|
|
4114
4115
|
isEqual(t) {
|
|
@@ -4117,7 +4118,7 @@ class Ce extends Te {
|
|
|
4117
4118
|
}
|
|
4118
4119
|
}
|
|
4119
4120
|
|
|
4120
|
-
class
|
|
4121
|
+
class Ce extends Ee {
|
|
4121
4122
|
constructor(t, n) {
|
|
4122
4123
|
super(t), this.ft = n;
|
|
4123
4124
|
}
|
|
@@ -4131,50 +4132,50 @@ class Le extends Te {
|
|
|
4131
4132
|
}
|
|
4132
4133
|
}
|
|
4133
4134
|
|
|
4134
|
-
/** Parse update data from an update() call. */ function
|
|
4135
|
+
/** Parse update data from an update() call. */ function Le(t, n, e, r) {
|
|
4135
4136
|
const s = t.ht(1 /* Update */ , n, e);
|
|
4136
|
-
|
|
4137
|
+
ze("Data must be an object, but it was:", s, r);
|
|
4137
4138
|
const i = [], o = Qt.empty();
|
|
4138
4139
|
Tt(r, ((t, r) => {
|
|
4139
|
-
const u =
|
|
4140
|
+
const u = We(n, t, e);
|
|
4140
4141
|
// For Compat types, we have to "extract" the underlying types before
|
|
4141
4142
|
// performing validation.
|
|
4142
4143
|
r = l(r);
|
|
4143
4144
|
const c = s.it(u);
|
|
4144
|
-
if (r instanceof
|
|
4145
|
+
if (r instanceof Se)
|
|
4145
4146
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4146
4147
|
i.push(u); else {
|
|
4147
|
-
const t =
|
|
4148
|
+
const t = je(r, c);
|
|
4148
4149
|
null != t && (i.push(u), o.set(u, t));
|
|
4149
4150
|
}
|
|
4150
4151
|
}));
|
|
4151
4152
|
const u = new It(i);
|
|
4152
|
-
return new
|
|
4153
|
+
return new Re(o, u, s.fieldTransforms);
|
|
4153
4154
|
}
|
|
4154
4155
|
|
|
4155
|
-
/** Parse update data from a list of field/value arguments. */ function
|
|
4156
|
-
const o = t.ht(1 /* Update */ , n, e), u = [
|
|
4156
|
+
/** Parse update data from a list of field/value arguments. */ function ke(t, n, e, r, s, i) {
|
|
4157
|
+
const o = t.ht(1 /* Update */ , n, e), u = [ Qe(n, r, e) ], c = [ s ];
|
|
4157
4158
|
if (i.length % 2 != 0) throw new U(R, `Function ${n}() needs to be called with an even number of arguments that alternate between field names and values.`);
|
|
4158
|
-
for (let t = 0; t < i.length; t += 2) u.push(
|
|
4159
|
+
for (let t = 0; t < i.length; t += 2) u.push(Qe(n, i[t])), c.push(i[t + 1]);
|
|
4159
4160
|
const a = [], h = Qt.empty();
|
|
4160
4161
|
// We iterate in reverse order to pick the last value for a field if the
|
|
4161
4162
|
// user specified the field multiple times.
|
|
4162
|
-
for (let t = u.length - 1; t >= 0; --t) if (!
|
|
4163
|
+
for (let t = u.length - 1; t >= 0; --t) if (!He(a, u[t])) {
|
|
4163
4164
|
const n = u[t];
|
|
4164
4165
|
let e = c[t];
|
|
4165
4166
|
// For Compat types, we have to "extract" the underlying types before
|
|
4166
4167
|
// performing validation.
|
|
4167
4168
|
e = l(e);
|
|
4168
4169
|
const r = o.it(n);
|
|
4169
|
-
if (e instanceof
|
|
4170
|
+
if (e instanceof Se)
|
|
4170
4171
|
// Add it to the field mask, but don't add anything to updateData.
|
|
4171
4172
|
a.push(n); else {
|
|
4172
|
-
const t =
|
|
4173
|
+
const t = je(e, r);
|
|
4173
4174
|
null != t && (a.push(n), h.set(n, t));
|
|
4174
4175
|
}
|
|
4175
4176
|
}
|
|
4176
4177
|
const f = new It(a);
|
|
4177
|
-
return new
|
|
4178
|
+
return new Re(h, f, o.fieldTransforms);
|
|
4178
4179
|
}
|
|
4179
4180
|
|
|
4180
4181
|
/**
|
|
@@ -4183,8 +4184,8 @@ class Le extends Te {
|
|
|
4183
4184
|
*
|
|
4184
4185
|
* @param allowArrays - Whether the query value is an array that may directly
|
|
4185
4186
|
* contain additional arrays (e.g. the operand of an `in` query).
|
|
4186
|
-
*/ function
|
|
4187
|
-
return
|
|
4187
|
+
*/ function Ue(t, n, e, r = !1) {
|
|
4188
|
+
return je(e, t.ht(r ? 4 /* ArrayArgument */ : 3 /* Argument */ , n));
|
|
4188
4189
|
}
|
|
4189
4190
|
|
|
4190
4191
|
/**
|
|
@@ -4195,12 +4196,12 @@ class Le extends Te {
|
|
|
4195
4196
|
* the source of the data being parsed, etc.
|
|
4196
4197
|
* @returns The parsed value, or null if the value was a FieldValue sentinel
|
|
4197
4198
|
* that should not be included in the resulting parsed data.
|
|
4198
|
-
*/ function
|
|
4199
|
-
if (
|
|
4199
|
+
*/ function je(t, n) {
|
|
4200
|
+
if (Be(
|
|
4200
4201
|
// Unwrap the API type from the Compat SDK. This will return the API type
|
|
4201
4202
|
// from firestore-exp.
|
|
4202
|
-
t = l(t))) return
|
|
4203
|
-
if (t instanceof
|
|
4203
|
+
t = l(t))) return ze("Unsupported field value:", n, t), Me(t, n);
|
|
4204
|
+
if (t instanceof Ee)
|
|
4204
4205
|
// FieldValues usually parse into transforms (except deleteField())
|
|
4205
4206
|
// in which case we do not want to include this field in our parsed data
|
|
4206
4207
|
// (as doing so will overwrite the field directly prior to the transform
|
|
@@ -4212,7 +4213,7 @@ class Le extends Te {
|
|
|
4212
4213
|
*/
|
|
4213
4214
|
return function(t, n) {
|
|
4214
4215
|
// Sentinels are only supported with writes, and not within arrays.
|
|
4215
|
-
if (!
|
|
4216
|
+
if (!Pe(n.tt)) throw n.ut(`${t._methodName}() can only be used with update() and set()`);
|
|
4216
4217
|
if (!n.path) throw n.ut(`${t._methodName}() is not currently supported inside arrays`);
|
|
4217
4218
|
const e = t._toFieldTransform(n);
|
|
4218
4219
|
e && n.fieldTransforms.push(e);
|
|
@@ -4242,7 +4243,7 @@ class Le extends Te {
|
|
|
4242
4243
|
const e = [];
|
|
4243
4244
|
let r = 0;
|
|
4244
4245
|
for (const s of t) {
|
|
4245
|
-
let t =
|
|
4246
|
+
let t = je(s, n.ot(r));
|
|
4246
4247
|
null == t && (
|
|
4247
4248
|
// Just include nulls in the array for fields being replaced with a
|
|
4248
4249
|
// sentinel.
|
|
@@ -4283,16 +4284,16 @@ class Le extends Te {
|
|
|
4283
4284
|
timestampValue: Fn(n.q, e)
|
|
4284
4285
|
};
|
|
4285
4286
|
}
|
|
4286
|
-
if (t instanceof
|
|
4287
|
+
if (t instanceof Te) return {
|
|
4287
4288
|
geoPointValue: {
|
|
4288
4289
|
latitude: t.latitude,
|
|
4289
4290
|
longitude: t.longitude
|
|
4290
4291
|
}
|
|
4291
4292
|
};
|
|
4292
|
-
if (t instanceof
|
|
4293
|
+
if (t instanceof be) return {
|
|
4293
4294
|
bytesValue: xn(n.q, t._byteString)
|
|
4294
4295
|
};
|
|
4295
|
-
if (t instanceof
|
|
4296
|
+
if (t instanceof le) {
|
|
4296
4297
|
const e = n.databaseId, r = t.firestore._databaseId;
|
|
4297
4298
|
if (!r.isEqual(e)) throw n.ut(`Document reference is for database ${r.projectId}/${r.database} but should be for database ${e.projectId}/${e.database}`);
|
|
4298
4299
|
return {
|
|
@@ -4310,13 +4311,13 @@ class Le extends Te {
|
|
|
4310
4311
|
*/ (t, n);
|
|
4311
4312
|
}
|
|
4312
4313
|
|
|
4313
|
-
function
|
|
4314
|
+
function Me(t, n) {
|
|
4314
4315
|
const e = {};
|
|
4315
4316
|
return !function(t) {
|
|
4316
4317
|
for (const n in t) if (Object.prototype.hasOwnProperty.call(t, n)) return !1;
|
|
4317
4318
|
return !0;
|
|
4318
4319
|
}(t) ? Tt(t, ((t, r) => {
|
|
4319
|
-
const s =
|
|
4320
|
+
const s = je(r, n.et(t));
|
|
4320
4321
|
null != s && (e[t] = s);
|
|
4321
4322
|
})) :
|
|
4322
4323
|
// If we encounter an empty object, we explicitly add it to the update
|
|
@@ -4328,12 +4329,12 @@ function Be(t, n) {
|
|
|
4328
4329
|
};
|
|
4329
4330
|
}
|
|
4330
4331
|
|
|
4331
|
-
function
|
|
4332
|
-
return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof vt || t instanceof
|
|
4332
|
+
function Be(t) {
|
|
4333
|
+
return !("object" != typeof t || null === t || t instanceof Array || t instanceof Date || t instanceof vt || t instanceof Te || t instanceof be || t instanceof le || t instanceof Ee);
|
|
4333
4334
|
}
|
|
4334
4335
|
|
|
4335
|
-
function
|
|
4336
|
-
if (!
|
|
4336
|
+
function ze(t, n, e) {
|
|
4337
|
+
if (!Be(e) || !function(t) {
|
|
4337
4338
|
return "object" == typeof t && null !== t && (Object.getPrototypeOf(t) === Object.prototype || null === Object.getPrototypeOf(t));
|
|
4338
4339
|
}(e)) {
|
|
4339
4340
|
const r = ot(e);
|
|
@@ -4343,20 +4344,20 @@ function Qe(t, n, e) {
|
|
|
4343
4344
|
|
|
4344
4345
|
/**
|
|
4345
4346
|
* Helper that calls fromDotSeparatedString() but wraps any error thrown.
|
|
4346
|
-
*/ function
|
|
4347
|
+
*/ function Qe(t, n, e) {
|
|
4347
4348
|
if ((
|
|
4348
4349
|
// If required, replace the FieldPath Compat class with with the firestore-exp
|
|
4349
4350
|
// FieldPath.
|
|
4350
|
-
n = l(n)) instanceof
|
|
4351
|
-
if ("string" == typeof n) return
|
|
4352
|
-
throw
|
|
4351
|
+
n = l(n)) instanceof ge) return n._internalPath;
|
|
4352
|
+
if ("string" == typeof n) return We(t, n);
|
|
4353
|
+
throw Ye("Field path arguments must be of type string or ", t,
|
|
4353
4354
|
/* hasConverter= */ !1,
|
|
4354
4355
|
/* path= */ void 0, e);
|
|
4355
4356
|
}
|
|
4356
4357
|
|
|
4357
4358
|
/**
|
|
4358
4359
|
* Matches any characters in a field path string that are reserved.
|
|
4359
|
-
*/ const
|
|
4360
|
+
*/ const Ge = new RegExp("[~\\*/\\[\\]]");
|
|
4360
4361
|
|
|
4361
4362
|
/**
|
|
4362
4363
|
* Wraps fromDotSeparatedString with an error message about the method that
|
|
@@ -4366,20 +4367,20 @@ function Qe(t, n, e) {
|
|
|
4366
4367
|
* split on dots.
|
|
4367
4368
|
* @param targetDoc - The document against which the field path will be
|
|
4368
4369
|
* evaluated.
|
|
4369
|
-
*/ function
|
|
4370
|
-
if (n.search(
|
|
4370
|
+
*/ function We(t, n, e) {
|
|
4371
|
+
if (n.search(Ge) >= 0) throw Ye(`Invalid field path (${n}). Paths must not contain '~', '*', '/', '[', or ']'`, t,
|
|
4371
4372
|
/* hasConverter= */ !1,
|
|
4372
4373
|
/* path= */ void 0, e);
|
|
4373
4374
|
try {
|
|
4374
|
-
return new
|
|
4375
|
+
return new ge(...n.split("."))._internalPath;
|
|
4375
4376
|
} catch (r) {
|
|
4376
|
-
throw
|
|
4377
|
+
throw Ye(`Invalid field path (${n}). Paths must not be empty, begin with '.', end with '.', or contain '..'`, t,
|
|
4377
4378
|
/* hasConverter= */ !1,
|
|
4378
4379
|
/* path= */ void 0, e);
|
|
4379
4380
|
}
|
|
4380
4381
|
}
|
|
4381
4382
|
|
|
4382
|
-
function
|
|
4383
|
+
function Ye(t, n, e, r, s) {
|
|
4383
4384
|
const i = r && !r.isEmpty(), o = void 0 !== s;
|
|
4384
4385
|
let u = `Function ${n}() called with invalid data`;
|
|
4385
4386
|
e && (u += " (via `toFirestore()`)"), u += ". ";
|
|
@@ -4388,7 +4389,7 @@ function He(t, n, e, r, s) {
|
|
|
4388
4389
|
c += ")"), new U(R, u + t + c);
|
|
4389
4390
|
}
|
|
4390
4391
|
|
|
4391
|
-
/** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function
|
|
4392
|
+
/** Checks `haystack` if FieldPath `needle` is present. Runs in O(n). */ function He(t, n) {
|
|
4392
4393
|
return t.some((t => t.isEqual(n)));
|
|
4393
4394
|
}
|
|
4394
4395
|
|
|
@@ -4416,7 +4417,7 @@ function He(t, n, e, r, s) {
|
|
|
4416
4417
|
* For a `DocumentSnapshot` that points to a non-existing document, any data
|
|
4417
4418
|
* access will return 'undefined'. You can use the `exists()` method to
|
|
4418
4419
|
* explicitly verify a document's existence.
|
|
4419
|
-
*/ class
|
|
4420
|
+
*/ class Ke {
|
|
4420
4421
|
// Note: This class is stripped down version of the DocumentSnapshot in
|
|
4421
4422
|
// the legacy SDK. The changes are:
|
|
4422
4423
|
// - No support for SnapshotMetadata.
|
|
@@ -4432,7 +4433,7 @@ function He(t, n, e, r, s) {
|
|
|
4432
4433
|
/**
|
|
4433
4434
|
* The `DocumentReference` for the document included in the `DocumentSnapshot`.
|
|
4434
4435
|
*/ get ref() {
|
|
4435
|
-
return new
|
|
4436
|
+
return new le(this._firestore, this._converter, this._key);
|
|
4436
4437
|
}
|
|
4437
4438
|
/**
|
|
4438
4439
|
* Signals whether or not the document at the snapshot's location exists.
|
|
@@ -4452,7 +4453,7 @@ function He(t, n, e, r, s) {
|
|
|
4452
4453
|
if (this._converter) {
|
|
4453
4454
|
// We only want to use the converter and create a new DocumentSnapshot
|
|
4454
4455
|
// if a converter has been provided.
|
|
4455
|
-
const t = new
|
|
4456
|
+
const t = new Je(this._firestore, this._userDataWriter, this._key, this._document,
|
|
4456
4457
|
/* converter= */ null);
|
|
4457
4458
|
return this._converter.fromFirestore(t);
|
|
4458
4459
|
}
|
|
@@ -4472,7 +4473,7 @@ function He(t, n, e, r, s) {
|
|
|
4472
4473
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4473
4474
|
get(t) {
|
|
4474
4475
|
if (this._document) {
|
|
4475
|
-
const n = this._document.data.field(
|
|
4476
|
+
const n = this._document.data.field(tr("DocumentSnapshot.get", t));
|
|
4476
4477
|
if (null !== n) return this._userDataWriter.convertValue(n);
|
|
4477
4478
|
}
|
|
4478
4479
|
}
|
|
@@ -4488,7 +4489,7 @@ function He(t, n, e, r, s) {
|
|
|
4488
4489
|
* `DocumentSnapshot`. Since query results contain only existing documents, the
|
|
4489
4490
|
* `exists` property will always be true and `data()` will never return
|
|
4490
4491
|
* 'undefined'.
|
|
4491
|
-
*/ class
|
|
4492
|
+
*/ class Je extends Ke {
|
|
4492
4493
|
/**
|
|
4493
4494
|
* Retrieves all fields in the document as an `Object`.
|
|
4494
4495
|
*
|
|
@@ -4506,7 +4507,7 @@ function He(t, n, e, r, s) {
|
|
|
4506
4507
|
* array via the `docs` property or enumerated using the `forEach` method. The
|
|
4507
4508
|
* number of documents can be determined via the `empty` and `size`
|
|
4508
4509
|
* properties.
|
|
4509
|
-
*/ class
|
|
4510
|
+
*/ class Xe {
|
|
4510
4511
|
/** @hideconstructor */
|
|
4511
4512
|
constructor(t, n) {
|
|
4512
4513
|
this._docs = n, this.query = t;
|
|
@@ -4537,14 +4538,14 @@ function He(t, n, e, r, s) {
|
|
|
4537
4538
|
* @param left - A snapshot to compare.
|
|
4538
4539
|
* @param right - A snapshot to compare.
|
|
4539
4540
|
* @returns true if the snapshots are equal.
|
|
4540
|
-
*/ function
|
|
4541
|
-
return t = l(t), n = l(n), t instanceof
|
|
4541
|
+
*/ function Ze(t, n) {
|
|
4542
|
+
return t = l(t), n = l(n), t instanceof Ke && n instanceof Ke ? t._firestore === n._firestore && t._key.isEqual(n._key) && (null === t._document ? null === n._document : t._document.isEqual(n._document)) && t._converter === n._converter : t instanceof Xe && n instanceof Xe && (_e(t.query, n.query) && gt(t.docs, n.docs, Ze));
|
|
4542
4543
|
}
|
|
4543
4544
|
|
|
4544
4545
|
/**
|
|
4545
4546
|
* Helper that calls `fromDotSeparatedString()` but wraps any error thrown.
|
|
4546
|
-
*/ function
|
|
4547
|
-
return "string" == typeof n ?
|
|
4547
|
+
*/ function tr(t, n) {
|
|
4548
|
+
return "string" == typeof n ? We(t, n) : n instanceof ge ? n._internalPath : n._delegate._internalPath;
|
|
4548
4549
|
}
|
|
4549
4550
|
|
|
4550
4551
|
/**
|
|
@@ -4571,7 +4572,7 @@ function He(t, n, e, r, s) {
|
|
|
4571
4572
|
* can then be passed to {@link query} to create a new query instance that
|
|
4572
4573
|
* also contains this `QueryConstraint`.
|
|
4573
4574
|
*/
|
|
4574
|
-
class
|
|
4575
|
+
class nr {}
|
|
4575
4576
|
|
|
4576
4577
|
/**
|
|
4577
4578
|
* Creates a new immutable instance of {@link Query} that is extended to also include
|
|
@@ -4581,32 +4582,32 @@ class er {}
|
|
|
4581
4582
|
* @param queryConstraints - The list of {@link QueryConstraint}s to apply.
|
|
4582
4583
|
* @throws if any of the provided query constraints cannot be combined with the
|
|
4583
4584
|
* existing or new constraints.
|
|
4584
|
-
*/ function
|
|
4585
|
+
*/ function er(t, ...n) {
|
|
4585
4586
|
for (const e of n) t = e._apply(t);
|
|
4586
4587
|
return t;
|
|
4587
4588
|
}
|
|
4588
4589
|
|
|
4589
|
-
class
|
|
4590
|
+
class rr extends nr {
|
|
4590
4591
|
constructor(t, n, e) {
|
|
4591
4592
|
super(), this.dt = t, this.wt = n, this.yt = e, this.type = "where";
|
|
4592
4593
|
}
|
|
4593
4594
|
_apply(t) {
|
|
4594
|
-
const n =
|
|
4595
|
+
const n = De(t.firestore), e = function(t, n, e, r, s, i, o) {
|
|
4595
4596
|
let u;
|
|
4596
4597
|
if (s.isKeyField()) {
|
|
4597
4598
|
if ("array-contains" /* ARRAY_CONTAINS */ === i || "array-contains-any" /* ARRAY_CONTAINS_ANY */ === i) throw new U(R, `Invalid Query. You can't perform '${i}' queries on documentId().`);
|
|
4598
4599
|
if ("in" /* IN */ === i || "not-in" /* NOT_IN */ === i) {
|
|
4599
|
-
|
|
4600
|
+
_r(o, i);
|
|
4600
4601
|
const n = [];
|
|
4601
|
-
for (const e of o) n.push(
|
|
4602
|
+
for (const e of o) n.push(yr(r, t, e));
|
|
4602
4603
|
u = {
|
|
4603
4604
|
arrayValue: {
|
|
4604
4605
|
values: n
|
|
4605
4606
|
}
|
|
4606
4607
|
};
|
|
4607
|
-
} else u =
|
|
4608
|
-
} else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i ||
|
|
4609
|
-
u =
|
|
4608
|
+
} else u = yr(r, t, o);
|
|
4609
|
+
} else "in" /* IN */ !== i && "not-in" /* NOT_IN */ !== i && "array-contains-any" /* ARRAY_CONTAINS_ANY */ !== i || _r(o, i),
|
|
4610
|
+
u = Ue(e, n, o,
|
|
4610
4611
|
/* allowArrays= */ "in" /* IN */ === i || "not-in" /* NOT_IN */ === i);
|
|
4611
4612
|
const c = Ht.create(s, i, u);
|
|
4612
4613
|
return function(t, n) {
|
|
@@ -4614,7 +4615,7 @@ class sr extends er {
|
|
|
4614
4615
|
const e = fn(t);
|
|
4615
4616
|
if (null !== e && !e.isEqual(n.field)) throw new U(R, `Invalid query. All where filters with an inequality (<, <=, !=, not-in, >, or >=) must be on the same field. But you have inequality filters on '${e.toString()}' and '${n.field.toString()}'`);
|
|
4616
4617
|
const r = ln(t);
|
|
4617
|
-
null !== r &&
|
|
4618
|
+
null !== r && gr(t, n.field, r);
|
|
4618
4619
|
}
|
|
4619
4620
|
const e = function(t, n) {
|
|
4620
4621
|
for (const e of t.filters) if (n.indexOf(e.op) >= 0) return e.op;
|
|
@@ -4658,7 +4659,7 @@ class sr extends er {
|
|
|
4658
4659
|
throw e === n.op ? new U(R, `Invalid query. You cannot use more than one '${n.op.toString()}' filter.`) : new U(R, `Invalid query. You cannot use '${n.op.toString()}' filters with '${e.toString()}' filters.`);
|
|
4659
4660
|
}(t, c), c;
|
|
4660
4661
|
}(t._query, "where", n, t.firestore._databaseId, this.dt, this.wt, this.yt);
|
|
4661
|
-
return new
|
|
4662
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4662
4663
|
const e = t.filters.concat([ n ]);
|
|
4663
4664
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), e, t.limit, t.limitType, t.startAt, t.endAt);
|
|
4664
4665
|
}(t._query, e));
|
|
@@ -4675,12 +4676,12 @@ class sr extends er {
|
|
|
4675
4676
|
* "<=", "!=").
|
|
4676
4677
|
* @param value - The value for comparison
|
|
4677
4678
|
* @returns The created {@link Query}.
|
|
4678
|
-
*/ function
|
|
4679
|
-
const r = n, s =
|
|
4680
|
-
return new
|
|
4679
|
+
*/ function sr(t, n, e) {
|
|
4680
|
+
const r = n, s = tr("where", t);
|
|
4681
|
+
return new rr(s, r, e);
|
|
4681
4682
|
}
|
|
4682
4683
|
|
|
4683
|
-
class
|
|
4684
|
+
class ir extends nr {
|
|
4684
4685
|
constructor(t, n) {
|
|
4685
4686
|
super(), this.dt = t, this._t = n, this.type = "orderBy";
|
|
4686
4687
|
}
|
|
@@ -4693,7 +4694,7 @@ class or extends er {
|
|
|
4693
4694
|
if (null === ln(t)) {
|
|
4694
4695
|
// This is the first order by. It must match any inequality.
|
|
4695
4696
|
const e = fn(t);
|
|
4696
|
-
null !== e &&
|
|
4697
|
+
null !== e && gr(t, e, n.field);
|
|
4697
4698
|
}
|
|
4698
4699
|
}(t, r), r;
|
|
4699
4700
|
}
|
|
@@ -4708,7 +4709,7 @@ class or extends er {
|
|
|
4708
4709
|
* of the query or if any of the fields in the order by are an uncommitted
|
|
4709
4710
|
* server timestamp.
|
|
4710
4711
|
*/ (t._query, this.dt, this._t);
|
|
4711
|
-
return new
|
|
4712
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4712
4713
|
// TODO(dimond): validate that orderBy does not list the same key twice.
|
|
4713
4714
|
const e = t.explicitOrderBy.concat([ n ]);
|
|
4714
4715
|
return new an(t.path, t.collectionGroup, e, t.filters.slice(), t.limit, t.limitType, t.startAt, t.endAt);
|
|
@@ -4724,17 +4725,17 @@ class or extends er {
|
|
|
4724
4725
|
* @param directionStr - Optional direction to sort by ('asc' or 'desc'). If
|
|
4725
4726
|
* not specified, order will be ascending.
|
|
4726
4727
|
* @returns The created {@link Query}.
|
|
4727
|
-
*/ function
|
|
4728
|
-
const e = n, r =
|
|
4729
|
-
return new
|
|
4728
|
+
*/ function or(t, n = "asc") {
|
|
4729
|
+
const e = n, r = tr("orderBy", t);
|
|
4730
|
+
return new ir(r, e);
|
|
4730
4731
|
}
|
|
4731
4732
|
|
|
4732
|
-
class
|
|
4733
|
+
class ur extends nr {
|
|
4733
4734
|
constructor(t, n, e) {
|
|
4734
4735
|
super(), this.type = t, this.gt = n, this.vt = e;
|
|
4735
4736
|
}
|
|
4736
4737
|
_apply(t) {
|
|
4737
|
-
return new
|
|
4738
|
+
return new fe(t.firestore, t.converter, function(t, n, e) {
|
|
4738
4739
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), n, e, t.startAt, t.endAt);
|
|
4739
4740
|
}(t._query, this.gt, this.vt));
|
|
4740
4741
|
}
|
|
@@ -4745,8 +4746,8 @@ class cr extends er {
|
|
|
4745
4746
|
*
|
|
4746
4747
|
* @param limit - The maximum number of items to return.
|
|
4747
4748
|
* @returns The created {@link Query}.
|
|
4748
|
-
*/ function
|
|
4749
|
-
return ct("limit", t), new
|
|
4749
|
+
*/ function cr(t) {
|
|
4750
|
+
return ct("limit", t), new ur("limit", t, "F" /* First */);
|
|
4750
4751
|
}
|
|
4751
4752
|
|
|
4752
4753
|
/**
|
|
@@ -4757,53 +4758,55 @@ class cr extends er {
|
|
|
4757
4758
|
*
|
|
4758
4759
|
* @param limit - The maximum number of items to return.
|
|
4759
4760
|
* @returns The created {@link Query}.
|
|
4760
|
-
*/ function
|
|
4761
|
-
return ct("limitToLast", t), new
|
|
4761
|
+
*/ function ar(t) {
|
|
4762
|
+
return ct("limitToLast", t), new ur("limitToLast", t, "L" /* Last */);
|
|
4762
4763
|
}
|
|
4763
4764
|
|
|
4764
|
-
class
|
|
4765
|
+
class hr extends nr {
|
|
4765
4766
|
constructor(t, n, e) {
|
|
4766
4767
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4767
4768
|
}
|
|
4768
4769
|
_apply(t) {
|
|
4769
|
-
const n =
|
|
4770
|
-
return new
|
|
4770
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4771
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4771
4772
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, n, t.endAt);
|
|
4772
4773
|
}(t._query, n));
|
|
4773
4774
|
}
|
|
4774
4775
|
}
|
|
4775
4776
|
|
|
4776
|
-
function
|
|
4777
|
-
return new
|
|
4777
|
+
function lr(...t) {
|
|
4778
|
+
return new hr("startAt", t,
|
|
4779
|
+
/*inclusive=*/ !0);
|
|
4778
4780
|
}
|
|
4779
4781
|
|
|
4780
|
-
function
|
|
4781
|
-
return new
|
|
4782
|
-
/*
|
|
4782
|
+
function fr(...t) {
|
|
4783
|
+
return new hr("startAfter", t,
|
|
4784
|
+
/*inclusive=*/ !1);
|
|
4783
4785
|
}
|
|
4784
4786
|
|
|
4785
|
-
class
|
|
4787
|
+
class dr extends nr {
|
|
4786
4788
|
constructor(t, n, e) {
|
|
4787
4789
|
super(), this.type = t, this.bt = n, this.Et = e;
|
|
4788
4790
|
}
|
|
4789
4791
|
_apply(t) {
|
|
4790
|
-
const n =
|
|
4791
|
-
return new
|
|
4792
|
+
const n = pr(t, this.type, this.bt, this.Et);
|
|
4793
|
+
return new fe(t.firestore, t.converter, function(t, n) {
|
|
4792
4794
|
return new an(t.path, t.collectionGroup, t.explicitOrderBy.slice(), t.filters.slice(), t.limit, t.limitType, t.startAt, n);
|
|
4793
4795
|
}(t._query, n));
|
|
4794
4796
|
}
|
|
4795
4797
|
}
|
|
4796
4798
|
|
|
4797
|
-
function
|
|
4798
|
-
return new
|
|
4799
|
+
function wr(...t) {
|
|
4800
|
+
return new dr("endBefore", t,
|
|
4801
|
+
/*inclusive=*/ !1);
|
|
4799
4802
|
}
|
|
4800
4803
|
|
|
4801
|
-
function
|
|
4802
|
-
return new
|
|
4804
|
+
function mr(...t) {
|
|
4805
|
+
return new dr("endAt", t, /*inclusive=*/ !0);
|
|
4803
4806
|
}
|
|
4804
4807
|
|
|
4805
|
-
/** Helper function to create a bound from a document or fields */ function
|
|
4806
|
-
if (e[0] = l(e[0]), e[0] instanceof
|
|
4808
|
+
/** Helper function to create a bound from a document or fields */ function pr(t, n, e, r) {
|
|
4809
|
+
if (e[0] = l(e[0]), e[0] instanceof Ke) return function(t, n, e, r, s) {
|
|
4807
4810
|
if (!r) throw new U(V, `Can't use a DocumentSnapshot that doesn't exist for ${e}().`);
|
|
4808
4811
|
const i = [];
|
|
4809
4812
|
// Because people expect to continue/end a query at the exact document
|
|
@@ -4828,7 +4831,7 @@ function pr(...t) {
|
|
|
4828
4831
|
* Converts a list of field values to a `Bound` for the given query.
|
|
4829
4832
|
*/ (t._query, t.firestore._databaseId, n, e[0]._document, r);
|
|
4830
4833
|
{
|
|
4831
|
-
const s =
|
|
4834
|
+
const s = De(t.firestore);
|
|
4832
4835
|
return function(t, n, e, r, s, i) {
|
|
4833
4836
|
// Use explicit order by's because it has to match the query the user made
|
|
4834
4837
|
const o = t.explicitOrderBy;
|
|
@@ -4844,7 +4847,7 @@ function pr(...t) {
|
|
|
4844
4847
|
const s = new et(e);
|
|
4845
4848
|
u.push(kt(n, s));
|
|
4846
4849
|
} else {
|
|
4847
|
-
const t =
|
|
4850
|
+
const t = Ue(e, r, c);
|
|
4848
4851
|
u.push(t);
|
|
4849
4852
|
}
|
|
4850
4853
|
}
|
|
@@ -4858,7 +4861,7 @@ function pr(...t) {
|
|
|
4858
4861
|
}
|
|
4859
4862
|
}
|
|
4860
4863
|
|
|
4861
|
-
function
|
|
4864
|
+
function yr(t, n, e) {
|
|
4862
4865
|
if ("string" == typeof (e = l(e))) {
|
|
4863
4866
|
if ("" === e) throw new U(R, "Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");
|
|
4864
4867
|
if (!dn(n) && -1 !== e.indexOf("/")) throw new U(R, `Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${e}' contains a '/' character.`);
|
|
@@ -4866,19 +4869,19 @@ function _r(t, n, e) {
|
|
|
4866
4869
|
if (!et.isDocumentKey(r)) throw new U(R, `Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${r}' is not because it has an odd number of segments (${r.length}).`);
|
|
4867
4870
|
return kt(t, new et(r));
|
|
4868
4871
|
}
|
|
4869
|
-
if (e instanceof
|
|
4872
|
+
if (e instanceof le) return kt(t, e._key);
|
|
4870
4873
|
throw new U(R, `Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${ot(e)}.`);
|
|
4871
4874
|
}
|
|
4872
4875
|
|
|
4873
4876
|
/**
|
|
4874
4877
|
* Validates that the value passed into a disjunctive filter satisfies all
|
|
4875
4878
|
* array requirements.
|
|
4876
|
-
*/ function
|
|
4879
|
+
*/ function _r(t, n) {
|
|
4877
4880
|
if (!Array.isArray(t) || 0 === t.length) throw new U(R, `Invalid Query. A non-empty array is required for '${n.toString()}' filters.`);
|
|
4878
4881
|
if (t.length > 10) throw new U(R, `Invalid Query. '${n.toString()}' filters support a maximum of 10 elements in the value array.`);
|
|
4879
4882
|
}
|
|
4880
4883
|
|
|
4881
|
-
function
|
|
4884
|
+
function gr(t, n, e) {
|
|
4882
4885
|
if (!e.isEqual(n)) throw new U(R, `Invalid query. You have a where filter with an inequality (<, <=, !=, not-in, >, or >=) on field '${n.toString()}' and so you must also use '${n.toString()}' as your first argument to orderBy(), but your first orderBy() is on field '${e.toString()}' instead.`);
|
|
4883
4886
|
}
|
|
4884
4887
|
|
|
@@ -4929,7 +4932,7 @@ function vr(t, n, e) {
|
|
|
4929
4932
|
* their `set()` or fails due to invalid data originating from a `toFirestore()`
|
|
4930
4933
|
* call.
|
|
4931
4934
|
*/
|
|
4932
|
-
function
|
|
4935
|
+
function vr(t, n, e) {
|
|
4933
4936
|
let r;
|
|
4934
4937
|
// Cast to `any` in order to satisfy the union type constraint on
|
|
4935
4938
|
// toFirestore().
|
|
@@ -4938,7 +4941,7 @@ function br(t, n, e) {
|
|
|
4938
4941
|
r;
|
|
4939
4942
|
}
|
|
4940
4943
|
|
|
4941
|
-
class
|
|
4944
|
+
class br extends class {
|
|
4942
4945
|
convertValue(t, n = "none") {
|
|
4943
4946
|
switch (xt(t)) {
|
|
4944
4947
|
case 0 /* NullValue */ :
|
|
@@ -4985,7 +4988,7 @@ class Er extends class {
|
|
|
4985
4988
|
})), e;
|
|
4986
4989
|
}
|
|
4987
4990
|
convertGeoPoint(t) {
|
|
4988
|
-
return new
|
|
4991
|
+
return new Te(Nt(t.latitude), Nt(t.longitude));
|
|
4989
4992
|
}
|
|
4990
4993
|
convertArray(t, n) {
|
|
4991
4994
|
return (t.values || []).map((t => this.convertValue(t, n)));
|
|
@@ -5009,7 +5012,7 @@ class Er extends class {
|
|
|
5009
5012
|
}
|
|
5010
5013
|
convertDocumentKey(t, n) {
|
|
5011
5014
|
const e = Z.fromString(t);
|
|
5012
|
-
b(
|
|
5015
|
+
b(Kn(e));
|
|
5013
5016
|
const r = new J(e.get(1), e.get(3)), s = new et(e.popFirst(5));
|
|
5014
5017
|
return r.isEqual(n) ||
|
|
5015
5018
|
// TODO(b/64130202): Somehow support foreign references.
|
|
@@ -5021,11 +5024,11 @@ class Er extends class {
|
|
|
5021
5024
|
super(), this.firestore = t;
|
|
5022
5025
|
}
|
|
5023
5026
|
convertBytes(t) {
|
|
5024
|
-
return new
|
|
5027
|
+
return new be(t);
|
|
5025
5028
|
}
|
|
5026
5029
|
convertReference(t) {
|
|
5027
5030
|
const n = this.convertDocumentKey(t, this.firestore._databaseId);
|
|
5028
|
-
return new
|
|
5031
|
+
return new le(this.firestore, /* converter= */ null, n);
|
|
5029
5032
|
}
|
|
5030
5033
|
}
|
|
5031
5034
|
|
|
@@ -5041,12 +5044,12 @@ class Er extends class {
|
|
|
5041
5044
|
* @param reference - The reference of the document to fetch.
|
|
5042
5045
|
* @returns A Promise resolved with a `DocumentSnapshot` containing the current
|
|
5043
5046
|
* document contents.
|
|
5044
|
-
*/ function
|
|
5045
|
-
const n =
|
|
5046
|
-
return
|
|
5047
|
+
*/ function Er(t) {
|
|
5048
|
+
const n = se((t = ut(t, le)).firestore), e = new br(t.firestore);
|
|
5049
|
+
return ne(n, [ t._key ]).then((n => {
|
|
5047
5050
|
b(1 === n.length);
|
|
5048
5051
|
const r = n[0];
|
|
5049
|
-
return new
|
|
5052
|
+
return new Ke(t.firestore, e, t._key, r.isFoundDocument() ? r : null, t.converter);
|
|
5050
5053
|
}));
|
|
5051
5054
|
}
|
|
5052
5055
|
|
|
@@ -5061,33 +5064,33 @@ class Er extends class {
|
|
|
5061
5064
|
*
|
|
5062
5065
|
* @param query - The `Query` to execute.
|
|
5063
5066
|
* @returns A Promise that will be resolved with the results of the query.
|
|
5064
|
-
*/ function
|
|
5067
|
+
*/ function Tr(t) {
|
|
5065
5068
|
!function(t) {
|
|
5066
5069
|
if (hn(t) && 0 === t.explicitOrderBy.length) throw new U(O, "limitToLast() queries require specifying at least one orderBy() clause");
|
|
5067
|
-
}((t = ut(t,
|
|
5068
|
-
const n =
|
|
5069
|
-
return
|
|
5070
|
-
const r = n.map((n => new
|
|
5070
|
+
}((t = ut(t, fe))._query);
|
|
5071
|
+
const n = se(t.firestore), e = new br(t.firestore);
|
|
5072
|
+
return ee(n, t._query).then((n => {
|
|
5073
|
+
const r = n.map((n => new Je(t.firestore, e, n.key, n, t.converter)));
|
|
5071
5074
|
return hn(t._query) &&
|
|
5072
5075
|
// Limit to last queries reverse the orderBy constraint that was
|
|
5073
5076
|
// specified by the user. As such, we need to reverse the order of the
|
|
5074
5077
|
// results to return the documents in the expected order.
|
|
5075
|
-
r.reverse(), new
|
|
5078
|
+
r.reverse(), new Xe(t, r);
|
|
5076
5079
|
}));
|
|
5077
5080
|
}
|
|
5078
5081
|
|
|
5079
|
-
function
|
|
5080
|
-
const r =
|
|
5081
|
-
return
|
|
5082
|
+
function Ir(t, n, e) {
|
|
5083
|
+
const r = vr((t = ut(t, le)).converter, n, e), s = $e(De(t.firestore), "setDoc", t._key, r, null !== t.converter, e);
|
|
5084
|
+
return te(se(t.firestore), [ s.toMutation(t._key, In.none()) ]);
|
|
5082
5085
|
}
|
|
5083
5086
|
|
|
5084
|
-
function
|
|
5085
|
-
const s =
|
|
5087
|
+
function Ar(t, n, e, ...r) {
|
|
5088
|
+
const s = De((t = ut(t, le)).firestore);
|
|
5086
5089
|
// For Compat types, we have to "extract" the underlying types before
|
|
5087
5090
|
// performing validation.
|
|
5088
5091
|
let i;
|
|
5089
|
-
i = "string" == typeof (n = l(n)) || n instanceof
|
|
5090
|
-
return
|
|
5092
|
+
i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(s, "updateDoc", t._key, n, e, r) : Le(s, "updateDoc", t._key, n);
|
|
5093
|
+
return te(se(t.firestore), [ i.toMutation(t._key, In.exists(!0)) ]);
|
|
5091
5094
|
}
|
|
5092
5095
|
|
|
5093
5096
|
/**
|
|
@@ -5101,8 +5104,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5101
5104
|
* @param reference - A reference to the document to delete.
|
|
5102
5105
|
* @returns A `Promise` resolved once the document has been successfully
|
|
5103
5106
|
* deleted from the backend.
|
|
5104
|
-
*/ function
|
|
5105
|
-
return
|
|
5107
|
+
*/ function Rr(t) {
|
|
5108
|
+
return te(se((t = ut(t, le)).firestore), [ new Vn(t._key, In.none()) ]);
|
|
5106
5109
|
}
|
|
5107
5110
|
|
|
5108
5111
|
/**
|
|
@@ -5119,9 +5122,9 @@ function Rr(t, n, e, ...r) {
|
|
|
5119
5122
|
* @throws Error - If the provided input is not a valid Firestore document.
|
|
5120
5123
|
* @returns A `Promise` resolved with a `DocumentReference` pointing to the
|
|
5121
5124
|
* newly created document after it has been written to the backend.
|
|
5122
|
-
*/ function
|
|
5123
|
-
const e =
|
|
5124
|
-
return
|
|
5125
|
+
*/ function Pr(t, n) {
|
|
5126
|
+
const e = pe(t = ut(t, de)), r = vr(t.converter, n), s = $e(De(t.firestore), "addDoc", e._key, r, null !== e.converter, {});
|
|
5127
|
+
return te(se(t.firestore), [ s.toMutation(e._key, In.exists(!1)) ]).then((() => e));
|
|
5125
5128
|
}
|
|
5126
5129
|
|
|
5127
5130
|
/**
|
|
@@ -5143,15 +5146,15 @@ function Rr(t, n, e, ...r) {
|
|
|
5143
5146
|
/**
|
|
5144
5147
|
* Returns a sentinel for use with {@link @firebase/firestore/lite#(updateDoc:1)} or
|
|
5145
5148
|
* {@link @firebase/firestore/lite#(setDoc:1)} with `{merge: true}` to mark a field for deletion.
|
|
5146
|
-
*/ function
|
|
5147
|
-
return new
|
|
5149
|
+
*/ function Vr() {
|
|
5150
|
+
return new Se("deleteField");
|
|
5148
5151
|
}
|
|
5149
5152
|
|
|
5150
5153
|
/**
|
|
5151
5154
|
* Returns a sentinel used with {@link @firebase/firestore/lite#(setDoc:1)} or {@link @firebase/firestore/lite#(updateDoc:1)} to
|
|
5152
5155
|
* include a server-generated timestamp in the written data.
|
|
5153
|
-
*/ function
|
|
5154
|
-
return new
|
|
5156
|
+
*/ function Nr() {
|
|
5157
|
+
return new xe("serverTimestamp");
|
|
5155
5158
|
}
|
|
5156
5159
|
|
|
5157
5160
|
/**
|
|
@@ -5165,10 +5168,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5165
5168
|
* @param elements - The elements to union into the array.
|
|
5166
5169
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5167
5170
|
* `updateDoc()`.
|
|
5168
|
-
*/ function
|
|
5171
|
+
*/ function Dr(...t) {
|
|
5169
5172
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5170
5173
|
// update() since we'd need the Firestore instance to do this.
|
|
5171
|
-
return new
|
|
5174
|
+
return new qe("arrayUnion", t);
|
|
5172
5175
|
}
|
|
5173
5176
|
|
|
5174
5177
|
/**
|
|
@@ -5181,10 +5184,10 @@ function Rr(t, n, e, ...r) {
|
|
|
5181
5184
|
* @param elements - The elements to remove from the array.
|
|
5182
5185
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5183
5186
|
* `updateDoc()`
|
|
5184
|
-
*/ function
|
|
5187
|
+
*/ function $r(...t) {
|
|
5185
5188
|
// NOTE: We don't actually parse the data until it's used in set() or
|
|
5186
5189
|
// update() since we'd need the Firestore instance to do this.
|
|
5187
|
-
return new
|
|
5190
|
+
return new Oe("arrayRemove", t);
|
|
5188
5191
|
}
|
|
5189
5192
|
|
|
5190
5193
|
/**
|
|
@@ -5205,8 +5208,8 @@ function Rr(t, n, e, ...r) {
|
|
|
5205
5208
|
* @param n - The value to increment by.
|
|
5206
5209
|
* @returns The `FieldValue` sentinel for use in a call to `setDoc()` or
|
|
5207
5210
|
* `updateDoc()`
|
|
5208
|
-
*/ function
|
|
5209
|
-
return new
|
|
5211
|
+
*/ function Sr(t) {
|
|
5212
|
+
return new Ce("increment", t);
|
|
5210
5213
|
}
|
|
5211
5214
|
|
|
5212
5215
|
/**
|
|
@@ -5232,24 +5235,24 @@ function Rr(t, n, e, ...r) {
|
|
|
5232
5235
|
* provides methods for adding writes to the write batch. None of the writes
|
|
5233
5236
|
* will be committed (or visible locally) until {@link WriteBatch.commit} is
|
|
5234
5237
|
* called.
|
|
5235
|
-
*/ class
|
|
5238
|
+
*/ class Fr {
|
|
5236
5239
|
/** @hideconstructor */
|
|
5237
5240
|
constructor(t, n) {
|
|
5238
5241
|
this._firestore = t, this._commitHandler = n, this._mutations = [], this._committed = !1,
|
|
5239
|
-
this._dataReader =
|
|
5242
|
+
this._dataReader = De(t);
|
|
5240
5243
|
}
|
|
5241
5244
|
set(t, n, e) {
|
|
5242
5245
|
this._verifyNotCommitted();
|
|
5243
|
-
const r =
|
|
5246
|
+
const r = xr(t, this._firestore), s = vr(r.converter, n, e), i = $e(this._dataReader, "WriteBatch.set", r._key, s, null !== r.converter, e);
|
|
5244
5247
|
return this._mutations.push(i.toMutation(r._key, In.none())), this;
|
|
5245
5248
|
}
|
|
5246
5249
|
update(t, n, e, ...r) {
|
|
5247
5250
|
this._verifyNotCommitted();
|
|
5248
|
-
const s =
|
|
5251
|
+
const s = xr(t, this._firestore);
|
|
5249
5252
|
// For Compat types, we have to "extract" the underlying types before
|
|
5250
5253
|
// performing validation.
|
|
5251
5254
|
let i;
|
|
5252
|
-
return i = "string" == typeof (n = l(n)) || n instanceof
|
|
5255
|
+
return i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(this._dataReader, "WriteBatch.update", s._key, n, e, r) : Le(this._dataReader, "WriteBatch.update", s._key, n),
|
|
5253
5256
|
this._mutations.push(i.toMutation(s._key, In.exists(!0))), this;
|
|
5254
5257
|
}
|
|
5255
5258
|
/**
|
|
@@ -5259,7 +5262,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5259
5262
|
* @returns This `WriteBatch` instance. Used for chaining method calls.
|
|
5260
5263
|
*/ delete(t) {
|
|
5261
5264
|
this._verifyNotCommitted();
|
|
5262
|
-
const n =
|
|
5265
|
+
const n = xr(t, this._firestore);
|
|
5263
5266
|
return this._mutations = this._mutations.concat(new Vn(n._key, In.none())), this;
|
|
5264
5267
|
}
|
|
5265
5268
|
/**
|
|
@@ -5281,7 +5284,7 @@ function Rr(t, n, e, ...r) {
|
|
|
5281
5284
|
}
|
|
5282
5285
|
}
|
|
5283
5286
|
|
|
5284
|
-
function
|
|
5287
|
+
function xr(t, n) {
|
|
5285
5288
|
if ((t = l(t)).firestore !== n) throw new U(R, "Provided document reference is from a different Firestore instance.");
|
|
5286
5289
|
return t;
|
|
5287
5290
|
}
|
|
@@ -5298,9 +5301,9 @@ function qr(t, n) {
|
|
|
5298
5301
|
*
|
|
5299
5302
|
* @returns A `WriteBatch` that can be used to atomically execute multiple
|
|
5300
5303
|
* writes.
|
|
5301
|
-
*/ function
|
|
5302
|
-
const n =
|
|
5303
|
-
return new
|
|
5304
|
+
*/ function qr(t) {
|
|
5305
|
+
const n = se(t = ut(t, oe));
|
|
5306
|
+
return new Fr(t, (t => te(n, t)));
|
|
5304
5307
|
}
|
|
5305
5308
|
|
|
5306
5309
|
/**
|
|
@@ -5322,7 +5325,7 @@ function qr(t, n) {
|
|
|
5322
5325
|
/**
|
|
5323
5326
|
* Internal transaction object responsible for accumulating the mutations to
|
|
5324
5327
|
* perform and the base versions for any documents read.
|
|
5325
|
-
*/ class
|
|
5328
|
+
*/ class Or {
|
|
5326
5329
|
constructor(t) {
|
|
5327
5330
|
this.datastore = t,
|
|
5328
5331
|
// The version of each document that was read during this transaction.
|
|
@@ -5342,7 +5345,7 @@ function qr(t, n) {
|
|
|
5342
5345
|
}
|
|
5343
5346
|
async lookup(t) {
|
|
5344
5347
|
if (this.ensureCommitNotCalled(), this.mutations.length > 0) throw new U(R, "Firestore transactions require all reads to be executed before all writes.");
|
|
5345
|
-
const n = await
|
|
5348
|
+
const n = await ne(this.datastore, t);
|
|
5346
5349
|
return n.forEach((t => this.recordVersion(t))), n;
|
|
5347
5350
|
}
|
|
5348
5351
|
set(t, n) {
|
|
@@ -5371,7 +5374,7 @@ function qr(t, n) {
|
|
|
5371
5374
|
t.forEach(((t, n) => {
|
|
5372
5375
|
const e = et.fromPath(n);
|
|
5373
5376
|
this.mutations.push(new Nn(e, this.precondition(e)));
|
|
5374
|
-
})), await
|
|
5377
|
+
})), await te(this.datastore, this.mutations), this.committed = !0;
|
|
5375
5378
|
}
|
|
5376
5379
|
recordVersion(t) {
|
|
5377
5380
|
let n;
|
|
@@ -5445,17 +5448,17 @@ function qr(t, n) {
|
|
|
5445
5448
|
* TransactionRunner encapsulates the logic needed to run and retry transactions
|
|
5446
5449
|
* with backoff.
|
|
5447
5450
|
*/
|
|
5448
|
-
class
|
|
5451
|
+
class Cr {
|
|
5449
5452
|
constructor(t, n, e, r) {
|
|
5450
5453
|
this.asyncQueue = t, this.datastore = n, this.updateFunction = e, this.deferred = r,
|
|
5451
|
-
this.Tt = 5, this.It = new
|
|
5454
|
+
this.Tt = 5, this.It = new Xn(this.asyncQueue, "transaction_retry" /* TransactionRetry */);
|
|
5452
5455
|
}
|
|
5453
5456
|
/** Runs the transaction and sets the result on deferred. */ run() {
|
|
5454
5457
|
this.Tt -= 1, this.At();
|
|
5455
5458
|
}
|
|
5456
5459
|
At() {
|
|
5457
5460
|
this.It.W((async () => {
|
|
5458
|
-
const t = new
|
|
5461
|
+
const t = new Or(this.datastore), n = this.Rt(t);
|
|
5459
5462
|
n && n.then((n => {
|
|
5460
5463
|
this.asyncQueue.enqueueAndForget((() => t.commit().then((() => {
|
|
5461
5464
|
this.deferred.resolve(n);
|
|
@@ -5545,7 +5548,7 @@ class Lr {
|
|
|
5545
5548
|
* See the License for the specific language governing permissions and
|
|
5546
5549
|
* limitations under the License.
|
|
5547
5550
|
*/
|
|
5548
|
-
/** The Platform's 'document' implementation or null if not available. */ function
|
|
5551
|
+
/** The Platform's 'document' implementation or null if not available. */ function Lr() {
|
|
5549
5552
|
// `document` is not always available, e.g. in ReactNative and WebWorkers.
|
|
5550
5553
|
// eslint-disable-next-line no-restricted-globals
|
|
5551
5554
|
return "undefined" != typeof document ? document : null;
|
|
@@ -5577,7 +5580,7 @@ class Lr {
|
|
|
5577
5580
|
* Note: We implement `PromiseLike` instead of `Promise`, as the `Promise` type
|
|
5578
5581
|
* in newer versions of TypeScript defines `finally`, which is not available in
|
|
5579
5582
|
* IE.
|
|
5580
|
-
*/ class
|
|
5583
|
+
*/ class kr {
|
|
5581
5584
|
constructor(t, n, e, r, s) {
|
|
5582
5585
|
this.asyncQueue = t, this.timerId = n, this.targetTimeMs = e, this.op = r, this.removalCallback = s,
|
|
5583
5586
|
this.deferred = new j, this.then = this.deferred.promise.then.bind(this.deferred.promise),
|
|
@@ -5600,7 +5603,7 @@ class Lr {
|
|
|
5600
5603
|
* PORTING NOTE: This exists to prevent making removeDelayedOperation() and
|
|
5601
5604
|
* the DelayedOperation class public.
|
|
5602
5605
|
*/ static createAndSchedule(t, n, e, r, s) {
|
|
5603
|
-
const i = Date.now() + e, o = new
|
|
5606
|
+
const i = Date.now() + e, o = new kr(t, n, i, r, s);
|
|
5604
5607
|
return o.start(e), o;
|
|
5605
5608
|
}
|
|
5606
5609
|
/**
|
|
@@ -5649,7 +5652,7 @@ class Lr {
|
|
|
5649
5652
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
5650
5653
|
* See the License for the specific language governing permissions and
|
|
5651
5654
|
* limitations under the License.
|
|
5652
|
-
*/ class
|
|
5655
|
+
*/ class Ur {
|
|
5653
5656
|
constructor() {
|
|
5654
5657
|
// The last promise in the queue.
|
|
5655
5658
|
this.Nt = Promise.resolve(),
|
|
@@ -5672,15 +5675,15 @@ class Lr {
|
|
|
5672
5675
|
// List of TimerIds to fast-forward delays for.
|
|
5673
5676
|
this.Ot = [],
|
|
5674
5677
|
// Backoff timer used to schedule retries for retryable operations
|
|
5675
|
-
this.It = new
|
|
5678
|
+
this.It = new Xn(this, "async_queue_retry" /* AsyncQueueRetry */),
|
|
5676
5679
|
// Visibility handler that triggers an immediate retry of all retryable
|
|
5677
5680
|
// operations. Meant to speed up recovery when we regain file system access
|
|
5678
5681
|
// after page comes into foreground.
|
|
5679
5682
|
this.Ct = () => {
|
|
5680
|
-
const t =
|
|
5683
|
+
const t = Lr();
|
|
5681
5684
|
t && p("AsyncQueue", "Visibility state changed to " + t.visibilityState), this.It.H();
|
|
5682
5685
|
};
|
|
5683
|
-
const t =
|
|
5686
|
+
const t = Lr();
|
|
5684
5687
|
t && "function" == typeof t.addEventListener && t.addEventListener("visibilitychange", this.Ct);
|
|
5685
5688
|
}
|
|
5686
5689
|
get isShuttingDown() {
|
|
@@ -5701,7 +5704,7 @@ class Lr {
|
|
|
5701
5704
|
enterRestrictedMode(t) {
|
|
5702
5705
|
if (!this.$t) {
|
|
5703
5706
|
this.$t = !0, this.qt = t || !1;
|
|
5704
|
-
const n =
|
|
5707
|
+
const n = Lr();
|
|
5705
5708
|
n && "function" == typeof n.removeEventListener && n.removeEventListener("visibilitychange", this.Ct);
|
|
5706
5709
|
}
|
|
5707
5710
|
}
|
|
@@ -5833,7 +5836,7 @@ class Lr {
|
|
|
5833
5836
|
this.Lt(),
|
|
5834
5837
|
// Fast-forward delays for timerIds that have been overriden.
|
|
5835
5838
|
this.Ot.indexOf(t) > -1 && (n = 0);
|
|
5836
|
-
const r =
|
|
5839
|
+
const r = kr.createAndSchedule(this, t, n, e, (t => this.jt(t)));
|
|
5837
5840
|
return this.St.push(r), r;
|
|
5838
5841
|
}
|
|
5839
5842
|
Lt() {
|
|
@@ -5887,10 +5890,10 @@ class Lr {
|
|
|
5887
5890
|
}
|
|
5888
5891
|
}
|
|
5889
5892
|
|
|
5890
|
-
class
|
|
5893
|
+
class jr {
|
|
5891
5894
|
/** @hideconstructor */
|
|
5892
5895
|
constructor(t, n) {
|
|
5893
|
-
this._firestore = t, this._transaction = n, this._dataReader =
|
|
5896
|
+
this._firestore = t, this._transaction = n, this._dataReader = De(t);
|
|
5894
5897
|
}
|
|
5895
5898
|
/**
|
|
5896
5899
|
* Reads the document referenced by the provided {@link DocumentReference}.
|
|
@@ -5898,25 +5901,25 @@ class Mr {
|
|
|
5898
5901
|
* @param documentRef - A reference to the document to be read.
|
|
5899
5902
|
* @returns A `DocumentSnapshot` with the read data.
|
|
5900
5903
|
*/ get(t) {
|
|
5901
|
-
const n =
|
|
5904
|
+
const n = xr(t, this._firestore), e = new br(this._firestore);
|
|
5902
5905
|
return this._transaction.lookup([ n._key ]).then((t => {
|
|
5903
5906
|
if (!t || 1 !== t.length) return v();
|
|
5904
5907
|
const r = t[0];
|
|
5905
|
-
if (r.isFoundDocument()) return new
|
|
5906
|
-
if (r.isNoDocument()) return new
|
|
5908
|
+
if (r.isFoundDocument()) return new Ke(this._firestore, e, r.key, r, n.converter);
|
|
5909
|
+
if (r.isNoDocument()) return new Ke(this._firestore, e, n._key, null, n.converter);
|
|
5907
5910
|
throw v();
|
|
5908
5911
|
}));
|
|
5909
5912
|
}
|
|
5910
5913
|
set(t, n, e) {
|
|
5911
|
-
const r =
|
|
5914
|
+
const r = xr(t, this._firestore), s = vr(r.converter, n, e), i = $e(this._dataReader, "Transaction.set", r._key, s, null !== r.converter, e);
|
|
5912
5915
|
return this._transaction.set(r._key, i), this;
|
|
5913
5916
|
}
|
|
5914
5917
|
update(t, n, e, ...r) {
|
|
5915
|
-
const s =
|
|
5918
|
+
const s = xr(t, this._firestore);
|
|
5916
5919
|
// For Compat types, we have to "extract" the underlying types before
|
|
5917
5920
|
// performing validation.
|
|
5918
5921
|
let i;
|
|
5919
|
-
return i = "string" == typeof (n = l(n)) || n instanceof
|
|
5922
|
+
return i = "string" == typeof (n = l(n)) || n instanceof ge ? ke(this._dataReader, "Transaction.update", s._key, n, e, r) : Le(this._dataReader, "Transaction.update", s._key, n),
|
|
5920
5923
|
this._transaction.update(s._key, i), this;
|
|
5921
5924
|
}
|
|
5922
5925
|
/**
|
|
@@ -5925,7 +5928,7 @@ class Mr {
|
|
|
5925
5928
|
* @param documentRef - A reference to the document to be deleted.
|
|
5926
5929
|
* @returns This `Transaction` instance. Used for chaining method calls.
|
|
5927
5930
|
*/ delete(t) {
|
|
5928
|
-
const n =
|
|
5931
|
+
const n = xr(t, this._firestore);
|
|
5929
5932
|
return this._transaction.delete(n._key), this;
|
|
5930
5933
|
}
|
|
5931
5934
|
}
|
|
@@ -5946,9 +5949,9 @@ class Mr {
|
|
|
5946
5949
|
* (the `updateFunction` returned a failed promise), the promise returned by the
|
|
5947
5950
|
* `updateFunction `is returned here. Otherwise, if the transaction failed, a
|
|
5948
5951
|
* rejected promise with the corresponding failure error is returned.
|
|
5949
|
-
*/ function
|
|
5950
|
-
const e =
|
|
5951
|
-
return new
|
|
5952
|
+
*/ function Mr(t, n) {
|
|
5953
|
+
const e = se(t = ut(t, oe)), r = new j;
|
|
5954
|
+
return new Cr(new Ur, e, (e => n(new jr(t, e))), r).run(), r.promise;
|
|
5952
5955
|
}
|
|
5953
5956
|
|
|
5954
5957
|
/**
|
|
@@ -5961,11 +5964,11 @@ class Mr {
|
|
|
5961
5964
|
*/ !function(t) {
|
|
5962
5965
|
d = t;
|
|
5963
5966
|
}(`${s}_lite`), e(new i("firestore/lite", ((t, {options: n}) => {
|
|
5964
|
-
const e = t.getProvider("app").getImmediate(), r = new
|
|
5967
|
+
const e = t.getProvider("app").getImmediate(), r = new oe(e, new Q(t.getProvider("auth-internal")), new H(t.getProvider("app-check-internal")));
|
|
5965
5968
|
return n && r._setSettings(n), r;
|
|
5966
5969
|
}), "PUBLIC")),
|
|
5967
5970
|
// RUNTIME_ENV and BUILD_TARGET are replaced by real values during the compilation
|
|
5968
|
-
r("firestore-lite", "3.4.4-canary.
|
|
5971
|
+
r("firestore-lite", "3.4.4-canary.7f959622d", "rn"), r("firestore-lite", "3.4.4-canary.7f959622d", "esm2017");
|
|
5969
5972
|
|
|
5970
|
-
export {
|
|
5973
|
+
export { be as Bytes, de as CollectionReference, le as DocumentReference, Ke as DocumentSnapshot, ge as FieldPath, Ee as FieldValue, oe as Firestore, U as FirestoreError, Te as GeoPoint, fe as Query, nr as QueryConstraint, Je as QueryDocumentSnapshot, Xe as QuerySnapshot, vt as Timestamp, jr as Transaction, Fr as WriteBatch, Pr as addDoc, $r as arrayRemove, Dr as arrayUnion, we as collection, me as collectionGroup, ae as connectFirestoreEmulator, Rr as deleteDoc, Vr as deleteField, pe as doc, ve as documentId, mr as endAt, wr as endBefore, Er as getDoc, Tr as getDocs, ce as getFirestore, Sr as increment, ue as initializeFirestore, cr as limit, ar as limitToLast, or as orderBy, er as query, _e as queryEqual, ye as refEqual, Mr as runTransaction, Nr as serverTimestamp, Ir as setDoc, m as setLogLevel, Ze as snapshotEqual, fr as startAfter, lr as startAt, he as terminate, Ar as updateDoc, sr as where, qr as writeBatch };
|
|
5971
5974
|
//# sourceMappingURL=index.rn.esm2017.js.map
|