@webda/models 4.0.0-beta.4 → 4.0.0-beta.6

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 (36) hide show
  1. package/lib/aggregation.d.ts +81 -0
  2. package/lib/aggregation.d.ts.map +1 -0
  3. package/lib/aggregation.js +2 -0
  4. package/lib/aggregation.js.map +1 -0
  5. package/lib/index.d.ts +1 -0
  6. package/lib/index.d.ts.map +1 -1
  7. package/lib/index.js +1 -0
  8. package/lib/index.js.map +1 -1
  9. package/lib/model.model.d.ts +39 -0
  10. package/lib/model.model.d.ts.map +1 -1
  11. package/lib/model.model.js +24 -0
  12. package/lib/model.model.js.map +1 -1
  13. package/lib/repositories/abstract.d.ts +121 -1
  14. package/lib/repositories/abstract.d.ts.map +1 -1
  15. package/lib/repositories/abstract.js +297 -0
  16. package/lib/repositories/abstract.js.map +1 -1
  17. package/lib/repositories/conformance.d.ts +27 -0
  18. package/lib/repositories/conformance.d.ts.map +1 -1
  19. package/lib/repositories/conformance.js +285 -0
  20. package/lib/repositories/conformance.js.map +1 -1
  21. package/lib/repositories/event.d.ts +35 -1
  22. package/lib/repositories/event.d.ts.map +1 -1
  23. package/lib/repositories/event.js +48 -0
  24. package/lib/repositories/event.js.map +1 -1
  25. package/lib/repositories/hooks.d.ts +15 -2
  26. package/lib/repositories/hooks.d.ts.map +1 -1
  27. package/lib/repositories/hooks.js +14 -0
  28. package/lib/repositories/hooks.js.map +1 -1
  29. package/lib/repositories/memory.d.ts +34 -1
  30. package/lib/repositories/memory.d.ts.map +1 -1
  31. package/lib/repositories/memory.js +75 -2
  32. package/lib/repositories/memory.js.map +1 -1
  33. package/lib/repositories/repository.d.ts +57 -1
  34. package/lib/repositories/repository.d.ts.map +1 -1
  35. package/lib/repositories/repository.js.map +1 -1
  36. package/package.json +9 -8
@@ -35,4 +35,289 @@ export async function checkCreateWithoutPrimaryKey(repos, options) {
35
35
  assert.strictEqual(await options.readStored("undefined"), undefined, "nothing should be stored under 'undefined'");
36
36
  assert.strictEqual(await options.readStored("null"), undefined, "nothing should be stored under 'null'");
37
37
  }
38
+ /**
39
+ * Dataset of {@link checkAggregation}: nulls, missing attributes, a non-numeric `points`,
40
+ * nested `team.name`, booleans. The `mixed` field mixes numbers and strings, with upper and lower case, to pin type ranking and code unit order.
41
+ * The `at` field holds `Date` objects: in-memory engines read them as ISO strings, JSON backends store them so.
42
+ */
43
+ export const AGGREGATION_DATASET = [
44
+ {
45
+ uuid: "a1",
46
+ kind: "bug",
47
+ team: { name: "core" },
48
+ points: 3,
49
+ score: 10,
50
+ label: "delta",
51
+ done: true,
52
+ mixed: 5,
53
+ at: new Date("2026-01-05T10:00:00.000Z")
54
+ },
55
+ {
56
+ uuid: "a2",
57
+ kind: "bug",
58
+ team: { name: "core" },
59
+ points: 5,
60
+ score: null,
61
+ label: "alpha",
62
+ done: false,
63
+ mixed: "b",
64
+ at: new Date("2026-03-01T00:00:00.000Z")
65
+ },
66
+ {
67
+ uuid: "a3",
68
+ kind: "feature",
69
+ team: { name: "web" },
70
+ points: null,
71
+ score: 7,
72
+ label: "charlie",
73
+ done: false,
74
+ mixed: 10,
75
+ at: new Date("2026-01-05T10:00:00.000Z")
76
+ },
77
+ {
78
+ uuid: "a4",
79
+ kind: "feature",
80
+ team: { name: "web" },
81
+ points: "8",
82
+ score: 2,
83
+ label: "bravo",
84
+ done: true,
85
+ mixed: "B",
86
+ at: new Date("2025-12-31T23:59:59.000Z")
87
+ },
88
+ { uuid: "a5", kind: "chore", points: 1, label: "echo", done: false },
89
+ {
90
+ uuid: "a6",
91
+ kind: null,
92
+ team: { name: "core" },
93
+ points: 2,
94
+ score: 4,
95
+ label: "alpha",
96
+ done: false,
97
+ mixed: "a",
98
+ at: null
99
+ },
100
+ {
101
+ uuid: "a7",
102
+ team: { name: "ops" },
103
+ points: 13,
104
+ score: 1,
105
+ label: "foxtrot",
106
+ done: true,
107
+ at: new Date("2026-02-14T12:30:00.000Z")
108
+ }
109
+ ];
110
+ /**
111
+ * Hand-computed expectations over {@link AGGREGATION_DATASET}; every backend must return exactly these rows
112
+ */
113
+ export const AGGREGATION_CASES = [
114
+ { name: "global count", spec: { metrics: { n: { count: "*" } } }, rows: [{ n: 7 }] },
115
+ {
116
+ name: "global over nothing",
117
+ spec: {
118
+ filter: "label = 'zulu'",
119
+ metrics: { n: { count: "*" }, total: { sum: "points" }, mean: { avg: "points" }, lo: { min: "score" } }
120
+ },
121
+ rows: [{ n: 0, total: 0, mean: null, lo: null }]
122
+ },
123
+ {
124
+ name: "count of a field skips null and missing",
125
+ spec: { metrics: { withScore: { count: "score" }, withTeam: { count: "team.name" } } },
126
+ rows: [{ withScore: 5, withTeam: 6 }]
127
+ },
128
+ {
129
+ name: "null and missing keys form one group, first in ASC",
130
+ spec: { groupBy: ["kind"], metrics: { n: { count: "*" } }, orderBy: [{ key: "kind", direction: "ASC" }] },
131
+ rows: [
132
+ { kind: null, n: 2 },
133
+ { kind: "bug", n: 2 },
134
+ { kind: "chore", n: 1 },
135
+ { kind: "feature", n: 2 }
136
+ ]
137
+ },
138
+ {
139
+ name: "sum and avg ignore null and non-numeric",
140
+ spec: {
141
+ groupBy: ["kind"],
142
+ metrics: { total: { sum: "points" }, mean: { avg: "points" } },
143
+ orderBy: [{ key: "kind", direction: "ASC" }]
144
+ },
145
+ rows: [
146
+ { kind: null, total: 15, mean: 7.5 },
147
+ { kind: "bug", total: 8, mean: 4 },
148
+ { kind: "chore", total: 1, mean: 1 },
149
+ { kind: "feature", total: 0, mean: null }
150
+ ]
151
+ },
152
+ {
153
+ name: "min and max on numbers and strings, nested group",
154
+ spec: {
155
+ groupBy: ["team.name"],
156
+ metrics: { lo: { min: "score" }, hi: { max: "score" }, first: { min: "label" } },
157
+ orderBy: [{ key: "team.name", direction: "ASC" }]
158
+ },
159
+ rows: [
160
+ { "team.name": null, lo: null, hi: null, first: "echo" },
161
+ { "team.name": "core", lo: 4, hi: 10, first: "alpha" },
162
+ { "team.name": "ops", lo: 1, hi: 1, first: "foxtrot" },
163
+ { "team.name": "web", lo: 2, hi: 7, first: "bravo" }
164
+ ]
165
+ },
166
+ {
167
+ name: "count distinct grouped by boolean",
168
+ spec: {
169
+ groupBy: ["done"],
170
+ metrics: { labels: { countDistinct: "label" }, n: { count: "*" } },
171
+ orderBy: [{ key: "done", direction: "ASC" }]
172
+ },
173
+ rows: [
174
+ { done: false, labels: 3, n: 4 },
175
+ { done: true, labels: 3, n: 3 }
176
+ ]
177
+ },
178
+ {
179
+ name: "filter, order by alias and limit",
180
+ spec: {
181
+ filter: "label IN ['alpha', 'charlie', 'echo']",
182
+ groupBy: ["team.name"],
183
+ metrics: { n: { count: "*" } },
184
+ orderBy: [{ key: "n", direction: "DESC" }],
185
+ limit: 1
186
+ },
187
+ rows: [{ "team.name": "core", n: 2 }]
188
+ },
189
+ {
190
+ name: "several group paths",
191
+ spec: {
192
+ groupBy: ["kind", "done"],
193
+ metrics: { n: { count: "*" } },
194
+ orderBy: [
195
+ { key: "kind", direction: "ASC" },
196
+ { key: "done", direction: "ASC" }
197
+ ]
198
+ },
199
+ rows: [
200
+ { kind: null, done: false, n: 1 },
201
+ { kind: null, done: true, n: 1 },
202
+ { kind: "bug", done: false, n: 1 },
203
+ { kind: "bug", done: true, n: 1 },
204
+ { kind: "chore", done: false, n: 1 },
205
+ { kind: "feature", done: false, n: 1 },
206
+ { kind: "feature", done: true, n: 1 }
207
+ ]
208
+ },
209
+ {
210
+ name: "order by metric then group, null last in DESC",
211
+ spec: {
212
+ groupBy: ["kind"],
213
+ metrics: { n: { count: "*" } },
214
+ orderBy: [
215
+ { key: "n", direction: "DESC" },
216
+ { key: "kind", direction: "DESC" }
217
+ ],
218
+ limit: 2
219
+ },
220
+ rows: [
221
+ { kind: "feature", n: 2 },
222
+ { kind: "bug", n: 2 }
223
+ ]
224
+ },
225
+ {
226
+ name: "min and max across numbers and strings",
227
+ spec: { metrics: { lo: { min: "mixed" }, hi: { max: "mixed" } } },
228
+ rows: [{ lo: 5, hi: "b" }]
229
+ },
230
+ {
231
+ name: "group keys order numbers before strings, code unit order",
232
+ spec: { groupBy: ["mixed"], metrics: { n: { count: "*" } }, orderBy: [{ key: "mixed", direction: "ASC" }] },
233
+ rows: [
234
+ { mixed: null, n: 2 },
235
+ { mixed: 5, n: 1 },
236
+ { mixed: 10, n: 1 },
237
+ { mixed: "B", n: 1 },
238
+ { mixed: "a", n: 1 },
239
+ { mixed: "b", n: 1 }
240
+ ]
241
+ },
242
+ {
243
+ name: "order by a max alias across types",
244
+ spec: { groupBy: ["kind"], metrics: { m: { max: "mixed" } }, orderBy: [{ key: "m", direction: "ASC" }] },
245
+ rows: [
246
+ { kind: "chore", m: null },
247
+ { kind: "feature", m: "B" },
248
+ { kind: null, m: "a" },
249
+ { kind: "bug", m: "b" }
250
+ ]
251
+ },
252
+ {
253
+ name: "order by a min alias across types, descending",
254
+ spec: { groupBy: ["kind"], metrics: { lo: { min: "mixed" } }, orderBy: [{ key: "lo", direction: "DESC" }] },
255
+ rows: [
256
+ { kind: null, lo: "a" },
257
+ { kind: "feature", lo: 10 },
258
+ { kind: "bug", lo: 5 },
259
+ { kind: "chore", lo: null }
260
+ ]
261
+ },
262
+ {
263
+ name: "order by a max alias, number before string",
264
+ spec: {
265
+ filter: "uuid IN ['a1', 'a3', 'a4']",
266
+ groupBy: ["kind"],
267
+ metrics: { m: { max: "mixed" } },
268
+ orderBy: [{ key: "m", direction: "ASC" }]
269
+ },
270
+ rows: [
271
+ { kind: "bug", m: 5 },
272
+ { kind: "feature", m: "B" }
273
+ ]
274
+ },
275
+ {
276
+ name: "min, max and count distinct on dates return ISO strings",
277
+ spec: {
278
+ groupBy: ["team.name"],
279
+ metrics: { lo: { min: "at" }, hi: { max: "at" }, days: { countDistinct: "at" } },
280
+ orderBy: [{ key: "team.name", direction: "ASC" }]
281
+ },
282
+ rows: [
283
+ { "team.name": null, lo: null, hi: null, days: 0 },
284
+ { "team.name": "core", lo: "2026-01-05T10:00:00.000Z", hi: "2026-03-01T00:00:00.000Z", days: 2 },
285
+ { "team.name": "ops", lo: "2026-02-14T12:30:00.000Z", hi: "2026-02-14T12:30:00.000Z", days: 1 },
286
+ { "team.name": "web", lo: "2025-12-31T23:59:59.000Z", hi: "2026-01-05T10:00:00.000Z", days: 2 }
287
+ ]
288
+ },
289
+ {
290
+ name: "group by a date returns ISO string keys",
291
+ spec: { groupBy: ["at"], metrics: { n: { count: "*" } }, orderBy: [{ key: "at", direction: "ASC" }] },
292
+ rows: [
293
+ { at: null, n: 2 },
294
+ { at: "2025-12-31T23:59:59.000Z", n: 1 },
295
+ { at: "2026-01-05T10:00:00.000Z", n: 2 },
296
+ { at: "2026-02-14T12:30:00.000Z", n: 1 },
297
+ { at: "2026-03-01T00:00:00.000Z", n: 1 }
298
+ ]
299
+ }
300
+ ];
301
+ /**
302
+ * Check a repository aggregates {@link AGGREGATION_DATASET} exactly like {@link AGGREGATION_CASES}
303
+ *
304
+ * The repository must be empty and keyed by `uuid`; the dataset is created in it.
305
+ * @param repo - the repository to check
306
+ * @param options - expected native flag, and case names to skip with a documented reason
307
+ * @param options.native - the expected `native` flag of every result
308
+ * @param options.skip - names of the cases to skip
309
+ */
310
+ export async function checkAggregation(repo, options) {
311
+ repo.configureAggregation({ fallback: "allow" });
312
+ for (const item of AGGREGATION_DATASET) {
313
+ await repo.create(structuredClone(item));
314
+ }
315
+ for (const { name, spec, rows } of AGGREGATION_CASES) {
316
+ if (options.skip?.includes(name))
317
+ continue;
318
+ const res = await repo.aggregate(spec);
319
+ assert.deepStrictEqual(res.rows, rows, name);
320
+ assert.strictEqual(res.native, options.native, `${name}: native flag`);
321
+ }
322
+ }
38
323
  //# sourceMappingURL=conformance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/repositories/conformance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AA4BtC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAwB,EACxB,OAAuC;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,QAAQ,sBAAsB,CAAC,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,QAAQ,mBAAmB,GAAG,GAAG,CAAC,CAAC;YAC5G,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,iBAAiB,QAAQ,mBAAmB,CAAC,CAAC;YACxE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,6EAA6E;YAC7E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,mDAAmD,QAAQ,EAAE,CAAC,CAAC;YACjF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C,gCAAgC;YAChC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,4CAA4C,CAAC,CAAC;IACnH,MAAM,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,uCAAuC,CAAC,CAAC;AAC3G,CAAC"}
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/repositories/conformance.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { PK, PrimaryKeyType, ModelClass, WEBDA_PRIMARY_KEY } from "../storable.j
2
2
  import type { JSONed, Helpers, PropertyPaths, NumericPropertyPaths, PropertyPathType } from "../types.js";
3
3
  import { AbstractRepository } from "./abstract.js";
4
4
  import { ArrayElement } from "@webda/tsc-esm";
5
- import type { QueryParameters } from "@webda/ql";
5
+ import type { Query as WebdaQLQuery, QueryParameters, AggregationResult } from "@webda/ql";
6
+ import type { AggregatedRow, AggregationOptions, AggregationSpec, MetricSpec } from "../aggregation.js";
6
7
  import { WEBDA_TEST } from "./repository.js";
7
8
  /**
8
9
  * Repository decorator that wraps another repository with event emission.
@@ -50,6 +51,39 @@ export declare class EventRepository<T extends ModelClass = any> extends Abstrac
50
51
  * @returns an async generator of objects
51
52
  */
52
53
  iterate(query: string, params?: QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
54
+ /**
55
+ * Aggregate with event emission
56
+ *
57
+ * Parameters are bound here, so the events carry the bound filter and the underlying
58
+ * repository receives a plain spec and keeps its native implementation.
59
+ * @param spec - the aggregation spec
60
+ * @param params - values for the placeholders of `spec.filter`
61
+ * @returns the aggregated rows
62
+ */
63
+ aggregate<const G extends readonly PropertyPaths<InstanceType<T>>[] = [], const M extends Record<string, MetricSpec<InstanceType<T>>> = Record<string, MetricSpec<InstanceType<T>>>>(spec: AggregationSpec<InstanceType<T>, G, M>, params?: QueryParameters): Promise<AggregationResult<AggregatedRow<InstanceType<T>, G, M>>>;
64
+ /**
65
+ * Configure both this wrapper and the underlying repository
66
+ * @override
67
+ */
68
+ configureAggregation(options: Partial<AggregationOptions>): void;
69
+ /**
70
+ * Delete in bulk through the underlying repository
71
+ *
72
+ * Bulk operations emit no per-object event: see {@link Repository.deleteMany}.
73
+ * @param statement - the DELETE statement or its parsed form
74
+ * @param params - values for the placeholders
75
+ * @returns the number of objects deleted
76
+ */
77
+ deleteMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
78
+ /**
79
+ * Update in bulk through the underlying repository
80
+ *
81
+ * Bulk operations emit no per-object event: see {@link Repository.updateMany}.
82
+ * @param statement - the UPDATE statement or its parsed form
83
+ * @param params - values for the placeholders
84
+ * @returns the number of objects updated
85
+ */
86
+ updateMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
53
87
  /**
54
88
  * Delete an item from a collection
55
89
  * @param uuid The UUID of the item
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,54 @@ export class EventRepository extends AbstractRepository {
82
82
  }
83
83
  yield* this.repository.iterate(query);
84
84
  }
85
+ /**
86
+ * Aggregate with event emission
87
+ *
88
+ * Parameters are bound here, so the events carry the bound filter and the underlying
89
+ * repository receives a plain spec and keeps its native implementation.
90
+ * @param spec - the aggregation spec
91
+ * @param params - values for the placeholders of `spec.filter`
92
+ * @returns the aggregated rows
93
+ */
94
+ async aggregate(spec, params) {
95
+ if (params !== undefined && spec.filter) {
96
+ spec = { ...spec, filter: (await import("@webda/ql")).bind(spec.filter, params) };
97
+ }
98
+ await this.emit("Aggregate", { query: spec });
99
+ const res = await this.repository.aggregate(spec);
100
+ await this.emit("Aggregated", { query: spec, ...res });
101
+ return res;
102
+ }
103
+ /**
104
+ * Configure both this wrapper and the underlying repository
105
+ * @override
106
+ */
107
+ configureAggregation(options) {
108
+ super.configureAggregation(options);
109
+ this.repository.configureAggregation(options);
110
+ }
111
+ /**
112
+ * Delete in bulk through the underlying repository
113
+ *
114
+ * Bulk operations emit no per-object event: see {@link Repository.deleteMany}.
115
+ * @param statement - the DELETE statement or its parsed form
116
+ * @param params - values for the placeholders
117
+ * @returns the number of objects deleted
118
+ */
119
+ async deleteMany(statement, params) {
120
+ return this.repository.deleteMany(statement, params);
121
+ }
122
+ /**
123
+ * Update in bulk through the underlying repository
124
+ *
125
+ * Bulk operations emit no per-object event: see {@link Repository.updateMany}.
126
+ * @param statement - the UPDATE statement or its parsed form
127
+ * @param params - values for the placeholders
128
+ * @returns the number of objects updated
129
+ */
130
+ async updateMany(statement, params) {
131
+ return this.repository.updateMany(statement, params);
132
+ }
85
133
  /**
86
134
  * Delete an item from a collection
87
135
  * @param uuid The UUID of the item
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/repositories/event.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import type { ModelRefWithCreate } from "../relations.js";
2
2
  import { SettablePrimaryKey, type Storable, type ModelClass } from "../storable.js";
3
- import { Helpers } from "../types.js";
3
+ import { Helpers, PropertyPaths } from "../types.js";
4
4
  import type { Repository } from "./repository.js";
5
- import type { QueryParameters, WebdaQLString } from "@webda/ql";
5
+ import type { AggregationResult, QueryParameters, WebdaQLString } from "@webda/ql";
6
+ import type { AggregatedRow, AggregationSpec, MetricSpec } from "../aggregation.js";
6
7
  /**
7
8
  * Global registry mapping ModelClass constructors to their Repository instances.
8
9
  *
@@ -77,6 +78,18 @@ export declare function RepositoryStorageClassMixIn<TBase extends new (...args:
77
78
  * @returns an async generator of model instances
78
79
  */
79
80
  iterate<T extends ModelClass>(this: T, query: WebdaQLString<InstanceType<T>>, params?: QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
81
+ /**
82
+ * Aggregate the objects directly
83
+ *
84
+ * ```ts
85
+ * Task.aggregate({ groupBy: ["status"], metrics: { n: { count: "*" } } });
86
+ * ```
87
+ * @param this - the model class constructor
88
+ * @param spec - filter, group by paths, metrics, ordering and limit
89
+ * @param params - values for the placeholders of `spec.filter`
90
+ * @returns the aggregated rows
91
+ */
92
+ aggregate<T extends ModelClass, const G extends readonly PropertyPaths<InstanceType<T>>[] = [], const M extends Record<string, MetricSpec<InstanceType<T>>> = Record<string, MetricSpec<InstanceType<T>>>>(this: T, spec: AggregationSpec<InstanceType<T>, G, M>, params?: QueryParameters): Promise<AggregationResult<AggregatedRow<InstanceType<T>, G, M>>>;
80
93
  /**
81
94
  * Get a reference to the model
82
95
  * @param this - the model class constructor
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAkB,kBAAkB,EAAqB,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0DAA6C,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAElG;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK;kBAA7B,GAAG,EAAE;QA8EzE;;;WAGG;;;IA/EH;;;OAGG;kBACkB,CAAC,SAAS,UAAU,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIlE;;;;;;OAMG;WACW,CAAC,SAAS,UAAU,QAC1B,CAAC,QACD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SACxB,OAAO,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI3B;;;;;;;;;;;OAWG;UACU,CAAC,SAAS,UAAU,QACzB,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAIF;;;;;;OAMG;YACmB,CAAC,SAAS,UAAU,QAClC,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAM5C;;;;;OAKG;QACQ,CAAC,SAAS,UAAU,QACvB,CAAC,OACF,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;UAYzC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAkB,kBAAkB,EAAqB,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0DAA6C,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAElG;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK;kBAA7B,GAAG,EAAE;QAqGzE;;;WAGG;;;IAtGH;;;OAGG;kBACkB,CAAC,SAAS,UAAU,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIlE;;;;;;OAMG;WACW,CAAC,SAAS,UAAU,QAC1B,CAAC,QACD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SACxB,OAAO,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI3B;;;;;;;;;;;OAWG;UACU,CAAC,SAAS,UAAU,QACzB,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAIF;;;;;;OAMG;YACmB,CAAC,SAAS,UAAU,QAClC,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAM5C;;;;;;;;;;OAUG;cAED,CAAC,SAAS,UAAU,QACd,CAAC,SAAS,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,aACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,sDAErD,CAAC,QACD,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WACnC,eAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAInE;;;;;OAKG;QACQ,CAAC,SAAS,UAAU,QACvB,CAAC,OACF,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;UAYzC"}
@@ -84,6 +84,20 @@ export function RepositoryStorageClassMixIn(Base) {
84
84
  yield item;
85
85
  }
86
86
  }
87
+ /**
88
+ * Aggregate the objects directly
89
+ *
90
+ * ```ts
91
+ * Task.aggregate({ groupBy: ["status"], metrics: { n: { count: "*" } } });
92
+ * ```
93
+ * @param this - the model class constructor
94
+ * @param spec - filter, group by paths, metrics, ordering and limit
95
+ * @param params - values for the placeholders of `spec.filter`
96
+ * @returns the aggregated rows
97
+ */
98
+ static aggregate(spec, params) {
99
+ return useRepository(this).aggregate(spec, params);
100
+ }
87
101
  /**
88
102
  * Get a reference to the model
89
103
  * @param this - the model class constructor
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAuB,GAAM;IACxD,IAAI,KAAK,GAAQ,GAAG,CAAC;IACrB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAkB,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAuB,KAAQ,EAAE,UAAyB;IAC1F,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAA+C,IAAW;IACnG,OAAO,KAAM,SAAQ,IAAI;QACvB;;;WAGG;QACH,MAAM,CAAC,aAAa;YAClB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,MAAM,CAEX,IAA8B,EAC9B,IAAI,GAAY,IAAI;YAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,CAAC,KAAK,CAEV,KAAqC,EACrC,MAAwB;YAKxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAEnB,KAAqC,EACrC,MAAwB;YAExB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAuB,CAAC;YAChC,CAAC;QACH,CAAC;QAED;;;;;WAKG;QACH,MAAM,CAAC,GAAG,CAER,GAAwC;YAExC,OAAO,aAAa,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,GAAU,CAAC,CAAC;QAC9C,CAAC;QAED;;;WAGG;QACH,OAAO;YACL,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAuB,GAAM;IACxD,IAAI,KAAK,GAAQ,GAAG,CAAC;IACrB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAkB,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAuB,KAAQ,EAAE,UAAyB;IAC1F,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAA+C,IAAW;IACnG,OAAO,KAAM,SAAQ,IAAI;QACvB;;;WAGG;QACH,MAAM,CAAC,aAAa;YAClB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,MAAM,CAEX,IAA8B,EAC9B,IAAI,GAAY,IAAI;YAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,CAAC,KAAK,CAEV,KAAqC,EACrC,MAAwB;YAKxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAEnB,KAAqC,EACrC,MAAwB;YAExB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAuB,CAAC;YAChC,CAAC;QACH,CAAC;QAED;;;;;;;;;;WAUG;QACH,MAAM,CAAC,SAAS,CAMd,IAA4C,EAC5C,MAAwB;YAExB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAED;;;;;WAKG;QACH,MAAM,CAAC,GAAG,CAER,GAAwC;YAExC,OAAO,aAAa,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,GAAU,CAAC,CAAC;QAC9C,CAAC;QAED;;;WAGG;QACH,OAAO;YACL,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ArrayElement } from "@webda/tsc-esm";
2
- import type { QueryParameters } from "@webda/ql";
2
+ import type { AggregationQuery, AggregationResult, Query as WebdaQLQuery, QueryParameters } from "@webda/ql";
3
3
  import type { PK, WEBDA_PRIMARY_KEY, ModelClass } from "../storable.js";
4
4
  import type { Helpers, JSONed, PropertyPaths, NumericPropertyPaths } from "../types.js";
5
5
  import { AbstractRepository } from "./abstract.js";
@@ -12,6 +12,8 @@ import { Repository, WEBDA_TEST } from "./repository.js";
12
12
  */
13
13
  export type Query = {
14
14
  limit: number;
15
+ type?: "SELECT" | "DELETE" | "UPDATE";
16
+ fields?: string[];
15
17
  orderBy?: {
16
18
  field: string;
17
19
  direction: "ASC" | "DESC";
@@ -210,12 +212,43 @@ export declare class MemoryRepository<T extends ModelClass, K extends Map<string
210
212
  results: InstanceType<T>[];
211
213
  continuationToken?: string;
212
214
  }>;
215
+ /**
216
+ * A plain MemoryRepository (MemoryStore, FileStore) aggregates its own local data: that is native.
217
+ * Subclasses backed by a remote database (Firestore, Dynamo, ...) inherit the fallback instead.
218
+ * @override
219
+ */
220
+ protected executeAggregation(query: AggregationQuery): Promise<AggregationResult<any>>;
213
221
  /**
214
222
  * Add iterator support
215
223
  * @param query - the query string
216
224
  * @param params - values for the `?` or `:name` placeholders
217
225
  */
218
226
  iterate(query: string, params?: QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
227
+ /**
228
+ * Keys of the stored objects of this model matching a statement's WHERE, at most LIMIT
229
+ *
230
+ * Synchronous: the statement then runs without yielding, so no other write interleaves and an object is
231
+ * never met twice.
232
+ * @param statement - the parsed statement
233
+ * @returns the storage keys and their objects
234
+ */
235
+ protected matchStorage(statement: WebdaQLQuery): {
236
+ key: string;
237
+ item: InstanceType<T>;
238
+ }[];
239
+ /**
240
+ * Delete in bulk, directly in the storage map: no event (see {@link Repository.deleteMany})
241
+ * @override
242
+ */
243
+ deleteMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
244
+ /**
245
+ * Update in bulk, directly in the storage map: no event (see {@link Repository.updateMany})
246
+ *
247
+ * Matches are collected first, then rewritten without yielding: an object whose WHERE field changes is
248
+ * updated once.
249
+ * @override
250
+ */
251
+ updateMany(statement: string | WebdaQLQuery, params?: QueryParameters): Promise<number>;
219
252
  /** @override */
220
253
  delete<K extends PropertyPaths<InstanceType<T>>>(primaryKey: PK<InstanceType<T>, InstanceType<T>[typeof WEBDA_PRIMARY_KEY][number]>, _conditionField?: K | null, _condition?: any): Promise<void>;
221
254
  /** @override */
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/repositories/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,KAAK,IAAI,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC7G,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAc,aAAa,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;KAC9B,CAAC;CACH,CAAC;AAOF,qFAAqF;AACrF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AACF;;;GAGG;AACH,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,UAAU,EACpB,CAAC,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CACnD,SAAQ,kBAAkB,CAAC,CAAC,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IAErB;;;;;OAKG;IACH,YAAY,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,EAG/D;IACD,gBAAgB;IACV,GAAG,CACP,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAC1F,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAKnC;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,CACf,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAC1F,YAAY,CAAC,CAAC,CAAC,CAKjB;IAED,gBAAgB;IACV,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAY3F;IAED,gBAAgB;IACV,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnD,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,IAAI,CAAC,CAOf;IAED;;;;;;OAMG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/D,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,GAAG,QAOhB;IACD,gBAAgB;IACV,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAC3F,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC9B,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,EACzB,SAAS,CAAC,EAAE,GAAG,GACd,OAAO,CAAC,IAAI,CAAC,CAMf;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAgBvC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAyBzC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAQtC;IAED;;;;;OAKG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAoBhD;IAED;;;;;;OAMG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAanD;IAED;;;;;;;;;;OAUG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM,EAAE,GAAG,SAAS,CAW5D;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAM/C;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,KAAK,EACrB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAyCrE;IAED;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAalD;IAED;;;;;;;OAOG;IACH,OAAa,YAAY,CAAC,CAAC,SAAS,UAAU,EAC5C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EAAE,EACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA2DrE;IAED;;;;OAIG;IACH,UAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAK3F;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAkBjG;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE,EAAE,CAiBxF;IAED;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5F;IAED;;;;;;OAMG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5F;IAED,gBAAgB;IACV,MAAM,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACnD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;IAED,gBAAgB;IACV,MAAM,CACV,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,GAC1F,OAAO,CAAC,OAAO,CAAC,CAElB;IAED;;;;;OAKG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,GAAG,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAiB3E;IAED;;;;OAIG;IACG,mBAAmB,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACjH,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,EAC3F,IAAI,EAAE,CAAC,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EACjE,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA0BxC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,uBAAuB,CAC/B,IAAI,EAAE,GAAG,EAAE,EACX,KAAK,EAAE,MAAM,EACb,uBAAuB,EAAE,MAAM,EAC/B,kBAAkB,EAAE,GAAG,GACtB,IAAI,CAQN;IAED,gBAAgB;IACV,sBAAsB,CAC1B,CAAC,SAAS,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/E,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEhD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,UAAU,EAAE,CAAC,EACb,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACjF,KAAK,CAAC,EAAE,MAAM,EACd,uBAAuB,CAAC,EAAE,GAAG,EAC7B,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,IAAI,CAAC,CAgBf;IAED,gBAAgB;IACV,wBAAwB,CAC5B,CAAC,SAAS,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/E,CAAC,SAAS,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAEhD,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,UAAU,EAAE,CAAC,EACb,KAAK,EAAE,MAAM,EACb,uBAAuB,CAAC,EAAE,GAAG,EAC7B,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,IAAI,CAAC,CAaf;IAED,gBAAgB;IACV,eAAe,CAAC,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EACtG,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,EAClF,SAAS,EAAE,CAAC,EACZ,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAC1B,UAAU,CAAC,EAAE,GAAG,GACf,OAAO,CAAC,IAAI,CAAC,CAIf;IAED,8CAA8C;IAC9C,CAAC,UAAU,CAAC;QACV,KAAK;MAGL;CACH"}