@taylordb/query-builder 0.9.16 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/cjs/@types/aggregate.d.ts +16 -1
- package/dist/cjs/__tests__/query-builder.spec.js +78 -5
- package/dist/cjs/__tests__/query-builder.spec.js.map +1 -1
- package/dist/cjs/aggregation-helpers.d.ts +77 -0
- package/dist/cjs/aggregation-helpers.js +103 -0
- package/dist/cjs/aggregation-helpers.js.map +1 -0
- package/dist/cjs/aggregation-query-builder.d.ts +30 -22
- package/dist/cjs/aggregation-query-builder.js +127 -20
- package/dist/cjs/aggregation-query-builder.js.map +1 -1
- package/dist/cjs/batch-query-builder.d.ts +1 -1
- package/dist/cjs/batch-query-builder.js +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +11 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/@types/aggregate.d.ts +16 -1
- package/dist/esm/__tests__/query-builder.spec.js +79 -6
- package/dist/esm/__tests__/query-builder.spec.js.map +1 -1
- package/dist/esm/aggregation-helpers.d.ts +77 -0
- package/dist/esm/aggregation-helpers.js +92 -0
- package/dist/esm/aggregation-helpers.js.map +1 -0
- package/dist/esm/aggregation-query-builder.d.ts +30 -22
- package/dist/esm/aggregation-query-builder.js +124 -20
- package/dist/esm/aggregation-query-builder.js.map +1 -1
- package/dist/esm/batch-query-builder.d.ts +1 -1
- package/dist/esm/batch-query-builder.js +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -171,12 +171,15 @@ const [customers, newCustomer] = await qb
|
|
|
171
171
|
You can perform powerful aggregation queries using the `aggregateFrom` method. You can group by one or more fields and specify aggregate functions to apply.
|
|
172
172
|
|
|
173
173
|
```typescript
|
|
174
|
+
import { count, sum } from '@taylordb/query-builder';
|
|
175
|
+
|
|
174
176
|
const aggregates = await qb
|
|
175
177
|
.aggregateFrom('customers')
|
|
176
178
|
.groupBy('firstName', 'asc')
|
|
177
179
|
.groupBy('lastName', 'desc')
|
|
178
|
-
.
|
|
179
|
-
|
|
180
|
+
.metrics({
|
|
181
|
+
idCount: count('id'),
|
|
182
|
+
idSum: sum('id'),
|
|
180
183
|
})
|
|
181
184
|
.execute();
|
|
182
185
|
```
|
|
@@ -17,7 +17,7 @@ export type AggregateRecord<DB extends AnyDB, TName extends keyof DB, TGroupBy e
|
|
|
17
17
|
count: number;
|
|
18
18
|
aggregates: Aggregates<DB, TName, TAggregations>;
|
|
19
19
|
} : {
|
|
20
|
-
|
|
20
|
+
slug: Head<TGroupBy>;
|
|
21
21
|
value: InferDataType<DB[TName][Head<TGroupBy>]>;
|
|
22
22
|
count: number;
|
|
23
23
|
aggregates: Aggregates<DB, TName, TAggregations>;
|
|
@@ -25,4 +25,19 @@ export type AggregateRecord<DB extends AnyDB, TName extends keyof DB, TGroupBy e
|
|
|
25
25
|
children: AggregateRecord<DB, TName, Tail<TGroupBy>, TAggregations>[];
|
|
26
26
|
});
|
|
27
27
|
export type AggregateNode = Omit<MetadataWithTableName<AggregationQueryMetaData>, 'fields'>;
|
|
28
|
+
/**
|
|
29
|
+
* Flat metrics response type.
|
|
30
|
+
* This represents a single row in the flattened aggregation results.
|
|
31
|
+
*/
|
|
32
|
+
export type MetricsRecord<DB extends AnyDB, TName extends keyof DB, TGroupBy extends readonly (keyof DB[TName] & string)[], TMetrics extends Record<string, {
|
|
33
|
+
field: string;
|
|
34
|
+
aggregation: string;
|
|
35
|
+
}>> = {
|
|
36
|
+
[K in TGroupBy[number]]: InferDataType<DB[TName][K]>;
|
|
37
|
+
} & {
|
|
38
|
+
[K in keyof TMetrics]: TMetrics[K] extends {
|
|
39
|
+
field: infer F;
|
|
40
|
+
aggregation: infer A;
|
|
41
|
+
} ? F extends keyof DB[TName] & string ? A extends keyof DB[TName][F]['aggregations'] ? DB[TName][F]['aggregations'][A] : A extends 'count' ? number : number : number : number;
|
|
42
|
+
};
|
|
28
43
|
export {};
|
|
@@ -222,12 +222,38 @@ describe('QueryBuilder', () => {
|
|
|
222
222
|
tableName: 'customers',
|
|
223
223
|
});
|
|
224
224
|
});
|
|
225
|
-
it('should compile
|
|
226
|
-
|
|
225
|
+
it('should compile a metrics query and flatten results', async () => {
|
|
226
|
+
// Mock response with nested structure (rawRequest extracts execute key, so return array directly)
|
|
227
|
+
const mockNestedResponse = [
|
|
228
|
+
[
|
|
229
|
+
{
|
|
230
|
+
slug: 'firstName',
|
|
231
|
+
value: 'John',
|
|
232
|
+
count: 2,
|
|
233
|
+
aggregates: {
|
|
234
|
+
id: { sum: 100 },
|
|
235
|
+
},
|
|
236
|
+
children: [
|
|
237
|
+
{
|
|
238
|
+
slug: 'lastName',
|
|
239
|
+
value: 'Doe',
|
|
240
|
+
count: 1,
|
|
241
|
+
aggregates: {
|
|
242
|
+
id: { sum: 50 },
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
},
|
|
247
|
+
],
|
|
248
|
+
];
|
|
249
|
+
// Mock to return the array directly (as rawRequest would after extracting from { execute: [...] })
|
|
250
|
+
mockRawRequest.mockResolvedValueOnce(mockNestedResponse);
|
|
251
|
+
const result = await qb
|
|
227
252
|
.aggregateFrom('customers')
|
|
228
253
|
.groupBy('firstName', 'asc')
|
|
229
|
-
.
|
|
230
|
-
|
|
254
|
+
.groupBy('lastName', 'desc')
|
|
255
|
+
.metrics({
|
|
256
|
+
idSum: (0, index_js_1.sum)('id'),
|
|
231
257
|
})
|
|
232
258
|
.execute();
|
|
233
259
|
expect(mockRawRequest).toHaveBeenCalledTimes(1);
|
|
@@ -235,11 +261,58 @@ describe('QueryBuilder', () => {
|
|
|
235
261
|
expect(variables.metadata[0]).toMatchObject({
|
|
236
262
|
type: 'aggregation',
|
|
237
263
|
tableName: 'customers',
|
|
238
|
-
groupings: [
|
|
264
|
+
groupings: [
|
|
265
|
+
{ field: 'firstName', direction: 'asc' },
|
|
266
|
+
{ field: 'lastName', direction: 'desc' },
|
|
267
|
+
],
|
|
239
268
|
aggregations: {
|
|
240
269
|
id: ['sum'],
|
|
241
270
|
},
|
|
242
271
|
});
|
|
272
|
+
// Verify flattened result
|
|
273
|
+
expect(result).toEqual([
|
|
274
|
+
{
|
|
275
|
+
firstName: 'John',
|
|
276
|
+
lastName: 'Doe',
|
|
277
|
+
idSum: 50,
|
|
278
|
+
},
|
|
279
|
+
]);
|
|
280
|
+
});
|
|
281
|
+
it('should flatten metrics results without groupBy', async () => {
|
|
282
|
+
// Mock response with no groupBy (flat structure)
|
|
283
|
+
// rawRequest extracts execute key, so return array directly
|
|
284
|
+
const mockFlatResponse = [
|
|
285
|
+
[
|
|
286
|
+
{
|
|
287
|
+
count: 10,
|
|
288
|
+
aggregates: {
|
|
289
|
+
id: { sum: 500 },
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
];
|
|
294
|
+
mockRawRequest.mockResolvedValueOnce(mockFlatResponse);
|
|
295
|
+
const result = await qb
|
|
296
|
+
.aggregateFrom('customers')
|
|
297
|
+
.metrics({
|
|
298
|
+
idSum: (0, index_js_1.sum)('id'),
|
|
299
|
+
})
|
|
300
|
+
.execute();
|
|
301
|
+
expect(mockRawRequest).toHaveBeenCalledTimes(1);
|
|
302
|
+
const variables = mockRawRequest.mock.calls[0][1];
|
|
303
|
+
expect(variables.metadata[0]).toMatchObject({
|
|
304
|
+
type: 'aggregation',
|
|
305
|
+
tableName: 'customers',
|
|
306
|
+
aggregations: {
|
|
307
|
+
id: ['sum'],
|
|
308
|
+
},
|
|
309
|
+
});
|
|
310
|
+
// Verify flattened result (no groupBy fields)
|
|
311
|
+
expect(result).toEqual([
|
|
312
|
+
{
|
|
313
|
+
idSum: 500,
|
|
314
|
+
},
|
|
315
|
+
]);
|
|
243
316
|
});
|
|
244
317
|
it('should compile a cross-table query and execute', async () => {
|
|
245
318
|
await qb
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.spec.js","sourceRoot":"","sources":["../../../src/__tests__/query-builder.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-builder.spec.js","sourceRoot":"","sources":["../../../src/__tests__/query-builder.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for creating aggregation metrics.
|
|
3
|
+
* These functions return objects that describe the aggregation to perform.
|
|
4
|
+
*/
|
|
5
|
+
export type AggregationHelper<TField extends string = string, TAggregation extends string = string> = {
|
|
6
|
+
field: TField;
|
|
7
|
+
aggregation: TAggregation;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Creates a count aggregation for the specified field.
|
|
11
|
+
* @param field - The field name to count.
|
|
12
|
+
* @returns An aggregation helper object.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* count('id')
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function count<TField extends string>(field: TField): AggregationHelper<TField, 'count'>;
|
|
20
|
+
/**
|
|
21
|
+
* Creates an average aggregation for the specified field.
|
|
22
|
+
* @param field - The field name to average.
|
|
23
|
+
* @returns An aggregation helper object.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* avg('age')
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function avg<TField extends string>(field: TField): AggregationHelper<TField, 'average'>;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a sum aggregation for the specified field.
|
|
33
|
+
* @param field - The field name to sum.
|
|
34
|
+
* @returns An aggregation helper object.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* sum('age')
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export declare function sum<TField extends string>(field: TField): AggregationHelper<TField, 'sum'>;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a median aggregation for the specified field.
|
|
44
|
+
* @param field - The field name to calculate median for.
|
|
45
|
+
* @returns An aggregation helper object.
|
|
46
|
+
*/
|
|
47
|
+
export declare function median<TField extends string>(field: TField): AggregationHelper<TField, 'median'>;
|
|
48
|
+
/**
|
|
49
|
+
* Creates a min aggregation for the specified field.
|
|
50
|
+
* @param field - The field name to find minimum for.
|
|
51
|
+
* @returns An aggregation helper object.
|
|
52
|
+
*/
|
|
53
|
+
export declare function min<TField extends string>(field: TField): AggregationHelper<TField, 'min'>;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a max aggregation for the specified field.
|
|
56
|
+
* @param field - The field name to find maximum for.
|
|
57
|
+
* @returns An aggregation helper object.
|
|
58
|
+
*/
|
|
59
|
+
export declare function max<TField extends string>(field: TField): AggregationHelper<TField, 'max'>;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a range aggregation for the specified field.
|
|
62
|
+
* @param field - The field name to calculate range for.
|
|
63
|
+
* @returns An aggregation helper object.
|
|
64
|
+
*/
|
|
65
|
+
export declare function range<TField extends string>(field: TField): AggregationHelper<TField, 'range'>;
|
|
66
|
+
/**
|
|
67
|
+
* Creates a standard deviation aggregation for the specified field.
|
|
68
|
+
* @param field - The field name to calculate standard deviation for.
|
|
69
|
+
* @returns An aggregation helper object.
|
|
70
|
+
*/
|
|
71
|
+
export declare function stdDev<TField extends string>(field: TField): AggregationHelper<TField, 'standardDeviation'>;
|
|
72
|
+
/**
|
|
73
|
+
* Creates a unique count aggregation for the specified field.
|
|
74
|
+
* @param field - The field name to count unique values for.
|
|
75
|
+
* @returns An aggregation helper object.
|
|
76
|
+
*/
|
|
77
|
+
export declare function unique<TField extends string>(field: TField): AggregationHelper<TField, 'unique'>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Helper functions for creating aggregation metrics.
|
|
4
|
+
* These functions return objects that describe the aggregation to perform.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.count = count;
|
|
8
|
+
exports.avg = avg;
|
|
9
|
+
exports.sum = sum;
|
|
10
|
+
exports.median = median;
|
|
11
|
+
exports.min = min;
|
|
12
|
+
exports.max = max;
|
|
13
|
+
exports.range = range;
|
|
14
|
+
exports.stdDev = stdDev;
|
|
15
|
+
exports.unique = unique;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a count aggregation for the specified field.
|
|
18
|
+
* @param field - The field name to count.
|
|
19
|
+
* @returns An aggregation helper object.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* count('id')
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function count(field) {
|
|
27
|
+
return { field, aggregation: 'count' };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Creates an average aggregation for the specified field.
|
|
31
|
+
* @param field - The field name to average.
|
|
32
|
+
* @returns An aggregation helper object.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* avg('age')
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
function avg(field) {
|
|
40
|
+
return { field, aggregation: 'average' };
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates a sum aggregation for the specified field.
|
|
44
|
+
* @param field - The field name to sum.
|
|
45
|
+
* @returns An aggregation helper object.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* sum('age')
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
function sum(field) {
|
|
53
|
+
return { field, aggregation: 'sum' };
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Creates a median aggregation for the specified field.
|
|
57
|
+
* @param field - The field name to calculate median for.
|
|
58
|
+
* @returns An aggregation helper object.
|
|
59
|
+
*/
|
|
60
|
+
function median(field) {
|
|
61
|
+
return { field, aggregation: 'median' };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Creates a min aggregation for the specified field.
|
|
65
|
+
* @param field - The field name to find minimum for.
|
|
66
|
+
* @returns An aggregation helper object.
|
|
67
|
+
*/
|
|
68
|
+
function min(field) {
|
|
69
|
+
return { field, aggregation: 'min' };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Creates a max aggregation for the specified field.
|
|
73
|
+
* @param field - The field name to find maximum for.
|
|
74
|
+
* @returns An aggregation helper object.
|
|
75
|
+
*/
|
|
76
|
+
function max(field) {
|
|
77
|
+
return { field, aggregation: 'max' };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Creates a range aggregation for the specified field.
|
|
81
|
+
* @param field - The field name to calculate range for.
|
|
82
|
+
* @returns An aggregation helper object.
|
|
83
|
+
*/
|
|
84
|
+
function range(field) {
|
|
85
|
+
return { field, aggregation: 'range' };
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a standard deviation aggregation for the specified field.
|
|
89
|
+
* @param field - The field name to calculate standard deviation for.
|
|
90
|
+
* @returns An aggregation helper object.
|
|
91
|
+
*/
|
|
92
|
+
function stdDev(field) {
|
|
93
|
+
return { field, aggregation: 'standardDeviation' };
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Creates a unique count aggregation for the specified field.
|
|
97
|
+
* @param field - The field name to count unique values for.
|
|
98
|
+
* @returns An aggregation helper object.
|
|
99
|
+
*/
|
|
100
|
+
function unique(field) {
|
|
101
|
+
return { field, aggregation: 'unique' };
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=aggregation-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregation-helpers.js","sourceRoot":"","sources":["../../src/aggregation-helpers.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAoBH,sBAIC;AAYD,kBAIC;AAYD,kBAIC;AAOD,wBAIC;AAOD,kBAIC;AAOD,kBAIC;AAOD,sBAIC;AAOD,wBAIC;AAOD,wBAIC;AAhHD;;;;;;;;;GASG;AACH,SAAgB,KAAK,CACnB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAgB,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,GAAG,CACjB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAkB,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,GAAG,CACjB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAc,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAiB,EAAE,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CACjB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAc,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CACjB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAc,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CACnB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAgB,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,mBAA4B,EAAE,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,MAAM,CACpB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAiB,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { AggregateNode, AggregateRecord } from './@types/aggregate.js';
|
|
1
|
+
import type { AggregateNode, AggregateRecord, MetricsRecord } from './@types/aggregate.js';
|
|
2
2
|
import type { AnyDB } from './@types/internal-types.js';
|
|
3
|
+
import type { AggregationHelper } from './aggregation-helpers.js';
|
|
3
4
|
import { Executor } from './executor.js';
|
|
4
5
|
import { FilterableQueryBuilder } from './where-query-builder.js';
|
|
5
6
|
/**
|
|
@@ -11,9 +12,9 @@ import { FilterableQueryBuilder } from './where-query-builder.js';
|
|
|
11
12
|
*/
|
|
12
13
|
export declare class AggregationQueryBuilder<DB extends AnyDB, TableName extends keyof DB, TGroupBy extends readonly (keyof DB[TableName] & string)[] = [], TAggregations extends {
|
|
13
14
|
[K in keyof DB[TableName] & string]?: readonly (keyof DB[TableName][K]['aggregations'])[];
|
|
14
|
-
} = object> extends FilterableQueryBuilder<DB, TableName> {
|
|
15
|
+
} = object, TMetrics extends Record<string, AggregationHelper> | undefined = undefined> extends FilterableQueryBuilder<DB, TableName> {
|
|
15
16
|
#private;
|
|
16
|
-
constructor(node: AggregateNode, executor: Executor);
|
|
17
|
+
constructor(node: AggregateNode, executor: Executor, metrics?: TMetrics);
|
|
17
18
|
/**
|
|
18
19
|
* Groups the results by a specified field.
|
|
19
20
|
* @param field - The field to group by.
|
|
@@ -25,73 +26,80 @@ export declare class AggregationQueryBuilder<DB extends AnyDB, TableName extends
|
|
|
25
26
|
* const userCounts = await qb
|
|
26
27
|
* .aggregateFrom('users')
|
|
27
28
|
* .groupBy('role')
|
|
28
|
-
* .
|
|
29
|
+
* .metrics({ count: count('id') })
|
|
29
30
|
* .execute();
|
|
30
31
|
* ```
|
|
31
32
|
*/
|
|
32
33
|
groupBy<const TField extends keyof DB[TableName] & string>(field: TField, direction?: 'asc' | 'desc'): AggregationQueryBuilder<DB, TableName, [
|
|
33
34
|
...TGroupBy,
|
|
34
35
|
TField
|
|
35
|
-
], TAggregations>;
|
|
36
|
+
], TAggregations, TMetrics>;
|
|
36
37
|
/**
|
|
37
|
-
* Specifies the
|
|
38
|
-
*
|
|
39
|
-
* @
|
|
38
|
+
* Specifies the metrics to compute using helper functions.
|
|
39
|
+
* Returns a flat array of records with groupBy fields and metrics at the top level.
|
|
40
|
+
* @param metrics - An object where keys are metric names and values are aggregation helper functions.
|
|
41
|
+
* @returns A new `AggregationQueryBuilder` instance with the metrics applied.
|
|
40
42
|
*
|
|
41
43
|
* @example
|
|
42
44
|
* ```typescript
|
|
43
45
|
* const userStats = await qb
|
|
44
46
|
* .aggregateFrom('users')
|
|
45
|
-
* .
|
|
46
|
-
*
|
|
47
|
-
*
|
|
47
|
+
* .groupBy('role', 'asc')
|
|
48
|
+
* .groupBy('permission', 'desc')
|
|
49
|
+
* .metrics({
|
|
50
|
+
* idCount: count('id'),
|
|
51
|
+
* ageAvg: avg('age'),
|
|
52
|
+
* ageSum: sum('age')
|
|
48
53
|
* })
|
|
49
54
|
* .execute();
|
|
50
55
|
* ```
|
|
51
56
|
*/
|
|
52
|
-
|
|
53
|
-
[K in keyof DB[TableName] & string]?: readonly (keyof DB[TableName][K]['aggregations'])[];
|
|
54
|
-
}>(aggregates: T): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations & T>;
|
|
57
|
+
metrics<const T extends Record<string, AggregationHelper>>(metrics: T): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations, T>;
|
|
55
58
|
/**
|
|
56
59
|
* Sets the maximum number of records to return.
|
|
57
60
|
* @param count - The maximum number of records.
|
|
58
61
|
* @returns A new `AggregationQueryBuilder` instance with the limit applied.
|
|
59
62
|
*/
|
|
60
|
-
limit(count: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations>;
|
|
63
|
+
limit(count: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations, TMetrics>;
|
|
61
64
|
/**
|
|
62
65
|
* Sets the number of records to skip.
|
|
63
66
|
* @param count - The number of records to skip.
|
|
64
67
|
* @returns A new `AggregationQueryBuilder` instance with the offset applied.
|
|
65
68
|
*/
|
|
66
|
-
offset(count: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations>;
|
|
69
|
+
offset(count: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations, TMetrics>;
|
|
67
70
|
/**
|
|
68
71
|
* Paginates the results.
|
|
69
72
|
* @param page - The page number to retrieve.
|
|
70
73
|
* @param limit - The number of records per page.
|
|
71
74
|
* @returns A new `AggregationQueryBuilder` instance with pagination applied.
|
|
72
75
|
*/
|
|
73
|
-
paginate(page: number, limit: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations>;
|
|
76
|
+
paginate(page: number, limit: number): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations, TMetrics>;
|
|
74
77
|
/**
|
|
75
78
|
* Sorts the results by a specified field.
|
|
76
79
|
* @param field - The field to sort by.
|
|
77
80
|
* @param direction - The sort direction ('asc' or 'desc').
|
|
78
81
|
* @returns A new `AggregationQueryBuilder` instance with the sorting applied.
|
|
79
82
|
*/
|
|
80
|
-
orderBy(field: keyof DB[TableName], direction?: 'asc' | 'desc'): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations>;
|
|
83
|
+
orderBy(field: keyof DB[TableName], direction?: 'asc' | 'desc'): AggregationQueryBuilder<DB, TableName, TGroupBy, TAggregations, TMetrics>;
|
|
81
84
|
/**
|
|
82
85
|
* Executes the aggregation query.
|
|
83
86
|
* @returns A promise that resolves with an array of the aggregation results.
|
|
87
|
+
* If metrics were specified, returns a flat array. Otherwise, returns the nested structure.
|
|
84
88
|
*
|
|
85
89
|
* @example
|
|
86
90
|
* ```typescript
|
|
87
91
|
* const userCounts = await qb
|
|
88
92
|
* .aggregateFrom('users')
|
|
89
93
|
* .groupBy('role')
|
|
90
|
-
* .
|
|
94
|
+
* .metrics({ count: count('id') })
|
|
91
95
|
* .execute();
|
|
92
96
|
* ```
|
|
93
97
|
*/
|
|
94
|
-
execute(): Promise<AggregateRecord<DB, TableName, TGroupBy, TAggregations>[]>;
|
|
98
|
+
execute(): Promise<TMetrics extends Record<string, AggregationHelper> ? MetricsRecord<DB, TableName, TGroupBy, TMetrics>[] : AggregateRecord<DB, TableName, TGroupBy, TAggregations>[]>;
|
|
99
|
+
/**
|
|
100
|
+
* Flattens the nested AggregateRecord structure into a flat array of metrics records.
|
|
101
|
+
*/
|
|
102
|
+
private _flattenMetrics;
|
|
95
103
|
/**
|
|
96
104
|
* Subscribes to the results of the aggregation query.
|
|
97
105
|
* @param callback - A callback function that will be called with the results of the aggregation query.
|
|
@@ -102,7 +110,7 @@ export declare class AggregationQueryBuilder<DB extends AnyDB, TableName extends
|
|
|
102
110
|
* const unsubscribe = qb
|
|
103
111
|
* .aggregateFrom('users')
|
|
104
112
|
* .groupBy('role')
|
|
105
|
-
* .
|
|
113
|
+
* .metrics({ count: count('id') })
|
|
106
114
|
* .subscribe((userCounts) => {
|
|
107
115
|
* console.log('User counts by role:', userCounts);
|
|
108
116
|
* });
|
|
@@ -111,7 +119,7 @@ export declare class AggregationQueryBuilder<DB extends AnyDB, TableName extends
|
|
|
111
119
|
* unsubscribe();
|
|
112
120
|
* ```
|
|
113
121
|
*/
|
|
114
|
-
subscribe(callback: (result: AggregateRecord<DB, TableName, TGroupBy, TAggregations>[]) => void): Promise<{
|
|
122
|
+
subscribe(callback: (result: TMetrics extends Record<string, AggregationHelper> ? MetricsRecord<DB, TableName, TGroupBy, TMetrics>[] : AggregateRecord<DB, TableName, TGroupBy, TAggregations>[]) => void): Promise<{
|
|
115
123
|
unsubscribe: () => Promise<void>;
|
|
116
124
|
}>;
|
|
117
125
|
compile(): {
|