@squidcloud/local-backend 1.0.61 → 1.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/common/src/application.schemas.d.ts +562 -418
  2. package/dist/common/src/application.schemas.js +218 -99
  3. package/dist/common/src/application.schemas.js.map +1 -1
  4. package/dist/common/src/application.types.d.ts +40 -82
  5. package/dist/common/src/application.types.js.map +1 -1
  6. package/dist/common/src/index.d.ts +2 -0
  7. package/dist/common/src/index.js +2 -0
  8. package/dist/common/src/index.js.map +1 -1
  9. package/dist/common/src/integrations/ai_assistant.types.d.ts +5 -11
  10. package/dist/common/src/integrations/api.types.d.ts +5 -5
  11. package/dist/common/src/integrations/database.types.d.ts +3 -8
  12. package/dist/common/src/integrations/index.d.ts +27 -4
  13. package/dist/common/src/integrations/index.js +7 -1
  14. package/dist/common/src/integrations/index.js.map +1 -1
  15. package/dist/common/src/query/base-query-builder.d.ts +1 -30
  16. package/dist/common/src/query/base-query-builder.js +1 -259
  17. package/dist/common/src/query/base-query-builder.js.map +1 -1
  18. package/dist/common/src/query/index.d.ts +1 -0
  19. package/dist/common/src/query/index.js +1 -0
  20. package/dist/common/src/query/index.js.map +1 -1
  21. package/dist/common/src/query/pagination.d.ts +42 -0
  22. package/dist/common/src/query/pagination.js +165 -0
  23. package/dist/common/src/query/pagination.js.map +1 -0
  24. package/dist/common/src/query.types.d.ts +5 -0
  25. package/dist/common/src/query.types.js.map +1 -1
  26. package/dist/common/src/socket.types.d.ts +7 -3
  27. package/dist/common/src/utils/global.utils.d.ts +10 -0
  28. package/dist/common/src/utils/global.utils.js +47 -0
  29. package/dist/common/src/utils/global.utils.js.map +1 -0
  30. package/dist/common/src/utils/http.js +1 -1
  31. package/dist/common/src/utils/http.js.map +1 -1
  32. package/dist/common/src/websocket.impl.d.ts +21 -0
  33. package/dist/common/src/websocket.impl.js +75 -0
  34. package/dist/common/src/websocket.impl.js.map +1 -0
  35. package/dist/internal-common/src/dao.types.d.ts +46 -0
  36. package/dist/internal-common/src/dao.types.js +3 -0
  37. package/dist/internal-common/src/dao.types.js.map +1 -0
  38. package/dist/internal-common/src/index.d.ts +4 -4
  39. package/dist/internal-common/src/index.js +5 -5
  40. package/dist/internal-common/src/index.js.map +1 -1
  41. package/dist/internal-common/src/local-dev.types.d.ts +5 -1
  42. package/dist/local-backend/src/local-backend-socket.service.d.ts +2 -1
  43. package/dist/local-backend/src/local-backend-socket.service.js +45 -42
  44. package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
  45. package/dist/tsconfig.build.tsbuildinfo +1 -1
  46. package/package.json +2 -2
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Pagination = exports.BaseQueryBuilder = void 0;
4
- const rxjs_1 = require("rxjs");
5
- const assert_1 = require("../utils/assert");
6
- const object_1 = require("../utils/object");
3
+ exports.BaseQueryBuilder = void 0;
7
4
  class BaseQueryBuilder {
8
5
  eq(fieldName, value) {
9
6
  return this.where(fieldName, '==', value);
@@ -37,259 +34,4 @@ class BaseQueryBuilder {
37
34
  }
38
35
  }
39
36
  exports.BaseQueryBuilder = BaseQueryBuilder;
40
- class SnapshotEmitterWrapper {
41
- constructor(snapshotEmitter, options, forward) {
42
- this.options = options;
43
- this.forward = forward;
44
- this.destroySubject = new rxjs_1.Subject();
45
- this.data = new rxjs_1.BehaviorSubject(undefined);
46
- snapshotEmitter
47
- .snapshots(this.options.subscribe)
48
- .pipe((0, rxjs_1.takeUntil)(this.destroySubject))
49
- .subscribe((data) => this.data.next(forward ? data : this.reverse(data)));
50
- this.destroySubject.subscribe(() => this.data.complete());
51
- }
52
- reverse(data) {
53
- const slice = data.slice(0, this.options.pageSize).reverse();
54
- return [...slice, ...data.slice(this.options.pageSize)];
55
- }
56
- destroy() {
57
- this.destroySubject.next();
58
- this.destroySubject.complete();
59
- }
60
- }
61
- class Pagination {
62
- constructor(snapshotEmitter, options = {}) {
63
- this.isDestroyed = new rxjs_1.BehaviorSubject(false);
64
- this.destroyedObs = this.isDestroyed.pipe((0, rxjs_1.filter)(Boolean), (0, rxjs_1.take)(1));
65
- this._observeState = new rxjs_1.BehaviorSubject({
66
- data: [],
67
- hasNext: false,
68
- hasPrev: false,
69
- isLoading: true,
70
- });
71
- this.currentPageSnapshotEmitterWrapperSubject = new rxjs_1.BehaviorSubject(undefined);
72
- this.options = Object.assign({ pageSize: 100, subscribe: true }, options);
73
- this.templateSnapshotEmitter = snapshotEmitter.clone();
74
- if (this.options.subscribe) {
75
- this.firstPageSnapshotEmitterWrapper = new SnapshotEmitterWrapper(this.templateSnapshotEmitter.clone().limit(Math.min(this.options.pageSize * 3, 2000)), this.options, true);
76
- this.firstPageDataAvailable = (0, rxjs_1.firstValueFrom)(this.firstPageSnapshotEmitterWrapper.data.pipe((0, rxjs_1.filter)(Boolean), (0, rxjs_1.raceWith)(this.isDestroyed)));
77
- this.firstPageSnapshotEmitterWrapper.data.pipe((0, rxjs_1.filter)(Boolean)).subscribe((data) => {
78
- if (!data.length) {
79
- this.resetToFirstPageData();
80
- return;
81
- }
82
- if (!this.currentPageSnapshotEmitterWrapperSubject.value) {
83
- this._observeState.next({
84
- data: data.slice(0, this.options.pageSize),
85
- hasNext: data.length > this.options.pageSize,
86
- hasPrev: false,
87
- isLoading: false,
88
- });
89
- }
90
- else if (!this._observeState.value.hasPrev &&
91
- this.templateSnapshotEmitter.extractData(data[0]) !==
92
- this.templateSnapshotEmitter.extractData(this._observeState.value.data[0])) {
93
- this._observeState.next(Object.assign(Object.assign({}, this._observeState.value), { hasPrev: true }));
94
- }
95
- });
96
- }
97
- else {
98
- const firstPageEmitter = this.templateSnapshotEmitter.clone().limit(this.options.pageSize + 1);
99
- this.currentPageSnapshotEmitterWrapperSubject.next(new SnapshotEmitterWrapper(firstPageEmitter, this.options, true));
100
- }
101
- this.currentPageSnapshotEmitterWrapperSubject
102
- .pipe((0, rxjs_1.takeUntil)(this.destroyedObs), (0, rxjs_1.startWith)(undefined), (0, rxjs_1.pairwise)())
103
- .subscribe(([before, after]) => {
104
- if (before)
105
- before.destroy();
106
- if (!after)
107
- return;
108
- after.data.pipe((0, rxjs_1.filter)(Boolean)).subscribe((data) => {
109
- var _a, _b, _c;
110
- if (after.forward) {
111
- let hasPrev = true;
112
- if (this.options.subscribe) {
113
- const firstPageData = (0, assert_1.truthy)((_a = this.firstPageSnapshotEmitterWrapper) === null || _a === void 0 ? void 0 : _a.data.value, 'NO_FIRST_PAGE_DATA');
114
- if (!firstPageData.length || !data.length) {
115
- this.resetToFirstPageData();
116
- return;
117
- }
118
- if (this.templateSnapshotEmitter.extractData(firstPageData[0]) ===
119
- this.templateSnapshotEmitter.extractData(data[0])) {
120
- this.resetToFirstPageData();
121
- return;
122
- }
123
- }
124
- else {
125
- hasPrev = this._observeState.value.hasNext;
126
- if (hasPrev && !data.length) {
127
- this.resetToFirstPageData();
128
- return;
129
- }
130
- }
131
- this._observeState.next({
132
- data: data.slice(0, this.options.pageSize),
133
- hasNext: data.length > this.options.pageSize,
134
- hasPrev,
135
- isLoading: false,
136
- });
137
- }
138
- else {
139
- let hasNext = true;
140
- if (this.options.subscribe) {
141
- if (data.length < this.options.pageSize) {
142
- this.resetToFirstPageData();
143
- return;
144
- }
145
- const firstPageData = (0, assert_1.truthy)((_b = this.firstPageSnapshotEmitterWrapper) === null || _b === void 0 ? void 0 : _b.data.value, 'NO_FIRST_PAGE_DATA');
146
- if (!firstPageData ||
147
- !data.length ||
148
- this.templateSnapshotEmitter.extractData(firstPageData[0]) ===
149
- this.templateSnapshotEmitter.extractData(data[0])) {
150
- this.resetToFirstPageData();
151
- return;
152
- }
153
- const lastPageData = (0, assert_1.truthy)((_c = this.lastPageSnapshotEmitterWrapper) === null || _c === void 0 ? void 0 : _c.data.value, 'NO_LAST_PAGE_DATA');
154
- if (this.templateSnapshotEmitter.extractData(lastPageData[lastPageData.length - 1]) ===
155
- this.templateSnapshotEmitter.extractData(data[Math.min(data.length, this.options.pageSize) - 1])) {
156
- hasNext = false;
157
- }
158
- }
159
- const hasPrev = this.options.subscribe || data.length > this.options.pageSize;
160
- if (!data.length && this._observeState.value.hasPrev) {
161
- this.resetToFirstPageData();
162
- return;
163
- }
164
- this._observeState.next({
165
- data: data.slice(0, this.options.pageSize),
166
- hasNext: hasNext,
167
- hasPrev: hasPrev,
168
- isLoading: false,
169
- });
170
- }
171
- });
172
- });
173
- }
174
- async next() {
175
- if (this.isDestroyed.value)
176
- return this._observeState.value;
177
- await this.firstPageDataAvailable;
178
- if (this.isDestroyed.value)
179
- return this._observeState.value;
180
- const currentState = this._observeState.value;
181
- if (currentState.isLoading || !currentState.hasNext)
182
- return this._observeState.value;
183
- const currentData = currentState.data;
184
- const lastDoc = this.templateSnapshotEmitter.extractData((0, assert_1.truthy)(currentData[this.options.pageSize - 1], 'NO_LAST_ITEM'));
185
- const nextPageSnapshotEmitter = this.templateSnapshotEmitter
186
- .clone()
187
- .limit(Math.min(this.options.pageSize * 3, 2000))
188
- .addCompositeCondition(this.templateSnapshotEmitter.getSortOrders().map((sortOrder) => {
189
- return {
190
- fieldName: sortOrder.fieldName,
191
- operator: sortOrder.asc ? '>' : '<',
192
- value: (0, object_1.getInPath)(lastDoc, sortOrder.fieldName),
193
- };
194
- }));
195
- this._observeState.next(Object.assign(Object.assign({}, currentState), { isLoading: true }));
196
- this.currentPageSnapshotEmitterWrapperSubject.next(new SnapshotEmitterWrapper(nextPageSnapshotEmitter, this.options, true));
197
- return await this.waitForData();
198
- }
199
- async prev() {
200
- if (this.isDestroyed.value)
201
- return this._observeState.value;
202
- await this.firstPageDataAvailable;
203
- if (this.options.subscribe) {
204
- this.createLastPageSnapshotEmitterWrapper();
205
- await this.lastPageDataAvailable;
206
- }
207
- if (this.isDestroyed.value)
208
- return this._observeState.value;
209
- const currentState = this._observeState.value;
210
- if (currentState.isLoading || !currentState.hasPrev)
211
- return this._observeState.value;
212
- const currentData = currentState.data;
213
- const firstDoc = this.templateSnapshotEmitter.extractData((0, assert_1.truthy)(currentData[0], 'NO_FIRST_ITEM'));
214
- const prevPageSnapshotEmitter = this.templateSnapshotEmitter
215
- .clone()
216
- .flipSortOrder()
217
- .limit(Math.min(this.options.pageSize * 3, 2000));
218
- prevPageSnapshotEmitter.addCompositeCondition(prevPageSnapshotEmitter.getSortOrders().map((sortOrder) => {
219
- return {
220
- fieldName: sortOrder.fieldName,
221
- operator: sortOrder.asc ? '>' : '<',
222
- value: (0, object_1.getInPath)(firstDoc, sortOrder.fieldName),
223
- };
224
- }));
225
- this._observeState.next(Object.assign(Object.assign({}, currentState), { isLoading: true }));
226
- this.currentPageSnapshotEmitterWrapperSubject.next(new SnapshotEmitterWrapper(prevPageSnapshotEmitter, this.options, false));
227
- return await this.waitForData();
228
- }
229
- unsubscribe() {
230
- this.isDestroyed.next(true);
231
- this.isDestroyed.complete();
232
- if (this.firstPageSnapshotEmitterWrapper) {
233
- this.firstPageSnapshotEmitterWrapper.destroy();
234
- }
235
- if (this.currentPageSnapshotEmitterWrapperSubject.value) {
236
- this.currentPageSnapshotEmitterWrapperSubject.value.destroy();
237
- }
238
- if (this.lastPageSnapshotEmitterWrapper) {
239
- this.lastPageSnapshotEmitterWrapper.destroy();
240
- }
241
- this.currentPageSnapshotEmitterWrapperSubject.complete();
242
- this._observeState.complete();
243
- }
244
- observeState() {
245
- return this._observeState.asObservable();
246
- }
247
- async waitForData() {
248
- if (!this._observeState.value.isLoading)
249
- return this._observeState.value;
250
- await (0, rxjs_1.firstValueFrom)(this._observeState.pipe((0, rxjs_1.filter)((state) => !state.isLoading), (0, rxjs_1.take)(1), (0, rxjs_1.raceWith)(this.destroyedObs)));
251
- return this._observeState.value;
252
- }
253
- createLastPageSnapshotEmitterWrapper() {
254
- if (this.lastPageSnapshotEmitterWrapper)
255
- return;
256
- const lastPageEmitter = this.templateSnapshotEmitter
257
- .clone()
258
- .flipSortOrder()
259
- .limit(Math.min(this.options.pageSize * 3, 2000));
260
- this.lastPageSnapshotEmitterWrapper = new SnapshotEmitterWrapper(lastPageEmitter, this.options, false);
261
- this.lastPageDataAvailable = (0, rxjs_1.firstValueFrom)(this.lastPageSnapshotEmitterWrapper.data.pipe((0, rxjs_1.filter)(Boolean), (0, rxjs_1.raceWith)(this.destroyedObs)));
262
- this.lastPageSnapshotEmitterWrapper.data.pipe((0, rxjs_1.filter)(Boolean)).subscribe((data) => {
263
- if (!this.currentPageSnapshotEmitterWrapperSubject) {
264
- return;
265
- }
266
- if (!data.length) {
267
- return;
268
- }
269
- if (!this._observeState.value.hasNext &&
270
- this.templateSnapshotEmitter.extractData(data[data.length - 1]) !==
271
- this.templateSnapshotEmitter.extractData(this._observeState.value.data[this._observeState.value.data.length - 1])) {
272
- this._observeState.next(Object.assign(Object.assign({}, this._observeState.value), { hasNext: true }));
273
- }
274
- });
275
- }
276
- resetToFirstPageData() {
277
- var _a, _b, _c, _d;
278
- this.currentPageSnapshotEmitterWrapperSubject.next(undefined);
279
- if (!this.options.subscribe) {
280
- const currentState = this._observeState.value;
281
- this._observeState.next(Object.assign(Object.assign({}, currentState), { hasNext: false, hasPrev: false, isLoading: true }));
282
- const firstPageEmitter = this.templateSnapshotEmitter.clone().limit(this.options.pageSize + 1);
283
- this.currentPageSnapshotEmitterWrapperSubject.next(new SnapshotEmitterWrapper(firstPageEmitter, this.options, true));
284
- return;
285
- }
286
- this._observeState.next({
287
- data: (_c = (_b = (_a = this.firstPageSnapshotEmitterWrapper) === null || _a === void 0 ? void 0 : _a.data.value) === null || _b === void 0 ? void 0 : _b.slice(0, this.options.pageSize)) !== null && _c !== void 0 ? _c : [],
288
- hasNext: (0, assert_1.truthy)((_d = this.firstPageSnapshotEmitterWrapper) === null || _d === void 0 ? void 0 : _d.data.value, 'NO_FIRST_PAGE_DATA').length > this.options.pageSize,
289
- hasPrev: false,
290
- isLoading: false,
291
- });
292
- }
293
- }
294
- exports.Pagination = Pagination;
295
37
  //# sourceMappingURL=base-query-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-query-builder.js","sourceRoot":"","sources":["../../../../../common/src/query/base-query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-query-builder.js","sourceRoot":"","sources":["../../../../../common/src/query/base-query-builder.ts"],"names":[],"mappings":";;;AAmEA,MAAsB,gBAAgB;IAqBpC,EAAE,CAAC,SAAiD,EAAE,KAAyB;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAQD,GAAG,CAAC,SAAiD,EAAE,KAAyB;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAQD,EAAE,CAAC,SAAiD,EAAE,KAAgC;QACpF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAQD,GAAG,CAAC,SAAiD,EAAE,KAAgC;QACrF,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAQD,EAAE,CAAC,SAAiD,EAAE,KAAyB;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAQD,GAAG,CAAC,SAAiD,EAAE,KAAyB;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAQD,EAAE,CAAC,SAAiD,EAAE,KAAyB;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAQD,GAAG,CAAC,SAAiD,EAAE,KAAyB;QAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IAUD,IAAI,CAAC,SAAiD,EAAE,OAAe,EAAE,aAAuB;QAC9F,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAUD,OAAO,CAAC,SAAiD,EAAE,OAAe,EAAE,aAAuB;QACjG,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;CAkBF;AAvID,4CAuIC"}
@@ -1,3 +1,4 @@
1
1
  export * from './query-context';
2
2
  export * from './base-query-builder';
3
3
  export * from './serialized-query.types';
4
+ export * from './pagination';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./query-context"), exports);
18
18
  __exportStar(require("./base-query-builder"), exports);
19
19
  __exportStar(require("./serialized-query.types"), exports);
20
+ __exportStar(require("./pagination"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../common/src/query/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,uDAAqC;AACrC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../common/src/query/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,uDAAqC;AACrC,2DAAyC;AACzC,+CAA6B"}
@@ -0,0 +1,42 @@
1
+ import { SnapshotEmitter } from './base-query-builder';
2
+ import { Observable } from 'rxjs';
3
+ export interface PaginationState<ReturnType> {
4
+ data: Array<ReturnType>;
5
+ hasNext: boolean;
6
+ hasPrev: boolean;
7
+ }
8
+ export interface PaginationOptions {
9
+ subscribe: boolean;
10
+ pageSize: number;
11
+ }
12
+ interface InternalState<ReturnType> {
13
+ data: ReturnType[];
14
+ extractedData: any[];
15
+ numBefore: number;
16
+ numAfter: number;
17
+ }
18
+ export declare class Pagination<ReturnType> {
19
+ private readonly options;
20
+ private internalStateObserver;
21
+ private firstElement;
22
+ private lastElement;
23
+ private readonly isDestroyed;
24
+ private templateSnapshotEmitter;
25
+ private snapshotSubject;
26
+ private onFirstPage;
27
+ constructor(snapshotEmitter: SnapshotEmitter<ReturnType>, options?: Partial<PaginationOptions>);
28
+ private goToFirstPage;
29
+ private static compareValues;
30
+ private compare;
31
+ dataReceived(data: Array<ReturnType>): Promise<void>;
32
+ private doNewQuery;
33
+ private waitForInternalState;
34
+ private internalStateToState;
35
+ unsubscribe(): void;
36
+ prevInternal(internalState: InternalState<ReturnType>): void;
37
+ prev(): Promise<PaginationState<ReturnType>>;
38
+ next(): Promise<PaginationState<ReturnType>>;
39
+ waitForData(): Promise<PaginationState<ReturnType>>;
40
+ observeState(): Observable<PaginationState<ReturnType>>;
41
+ }
42
+ export {};
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pagination = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const object_1 = require("../utils/object");
6
+ class Pagination {
7
+ constructor(snapshotEmitter, options = {}) {
8
+ this.internalStateObserver = new rxjs_1.BehaviorSubject(null);
9
+ this.firstElement = null;
10
+ this.lastElement = null;
11
+ this.isDestroyed = new rxjs_1.BehaviorSubject(false);
12
+ this.snapshotSubject = new rxjs_1.Subject();
13
+ this.onFirstPage = true;
14
+ this.snapshotSubject.pipe((0, rxjs_1.switchAll)()).subscribe((data) => this.dataReceived(data));
15
+ this.templateSnapshotEmitter = snapshotEmitter.clone();
16
+ this.options = Object.assign({ pageSize: 100, subscribe: true }, options);
17
+ this.goToFirstPage();
18
+ }
19
+ goToFirstPage() {
20
+ this.onFirstPage = true;
21
+ const firstPageSnapshot = this.templateSnapshotEmitter
22
+ .clone()
23
+ .limit(this.options.pageSize * 3)
24
+ .snapshots(this.options.subscribe);
25
+ this.snapshotSubject.next(firstPageSnapshot);
26
+ }
27
+ static compareValues(a, b) {
28
+ if (a > b) {
29
+ return 1;
30
+ }
31
+ else if (a < b) {
32
+ return -1;
33
+ }
34
+ else {
35
+ return 0;
36
+ }
37
+ }
38
+ compare(doc1, doc2) {
39
+ if (doc2 === null) {
40
+ return 1;
41
+ }
42
+ for (const so of this.templateSnapshotEmitter.getSortOrders()) {
43
+ const currentComparison = Pagination.compareValues((0, object_1.getInPath)(doc1, so.fieldName), (0, object_1.getInPath)(doc2, so.fieldName));
44
+ if (currentComparison !== 0) {
45
+ if (so.asc) {
46
+ return currentComparison;
47
+ }
48
+ else {
49
+ return -currentComparison;
50
+ }
51
+ }
52
+ }
53
+ return 0;
54
+ }
55
+ async dataReceived(data) {
56
+ const extractedData = data.map((s) => this.templateSnapshotEmitter.extractData(s));
57
+ if (data.length === 0) {
58
+ if (this.onFirstPage) {
59
+ this.internalStateObserver.next({ numBefore: 0, numAfter: 0, data, extractedData });
60
+ }
61
+ else {
62
+ this.goToFirstPage();
63
+ }
64
+ return;
65
+ }
66
+ if (this.firstElement === null && this.lastElement !== null) {
67
+ const numAfter = extractedData.filter((s) => this.compare(s, this.lastElement) === 1).length;
68
+ this.firstElement = extractedData[data.length - numAfter - this.options.pageSize];
69
+ this.lastElement = null;
70
+ }
71
+ const numBefore = extractedData.filter((s) => this.compare(s, this.firstElement) === -1).length;
72
+ const numAfter = Math.max(0, data.length - numBefore - this.options.pageSize);
73
+ if (numBefore === data.length) {
74
+ this.prevInternal({ numBefore, numAfter, data, extractedData });
75
+ return;
76
+ }
77
+ this.internalStateObserver.next({ numBefore, numAfter, data, extractedData });
78
+ }
79
+ doNewQuery(startingDoc, reverseOrder) {
80
+ this.onFirstPage = false;
81
+ if (reverseOrder) {
82
+ const newSnapshotEmitter = this.templateSnapshotEmitter
83
+ .clone()
84
+ .limit(this.options.pageSize * 3)
85
+ .flipSortOrder()
86
+ .addCompositeCondition(this.templateSnapshotEmitter.getSortOrders().map((sortOrder) => {
87
+ return {
88
+ fieldName: sortOrder.fieldName,
89
+ operator: sortOrder.asc ? '<=' : '>=',
90
+ value: (0, object_1.getInPath)(startingDoc, sortOrder.fieldName),
91
+ };
92
+ }));
93
+ this.snapshotSubject.next(newSnapshotEmitter.snapshots(this.options.subscribe).pipe((0, rxjs_1.map)((s) => s.reverse())));
94
+ }
95
+ else {
96
+ const newSnapshotEmitter = this.templateSnapshotEmitter
97
+ .clone()
98
+ .limit(this.options.pageSize * 3)
99
+ .addCompositeCondition(this.templateSnapshotEmitter.getSortOrders().map((sortOrder) => {
100
+ return {
101
+ fieldName: sortOrder.fieldName,
102
+ operator: sortOrder.asc ? '>=' : '<=',
103
+ value: (0, object_1.getInPath)(startingDoc, sortOrder.fieldName),
104
+ };
105
+ }));
106
+ this.snapshotSubject.next(newSnapshotEmitter.snapshots(this.options.subscribe));
107
+ }
108
+ }
109
+ async waitForInternalState() {
110
+ const internalState = this.internalStateObserver.value;
111
+ if (internalState !== null) {
112
+ return internalState;
113
+ }
114
+ return await (0, rxjs_1.firstValueFrom)((0, rxjs_1.race)(this.isDestroyed.pipe((0, rxjs_1.filter)(Boolean), (0, rxjs_1.map)((_) => ({
115
+ data: [],
116
+ extractedData: [],
117
+ numBefore: 0,
118
+ numAfter: 0,
119
+ }))), this.internalStateObserver.pipe((0, rxjs_1.filter)((state) => state !== null), (0, rxjs_1.take)(1))));
120
+ }
121
+ internalStateToState(internalState) {
122
+ const { data, numBefore, numAfter, extractedData } = internalState;
123
+ return {
124
+ data: data
125
+ .filter((_, i) => this.compare(extractedData[i], this.firstElement) !== -1)
126
+ .slice(0, this.options.pageSize),
127
+ hasNext: numAfter > 0,
128
+ hasPrev: numBefore > 0,
129
+ };
130
+ }
131
+ unsubscribe() {
132
+ this.isDestroyed.next(true);
133
+ this.isDestroyed.complete();
134
+ this.internalStateObserver.complete();
135
+ this.snapshotSubject.complete();
136
+ }
137
+ prevInternal(internalState) {
138
+ const { numBefore, numAfter, data, extractedData } = internalState;
139
+ this.firstElement = null;
140
+ this.lastElement = extractedData[numBefore - 1];
141
+ this.internalStateObserver.next(null);
142
+ this.doNewQuery(extractedData[extractedData.length - numAfter - 1], true);
143
+ }
144
+ async prev() {
145
+ this.prevInternal(await this.waitForInternalState());
146
+ return await this.waitForData();
147
+ }
148
+ async next() {
149
+ const { numBefore, extractedData } = await this.waitForInternalState();
150
+ this.firstElement = extractedData[numBefore + this.options.pageSize];
151
+ this.internalStateObserver.next(null);
152
+ this.doNewQuery(extractedData[numBefore], false);
153
+ return await this.waitForData();
154
+ }
155
+ async waitForData() {
156
+ return this.internalStateToState(await this.waitForInternalState());
157
+ }
158
+ observeState() {
159
+ return this.internalStateObserver.pipe((0, rxjs_1.filter)((state) => state !== null), (0, rxjs_1.map)((state) => {
160
+ return this.internalStateToState(state);
161
+ }));
162
+ }
163
+ }
164
+ exports.Pagination = Pagination;
165
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../../../common/src/query/pagination.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,11 @@ export interface Query<Doc extends DocumentData = any> {
42
42
  conditions: Conditions<Doc>;
43
43
  sortOrder: Array<FieldSort<Doc>>;
44
44
  limit: number;
45
+ limitBy?: {
46
+ limit: number;
47
+ fields: Array<FieldName<Doc>>;
48
+ reverseSort: boolean;
49
+ };
45
50
  }
46
51
  export type QuerySubscriptionId = `${ClientId}_${ClientRequestId}`;
47
52
  export interface QueryRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"query.types.js","sourceRoot":"","sources":["../../../../common/src/query.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.types.js","sourceRoot":"","sources":["../../../../common/src/query.types.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { AuthToken } from './context.types';
3
3
  import { CollectionName, DocTimestamp, SquidDocId, SquidDocument } from './document.types';
4
4
  import { MutationType } from './mutation.types';
5
5
  export type MessageId = string;
6
- export type MessageFromClientType = 'acknowledge' | 'catchup' | 'kill' | 'acquireLock' | 'releaseLock';
6
+ export type MessageFromClientType = 'acknowledge' | 'catchup' | 'kill' | 'acquireLock' | 'releaseLock' | 'pong';
7
7
  interface BaseMessageFromClient {
8
8
  type: MessageFromClientType;
9
9
  authToken?: AuthToken;
@@ -35,7 +35,7 @@ export interface ReleaseLockMessage extends BaseMessageFromClient {
35
35
  };
36
36
  }
37
37
  export type MessageFromClient = AcknowledgeMessage | CatchupMessage | KillMessage | AcquireLockMessage | ReleaseLockMessage;
38
- export type MessageToClientType = 'mutations' | 'query' | 'backendFunction' | 'api' | 'namedQuery' | 'lockAcquired' | 'lockReleased' | 'aiAssistant';
38
+ export type MessageToClientType = 'mutations' | 'query' | 'backendFunction' | 'api' | 'namedQuery' | 'lockAcquired' | 'lockReleased' | 'aiAssistant' | 'ping';
39
39
  interface BaseMessageToClient {
40
40
  type: MessageToClientType;
41
41
  messageId: MessageId;
@@ -81,11 +81,15 @@ export interface AiAssistantMessageToClient extends BaseMessageToClient {
81
81
  complete: boolean;
82
82
  };
83
83
  }
84
- export type MessageToClient = MutationsMessageToClient | QueryResultMessageToClient | BackendFunctionMessageToClient | NamedQueryMessageToClient | ApiResponseMessageToClient | LockAcquiredResponseMessageToClient | LockReleasedResponseMessageToClient | AiAssistantMessageToClient;
84
+ export type MessageToClient = MutationsMessageToClient | PingMessageToClient | QueryResultMessageToClient | BackendFunctionMessageToClient | NamedQueryMessageToClient | ApiResponseMessageToClient | LockAcquiredResponseMessageToClient | LockReleasedResponseMessageToClient | AiAssistantMessageToClient;
85
85
  export interface MutationsMessageToClient extends BaseMessageToClient {
86
86
  type: 'mutations';
87
87
  payload: Array<MutationResultData>;
88
88
  }
89
+ export interface PingMessageToClient extends BaseMessageToClient {
90
+ type: 'ping';
91
+ payload: unknown;
92
+ }
89
93
  export interface MutationResultData {
90
94
  squidDocId: SquidDocId;
91
95
  clientRequestId: ClientRequestId;
@@ -0,0 +1,10 @@
1
+ export declare function getGlobal(): any;
2
+ export declare function isDebugEnabled(): boolean;
3
+ export declare function enableDebugLogs(): void;
4
+ export declare class DebugLogger {
5
+ static log(...args: any[]): void;
6
+ static info(...args: any[]): void;
7
+ static warn(...args: any[]): void;
8
+ static error(...args: any[]): void;
9
+ static debug(...args: any[]): void;
10
+ }