@decaf-ts/core 0.7.2 → 0.7.4

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 (246) hide show
  1. package/README.md +6 -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/decorators.d.ts +3 -4
  7. package/lib/esm/identity/decorators.js +5 -11
  8. package/lib/esm/identity/decorators.js.map +1 -1
  9. package/lib/esm/identity/index.d.ts +0 -1
  10. package/lib/esm/identity/index.js +0 -1
  11. package/lib/esm/identity/index.js.map +1 -1
  12. package/lib/esm/index.d.ts +1 -1
  13. package/lib/esm/index.js +1 -1
  14. package/lib/esm/interfaces/ContextuallyLogged.d.ts +8 -0
  15. package/lib/esm/interfaces/ContextuallyLogged.js +2 -0
  16. package/lib/esm/interfaces/ContextuallyLogged.js.map +1 -0
  17. package/lib/esm/interfaces/ErrorParser.d.ts +2 -2
  18. package/lib/esm/interfaces/Executor.d.ts +1 -1
  19. package/lib/esm/interfaces/Observable.d.ts +8 -8
  20. package/lib/esm/interfaces/Observer.d.ts +2 -2
  21. package/lib/esm/interfaces/RawExecutor.d.ts +1 -1
  22. package/lib/esm/model/BaseModel.d.ts +2 -2
  23. package/lib/esm/model/BaseModel.js +2 -2
  24. package/lib/esm/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
  25. package/lib/esm/{ram/model/RamSequenceModel.js → model/SequenceModel.js} +12 -11
  26. package/lib/esm/model/SequenceModel.js.map +1 -0
  27. package/lib/esm/model/construction.d.ts +9 -8
  28. package/lib/esm/model/construction.js +2 -2
  29. package/lib/esm/model/construction.js.map +1 -1
  30. package/lib/esm/model/decorators.d.ts +5 -4
  31. package/lib/esm/model/decorators.js +3 -3
  32. package/lib/esm/model/decorators.js.map +1 -1
  33. package/lib/esm/model/index.d.ts +1 -0
  34. package/lib/esm/model/index.js +1 -0
  35. package/lib/esm/model/index.js.map +1 -1
  36. package/lib/esm/overrides/Metadata.d.ts +1 -8
  37. package/lib/esm/overrides/Model.d.ts +75 -0
  38. package/lib/esm/overrides/Model.js +2 -0
  39. package/lib/esm/overrides/Model.js.map +1 -0
  40. package/lib/esm/overrides/index.d.ts +2 -0
  41. package/lib/esm/overrides/index.js +2 -0
  42. package/lib/esm/overrides/index.js.map +1 -1
  43. package/lib/esm/overrides/injectables.d.ts +10 -0
  44. package/lib/esm/overrides/injectables.js +2 -0
  45. package/lib/esm/overrides/injectables.js.map +1 -0
  46. package/lib/esm/overrides/overrides.js +45 -3
  47. package/lib/esm/overrides/overrides.js.map +1 -1
  48. package/lib/esm/persistence/Adapter.d.ts +55 -53
  49. package/lib/esm/persistence/Adapter.js +85 -61
  50. package/lib/esm/persistence/Adapter.js.map +1 -1
  51. package/lib/esm/persistence/Dispatch.d.ts +7 -6
  52. package/lib/esm/persistence/Dispatch.js +25 -18
  53. package/lib/esm/persistence/Dispatch.js.map +1 -1
  54. package/lib/esm/persistence/ObserverHandler.d.ts +7 -6
  55. package/lib/esm/persistence/ObserverHandler.js +5 -4
  56. package/lib/esm/persistence/ObserverHandler.js.map +1 -1
  57. package/lib/esm/persistence/Sequence.d.ts +34 -25
  58. package/lib/esm/persistence/Sequence.js +136 -15
  59. package/lib/esm/persistence/Sequence.js.map +1 -1
  60. package/lib/esm/persistence/constants.d.ts +1 -0
  61. package/lib/esm/persistence/constants.js +1 -0
  62. package/lib/esm/persistence/constants.js.map +1 -1
  63. package/lib/esm/persistence/generators.d.ts +14 -0
  64. package/lib/esm/persistence/generators.js +31 -0
  65. package/lib/esm/persistence/generators.js.map +1 -0
  66. package/lib/esm/persistence/index.d.ts +1 -0
  67. package/lib/esm/persistence/index.js +1 -0
  68. package/lib/esm/persistence/index.js.map +1 -1
  69. package/lib/esm/persistence/migrations.d.ts +8 -8
  70. package/lib/esm/persistence/migrations.js +8 -9
  71. package/lib/esm/persistence/migrations.js.map +1 -1
  72. package/lib/esm/persistence/types.d.ts +38 -20
  73. package/lib/esm/query/Paginator.d.ts +6 -5
  74. package/lib/esm/query/Paginator.js +4 -4
  75. package/lib/esm/query/Paginator.js.map +1 -1
  76. package/lib/esm/query/Statement.d.ts +9 -8
  77. package/lib/esm/query/Statement.js +23 -10
  78. package/lib/esm/query/Statement.js.map +1 -1
  79. package/lib/esm/ram/RamAdapter.d.ts +22 -31
  80. package/lib/esm/ram/RamAdapter.js +36 -34
  81. package/lib/esm/ram/RamAdapter.js.map +1 -1
  82. package/lib/esm/ram/RamPaginator.d.ts +2 -1
  83. package/lib/esm/ram/RamPaginator.js +5 -3
  84. package/lib/esm/ram/RamPaginator.js.map +1 -1
  85. package/lib/esm/ram/RamStatement.d.ts +7 -7
  86. package/lib/esm/ram/RamStatement.js.map +1 -1
  87. package/lib/esm/ram/handlers.d.ts +3 -4
  88. package/lib/esm/ram/handlers.js.map +1 -1
  89. package/lib/esm/ram/index.d.ts +0 -3
  90. package/lib/esm/ram/index.js +0 -3
  91. package/lib/esm/ram/index.js.map +1 -1
  92. package/lib/esm/ram/types.d.ts +4 -12
  93. package/lib/esm/repository/Repository.d.ts +31 -95
  94. package/lib/esm/repository/Repository.js +107 -203
  95. package/lib/esm/repository/Repository.js.map +1 -1
  96. package/lib/esm/repository/decorators.js +4 -3
  97. package/lib/esm/repository/decorators.js.map +1 -1
  98. package/lib/esm/repository/utils.d.ts +1 -1
  99. package/lib/esm/repository/utils.js +2 -3
  100. package/lib/esm/repository/utils.js.map +1 -1
  101. package/lib/esm/utils/ContextualLoggedClass.d.ts +16 -0
  102. package/lib/esm/utils/ContextualLoggedClass.js +29 -0
  103. package/lib/esm/utils/ContextualLoggedClass.js.map +1 -0
  104. package/lib/esm/utils/Services.d.ts +50 -0
  105. package/lib/esm/utils/Services.js +154 -0
  106. package/lib/esm/utils/Services.js.map +1 -0
  107. package/lib/esm/utils/decorators.d.ts +1 -9
  108. package/lib/esm/utils/decorators.js +26 -15
  109. package/lib/esm/utils/decorators.js.map +1 -1
  110. package/lib/esm/utils/index.d.ts +2 -1
  111. package/lib/esm/utils/index.js +2 -1
  112. package/lib/esm/utils/index.js.map +1 -1
  113. package/lib/identity/decorators.cjs +5 -11
  114. package/lib/identity/decorators.d.ts +3 -4
  115. package/lib/identity/decorators.js.map +1 -1
  116. package/lib/identity/index.cjs +0 -1
  117. package/lib/identity/index.d.ts +0 -1
  118. package/lib/identity/index.js.map +1 -1
  119. package/lib/index.cjs +1 -1
  120. package/lib/index.d.ts +1 -1
  121. package/lib/interfaces/ContextuallyLogged.cjs +3 -0
  122. package/lib/interfaces/ContextuallyLogged.d.ts +8 -0
  123. package/lib/interfaces/ContextuallyLogged.js.map +1 -0
  124. package/lib/interfaces/ErrorParser.d.ts +2 -2
  125. package/lib/interfaces/Executor.d.ts +1 -1
  126. package/lib/interfaces/Observable.d.ts +8 -8
  127. package/lib/interfaces/Observer.d.ts +2 -2
  128. package/lib/interfaces/RawExecutor.d.ts +1 -1
  129. package/lib/model/BaseModel.cjs +2 -2
  130. package/lib/model/BaseModel.d.ts +2 -2
  131. package/lib/{ram/model/RamSequenceModel.cjs → model/SequenceModel.cjs} +14 -13
  132. package/lib/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
  133. package/lib/model/SequenceModel.js.map +1 -0
  134. package/lib/model/construction.cjs +2 -2
  135. package/lib/model/construction.d.ts +9 -8
  136. package/lib/model/construction.js.map +1 -1
  137. package/lib/model/decorators.cjs +3 -3
  138. package/lib/model/decorators.d.ts +5 -4
  139. package/lib/model/decorators.js.map +1 -1
  140. package/lib/model/index.cjs +1 -0
  141. package/lib/model/index.d.ts +1 -0
  142. package/lib/model/index.js.map +1 -1
  143. package/lib/overrides/Metadata.d.ts +1 -8
  144. package/lib/overrides/Model.cjs +4 -0
  145. package/lib/overrides/Model.d.ts +75 -0
  146. package/lib/overrides/Model.js.map +1 -0
  147. package/lib/overrides/index.cjs +2 -0
  148. package/lib/overrides/index.d.ts +2 -0
  149. package/lib/overrides/index.js.map +1 -1
  150. package/lib/overrides/injectables.cjs +4 -0
  151. package/lib/overrides/injectables.d.ts +10 -0
  152. package/lib/overrides/injectables.js.map +1 -0
  153. package/lib/overrides/overrides.cjs +43 -1
  154. package/lib/overrides/overrides.js.map +1 -1
  155. package/lib/persistence/Adapter.cjs +90 -66
  156. package/lib/persistence/Adapter.d.ts +55 -53
  157. package/lib/persistence/Adapter.js.map +1 -1
  158. package/lib/persistence/Dispatch.cjs +25 -18
  159. package/lib/persistence/Dispatch.d.ts +7 -6
  160. package/lib/persistence/Dispatch.js.map +1 -1
  161. package/lib/persistence/ObserverHandler.cjs +5 -4
  162. package/lib/persistence/ObserverHandler.d.ts +7 -6
  163. package/lib/persistence/ObserverHandler.js.map +1 -1
  164. package/lib/persistence/Sequence.cjs +136 -15
  165. package/lib/persistence/Sequence.d.ts +34 -25
  166. package/lib/persistence/Sequence.js.map +1 -1
  167. package/lib/persistence/constants.cjs +1 -0
  168. package/lib/persistence/constants.d.ts +1 -0
  169. package/lib/persistence/constants.js.map +1 -1
  170. package/lib/persistence/generators.cjs +36 -0
  171. package/lib/persistence/generators.d.ts +14 -0
  172. package/lib/persistence/generators.js.map +1 -0
  173. package/lib/persistence/index.cjs +1 -0
  174. package/lib/persistence/index.d.ts +1 -0
  175. package/lib/persistence/index.js.map +1 -1
  176. package/lib/persistence/migrations.cjs +7 -8
  177. package/lib/persistence/migrations.d.ts +8 -8
  178. package/lib/persistence/migrations.js.map +1 -1
  179. package/lib/persistence/types.d.ts +38 -20
  180. package/lib/query/Paginator.cjs +4 -4
  181. package/lib/query/Paginator.d.ts +6 -5
  182. package/lib/query/Paginator.js.map +1 -1
  183. package/lib/query/Statement.cjs +34 -21
  184. package/lib/query/Statement.d.ts +9 -8
  185. package/lib/query/Statement.js.map +1 -1
  186. package/lib/ram/RamAdapter.cjs +35 -33
  187. package/lib/ram/RamAdapter.d.ts +22 -31
  188. package/lib/ram/RamAdapter.js.map +1 -1
  189. package/lib/ram/RamPaginator.cjs +5 -3
  190. package/lib/ram/RamPaginator.d.ts +2 -1
  191. package/lib/ram/RamPaginator.js.map +1 -1
  192. package/lib/ram/RamStatement.d.ts +7 -7
  193. package/lib/ram/RamStatement.js.map +1 -1
  194. package/lib/ram/handlers.d.ts +3 -4
  195. package/lib/ram/handlers.js.map +1 -1
  196. package/lib/ram/index.cjs +0 -3
  197. package/lib/ram/index.d.ts +0 -3
  198. package/lib/ram/index.js.map +1 -1
  199. package/lib/ram/types.d.ts +4 -12
  200. package/lib/repository/Repository.cjs +108 -204
  201. package/lib/repository/Repository.d.ts +31 -95
  202. package/lib/repository/Repository.js.map +1 -1
  203. package/lib/repository/decorators.cjs +2 -1
  204. package/lib/repository/decorators.js.map +1 -1
  205. package/lib/repository/utils.cjs +2 -3
  206. package/lib/repository/utils.d.ts +1 -1
  207. package/lib/repository/utils.js.map +1 -1
  208. package/lib/utils/ContextualLoggedClass.cjs +33 -0
  209. package/lib/utils/ContextualLoggedClass.d.ts +16 -0
  210. package/lib/utils/ContextualLoggedClass.js.map +1 -0
  211. package/lib/utils/Services.cjs +159 -0
  212. package/lib/utils/Services.d.ts +50 -0
  213. package/lib/utils/Services.js.map +1 -0
  214. package/lib/utils/decorators.cjs +27 -16
  215. package/lib/utils/decorators.d.ts +1 -9
  216. package/lib/utils/decorators.js.map +1 -1
  217. package/lib/utils/index.cjs +2 -1
  218. package/lib/utils/index.d.ts +2 -1
  219. package/lib/utils/index.js.map +1 -1
  220. package/package.json +1 -1
  221. package/lib/esm/identity/utils.d.ts +0 -24
  222. package/lib/esm/identity/utils.js +0 -44
  223. package/lib/esm/identity/utils.js.map +0 -1
  224. package/lib/esm/ram/RamContext.d.ts +0 -28
  225. package/lib/esm/ram/RamContext.js +0 -30
  226. package/lib/esm/ram/RamContext.js.map +0 -1
  227. package/lib/esm/ram/RamSequence.d.ts +0 -75
  228. package/lib/esm/ram/RamSequence.js +0 -145
  229. package/lib/esm/ram/RamSequence.js.map +0 -1
  230. package/lib/esm/ram/model/RamSequenceModel.js.map +0 -1
  231. package/lib/esm/ram/model/index.d.ts +0 -1
  232. package/lib/esm/ram/model/index.js +0 -2
  233. package/lib/esm/ram/model/index.js.map +0 -1
  234. package/lib/identity/utils.cjs +0 -49
  235. package/lib/identity/utils.d.ts +0 -24
  236. package/lib/identity/utils.js.map +0 -1
  237. package/lib/ram/RamContext.cjs +0 -34
  238. package/lib/ram/RamContext.d.ts +0 -28
  239. package/lib/ram/RamContext.js.map +0 -1
  240. package/lib/ram/RamSequence.cjs +0 -149
  241. package/lib/ram/RamSequence.d.ts +0 -75
  242. package/lib/ram/RamSequence.js.map +0 -1
  243. package/lib/ram/model/RamSequenceModel.js.map +0 -1
  244. package/lib/ram/model/index.cjs +0 -18
  245. package/lib/ram/model/index.d.ts +0 -1
  246. package/lib/ram/model/index.js.map +0 -1
@@ -44,9 +44,9 @@ exports.BaseModel = BaseModel;
44
44
  __decorate([
45
45
  (0, decorators_1.createdAt)(),
46
46
  __metadata("design:type", Date)
47
- ], BaseModel.prototype, "createdOn", void 0);
47
+ ], BaseModel.prototype, "createdAt", void 0);
48
48
  __decorate([
49
49
  (0, decorators_1.updatedAt)(),
50
50
  __metadata("design:type", Date)
51
- ], BaseModel.prototype, "updatedOn", void 0);
51
+ ], BaseModel.prototype, "updatedAt", void 0);
52
52
  //# sourceMappingURL=BaseModel.js.map
@@ -27,11 +27,11 @@ export declare abstract class BaseModel extends Model {
27
27
  * @description Creation timestamp for the model
28
28
  * @summary Automatically set to the current date and time when the model is created
29
29
  */
30
- createdOn: Date;
30
+ createdAt: Date;
31
31
  /**
32
32
  * @description Last update timestamp for the model
33
33
  * @summary Automatically updated to the current date and time whenever the model is modified
34
34
  */
35
- updatedOn: Date;
35
+ updatedAt: Date;
36
36
  protected constructor(arg?: ModelArg<BaseModel>);
37
37
  }
@@ -9,10 +9,11 @@ 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
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RamSequenceModel = void 0;
12
+ exports.SequenceModel = void 0;
13
13
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
- const model_1 = require("./../../model/index.cjs");
15
- const identity_1 = require("./../../identity/index.cjs");
14
+ const BaseModel_1 = require("./BaseModel.cjs");
15
+ const decorators_1 = require("./decorators.cjs");
16
+ const decorators_2 = require("./../identity/decorators.cjs");
16
17
  /**
17
18
  * @description RAM sequence model for auto-incrementing values
18
19
  * @summary A model class that represents a sequence in the RAM adapter. It stores the current value
@@ -31,24 +32,24 @@ const identity_1 = require("./../../identity/index.cjs");
31
32
  * orderSequence.current = nextOrderId;
32
33
  * ```
33
34
  */
34
- let RamSequenceModel = class RamSequenceModel extends model_1.BaseModel {
35
+ let SequenceModel = class SequenceModel extends BaseModel_1.BaseModel {
35
36
  constructor(seq) {
36
37
  super(seq);
37
38
  }
38
39
  };
39
- exports.RamSequenceModel = RamSequenceModel;
40
+ exports.SequenceModel = SequenceModel;
40
41
  __decorate([
41
- (0, identity_1.pk)(),
42
+ (0, decorators_2.pk)({ type: "String", generated: false }),
42
43
  __metadata("design:type", String)
43
- ], RamSequenceModel.prototype, "id", void 0);
44
+ ], SequenceModel.prototype, "id", void 0);
44
45
  __decorate([
45
46
  (0, decorator_validation_1.required)(),
46
- (0, model_1.index)(),
47
+ (0, decorators_1.index)(),
47
48
  __metadata("design:type", Object)
48
- ], RamSequenceModel.prototype, "current", void 0);
49
- exports.RamSequenceModel = RamSequenceModel = __decorate([
50
- (0, model_1.table)("__RamSequence"),
49
+ ], SequenceModel.prototype, "current", void 0);
50
+ exports.SequenceModel = SequenceModel = __decorate([
51
+ (0, decorators_1.table)("??sequence"),
51
52
  (0, decorator_validation_1.model)(),
52
53
  __metadata("design:paramtypes", [Object])
53
- ], RamSequenceModel);
54
- //# sourceMappingURL=RamSequenceModel.js.map
54
+ ], SequenceModel);
55
+ //# sourceMappingURL=SequenceModel.js.map
@@ -1,5 +1,5 @@
1
1
  import type { ModelArg } from "@decaf-ts/decorator-validation";
2
- import { BaseModel } from "../../model";
2
+ import { BaseModel } from "./BaseModel";
3
3
  /**
4
4
  * @description RAM sequence model for auto-incrementing values
5
5
  * @summary A model class that represents a sequence in the RAM adapter. It stores the current value
@@ -18,7 +18,7 @@ import { BaseModel } from "../../model";
18
18
  * orderSequence.current = nextOrderId;
19
19
  * ```
20
20
  */
21
- export declare class RamSequenceModel extends BaseModel {
21
+ export declare class SequenceModel extends BaseModel {
22
22
  /**
23
23
  * @description Primary key identifier for the sequence
24
24
  */
@@ -28,5 +28,5 @@ export declare class RamSequenceModel extends BaseModel {
28
28
  * Used to generate the next sequential value
29
29
  */
30
30
  current: string | number;
31
- constructor(seq?: ModelArg<RamSequenceModel>);
31
+ constructor(seq?: ModelArg<SequenceModel>);
32
32
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SequenceModel.js","sourceRoot":"","sources":["../../src/model/SequenceModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAiE;AAEjE,+CAAwC;AACxC,iDAA4C;AAC5C,6DAA4C;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,qBAAS;IAe1C,YAAY,GAA6B;QACvC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAlBY,sCAAa;AAKxB;IADC,IAAA,eAAE,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;yCAC7B;AAQZ;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,kBAAK,GAAE;;8CACkB;wBAbf,aAAa;IAFzB,IAAA,kBAAK,EAAC,YAAY,CAAC;IACnB,IAAA,4BAAK,GAAE;;GACK,aAAa,CAkBzB"}
@@ -66,7 +66,7 @@ async function createOrUpdate(model, context, alias, repository) {
66
66
  throw new db_decorators_1.InternalError(`Could not find model ${model.constructor.name}`);
67
67
  repository = Repository_1.Repository.forModel(constructor, alias);
68
68
  }
69
- if (typeof model[repository.pk] === "undefined")
69
+ if (typeof model[decorator_validation_1.Model.pk(repository.class)] === "undefined")
70
70
  return repository.create(model, context);
71
71
  else {
72
72
  try {
@@ -456,7 +456,7 @@ async function oneToManyOnDelete(context, data, key, model) {
456
456
  : repositoryFromTypeMetadata(model, key, this.adapter.alias);
457
457
  const uniqueValues = new Set([
458
458
  ...(isInstantiated
459
- ? values.map((v) => v[repo.pk])
459
+ ? values.map((v) => v[repo["pk"]])
460
460
  : values),
461
461
  ]);
462
462
  for (const id of uniqueValues.values()) {
@@ -3,6 +3,7 @@ import { Repo } from "../repository/Repository";
3
3
  import { RelationsMetadata } from "./types";
4
4
  import { RepositoryFlags } from "@decaf-ts/db-decorators";
5
5
  import { Context } from "@decaf-ts/db-decorators";
6
+ import { ContextOf } from "../persistence/types";
6
7
  /**
7
8
  * @description Creates or updates a model instance
8
9
  * @summary Determines whether to create a new model or update an existing one based on the presence of a primary key
@@ -44,7 +45,7 @@ import { Context } from "@decaf-ts/db-decorators";
44
45
  *
45
46
  * createOrUpdate-->>Caller: model
46
47
  */
47
- export declare function createOrUpdate<M extends Model, F extends RepositoryFlags>(model: M, context: Context<F>, alias?: string, repository?: Repo<M, F, Context<F>>): Promise<M>;
48
+ export declare function createOrUpdate<M extends Model, F extends RepositoryFlags>(model: M, context: Context<F>, alias?: string, repository?: Repo<M>): Promise<M>;
48
49
  /**
49
50
  * @description Handles one-to-one relationship creation
50
51
  * @summary Processes a one-to-one relationship when creating a model, either by referencing an existing model or creating a new one
@@ -95,7 +96,7 @@ export declare function createOrUpdate<M extends Model, F extends RepositoryFlag
95
96
  *
96
97
  * oneToOneOnCreate-->>Caller: void
97
98
  */
98
- export declare function oneToOneOnCreate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
99
+ export declare function oneToOneOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
99
100
  /**
100
101
  * @description Handles one-to-one relationship updates
101
102
  * @summary Processes a one-to-one relationship when updating a model, either by referencing an existing model or updating the related model
@@ -143,7 +144,7 @@ export declare function oneToOneOnCreate<M extends Model, R extends Repo<M, F, C
143
144
  *
144
145
  * oneToOneOnUpdate-->>Caller: void
145
146
  */
146
- export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
147
+ export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
147
148
  /**
148
149
  * @description Handles one-to-one relationship deletion
149
150
  * @summary Processes a one-to-one relationship when deleting a model, deleting the related model if cascade is enabled
@@ -185,7 +186,7 @@ export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M, F, C
185
186
  * oneToOneOnDelete->>cacheModelForPopulate: context, model, key, deleted[innerRepo.pk], deleted
186
187
  * oneToOneOnDelete-->>Caller: void
187
188
  */
188
- export declare function oneToOneOnDelete<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
189
+ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
189
190
  /**
190
191
  * @description Handles one-to-many relationship creation
191
192
  * @summary Processes a one-to-many relationship when creating a model, either by referencing existing models or creating new ones
@@ -240,7 +241,7 @@ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M, F, C
240
241
  *
241
242
  * oneToManyOnCreate-->>Caller: void
242
243
  */
243
- export declare function oneToManyOnCreate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
244
+ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
244
245
  /**
245
246
  * @description Handles one-to-many relationship updates
246
247
  * @summary Processes a one-to-many relationship when updating a model, delegating to oneToManyOnCreate if cascade update is enabled
@@ -273,7 +274,7 @@ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M, F,
273
274
  *
274
275
  * oneToManyOnUpdate-->>Caller: void
275
276
  */
276
- export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
277
+ export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
277
278
  /**
278
279
  * @description Handles one-to-many relationship deletion
279
280
  * @summary Processes a one-to-many relationship when deleting a model, deleting all related models if cascade delete is enabled
@@ -322,7 +323,7 @@ export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M, F,
322
323
  * oneToManyOnDelete->>oneToManyOnDelete: set model[key] = [...uniqueValues]
323
324
  * oneToManyOnDelete-->>Caller: void
324
325
  */
325
- export declare function oneToManyOnDelete<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
326
+ export declare function oneToManyOnDelete<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
326
327
  /**
327
328
  * @description Generates a key for caching populated model relationships
328
329
  * @summary Creates a unique key for storing and retrieving populated model relationships in the cache
@@ -405,7 +406,7 @@ export declare function cacheModelForPopulate<M extends Model, F extends Reposit
405
406
  * populate->>populate: set model[key] = isArr ? res : res[0]
406
407
  * populate-->>Caller: void
407
408
  */
408
- export declare function populate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
409
+ export declare function populate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
409
410
  /**
410
411
  * @description Retrieves a repository for a model property based on its type metadata
411
412
  * @summary Examines a model property's type metadata to determine the appropriate repository for related models
@@ -1 +1 @@
1
- {"version":3,"file":"construction.js","sourceRoot":"","sources":["../../src/model/construction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"construction.js","sourceRoot":"","sources":["../../src/model/construction.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ const constants_2 = require("./../repository/constants.cjs");
26
26
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
27
27
  const Condition_1 = require("./../query/Condition.cjs");
28
28
  const construction_1 = require("./construction.cjs");
29
- const utils_1 = require("./../utils/index.cjs");
29
+ const errors_1 = require("./../utils/errors.cjs");
30
30
  /**
31
31
  * @description Specifies the database table name for a model
32
32
  * @summary Decorator that sets the table name for a model class in the database
@@ -143,7 +143,7 @@ async function uniqueOnCreateUpdate(context, data, key, model) {
143
143
  function unique() {
144
144
  const key = constants_1.PersistenceKeys.UNIQUE;
145
145
  return decoration_1.Decoration.for(key)
146
- .define((0, db_decorators_1.onCreateUpdate)(uniqueOnCreateUpdate), (0, decoration_1.propMetadata)(key, {}))
146
+ .define((0, decorator_validation_1.async)(), (0, db_decorators_1.onCreateUpdate)(uniqueOnCreateUpdate), (0, decoration_1.propMetadata)(key, {}))
147
147
  .apply();
148
148
  }
149
149
  /**
@@ -172,7 +172,7 @@ data,
172
172
  key,
173
173
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
174
174
  model) {
175
- throw new utils_1.AuthorizationError("This adapter does not support user identification");
175
+ throw new errors_1.AuthorizationError("This adapter does not support user identification");
176
176
  }
177
177
  /**
178
178
  * @description Tracks the creator of a model instance
@@ -1,10 +1,11 @@
1
- import { Context, OperationKeys, RepositoryFlags } from "@decaf-ts/db-decorators";
1
+ import { OperationKeys } from "@decaf-ts/db-decorators";
2
2
  import { propMetadata, Constructor } from "@decaf-ts/decoration";
3
3
  import { CascadeMetadata } from "../repository/types";
4
4
  import { OrderDirection } from "../repository/constants";
5
5
  import { Model } from "@decaf-ts/decorator-validation";
6
- import { Repo } from "../repository/Repository";
6
+ import type { Repo } from "../repository/Repository";
7
7
  import { JoinColumnOptions, JoinTableMultipleColumnsOptions, JoinTableOptions, RelationsMetadata } from "./types";
8
+ import { ContextOf } from "../persistence/types";
8
9
  /**
9
10
  * @description Specifies the database table name for a model
10
11
  * @summary Decorator that sets the table name for a model class in the database
@@ -55,7 +56,7 @@ export declare function index(compositions: string[], name: string): ReturnType<
55
56
  * @function uniqueOnCreateUpdate
56
57
  * @memberOf module:core
57
58
  */
58
- export declare function uniqueOnCreateUpdate<M extends Model, R extends Repo<M, F, C>, V extends object, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
59
+ export declare function uniqueOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: object, key: keyof M, model: M): Promise<void>;
59
60
  /**
60
61
  * @description Tags a property as unique
61
62
  * @summary Decorator that ensures a property value is unique across all instances of a model in the database
@@ -89,7 +90,7 @@ export declare function unique(): (target: any, propertyKey?: any, descriptor?:
89
90
  * @function createdByOnCreateUpdate
90
91
  * @memberOf module:core
91
92
  */
92
- export declare function createdByOnCreateUpdate<M extends Model, R extends Repo<M, F, C>, V extends RelationsMetadata, F extends RepositoryFlags, C extends Context<F>>(this: R, context: Context<F>, data: V, key: keyof M, model: M): Promise<void>;
93
+ export declare function createdByOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
93
94
  /**
94
95
  * @description Tracks the creator of a model instance
95
96
  * @summary Decorator that marks a property to store the identifier of the user who created the model instance
@@ -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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"}
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BaseModel.cjs"), exports);
18
18
  __exportStar(require("./construction.cjs"), exports);
19
19
  __exportStar(require("./decorators.cjs"), exports);
20
+ __exportStar(require("./SequenceModel.cjs"), exports);
20
21
  __exportStar(require("./types.cjs"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
1
  export * from "./BaseModel";
2
2
  export * from "./construction";
3
3
  export * from "./decorators";
4
+ export * from "./SequenceModel";
4
5
  export * from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,sDAAgC;AAChC,8CAAwB"}
@@ -7,16 +7,9 @@ import type { ExtendedRelationsMetadata } from "../model";
7
7
  declare module "@decaf-ts/decoration" {
8
8
  namespace Metadata {
9
9
  function validationExceptions<M extends Model>(model: Constructor<M>, op: OperationKeys): string[];
10
- function migrationsFor<A extends Adapter<CONF, CONN, QUERY, FLAGS, CONTEXT>, CONF, CONN, QUERY, FLAGS extends RepositoryFlags = RepositoryFlags, CONTEXT extends Context<FLAGS> = Context<FLAGS>>(adapter?: A): Constructor<Migration<any, A, CONF, CONN, QUERY, FLAGS, CONTEXT>>[];
10
+ function migrationsFor<A extends Adapter<CONF, CONN, QUERY, CONTEXT>, CONF, CONN, QUERY, FLAGS extends RepositoryFlags = RepositoryFlags, CONTEXT extends Context<FLAGS> = Context<FLAGS>>(adapter?: A): Constructor<Migration<any, A>>[];
11
11
  function relations<M extends Model>(m: Constructor<M>): string[] | undefined;
12
12
  function relations<M extends Model>(m: Constructor<M>, prop: keyof M): ExtendedRelationsMetadata;
13
13
  function relations<M extends Model>(m: Constructor<M>, prop?: keyof M): string[] | ExtendedRelationsMetadata | undefined;
14
14
  }
15
15
  }
16
- declare module "@decaf-ts/decorator-validation" {
17
- namespace Model {
18
- function relations<M extends Model>(m: Constructor<M>): string[];
19
- function relations<M extends Model>(m: Constructor<M>, prop: keyof M): ExtendedRelationsMetadata;
20
- function relations<M extends Model>(m: Constructor<M>, prop?: keyof M): string[] | ExtendedRelationsMetadata;
21
- }
22
- }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@decaf-ts/decorator-validation");
4
+ //# sourceMappingURL=Model.js.map
@@ -0,0 +1,75 @@
1
+ import { Constructor } from "@decaf-ts/decoration";
2
+ import { OperationKeys } from "@decaf-ts/db-decorators";
3
+ import "@decaf-ts/decorator-validation";
4
+ import { ModelErrorDefinition } from "@decaf-ts/decorator-validation";
5
+ import { SequenceOptions } from "../interfaces/SequenceOptions";
6
+ import type { ExtendedRelationsMetadata } from "../model/types";
7
+ import { IndexMetadata } from "../repository/types";
8
+ declare module "@decaf-ts/decorator-validation" {
9
+ namespace Model {
10
+ /**
11
+ * @description Gets all relation properties defined on a model.
12
+ * @summary Retrieves the names of all properties marked as relations in the model hierarchy.
13
+ * @template M - The model type that extends Model.
14
+ * @param {M | Constructor<M>} model - The model instance or constructor.
15
+ * @return {string[]} An array of property names that are relations.
16
+ */
17
+ function relations<M extends Model>(m: Constructor<M> | M): string[];
18
+ /**
19
+ * @description Gets all relation properties defined on a model.
20
+ * @summary Retrieves the names of all properties marked as relations in the model hierarchy.
21
+ * @template M - The model type that extends Model.
22
+ * @param {M | Constructor<M>} model - The model instance or constructor.
23
+ * @return {string[]} An array of property names that are relations.
24
+ */
25
+ function relations<M extends Model>(m: Constructor<M> | M, prop: keyof M): ExtendedRelationsMetadata;
26
+ /**
27
+ * @description Gets all relation properties defined on a model.
28
+ * @summary Retrieves the names of all properties marked as relations in the model hierarchy.
29
+ * @template M - The model type that extends Model.
30
+ * @param {M | Constructor<M>} model - The model instance or constructor.
31
+ * @return {string[]} An array of property names that are relations.
32
+ */
33
+ function relations<M extends Model>(m: Constructor<M> | M, prop?: keyof M): string[] | ExtendedRelationsMetadata;
34
+ /**
35
+ * @description Gets all indexes defined on a model.
36
+ * @summary Retrieves all index metadata from a model's property decorators.
37
+ * @template M - The model type that extends Model.
38
+ * @param {M | Constructor<M>} model - The model instance or constructor.
39
+ * @return {Record<string, Record<string, IndexMetadata>>} A nested record of property names to index metadata.
40
+ */
41
+ function indexes<M extends Model>(model: M | Constructor<M>): Record<string, Record<string, IndexMetadata>>;
42
+ /**
43
+ * @description Gets sequence options for a model's primary key.
44
+ * @summary Retrieves the sequence configuration for a model's primary key from metadata.
45
+ * @template M - The model type that extends Model.
46
+ * @param {M} model - The model instance.
47
+ * @return {SequenceOptions} The sequence options for the model's primary key.
48
+ * @throws {InternalError} If no sequence options are defined for the model.
49
+ */
50
+ function sequenceFor<M extends Model<boolean>>(model: Constructor<M> | M, property?: keyof M): SequenceOptions;
51
+ /**
52
+ * @description Generates a sequence name for a model
53
+ * @summary Creates a standardized sequence name by combining the table name with additional arguments
54
+ * @template M - Type that extends Model
55
+ * @param {M | Constructor<M>} model - The model instance or constructor to generate the sequence name for
56
+ * @param {...string} args - Additional string arguments to append to the sequence name
57
+ * @return {string} The generated sequence name
58
+ */
59
+ function sequenceName<M extends Model>(model: M | Constructor<M>, ...args: string[]): string;
60
+ /**
61
+ * @description Gets the table name for a model
62
+ * @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
63
+ * @template M - Type that extends Model
64
+ * @param {M | Constructor<M>} model - The model instance or constructor to get the table name for
65
+ * @return {string} The table name for the model
66
+ */
67
+ function tableName<M extends Model<boolean>>(model: Constructor<M> | M): string;
68
+ function columnName<M extends Model<boolean>>(model: Constructor<M> | M, prop: keyof M): string;
69
+ function nonValidatableFor<M extends Model<boolean>>(m: Constructor<M> | M, op: OperationKeys.CREATE | OperationKeys.UPDATE | string): string[];
70
+ function validateOn<M extends Model<boolean>>(m: Constructor<M> | M, op: OperationKeys.CREATE | OperationKeys): M extends Model<true> ? Promise<ModelErrorDefinition | undefined> : ModelErrorDefinition | undefined;
71
+ }
72
+ interface Model {
73
+ hasErrorsOn<M extends Model<boolean>>(op: OperationKeys.CREATE | OperationKeys.UPDATE | string): M extends Model<true> ? Promise<ModelErrorDefinition | undefined> : ModelErrorDefinition | undefined;
74
+ }
75
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Model.js","sourceRoot":"","sources":["../../src/overrides/Model.ts"],"names":[],"mappings":";;AAEA,0CAAwC"}
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Metadata.cjs"), exports);
18
+ __exportStar(require("./injectables.cjs"), exports);
19
+ __exportStar(require("./Model.cjs"), exports);
18
20
  __exportStar(require("./overrides.cjs"), exports);
19
21
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,4 @@
1
1
  export * from "./Metadata";
2
+ export * from "./injectables";
3
+ export * from "./Model";
2
4
  export * from "./overrides";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overrides/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA2B;AAC3B,kDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overrides/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA2B;AAC3B,oDAA8B;AAC9B,8CAAwB;AACxB,kDAA4B"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ require("@decaf-ts/injectable-decorators");
4
+ //# sourceMappingURL=injectables.js.map
@@ -0,0 +1,10 @@
1
+ import "@decaf-ts/injectable-decorators";
2
+ import { Repository } from "../repository/Repository";
3
+ import { Service } from "../utils/Services";
4
+ import { Constructor } from "@decaf-ts/decoration";
5
+ declare module "@decaf-ts/injectable-decorators" {
6
+ namespace Injectables {
7
+ function repositories<R extends Repository<any, any>>(flavour: string): Record<string, Record<string, Constructor<R>>>;
8
+ function services<S extends Service>(): Record<string, Constructor<S>>;
9
+ }
10
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/overrides/injectables.ts"],"names":[],"mappings":";;AAAA,2CAAyC"}
@@ -4,6 +4,7 @@ const decoration_1 = require("@decaf-ts/decoration");
4
4
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
6
  const index_1 = require("./../persistence/index.cjs");
7
+ const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
7
8
  decoration_1.Metadata.validationExceptions = function (model, op) {
8
9
  const noValidation = decoration_1.Metadata.get(model, index_1.PersistenceKeys.NO_VALIDATE);
9
10
  if (!noValidation)
@@ -47,6 +48,47 @@ decoration_1.Metadata.relations = function (m, prop) {
47
48
  return meta[prop];
48
49
  }.bind(decoration_1.Metadata);
49
50
  decorator_validation_1.Model.relations = function (m, prop) {
50
- return decoration_1.Metadata.relations(m, prop) || [];
51
+ return (decoration_1.Metadata.relations(m instanceof decorator_validation_1.Model ? m.constructor : m, prop) || []);
52
+ };
53
+ decorator_validation_1.Model.tableName = function (model) {
54
+ const obj = model instanceof decorator_validation_1.Model ? decorator_validation_1.Model.get(model.constructor.name) : model;
55
+ if (!obj)
56
+ throw new db_decorators_1.InternalError(`Unable to find model ${model}`);
57
+ const meta = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, index_1.PersistenceKeys.TABLE);
58
+ if (meta) {
59
+ return meta;
60
+ }
61
+ if (model instanceof decorator_validation_1.Model) {
62
+ return model.constructor.name;
63
+ }
64
+ return model.name;
65
+ };
66
+ decorator_validation_1.Model.columnName = function (model, attribute) {
67
+ const metadata = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(index_1.PersistenceKeys.COLUMN, attribute));
68
+ return metadata ? metadata : attribute;
69
+ };
70
+ decorator_validation_1.Model.sequenceName = function (model, ...args) {
71
+ return [decorator_validation_1.Model.tableName(model), ...args].join("_");
72
+ };
73
+ decorator_validation_1.Model.sequenceFor = function sequenceFor(model, property) {
74
+ if (property)
75
+ throw new index_1.UnsupportedError("not currently supported");
76
+ const metadata = decorator_validation_1.Model.pkProps(model instanceof decorator_validation_1.Model ? model.constructor : model);
77
+ if (!metadata)
78
+ throw new db_decorators_1.InternalError("No sequence options defined for model. did you use the @pk decorator?");
79
+ return metadata;
80
+ };
81
+ decorator_validation_1.Model.indexes = function indexes(model) {
82
+ const indexDecorators = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, index_1.PersistenceKeys.INDEX);
83
+ return Object.keys(indexDecorators || {}).reduce((acum, t) => {
84
+ acum[t] = { [index_1.PersistenceKeys.INDEX]: indexDecorators[t] };
85
+ return acum;
86
+ }, {});
87
+ };
88
+ injectable_decorators_1.Injectables.services = function () {
89
+ return decoration_1.Metadata["innerGet"](Symbol.for(index_1.PersistenceKeys.SERVICE));
90
+ };
91
+ injectable_decorators_1.Injectables.repositories = function () {
92
+ return decoration_1.Metadata["innerGet"](Symbol.for(db_decorators_1.DBKeys.REPOSITORY));
51
93
  };
52
94
  //# sourceMappingURL=overrides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}