@squidcloud/local-backend 1.0.45 → 1.0.47

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 (178) hide show
  1. package/dist/common/src/ai-assistant.context.d.ts +13 -13
  2. package/dist/common/src/ai-assistant.context.js +19 -19
  3. package/dist/common/src/ai-assistant.schemas.d.ts +207 -207
  4. package/dist/common/src/ai-assistant.schemas.js +196 -196
  5. package/dist/common/src/ai-assistant.types.d.ts +80 -80
  6. package/dist/common/src/ai-assistant.types.js +11 -11
  7. package/dist/common/src/api-call.context.d.ts +13 -13
  8. package/dist/common/src/api-call.context.js +16 -16
  9. package/dist/common/src/api.types.d.ts +23 -23
  10. package/dist/common/src/api.types.js +2 -2
  11. package/dist/common/src/application.schemas.d.ts +1168 -1168
  12. package/dist/common/src/application.schemas.js +741 -741
  13. package/dist/common/src/application.types.d.ts +228 -228
  14. package/dist/common/src/application.types.js +89 -89
  15. package/dist/common/src/backend-function.schemas.d.ts +3 -3
  16. package/dist/common/src/backend-function.schemas.js +12 -12
  17. package/dist/common/src/backend-function.types.d.ts +6 -6
  18. package/dist/common/src/backend-function.types.js +2 -2
  19. package/dist/common/src/backend-run.types.d.ts +54 -54
  20. package/dist/common/src/backend-run.types.js +73 -73
  21. package/dist/common/src/bundle-api.types.d.ts +71 -71
  22. package/dist/common/src/bundle-api.types.js +2 -2
  23. package/dist/common/src/bundle-data.types.d.ts +59 -59
  24. package/dist/common/src/bundle-data.types.js +2 -2
  25. package/dist/common/src/communication.types.d.ts +18 -18
  26. package/dist/common/src/communication.types.js +40 -40
  27. package/dist/common/src/context.types.d.ts +24 -24
  28. package/dist/common/src/context.types.js +2 -2
  29. package/dist/common/src/distributed-lock.context.d.ts +5 -5
  30. package/dist/common/src/distributed-lock.context.js +10 -10
  31. package/dist/common/src/document.types.d.ts +32 -32
  32. package/dist/common/src/document.types.js +50 -50
  33. package/dist/common/src/graphql.context.d.ts +14 -14
  34. package/dist/common/src/graphql.context.js +12 -12
  35. package/dist/common/src/graphql.types.d.ts +11 -11
  36. package/dist/common/src/graphql.types.js +34 -34
  37. package/dist/common/src/heartbeat.types.d.ts +4 -4
  38. package/dist/common/src/heartbeat.types.js +16 -16
  39. package/dist/common/src/http-status.enum.d.ts +50 -50
  40. package/dist/common/src/http-status.enum.js +54 -54
  41. package/dist/common/src/index.d.ts +53 -54
  42. package/dist/common/src/index.js +69 -70
  43. package/dist/common/src/index.js.map +1 -1
  44. package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -30
  45. package/dist/common/src/integrations/ai_assistant.types.js +2 -2
  46. package/dist/common/src/integrations/api.types.d.ts +80 -80
  47. package/dist/common/src/integrations/api.types.js +2 -2
  48. package/dist/common/src/integrations/auth.types.d.ts +39 -39
  49. package/dist/common/src/integrations/auth.types.js +2 -2
  50. package/dist/common/src/integrations/database.types.d.ts +236 -236
  51. package/dist/common/src/integrations/database.types.js +2 -2
  52. package/dist/common/src/integrations/index.d.ts +101 -101
  53. package/dist/common/src/integrations/index.js +105 -105
  54. package/dist/common/src/integrations/observability.types.d.ts +23 -23
  55. package/dist/common/src/integrations/observability.types.js +23 -23
  56. package/dist/common/src/logger.types.d.ts +21 -21
  57. package/dist/common/src/logger.types.js +11 -11
  58. package/dist/common/src/metrics.types.d.ts +73 -73
  59. package/dist/common/src/metrics.types.js +11 -11
  60. package/dist/common/src/mutation.context.d.ts +13 -13
  61. package/dist/common/src/mutation.context.js +26 -26
  62. package/dist/common/src/mutation.schemas.d.ts +5 -5
  63. package/dist/common/src/mutation.schemas.js +114 -114
  64. package/dist/common/src/mutation.types.d.ts +63 -63
  65. package/dist/common/src/mutation.types.js +142 -142
  66. package/dist/common/src/named-query.context.d.ts +4 -4
  67. package/dist/common/src/named-query.context.js +9 -9
  68. package/dist/common/src/named-query.schemas.d.ts +3 -3
  69. package/dist/common/src/named-query.schemas.js +13 -13
  70. package/dist/common/src/named-query.types.d.ts +8 -8
  71. package/dist/common/src/named-query.types.js +2 -2
  72. package/dist/common/src/query/base-query-builder.d.ts +63 -25
  73. package/dist/common/src/query/base-query-builder.js +294 -36
  74. package/dist/common/src/query/base-query-builder.js.map +1 -1
  75. package/dist/common/src/query/index.d.ts +2 -2
  76. package/dist/common/src/query/index.js +18 -18
  77. package/dist/common/src/query/query-context.d.ts +47 -24
  78. package/dist/common/src/query/query-context.js +159 -158
  79. package/dist/common/src/query/query-context.js.map +1 -1
  80. package/dist/common/src/query.types.d.ts +74 -92
  81. package/dist/common/src/query.types.js +153 -134
  82. package/dist/common/src/query.types.js.map +1 -1
  83. package/dist/common/src/regions.d.ts +21 -21
  84. package/dist/common/src/regions.js +46 -46
  85. package/dist/common/src/schema/schema.types.d.ts +30 -30
  86. package/dist/common/src/schema/schema.types.js +172 -172
  87. package/dist/common/src/secret.schemas.d.ts +6 -6
  88. package/dist/common/src/secret.schemas.js +32 -32
  89. package/dist/common/src/secret.types.d.ts +49 -49
  90. package/dist/common/src/secret.types.js +5 -5
  91. package/dist/common/src/security.types.d.ts +3 -3
  92. package/dist/common/src/security.types.js +2 -2
  93. package/dist/common/src/socket.schemas.d.ts +3 -3
  94. package/dist/common/src/socket.schemas.js +58 -58
  95. package/dist/common/src/socket.types.d.ts +108 -108
  96. package/dist/common/src/socket.types.js +2 -2
  97. package/dist/common/src/time-units.d.ts +5 -5
  98. package/dist/common/src/time-units.js +8 -8
  99. package/dist/common/src/trigger.types.d.ts +15 -15
  100. package/dist/common/src/trigger.types.js +2 -2
  101. package/dist/common/src/types.d.ts +21 -15
  102. package/dist/common/src/types.js +2 -2
  103. package/dist/common/src/utils/array.d.ts +8 -8
  104. package/dist/common/src/utils/array.js +51 -51
  105. package/dist/common/src/utils/assert.d.ts +8 -8
  106. package/dist/common/src/utils/assert.js +49 -49
  107. package/dist/common/src/utils/error.d.ts +4 -4
  108. package/dist/common/src/utils/error.js +10 -10
  109. package/dist/common/src/utils/http.d.ts +2 -2
  110. package/dist/common/src/utils/http.js +38 -38
  111. package/dist/common/src/utils/id.d.ts +2 -2
  112. package/dist/common/src/utils/id.js +21 -21
  113. package/dist/common/src/utils/lock.manager.d.ts +9 -9
  114. package/dist/common/src/utils/lock.manager.js +39 -39
  115. package/dist/common/src/utils/nullish.d.ts +1 -1
  116. package/dist/common/src/utils/nullish.js +7 -7
  117. package/dist/common/src/utils/object.d.ts +6 -6
  118. package/dist/common/src/utils/object.js +89 -89
  119. package/dist/common/src/utils/serialization.d.ts +6 -6
  120. package/dist/common/src/utils/serialization.js +77 -77
  121. package/dist/common/src/utils/transforms.d.ts +18 -18
  122. package/dist/common/src/utils/transforms.js +92 -92
  123. package/dist/common/src/utils/url.d.ts +1 -1
  124. package/dist/common/src/utils/url.js +15 -15
  125. package/dist/common/src/utils/validation.d.ts +17 -17
  126. package/dist/common/src/utils/validation.js +209 -209
  127. package/dist/common/src/webhook-response.d.ts +7 -7
  128. package/dist/common/src/webhook-response.js +7 -7
  129. package/dist/internal-common/src/async-queue.d.ts +4 -4
  130. package/dist/internal-common/src/async-queue.js +17 -17
  131. package/dist/internal-common/src/code-executor.types.d.ts +13 -13
  132. package/dist/internal-common/src/code-executor.types.js +2 -2
  133. package/dist/internal-common/src/environment/environment.types.d.ts +74 -74
  134. package/dist/internal-common/src/environment/environment.types.js +2 -2
  135. package/dist/internal-common/src/environment/index.d.ts +6 -6
  136. package/dist/internal-common/src/environment/index.js +27 -27
  137. package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
  138. package/dist/internal-common/src/environment/local.environment.js +62 -62
  139. package/dist/internal-common/src/filters/custom-exception.filter.d.ts +6 -6
  140. package/dist/internal-common/src/filters/custom-exception.filter.js +44 -44
  141. package/dist/internal-common/src/index.d.ts +14 -14
  142. package/dist/internal-common/src/index.js +32 -32
  143. package/dist/internal-common/src/interceptors/body.interceptor.d.ts +5 -5
  144. package/dist/internal-common/src/interceptors/body.interceptor.js +24 -24
  145. package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -22
  146. package/dist/internal-common/src/kafka/kafka.manager.js +128 -128
  147. package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
  148. package/dist/internal-common/src/kafka/kafka.types.js +2 -2
  149. package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
  150. package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
  151. package/dist/internal-common/src/local-dev.types.d.ts +31 -31
  152. package/dist/internal-common/src/local-dev.types.js +2 -2
  153. package/dist/internal-common/src/observability-publisher.d.ts +9 -9
  154. package/dist/internal-common/src/observability-publisher.js +58 -58
  155. package/dist/internal-common/src/observability.types.d.ts +17 -17
  156. package/dist/internal-common/src/observability.types.js +2 -2
  157. package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
  158. package/dist/internal-common/src/shutdown.manager.js +75 -76
  159. package/dist/internal-common/src/shutdown.manager.js.map +1 -1
  160. package/dist/internal-common/src/utils.d.ts +5 -5
  161. package/dist/internal-common/src/utils.js +29 -29
  162. package/dist/local-backend/src/index.d.ts +4 -4
  163. package/dist/local-backend/src/index.js +20 -20
  164. package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -18
  165. package/dist/local-backend/src/local-backend-socket.service.js +108 -108
  166. package/dist/local-backend/src/local-backend.app.d.ts +2 -2
  167. package/dist/local-backend/src/local-backend.app.js +19 -19
  168. package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
  169. package/dist/local-backend/src/local-backend.controller.js +49 -49
  170. package/dist/local-backend/src/local-backend.module.d.ts +8 -8
  171. package/dist/local-backend/src/local-backend.module.js +53 -53
  172. package/dist/local-backend/src/local-backend.service.d.ts +15 -15
  173. package/dist/local-backend/src/local-backend.service.js +165 -165
  174. package/dist/tsconfig.build.tsbuildinfo +1 -1
  175. package/package.json +1 -1
  176. package/dist/common/src/query.schemas.d.ts +0 -6
  177. package/dist/common/src/query.schemas.js +0 -97
  178. package/dist/common/src/query.schemas.js.map +0 -1
@@ -1,37 +1,295 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseQueryBuilder = void 0;
4
- class BaseQueryBuilder {
5
- eq(fieldName, value) {
6
- return this.where(fieldName, '==', value);
7
- }
8
- neq(fieldName, value) {
9
- return this.where(fieldName, '!=', value);
10
- }
11
- in(fieldName, value) {
12
- return this.where(fieldName, 'in', value);
13
- }
14
- nin(fieldName, value) {
15
- return this.where(fieldName, 'not in', value);
16
- }
17
- gt(fieldName, value) {
18
- return this.where(fieldName, '>', value);
19
- }
20
- gte(fieldName, value) {
21
- return this.where(fieldName, '>=', value);
22
- }
23
- lt(fieldName, value) {
24
- return this.where(fieldName, '<', value);
25
- }
26
- lte(fieldName, value) {
27
- return this.where(fieldName, '<=', value);
28
- }
29
- like(fieldName, pattern, caseSensitive) {
30
- return this.where(fieldName, caseSensitive ? 'like_cs' : 'like', pattern);
31
- }
32
- notLike(fieldName, pattern, caseSensitive) {
33
- return this.where(fieldName, caseSensitive ? 'not like_cs' : 'not like', pattern);
34
- }
35
- }
36
- exports.BaseQueryBuilder = BaseQueryBuilder;
1
+ "use strict";
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");
7
+ class BaseQueryBuilder {
8
+ eq(fieldName, value) {
9
+ return this.where(fieldName, '==', value);
10
+ }
11
+ neq(fieldName, value) {
12
+ return this.where(fieldName, '!=', value);
13
+ }
14
+ in(fieldName, value) {
15
+ return this.where(fieldName, 'in', value);
16
+ }
17
+ nin(fieldName, value) {
18
+ return this.where(fieldName, 'not in', value);
19
+ }
20
+ gt(fieldName, value) {
21
+ return this.where(fieldName, '>', value);
22
+ }
23
+ gte(fieldName, value) {
24
+ return this.where(fieldName, '>=', value);
25
+ }
26
+ lt(fieldName, value) {
27
+ return this.where(fieldName, '<', value);
28
+ }
29
+ lte(fieldName, value) {
30
+ return this.where(fieldName, '<=', value);
31
+ }
32
+ like(fieldName, pattern, caseSensitive) {
33
+ return this.where(fieldName, caseSensitive ? 'like_cs' : 'like', pattern);
34
+ }
35
+ notLike(fieldName, pattern, caseSensitive) {
36
+ return this.where(fieldName, caseSensitive ? 'not like_cs' : 'not like', pattern);
37
+ }
38
+ }
39
+ 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;
37
295
  //# 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":";;;AA2BA,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
+ {"version":3,"file":"base-query-builder.js","sourceRoot":"","sources":["../../../../../common/src/query/base-query-builder.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './query-context';
2
- export * from './base-query-builder';
1
+ export * from './query-context';
2
+ export * from './base-query-builder';
@@ -1,19 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./query-context"), exports);
18
- __exportStar(require("./base-query-builder"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./query-context"), exports);
18
+ __exportStar(require("./base-query-builder"), exports);
19
19
  //# sourceMappingURL=index.js.map
@@ -1,24 +1,47 @@
1
- import { IntegrationId } from '../communication.types';
2
- import { CollectionName, DocumentData, FieldName } from '../document.types';
3
- import { AllOperators, ContextConditions, FieldSort, GeneralCondition, GeneralConditions, GenericValue, Query } from '../query.types';
4
- import { PartialBy, Paths } from '../types';
5
- export declare class QueryContext<T = any> {
6
- readonly query: Query<T>;
7
- private readonly parsedConditions;
8
- constructor(query: Query<T>);
9
- get integrationId(): IntegrationId;
10
- get collectionName(): CollectionName;
11
- get limit(): number;
12
- sortedBy(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
13
- sortedByExact(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
14
- isSubqueryOf<F extends FieldName<T>, O extends AllOperators>(fieldName: F, operator: O, value: GenericValue<T, F, O> | null): boolean;
15
- isSubqueryOfCondition(condition: GeneralCondition<T>): boolean;
16
- isSubqueryOfConditions(conditions: GeneralConditions<T>): boolean;
17
- isSubqueryOfQuery(query: Query<T>): boolean;
18
- getConditionsFor<K extends FieldName<T>>(...fieldNames: K[]): ContextConditions<T, K>;
19
- getConditionsForField<K extends Paths<T>>(fieldName: K): ContextConditions<T>;
20
- documentMatchesQuery(doc: DocumentData): boolean;
21
- private evaluateSubset;
22
- private evaluateIncludes;
23
- private parseConditions;
24
- }
1
+ import { IntegrationId } from '../communication.types';
2
+ import { CollectionName, DocumentData } from '../document.types';
3
+ import { FieldSort, Operator, Query, SimpleCondition } from '../query.types';
4
+ import { DeepRecord, FieldOf, PartialBy, Paths } from '../types';
5
+ export declare class QueryContext<T extends DocumentData = any> {
6
+ readonly query: Query<T>;
7
+ private readonly parsedConditions;
8
+ constructor(query: Query<T>);
9
+ get integrationId(): IntegrationId;
10
+ get collectionName(): CollectionName;
11
+ get limit(): number;
12
+ sortedBy(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
13
+ sortedByExact(sorts: Array<PartialBy<FieldSort<T>, 'asc'>>): boolean;
14
+ isSubqueryOf<F extends Paths<T>, O extends AllOperators>(fieldName: F, operator: O, value: GenericValue<T, F, O> | null): boolean;
15
+ isSubqueryOfCondition(condition: GeneralCondition<T>): boolean;
16
+ isSubqueryOfConditions(conditions: GeneralConditions<T>): boolean;
17
+ isSubqueryOfQuery(query: Query<T>): boolean;
18
+ getConditionsFor<K extends Paths<T>>(...fieldNames: Array<K>): ContextConditions<T, K>;
19
+ getConditionsForField<K extends Paths<T>>(fieldName: K): ContextConditions<T>;
20
+ documentMatchesQuery(doc: DocumentData): boolean;
21
+ private evaluateSubset;
22
+ private evaluateIncludes;
23
+ private parseConditions;
24
+ }
25
+ type ContextConditions<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> = Array<ContextCondition<Doc, F>>;
26
+ type ContextCondition<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> = InContextCondition<Doc, F> | NotInContextCondition<Doc, F> | OtherContextCondition<Doc, F>;
27
+ interface InContextCondition<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> extends SimpleCondition<Doc, F, 'in'> {
28
+ operator: 'in';
29
+ value: Array<FieldOf<DeepRecord<Doc>, Paths<Doc>> | any>;
30
+ }
31
+ interface NotInContextCondition<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> extends SimpleCondition<Doc, F, 'not in'> {
32
+ operator: 'not in';
33
+ value: Array<FieldOf<DeepRecord<Doc>, Paths<Doc>> | any>;
34
+ }
35
+ interface OtherContextCondition<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> extends SimpleCondition<Doc, F, Exclude<ContextOperator, 'in' | 'not in'>> {
36
+ operator: Exclude<ContextOperator, 'in' | 'not in'>;
37
+ value: FieldOf<DeepRecord<Doc>, Paths<Doc>> | any;
38
+ }
39
+ interface GeneralCondition<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> extends SimpleCondition<Doc, F, AllOperators> {
40
+ operator: AllOperators;
41
+ value: any;
42
+ }
43
+ type GeneralConditions<Doc extends DocumentData = any, F extends Paths<Doc> = Paths<Doc>> = Array<GeneralCondition<Doc, F>>;
44
+ type ContextOperator = Exclude<Operator, '==' | '!='> | 'in' | 'not in';
45
+ type AllOperators = Operator | 'in' | 'not in';
46
+ type GenericValue<Doc = any, F extends Paths<Doc> = Paths<Doc>, O extends AllOperators = any> = O extends 'in' ? Array<DeepRecord<Doc>[F]> | null : O extends 'not in' ? Array<DeepRecord<Doc>[F]> | null : DeepRecord<Doc>[F] | null;
47
+ export {};