@decaf-ts/core 0.8.24 → 0.8.26

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 (170) hide show
  1. package/README.md +1 -1
  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/Condition.js +21 -0
  29. package/lib/esm/query/Condition.js.map +1 -1
  30. package/lib/esm/query/Statement.d.ts +14 -5
  31. package/lib/esm/query/Statement.js +92 -8
  32. package/lib/esm/query/Statement.js.map +1 -1
  33. package/lib/esm/query/constants.d.ts +2 -0
  34. package/lib/esm/query/constants.js +2 -1
  35. package/lib/esm/query/constants.js.map +1 -1
  36. package/lib/esm/query/index.d.ts +5 -0
  37. package/lib/esm/query/index.js +5 -0
  38. package/lib/esm/query/index.js.map +1 -1
  39. package/lib/esm/query/options.d.ts +101 -7
  40. package/lib/esm/ram/RamAdapter.d.ts +13 -5
  41. package/lib/esm/ram/RamAdapter.js +213 -26
  42. package/lib/esm/ram/RamAdapter.js.map +1 -1
  43. package/lib/esm/ram/RamStatement.d.ts +7 -0
  44. package/lib/esm/ram/RamStatement.js +117 -3
  45. package/lib/esm/ram/RamStatement.js.map +1 -1
  46. package/lib/esm/ram/index.js +5 -0
  47. package/lib/esm/ram/index.js.map +1 -1
  48. package/lib/esm/ram/types.d.ts +7 -16
  49. package/lib/esm/repository/Repository.d.ts +49 -1
  50. package/lib/esm/repository/Repository.js +78 -0
  51. package/lib/esm/repository/Repository.js.map +1 -1
  52. package/lib/esm/repository/index.d.ts +5 -0
  53. package/lib/esm/repository/index.js +5 -0
  54. package/lib/esm/repository/index.js.map +1 -1
  55. package/lib/esm/services/index.d.ts +5 -0
  56. package/lib/esm/services/index.js +5 -0
  57. package/lib/esm/services/index.js.map +1 -1
  58. package/lib/esm/tasks/TaskContext.d.ts +9 -0
  59. package/lib/esm/tasks/TaskContext.js +39 -0
  60. package/lib/esm/tasks/TaskContext.js.map +1 -1
  61. package/lib/esm/tasks/TaskEngine.d.ts +14 -0
  62. package/lib/esm/tasks/TaskEngine.js +99 -2
  63. package/lib/esm/tasks/TaskEngine.js.map +1 -1
  64. package/lib/esm/tasks/TaskErrors.d.ts +20 -0
  65. package/lib/esm/tasks/TaskErrors.js +42 -0
  66. package/lib/esm/tasks/TaskErrors.js.map +1 -0
  67. package/lib/esm/tasks/TaskStateChangeError.d.ts +11 -0
  68. package/lib/esm/tasks/TaskStateChangeError.js +9 -0
  69. package/lib/esm/tasks/TaskStateChangeError.js.map +1 -0
  70. package/lib/esm/tasks/TaskTracker.d.ts +7 -5
  71. package/lib/esm/tasks/TaskTracker.js +72 -36
  72. package/lib/esm/tasks/TaskTracker.js.map +1 -1
  73. package/lib/esm/tasks/constants.d.ts +1 -0
  74. package/lib/esm/tasks/constants.js +1 -0
  75. package/lib/esm/tasks/constants.js.map +1 -1
  76. package/lib/esm/tasks/index.d.ts +6 -0
  77. package/lib/esm/tasks/index.js +6 -0
  78. package/lib/esm/tasks/index.js.map +1 -1
  79. package/lib/esm/tasks/logging.js +4 -1
  80. package/lib/esm/tasks/logging.js.map +1 -1
  81. package/lib/esm/tasks/models/TaskModel.d.ts +1 -0
  82. package/lib/esm/tasks/models/TaskModel.js +5 -0
  83. package/lib/esm/tasks/models/TaskModel.js.map +1 -1
  84. package/lib/esm/tasks/types.d.ts +2 -0
  85. package/lib/esm/utils/index.d.ts +5 -0
  86. package/lib/esm/utils/index.js +5 -0
  87. package/lib/esm/utils/index.js.map +1 -1
  88. package/lib/identity/index.cjs +5 -0
  89. package/lib/identity/index.d.ts +5 -0
  90. package/lib/identity/index.js.map +1 -1
  91. package/lib/index.cjs +1 -1
  92. package/lib/index.d.ts +1 -1
  93. package/lib/interfaces/index.cjs +5 -0
  94. package/lib/interfaces/index.d.ts +5 -0
  95. package/lib/interfaces/index.js.map +1 -1
  96. package/lib/migrations/index.cjs +5 -0
  97. package/lib/migrations/index.d.ts +5 -0
  98. package/lib/migrations/index.js.map +1 -1
  99. package/lib/model/decorators.d.ts +3 -0
  100. package/lib/model/decorators.js.map +1 -1
  101. package/lib/model/index.cjs +5 -0
  102. package/lib/model/index.d.ts +5 -0
  103. package/lib/model/index.js.map +1 -1
  104. package/lib/overrides/index.cjs +5 -0
  105. package/lib/overrides/index.d.ts +5 -0
  106. package/lib/overrides/index.js.map +1 -1
  107. package/lib/persistence/index.cjs +5 -0
  108. package/lib/persistence/index.d.ts +5 -0
  109. package/lib/persistence/index.js.map +1 -1
  110. package/lib/query/Condition.cjs +21 -0
  111. package/lib/query/Condition.js.map +1 -1
  112. package/lib/query/Statement.cjs +92 -8
  113. package/lib/query/Statement.d.ts +14 -5
  114. package/lib/query/Statement.js.map +1 -1
  115. package/lib/query/constants.cjs +2 -1
  116. package/lib/query/constants.d.ts +2 -0
  117. package/lib/query/constants.js.map +1 -1
  118. package/lib/query/index.cjs +5 -0
  119. package/lib/query/index.d.ts +5 -0
  120. package/lib/query/index.js.map +1 -1
  121. package/lib/query/options.d.ts +101 -7
  122. package/lib/ram/RamAdapter.cjs +213 -26
  123. package/lib/ram/RamAdapter.d.ts +13 -5
  124. package/lib/ram/RamAdapter.js.map +1 -1
  125. package/lib/ram/RamStatement.cjs +116 -2
  126. package/lib/ram/RamStatement.d.ts +7 -0
  127. package/lib/ram/RamStatement.js.map +1 -1
  128. package/lib/ram/index.cjs +5 -0
  129. package/lib/ram/index.js.map +1 -1
  130. package/lib/ram/types.d.ts +7 -16
  131. package/lib/repository/Repository.cjs +78 -0
  132. package/lib/repository/Repository.d.ts +49 -1
  133. package/lib/repository/Repository.js.map +1 -1
  134. package/lib/repository/index.cjs +5 -0
  135. package/lib/repository/index.d.ts +5 -0
  136. package/lib/repository/index.js.map +1 -1
  137. package/lib/services/index.cjs +5 -0
  138. package/lib/services/index.d.ts +5 -0
  139. package/lib/services/index.js.map +1 -1
  140. package/lib/tasks/TaskContext.cjs +39 -0
  141. package/lib/tasks/TaskContext.d.ts +9 -0
  142. package/lib/tasks/TaskContext.js.map +1 -1
  143. package/lib/tasks/TaskEngine.cjs +99 -2
  144. package/lib/tasks/TaskEngine.d.ts +14 -0
  145. package/lib/tasks/TaskEngine.js.map +1 -1
  146. package/lib/tasks/TaskErrors.cjs +50 -0
  147. package/lib/tasks/TaskErrors.d.ts +20 -0
  148. package/lib/tasks/TaskErrors.js.map +1 -0
  149. package/lib/tasks/TaskStateChangeError.cjs +13 -0
  150. package/lib/tasks/TaskStateChangeError.d.ts +11 -0
  151. package/lib/tasks/TaskStateChangeError.js.map +1 -0
  152. package/lib/tasks/TaskTracker.cjs +72 -36
  153. package/lib/tasks/TaskTracker.d.ts +7 -5
  154. package/lib/tasks/TaskTracker.js.map +1 -1
  155. package/lib/tasks/constants.cjs +1 -0
  156. package/lib/tasks/constants.d.ts +1 -0
  157. package/lib/tasks/constants.js.map +1 -1
  158. package/lib/tasks/index.cjs +6 -0
  159. package/lib/tasks/index.d.ts +6 -0
  160. package/lib/tasks/index.js.map +1 -1
  161. package/lib/tasks/logging.cjs +4 -1
  162. package/lib/tasks/logging.js.map +1 -1
  163. package/lib/tasks/models/TaskModel.cjs +5 -0
  164. package/lib/tasks/models/TaskModel.d.ts +1 -0
  165. package/lib/tasks/models/TaskModel.js.map +1 -1
  166. package/lib/tasks/types.d.ts +2 -0
  167. package/lib/utils/index.cjs +5 -0
  168. package/lib/utils/index.d.ts +5 -0
  169. package/lib/utils/index.js.map +1 -1
  170. package/package.json +1 -1
@@ -1,8 +1,8 @@
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
- import { Metadata } from "@decaf-ts/decoration";
5
4
  import { OrderDirection } from "./../repository/constants.js";
5
+ import { Metadata } from "@decaf-ts/decoration";
6
6
  /**
7
7
  * @description RAM-specific query statement builder
8
8
  * @summary Extends the base Statement class to provide query building functionality for the RAM adapter.
@@ -109,6 +109,14 @@ export class RamStatement extends Statement {
109
109
  * @return {RawRamQuery<M>} The constructed RAM query object
110
110
  */
111
111
  build() {
112
+ if (this.minSelector)
113
+ this.ensureNumberOrDateSelector(this.minSelector, "MIN operation");
114
+ if (this.maxSelector)
115
+ this.ensureNumberOrDateSelector(this.maxSelector, "MAX operation");
116
+ if (this.sumSelector)
117
+ this.ensureNumericSelector(this.sumSelector, "SUM operation");
118
+ if (this.avgSelector)
119
+ this.ensureNumberOrDateSelector(this.avgSelector, "AVG operation");
112
120
  const result = {
113
121
  select: this.selectSelector,
114
122
  from: this.fromSelector,
@@ -122,6 +130,20 @@ export class RamStatement extends Statement {
122
130
  skip: this.offsetSelector,
123
131
  groupBy: this.groupBySelectors,
124
132
  };
133
+ if (typeof this.countSelector !== "undefined")
134
+ result.count = this.countSelector;
135
+ if (this.countDistinctSelector)
136
+ result.countDistinct = this.countDistinctSelector;
137
+ if (this.minSelector)
138
+ result.min = this.minSelector;
139
+ if (this.maxSelector)
140
+ result.max = this.maxSelector;
141
+ if (this.sumSelector)
142
+ result.sum = this.sumSelector;
143
+ if (this.avgSelector)
144
+ result.avg = this.avgSelector;
145
+ if (this.distinctSelector)
146
+ result.distinct = this.distinctSelector;
125
147
  if (this.orderBySelectors?.length)
126
148
  result.sort = this.getSort();
127
149
  return result;
@@ -175,12 +197,39 @@ export class RamStatement extends Statement {
175
197
  return m[attr1] < comparison;
176
198
  case Operator.SMALLER_EQ:
177
199
  return m[attr1] <= comparison;
200
+ case Operator.IN:
201
+ if (!Array.isArray(comparison))
202
+ throw new QueryError(`IN operator requires an array, got: ${typeof comparison}`);
203
+ return comparison.includes(m[attr1]);
204
+ case Operator.BETWEEN: {
205
+ if (!Array.isArray(comparison) || comparison.length !== 2)
206
+ throw new QueryError(`BETWEEN operator requires an array with 2 values [min, max], got: ${JSON.stringify(comparison)}`);
207
+ const attr = attr1;
208
+ const attrName = attr;
209
+ const attrType = this.determineAttributeType(m.constructor, attrName, "BETWEEN");
210
+ if (!this.isNumericType(attrType) && attrType !== "date") {
211
+ throw new QueryError(`BETWEEN operator requires numeric or date attributes, but "${attrName}" is ${attrType ||
212
+ "unknown"}`);
213
+ }
214
+ const [min, max] = comparison;
215
+ const value = m[attr];
216
+ const comparableValue = this.toComparableValue(value, attrType, attrName, "BETWEEN", { allowNull: true });
217
+ if (comparableValue === null)
218
+ return false;
219
+ const minComparable = this.toComparableValue(min, attrType, attrName, "BETWEEN min");
220
+ const maxComparable = this.toComparableValue(max, attrType, attrName, "BETWEEN max");
221
+ return (comparableValue >= minComparable && comparableValue <= maxComparable);
222
+ }
178
223
  default:
179
224
  throw new InternalError(`Invalid operator for standard comparisons: ${operator}`);
180
225
  }
181
226
  }
182
227
  else if (operator === Operator.NOT) {
183
- throw new InternalError("Not implemented");
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);
184
233
  }
185
234
  else {
186
235
  const op1 = this.parseCondition(attr1);
@@ -197,5 +246,70 @@ export class RamStatement extends Statement {
197
246
  },
198
247
  };
199
248
  }
249
+ ensureNumericSelector(selector, context) {
250
+ this.ensureSelectorType(selector, context, (type) => this.isNumericType(type), "numeric");
251
+ }
252
+ ensureNumberOrDateSelector(selector, context) {
253
+ this.ensureSelectorType(selector, context, (type) => this.isNumericType(type) || type === "date", "numeric or date");
254
+ }
255
+ ensureSelectorType(selector, context, predicate, description) {
256
+ if (!this.fromSelector) {
257
+ throw new InternalError(`${context} requires a target model. Call from() before aggregating.`);
258
+ }
259
+ const attr = selector;
260
+ const type = this.determineAttributeType(this.fromSelector, attr, context);
261
+ if (!predicate(type)) {
262
+ throw new QueryError(`${context} requires a ${description} attribute, but "${attr}" is ${type || "unknown"}`);
263
+ }
264
+ }
265
+ determineAttributeType(clazz, attr, context) {
266
+ const propKey = attr;
267
+ const metaType = Metadata.type(clazz, propKey) ??
268
+ Metadata.getPropDesignTypes(clazz, propKey)?.designType;
269
+ const resolved = this.normalizeMetaType(metaType);
270
+ if (!resolved) {
271
+ throw new QueryError(`${context} could not resolve property type for "${attr}"`);
272
+ }
273
+ return resolved;
274
+ }
275
+ normalizeMetaType(metaType) {
276
+ if (!metaType)
277
+ return undefined;
278
+ if (typeof metaType === "string")
279
+ return metaType.toLowerCase();
280
+ if (typeof metaType === "function" && metaType.name)
281
+ return metaType.name.toLowerCase();
282
+ return undefined;
283
+ }
284
+ isNumericType(type) {
285
+ return type === "number" || type === "bigint";
286
+ }
287
+ toComparableValue(value, attrType, attrName, context, options) {
288
+ if (value == null) {
289
+ if (options?.allowNull)
290
+ return null;
291
+ throw new QueryError(`${context} requires a value for "${attrName}"`);
292
+ }
293
+ switch (attrType) {
294
+ case "date":
295
+ if (!(value instanceof Date)) {
296
+ throw new QueryError(`${context} on date attribute "${attrName}" requires Date values`);
297
+ }
298
+ return value.getTime();
299
+ case "number":
300
+ if (typeof value !== "number") {
301
+ throw new QueryError(`${context} on numeric attribute "${attrName}" requires number values`);
302
+ }
303
+ return value;
304
+ case "bigint":
305
+ if (typeof value === "number")
306
+ return value;
307
+ if (typeof value === "bigint")
308
+ return Number(value);
309
+ throw new QueryError(`${context} on bigint attribute "${attrName}" requires numeric values`);
310
+ default:
311
+ throw new QueryError(`${context} unsupported type "${attrType}" for attribute "${attrName}"`);
312
+ }
313
+ }
200
314
  }
201
315
  //# sourceMappingURL=RamStatement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../../src/ram/RamStatement.ts"],"names":[],"mappings":"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"}
@@ -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();
@@ -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"}
@@ -13,22 +13,6 @@ import { MultiLock } from "@decaf-ts/transactional-decorators";
13
13
  * @category Ram
14
14
  */
15
15
  export type RamStorage = Map<string, Map<string | number, any>>;
16
- /**
17
- * @description Query specification for RAM adapter
18
- * @summary Defines the structure of a query for retrieving data from the in-memory storage.
19
- * It specifies what fields to select, which model to query, filtering conditions,
20
- * sorting criteria, and pagination options.
21
- * @template M - The model type being queried
22
- * @typedef {Object} RawRamQuery
23
- * @property select - Fields to select from the model, or undefined for all fields
24
- * @property {Constructor<M>} from - The model constructor to query
25
- * @property {function(M): boolean} where - Predicate function for filtering entities
26
- * @property {function(M, M): number} [sort] - Optional comparator function for sorting results
27
- * @property {number} [limit] - Optional maximum number of results to return
28
- * @property {number} [skip] - Optional number of results to skip (for pagination)
29
- * @memberOf module:core
30
- * @category Ram
31
- */
32
16
  export type RawRamQuery<M extends Model = any> = {
33
17
  select: undefined | (keyof M)[];
34
18
  from: Constructor<M>;
@@ -37,6 +21,13 @@ export type RawRamQuery<M extends Model = any> = {
37
21
  groupBy?: (keyof M)[];
38
22
  limit?: number;
39
23
  skip?: number;
24
+ count?: keyof M | null;
25
+ countDistinct?: keyof M;
26
+ min?: keyof M;
27
+ max?: keyof M;
28
+ sum?: keyof M;
29
+ avg?: keyof M;
30
+ distinct?: keyof M;
40
31
  };
41
32
  /**
42
33
  * @description Flags for RAM adapter operations
@@ -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";
@@ -299,6 +299,54 @@ export declare class Repository<M extends Model<boolean>, A extends Adapter<any,
299
299
  * @return A query builder for the selected fields.
300
300
  */
301
301
  select<S extends readonly SelectSelector<M>[]>(selector: readonly [...S]): WhereOption<M, Pick<M, S[number]>[]>;
302
+ /**
303
+ * @description Creates a count query
304
+ * @summary Starts building a query that will count records
305
+ * @template S - The select selector type
306
+ * @param {S} [selector] - Optional field to count (counts all if not specified)
307
+ * @return A count query builder with distinct() available
308
+ */
309
+ count<S extends SelectSelector<M>>(selector?: S): CountWhereOption<M>;
310
+ /**
311
+ * @description Creates a min query
312
+ * @summary Starts building a query that will find the minimum value
313
+ * @template S - The select selector type
314
+ * @param {S} selector - Field to find minimum value of
315
+ * @return A min query builder
316
+ */
317
+ min<S extends SelectSelector<M>>(selector: S): WhereOption<M, M[S]>;
318
+ /**
319
+ * @description Creates a max query
320
+ * @summary Starts building a query that will find the maximum value
321
+ * @template S - The select selector type
322
+ * @param {S} selector - Field to find maximum value of
323
+ * @return A max query builder
324
+ */
325
+ max<S extends SelectSelector<M>>(selector: S): WhereOption<M, M[S]>;
326
+ /**
327
+ * @description Creates a sum query
328
+ * @summary Starts building a query that will sum values
329
+ * @template S - The select selector type
330
+ * @param {S} selector - Field to sum
331
+ * @return A sum query builder
332
+ */
333
+ sum<S extends SelectSelector<M>>(selector: S): WhereOption<M, number>;
334
+ /**
335
+ * @description Creates an average query
336
+ * @summary Starts building a query that will compute the average value
337
+ * @template S - The select selector type
338
+ * @param {S} selector - Field to average
339
+ * @return An average query builder
340
+ */
341
+ avg<S extends SelectSelector<M>>(selector: S): WhereOption<M, number>;
342
+ /**
343
+ * @description Creates a distinct query
344
+ * @summary Starts building a query that will find distinct values
345
+ * @template S - The select selector type
346
+ * @param {S} selector - Field to find distinct values of
347
+ * @return A distinct query builder
348
+ */
349
+ distinct<S extends SelectSelector<M>>(selector: S): WhereOption<M, M[S][]>;
302
350
  /**
303
351
  * @description Executes a query with the specified conditions and options.
304
352
  * @summary Provides a simplified way to query the database with common query parameters.
@@ -568,6 +568,84 @@ export class Repository extends Rep {
568
568
  .select(selector)
569
569
  .from(this.class);
570
570
  }
571
+ /**
572
+ * @description Creates a count query
573
+ * @summary Starts building a query that will count records
574
+ * @template S - The select selector type
575
+ * @param {S} [selector] - Optional field to count (counts all if not specified)
576
+ * @return A count query builder with distinct() available
577
+ */
578
+ count(selector) {
579
+ return this.adapter
580
+ .Statement(this._overrides)
581
+ .count(selector)
582
+ .from(this.class);
583
+ }
584
+ /**
585
+ * @description Creates a min query
586
+ * @summary Starts building a query that will find the minimum value
587
+ * @template S - The select selector type
588
+ * @param {S} selector - Field to find minimum value of
589
+ * @return A min query builder
590
+ */
591
+ min(selector) {
592
+ return this.adapter
593
+ .Statement(this._overrides)
594
+ .min(selector)
595
+ .from(this.class);
596
+ }
597
+ /**
598
+ * @description Creates a max query
599
+ * @summary Starts building a query that will find the maximum value
600
+ * @template S - The select selector type
601
+ * @param {S} selector - Field to find maximum value of
602
+ * @return A max query builder
603
+ */
604
+ max(selector) {
605
+ return this.adapter
606
+ .Statement(this._overrides)
607
+ .max(selector)
608
+ .from(this.class);
609
+ }
610
+ /**
611
+ * @description Creates a sum query
612
+ * @summary Starts building a query that will sum values
613
+ * @template S - The select selector type
614
+ * @param {S} selector - Field to sum
615
+ * @return A sum query builder
616
+ */
617
+ sum(selector) {
618
+ return this.adapter
619
+ .Statement(this._overrides)
620
+ .sum(selector)
621
+ .from(this.class);
622
+ }
623
+ /**
624
+ * @description Creates an average query
625
+ * @summary Starts building a query that will compute the average value
626
+ * @template S - The select selector type
627
+ * @param {S} selector - Field to average
628
+ * @return An average query builder
629
+ */
630
+ avg(selector) {
631
+ return this.adapter
632
+ .Statement(this._overrides)
633
+ .avg(selector)
634
+ .from(this.class);
635
+ }
636
+ /**
637
+ * @description Creates a distinct query
638
+ * @summary Starts building a query that will find distinct values
639
+ * @template S - The select selector type
640
+ * @param {S} selector - Field to find distinct values of
641
+ * @return A distinct query builder
642
+ */
643
+ distinct(selector) {
644
+ return this.adapter
645
+ .Statement(this._overrides)
646
+ .distinct(selector)
647
+ .from(this.class);
648
+ }
571
649
  /**
572
650
  * @description Executes a query with the specified conditions and options.
573
651
  * @summary Provides a simplified way to query the database with common query parameters.
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/repository/Repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/repository/Repository.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the repository module.
3
+ * @summary This file exports all the necessary components for the repository functionality, including constants, decorators, and more.
4
+ * @module core/repository
5
+ */
1
6
  export * from "./constants";
2
7
  export * from "./decorators";
3
8
  export * from "./errors";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the repository module.
3
+ * @summary This file exports all the necessary components for the repository functionality, including constants, decorators, and more.
4
+ * @module core/repository
5
+ */
1
6
  export * from "./constants.js";
2
7
  export * from "./decorators.js";
3
8
  export * from "./errors.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,4BAAyB;AACzB,iCAA8B;AAC9B,gCAA6B;AAC7B,2BAAwB;AACxB,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repository/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,+BAA4B;AAC5B,gCAA6B;AAC7B,4BAAyB;AACzB,iCAA8B;AAC9B,gCAA6B;AAC7B,2BAAwB;AACxB,2BAAwB"}
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the services module.
3
+ * @summary This file exports all the necessary components for the services functionality, including ModelService, PersistenceService, and services.
4
+ * @module core/services
5
+ */
1
6
  export * from "./ModelService";
2
7
  export * from "./PersistenceService";
3
8
  export * from "./services";
@@ -1,3 +1,8 @@
1
+ /**
2
+ * @description Exports for the services module.
3
+ * @summary This file exports all the necessary components for the services functionality, including ModelService, PersistenceService, and services.
4
+ * @module core/services
5
+ */
1
6
  export * from "./ModelService.js";
2
7
  export * from "./PersistenceService.js";
3
8
  export * from "./services.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,kCAA+B;AAC/B,wCAAqC;AACrC,8BAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kCAA+B;AAC/B,wCAAqC;AACrC,8BAA2B"}
@@ -1,6 +1,10 @@
1
1
  import { Context } from "../persistence/Context";
2
2
  import { TaskFlags } from "./types";
3
3
  import { TaskLogger } from "./logging";
4
+ import { DateTarget } from "@decaf-ts/decorator-validation";
5
+ import { TaskErrorModel } from "./models/TaskErrorModel";
6
+ import { TaskStatus } from "./constants";
7
+ import { TaskStateChangeRequest } from "./TaskStateChangeError";
4
8
  export declare class TaskContext extends Context<TaskFlags> {
5
9
  get taskId(): string;
6
10
  get logger(): TaskLogger<any>;
@@ -10,6 +14,11 @@ export declare class TaskContext extends Context<TaskFlags> {
10
14
  get progress(): (data: any) => Promise<void>;
11
15
  get heartbeat(): () => Promise<void>;
12
16
  cacheResult(taskId: string, payload: any): void;
17
+ protected changeState(status: TaskStatus, payload?: Partial<TaskStateChangeRequest>): never;
18
+ cancel(reason?: string | Error | TaskErrorModel, details?: any): never;
19
+ retry(reason?: string | Error | TaskErrorModel): never;
20
+ reschedule(when: DateTarget, reason?: string | Error | TaskErrorModel): never;
21
+ private toTaskError;
13
22
  get resultCache(): Record<string, any> | undefined;
14
23
  constructor(ctx?: Context<any>);
15
24
  }