@decaf-ts/core 0.6.0 → 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 (126) 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 +14 -2
  22. package/lib/esm/overrides/overrides.js +31 -0
  23. package/lib/esm/overrides/overrides.js.map +1 -1
  24. package/lib/esm/persistence/Adapter.d.ts +3 -9
  25. package/lib/esm/persistence/Adapter.js +27 -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/index.d.ts +0 -1
  30. package/lib/esm/persistence/index.js +0 -1
  31. package/lib/esm/persistence/index.js.map +1 -1
  32. package/lib/esm/persistence/migrations.js +1 -2
  33. package/lib/esm/persistence/migrations.js.map +1 -1
  34. package/lib/esm/query/Paginator.d.ts +4 -2
  35. package/lib/esm/query/Paginator.js +3 -1
  36. package/lib/esm/query/Paginator.js.map +1 -1
  37. package/lib/esm/query/Statement.d.ts +2 -1
  38. package/lib/esm/query/Statement.js +2 -2
  39. package/lib/esm/query/Statement.js.map +1 -1
  40. package/lib/esm/query/options.d.ts +2 -1
  41. package/lib/esm/query/selectors.d.ts +2 -1
  42. package/lib/esm/ram/RamAdapter.d.ts +2 -1
  43. package/lib/esm/ram/RamAdapter.js +7 -5
  44. package/lib/esm/ram/RamAdapter.js.map +1 -1
  45. package/lib/esm/ram/RamPaginator.d.ts +2 -1
  46. package/lib/esm/ram/RamPaginator.js +1 -1
  47. package/lib/esm/ram/RamPaginator.js.map +1 -1
  48. package/lib/esm/ram/RamStatement.js +3 -3
  49. package/lib/esm/ram/RamStatement.js.map +1 -1
  50. package/lib/esm/ram/types.d.ts +2 -1
  51. package/lib/esm/repository/Repository.d.ts +2 -1
  52. package/lib/esm/repository/Repository.js +30 -40
  53. package/lib/esm/repository/Repository.js.map +1 -1
  54. package/lib/esm/repository/decorators.d.ts +2 -1
  55. package/lib/esm/repository/decorators.js +7 -8
  56. package/lib/esm/repository/decorators.js.map +1 -1
  57. package/lib/esm/repository/injectables.d.ts +1 -2
  58. package/lib/esm/repository/injectables.js +6 -6
  59. package/lib/esm/repository/injectables.js.map +1 -1
  60. package/lib/esm/repository/utils.d.ts +2 -2
  61. package/lib/esm/repository/utils.js +4 -5
  62. package/lib/esm/repository/utils.js.map +1 -1
  63. package/lib/identity/decorators.cjs +6 -5
  64. package/lib/identity/decorators.js.map +1 -1
  65. package/lib/identity/utils.cjs +5 -5
  66. package/lib/identity/utils.d.ts +3 -2
  67. package/lib/identity/utils.js.map +1 -1
  68. package/lib/index.cjs +2 -1
  69. package/lib/index.d.ts +2 -1
  70. package/lib/index.js.map +1 -1
  71. package/lib/model/construction.cjs +19 -31
  72. package/lib/model/construction.d.ts +2 -11
  73. package/lib/model/construction.js.map +1 -1
  74. package/lib/model/decorators.cjs +99 -76
  75. package/lib/model/decorators.d.ts +11 -2
  76. package/lib/model/decorators.js.map +1 -1
  77. package/lib/model/types.d.ts +6 -2
  78. package/lib/overrides/Metadata.d.ts +14 -2
  79. package/lib/overrides/overrides.cjs +31 -0
  80. package/lib/overrides/overrides.js.map +1 -1
  81. package/lib/persistence/Adapter.cjs +25 -44
  82. package/lib/persistence/Adapter.d.ts +3 -9
  83. package/lib/persistence/Adapter.js.map +1 -1
  84. package/lib/persistence/Sequence.d.ts +2 -1
  85. package/lib/persistence/Sequence.js.map +1 -1
  86. package/lib/persistence/index.cjs +0 -1
  87. package/lib/persistence/index.d.ts +0 -1
  88. package/lib/persistence/index.js.map +1 -1
  89. package/lib/persistence/migrations.cjs +1 -2
  90. package/lib/persistence/migrations.js.map +1 -1
  91. package/lib/query/Paginator.cjs +3 -1
  92. package/lib/query/Paginator.d.ts +4 -2
  93. package/lib/query/Paginator.js.map +1 -1
  94. package/lib/query/Statement.cjs +1 -1
  95. package/lib/query/Statement.d.ts +2 -1
  96. package/lib/query/Statement.js.map +1 -1
  97. package/lib/query/options.d.ts +2 -1
  98. package/lib/query/selectors.d.ts +2 -1
  99. package/lib/ram/RamAdapter.cjs +9 -7
  100. package/lib/ram/RamAdapter.d.ts +2 -1
  101. package/lib/ram/RamAdapter.js.map +1 -1
  102. package/lib/ram/RamPaginator.cjs +1 -1
  103. package/lib/ram/RamPaginator.d.ts +2 -1
  104. package/lib/ram/RamPaginator.js.map +1 -1
  105. package/lib/ram/RamStatement.cjs +3 -3
  106. package/lib/ram/RamStatement.js.map +1 -1
  107. package/lib/ram/types.d.ts +2 -1
  108. package/lib/repository/Repository.cjs +29 -39
  109. package/lib/repository/Repository.d.ts +2 -1
  110. package/lib/repository/Repository.js.map +1 -1
  111. package/lib/repository/decorators.cjs +5 -6
  112. package/lib/repository/decorators.d.ts +2 -1
  113. package/lib/repository/decorators.js.map +1 -1
  114. package/lib/repository/injectables.cjs +5 -5
  115. package/lib/repository/injectables.d.ts +1 -2
  116. package/lib/repository/injectables.js.map +1 -1
  117. package/lib/repository/utils.cjs +4 -5
  118. package/lib/repository/utils.d.ts +2 -2
  119. package/lib/repository/utils.js.map +1 -1
  120. package/package.json +2 -4
  121. package/lib/esm/persistence/decorators.d.ts +0 -11
  122. package/lib/esm/persistence/decorators.js +0 -19
  123. package/lib/esm/persistence/decorators.js.map +0 -1
  124. package/lib/persistence/decorators.cjs +0 -22
  125. package/lib/persistence/decorators.d.ts +0 -11
  126. package/lib/persistence/decorators.js.map +0 -1
@@ -5,11 +5,10 @@ exports.pk = pk;
5
5
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
6
6
  const SequenceOptions_1 = require("./../interfaces/SequenceOptions.cjs");
7
7
  const db_decorators_1 = require("@decaf-ts/db-decorators");
8
- const Repository_1 = require("./../repository/Repository.cjs");
9
8
  const decorators_1 = require("./../model/decorators.cjs");
10
9
  const utils_1 = require("./utils.cjs");
11
10
  const repository_1 = require("./../repository/index.cjs");
12
- const reflection_1 = require("@decaf-ts/reflection");
11
+ const decoration_1 = require("@decaf-ts/decoration");
13
12
  const defaultPkPriority = 60; // Default priority for primary key to run latter than other properties
14
13
  /**
15
14
  * @description Callback function for primary key creation
@@ -97,13 +96,15 @@ function pk(opts = SequenceOptions_1.DefaultSequenceOptions) {
97
96
  ? true
98
97
  : opts.generated || SequenceOptions_1.DefaultSequenceOptions.generated,
99
98
  });
100
- const key = Repository_1.Repository.key(db_decorators_1.DBKeys.ID);
99
+ const key = db_decorators_1.DBKeys.ID;
101
100
  function pkDec(options, groupsort) {
102
101
  return function pkDec(obj, attr) {
103
- return (0, reflection_1.apply)((0, decorators_1.index)([repository_1.OrderDirection.ASC, repository_1.OrderDirection.DSC]), (0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(), (0, decorator_validation_1.propMetadata)(key, options), (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort), (0, decorator_validation_1.propMetadata)(db_decorators_1.DBKeys.ID, attr))(obj, attr);
102
+ return (0, decoration_1.apply)((0, decorators_1.index)([repository_1.OrderDirection.ASC, repository_1.OrderDirection.DSC]), (0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(),
103
+ // Model.pk neeeds to get the pk property name from the first property of Metatada[DBKeys.ID] ---> { [DBKeys.ID]: { [attr]:options }}
104
+ (0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options), (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort))(obj, attr);
104
105
  };
105
106
  }
106
- return decorator_validation_1.Decoration.for(key)
107
+ return decoration_1.Decoration.for(key)
107
108
  .define({
108
109
  decorator: pkDec,
109
110
  args: [opts, { priority: defaultPkPriority }],
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":";;AAgEA,gCA0CC;AAsBD,gBAgCC;AAhKD,yEAAiE;AACjE,yEAGuC;AACvC,2DAOiC;AAEjC,0DAA4C;AAC5C,uCAA+C;AAG/C,0DAA+C;AAC/C,qDAK8B;AAE9B,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAC,uEAAuE;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,KAAK,UAAU,UAAU,CAQ9B,OAAmB,EACnB,IAAO,EACP,GAAY,EACZ,KAAQ;IAER,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,UACzB,MAAS,EACT,WAAmB,EACnB,KAA+B;QAE/B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,6BAAa,CACrB,kCAAkC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,kBAAkB,CAAC,KAAK,EAAE,GAAa,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,EAAE,CAChB,OAGI,wCAAsB;IAE1B,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,wCAAsB,EAAE,IAAI,EAAE;QACrD,SAAS,EACP,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;YAChD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,wCAAsB,CAAC,SAAS;KACzD,CAAoB,CAAC;IAEtB,MAAM,GAAG,GAAG,sBAAM,CAAC,EAAE,CAAC;IACtB,SAAS,KAAK,CAAC,OAAwB,EAAE,SAAqB;QAC5D,OAAO,SAAS,KAAK,CAAC,GAAQ,EAAE,IAAS;YACvC,OAAO,IAAA,kBAAK,EACV,IAAA,kBAAK,EAAC,CAAC,2BAAc,CAAC,GAAG,EAAE,2BAAc,CAAC,GAAG,CAAC,CAAC,EAC/C,IAAA,+BAAQ,GAAE,EACV,IAAA,wBAAQ,GAAE;YACV,qIAAqI;YACrI,IAAA,yBAAY,EAAC,qBAAQ,CAAC,GAAG,CAAC,sBAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EACpD,IAAA,wBAAQ,EAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CACzC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC9C,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
@@ -6,7 +6,7 @@ exports.sequenceNameForModel = sequenceNameForModel;
6
6
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
7
7
  const db_decorators_1 = require("@decaf-ts/db-decorators");
8
8
  const constants_1 = require("./../persistence/constants.cjs");
9
- const Adapter_1 = require("./../persistence/Adapter.cjs");
9
+ const decoration_1 = require("@decaf-ts/decoration");
10
10
  /**
11
11
  * @description Gets the table name for a model
12
12
  * @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
@@ -20,9 +20,9 @@ function getTableName(model) {
20
20
  const obj = model instanceof decorator_validation_1.Model ? decorator_validation_1.Model.get(model.constructor.name) : model;
21
21
  if (!obj)
22
22
  throw new db_decorators_1.InternalError(`Unable to find model ${model}`);
23
- const metadata = Reflect.getOwnMetadata(Adapter_1.Adapter.key(constants_1.PersistenceKeys.TABLE), obj[decorator_validation_1.ModelKeys.MODEL] || obj);
24
- if (metadata) {
25
- return metadata;
23
+ const meta = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, constants_1.PersistenceKeys.TABLE);
24
+ if (meta) {
25
+ return meta;
26
26
  }
27
27
  if (model instanceof decorator_validation_1.Model) {
28
28
  return model.constructor.name;
@@ -30,7 +30,7 @@ function getTableName(model) {
30
30
  return model.name;
31
31
  }
32
32
  function getColumnName(model, attribute) {
33
- const metadata = Reflect.getMetadata(db_decorators_1.Repository.key(constants_1.PersistenceKeys.COLUMN), model, attribute);
33
+ const metadata = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(constants_1.PersistenceKeys.COLUMN, attribute));
34
34
  return metadata ? metadata : attribute;
35
35
  }
36
36
  /**
@@ -1,4 +1,5 @@
1
- import { Constructor, Model } from "@decaf-ts/decorator-validation";
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
+ import { Constructor } from "@decaf-ts/decoration";
2
3
  /**
3
4
  * @description Gets the table name for a model
4
5
  * @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
@@ -9,7 +10,7 @@ import { Constructor, Model } from "@decaf-ts/decorator-validation";
9
10
  * @memberOf module:core
10
11
  */
11
12
  export declare function getTableName<M extends Model>(model: M | Constructor<M>): string;
12
- export declare function getColumnName<M extends Model>(model: M, attribute: string): string;
13
+ export declare function getColumnName<M extends Model>(model: M | Constructor<M>, attribute: string): string;
13
14
  /**
14
15
  * @description Generates a sequence name for a model
15
16
  * @summary Creates a standardized sequence name by combining the table name with additional arguments
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/identity/utils.ts"],"names":[],"mappings":";;AAcA,oCAoBC;AAED,sCAUC;AAYD,oDAKC;AA/DD,yEAA+E;AAC/E,2DAAoE;AACpE,8DAA2D;AAC3D,0DAAiD;AAEjD;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,KAAyB;IAEzB,MAAM,GAAG,GACP,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,4BAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,6BAAa,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CACrC,iBAAO,CAAC,GAAG,CAAC,2BAAe,CAAC,KAAK,CAAC,EAClC,GAAG,CAAC,gCAAS,CAAC,KAAoC,CAAC,IAAI,GAAG,CAC3D,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,YAAY,4BAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAQ,EACR,SAAiB;IAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAClC,0BAAU,CAAC,GAAG,CAAC,2BAAe,CAAC,MAAM,CAAC,EACtC,KAAK,EACL,SAAS,CACV,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,KAAyB,EACzB,GAAG,IAAc;IAEjB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/identity/utils.ts"],"names":[],"mappings":";;AAcA,oCAoBC;AAED,sCASC;AAYD,oDAKC;AA9DD,yEAAuD;AACvD,2DAAwD;AACxD,8DAA2D;AAC3D,qDAA6D;AAE7D;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,KAAyB;IAEzB,MAAM,GAAG,GACP,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,4BAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,6BAAa,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,2BAAe,CAAC,KAAK,CACtB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,YAAY,4BAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAyB,EACzB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,qBAAQ,CAAC,GAAG,CAC3B,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,qBAAQ,CAAC,GAAG,CAAC,2BAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAChD,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,KAAyB,EACzB,GAAG,IAAc;IAEjB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
package/lib/index.cjs CHANGED
@@ -37,13 +37,14 @@ __exportStar(require("./query/index.cjs"), exports);
37
37
  __exportStar(require("./utils/index.cjs"), exports);
38
38
  //left to last on purpose
39
39
  __exportStar(require("./persistence/index.cjs"), exports);
40
+ __exportStar(require("./ram/index.cjs"), exports);
40
41
  /**
41
42
  * @description Stores the current package version
42
43
  * @summary A constant representing the version of the core package
43
44
  * @const VERSION
44
45
  * @memberOf module:core
45
46
  */
46
- exports.VERSION = "0.5.47";
47
+ exports.VERSION = "0.6.0";
47
48
  /**
48
49
  * @description Stores the current package version
49
50
  * @summary A constant representing the version of the core package
package/lib/index.d.ts CHANGED
@@ -13,13 +13,14 @@ export * from "./model";
13
13
  export * from "./query";
14
14
  export * from "./utils";
15
15
  export * from "./persistence";
16
+ export * from "./ram";
16
17
  /**
17
18
  * @description Stores the current package version
18
19
  * @summary A constant representing the version of the core package
19
20
  * @const VERSION
20
21
  * @memberOf module:core
21
22
  */
22
- export declare const VERSION = "0.5.47";
23
+ export declare const VERSION = "0.6.0";
23
24
  /**
24
25
  * @description Stores the current package version
25
26
  * @summary A constant representing the version of the core package
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,8DAA+D;AAC/D,2EAA8D;AAC9D,qDAAgD;AAEhD,kFAAkF;AAClF,mCAAW,CAAC,WAAW,CAAC,IAAI,iCAAmB,EAAE,CAAC,CAAC;AAEnD,4BAA4B;AAC5B,wDAA4B;AAC5B,yDAA6B;AAE7B,uDAA2B;AAC3B,yDAA6B;AAC7B,oDAAwB;AACxB,oDAAwB;AACxB,oDAAwB;AACxB,yBAAyB;AACzB,0DAA8B;AAE9B;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,8DAA+D;AAC/D,2EAA8D;AAC9D,qDAAgD;AAEhD,kFAAkF;AAClF,mCAAW,CAAC,WAAW,CAAC,IAAI,iCAAmB,EAAE,CAAC,CAAC;AAEnD,4BAA4B;AAC5B,wDAA4B;AAC5B,yDAA6B;AAE7B,uDAA2B;AAC3B,yDAA6B;AAC7B,oDAAwB;AACxB,oDAAwB;AACxB,oDAAwB;AACxB,yBAAyB;AACzB,0DAA8B;AAC9B,kDAAsB;AAEtB;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
@@ -16,6 +16,8 @@ const Repository_1 = require("./../repository/Repository.cjs");
16
16
  const db_decorators_1 = require("@decaf-ts/db-decorators");
17
17
  const constants_1 = require("./../persistence/constants.cjs");
18
18
  const constants_2 = require("./../repository/constants.cjs");
19
+ const decoration_1 = require("@decaf-ts/decoration");
20
+ const logging_1 = require("@decaf-ts/logging");
19
21
  /**
20
22
  * @description Creates or updates a model instance
21
23
  * @summary Determines whether to create a new model or update an existing one based on the presence of a primary key
@@ -138,14 +140,12 @@ async function oneToOneOnCreate(context, data, key, model) {
138
140
  model[key] = propertyValue;
139
141
  return;
140
142
  }
141
- data.class =
142
- typeof data.class === "string" ? data.class : data.class().name;
143
- const constructor = decorator_validation_1.Model.get(data.class);
143
+ const constructor = (0, logging_1.isClass)(data.class) ? data.class : data.class();
144
144
  if (!constructor)
145
145
  throw new db_decorators_1.InternalError(`Could not find model ${data.class}`);
146
146
  const repo = Repository_1.Repository.forModel(constructor, this.adapter.alias);
147
147
  const created = await repo.create(propertyValue);
148
- const pk = (0, db_decorators_1.findPrimaryKey)(created).id;
148
+ const pk = decorator_validation_1.Model.pk(created);
149
149
  await cacheModelForPopulate(context, model, key, created[pk], created);
150
150
  model[key] = created[pk];
151
151
  }
@@ -210,7 +210,7 @@ async function oneToOneOnUpdate(context, data, key, model) {
210
210
  return;
211
211
  }
212
212
  const updated = await createOrUpdate(model[key], context, this.adapter.alias);
213
- const pk = (0, db_decorators_1.findPrimaryKey)(updated).id;
213
+ const pk = decorator_validation_1.Model.pk(updated);
214
214
  await cacheModelForPopulate(context, model, key, updated[pk], updated);
215
215
  model[key] = updated[pk];
216
216
  }
@@ -340,7 +340,7 @@ async function oneToManyOnCreate(context, data, key, model) {
340
340
  model[key] = [...uniqueValues];
341
341
  return;
342
342
  }
343
- const pkName = (0, db_decorators_1.findPrimaryKey)(propertyValues[0]).id;
343
+ const pkName = decorator_validation_1.Model.pk(propertyValues[0]);
344
344
  const result = new Set();
345
345
  for (const m of propertyValues) {
346
346
  const record = await createOrUpdate(m, context, this.adapter.alias);
@@ -618,16 +618,7 @@ const commomTypes = [
618
618
  *
619
619
  * Caller->>repositoryFromTypeMetadata: model, propertyKey
620
620
  *
621
- * repositoryFromTypeMetadata->>Validation: key(Array.isArray(model[propertyKey]) ? ValidationKeys.LIST : ValidationKeys.TYPE)
622
- * Validation-->>repositoryFromTypeMetadata: validationKey
623
- *
624
- * repositoryFromTypeMetadata->>Reflect: getMetadata(validationKey, model, propertyKey)
625
- * Reflect-->>repositoryFromTypeMetadata: types
626
- *
627
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: determine customTypes based on property type
628
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if types and customTypes exist
629
- *
630
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: create allowedTypes array
621
+ * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: Get allowedTypes array
631
622
  * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: find constructorName not in commomTypes
632
623
  * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if constructorName exists
633
624
  *
@@ -641,21 +632,18 @@ const commomTypes = [
641
632
  * repositoryFromTypeMetadata-->>Caller: repo
642
633
  */
643
634
  function repositoryFromTypeMetadata(model, propertyKey, alias) {
644
- const types = Reflect.getMetadata(decorator_validation_1.Validation.key(Array.isArray(model[propertyKey])
645
- ? decorator_validation_1.ValidationKeys.LIST
646
- : decorator_validation_1.ValidationKeys.TYPE), model, propertyKey);
647
- const customTypes = Array.isArray(model[propertyKey])
648
- ? types.clazz
649
- : types.customTypes;
650
- if (!types || !customTypes)
651
- throw new db_decorators_1.InternalError(`Failed to find types decorators for property ${propertyKey}`);
652
- const allowedTypes = (Array.isArray(customTypes) ? [...customTypes] : [customTypes]).map((t) => (typeof t === "function" ? t() : t));
653
- const constructorName = allowedTypes.find((t) => !commomTypes.includes(`${t}`.toLowerCase()));
654
- if (!constructorName)
655
- throw new db_decorators_1.InternalError(`Property key ${propertyKey} does not have a valid constructor type`);
656
- const constructor = decorator_validation_1.Model.get(constructorName);
657
- if (!constructor)
658
- throw new db_decorators_1.InternalError(`No registered model found for ${constructorName}`);
635
+ if (!model)
636
+ throw new Error("No model was provided to get repository");
637
+ let allowedTypes;
638
+ if (Array.isArray(model[propertyKey]) || model[propertyKey] instanceof Set) {
639
+ const customTypes = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(decorator_validation_1.ValidationKeys.REFLECT, propertyKey, decorator_validation_1.ValidationKeys.LIST))?.clazz;
640
+ if (!customTypes)
641
+ throw new db_decorators_1.InternalError(`Failed to find types decorators for property ${propertyKey}`);
642
+ allowedTypes = (Array.isArray(customTypes) ? [...customTypes] : [customTypes]).map((t) => (typeof t === "function" && !t.name ? t() : t));
643
+ }
644
+ else
645
+ allowedTypes = decoration_1.Metadata.getPropDesignTypes(model instanceof decorator_validation_1.Model ? model.constructor : model, propertyKey)?.designTypes;
646
+ const constructor = allowedTypes?.find((t) => !commomTypes.includes(`${t.name}`.toLowerCase()));
659
647
  return Repository_1.Repository.forModel(constructor, alias);
660
648
  }
661
649
  //# sourceMappingURL=construction.js.map
@@ -426,16 +426,7 @@ export declare function populate<M extends Model, R extends Repo<M, F, C>, V ext
426
426
  *
427
427
  * Caller->>repositoryFromTypeMetadata: model, propertyKey
428
428
  *
429
- * repositoryFromTypeMetadata->>Validation: key(Array.isArray(model[propertyKey]) ? ValidationKeys.LIST : ValidationKeys.TYPE)
430
- * Validation-->>repositoryFromTypeMetadata: validationKey
431
- *
432
- * repositoryFromTypeMetadata->>Reflect: getMetadata(validationKey, model, propertyKey)
433
- * Reflect-->>repositoryFromTypeMetadata: types
434
- *
435
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: determine customTypes based on property type
436
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if types and customTypes exist
437
- *
438
- * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: create allowedTypes array
429
+ * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: Get allowedTypes array
439
430
  * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: find constructorName not in commomTypes
440
431
  * repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if constructorName exists
441
432
  *
@@ -448,4 +439,4 @@ export declare function populate<M extends Model, R extends Repo<M, F, C>, V ext
448
439
  *
449
440
  * repositoryFromTypeMetadata-->>Caller: repo
450
441
  */
451
- export declare function repositoryFromTypeMetadata<M extends Model>(model: any, propertyKey: string | keyof M, alias?: string): Repo<M>;
442
+ export declare function repositoryFromTypeMetadata<M extends Model>(model: M, propertyKey: keyof M, alias?: string): Repo<M>;
@@ -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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"}