@livequery/client 1.0.40 → 1.0.41
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/build/Collection.js +13 -19
- package/package.json +1 -1
package/build/Collection.js
CHANGED
|
@@ -69,32 +69,32 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
69
69
|
this.collection_options.realtime = realtime;
|
|
70
70
|
}
|
|
71
71
|
sync(stream, from_local = false) {
|
|
72
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
73
73
|
const realtime = (_a = this.collection_options.realtime) !== null && _a !== void 0 ? _a : true;
|
|
74
74
|
const actions = { update: false, reindex: false };
|
|
75
|
-
for (const { data, error } of stream) {
|
|
75
|
+
for (const { data, error, ref } of stream) {
|
|
76
76
|
// Error & paging
|
|
77
77
|
if (error) {
|
|
78
78
|
__classPrivateFieldGet(this, _CollectionObservable_state, "f").error = error;
|
|
79
79
|
actions.update = true;
|
|
80
80
|
}
|
|
81
81
|
if (((_b = data === null || data === void 0 ? void 0 : data.paging) === null || _b === void 0 ? void 0 : _b.n) == 0) {
|
|
82
|
-
__classPrivateFieldGet(this,
|
|
83
|
-
|
|
82
|
+
__classPrivateFieldGet(this, _CollectionObservable_next_cursor, "f")[ref] = (_c = data === null || data === void 0 ? void 0 : data.paging) === null || _c === void 0 ? void 0 : _c.next_cursor;
|
|
83
|
+
__classPrivateFieldGet(this, _CollectionObservable_state, "f").has_more = Object.values(__classPrivateFieldGet(this, _CollectionObservable_next_cursor, "f")).some(v => v && v != '#');
|
|
84
84
|
__classPrivateFieldGet(this, _CollectionObservable_state, "f").loading = false;
|
|
85
85
|
actions.update = true;
|
|
86
86
|
}
|
|
87
87
|
// Sync
|
|
88
88
|
for (const change of (data === null || data === void 0 ? void 0 : data.changes) || []) {
|
|
89
|
-
if (!((
|
|
89
|
+
if (!((_d = change === null || change === void 0 ? void 0 : change.data) === null || _d === void 0 ? void 0 : _d.id))
|
|
90
90
|
continue;
|
|
91
91
|
const { data: payload, type } = change;
|
|
92
92
|
this.$changes.next(change);
|
|
93
|
-
const index = (
|
|
93
|
+
const index = (_e = __classPrivateFieldGet(this, _CollectionObservable_IdMap, "f").get(payload.id)) !== null && _e !== void 0 ? _e : -1;
|
|
94
94
|
if (index == -1 && type == 'added') {
|
|
95
95
|
if (
|
|
96
96
|
// Is first value from HTTP query
|
|
97
|
-
((
|
|
97
|
+
((_f = data === null || data === void 0 ? void 0 : data.paging) === null || _f === void 0 ? void 0 : _f.n) == 0
|
|
98
98
|
|| (
|
|
99
99
|
// Is realtime update that match filters
|
|
100
100
|
(realtime || from_local) && Object
|
|
@@ -158,7 +158,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
if (actions.reindex) {
|
|
161
|
-
__classPrivateFieldGet(this, _CollectionObservable_state, "f").items = __classPrivateFieldGet(this, _CollectionObservable_state, "f").items.sort((0, get_sort_function_1.get_sort_function)(__classPrivateFieldGet(this, _CollectionObservable_state, "f").items[0], ((
|
|
161
|
+
__classPrivateFieldGet(this, _CollectionObservable_state, "f").items = __classPrivateFieldGet(this, _CollectionObservable_state, "f").items.sort((0, get_sort_function_1.get_sort_function)(__classPrivateFieldGet(this, _CollectionObservable_state, "f").items[0], ((_h = (_g = this.collection_options) === null || _g === void 0 ? void 0 : _g.filters) === null || _h === void 0 ? void 0 : _h._order_by) || 'created_at', (_k = (_j = this.collection_options) === null || _j === void 0 ? void 0 : _j.filters) === null || _k === void 0 ? void 0 : _k._sort));
|
|
162
162
|
__classPrivateFieldGet(this, _CollectionObservable_IdMap, "f").clear();
|
|
163
163
|
__classPrivateFieldGet(this, _CollectionObservable_state, "f").items.map((item, index) => __classPrivateFieldGet(this, _CollectionObservable_IdMap, "f").set(item.id, index));
|
|
164
164
|
}
|
|
@@ -181,17 +181,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
181
181
|
.transporter
|
|
182
182
|
.query(ref, Object.assign(Object.assign({}, options), { _cursor: __classPrivateFieldGet(this, _CollectionObservable_next_cursor, "f")[ref] }))));
|
|
183
183
|
const reload = () => queries.map(q => q.reload());
|
|
184
|
-
const $ = (0, rxjs_1.merge)(...queries.map((q, index) => q.pipe((0, operators_1.map)(data => (Object.assign(Object.assign({}, data), { ref: has_more_data_refs[index] })))))).pipe((0, operators_1.
|
|
185
|
-
error: list.find(e => e.error).error,
|
|
186
|
-
data: {
|
|
187
|
-
changes: list.map(l => l.data.changes).flat(2),
|
|
188
|
-
paging: {
|
|
189
|
-
has_more: list.some(item => { var _a, _b; return (_b = (_a = item === null || item === void 0 ? void 0 : item.data) === null || _a === void 0 ? void 0 : _a.paging) === null || _b === void 0 ? void 0 : _b.has_more; }),
|
|
190
|
-
n: Math.max(0, ...list.map(l => { var _a, _b; return (_b = (_a = l.data) === null || _a === void 0 ? void 0 : _a.paging) === null || _b === void 0 ? void 0 : _b.n; }).filter(x => x != undefined)),
|
|
191
|
-
next_cursor: list.reduce((p, c) => { var _a, _b; return (Object.assign(Object.assign({}, p), { [c.ref]: ((_b = (_a = c.data) === null || _a === void 0 ? void 0 : _a.paging) === null || _b === void 0 ? void 0 : _b.next_cursor) || '#' })); }, {})
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
})), (0, operators_1.toArray)(), (0, operators_1.map)(data => this.sync(data)));
|
|
184
|
+
const $ = (0, rxjs_1.merge)(...queries.map((q, index) => q.pipe((0, operators_1.map)(data => (Object.assign(Object.assign({}, data), { ref: has_more_data_refs[index] })))))).pipe((0, operators_1.bufferTime)(500), (0, operators_1.filter)(list => list.length > 0), (0, operators_1.map)(data => this.sync(data)));
|
|
195
185
|
const subscription = Object.assign($.subscribe(), { reload });
|
|
196
186
|
__classPrivateFieldGet(this, _CollectionObservable_subscriptions, "f").add(subscription);
|
|
197
187
|
}
|
|
@@ -222,6 +212,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
222
212
|
const { id, ref } = __classPrivateFieldGet(this, _CollectionObservable_instances, "m", _CollectionObservable_find_ref_by_id).call(this, update_payload_id);
|
|
223
213
|
// Trigger local update
|
|
224
214
|
this.sync([{
|
|
215
|
+
ref,
|
|
225
216
|
data: {
|
|
226
217
|
changes: [{
|
|
227
218
|
data: Object.assign(Object.assign({}, payload), { id, __updating: true }),
|
|
@@ -235,6 +226,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
235
226
|
}
|
|
236
227
|
catch (e) {
|
|
237
228
|
this.sync([{
|
|
229
|
+
ref,
|
|
238
230
|
data: {
|
|
239
231
|
changes: [{
|
|
240
232
|
data: { id, __updating: false },
|
|
@@ -251,6 +243,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
251
243
|
return __awaiter(this, void 0, void 0, function* () {
|
|
252
244
|
const { id, ref } = __classPrivateFieldGet(this, _CollectionObservable_instances, "m", _CollectionObservable_find_ref_by_id).call(this, remove_document_id);
|
|
253
245
|
this.sync([{
|
|
246
|
+
ref,
|
|
254
247
|
data: {
|
|
255
248
|
changes: [{
|
|
256
249
|
data: { id, __removing: true },
|
|
@@ -265,6 +258,7 @@ class CollectionObservable extends rxjs_1.Observable {
|
|
|
265
258
|
}
|
|
266
259
|
catch (e) {
|
|
267
260
|
this.sync([{
|
|
261
|
+
ref,
|
|
268
262
|
data: {
|
|
269
263
|
changes: [{
|
|
270
264
|
data: { id, __removing: false },
|