@decaf-ts/core 0.5.47 → 0.7.0

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 (142) 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/decorators.js +6 -5
  7. package/lib/esm/identity/decorators.js.map +1 -1
  8. package/lib/esm/identity/utils.d.ts +3 -2
  9. package/lib/esm/identity/utils.js +7 -7
  10. package/lib/esm/identity/utils.js.map +1 -1
  11. package/lib/esm/index.d.ts +2 -1
  12. package/lib/esm/index.js +2 -1
  13. package/lib/esm/index.js.map +1 -1
  14. package/lib/esm/model/construction.d.ts +2 -11
  15. package/lib/esm/model/construction.js +21 -33
  16. package/lib/esm/model/construction.js.map +1 -1
  17. package/lib/esm/model/decorators.d.ts +11 -2
  18. package/lib/esm/model/decorators.js +91 -69
  19. package/lib/esm/model/decorators.js.map +1 -1
  20. package/lib/esm/model/types.d.ts +6 -2
  21. package/lib/esm/overrides/Metadata.d.ts +16 -2
  22. package/lib/esm/overrides/overrides.js +40 -1
  23. package/lib/esm/overrides/overrides.js.map +1 -1
  24. package/lib/esm/persistence/Adapter.d.ts +6 -10
  25. package/lib/esm/persistence/Adapter.js +43 -46
  26. package/lib/esm/persistence/Adapter.js.map +1 -1
  27. package/lib/esm/persistence/Sequence.d.ts +2 -1
  28. package/lib/esm/persistence/Sequence.js.map +1 -1
  29. package/lib/esm/persistence/constants.d.ts +3 -1
  30. package/lib/esm/persistence/constants.js +2 -0
  31. package/lib/esm/persistence/constants.js.map +1 -1
  32. package/lib/esm/persistence/errors.d.ts +6 -0
  33. package/lib/esm/persistence/errors.js +10 -0
  34. package/lib/esm/persistence/errors.js.map +1 -1
  35. package/lib/esm/persistence/index.d.ts +1 -1
  36. package/lib/esm/persistence/index.js +1 -1
  37. package/lib/esm/persistence/index.js.map +1 -1
  38. package/lib/esm/persistence/migrations.d.ts +21 -0
  39. package/lib/esm/persistence/migrations.js +103 -0
  40. package/lib/esm/persistence/migrations.js.map +1 -0
  41. package/lib/esm/persistence/types.d.ts +7 -1
  42. package/lib/esm/query/Paginator.d.ts +4 -2
  43. package/lib/esm/query/Paginator.js +3 -1
  44. package/lib/esm/query/Paginator.js.map +1 -1
  45. package/lib/esm/query/Statement.d.ts +2 -1
  46. package/lib/esm/query/Statement.js +2 -2
  47. package/lib/esm/query/Statement.js.map +1 -1
  48. package/lib/esm/query/options.d.ts +2 -1
  49. package/lib/esm/query/selectors.d.ts +2 -1
  50. package/lib/esm/ram/RamAdapter.d.ts +2 -1
  51. package/lib/esm/ram/RamAdapter.js +7 -5
  52. package/lib/esm/ram/RamAdapter.js.map +1 -1
  53. package/lib/esm/ram/RamPaginator.d.ts +2 -1
  54. package/lib/esm/ram/RamPaginator.js +1 -1
  55. package/lib/esm/ram/RamPaginator.js.map +1 -1
  56. package/lib/esm/ram/RamStatement.js +3 -3
  57. package/lib/esm/ram/RamStatement.js.map +1 -1
  58. package/lib/esm/ram/types.d.ts +2 -1
  59. package/lib/esm/repository/Repository.d.ts +2 -1
  60. package/lib/esm/repository/Repository.js +30 -40
  61. package/lib/esm/repository/Repository.js.map +1 -1
  62. package/lib/esm/repository/decorators.d.ts +2 -1
  63. package/lib/esm/repository/decorators.js +7 -8
  64. package/lib/esm/repository/decorators.js.map +1 -1
  65. package/lib/esm/repository/injectables.d.ts +1 -2
  66. package/lib/esm/repository/injectables.js +6 -6
  67. package/lib/esm/repository/injectables.js.map +1 -1
  68. package/lib/esm/repository/utils.d.ts +2 -2
  69. package/lib/esm/repository/utils.js +4 -5
  70. package/lib/esm/repository/utils.js.map +1 -1
  71. package/lib/identity/decorators.cjs +6 -5
  72. package/lib/identity/decorators.js.map +1 -1
  73. package/lib/identity/utils.cjs +5 -5
  74. package/lib/identity/utils.d.ts +3 -2
  75. package/lib/identity/utils.js.map +1 -1
  76. package/lib/index.cjs +2 -1
  77. package/lib/index.d.ts +2 -1
  78. package/lib/index.js.map +1 -1
  79. package/lib/model/construction.cjs +19 -31
  80. package/lib/model/construction.d.ts +2 -11
  81. package/lib/model/construction.js.map +1 -1
  82. package/lib/model/decorators.cjs +99 -76
  83. package/lib/model/decorators.d.ts +11 -2
  84. package/lib/model/decorators.js.map +1 -1
  85. package/lib/model/types.d.ts +6 -2
  86. package/lib/overrides/Metadata.d.ts +16 -2
  87. package/lib/overrides/overrides.cjs +39 -0
  88. package/lib/overrides/overrides.js.map +1 -1
  89. package/lib/persistence/Adapter.cjs +41 -44
  90. package/lib/persistence/Adapter.d.ts +6 -10
  91. package/lib/persistence/Adapter.js.map +1 -1
  92. package/lib/persistence/Sequence.d.ts +2 -1
  93. package/lib/persistence/Sequence.js.map +1 -1
  94. package/lib/persistence/constants.cjs +2 -0
  95. package/lib/persistence/constants.d.ts +3 -1
  96. package/lib/persistence/constants.js.map +1 -1
  97. package/lib/persistence/errors.cjs +13 -1
  98. package/lib/persistence/errors.d.ts +6 -0
  99. package/lib/persistence/errors.js.map +1 -1
  100. package/lib/persistence/index.cjs +1 -1
  101. package/lib/persistence/index.d.ts +1 -1
  102. package/lib/persistence/index.js.map +1 -1
  103. package/lib/persistence/migrations.cjs +109 -0
  104. package/lib/persistence/migrations.d.ts +21 -0
  105. package/lib/persistence/migrations.js.map +1 -0
  106. package/lib/persistence/types.d.ts +7 -1
  107. package/lib/query/Paginator.cjs +3 -1
  108. package/lib/query/Paginator.d.ts +4 -2
  109. package/lib/query/Paginator.js.map +1 -1
  110. package/lib/query/Statement.cjs +1 -1
  111. package/lib/query/Statement.d.ts +2 -1
  112. package/lib/query/Statement.js.map +1 -1
  113. package/lib/query/options.d.ts +2 -1
  114. package/lib/query/selectors.d.ts +2 -1
  115. package/lib/ram/RamAdapter.cjs +9 -7
  116. package/lib/ram/RamAdapter.d.ts +2 -1
  117. package/lib/ram/RamAdapter.js.map +1 -1
  118. package/lib/ram/RamPaginator.cjs +1 -1
  119. package/lib/ram/RamPaginator.d.ts +2 -1
  120. package/lib/ram/RamPaginator.js.map +1 -1
  121. package/lib/ram/RamStatement.cjs +3 -3
  122. package/lib/ram/RamStatement.js.map +1 -1
  123. package/lib/ram/types.d.ts +2 -1
  124. package/lib/repository/Repository.cjs +29 -39
  125. package/lib/repository/Repository.d.ts +2 -1
  126. package/lib/repository/Repository.js.map +1 -1
  127. package/lib/repository/decorators.cjs +5 -6
  128. package/lib/repository/decorators.d.ts +2 -1
  129. package/lib/repository/decorators.js.map +1 -1
  130. package/lib/repository/injectables.cjs +5 -5
  131. package/lib/repository/injectables.d.ts +1 -2
  132. package/lib/repository/injectables.js.map +1 -1
  133. package/lib/repository/utils.cjs +4 -5
  134. package/lib/repository/utils.d.ts +2 -2
  135. package/lib/repository/utils.js.map +1 -1
  136. package/package.json +2 -4
  137. package/lib/esm/persistence/decorators.d.ts +0 -11
  138. package/lib/esm/persistence/decorators.js +0 -19
  139. package/lib/esm/persistence/decorators.js.map +0 -1
  140. package/lib/persistence/decorators.cjs +0 -22
  141. package/lib/persistence/decorators.d.ts +0 -11
  142. package/lib/persistence/decorators.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RamPaginator.js","sourceRoot":"","sources":["../../src/ram/RamPaginator.ts"],"names":[],"mappings":";;;AACA,gDAAqC;AAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,YAAiC,SAAQ,iBAIrD;IACC,YACE,OAA+C,EAC/C,KAAqB,EACrB,IAAY,EACZ,KAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACO,OAAO,CAAC,YAA4B;QAC5C,MAAM,KAAK,GAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACzC,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC;YACtF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,MAAM,OAAO,GAAU,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AArDD,oCAqDC"}
1
+ {"version":3,"file":"RamPaginator.js","sourceRoot":"","sources":["../../src/ram/RamPaginator.ts"],"names":[],"mappings":";;;AACA,gDAAqC;AAKrC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,YAAiC,SAAQ,iBAIrD;IACC,YACE,OAA+C,EAC/C,KAAqB,EACrB,IAAY,EACZ,KAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACO,OAAO,CAAC,YAA4B;QAC5C,MAAM,KAAK,GAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAChE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe,CAAC;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACzC,MAAM,OAAO,GACX,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACnC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,MAAM,OAAO,GAAU,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAtDD,oCAsDC"}
@@ -5,7 +5,7 @@ const query_1 = require("./../query/index.cjs");
5
5
  const RamPaginator_1 = require("./RamPaginator.cjs");
6
6
  const db_decorators_1 = require("@decaf-ts/db-decorators");
7
7
  const Statement_1 = require("./../query/Statement.cjs");
8
- const reflection_1 = require("@decaf-ts/reflection");
8
+ const decoration_1 = require("@decaf-ts/decoration");
9
9
  /**
10
10
  * @description RAM-specific query statement builder
11
11
  * @summary Extends the base Statement class to provide query building functionality for the RAM adapter.
@@ -49,10 +49,10 @@ class RamStatement extends Statement_1.Statement {
49
49
  throw new db_decorators_1.InternalError("orderBySelector not set. Should be impossible");
50
50
  const selector = this.orderBySelector;
51
51
  const [key, direction] = selector;
52
- const type = reflection_1.Reflection.getTypeFromDecorator(el1, key);
52
+ const { designType: type } = decoration_1.Metadata.getPropDesignTypes(el1.constructor, key);
53
53
  if (!type)
54
54
  throw new query_1.QueryError(`type not compatible with sorting: ${type}`);
55
- switch (type) {
55
+ switch (type.name) {
56
56
  case "string":
57
57
  case "String":
58
58
  return ((direction === "asc" ? 1 : -1) *
@@ -1 +1 @@
1
- {"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../src/ram/RamStatement.ts"],"names":[],"mappings":";;;AAAA,gDAMkB;AAGlB,qDAA8C;AAC9C,2DAAwD;AACxD,wDAA+C;AAC/C,qDAAkD;AAGlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,YAAiC,SAAQ,qBAIrD;IACC,YAAY,OAAmB;QAC7B,KAAK,CAAC,OAAc,CAAC,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACK,OAAO;QACb,OAAO,CAAC,GAAU,EAAE,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,eAAe;gBACvB,MAAM,IAAI,6BAAa,CACrB,+CAA+C,CAChD,CAAC;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;YACtC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;YAClC,MAAM,IAAI,GAAG,uBAAU,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAa,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI;gBACP,MAAM,IAAI,kBAAU,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;YAEpE,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,CACL,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,GAAG,CAAC,GAAkB,CAAuB,CAAC,aAAa,CAC1D,GAAG,CAAC,GAAkB,CAAsB,CAC7C,CACF,CAAC;gBACJ,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,OAAO,CACL,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC9B,CAAE,GAAG,CAAC,GAAkB,CAAuB;4BAC5C,GAAG,CAAC,GAAkB,CAAuB,CAAC,CAClD,CAAC;gBACJ,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ;oBACX,IACE,GAAG,CAAC,GAAkB,CAAC,YAAY,IAAI;wBACvC,GAAG,CAAC,GAAkB,CAAC,YAAY,IAAI;wBAEvC,OAAO,CACL,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC9B,CAAE,GAAG,CAAC,GAAkB,CAAqB,CAAC,OAAO,EAAE;gCACpD,GAAG,CAAC,GAAkB,CAAqB,CAAC,OAAO,EAAE,CAAC,CAC1D,CAAC;oBACJ,MAAM,IAAI,kBAAU,CAAC,4CAA4C,CAAC,CAAC;gBACrE;oBACE,MAAM,IAAI,kBAAU,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,KAAK;QACb,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,KAAK,EAAE,IAAI,CAAC,cAAc;gBACxB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK;gBAChD,CAAC,CAAC,6DAA6D;oBAC7D,CAAC,EAAK,EAAE,EAAE;wBACR,OAAO,IAAI,CAAC;oBACd,CAAC;YACL,KAAK,EAAE,IAAI,CAAC,aAAa;YACzB,IAAI,EAAE,IAAI,CAAC,cAAc;SAC1B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,2BAAY,CACrB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,IAAI,EACJ,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,6BAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,cAAc,CAAkB,SAAuB;QACrD,OAAO;YACL,KAAK,EAAE,CAAC,CAAQ,EAAE,EAAE;gBAClB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,SAIvC,CAAC;gBAEF,IACE,CAAC,qBAAa,CAAC,GAAG,EAAE,qBAAa,CAAC,EAAE,EAAE,gBAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CACzD,QAAyB,CAC1B,KAAK,CAAC,CAAC,EACR,CAAC;oBACD,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,gBAAQ,CAAC,MAAM;4BAClB,OAAO,CAAC,CAAC,KAAoB,CAAC,GAAG,UAAU,CAAC;wBAC9C,KAAK,gBAAQ,CAAC,SAAS;4BACrB,OAAO,CAAC,CAAC,KAAoB,CAAC,IAAI,UAAU,CAAC;wBAC/C,KAAK,gBAAQ,CAAC,SAAS;4BACrB,OAAO,CAAC,CAAC,KAAoB,CAAC,KAAK,UAAU,CAAC;wBAChD,KAAK,gBAAQ,CAAC,KAAK;4BACjB,OAAO,CAAC,CAAC,KAAoB,CAAC,KAAK,UAAU,CAAC;wBAChD,KAAK,gBAAQ,CAAC,MAAM;4BAClB,IAAI,OAAO,CAAC,CAAC,KAAoB,CAAC,KAAK,QAAQ;gCAC7C,MAAM,IAAI,kBAAU,CAClB,wDAAwD,CAAC,CAAC,KAAoB,CAAC,EAAE,CAClF,CAAC;4BACJ,OAAO,CAAC,CAAE,CAAC,CAAC,KAAoB,CAAuB,CAAC,KAAK,CAC3D,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAC5B,CAAC;wBACJ,KAAK,gBAAQ,CAAC,OAAO;4BACnB,OAAO,CAAC,CAAC,KAAoB,CAAC,GAAG,UAAU,CAAC;wBAC9C,KAAK,gBAAQ,CAAC,UAAU;4BACtB,OAAO,CAAC,CAAC,KAAoB,CAAC,IAAI,UAAU,CAAC;wBAC/C;4BACE,MAAM,IAAI,6BAAa,CACrB,8CAA8C,QAAQ,EAAE,CACzD,CAAC;oBACN,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,gBAAQ,CAAC,GAAG,EAAE,CAAC;oBACrC,MAAM,IAAI,6BAAa,CAAC,iBAAiB,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAqB,IAAI,CAAC,cAAc,CAC/C,KAAqB,CACtB,CAAC;oBACF,MAAM,GAAG,GAAqB,IAAI,CAAC,cAAc,CAC/C,UAA0B,CAC3B,CAAC;oBACF,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,qBAAa,CAAC,GAAG;4BACpB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC,KAAK,qBAAa,CAAC,EAAE;4BACnB,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACtC;4BACE,MAAM,IAAI,6BAAa,CACrB,4CAA4C,QAAQ,EAAE,CACvD,CAAC;oBACN,CAAC;gBACH,CAAC;YACH,CAAC;SACkB,CAAC;IACxB,CAAC;CACF;AApMD,oCAoMC"}
1
+ {"version":3,"file":"RamStatement.js","sourceRoot":"","sources":["../../src/ram/RamStatement.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { Constructor, Model } from "@decaf-ts/decorator-validation";
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { Repository } from "../repository";
3
3
  import { Context, RepositoryFlags } from "@decaf-ts/db-decorators";
4
4
  import { RamAdapter } from "./RamAdapter";
5
+ import { Constructor } from "@decaf-ts/decoration";
5
6
  /**
6
7
  * @description In-memory storage structure for the RAM adapter
7
8
  * @summary A nested Map structure that stores all entities by their table name and primary key.
@@ -15,13 +15,12 @@ const Adapter_1 = require("./../persistence/Adapter.cjs");
15
15
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
16
16
  const constants_1 = require("./../persistence/constants.cjs");
17
17
  const constants_2 = require("./constants.cjs");
18
- const reflection_1 = require("@decaf-ts/reflection");
19
18
  const Sequence_1 = require("./../persistence/Sequence.cjs");
20
19
  const Condition_1 = require("./../query/Condition.cjs");
21
20
  const utils_1 = require("./../identity/utils.cjs");
22
- const decorators_1 = require("./../persistence/decorators.cjs");
23
21
  const ObserverHandler_1 = require("./../persistence/ObserverHandler.cjs");
24
22
  const utils_2 = require("./../utils/index.cjs");
23
+ const decoration_1 = require("@decaf-ts/decoration");
25
24
  /**
26
25
  * @description Core repository implementation for database operations on models on a table by table way.
27
26
  * @summary Provides CRUD operations, querying capabilities, and observer pattern implementation for model persistence.
@@ -126,10 +125,21 @@ class Repository extends db_decorators_1.Repository {
126
125
  if (clazz) {
127
126
  Repository.register(clazz, this, this.adapter.alias);
128
127
  if (adapter) {
129
- const flavour = Reflect.getMetadata(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), clazz);
130
- if (flavour && flavour !== adapter.flavour)
131
- throw new db_decorators_1.InternalError("Incompatible flavours");
132
- (0, decorators_1.uses)(adapter.flavour)(clazz);
128
+ // const flavour = Metadata.flavourOf(clazz);
129
+ // if (
130
+ // flavour &&
131
+ // flavour !== DefaultFlavour &&
132
+ // flavour !== adapter.flavour
133
+ // ) {
134
+ // this.log.warn(
135
+ // `Incompatible flavours detected between adapter (${adapter.flavour}) and model (${flavour})`
136
+ // );
137
+ // // throw new InternalError("Incompatible flavours");
138
+ // }
139
+ const flavour = decoration_1.Metadata.get(clazz, decoration_1.DecorationKeys.FLAVOUR);
140
+ if (flavour === decoration_1.DefaultFlavour) {
141
+ (0, decoration_1.uses)(adapter.flavour)(clazz);
142
+ }
133
143
  }
134
144
  }
135
145
  [this.createAll, this.readAll, this.updateAll, this.deleteAll].forEach((m) => {
@@ -593,8 +603,8 @@ class Repository extends db_decorators_1.Repository {
593
603
  .for(this.updateObservers)
594
604
  .verbose(`Updating ${this.observerHandler.count()} observers for ${this}`);
595
605
  await this.observerHandler.updateObservers(this.log, table, event, Array.isArray(id)
596
- ? id.map((i) => Sequence_1.Sequence.parseValue(this.pkProps.type, i))
597
- : Sequence_1.Sequence.parseValue(this.pkProps.type, id), ...args);
606
+ ? id.map((i) => Sequence_1.Sequence.parseValue(this.pkProps?.type, i))
607
+ : Sequence_1.Sequence.parseValue(this.pkProps?.type, id), ...args);
598
608
  }
599
609
  /**
600
610
  * @description Alias for updateObservers.
@@ -621,9 +631,7 @@ class Repository extends db_decorators_1.Repository {
621
631
  */
622
632
  static forModel(model, alias, ...args) {
623
633
  let repo;
624
- const _alias = alias ||
625
- Reflect.getMetadata(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), model) ||
626
- Adapter_1.Adapter.currentFlavour;
634
+ const _alias = alias || decoration_1.Metadata.flavourOf(model) || Adapter_1.Adapter.currentFlavour;
627
635
  try {
628
636
  repo = this.get(model, _alias);
629
637
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -634,9 +642,8 @@ class Repository extends db_decorators_1.Repository {
634
642
  if (repo instanceof Repository)
635
643
  return repo;
636
644
  const flavour = alias ||
637
- Reflect.getMetadata(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), model) ||
638
- (repo &&
639
- Reflect.getMetadata(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), repo)) ||
645
+ decoration_1.Metadata.flavourOf(model) ||
646
+ (repo && decoration_1.Metadata.get(repo, constants_1.PersistenceKeys.ADAPTER)) ||
640
647
  Adapter_1.Adapter.currentFlavour;
641
648
  const adapter = flavour
642
649
  ? Adapter_1.Adapter.get(flavour)
@@ -733,8 +740,9 @@ class Repository extends db_decorators_1.Repository {
733
740
  * @throws {InternalError} If no sequence options are defined for the model.
734
741
  */
735
742
  static getSequenceOptions(model) {
736
- const pk = (0, db_decorators_1.findPrimaryKey)(model).id;
737
- const metadata = Reflect.getMetadata(Repository.key(db_decorators_1.DBKeys.ID), model, pk);
743
+ const pkName = decorator_validation_1.Model.pk(model.constructor);
744
+ const key = decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, pkName);
745
+ const metadata = decoration_1.Metadata.get(model.constructor, key);
738
746
  if (!metadata)
739
747
  throw new db_decorators_1.InternalError("No sequence options defined for model. did you use the @pk decorator?");
740
748
  return metadata;
@@ -747,17 +755,10 @@ class Repository extends db_decorators_1.Repository {
747
755
  * @return {Record<string, Record<string, IndexMetadata>>} A nested record of property names to index metadata.
748
756
  */
749
757
  static indexes(model) {
750
- const indexDecorators = reflection_1.Reflection.getAllPropertyDecorators(model instanceof decorator_validation_1.Model ? model : new model(), db_decorators_1.DBKeys.REFLECT);
751
- return Object.entries(indexDecorators || {}).reduce((accum, [k, val]) => {
752
- const decs = val.filter((v) => v.key.startsWith(constants_1.PersistenceKeys.INDEX));
753
- if (decs && decs.length) {
754
- for (const dec of decs) {
755
- const { key, props } = dec;
756
- accum[k] = accum[k] || {};
757
- accum[k][key] = props;
758
- }
759
- }
760
- return accum;
758
+ const indexDecorators = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, constants_1.PersistenceKeys.INDEX);
759
+ return Object.keys(indexDecorators || {}).reduce((acum, t) => {
760
+ acum[t] = { [constants_1.PersistenceKeys.INDEX]: indexDecorators[t] };
761
+ return acum;
761
762
  }, {});
762
763
  }
763
764
  /**
@@ -768,18 +769,7 @@ class Repository extends db_decorators_1.Repository {
768
769
  * @return {string[]} An array of property names that are relations.
769
770
  */
770
771
  static relations(model) {
771
- const result = [];
772
- let prototype = model instanceof decorator_validation_1.Model
773
- ? Object.getPrototypeOf(model)
774
- : model.prototype;
775
- while (prototype != null) {
776
- const props = prototype[constants_1.PersistenceKeys.RELATIONS];
777
- if (props) {
778
- result.push(...props);
779
- }
780
- prototype = Object.getPrototypeOf(prototype);
781
- }
782
- return result;
772
+ return (decoration_1.Metadata.relations(model instanceof decorator_validation_1.Model ? model.constructor : model) || []);
783
773
  }
784
774
  /**
785
775
  * @description Gets the table name for a model.
@@ -2,7 +2,7 @@ import { BulkCrudOperationKeys, Context, IRepository, OperationKeys, Repository
2
2
  import { Observable } from "../interfaces/Observable";
3
3
  import { type Observer } from "../interfaces/Observer";
4
4
  import { Adapter } from "../persistence/Adapter";
5
- import { Constructor, Model } from "@decaf-ts/decorator-validation";
5
+ import { Model } from "@decaf-ts/decorator-validation";
6
6
  import { OrderDirection } from "./constants";
7
7
  import { SequenceOptions } from "../interfaces/SequenceOptions";
8
8
  import { Queriable } from "../interfaces/Queriable";
@@ -13,6 +13,7 @@ import { SelectSelector } from "../query/selectors";
13
13
  import { Logger } from "@decaf-ts/logging";
14
14
  import { ObserverHandler } from "../persistence/ObserverHandler";
15
15
  import { EventIds, InferredAdapterConfig, type ObserverFilter } from "../persistence";
16
+ import { Constructor } from "@decaf-ts/decoration";
16
17
  /**
17
18
  * @description Type alias for Repository class with simplified generic parameters.
18
19
  * @summary Provides a more concise way to reference the Repository class with its generic 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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"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.repository = repository;
4
4
  const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
- const reflection_1 = require("@decaf-ts/reflection");
7
6
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
8
7
  const Repository_1 = require("./Repository.cjs");
9
8
  const persistence_1 = require("./../persistence/index.cjs");
9
+ const decoration_1 = require("@decaf-ts/decoration");
10
10
  /**
11
11
  * @description Repository decorator for model classes.
12
12
  * @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
@@ -39,12 +39,11 @@ function repository(model, flavour) {
39
39
  if (propertyKey) {
40
40
  return (0, injectable_decorators_1.inject)(model[decorator_validation_1.ModelKeys.ANCHOR] || model)(original, propertyKey);
41
41
  }
42
- (0, reflection_1.metadata)(Repository_1.Repository.key(db_decorators_1.DBKeys.REPOSITORY), original.name)(model);
42
+ (0, decoration_1.metadata)(db_decorators_1.DBKeys.REPOSITORY, original.name)(model);
43
43
  flavour =
44
- flavour ||
45
- Reflect.getMetadata(persistence_1.Adapter.key(persistence_1.PersistenceKeys.ADAPTER), original);
46
- Repository_1.Repository.register(model[decorator_validation_1.ModelKeys.ANCHOR] || model, original, flavour);
47
- return (0, injectable_decorators_1.injectable)(model[decorator_validation_1.ModelKeys.ANCHOR] || model, {
44
+ flavour || decoration_1.Metadata.get(original.constructor, persistence_1.PersistenceKeys.ADAPTER);
45
+ Repository_1.Repository.register(decoration_1.Metadata.constr(model), original, flavour);
46
+ return (0, injectable_decorators_1.injectable)(decoration_1.Metadata.constr(model), {
48
47
  callback: (instance) => {
49
48
  Object.defineProperty(instance, db_decorators_1.DBKeys.CLASS, {
50
49
  enumerable: false,
@@ -1,4 +1,5 @@
1
- import { Constructor, Model } from "@decaf-ts/decorator-validation";
1
+ import { Constructor } from "@decaf-ts/injectable-decorators";
2
+ import { Model } from "@decaf-ts/decorator-validation";
2
3
  /**
3
4
  * @description Repository decorator for model classes.
4
5
  * @summary Creates and registers a repository for a model class. Can be used as both a property decorator and a class decorator.
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/repository/decorators.ts"],"names":[],"mappings":";;AAkCA,gCAiCC;AAnED,2EAAqE;AACrE,2DAA8D;AAC9D,qDAAgD;AAChD,yEAA+E;AAC/E,iDAA0C;AAC1C,4DAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,UAAU,CACxB,KAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,CAAC,QAAa,EAAE,WAAiB,EAAE,EAAE;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAA,8BAAM,EAAC,KAAK,CAAC,gCAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,CAAC,CACnE,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,IAAA,qBAAQ,EAAC,uBAAU,CAAC,GAAG,CAAC,sBAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO;YACL,OAAO;gBACP,OAAO,CAAC,WAAW,CAAC,qBAAO,CAAC,GAAG,CAAC,6BAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtE,uBAAU,CAAC,QAAQ,CACjB,KAAK,CAAC,gCAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,EACtD,QAAQ,EACR,OAAO,CACR,CAAC;QACF,OAAO,IAAA,kCAAU,EAAC,KAAK,CAAC,gCAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,EAAE;YACxE,QAAQ,EAAE,CAAC,QAAwB,EAAE,EAAE;gBACrC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,sBAAM,CAAC,KAAK,EAAE;oBAC5C,UAAU,EAAE,KAAK;oBACjB,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC,CAAC,QAAQ,CAAC,CAAC;IACf,CAAC,CAAQ,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/repository/decorators.ts"],"names":[],"mappings":";;AAsCA,gCA4BC;AAlED,2EAIyC;AACzC,2DAA8D;AAC9D,yEAAkE;AAClE,iDAA0C;AAC1C,4DAAiD;AACjD,qDAA0D;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,UAAU,CACxB,KAAqB,EACrB,OAAgB;IAEhB,OAAO,CAAC,CAAC,QAAa,EAAE,WAAiB,EAAE,EAAE;QAC3C,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAA,8BAAM,EAAC,KAAK,CAAC,gCAAS,CAAC,MAA4B,CAAC,IAAI,KAAK,CAAC,CACnE,QAAQ,EACR,WAAW,CACZ,CAAC;QACJ,CAAC;QAED,IAAA,qBAAQ,EAAC,sBAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO;YACL,OAAO,IAAI,qBAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,6BAAe,CAAC,OAAO,CAAC,CAAC;QACzE,uBAAU,CAAC,QAAQ,CAAC,qBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAA,kCAAU,EAAC,qBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACxC,QAAQ,EAAE,CAAC,QAAwB,EAAE,EAAE;gBACrC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,sBAAM,CAAC,KAAK,EAAE;oBAC5C,UAAU,EAAE,KAAK;oBACjB,YAAY,EAAE,KAAK;oBACnB,QAAQ,EAAE,KAAK;oBACf,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;YAClB,CAAC;SACF,CAAC,CAAC,QAAQ,CAAC,CAAC;IACf,CAAC,CAAQ,CAAC;AACZ,CAAC"}
@@ -8,6 +8,7 @@ const utils_1 = require("./utils.cjs");
8
8
  const constants_1 = require("./../persistence/constants.cjs");
9
9
  const Adapter_1 = require("./../persistence/Adapter.cjs");
10
10
  const logging_1 = require("@decaf-ts/logging");
11
+ const decoration_1 = require("@decaf-ts/decoration");
11
12
  /**
12
13
  * @description Registry for injectable repositories with auto-resolution.
13
14
  * @summary Provides an InjectableRegistry implementation that resolves repositories by model name or constructor. If a repository
@@ -123,9 +124,8 @@ class InjectablesRegistry extends injectable_decorators_1.InjectableRegistryImp
123
124
  if (!modelCtor)
124
125
  return undefined;
125
126
  // Resolve flavour from metadata if not provided
126
- const metaKey = Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER);
127
- const resolvedFlavour = flavour ||
128
- Reflect.getMetadata(metaKey, modelCtor);
127
+ const metaKey = constants_1.PersistenceKeys.ADAPTER;
128
+ const resolvedFlavour = flavour || decoration_1.Metadata.get(modelCtor, metaKey);
129
129
  try {
130
130
  // Determine an alias to use: prefer a directly registered adapter; otherwise, if the current adapter
131
131
  // has the same flavour, use its alias to satisfy Repository.forModel/Adapter.get lookups.
@@ -144,8 +144,8 @@ class InjectablesRegistry extends injectable_decorators_1.InjectableRegistryImp
144
144
  return injectable;
145
145
  // Otherwise, register the resolved injectable name for later retrieval
146
146
  const f = resolvedFlavour ||
147
- Reflect.getMetadata(metaKey, injectable.constructor) ||
148
- Reflect.getMetadata(metaKey, modelCtor);
147
+ decoration_1.Metadata.get(injectable.constructor, metaKey) ||
148
+ decoration_1.Metadata.get(modelCtor, metaKey);
149
149
  injectable_decorators_1.Injectables.register(injectable, (0, utils_1.generateInjectableNameForRepository)(modelCtor, f));
150
150
  }
151
151
  catch (e) {
@@ -1,5 +1,4 @@
1
- import { InjectableRegistryImp } from "@decaf-ts/injectable-decorators";
2
- import { Constructor } from "@decaf-ts/decorator-validation";
1
+ import { Constructor, InjectableRegistryImp } from "@decaf-ts/injectable-decorators";
3
2
  import { Logger } from "@decaf-ts/logging";
4
3
  /**
5
4
  * @description Registry for injectable repositories with auto-resolution.
@@ -1 +1 @@
1
- {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/repository/injectables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/repository/injectables.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateInjectableNameForRepository = generateInjectableNameForRepository;
4
4
  const db_decorators_1 = require("@decaf-ts/db-decorators");
5
5
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
6
- const Adapter_1 = require("./../persistence/Adapter.cjs");
7
6
  const constants_1 = require("./../persistence/constants.cjs");
8
7
  const decorator_validation_2 = require("@decaf-ts/decorator-validation");
9
8
  const utils_1 = require("./../identity/utils.cjs");
9
+ const decoration_1 = require("@decaf-ts/decoration");
10
10
  /**
11
11
  * @description Generates a unique injectable name for a repository.
12
12
  * @summary Creates a standardized injectable token for repositories using the adapter flavour and model table name.
@@ -28,7 +28,7 @@ const utils_1 = require("./../identity/utils.cjs");
28
28
  * alt flavour provided
29
29
  * U-->>U: use provided flavour
30
30
  * else flavour not provided
31
- * U->>A: Adapter.key(ADAPTER)
31
+ * U->>A: ADAPTER
32
32
  * U->>R: getMetadata(key, model|model.ctor)
33
33
  * alt metadata present
34
34
  * R-->>U: flavour
@@ -42,9 +42,8 @@ const utils_1 = require("./../identity/utils.cjs");
42
42
  */
43
43
  function generateInjectableNameForRepository(model, flavour) {
44
44
  if (!flavour) {
45
- const key = Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER);
46
- flavour = Reflect.getMetadata(key, model instanceof decorator_validation_2.Model ? model.constructor : model);
47
- if (!flavour)
45
+ flavour = decoration_1.Decoration["flavourResolver"](model instanceof decorator_validation_2.Model ? model.constructor : model);
46
+ if (!flavour || flavour === decoration_1.DefaultFlavour)
48
47
  throw new db_decorators_1.InternalError(`Could not retrieve flavour from model ${model instanceof decorator_validation_2.Model ? model.constructor.name : model.name}`);
49
48
  }
50
49
  return (0, decorator_validation_1.sf)(constants_1.PersistenceKeys.INJECTABLE, flavour, (0, utils_1.getTableName)(model));
@@ -1,5 +1,5 @@
1
- import { Constructor } from "@decaf-ts/decorator-validation";
2
1
  import { Model } from "@decaf-ts/decorator-validation";
2
+ import { Constructor } from "@decaf-ts/decoration";
3
3
  /**
4
4
  * @description Generates a unique injectable name for a repository.
5
5
  * @summary Creates a standardized injectable token for repositories using the adapter flavour and model table name.
@@ -21,7 +21,7 @@ import { Model } from "@decaf-ts/decorator-validation";
21
21
  * alt flavour provided
22
22
  * U-->>U: use provided flavour
23
23
  * else flavour not provided
24
- * U->>A: Adapter.key(ADAPTER)
24
+ * U->>A: ADAPTER
25
25
  * U->>R: getMetadata(key, model|model.ctor)
26
26
  * alt metadata present
27
27
  * R-->>U: flavour
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/repository/utils.ts"],"names":[],"mappings":";;AAwCA,kFAgBC;AAxDD,2DAAwD;AACxD,yEAAiE;AACjE,0DAAiD;AACjD,8DAA2D;AAC3D,yEAAuD;AACvD,mDAAiD;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,mCAAmC,CACjD,KAAyB,EACzB,OAAgB;IAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,iBAAO,CAAC,GAAG,CAAC,2BAAe,CAAC,OAAO,CAAC,CAAC;QACjD,OAAO,GAAG,OAAO,CAAC,WAAW,CAC3B,GAAG,EACH,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CACnD,CAAC;QACF,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,6BAAa,CACrB,yCAAyC,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CACxG,CAAC;IACN,CAAC;IACD,OAAO,IAAA,yBAAE,EAAC,2BAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/repository/utils.ts"],"names":[],"mappings":";;AAwCA,kFAcC;AAtDD,2DAAwD;AACxD,yEAAoD;AACpD,8DAA2D;AAC3D,yEAAuD;AACvD,mDAAiD;AACjD,qDAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,SAAgB,mCAAmC,CACjD,KAAyB,EACzB,OAAgB;IAEhB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,uBAAU,CAAC,iBAAiB,CAAC,CACrC,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,CAC5D,CAAC;QACF,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,2BAAc;YACxC,MAAM,IAAI,6BAAa,CACrB,yCAAyC,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CACxG,CAAC;IACN,CAAC;IACD,OAAO,IAAA,yBAAE,EAAC,2BAAe,CAAC,UAAU,EAAE,OAAO,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC,CAAC;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/core",
3
- "version": "0.5.47",
3
+ "version": "0.7.0",
4
4
  "description": "Core persistence module for the decaf framework",
5
5
  "type": "module",
6
6
  "exports": {
@@ -90,8 +90,6 @@
90
90
  "@decaf-ts/decoration": "latest",
91
91
  "@decaf-ts/decorator-validation": "latest",
92
92
  "@decaf-ts/injectable-decorators": "latest",
93
- "@decaf-ts/reflection": "latest",
94
- "@decaf-ts/transactional-decorators": "latest",
95
- "reflect-metadata": "^0.2.1"
93
+ "@decaf-ts/transactional-decorators": "latest"
96
94
  }
97
95
  }
@@ -1,11 +0,0 @@
1
- /**
2
- * @description Specifies which persistence adapter flavor a model should use
3
- * @summary This decorator applies metadata to a model class to indicate which persistence adapter flavor
4
- * should be used when performing database operations on instances of the model. The flavor is a string
5
- * identifier that corresponds to a registered adapter configuration.
6
- * @param {string} flavour - The identifier of the adapter flavor to use
7
- * @return {Function} A decorator function that can be applied to a model class
8
- * @function uses
9
- * @category Class Decorators
10
- */
11
- export declare function uses(flavour: string): (original: any) => void;
@@ -1,19 +0,0 @@
1
- import { apply, metadata } from "@decaf-ts/reflection";
2
- import { PersistenceKeys } from "./constants.js";
3
- import { Adapter } from "./Adapter.js";
4
- /**
5
- * @description Specifies which persistence adapter flavor a model should use
6
- * @summary This decorator applies metadata to a model class to indicate which persistence adapter flavor
7
- * should be used when performing database operations on instances of the model. The flavor is a string
8
- * identifier that corresponds to a registered adapter configuration.
9
- * @param {string} flavour - The identifier of the adapter flavor to use
10
- * @return {Function} A decorator function that can be applied to a model class
11
- * @function uses
12
- * @category Class Decorators
13
- */
14
- export function uses(flavour) {
15
- return function uses(original) {
16
- return apply(metadata(Adapter.key(PersistenceKeys.ADAPTER), flavour))(original);
17
- };
18
- }
19
- //# sourceMappingURL=decorators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/persistence/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAC9C,OAAO,EAAE,OAAO,EAAE,qBAAkB;AAEpC;;;;;;;;;GASG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,OAAO,SAAS,IAAI,CAAC,QAAa;QAChC,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CACnE,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uses = uses;
4
- const reflection_1 = require("@decaf-ts/reflection");
5
- const constants_1 = require("./constants.cjs");
6
- const Adapter_1 = require("./Adapter.cjs");
7
- /**
8
- * @description Specifies which persistence adapter flavor a model should use
9
- * @summary This decorator applies metadata to a model class to indicate which persistence adapter flavor
10
- * should be used when performing database operations on instances of the model. The flavor is a string
11
- * identifier that corresponds to a registered adapter configuration.
12
- * @param {string} flavour - The identifier of the adapter flavor to use
13
- * @return {Function} A decorator function that can be applied to a model class
14
- * @function uses
15
- * @category Class Decorators
16
- */
17
- function uses(flavour) {
18
- return function uses(original) {
19
- return (0, reflection_1.apply)((0, reflection_1.metadata)(Adapter_1.Adapter.key(constants_1.PersistenceKeys.ADAPTER), flavour))(original);
20
- };
21
- }
22
- //# sourceMappingURL=decorators.js.map
@@ -1,11 +0,0 @@
1
- /**
2
- * @description Specifies which persistence adapter flavor a model should use
3
- * @summary This decorator applies metadata to a model class to indicate which persistence adapter flavor
4
- * should be used when performing database operations on instances of the model. The flavor is a string
5
- * identifier that corresponds to a registered adapter configuration.
6
- * @param {string} flavour - The identifier of the adapter flavor to use
7
- * @return {Function} A decorator function that can be applied to a model class
8
- * @function uses
9
- * @category Class Decorators
10
- */
11
- export declare function uses(flavour: string): (original: any) => void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/persistence/decorators.ts"],"names":[],"mappings":";;AAcA,oBAMC;AApBD,qDAAuD;AACvD,+CAA8C;AAC9C,2CAAoC;AAEpC;;;;;;;;;GASG;AACH,SAAgB,IAAI,CAAC,OAAe;IAClC,OAAO,SAAS,IAAI,CAAC,QAAa;QAChC,OAAO,IAAA,kBAAK,EAAC,IAAA,qBAAQ,EAAC,iBAAO,CAAC,GAAG,CAAC,2BAAe,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CACnE,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}