@decaf-ts/core 0.8.25 → 0.8.27
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 +184 -179
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/index.d.ts +5 -0
- package/lib/esm/identity/index.js +5 -0
- package/lib/esm/identity/index.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/index.d.ts +5 -0
- package/lib/esm/interfaces/index.js +5 -0
- package/lib/esm/interfaces/index.js.map +1 -1
- package/lib/esm/migrations/index.d.ts +5 -0
- package/lib/esm/migrations/index.js +5 -0
- package/lib/esm/migrations/index.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +3 -0
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +5 -0
- package/lib/esm/model/index.js +5 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/overrides/index.d.ts +5 -0
- package/lib/esm/overrides/index.js +5 -0
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/esm/persistence/index.d.ts +5 -0
- package/lib/esm/persistence/index.js +5 -0
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/query/MethodQueryBuilder.d.ts +31 -3
- package/lib/esm/query/MethodQueryBuilder.js +153 -32
- package/lib/esm/query/MethodQueryBuilder.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +9 -4
- package/lib/esm/query/Statement.js +197 -11
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/query/constants.d.ts +8 -1
- package/lib/esm/query/constants.js +7 -0
- package/lib/esm/query/constants.js.map +1 -1
- package/lib/esm/query/decorators.js +60 -6
- package/lib/esm/query/decorators.js.map +1 -1
- package/lib/esm/query/index.d.ts +5 -0
- package/lib/esm/query/index.js +5 -0
- package/lib/esm/query/index.js.map +1 -1
- package/lib/esm/query/options.d.ts +72 -8
- package/lib/esm/query/types.d.ts +21 -1
- package/lib/esm/query/types.js +8 -0
- package/lib/esm/query/types.js.map +1 -1
- package/lib/esm/ram/RamAdapter.d.ts +3 -0
- package/lib/esm/ram/RamAdapter.js +88 -22
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamStatement.js +9 -3
- package/lib/esm/ram/RamStatement.js.map +1 -1
- package/lib/esm/ram/index.js +5 -0
- package/lib/esm/ram/index.js.map +1 -1
- package/lib/esm/ram/types.d.ts +1 -0
- package/lib/esm/repository/Repository.d.ts +59 -3
- package/lib/esm/repository/Repository.js +130 -1
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/index.d.ts +5 -0
- package/lib/esm/repository/index.js +5 -0
- package/lib/esm/repository/index.js.map +1 -1
- package/lib/esm/services/index.d.ts +5 -0
- package/lib/esm/services/index.js +5 -0
- package/lib/esm/services/index.js.map +1 -1
- package/lib/esm/tasks/index.d.ts +5 -0
- package/lib/esm/tasks/index.js +5 -0
- package/lib/esm/tasks/index.js.map +1 -1
- package/lib/esm/utils/index.d.ts +5 -0
- package/lib/esm/utils/index.js +5 -0
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/identity/index.cjs +5 -0
- package/lib/identity/index.d.ts +5 -0
- package/lib/identity/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/index.cjs +5 -0
- package/lib/interfaces/index.d.ts +5 -0
- package/lib/interfaces/index.js.map +1 -1
- package/lib/migrations/index.cjs +5 -0
- package/lib/migrations/index.d.ts +5 -0
- package/lib/migrations/index.js.map +1 -1
- package/lib/model/decorators.d.ts +3 -0
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +5 -0
- package/lib/model/index.d.ts +5 -0
- package/lib/model/index.js.map +1 -1
- package/lib/overrides/index.cjs +5 -0
- package/lib/overrides/index.d.ts +5 -0
- package/lib/overrides/index.js.map +1 -1
- package/lib/persistence/index.cjs +5 -0
- package/lib/persistence/index.d.ts +5 -0
- package/lib/persistence/index.js.map +1 -1
- package/lib/query/MethodQueryBuilder.cjs +153 -32
- package/lib/query/MethodQueryBuilder.d.ts +31 -3
- package/lib/query/MethodQueryBuilder.js.map +1 -1
- package/lib/query/Statement.cjs +197 -11
- package/lib/query/Statement.d.ts +9 -4
- package/lib/query/Statement.js.map +1 -1
- package/lib/query/constants.cjs +7 -0
- package/lib/query/constants.d.ts +8 -1
- package/lib/query/constants.js.map +1 -1
- package/lib/query/decorators.cjs +60 -6
- package/lib/query/decorators.js.map +1 -1
- package/lib/query/index.cjs +5 -0
- package/lib/query/index.d.ts +5 -0
- package/lib/query/index.js.map +1 -1
- package/lib/query/options.d.ts +72 -8
- package/lib/query/types.cjs +8 -0
- package/lib/query/types.d.ts +21 -1
- package/lib/query/types.js.map +1 -1
- package/lib/ram/RamAdapter.cjs +88 -22
- package/lib/ram/RamAdapter.d.ts +3 -0
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamStatement.cjs +8 -2
- package/lib/ram/RamStatement.js.map +1 -1
- package/lib/ram/index.cjs +5 -0
- package/lib/ram/index.js.map +1 -1
- package/lib/ram/types.d.ts +1 -0
- package/lib/repository/Repository.cjs +130 -1
- package/lib/repository/Repository.d.ts +59 -3
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/index.cjs +5 -0
- package/lib/repository/index.d.ts +5 -0
- package/lib/repository/index.js.map +1 -1
- package/lib/services/index.cjs +5 -0
- package/lib/services/index.d.ts +5 -0
- package/lib/services/index.js.map +1 -1
- package/lib/tasks/index.cjs +5 -0
- package/lib/tasks/index.d.ts +5 -0
- package/lib/tasks/index.js.map +1 -1
- package/lib/utils/index.cjs +5 -0
- package/lib/utils/index.d.ts +5 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,11 @@ import { Model } from "@decaf-ts/decorator-validation";
|
|
|
4
4
|
import { Condition } from "./Condition";
|
|
5
5
|
import { Paginatable } from "../interfaces/Paginatable";
|
|
6
6
|
import { Constructor } from "@decaf-ts/decoration";
|
|
7
|
+
type NormalizedGroupKey<M extends Model, K extends keyof M> = M[K] extends PropertyKey ? M[K] : PropertyKey;
|
|
8
|
+
type GroupByReturnValue<M extends Model, Keys extends readonly GroupBySelector<M>[]> = Keys extends [
|
|
9
|
+
infer Head extends keyof M,
|
|
10
|
+
...infer Tail extends readonly GroupBySelector<M>[]
|
|
11
|
+
] ? Record<NormalizedGroupKey<M, Head>, GroupByReturnValue<M, Tail>> : M[];
|
|
7
12
|
export interface StatementExecutor<M extends Model, R> extends Executor<R>, Paginatable<M, R, any> {
|
|
8
13
|
}
|
|
9
14
|
export interface PreparableStatementExecutor<M extends Model, R> extends StatementExecutor<M, R> {
|
|
@@ -16,11 +21,11 @@ export interface PreparableStatementExecutor<M extends Model, R> extends Stateme
|
|
|
16
21
|
* @interface GroupByOption
|
|
17
22
|
* @memberOf module:core
|
|
18
23
|
*/
|
|
19
|
-
export interface GroupByResult<M extends Model,
|
|
20
|
-
thenBy(selector:
|
|
24
|
+
export interface GroupByResult<M extends Model, Keys extends readonly GroupBySelector<M>[] = readonly GroupBySelector<M>[]> extends PreparableStatementExecutor<M, GroupByReturnValue<M, Keys>>, OrderByOption<M, GroupByReturnValue<M, Keys>>, LimitOption<M, GroupByReturnValue<M, Keys>>, OffsetOption<M, GroupByReturnValue<M, Keys>> {
|
|
25
|
+
thenBy<Key extends GroupBySelector<M>>(selector: Key): GroupByResult<M, [...Keys, Key]>;
|
|
21
26
|
}
|
|
22
|
-
export interface GroupByOption<M extends Model
|
|
23
|
-
groupBy(selector:
|
|
27
|
+
export interface GroupByOption<M extends Model> {
|
|
28
|
+
groupBy<Key extends GroupBySelector<M>>(selector: Key): GroupByResult<M, [Key]>;
|
|
24
29
|
}
|
|
25
30
|
/**
|
|
26
31
|
* @summary Offset Option interface
|
|
@@ -85,7 +90,7 @@ export interface OrderByThenByOption<M extends Model, R> extends LimitOption<M,
|
|
|
85
90
|
* @extends OffsetOption
|
|
86
91
|
* @memberOf module:core
|
|
87
92
|
*/
|
|
88
|
-
export interface OrderAndGroupOption<M extends Model, R> extends OrderByOption<M, R>, PreparableStatementExecutor<M, R>, GroupByOption<M
|
|
93
|
+
export interface OrderAndGroupOption<M extends Model, R> extends OrderByOption<M, R>, PreparableStatementExecutor<M, R>, GroupByOption<M>, LimitOption<M, R>, OffsetOption<M, R> {
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
91
96
|
* @summary Where Option interface
|
|
@@ -150,15 +155,73 @@ export interface MaxOption<M extends Model, R> extends FromOption<M, R> {
|
|
|
150
155
|
*/
|
|
151
156
|
export interface MinOption<M extends Model, R> extends FromOption<M, R> {
|
|
152
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* @summary Count Distinct Where Option Interface
|
|
160
|
+
* @description Exposes the remaining options after COUNT DISTINCT...FROM
|
|
161
|
+
*
|
|
162
|
+
* @interface CountDistinctWhereOption
|
|
163
|
+
* @memberOf module:core
|
|
164
|
+
*/
|
|
165
|
+
export interface CountDistinctWhereOption<M extends Model> extends OrderAndGroupOption<M, number> {
|
|
166
|
+
/**
|
|
167
|
+
* @summary filter the records by a condition
|
|
168
|
+
* @param {Condition} condition
|
|
169
|
+
*/
|
|
170
|
+
where(condition: Condition<M>): CountDistinctWhereOption<M>;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* @summary Count Where Option Interface
|
|
174
|
+
* @description Exposes the remaining options after COUNT...FROM with distinct() available
|
|
175
|
+
*
|
|
176
|
+
* @interface CountWhereOption
|
|
177
|
+
* @memberOf module:core
|
|
178
|
+
*/
|
|
179
|
+
export interface CountWhereOption<M extends Model> extends OrderAndGroupOption<M, number> {
|
|
180
|
+
/**
|
|
181
|
+
* @summary Makes the count distinct
|
|
182
|
+
* @description When chained after count(), counts only distinct values
|
|
183
|
+
* @return A count distinct query builder
|
|
184
|
+
*/
|
|
185
|
+
distinct(): CountDistinctWhereOption<M>;
|
|
186
|
+
/**
|
|
187
|
+
* @summary filter the records by a condition
|
|
188
|
+
* @param {Condition} condition
|
|
189
|
+
*/
|
|
190
|
+
where(condition: Condition<M>): CountWhereOption<M>;
|
|
191
|
+
}
|
|
153
192
|
/**
|
|
154
193
|
* @summary Count Option Interface
|
|
155
194
|
* @description Exposes the remaining options after a COUNT
|
|
156
195
|
*
|
|
157
196
|
* @interface CountOption
|
|
158
|
-
* @extends FromOption
|
|
159
197
|
* @memberOf module:core
|
|
160
198
|
*/
|
|
161
|
-
export interface CountOption<M extends Model
|
|
199
|
+
export interface CountOption<M extends Model> {
|
|
200
|
+
/**
|
|
201
|
+
* @summary Makes the count distinct
|
|
202
|
+
* @description When chained after count(), counts only distinct values
|
|
203
|
+
* @return A count distinct query builder
|
|
204
|
+
*/
|
|
205
|
+
distinct(): CountDistinctOption<M>;
|
|
206
|
+
/**
|
|
207
|
+
* @summary selects records from a table
|
|
208
|
+
* @param {Constructor} tableName
|
|
209
|
+
*/
|
|
210
|
+
from(tableName: Constructor<M> | string): CountWhereOption<M>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* @summary Count Distinct Option Interface
|
|
214
|
+
* @description Exposes the remaining options after a COUNT DISTINCT
|
|
215
|
+
*
|
|
216
|
+
* @interface CountDistinctOption
|
|
217
|
+
* @memberOf module:core
|
|
218
|
+
*/
|
|
219
|
+
export interface CountDistinctOption<M extends Model> {
|
|
220
|
+
/**
|
|
221
|
+
* @summary selects records from a table
|
|
222
|
+
* @param {Constructor} tableName
|
|
223
|
+
*/
|
|
224
|
+
from(tableName: Constructor<M> | string): CountWhereOption<M>;
|
|
162
225
|
}
|
|
163
226
|
/**
|
|
164
227
|
* @summary Sum Option Interface
|
|
@@ -192,7 +255,7 @@ export interface SelectOption<M extends Model, R> extends FromOption<M, R> {
|
|
|
192
255
|
distinct<S extends SelectSelector<M>>(selector: S): DistinctOption<M, M[S][]>;
|
|
193
256
|
max<S extends SelectSelector<M>>(selector: S): MaxOption<M, M[S]>;
|
|
194
257
|
min<S extends SelectSelector<M>>(selector: S): MinOption<M, M[S]>;
|
|
195
|
-
count<S extends SelectSelector<M>>(selector?: S): CountOption<M
|
|
258
|
+
count<S extends SelectSelector<M>>(selector?: S): CountOption<M>;
|
|
196
259
|
sum<S extends SelectSelector<M>>(selector: S): SumOption<M, number>;
|
|
197
260
|
avg<S extends SelectSelector<M>>(selector: S): AvgOption<M, number>;
|
|
198
261
|
}
|
|
@@ -313,3 +376,4 @@ export interface ConditionBuilderOption<M extends Model> {
|
|
|
313
376
|
attribute(attr: keyof M): AttributeOption<M>;
|
|
314
377
|
attr(attr: keyof M): AttributeOption<M>;
|
|
315
378
|
}
|
|
379
|
+
export {};
|
package/lib/esm/query/types.d.ts
CHANGED
|
@@ -52,9 +52,21 @@ export type PreparedStatement<M extends Model> = {
|
|
|
52
52
|
* @interface QueryAssist
|
|
53
53
|
* @memberOf module:query
|
|
54
54
|
*/
|
|
55
|
+
/**
|
|
56
|
+
* @description
|
|
57
|
+
* Supported query action types for method-based queries.
|
|
58
|
+
*
|
|
59
|
+
* @summary
|
|
60
|
+
* The `QueryAction` type defines the possible actions that can be
|
|
61
|
+
* performed by a query built from a method name.
|
|
62
|
+
*
|
|
63
|
+
* @memberOf module:query
|
|
64
|
+
*/
|
|
65
|
+
export type QueryAction = "find" | "page" | "count" | "sum" | "avg" | "min" | "max" | "distinct" | "group";
|
|
55
66
|
export interface QueryAssist {
|
|
56
|
-
action:
|
|
67
|
+
action: QueryAction;
|
|
57
68
|
select: undefined | string[];
|
|
69
|
+
selector?: string;
|
|
58
70
|
where?: Condition<any>;
|
|
59
71
|
groupBy?: string[];
|
|
60
72
|
orderBy?: OrderBySelector<any>[];
|
|
@@ -74,6 +86,14 @@ export interface QueryAssist {
|
|
|
74
86
|
*/
|
|
75
87
|
export declare enum QueryClause {
|
|
76
88
|
FIND_BY = "findBy",
|
|
89
|
+
PAGE_BY = "pageBy",
|
|
90
|
+
COUNT_BY = "countBy",
|
|
91
|
+
SUM_BY = "sumBy",
|
|
92
|
+
AVG_BY = "avgBy",
|
|
93
|
+
MIN_BY = "minBy",
|
|
94
|
+
MAX_BY = "maxBy",
|
|
95
|
+
DISTINCT_BY = "distinctBy",
|
|
96
|
+
GROUP_BY_PREFIX = "groupBy",
|
|
77
97
|
SELECT = "Select",
|
|
78
98
|
AND = "And",
|
|
79
99
|
OR = "Or",
|
package/lib/esm/query/types.js
CHANGED
|
@@ -12,6 +12,14 @@
|
|
|
12
12
|
export var QueryClause;
|
|
13
13
|
(function (QueryClause) {
|
|
14
14
|
QueryClause["FIND_BY"] = "findBy";
|
|
15
|
+
QueryClause["PAGE_BY"] = "pageBy";
|
|
16
|
+
QueryClause["COUNT_BY"] = "countBy";
|
|
17
|
+
QueryClause["SUM_BY"] = "sumBy";
|
|
18
|
+
QueryClause["AVG_BY"] = "avgBy";
|
|
19
|
+
QueryClause["MIN_BY"] = "minBy";
|
|
20
|
+
QueryClause["MAX_BY"] = "maxBy";
|
|
21
|
+
QueryClause["DISTINCT_BY"] = "distinctBy";
|
|
22
|
+
QueryClause["GROUP_BY_PREFIX"] = "groupBy";
|
|
15
23
|
QueryClause["SELECT"] = "Select";
|
|
16
24
|
QueryClause["AND"] = "And";
|
|
17
25
|
QueryClause["OR"] = "Or";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/query/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/query/types.ts"],"names":[],"mappings":"AA2FA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,WAiBX;AAjBD,WAAY,WAAW;IACrB,iCAAkB,CAAA;IAClB,iCAAkB,CAAA;IAClB,mCAAoB,CAAA;IACpB,+BAAgB,CAAA;IAChB,+BAAgB,CAAA;IAChB,+BAAgB,CAAA;IAChB,+BAAgB,CAAA;IAChB,yCAA0B,CAAA;IAC1B,0CAA2B,CAAA;IAC3B,gCAAiB,CAAA;IACjB,0BAAW,CAAA;IACX,wBAAS,CAAA;IACT,mCAAoB,CAAA;IACpB,mCAAoB,CAAA;IACpB,4BAAa,CAAA;IACb,iCAAkB,CAAA;AACpB,CAAC,EAjBW,WAAW,KAAX,WAAW,QAiBtB"}
|
|
@@ -280,6 +280,9 @@ export declare class RamAdapter extends Adapter<RamConfig, RamStorage, RawRamQue
|
|
|
280
280
|
* RamAdapter-->>Caller: result
|
|
281
281
|
*/
|
|
282
282
|
raw<R, D extends boolean>(rawInput: RawRamQuery<any>, docsOnly?: D, ...args: ContextualArgs<RamContext>): Promise<RawResult<R, D>>;
|
|
283
|
+
private groupRecords;
|
|
284
|
+
private normalizeGroupKey;
|
|
285
|
+
private applyGroupPagination;
|
|
283
286
|
/**
|
|
284
287
|
* @description Parses and converts errors to appropriate types
|
|
285
288
|
* @summary Ensures that errors are of the correct type for consistent error handling.
|
|
@@ -359,7 +359,7 @@ export class RamAdapter extends Adapter {
|
|
|
359
359
|
async raw(rawInput, docsOnly = true, ...args) {
|
|
360
360
|
const { log, ctx } = this.logCtx(args, this.raw);
|
|
361
361
|
log.debug(`performing raw query: ${JSON.stringify(rawInput)}`);
|
|
362
|
-
const { where, sort, limit, skip, from, groupBy, count: countField, min: minField, max: maxField, sum: sumField, avg: avgField, distinct: distinctField, } = rawInput;
|
|
362
|
+
const { where, sort, limit, skip, from, groupBy, count: countField, countDistinct: countDistinctField, min: minField, max: maxField, sum: sumField, avg: avgField, distinct: distinctField, } = rawInput;
|
|
363
363
|
let { select } = rawInput;
|
|
364
364
|
const collection = this.tableFor(from);
|
|
365
365
|
if (!collection)
|
|
@@ -384,6 +384,16 @@ export class RamAdapter extends Adapter {
|
|
|
384
384
|
return count;
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
|
+
if (countDistinctField !== undefined) {
|
|
388
|
+
const seen = new Set();
|
|
389
|
+
for (const item of result) {
|
|
390
|
+
const value = item[countDistinctField];
|
|
391
|
+
if (value !== undefined && value !== null) {
|
|
392
|
+
seen.add(JSON.stringify(value));
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return seen.size;
|
|
396
|
+
}
|
|
387
397
|
if (minField !== undefined) {
|
|
388
398
|
this.ensureFieldType(clazz, minField, "MIN operation", (type) => this.isNumericType(type) || type === "date", "numeric or date");
|
|
389
399
|
// Min operation
|
|
@@ -435,7 +445,9 @@ export class RamAdapter extends Adapter {
|
|
|
435
445
|
return sum;
|
|
436
446
|
}
|
|
437
447
|
if (avgField !== undefined) {
|
|
438
|
-
|
|
448
|
+
const fieldType = this.resolveFieldType(clazz, avgField);
|
|
449
|
+
const isDateField = fieldType === "date";
|
|
450
|
+
this.ensureFieldType(clazz, avgField, "AVG operation", (type) => this.isNumericType(type) || type === "date", "numeric or date");
|
|
439
451
|
if (result.length === 0)
|
|
440
452
|
return null;
|
|
441
453
|
const values = result
|
|
@@ -443,6 +455,11 @@ export class RamAdapter extends Adapter {
|
|
|
443
455
|
.filter((v) => v !== undefined && v !== null);
|
|
444
456
|
if (values.length === 0)
|
|
445
457
|
return null;
|
|
458
|
+
if (isDateField) {
|
|
459
|
+
const timestamps = values.map((v) => v instanceof Date ? v.getTime() : new Date(v).getTime());
|
|
460
|
+
const avgTimestamp = timestamps.reduce((acc, t) => acc + t, 0) / timestamps.length;
|
|
461
|
+
return new Date(avgTimestamp);
|
|
462
|
+
}
|
|
446
463
|
const total = values.reduce((acc, v) => acc + this.toNumericValue(v, avgField, "AVG operation"), 0);
|
|
447
464
|
const average = total / values.length;
|
|
448
465
|
return average;
|
|
@@ -461,38 +478,87 @@ export class RamAdapter extends Adapter {
|
|
|
461
478
|
}
|
|
462
479
|
return distinctResults;
|
|
463
480
|
}
|
|
481
|
+
let count;
|
|
482
|
+
let output;
|
|
464
483
|
if (groupBy && groupBy.length) {
|
|
465
|
-
const
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
if (seen.has(key))
|
|
470
|
-
continue;
|
|
471
|
-
seen.set(key, true);
|
|
472
|
-
groupedResults.push(item);
|
|
473
|
-
}
|
|
474
|
-
result = groupedResults;
|
|
484
|
+
const grouped = this.groupRecords(result, groupBy);
|
|
485
|
+
const keys = Object.keys(grouped);
|
|
486
|
+
count = keys.length;
|
|
487
|
+
output = this.applyGroupPagination(grouped, skip, limit);
|
|
475
488
|
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
489
|
+
else {
|
|
490
|
+
count = result.length;
|
|
491
|
+
let paged = result;
|
|
492
|
+
if (skip)
|
|
493
|
+
paged = paged.slice(skip);
|
|
494
|
+
if (limit)
|
|
495
|
+
paged = paged.slice(0, limit);
|
|
496
|
+
output = paged;
|
|
497
|
+
}
|
|
498
|
+
if (select && !(groupBy && groupBy.length)) {
|
|
482
499
|
select = Array.isArray(select) ? select : [select];
|
|
483
|
-
|
|
500
|
+
output = output.map((row) => Object.entries(row).reduce((acc, [key, val]) => {
|
|
484
501
|
if (select.includes(key))
|
|
485
502
|
acc[key] = val;
|
|
486
503
|
return acc;
|
|
487
504
|
}, {}));
|
|
488
505
|
}
|
|
489
506
|
if (docsOnly)
|
|
490
|
-
return
|
|
507
|
+
return output;
|
|
491
508
|
return {
|
|
492
|
-
data:
|
|
493
|
-
count
|
|
509
|
+
data: output,
|
|
510
|
+
count,
|
|
494
511
|
};
|
|
495
512
|
}
|
|
513
|
+
groupRecords(records, selectors) {
|
|
514
|
+
if (!selectors.length)
|
|
515
|
+
return records;
|
|
516
|
+
const [current, ...rest] = selectors;
|
|
517
|
+
const grouped = {};
|
|
518
|
+
for (const record of records) {
|
|
519
|
+
const key = this.normalizeGroupKey(record[current]);
|
|
520
|
+
if (!grouped[key])
|
|
521
|
+
grouped[key] = [];
|
|
522
|
+
grouped[key].push(record);
|
|
523
|
+
}
|
|
524
|
+
if (!rest.length)
|
|
525
|
+
return grouped;
|
|
526
|
+
const nested = {};
|
|
527
|
+
for (const [key, values] of Object.entries(grouped)) {
|
|
528
|
+
nested[key] = this.groupRecords(values, rest);
|
|
529
|
+
}
|
|
530
|
+
return nested;
|
|
531
|
+
}
|
|
532
|
+
normalizeGroupKey(value) {
|
|
533
|
+
if (value === undefined)
|
|
534
|
+
return "undefined";
|
|
535
|
+
if (value === null)
|
|
536
|
+
return "null";
|
|
537
|
+
if (typeof value === "symbol")
|
|
538
|
+
return value.toString();
|
|
539
|
+
if (typeof value === "object") {
|
|
540
|
+
try {
|
|
541
|
+
return JSON.stringify(value);
|
|
542
|
+
}
|
|
543
|
+
catch {
|
|
544
|
+
return String(value);
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
return String(value);
|
|
548
|
+
}
|
|
549
|
+
applyGroupPagination(grouped, skip, limit) {
|
|
550
|
+
if (typeof skip === "undefined" && typeof limit === "undefined") {
|
|
551
|
+
return grouped;
|
|
552
|
+
}
|
|
553
|
+
const keys = Object.keys(grouped);
|
|
554
|
+
const start = skip ?? 0;
|
|
555
|
+
const end = typeof limit === "undefined" ? undefined : start + limit;
|
|
556
|
+
const paged = {};
|
|
557
|
+
for (const key of keys.slice(start, end)) {
|
|
558
|
+
paged[key] = grouped[key];
|
|
559
|
+
}
|
|
560
|
+
return paged;
|
|
561
|
+
}
|
|
496
562
|
/**
|
|
497
563
|
* @description Parses and converts errors to appropriate types
|
|
498
564
|
* @summary Ensures that errors are of the correct type for consistent error handling.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["../../../src/ram/RamAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["../../../src/ram/RamAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GroupOperator, Operator, QueryError } from "./../query/index.js";
|
|
1
|
+
import { Condition, GroupOperator, Operator, QueryError } from "./../query/index.js";
|
|
2
2
|
import { InternalError } from "@decaf-ts/db-decorators";
|
|
3
3
|
import { Statement } from "./../query/Statement.js";
|
|
4
4
|
import { OrderDirection } from "./../repository/constants.js";
|
|
@@ -116,7 +116,7 @@ export class RamStatement extends Statement {
|
|
|
116
116
|
if (this.sumSelector)
|
|
117
117
|
this.ensureNumericSelector(this.sumSelector, "SUM operation");
|
|
118
118
|
if (this.avgSelector)
|
|
119
|
-
this.
|
|
119
|
+
this.ensureNumberOrDateSelector(this.avgSelector, "AVG operation");
|
|
120
120
|
const result = {
|
|
121
121
|
select: this.selectSelector,
|
|
122
122
|
from: this.fromSelector,
|
|
@@ -132,6 +132,8 @@ export class RamStatement extends Statement {
|
|
|
132
132
|
};
|
|
133
133
|
if (typeof this.countSelector !== "undefined")
|
|
134
134
|
result.count = this.countSelector;
|
|
135
|
+
if (this.countDistinctSelector)
|
|
136
|
+
result.countDistinct = this.countDistinctSelector;
|
|
135
137
|
if (this.minSelector)
|
|
136
138
|
result.min = this.minSelector;
|
|
137
139
|
if (this.maxSelector)
|
|
@@ -223,7 +225,11 @@ export class RamStatement extends Statement {
|
|
|
223
225
|
}
|
|
224
226
|
}
|
|
225
227
|
else if (operator === Operator.NOT) {
|
|
226
|
-
|
|
228
|
+
if (!(attr1 instanceof Condition)) {
|
|
229
|
+
throw new InternalError("NOT operator requires a nested condition to negate");
|
|
230
|
+
}
|
|
231
|
+
const nested = this.parseCondition(attr1);
|
|
232
|
+
return !nested.where(m);
|
|
227
233
|
}
|
|
228
234
|
else {
|
|
229
235
|
const op1 = this.parseCondition(attr1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/ram/index.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Exports for the ram module.
|
|
3
|
+
* @summary This file exports all the necessary components for the ram functionality, including the RamAdapter, constants, handlers, and more.
|
|
4
|
+
* @module core/ram
|
|
5
|
+
*/
|
|
1
6
|
import { RamAdapter } from "./RamAdapter.js";
|
|
2
7
|
// Invoked there to ensure decoration override
|
|
3
8
|
RamAdapter.decoration();
|
package/lib/esm/ram/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ram/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAE1C,8CAA8C;AAC9C,UAAU,CAAC,UAAU,EAAE,CAAC;AAExB,+BAA4B;AAC5B,8BAA2B;AAC3B,kCAA+B;AAC/B,kCAA+B;AAC/B,2BAAwB;AACxB,0BAA0B;AAC1B,gCAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ram/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAE1C,8CAA8C;AAC9C,UAAU,CAAC,UAAU,EAAE,CAAC;AAExB,+BAA4B;AAC5B,8BAA2B;AAC3B,kCAA+B;AAC/B,kCAA+B;AAC/B,2BAAwB;AACxB,0BAA0B;AAC1B,gCAA6B"}
|
package/lib/esm/ram/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Adapter } from "../persistence/Adapter";
|
|
|
5
5
|
import { ObserverHandler } from "../persistence/ObserverHandler";
|
|
6
6
|
import type { DirectionLimitOffset, QueryOptions } from "../query/types";
|
|
7
7
|
import { SelectSelector } from "../query/selectors";
|
|
8
|
-
import { WhereOption } from "../query/options";
|
|
8
|
+
import { CountWhereOption, WhereOption } from "../query/options";
|
|
9
9
|
import { Condition } from "../query/Condition";
|
|
10
10
|
import { Queriable } from "../interfaces/Queriable";
|
|
11
11
|
import { SequenceOptions } from "../interfaces/SequenceOptions";
|
|
@@ -304,9 +304,9 @@ export declare class Repository<M extends Model<boolean>, A extends Adapter<any,
|
|
|
304
304
|
* @summary Starts building a query that will count records
|
|
305
305
|
* @template S - The select selector type
|
|
306
306
|
* @param {S} [selector] - Optional field to count (counts all if not specified)
|
|
307
|
-
* @return A count query builder
|
|
307
|
+
* @return A count query builder with distinct() available
|
|
308
308
|
*/
|
|
309
|
-
count<S extends SelectSelector<M>>(selector?: S):
|
|
309
|
+
count<S extends SelectSelector<M>>(selector?: S): CountWhereOption<M>;
|
|
310
310
|
/**
|
|
311
311
|
* @description Creates a min query
|
|
312
312
|
* @summary Starts building a query that will find the minimum value
|
|
@@ -362,6 +362,62 @@ export declare class Repository<M extends Model<boolean>, A extends Adapter<any,
|
|
|
362
362
|
paginateBy(key: keyof M, order: OrderDirection, ref?: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<ContextOf<A>>): Promise<SerializedPage<M>>;
|
|
363
363
|
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
364
364
|
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
365
|
+
/**
|
|
366
|
+
* @description Counts records, optionally filtered by a key value
|
|
367
|
+
* @summary Returns the count of records matching the optional key condition
|
|
368
|
+
* @param {string} key - The field to count (optional, counts all if not specified)
|
|
369
|
+
* @param {...any[]} args - Additional arguments including context
|
|
370
|
+
* @return {Promise<number>} The count of matching records
|
|
371
|
+
*/
|
|
372
|
+
countOf(key?: keyof M, ...args: MaybeContextualArg<ContextOf<A>>): Promise<number>;
|
|
373
|
+
/**
|
|
374
|
+
* @description Finds the maximum value of a field
|
|
375
|
+
* @summary Returns the maximum value for the specified field across all records
|
|
376
|
+
* @param {string} key - The field to find the maximum value of
|
|
377
|
+
* @param {...any[]} args - Additional arguments including context
|
|
378
|
+
* @return {Promise<any>} The maximum value
|
|
379
|
+
*/
|
|
380
|
+
maxOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[K]>;
|
|
381
|
+
/**
|
|
382
|
+
* @description Finds the minimum value of a field
|
|
383
|
+
* @summary Returns the minimum value for the specified field across all records
|
|
384
|
+
* @param {string} key - The field to find the minimum value of
|
|
385
|
+
* @param {...any[]} args - Additional arguments including context
|
|
386
|
+
* @return {Promise<any>} The minimum value
|
|
387
|
+
*/
|
|
388
|
+
minOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[K]>;
|
|
389
|
+
/**
|
|
390
|
+
* @description Calculates the average value of a field
|
|
391
|
+
* @summary Returns the average value for the specified numeric field across all records
|
|
392
|
+
* @param {string} key - The field to calculate the average of
|
|
393
|
+
* @param {...any[]} args - Additional arguments including context
|
|
394
|
+
* @return {Promise<number>} The average value
|
|
395
|
+
*/
|
|
396
|
+
avgOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<number>;
|
|
397
|
+
/**
|
|
398
|
+
* @description Calculates the sum of a field
|
|
399
|
+
* @summary Returns the sum of values for the specified numeric field across all records
|
|
400
|
+
* @param {string} key - The field to sum
|
|
401
|
+
* @param {...any[]} args - Additional arguments including context
|
|
402
|
+
* @return {Promise<number>} The sum
|
|
403
|
+
*/
|
|
404
|
+
sumOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<number>;
|
|
405
|
+
/**
|
|
406
|
+
* @description Finds distinct values of a field
|
|
407
|
+
* @summary Returns an array of unique values for the specified field
|
|
408
|
+
* @param {string} key - The field to get distinct values of
|
|
409
|
+
* @param {...any[]} args - Additional arguments including context
|
|
410
|
+
* @return {Promise<any[]>} An array of distinct values
|
|
411
|
+
*/
|
|
412
|
+
distinctOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[K][]>;
|
|
413
|
+
/**
|
|
414
|
+
* @description Groups records by a field
|
|
415
|
+
* @summary Returns records grouped by the specified field
|
|
416
|
+
* @param {string} key - The field to group by
|
|
417
|
+
* @param {...any[]} args - Additional arguments including context
|
|
418
|
+
* @return {Promise<Record<string, M[]>>} Records grouped by the field value
|
|
419
|
+
*/
|
|
420
|
+
groupOf<K extends keyof M>(key: K, ...args: MaybeContextualArg<ContextOf<A>>): Promise<Record<string, M[]>>;
|
|
365
421
|
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
366
422
|
attr(prop: keyof M): import("../query/options").AttributeOption<M>;
|
|
367
423
|
/**
|