@decaf-ts/core 0.8.26 → 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/index.d.ts +1 -1
- package/lib/esm/index.js +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.js +135 -7
- 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/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/repository/Repository.d.ts +56 -0
- package/lib/esm/repository/Repository.js +129 -0
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +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 +135 -7
- 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/types.cjs +8 -0
- package/lib/query/types.d.ts +21 -1
- package/lib/query/types.js.map +1 -1
- package/lib/repository/Repository.cjs +129 -0
- package/lib/repository/Repository.d.ts +56 -0
- package/lib/repository/Repository.js.map +1 -1
- package/package.json +1 -1
package/lib/query/Statement.cjs
CHANGED
|
@@ -94,7 +94,13 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
94
94
|
const forceSimple = ctx.get("forcePrepareSimpleQueries");
|
|
95
95
|
const forceComplex = ctx.get("forcePrepareComplexQueries");
|
|
96
96
|
log.silly(`statement force simple ${forceSimple}, forceComplex: ${forceComplex}`);
|
|
97
|
-
|
|
97
|
+
// Simple queries or simple aggregation queries (aggregations without where conditions)
|
|
98
|
+
// Also exclude multi-level groupBy from simple aggregation squashing
|
|
99
|
+
const isSimpleAggregation = this.hasAggregation() &&
|
|
100
|
+
!this.whereCondition &&
|
|
101
|
+
!this.selectSelector?.length &&
|
|
102
|
+
(this.groupBySelectors?.length || 0) <= 1;
|
|
103
|
+
if ((forceSimple && (this.isSimpleQuery() || isSimpleAggregation)) || forceComplex) {
|
|
98
104
|
log.silly(`squashing ${!forceComplex ? "simple" : "complex"} query to prepared statement`);
|
|
99
105
|
await this.prepare(ctx);
|
|
100
106
|
log.silly(`squashed ${!forceComplex ? "simple" : "complex"} query to ${JSON.stringify(this.prepared, null, 2)}`);
|
|
@@ -338,6 +344,78 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
338
344
|
}
|
|
339
345
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
340
346
|
squash(ctx) {
|
|
347
|
+
// If there's a where condition with complex conditions (nested Conditions), can't squash
|
|
348
|
+
if (this.whereCondition) {
|
|
349
|
+
if (this.whereCondition["comparison"] instanceof Condition_1.Condition)
|
|
350
|
+
return undefined;
|
|
351
|
+
}
|
|
352
|
+
// Try to squash simple aggregation queries without where conditions
|
|
353
|
+
if (!this.whereCondition && !this.selectSelector?.length) {
|
|
354
|
+
// Count query
|
|
355
|
+
if (typeof this.countSelector !== "undefined" && !this.countDistinctSelector) {
|
|
356
|
+
return {
|
|
357
|
+
class: this.fromSelector,
|
|
358
|
+
method: constants_2.PreparedStatementKeys.COUNT_OF,
|
|
359
|
+
args: this.countSelector !== null ? [this.countSelector] : [],
|
|
360
|
+
params: {},
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
// Max query
|
|
364
|
+
if (this.maxSelector) {
|
|
365
|
+
return {
|
|
366
|
+
class: this.fromSelector,
|
|
367
|
+
method: constants_2.PreparedStatementKeys.MAX_OF,
|
|
368
|
+
args: [this.maxSelector],
|
|
369
|
+
params: {},
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
// Min query
|
|
373
|
+
if (this.minSelector) {
|
|
374
|
+
return {
|
|
375
|
+
class: this.fromSelector,
|
|
376
|
+
method: constants_2.PreparedStatementKeys.MIN_OF,
|
|
377
|
+
args: [this.minSelector],
|
|
378
|
+
params: {},
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
// Avg query
|
|
382
|
+
if (this.avgSelector) {
|
|
383
|
+
return {
|
|
384
|
+
class: this.fromSelector,
|
|
385
|
+
method: constants_2.PreparedStatementKeys.AVG_OF,
|
|
386
|
+
args: [this.avgSelector],
|
|
387
|
+
params: {},
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
// Sum query
|
|
391
|
+
if (this.sumSelector) {
|
|
392
|
+
return {
|
|
393
|
+
class: this.fromSelector,
|
|
394
|
+
method: constants_2.PreparedStatementKeys.SUM_OF,
|
|
395
|
+
args: [this.sumSelector],
|
|
396
|
+
params: {},
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
// Distinct query
|
|
400
|
+
if (this.distinctSelector) {
|
|
401
|
+
return {
|
|
402
|
+
class: this.fromSelector,
|
|
403
|
+
method: constants_2.PreparedStatementKeys.DISTINCT_OF,
|
|
404
|
+
args: [this.distinctSelector],
|
|
405
|
+
params: {},
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
// Group by query (simple single-level grouping)
|
|
409
|
+
if (this.groupBySelectors?.length === 1) {
|
|
410
|
+
return {
|
|
411
|
+
class: this.fromSelector,
|
|
412
|
+
method: constants_2.PreparedStatementKeys.GROUP_OF,
|
|
413
|
+
args: [this.groupBySelectors[0]],
|
|
414
|
+
params: {},
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// Can't squash complex queries with select/groupBy/aggregations that have where conditions
|
|
341
419
|
if (this.selectSelector && this.selectSelector.length)
|
|
342
420
|
return undefined;
|
|
343
421
|
if (this.groupBySelectors && this.groupBySelectors.length)
|
|
@@ -356,9 +434,6 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
356
434
|
return undefined;
|
|
357
435
|
let attrFromWhere;
|
|
358
436
|
if (this.whereCondition) {
|
|
359
|
-
// if (this.orderBySelector) return undefined;
|
|
360
|
-
if (this.whereCondition["comparison"] instanceof Condition_1.Condition)
|
|
361
|
-
return undefined;
|
|
362
437
|
attrFromWhere = this.whereCondition["attr1"];
|
|
363
438
|
}
|
|
364
439
|
const order = this.orderBySelectors?.[0]
|
|
@@ -404,6 +479,14 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
404
479
|
return this;
|
|
405
480
|
}
|
|
406
481
|
}
|
|
482
|
+
// Also try to squash aggregation queries
|
|
483
|
+
if (ctx.get("forcePrepareSimpleQueries") || ctx.get("forcePrepareComplexQueries")) {
|
|
484
|
+
const squashed = this.squash(ctx);
|
|
485
|
+
if (squashed) {
|
|
486
|
+
this.prepared = squashed;
|
|
487
|
+
return this;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
407
490
|
const args = [];
|
|
408
491
|
const params = {};
|
|
409
492
|
const prepared = {
|
|
@@ -411,7 +494,45 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
411
494
|
args,
|
|
412
495
|
params,
|
|
413
496
|
};
|
|
414
|
-
|
|
497
|
+
// Determine the method prefix based on the query type
|
|
498
|
+
let methodPrefix = types_1.QueryClause.FIND_BY;
|
|
499
|
+
let selectorField;
|
|
500
|
+
if (typeof this.countSelector !== "undefined") {
|
|
501
|
+
methodPrefix = types_1.QueryClause.COUNT_BY;
|
|
502
|
+
selectorField = this.countSelector !== null ? this.countSelector : undefined;
|
|
503
|
+
}
|
|
504
|
+
else if (this.sumSelector) {
|
|
505
|
+
methodPrefix = types_1.QueryClause.SUM_BY;
|
|
506
|
+
selectorField = this.sumSelector;
|
|
507
|
+
}
|
|
508
|
+
else if (this.avgSelector) {
|
|
509
|
+
methodPrefix = types_1.QueryClause.AVG_BY;
|
|
510
|
+
selectorField = this.avgSelector;
|
|
511
|
+
}
|
|
512
|
+
else if (this.minSelector) {
|
|
513
|
+
methodPrefix = types_1.QueryClause.MIN_BY;
|
|
514
|
+
selectorField = this.minSelector;
|
|
515
|
+
}
|
|
516
|
+
else if (this.maxSelector) {
|
|
517
|
+
methodPrefix = types_1.QueryClause.MAX_BY;
|
|
518
|
+
selectorField = this.maxSelector;
|
|
519
|
+
}
|
|
520
|
+
else if (this.distinctSelector) {
|
|
521
|
+
methodPrefix = types_1.QueryClause.DISTINCT_BY;
|
|
522
|
+
selectorField = this.distinctSelector;
|
|
523
|
+
}
|
|
524
|
+
else if (this.groupBySelectors?.length &&
|
|
525
|
+
!this.selectSelector?.length &&
|
|
526
|
+
!this.whereCondition) {
|
|
527
|
+
// Group-only query (no select, no where)
|
|
528
|
+
methodPrefix = types_1.QueryClause.GROUP_BY_PREFIX;
|
|
529
|
+
selectorField = this.groupBySelectors[0];
|
|
530
|
+
}
|
|
531
|
+
// If there's a where condition or selectSelector, use findBy prefix even with groupBy
|
|
532
|
+
const method = [methodPrefix];
|
|
533
|
+
if (selectorField) {
|
|
534
|
+
method.push(selectorField);
|
|
535
|
+
}
|
|
415
536
|
if (this.whereCondition) {
|
|
416
537
|
const parsed = this.prepareCondition(this.whereCondition, ctx);
|
|
417
538
|
method.push(parsed.method);
|
|
@@ -431,11 +552,17 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
431
552
|
});
|
|
432
553
|
}
|
|
433
554
|
}
|
|
434
|
-
|
|
555
|
+
// Handle groupBy for non-aggregation queries (already handled for group prefix)
|
|
556
|
+
if (this.groupBySelectors?.length && methodPrefix !== types_1.QueryClause.GROUP_BY_PREFIX) {
|
|
435
557
|
const [primary, ...rest] = this.groupBySelectors;
|
|
436
558
|
method.push(types_1.QueryClause.GROUP_BY, primary);
|
|
437
559
|
rest.forEach((attr) => method.push(types_1.QueryClause.THEN_BY, attr));
|
|
438
560
|
}
|
|
561
|
+
else if (this.groupBySelectors?.length && methodPrefix === types_1.QueryClause.GROUP_BY_PREFIX) {
|
|
562
|
+
// For group prefix, add additional group fields as ThenBy
|
|
563
|
+
const rest = this.groupBySelectors.slice(1);
|
|
564
|
+
rest.forEach((attr) => method.push(types_1.QueryClause.THEN_BY, attr));
|
|
565
|
+
}
|
|
439
566
|
if (this.limitSelector)
|
|
440
567
|
params.limit = this.limitSelector;
|
|
441
568
|
if (this.offsetSelector) {
|
|
@@ -454,7 +581,8 @@ class Statement extends ContextualLoggedClass_1.ContextualLoggedClass {
|
|
|
454
581
|
this.maxSelector ||
|
|
455
582
|
this.minSelector ||
|
|
456
583
|
this.sumSelector ||
|
|
457
|
-
this.avgSelector
|
|
584
|
+
this.avgSelector ||
|
|
585
|
+
this.distinctSelector);
|
|
458
586
|
}
|
|
459
587
|
hasAggregation() {
|
|
460
588
|
return (typeof this.countSelector !== "undefined" ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/query/Statement.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Statement.js","sourceRoot":"","sources":["../../src/query/Statement.ts"],"names":[],"mappings":"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"}
|
package/lib/query/constants.cjs
CHANGED
|
@@ -60,5 +60,12 @@ var PreparedStatementKeys;
|
|
|
60
60
|
PreparedStatementKeys["FIND_BY"] = "findBy";
|
|
61
61
|
PreparedStatementKeys["FIND_ONE_BY"] = "findOneBy";
|
|
62
62
|
PreparedStatementKeys["PAGE_BY"] = "paginateBy";
|
|
63
|
+
PreparedStatementKeys["COUNT_OF"] = "countOf";
|
|
64
|
+
PreparedStatementKeys["MAX_OF"] = "maxOf";
|
|
65
|
+
PreparedStatementKeys["MIN_OF"] = "minOf";
|
|
66
|
+
PreparedStatementKeys["AVG_OF"] = "avgOf";
|
|
67
|
+
PreparedStatementKeys["SUM_OF"] = "sumOf";
|
|
68
|
+
PreparedStatementKeys["DISTINCT_OF"] = "distinctOf";
|
|
69
|
+
PreparedStatementKeys["GROUP_OF"] = "groupOf";
|
|
63
70
|
})(PreparedStatementKeys || (exports.PreparedStatementKeys = PreparedStatementKeys = {}));
|
|
64
71
|
//# sourceMappingURL=constants.js.map
|
package/lib/query/constants.d.ts
CHANGED
|
@@ -51,5 +51,12 @@ export declare enum PreparedStatementKeys {
|
|
|
51
51
|
LIST_BY = "listBy",
|
|
52
52
|
FIND_BY = "findBy",
|
|
53
53
|
FIND_ONE_BY = "findOneBy",
|
|
54
|
-
PAGE_BY = "paginateBy"
|
|
54
|
+
PAGE_BY = "paginateBy",
|
|
55
|
+
COUNT_OF = "countOf",
|
|
56
|
+
MAX_OF = "maxOf",
|
|
57
|
+
MIN_OF = "minOf",
|
|
58
|
+
AVG_OF = "avgOf",
|
|
59
|
+
SUM_OF = "sumOf",
|
|
60
|
+
DISTINCT_OF = "distinctOf",
|
|
61
|
+
GROUP_OF = "groupOf"
|
|
55
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/query/constants.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAEtC;;;;;;GAMG;AACH,IAAY,QA6BX;AA7BD,WAAY,QAAQ;IAClB,2BAA2B;IAC3B,2BAAe,CAAA;IACf,gCAAgC;IAChC,mCAAuB,CAAA;IACvB,kCAAkC;IAClC,6BAAiB,CAAA;IACjB,4CAA4C;IAC5C,mCAAuB,CAAA;IACvB,+BAA+B;IAC/B,+BAAmB,CAAA;IACnB,yCAAyC;IACzC,qCAAyB,CAAA;IACzB,mCAAmC;IACnC,+BAAmB,CAAA;IACnB,8BAA8B;IAC9B,uBAAW,CAAA;IACX,8BAA8B;IAC9B,qBAAS,CAAA;IACT,aAAa;IACb,kCAAkC;IAClC,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,iCAAqB,CAAA;IACrB,yBAAa,CAAA;AACf,CAAC,EA7BW,QAAQ,wBAAR,QAAQ,QA6BnB;AAED;;;;;;GAMG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,yDAAyD;IACzD,4BAAW,CAAA;IACX,gEAAgE;IAChE,0BAAS,CAAA;AACX,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/query/constants.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAEtC;;;;;;GAMG;AACH,IAAY,QA6BX;AA7BD,WAAY,QAAQ;IAClB,2BAA2B;IAC3B,2BAAe,CAAA;IACf,gCAAgC;IAChC,mCAAuB,CAAA;IACvB,kCAAkC;IAClC,6BAAiB,CAAA;IACjB,4CAA4C;IAC5C,mCAAuB,CAAA;IACvB,+BAA+B;IAC/B,+BAAmB,CAAA;IACnB,yCAAyC;IACzC,qCAAyB,CAAA;IACzB,mCAAmC;IACnC,+BAAmB,CAAA;IACnB,8BAA8B;IAC9B,uBAAW,CAAA;IACX,8BAA8B;IAC9B,qBAAS,CAAA;IACT,aAAa;IACb,kCAAkC;IAClC,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,iCAAqB,CAAA;IACrB,yBAAa,CAAA;AACf,CAAC,EA7BW,QAAQ,wBAAR,QAAQ,QA6BnB;AAED;;;;;;GAMG;AACH,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,yDAAyD;IACzD,4BAAW,CAAA;IACX,gEAAgE;IAChE,0BAAS,CAAA;AACX,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB;AAED,IAAY,qBAYX;AAZD,WAAY,qBAAqB;IAC/B,2CAAkB,CAAA;IAClB,2CAA6B,CAAA;IAC7B,kDAAyB,CAAA;IACzB,+CAAsB,CAAA;IACtB,6CAAoB,CAAA;IACpB,yCAAgB,CAAA;IAChB,yCAAgB,CAAA;IAChB,yCAAgB,CAAA;IAChB,yCAAgB,CAAA;IAChB,mDAA0B,CAAA;IAC1B,6CAAoB,CAAA;AACtB,CAAC,EAZW,qBAAqB,qCAArB,qBAAqB,QAYhC"}
|
package/lib/query/decorators.cjs
CHANGED
|
@@ -29,14 +29,58 @@ function query(options = {}) {
|
|
|
29
29
|
return function innerQuery(obj, propertyKey, descriptor) {
|
|
30
30
|
descriptor.value = new Proxy(descriptor.value, {
|
|
31
31
|
apply(target, thisArg, args) {
|
|
32
|
-
const { select, where, groupBy, orderBy, limit, offset } = MethodQueryBuilder_1.MethodQueryBuilder.build(target.name, ...args);
|
|
33
|
-
|
|
32
|
+
const { action, select, selector, where, groupBy, orderBy, limit, offset, } = MethodQueryBuilder_1.MethodQueryBuilder.build(target.name, ...args);
|
|
33
|
+
const repo = thisArg;
|
|
34
|
+
// Build statement based on action type
|
|
35
|
+
let stmt;
|
|
36
|
+
switch (action) {
|
|
37
|
+
case "find":
|
|
38
|
+
case "page":
|
|
39
|
+
stmt = repo.select(select);
|
|
40
|
+
break;
|
|
41
|
+
case "count":
|
|
42
|
+
stmt = repo.count(selector);
|
|
43
|
+
break;
|
|
44
|
+
case "sum":
|
|
45
|
+
stmt = repo.sum(selector);
|
|
46
|
+
break;
|
|
47
|
+
case "avg":
|
|
48
|
+
stmt = repo.avg(selector);
|
|
49
|
+
break;
|
|
50
|
+
case "min":
|
|
51
|
+
stmt = repo.min(selector);
|
|
52
|
+
break;
|
|
53
|
+
case "max":
|
|
54
|
+
stmt = repo.max(selector);
|
|
55
|
+
break;
|
|
56
|
+
case "distinct":
|
|
57
|
+
stmt = repo.distinct(selector);
|
|
58
|
+
break;
|
|
59
|
+
case "group":
|
|
60
|
+
stmt = repo.select();
|
|
61
|
+
if (selector) {
|
|
62
|
+
stmt = stmt.groupBy(selector);
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
default:
|
|
66
|
+
throw new errors_1.QueryError(`Unsupported action: ${action}`);
|
|
67
|
+
}
|
|
34
68
|
if (where)
|
|
35
69
|
stmt = stmt.where(where);
|
|
36
|
-
//
|
|
37
|
-
if (groupBy) {
|
|
38
|
-
|
|
39
|
-
|
|
70
|
+
// Apply groupBy for non-group actions (groupBy from method name pattern)
|
|
71
|
+
if (groupBy && groupBy.length > 0 && action !== "group") {
|
|
72
|
+
stmt = stmt.groupBy(groupBy[0]);
|
|
73
|
+
for (let i = 1; i < groupBy.length; i++) {
|
|
74
|
+
stmt = stmt.thenBy(groupBy[i]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
else if (groupBy &&
|
|
78
|
+
groupBy.length > 0 &&
|
|
79
|
+
action === "group") {
|
|
80
|
+
// For group action, apply additional groupBy fields after the selector
|
|
81
|
+
for (const field of groupBy) {
|
|
82
|
+
stmt = stmt.thenBy(field);
|
|
83
|
+
}
|
|
40
84
|
}
|
|
41
85
|
// allow limit and offset by default
|
|
42
86
|
const { allowLimit, allowOffset, allowOrderBy, throws } = {
|
|
@@ -66,6 +110,16 @@ function query(options = {}) {
|
|
|
66
110
|
}
|
|
67
111
|
}
|
|
68
112
|
}
|
|
113
|
+
// For page action, call paginate instead of execute
|
|
114
|
+
if (action === "page") {
|
|
115
|
+
// Extract pagination parameters from args
|
|
116
|
+
// The last argument should be DirectionLimitOffset or page size
|
|
117
|
+
const lastArg = args[args.length - 1];
|
|
118
|
+
const pageSize = typeof lastArg === "number"
|
|
119
|
+
? lastArg
|
|
120
|
+
: (lastArg?.limit ?? 10);
|
|
121
|
+
return stmt.paginate(pageSize);
|
|
122
|
+
}
|
|
69
123
|
return stmt.execute();
|
|
70
124
|
},
|
|
71
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/query/decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/query/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/query/types.cjs
CHANGED
|
@@ -15,6 +15,14 @@ exports.QueryClause = void 0;
|
|
|
15
15
|
var QueryClause;
|
|
16
16
|
(function (QueryClause) {
|
|
17
17
|
QueryClause["FIND_BY"] = "findBy";
|
|
18
|
+
QueryClause["PAGE_BY"] = "pageBy";
|
|
19
|
+
QueryClause["COUNT_BY"] = "countBy";
|
|
20
|
+
QueryClause["SUM_BY"] = "sumBy";
|
|
21
|
+
QueryClause["AVG_BY"] = "avgBy";
|
|
22
|
+
QueryClause["MIN_BY"] = "minBy";
|
|
23
|
+
QueryClause["MAX_BY"] = "maxBy";
|
|
24
|
+
QueryClause["DISTINCT_BY"] = "distinctBy";
|
|
25
|
+
QueryClause["GROUP_BY_PREFIX"] = "groupBy";
|
|
18
26
|
QueryClause["SELECT"] = "Select";
|
|
19
27
|
QueryClause["AND"] = "And";
|
|
20
28
|
QueryClause["OR"] = "Or";
|
package/lib/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/query/types.js.map
CHANGED
|
@@ -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,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,2BAAX,WAAW,QAiBtB"}
|
|
@@ -8,6 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var _a, _b, _c, _d, _e, _f;
|
|
11
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
13
|
exports.Repository = void 0;
|
|
13
14
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
@@ -736,6 +737,92 @@ class Repository extends db_decorators_1.Repository {
|
|
|
736
737
|
.where(this.attr(key).eq(value))
|
|
737
738
|
.execute(...ctxArgs);
|
|
738
739
|
}
|
|
740
|
+
/**
|
|
741
|
+
* @description Counts records, optionally filtered by a key value
|
|
742
|
+
* @summary Returns the count of records matching the optional key condition
|
|
743
|
+
* @param {string} key - The field to count (optional, counts all if not specified)
|
|
744
|
+
* @param {...any[]} args - Additional arguments including context
|
|
745
|
+
* @return {Promise<number>} The count of matching records
|
|
746
|
+
*/
|
|
747
|
+
async countOf(key, ...args) {
|
|
748
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.COUNT_OF, true)).for(this.countOf);
|
|
749
|
+
log.verbose(`counting ${decorator_validation_1.Model.tableName(this.class)}${key ? ` by ${key}` : ""}`);
|
|
750
|
+
return this.count(key).execute(...ctxArgs);
|
|
751
|
+
}
|
|
752
|
+
/**
|
|
753
|
+
* @description Finds the maximum value of a field
|
|
754
|
+
* @summary Returns the maximum value for the specified field across all records
|
|
755
|
+
* @param {string} key - The field to find the maximum value of
|
|
756
|
+
* @param {...any[]} args - Additional arguments including context
|
|
757
|
+
* @return {Promise<any>} The maximum value
|
|
758
|
+
*/
|
|
759
|
+
async maxOf(key, ...args) {
|
|
760
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.MAX_OF, true)).for(this.maxOf);
|
|
761
|
+
log.verbose(`finding max of ${key} in ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
762
|
+
return this.max(key).execute(...ctxArgs);
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* @description Finds the minimum value of a field
|
|
766
|
+
* @summary Returns the minimum value for the specified field across all records
|
|
767
|
+
* @param {string} key - The field to find the minimum value of
|
|
768
|
+
* @param {...any[]} args - Additional arguments including context
|
|
769
|
+
* @return {Promise<any>} The minimum value
|
|
770
|
+
*/
|
|
771
|
+
async minOf(key, ...args) {
|
|
772
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.MIN_OF, true)).for(this.minOf);
|
|
773
|
+
log.verbose(`finding min of ${key} in ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
774
|
+
return this.min(key).execute(...ctxArgs);
|
|
775
|
+
}
|
|
776
|
+
/**
|
|
777
|
+
* @description Calculates the average value of a field
|
|
778
|
+
* @summary Returns the average value for the specified numeric field across all records
|
|
779
|
+
* @param {string} key - The field to calculate the average of
|
|
780
|
+
* @param {...any[]} args - Additional arguments including context
|
|
781
|
+
* @return {Promise<number>} The average value
|
|
782
|
+
*/
|
|
783
|
+
async avgOf(key, ...args) {
|
|
784
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.AVG_OF, true)).for(this.avgOf);
|
|
785
|
+
log.verbose(`calculating average of ${key} in ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
786
|
+
return this.avg(key).execute(...ctxArgs);
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* @description Calculates the sum of a field
|
|
790
|
+
* @summary Returns the sum of values for the specified numeric field across all records
|
|
791
|
+
* @param {string} key - The field to sum
|
|
792
|
+
* @param {...any[]} args - Additional arguments including context
|
|
793
|
+
* @return {Promise<number>} The sum
|
|
794
|
+
*/
|
|
795
|
+
async sumOf(key, ...args) {
|
|
796
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.SUM_OF, true)).for(this.sumOf);
|
|
797
|
+
log.verbose(`calculating sum of ${key} in ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
798
|
+
return this.sum(key).execute(...ctxArgs);
|
|
799
|
+
}
|
|
800
|
+
/**
|
|
801
|
+
* @description Finds distinct values of a field
|
|
802
|
+
* @summary Returns an array of unique values for the specified field
|
|
803
|
+
* @param {string} key - The field to get distinct values of
|
|
804
|
+
* @param {...any[]} args - Additional arguments including context
|
|
805
|
+
* @return {Promise<any[]>} An array of distinct values
|
|
806
|
+
*/
|
|
807
|
+
async distinctOf(key, ...args) {
|
|
808
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.DISTINCT_OF, true)).for(this.distinctOf);
|
|
809
|
+
log.verbose(`finding distinct values of ${key} in ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
810
|
+
return this.distinct(key).execute(...ctxArgs);
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* @description Groups records by a field
|
|
814
|
+
* @summary Returns records grouped by the specified field
|
|
815
|
+
* @param {string} key - The field to group by
|
|
816
|
+
* @param {...any[]} args - Additional arguments including context
|
|
817
|
+
* @return {Promise<Record<string, M[]>>} Records grouped by the field value
|
|
818
|
+
*/
|
|
819
|
+
async groupOf(key, ...args) {
|
|
820
|
+
const { log, ctxArgs } = (await this.logCtx(args, constants_3.PreparedStatementKeys.GROUP_OF, true)).for(this.groupOf);
|
|
821
|
+
log.verbose(`grouping ${decorator_validation_1.Model.tableName(this.class)} by ${key}`);
|
|
822
|
+
return this.select()
|
|
823
|
+
.groupBy(key)
|
|
824
|
+
.execute(...ctxArgs);
|
|
825
|
+
}
|
|
739
826
|
async statement(name, ...args) {
|
|
740
827
|
if (!Repository.statements(this, name))
|
|
741
828
|
throw new errors_1.QueryError(`Invalid prepared statement requested ${name}`);
|
|
@@ -945,6 +1032,48 @@ __decorate([
|
|
|
945
1032
|
__metadata("design:paramtypes", [Object, Object, void 0]),
|
|
946
1033
|
__metadata("design:returntype", Promise)
|
|
947
1034
|
], Repository.prototype, "findBy", null);
|
|
1035
|
+
__decorate([
|
|
1036
|
+
(0, decorators_1.prepared)(),
|
|
1037
|
+
__metadata("design:type", Function),
|
|
1038
|
+
__metadata("design:paramtypes", [Object, void 0]),
|
|
1039
|
+
__metadata("design:returntype", Promise)
|
|
1040
|
+
], Repository.prototype, "countOf", null);
|
|
1041
|
+
__decorate([
|
|
1042
|
+
(0, decorators_1.prepared)(),
|
|
1043
|
+
__metadata("design:type", Function),
|
|
1044
|
+
__metadata("design:paramtypes", [typeof (_a = typeof K !== "undefined" && K) === "function" ? _a : Object, void 0]),
|
|
1045
|
+
__metadata("design:returntype", Promise)
|
|
1046
|
+
], Repository.prototype, "maxOf", null);
|
|
1047
|
+
__decorate([
|
|
1048
|
+
(0, decorators_1.prepared)(),
|
|
1049
|
+
__metadata("design:type", Function),
|
|
1050
|
+
__metadata("design:paramtypes", [typeof (_b = typeof K !== "undefined" && K) === "function" ? _b : Object, void 0]),
|
|
1051
|
+
__metadata("design:returntype", Promise)
|
|
1052
|
+
], Repository.prototype, "minOf", null);
|
|
1053
|
+
__decorate([
|
|
1054
|
+
(0, decorators_1.prepared)(),
|
|
1055
|
+
__metadata("design:type", Function),
|
|
1056
|
+
__metadata("design:paramtypes", [typeof (_c = typeof K !== "undefined" && K) === "function" ? _c : Object, void 0]),
|
|
1057
|
+
__metadata("design:returntype", Promise)
|
|
1058
|
+
], Repository.prototype, "avgOf", null);
|
|
1059
|
+
__decorate([
|
|
1060
|
+
(0, decorators_1.prepared)(),
|
|
1061
|
+
__metadata("design:type", Function),
|
|
1062
|
+
__metadata("design:paramtypes", [typeof (_d = typeof K !== "undefined" && K) === "function" ? _d : Object, void 0]),
|
|
1063
|
+
__metadata("design:returntype", Promise)
|
|
1064
|
+
], Repository.prototype, "sumOf", null);
|
|
1065
|
+
__decorate([
|
|
1066
|
+
(0, decorators_1.prepared)(),
|
|
1067
|
+
__metadata("design:type", Function),
|
|
1068
|
+
__metadata("design:paramtypes", [typeof (_e = typeof K !== "undefined" && K) === "function" ? _e : Object, void 0]),
|
|
1069
|
+
__metadata("design:returntype", Promise)
|
|
1070
|
+
], Repository.prototype, "distinctOf", null);
|
|
1071
|
+
__decorate([
|
|
1072
|
+
(0, decorators_1.prepared)(),
|
|
1073
|
+
__metadata("design:type", Function),
|
|
1074
|
+
__metadata("design:paramtypes", [typeof (_f = typeof K !== "undefined" && K) === "function" ? _f : Object, void 0]),
|
|
1075
|
+
__metadata("design:returntype", Promise)
|
|
1076
|
+
], Repository.prototype, "groupOf", null);
|
|
948
1077
|
__decorate([
|
|
949
1078
|
(0, logging_1.final)(),
|
|
950
1079
|
__metadata("design:type", Function),
|