@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.
Files changed (132) hide show
  1. package/README.md +184 -179
  2. package/dist/core.cjs +1 -1
  3. package/dist/core.cjs.map +1 -1
  4. package/dist/core.js +1 -1
  5. package/dist/core.js.map +1 -1
  6. package/lib/esm/identity/index.d.ts +5 -0
  7. package/lib/esm/identity/index.js +5 -0
  8. package/lib/esm/identity/index.js.map +1 -1
  9. package/lib/esm/index.d.ts +1 -1
  10. package/lib/esm/index.js +1 -1
  11. package/lib/esm/interfaces/index.d.ts +5 -0
  12. package/lib/esm/interfaces/index.js +5 -0
  13. package/lib/esm/interfaces/index.js.map +1 -1
  14. package/lib/esm/migrations/index.d.ts +5 -0
  15. package/lib/esm/migrations/index.js +5 -0
  16. package/lib/esm/migrations/index.js.map +1 -1
  17. package/lib/esm/model/decorators.d.ts +3 -0
  18. package/lib/esm/model/decorators.js.map +1 -1
  19. package/lib/esm/model/index.d.ts +5 -0
  20. package/lib/esm/model/index.js +5 -0
  21. package/lib/esm/model/index.js.map +1 -1
  22. package/lib/esm/overrides/index.d.ts +5 -0
  23. package/lib/esm/overrides/index.js +5 -0
  24. package/lib/esm/overrides/index.js.map +1 -1
  25. package/lib/esm/persistence/index.d.ts +5 -0
  26. package/lib/esm/persistence/index.js +5 -0
  27. package/lib/esm/persistence/index.js.map +1 -1
  28. package/lib/esm/query/MethodQueryBuilder.d.ts +31 -3
  29. package/lib/esm/query/MethodQueryBuilder.js +153 -32
  30. package/lib/esm/query/MethodQueryBuilder.js.map +1 -1
  31. package/lib/esm/query/Statement.d.ts +9 -4
  32. package/lib/esm/query/Statement.js +197 -11
  33. package/lib/esm/query/Statement.js.map +1 -1
  34. package/lib/esm/query/constants.d.ts +8 -1
  35. package/lib/esm/query/constants.js +7 -0
  36. package/lib/esm/query/constants.js.map +1 -1
  37. package/lib/esm/query/decorators.js +60 -6
  38. package/lib/esm/query/decorators.js.map +1 -1
  39. package/lib/esm/query/index.d.ts +5 -0
  40. package/lib/esm/query/index.js +5 -0
  41. package/lib/esm/query/index.js.map +1 -1
  42. package/lib/esm/query/options.d.ts +72 -8
  43. package/lib/esm/query/types.d.ts +21 -1
  44. package/lib/esm/query/types.js +8 -0
  45. package/lib/esm/query/types.js.map +1 -1
  46. package/lib/esm/ram/RamAdapter.d.ts +3 -0
  47. package/lib/esm/ram/RamAdapter.js +88 -22
  48. package/lib/esm/ram/RamAdapter.js.map +1 -1
  49. package/lib/esm/ram/RamStatement.js +9 -3
  50. package/lib/esm/ram/RamStatement.js.map +1 -1
  51. package/lib/esm/ram/index.js +5 -0
  52. package/lib/esm/ram/index.js.map +1 -1
  53. package/lib/esm/ram/types.d.ts +1 -0
  54. package/lib/esm/repository/Repository.d.ts +59 -3
  55. package/lib/esm/repository/Repository.js +130 -1
  56. package/lib/esm/repository/Repository.js.map +1 -1
  57. package/lib/esm/repository/index.d.ts +5 -0
  58. package/lib/esm/repository/index.js +5 -0
  59. package/lib/esm/repository/index.js.map +1 -1
  60. package/lib/esm/services/index.d.ts +5 -0
  61. package/lib/esm/services/index.js +5 -0
  62. package/lib/esm/services/index.js.map +1 -1
  63. package/lib/esm/tasks/index.d.ts +5 -0
  64. package/lib/esm/tasks/index.js +5 -0
  65. package/lib/esm/tasks/index.js.map +1 -1
  66. package/lib/esm/utils/index.d.ts +5 -0
  67. package/lib/esm/utils/index.js +5 -0
  68. package/lib/esm/utils/index.js.map +1 -1
  69. package/lib/identity/index.cjs +5 -0
  70. package/lib/identity/index.d.ts +5 -0
  71. package/lib/identity/index.js.map +1 -1
  72. package/lib/index.cjs +1 -1
  73. package/lib/index.d.ts +1 -1
  74. package/lib/interfaces/index.cjs +5 -0
  75. package/lib/interfaces/index.d.ts +5 -0
  76. package/lib/interfaces/index.js.map +1 -1
  77. package/lib/migrations/index.cjs +5 -0
  78. package/lib/migrations/index.d.ts +5 -0
  79. package/lib/migrations/index.js.map +1 -1
  80. package/lib/model/decorators.d.ts +3 -0
  81. package/lib/model/decorators.js.map +1 -1
  82. package/lib/model/index.cjs +5 -0
  83. package/lib/model/index.d.ts +5 -0
  84. package/lib/model/index.js.map +1 -1
  85. package/lib/overrides/index.cjs +5 -0
  86. package/lib/overrides/index.d.ts +5 -0
  87. package/lib/overrides/index.js.map +1 -1
  88. package/lib/persistence/index.cjs +5 -0
  89. package/lib/persistence/index.d.ts +5 -0
  90. package/lib/persistence/index.js.map +1 -1
  91. package/lib/query/MethodQueryBuilder.cjs +153 -32
  92. package/lib/query/MethodQueryBuilder.d.ts +31 -3
  93. package/lib/query/MethodQueryBuilder.js.map +1 -1
  94. package/lib/query/Statement.cjs +197 -11
  95. package/lib/query/Statement.d.ts +9 -4
  96. package/lib/query/Statement.js.map +1 -1
  97. package/lib/query/constants.cjs +7 -0
  98. package/lib/query/constants.d.ts +8 -1
  99. package/lib/query/constants.js.map +1 -1
  100. package/lib/query/decorators.cjs +60 -6
  101. package/lib/query/decorators.js.map +1 -1
  102. package/lib/query/index.cjs +5 -0
  103. package/lib/query/index.d.ts +5 -0
  104. package/lib/query/index.js.map +1 -1
  105. package/lib/query/options.d.ts +72 -8
  106. package/lib/query/types.cjs +8 -0
  107. package/lib/query/types.d.ts +21 -1
  108. package/lib/query/types.js.map +1 -1
  109. package/lib/ram/RamAdapter.cjs +88 -22
  110. package/lib/ram/RamAdapter.d.ts +3 -0
  111. package/lib/ram/RamAdapter.js.map +1 -1
  112. package/lib/ram/RamStatement.cjs +8 -2
  113. package/lib/ram/RamStatement.js.map +1 -1
  114. package/lib/ram/index.cjs +5 -0
  115. package/lib/ram/index.js.map +1 -1
  116. package/lib/ram/types.d.ts +1 -0
  117. package/lib/repository/Repository.cjs +130 -1
  118. package/lib/repository/Repository.d.ts +59 -3
  119. package/lib/repository/Repository.js.map +1 -1
  120. package/lib/repository/index.cjs +5 -0
  121. package/lib/repository/index.d.ts +5 -0
  122. package/lib/repository/index.js.map +1 -1
  123. package/lib/services/index.cjs +5 -0
  124. package/lib/services/index.d.ts +5 -0
  125. package/lib/services/index.js.map +1 -1
  126. package/lib/tasks/index.cjs +5 -0
  127. package/lib/tasks/index.d.ts +5 -0
  128. package/lib/tasks/index.js.map +1 -1
  129. package/lib/utils/index.cjs +5 -0
  130. package/lib/utils/index.d.ts +5 -0
  131. package/lib/utils/index.js.map +1 -1
  132. package/package.json +1 -1
@@ -1 +1,6 @@
1
+ /**
2
+ * @description Exports for the identity module.
3
+ * @summary This file exports all the necessary components for the identity functionality, including decorators.
4
+ * @module core/identity
5
+ */
1
6
  export * from "./decorators";
@@ -1,2 +1,7 @@
1
+ /**
2
+ * @description Exports for the identity module.
3
+ * @summary This file exports all the necessary components for the identity functionality, including decorators.
4
+ * @module core/identity
5
+ */
1
6
  export * from "./decorators.js";
2
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/index.ts"],"names":[],"mappings":"AAAA,gCAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,gCAA6B"}
@@ -21,7 +21,7 @@ export * from "./persistence";
21
21
  * @const VERSION
22
22
  * @memberOf module:core
23
23
  */
24
- export declare const VERSION = "0.8.24";
24
+ export declare const VERSION = "0.8.26";
25
25
  /**
26
26
  * @description Stores the current package version
27
27
  * @summary A constant representing the version of the core package
package/lib/esm/index.js CHANGED
@@ -31,7 +31,7 @@ export * from "./persistence/index.js";
31
31
  * @const VERSION
32
32
  * @memberOf module:core
33
33
  */
34
- export const VERSION = "0.8.24";
34
+ export const VERSION = "0.8.26";
35
35
  /**
36
36
  * @description Stores the current package version
37
37
  * @summary A constant representing the version of the core package
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the interfaces module.
3
+ * @summary This file exports all the necessary components for the interfaces functionality, including ErrorParser, Executor, and more.
4
+ * @module core/interfaces
5
+ */
1
6
  export * from "./ErrorParser";
2
7
  export * from "./Executor";
3
8
  export * from "./Observable";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the interfaces module.
3
+ * @summary This file exports all the necessary components for the interfaces functionality, including ErrorParser, Executor, and more.
4
+ * @module core/interfaces
5
+ */
1
6
  export * from "./ErrorParser.js";
2
7
  export * from "./Executor.js";
3
8
  export * from "./Observable.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,iCAA8B;AAC9B,8BAA2B;AAC3B,gCAA6B;AAC7B,8BAA2B;AAC3B,+BAA4B;AAC5B,iCAA8B;AAC9B,qCAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,iCAA8B;AAC9B,8BAA2B;AAC3B,gCAA6B;AAC7B,8BAA2B;AAC3B,+BAA4B;AAC5B,iCAA8B;AAC9B,qCAAkC"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the migrations module.
3
+ * @summary This file exports all the necessary components for the migrations functionality, including constants, decorators, and more.
4
+ * @module core/migrations
5
+ */
1
6
  export * from "./constants";
2
7
  export * from "./decorators";
3
8
  export * from "./Migration";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the migrations module.
3
+ * @summary This file exports all the necessary components for the migrations functionality, including constants, decorators, and more.
4
+ * @module core/migrations
5
+ */
1
6
  export * from "./constants.js";
2
7
  export * from "./decorators.js";
3
8
  export * from "./Migration.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B;AAC5B,sCAAmC;AACnC,oCAAiC;AACjC,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+BAA4B;AAC5B,gCAA6B;AAC7B,+BAA4B;AAC5B,sCAAmC;AACnC,oCAAiC;AACjC,2BAAwB"}
@@ -37,6 +37,9 @@ export declare function index(): ReturnType<typeof propMetadata>;
37
37
  export declare function index(name: string): ReturnType<typeof propMetadata>;
38
38
  export declare function index(directions: OrderDirection[]): ReturnType<typeof propMetadata>;
39
39
  export declare function index(directions: OrderDirection[], name: string): ReturnType<typeof propMetadata>;
40
+ export declare function index(directions: OrderDirection[], compositions: string[]): ReturnType<typeof propMetadata>;
41
+ export declare function index(directions: readonly OrderDirection[], compositions: readonly string[]): ReturnType<typeof propMetadata>;
42
+ export declare function index(directions: readonly OrderDirection[], compositions: readonly string[], name: string): ReturnType<typeof propMetadata>;
40
43
  export declare function index(compositions: string[]): ReturnType<typeof propMetadata>;
41
44
  export declare function index(compositions: string[], name: string): ReturnType<typeof propMetadata>;
42
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the model module.
3
+ * @summary This file exports all the necessary components for the model functionality, including the BaseModel, construction utilities, decorators, and more.
4
+ * @module core/model
5
+ */
1
6
  export * from "./BaseModel";
2
7
  export * from "./construction";
3
8
  export * from "./decorators";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the model module.
3
+ * @summary This file exports all the necessary components for the model functionality, including the BaseModel, construction utilities, decorators, and more.
4
+ * @module core/model
5
+ */
1
6
  export * from "./BaseModel.js";
2
7
  export * from "./construction.js";
3
8
  export * from "./decorators.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,kCAA+B;AAC/B,gCAA6B;AAC7B,mCAAgC;AAChC,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+BAA4B;AAC5B,kCAA+B;AAC/B,gCAA6B;AAC7B,mCAAgC;AAChC,2BAAwB"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the overrides module.
3
+ * @summary This file exports all the necessary components for the overrides functionality, including Metadata, injectables, Model, and overrides.
4
+ * @module core/overrides
5
+ */
1
6
  export * from "./Metadata";
2
7
  export * from "./injectables";
3
8
  export * from "./Model";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the overrides module.
3
+ * @summary This file exports all the necessary components for the overrides functionality, including Metadata, injectables, Model, and overrides.
4
+ * @module core/overrides
5
+ */
1
6
  export * from "./Metadata.js";
2
7
  export * from "./injectables.js";
3
8
  export * from "./Model.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,8BAA2B;AAC3B,iCAA8B;AAC9B,2BAAwB;AACxB,+BAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,8BAA2B;AAC3B,iCAA8B;AAC9B,2BAAwB;AACxB,+BAA4B"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the persistence module.
3
+ * @summary This file exports all the necessary components for the persistence functionality, including Dispatch, constants, and more.
4
+ * @module core/persistence
5
+ */
1
6
  export * from "./Dispatch";
2
7
  export * from "./constants";
3
8
  export * from "./Context";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the persistence module.
3
+ * @summary This file exports all the necessary components for the persistence functionality, including Dispatch, constants, and more.
4
+ * @module core/persistence
5
+ */
1
6
  // purposely in first place
2
7
  export * from "./Dispatch.js";
3
8
  export * from "./constants.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,6BAA0B;AAC1B,gCAA6B;AAC7B,4BAAyB;AACzB,gCAA6B;AAC7B,mCAAgC;AAChC,qCAAkC;AAClC,8BAA2B;AAC3B,2BAAwB;AACxB,6BAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,2BAA2B;AAC3B,8BAA2B;AAC3B,+BAA4B;AAC5B,6BAA0B;AAC1B,gCAA6B;AAC7B,4BAAyB;AACzB,gCAA6B;AAC7B,mCAAgC;AAChC,qCAAkC;AAClC,8BAA2B;AAC3B,2BAAwB;AACxB,6BAA0B"}
@@ -1,5 +1,9 @@
1
- import { QueryAssist } from "./types";
1
+ import { QueryAction, QueryAssist } from "./types";
2
2
  import { LoggedClass, Logger } from "@decaf-ts/logging";
3
+ export type QueryActionPrefix = {
4
+ action: QueryAction;
5
+ prefix: string;
6
+ };
3
7
  /**
4
8
  * @description
5
9
  * Utility class to build query objects from repository method names.
@@ -56,6 +60,19 @@ import { LoggedClass, Logger } from "@decaf-ts/logging";
56
60
  export declare class MethodQueryBuilder extends LoggedClass {
57
61
  private static _logger;
58
62
  protected static get log(): Logger;
63
+ /**
64
+ * @description
65
+ * Map of query prefixes to their corresponding actions.
66
+ */
67
+ private static readonly prefixMap;
68
+ /**
69
+ * @description
70
+ * Determines the action and prefix length from a method name.
71
+ *
72
+ * @param methodName {string} - The repository method name.
73
+ * @return {QueryActionPrefix} | undefined} The action and prefix if found.
74
+ */
75
+ private static getActionFromMethodName;
59
76
  /**
60
77
  * @description
61
78
  * Builds a `QueryAssist` object by parsing a repository method name and values.
@@ -73,13 +90,23 @@ export declare class MethodQueryBuilder extends LoggedClass {
73
90
  static build(methodName: string, ...values: any[]): QueryAssist;
74
91
  /**
75
92
  * @description
76
- * Extracts the core part of the method name after `findBy` and before any special clauses.
93
+ * Extracts the aggregation selector field from method names like countByAge, sumByPrice.
94
+ *
95
+ * @param methodName {string} - The method name.
96
+ * @param prefix {string} - The prefix to remove.
97
+ * @return {string | undefined} The selector field name.
98
+ */
99
+ private static extractAggregationSelector;
100
+ /**
101
+ * @description
102
+ * Extracts the core part of the method name after the prefix and before any special clauses.
77
103
  *
78
104
  * @summary
79
105
  * Removes prefixes and detects delimiters (`Then`, `OrderBy`, `GroupBy`, `Limit`, `Offset`)
80
106
  * to isolate the main conditional part of the query.
81
107
  *
82
108
  * @param methodName {string} - The method name to parse.
109
+ * @param prefix {string} - The prefix to remove (e.g., "findBy", "countBy").
83
110
  *
84
111
  * @return {string} The extracted core string used for building conditions.
85
112
  */
@@ -148,8 +175,9 @@ export declare class MethodQueryBuilder extends LoggedClass {
148
175
  * Determines the number of condition arguments, then checks the remaining arguments
149
176
  * to resolve sorting, limiting, and pagination.
150
177
  *
151
- * @param methodName {string} - The extracted core string from the method name.
178
+ * @param methodName {string} - The method name.
152
179
  * @param values {any[]} - The values corresponding to method arguments, including conditions and extras.
180
+ * @param core {string} - The pre-extracted core string.
153
181
  *
154
182
  * @return {OrderLimitOffsetExtract} An object containing orderBy, limit, and offset values if present.
155
183
  */
@@ -64,6 +64,36 @@ export class MethodQueryBuilder extends LoggedClass {
64
64
  this._logger = Logging.for(MethodQueryBuilder.name);
65
65
  return this._logger;
66
66
  }
67
+ /**
68
+ * @description
69
+ * Map of query prefixes to their corresponding actions.
70
+ */
71
+ static { this.prefixMap = {
72
+ [QueryClause.FIND_BY]: "find",
73
+ [QueryClause.PAGE_BY]: "page",
74
+ [QueryClause.COUNT_BY]: "count",
75
+ [QueryClause.SUM_BY]: "sum",
76
+ [QueryClause.AVG_BY]: "avg",
77
+ [QueryClause.MIN_BY]: "min",
78
+ [QueryClause.MAX_BY]: "max",
79
+ [QueryClause.DISTINCT_BY]: "distinct",
80
+ [QueryClause.GROUP_BY_PREFIX]: "group",
81
+ }; }
82
+ /**
83
+ * @description
84
+ * Determines the action and prefix length from a method name.
85
+ *
86
+ * @param methodName {string} - The repository method name.
87
+ * @return {QueryActionPrefix} | undefined} The action and prefix if found.
88
+ */
89
+ static getActionFromMethodName(methodName) {
90
+ for (const [prefix, action] of Object.entries(this.prefixMap)) {
91
+ if (methodName.startsWith(prefix)) {
92
+ return { action, prefix };
93
+ }
94
+ }
95
+ return undefined;
96
+ }
67
97
  /**
68
98
  * @description
69
99
  * Builds a `QueryAssist` object by parsing a repository method name and values.
@@ -79,18 +109,25 @@ export class MethodQueryBuilder extends LoggedClass {
79
109
  * @return {QueryAssist} A structured query object representing the parsed query.
80
110
  */
81
111
  static build(methodName, ...values) {
82
- if (!methodName.startsWith(QueryClause.FIND_BY)) {
112
+ const actionInfo = this.getActionFromMethodName(methodName);
113
+ if (!actionInfo) {
83
114
  throw new Error(`Unsupported method ${methodName}`);
84
115
  }
85
- const core = this.extractCore(methodName);
116
+ const { action, prefix } = actionInfo;
117
+ // For aggregation methods (count, sum, avg, min, max, distinct), extract the selector field
118
+ let selector;
119
+ if (["count", "sum", "avg", "min", "max", "distinct", "group"].includes(action)) {
120
+ selector = this.extractAggregationSelector(methodName, prefix);
121
+ }
122
+ const core = this.extractCore(methodName, prefix);
86
123
  const select = this.extractSelect(methodName);
87
124
  const groupBy = this.extractGroupBy(methodName);
88
- // const orderBy = this.extractOrderBy(methodName);
89
125
  const where = this.buildWhere(core, values);
90
- const { orderBy, limit, offset } = this.extractOrderLimitOffset(methodName, values);
126
+ const { orderBy, limit, offset } = this.extractOrderLimitOffset(methodName, values, core);
91
127
  return {
92
- action: "find",
93
- select: select,
128
+ action,
129
+ select,
130
+ selector,
94
131
  where,
95
132
  groupBy,
96
133
  orderBy,
@@ -100,27 +137,84 @@ export class MethodQueryBuilder extends LoggedClass {
100
137
  }
101
138
  /**
102
139
  * @description
103
- * Extracts the core part of the method name after `findBy` and before any special clauses.
140
+ * Extracts the aggregation selector field from method names like countByAge, sumByPrice.
141
+ *
142
+ * @param methodName {string} - The method name.
143
+ * @param prefix {string} - The prefix to remove.
144
+ * @return {string | undefined} The selector field name.
145
+ */
146
+ static extractAggregationSelector(methodName, prefix) {
147
+ const afterPrefix = methodName.substring(prefix.length);
148
+ // Find where the selector ends (at next clause keyword, operator, or end)
149
+ // Include ThenBy for groupBy prefix
150
+ const regex = /(And|Or|GroupBy|OrderBy|Select|Limit|Offset|ThenBy)/;
151
+ const match = afterPrefix.match(regex);
152
+ const selectorPart = match
153
+ ? afterPrefix.substring(0, match.index)
154
+ : afterPrefix;
155
+ return selectorPart ? lowerFirst(selectorPart) : undefined;
156
+ }
157
+ /**
158
+ * @description
159
+ * Extracts the core part of the method name after the prefix and before any special clauses.
104
160
  *
105
161
  * @summary
106
162
  * Removes prefixes and detects delimiters (`Then`, `OrderBy`, `GroupBy`, `Limit`, `Offset`)
107
163
  * to isolate the main conditional part of the query.
108
164
  *
109
165
  * @param methodName {string} - The method name to parse.
166
+ * @param prefix {string} - The prefix to remove (e.g., "findBy", "countBy").
110
167
  *
111
168
  * @return {string} The extracted core string used for building conditions.
112
169
  */
113
- static extractCore(methodName) {
114
- const afterFindBy = methodName.substring(QueryClause.FIND_BY.length);
115
- const regex = /(Then[A-Z]|OrderBy|GroupBy|Limit|Offset)/;
116
- const match = afterFindBy.match(regex);
117
- return match ? afterFindBy.substring(0, match.index) : afterFindBy;
170
+ static extractCore(methodName, prefix = QueryClause.FIND_BY) {
171
+ const afterPrefix = methodName.substring(prefix.length);
172
+ // For aggregation methods (not findBy or pageBy), we need to skip the selector field
173
+ const isAggregationPrefix = prefix !== QueryClause.FIND_BY && prefix !== QueryClause.PAGE_BY;
174
+ if (isAggregationPrefix) {
175
+ // For aggregation methods, we need to find where actual conditions start
176
+ // Conditions are indicated by And|Or AFTER the selector field
177
+ // For "countByAgeAndNameEquals", conditions start at "AndNameEquals"
178
+ // For "sumByPriceGroupByCategory", there are no conditions
179
+ // First, identify the selector field boundary
180
+ // The selector ends at: And, Or, GroupBy, OrderBy, ThenBy, Select, Limit, Offset
181
+ const selectorEndMatch = afterPrefix.match(/(And|Or|GroupBy|OrderBy|ThenBy|Select|Limit|Offset)/);
182
+ if (!selectorEndMatch) {
183
+ // No delimiter found, entire suffix is the selector, no conditions
184
+ return "";
185
+ }
186
+ // Check if the first delimiter is And or Or (indicating a condition)
187
+ if (selectorEndMatch[0] === "And" || selectorEndMatch[0] === "Or") {
188
+ // Extract everything AFTER the And/Or (skip the And/Or itself for the first condition)
189
+ const afterAndOr = afterPrefix.substring(selectorEndMatch.index + selectorEndMatch[0].length);
190
+ // Now apply standard delimiter extraction
191
+ const delimiterMatch = afterAndOr.match(/(Then[A-Z]|OrderBy|GroupBy|Limit|Offset|Select|ThenBy)/);
192
+ return delimiterMatch
193
+ ? afterAndOr.substring(0, delimiterMatch.index)
194
+ : afterAndOr;
195
+ }
196
+ // First delimiter is not And/Or, so there are no conditions
197
+ return "";
198
+ }
199
+ // For findBy and pageBy, extract core normally
200
+ const regex = /(Then[A-Z]|OrderBy|GroupBy|Limit|Offset|Select)/;
201
+ const match = afterPrefix.match(regex);
202
+ const corePart = match
203
+ ? afterPrefix.substring(0, match.index)
204
+ : afterPrefix;
205
+ return corePart;
118
206
  }
119
207
  static getFieldsFromMethodName(methodName) {
120
- const core = this.extractCore(methodName);
208
+ const actionInfo = this.getActionFromMethodName(methodName);
209
+ const prefix = actionInfo?.prefix || QueryClause.FIND_BY;
210
+ const core = this.extractCore(methodName, prefix);
211
+ if (!core)
212
+ return [];
121
213
  const parts = core.split(/OrderBy|GroupBy/)[0] || "";
122
214
  const conditions = parts.split(/And|Or/);
123
- return conditions.map((token) => {
215
+ return conditions
216
+ .filter((token) => token.length > 0)
217
+ .map((token) => {
124
218
  const { operator, field } = this.parseFieldAndOperator(token);
125
219
  return field + (operator ?? "");
126
220
  });
@@ -162,15 +256,38 @@ export class MethodQueryBuilder extends LoggedClass {
162
256
  * @return {string[] | undefined} An array of group by fields or `undefined` if no group by clause exists.
163
257
  */
164
258
  static extractGroupBy(methodName) {
259
+ // First check for the standard "GroupBy" clause (e.g., findByActiveGroupByCountry)
165
260
  const groupByIndex = methodName.indexOf(QueryClause.GROUP_BY);
166
- if (groupByIndex === -1)
167
- return undefined;
168
- const after = methodName.substring(groupByIndex + QueryClause.GROUP_BY.length);
169
- const groupByPart = after.split(QueryClause.ORDER_BY)[0];
170
- return groupByPart
171
- .split(QueryClause.THEN_BY)
172
- .map(lowerFirst)
173
- .filter(Boolean);
261
+ if (groupByIndex !== -1) {
262
+ const after = methodName.substring(groupByIndex + QueryClause.GROUP_BY.length);
263
+ const groupByPart = after.split(QueryClause.ORDER_BY)[0];
264
+ return groupByPart
265
+ .split(QueryClause.THEN_BY)
266
+ .map(lowerFirst)
267
+ .filter(Boolean);
268
+ }
269
+ // For "groupBy" prefix (e.g., groupByCategoryThenByRegion),
270
+ // extract ThenBy fields after the selector
271
+ const actionInfo = this.getActionFromMethodName(methodName);
272
+ if (actionInfo?.action === "group") {
273
+ const afterPrefix = methodName.substring(actionInfo.prefix.length);
274
+ const thenByIndex = afterPrefix.indexOf(QueryClause.THEN_BY);
275
+ if (thenByIndex === -1)
276
+ return undefined;
277
+ const afterThenBy = afterPrefix.substring(thenByIndex + QueryClause.THEN_BY.length);
278
+ // Split by ThenBy to get multiple group fields
279
+ const parts = afterThenBy.split(QueryClause.THEN_BY);
280
+ // Also stop at OrderBy, Limit, Offset
281
+ const result = [];
282
+ for (const part of parts) {
283
+ const match = part.match(/(OrderBy|Limit|Offset|Select)/);
284
+ const field = match ? part.substring(0, match.index) : part;
285
+ if (field)
286
+ result.push(lowerFirst(field));
287
+ }
288
+ return result.length > 0 ? result : undefined;
289
+ }
290
+ return undefined;
174
291
  }
175
292
  // private static extractOrderBy(
176
293
  // methodName: string
@@ -209,10 +326,15 @@ export class MethodQueryBuilder extends LoggedClass {
209
326
  * @return {Condition<any>} A structured condition object representing the query's where clause.
210
327
  */
211
328
  static buildWhere(core, values) {
212
- if (!core && values.length === 0)
329
+ // Empty core means no where conditions
330
+ if (!core)
213
331
  return undefined;
214
332
  const parts = core.split(/OrderBy|GroupBy/)[0] || "";
215
- const conditions = parts.split(/And|Or/);
333
+ if (!parts)
334
+ return undefined;
335
+ const conditions = parts.split(/And|Or/).filter((c) => c.length > 0);
336
+ if (conditions.length === 0)
337
+ return undefined;
216
338
  const operators = core.match(/And|Or/g) || [];
217
339
  let where;
218
340
  conditions.forEach((token, idx) => {
@@ -232,10 +354,6 @@ export class MethodQueryBuilder extends LoggedClass {
232
354
  ? where.and(condition)
233
355
  : where.or(condition);
234
356
  });
235
- if (conditions.length === 0)
236
- return undefined;
237
- if (!where)
238
- throw new Error("No conditions found in method name");
239
357
  return where;
240
358
  }
241
359
  /**
@@ -294,14 +412,17 @@ export class MethodQueryBuilder extends LoggedClass {
294
412
  * Determines the number of condition arguments, then checks the remaining arguments
295
413
  * to resolve sorting, limiting, and pagination.
296
414
  *
297
- * @param methodName {string} - The extracted core string from the method name.
415
+ * @param methodName {string} - The method name.
298
416
  * @param values {any[]} - The values corresponding to method arguments, including conditions and extras.
417
+ * @param core {string} - The pre-extracted core string.
299
418
  *
300
419
  * @return {OrderLimitOffsetExtract} An object containing orderBy, limit, and offset values if present.
301
420
  */
302
- static extractOrderLimitOffset(methodName, values) {
303
- const core = this.extractCore(methodName);
304
- const conditionCount = core.split(/And|Or/).length;
421
+ static extractOrderLimitOffset(methodName, values, core) {
422
+ const coreString = core ?? this.extractCore(methodName);
423
+ const conditionCount = coreString
424
+ ? coreString.split(/And|Or/).filter((s) => s.length > 0).length
425
+ : 0;
305
426
  const extraArgs = values.slice(conditionCount) ?? [];
306
427
  let orderBy;
307
428
  let limit;
@@ -1 +1 @@
1
- {"version":3,"file":"MethodQueryBuilder.js","sourceRoot":"","sources":["../../../src/query/MethodQueryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MethodQueryBuilder.js","sourceRoot":"","sources":["../../../src/query/MethodQueryBuilder.ts"],"names":[],"mappings":"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"}