@decaf-ts/db-decorators 0.6.20 → 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 (130) hide show
  1. package/README.md +1 -1
  2. package/dist/db-decorators.cjs +1 -1
  3. package/dist/db-decorators.cjs.map +1 -1
  4. package/dist/db-decorators.js +1 -1
  5. package/dist/db-decorators.js.map +1 -1
  6. package/lib/esm/identity/decorators.d.ts +1 -1
  7. package/lib/esm/identity/decorators.js +8 -4
  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 +3 -1
  13. package/lib/esm/index.js +5 -1
  14. package/lib/esm/index.js.map +1 -1
  15. package/lib/esm/model/constants.js +1 -1
  16. package/lib/esm/model/constants.js.map +1 -1
  17. package/lib/esm/model/decorators.d.ts +3 -3
  18. package/lib/esm/model/decorators.js +9 -11
  19. package/lib/esm/model/decorators.js.map +1 -1
  20. package/lib/esm/model/index.d.ts +0 -2
  21. package/lib/esm/model/index.js +0 -2
  22. package/lib/esm/model/index.js.map +1 -1
  23. package/lib/esm/model/validation.d.ts +7 -7
  24. package/lib/esm/model/validation.js +52 -56
  25. package/lib/esm/model/validation.js.map +1 -1
  26. package/lib/esm/operations/constants.d.ts +11 -0
  27. package/lib/esm/operations/constants.js +12 -0
  28. package/lib/esm/operations/constants.js.map +1 -1
  29. package/lib/esm/operations/decorators.js +4 -6
  30. package/lib/esm/operations/decorators.js.map +1 -1
  31. package/lib/esm/overrides/Metadata.d.ts +50 -0
  32. package/lib/esm/overrides/Metadata.js +2 -0
  33. package/lib/esm/overrides/Metadata.js.map +1 -0
  34. package/lib/esm/overrides/Model.d.ts +65 -0
  35. package/lib/esm/overrides/Model.js +2 -0
  36. package/lib/esm/overrides/Model.js.map +1 -0
  37. package/lib/esm/overrides/index.d.ts +3 -0
  38. package/lib/esm/overrides/index.js +4 -0
  39. package/lib/esm/overrides/index.js.map +1 -0
  40. package/lib/esm/overrides/overrides.js +102 -0
  41. package/lib/esm/overrides/overrides.js.map +1 -0
  42. package/lib/esm/repository/BaseRepository.d.ts +3 -1
  43. package/lib/esm/repository/BaseRepository.js +6 -4
  44. package/lib/esm/repository/BaseRepository.js.map +1 -1
  45. package/lib/esm/repository/Context.d.ts +2 -1
  46. package/lib/esm/repository/Context.js.map +1 -1
  47. package/lib/esm/repository/Repository.d.ts +2 -9
  48. package/lib/esm/repository/Repository.js +0 -11
  49. package/lib/esm/repository/Repository.js.map +1 -1
  50. package/lib/esm/repository/types.d.ts +2 -1
  51. package/lib/esm/repository/utils.d.ts +2 -16
  52. package/lib/esm/repository/utils.js +96 -77
  53. package/lib/esm/repository/utils.js.map +1 -1
  54. package/lib/esm/validation/decorators.d.ts +1 -1
  55. package/lib/esm/validation/decorators.js +13 -8
  56. package/lib/esm/validation/decorators.js.map +1 -1
  57. package/lib/esm/validation/validators/ReadOnlyValidator.js +1 -1
  58. package/lib/esm/validation/validators/ReadOnlyValidator.js.map +1 -1
  59. package/lib/identity/decorators.cjs +7 -3
  60. package/lib/identity/decorators.d.ts +1 -1
  61. package/lib/identity/decorators.js.map +1 -1
  62. package/lib/identity/index.cjs +0 -1
  63. package/lib/identity/index.d.ts +0 -1
  64. package/lib/identity/index.js.map +1 -1
  65. package/lib/index.cjs +6 -2
  66. package/lib/index.d.ts +3 -1
  67. package/lib/index.js.map +1 -1
  68. package/lib/model/constants.cjs +1 -1
  69. package/lib/model/constants.js.map +1 -1
  70. package/lib/model/decorators.cjs +10 -12
  71. package/lib/model/decorators.d.ts +3 -3
  72. package/lib/model/decorators.js.map +1 -1
  73. package/lib/model/index.cjs +0 -2
  74. package/lib/model/index.d.ts +0 -2
  75. package/lib/model/index.js.map +1 -1
  76. package/lib/model/validation.cjs +51 -55
  77. package/lib/model/validation.d.ts +7 -7
  78. package/lib/model/validation.js.map +1 -1
  79. package/lib/operations/constants.cjs +13 -1
  80. package/lib/operations/constants.d.ts +11 -0
  81. package/lib/operations/constants.js.map +1 -1
  82. package/lib/operations/decorators.cjs +3 -5
  83. package/lib/operations/decorators.js.map +1 -1
  84. package/lib/overrides/Metadata.cjs +3 -0
  85. package/lib/overrides/Metadata.d.ts +50 -0
  86. package/lib/overrides/Metadata.js.map +1 -0
  87. package/lib/overrides/Model.cjs +4 -0
  88. package/lib/overrides/Model.d.ts +65 -0
  89. package/lib/overrides/Model.js.map +1 -0
  90. package/lib/overrides/index.cjs +20 -0
  91. package/lib/overrides/index.d.ts +3 -0
  92. package/lib/overrides/index.js.map +1 -0
  93. package/lib/overrides/overrides.cjs +104 -0
  94. package/lib/overrides/overrides.js.map +1 -0
  95. package/lib/repository/BaseRepository.cjs +6 -4
  96. package/lib/repository/BaseRepository.d.ts +3 -1
  97. package/lib/repository/BaseRepository.js.map +1 -1
  98. package/lib/repository/Context.d.ts +2 -1
  99. package/lib/repository/Context.js.map +1 -1
  100. package/lib/repository/Repository.cjs +0 -11
  101. package/lib/repository/Repository.d.ts +2 -9
  102. package/lib/repository/Repository.js.map +1 -1
  103. package/lib/repository/types.d.ts +2 -1
  104. package/lib/repository/utils.cjs +96 -78
  105. package/lib/repository/utils.d.ts +2 -16
  106. package/lib/repository/utils.js.map +1 -1
  107. package/lib/validation/decorators.cjs +16 -11
  108. package/lib/validation/decorators.d.ts +1 -1
  109. package/lib/validation/decorators.js.map +1 -1
  110. package/lib/validation/validators/ReadOnlyValidator.cjs +2 -2
  111. package/lib/validation/validators/ReadOnlyValidator.js.map +1 -1
  112. package/package.json +2 -3
  113. package/lib/esm/identity/utils.d.ts +0 -47
  114. package/lib/esm/identity/utils.js +0 -75
  115. package/lib/esm/identity/utils.js.map +0 -1
  116. package/lib/esm/model/overrides.js +0 -33
  117. package/lib/esm/model/overrides.js.map +0 -1
  118. package/lib/esm/model/utils.d.ts +0 -45
  119. package/lib/esm/model/utils.js +0 -71
  120. package/lib/esm/model/utils.js.map +0 -1
  121. package/lib/identity/utils.cjs +0 -79
  122. package/lib/identity/utils.d.ts +0 -47
  123. package/lib/identity/utils.js.map +0 -1
  124. package/lib/model/overrides.cjs +0 -35
  125. package/lib/model/overrides.js.map +0 -1
  126. package/lib/model/utils.cjs +0 -75
  127. package/lib/model/utils.d.ts +0 -45
  128. package/lib/model/utils.js.map +0 -1
  129. /package/lib/esm/{model → overrides}/overrides.d.ts +0 -0
  130. /package/lib/{model → overrides}/overrides.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/repository/utils.ts","../src/operations/decorators.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/identity/utils.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/model/utils.ts","../src/model/overrides.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","getHandlerArgs","dec","prop","m","props","handlers","async","enforceDBDecorators","repo","context","model","prefix","oldModel","decorators","getDbDecorators","sortedDecorators","sortDecorators","groupDecorators","getHandlersDecorators","data","length","ON","push","apply","extraPrefix","Reflection","getAllPropertyDecorators","keys","reduce","decorator","filter","d","getAllPropertyDecoratorsRecursive","prefixes","accumulator","decs","entries","forEach","val","match","find","TYPE","RegExp","AFTER","accumHandlers","clazz","handlerDef","handlerProp","handlerKey","argsObj","pushOrSquash","mergeDecorators","defaultPriority","DefaultGroupSort","priority","handlerArgs","i","grouped","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","combined","map","sort","a","b","groupPriority","c","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","baseOp","dataToAdd","propertyKey","compoundKey","Reflect","getMetadata","mergeData","handle","propMetadata","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","DefaultContextFactory","arg","Context","accumulate","assign","timestamp","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","obj","afterName","wrapped","results","Promise","resolve","call","bind","suffixMethod","before","suffix","beforeName","wrapMethodWithContext","method","methodName","Proxy","thisArg","argArray","transformedArgs","findPrimaryKey","idDecorators","filtered","sf","join","idProp","id","findModelId","returnEmpty","modelId","BaseRepository","_class","pk","_pk","class","_pkProps","pkProps","self","create","read","update","delete","createAll","models","all","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","merge","extract","Repository","errors","ids","oldModels","readonly","Decoration","for","define","timestampHandler","format","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","validationPropertyDefinition","getValidationDecorators","listDecorator","ValidationKeys","LIST","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","validationErrors","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","customTypes","flat","t","toLowerCase","errs","childValue","el","Model","isModel","then","every","r","allEmpty","promises","resolvedValues","res","validateCompare","exceptions","nestedErrors","propValue","designTypeDec","designType","getPropertyDecorators","some","isArray","splice","propErrors","isConstr","isPropertyModel","instance","error","ModelErrorDefinition","merged","allSettled","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","separator","composed","composedFrom","hashResult","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","isTransient","modelToTransient","build","previousVersion","exclusions","isAsync","validate","resolvedErrs"],"mappings":"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"}
1
+ {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/repository/utils.ts","../src/operations/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/BaseRepository.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","name","unshift","Object","values","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","getHandlerArgs","dec","prop","m","props","handlers","async","enforceDBDecorators","repo","context","model","prefix","oldModel","decorators","getDbDecorators","sortedDecorators","sortDecorators","groupDecorators","getHandlersDecorators","data","length","ON","push","apply","extraPrefix","replace","Metadata","OPERATIONS","keys","reduce","decorator","obj","filter","d","decs","defaultPriority","DefaultGroupSort","priority","handlerArgs","i","grouped","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","sort","a","b","groupPriority","c","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","handle","propMetadata","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","readonly","meta","description","Decoration","for","define","innerValidationDecorator","timestampHandler","timestamp","format","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","Model","pk","oldListModel","find","el","isModel","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","designType","getPropDesignTypes","some","TYPE","isArray","propErrors","isConstr","isPropertyModel","instance","Constr","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","join","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","suffix","separator","composed","arg","composedFrom","hashResult","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","toTransient","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","saveOperation","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","DefaultContextFactory","Context","accumulate","assign","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","wrapped","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","Proxy","thisArg","argArray","transformedArgs","BaseRepository","_class","_pk","_pkProps","pkProps","self","create","read","update","delete","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","merge","extract","Repository","errors","ids","oldModels","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -5,4 +5,4 @@
5
5
  * @function id
6
6
  * @category Property Decorators
7
7
  */
8
- export declare function id(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
8
+ export declare function id(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
@@ -1,8 +1,7 @@
1
- import { propMetadata, required } from "@decaf-ts/decorator-validation";
1
+ import { required } from "@decaf-ts/decorator-validation";
2
2
  import { readonly } from "./../validation/index.js";
3
3
  import { DBKeys } from "./../model/constants.js";
4
- import { Repository } from "./../repository/index.js";
5
- import { apply } from "@decaf-ts/reflection";
4
+ import { propMetadata, apply, Metadata } from "@decaf-ts/decoration";
6
5
  /**
7
6
  * @description Decorator that marks a property as an ID field
8
7
  * @summary Creates a composite decorator that marks a property as required, readonly, and as the ID field for database operations
@@ -11,6 +10,11 @@ import { apply } from "@decaf-ts/reflection";
11
10
  * @category Property Decorators
12
11
  */
13
12
  export function id() {
14
- return apply(required(), readonly(), propMetadata(Repository.key(DBKeys.ID), {}));
13
+ function idDecorator() {
14
+ return function idDecorator(model, prop) {
15
+ return propMetadata(Metadata.key(DBKeys.ID, prop), {})(model, prop);
16
+ };
17
+ }
18
+ return apply(required(), readonly(), idDecorator());
15
19
  }
16
20
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/identity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,iCAAsB;AACzC,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,UAAU,EAAE,iCAAsB;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,EAAE;IAChB,OAAO,KAAK,CACV,QAAQ,EAAE,EACV,QAAQ,EAAE,EACV,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/identity/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,iCAAsB;AACzC,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,EAAE;IAChB,SAAS,WAAW;QAClB,OAAO,SAAS,WAAW,CAAC,KAAa,EAAE,IAAU;YACnD,OAAO,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -1,2 +1 @@
1
1
  export * from "./decorators";
2
- export * from "./utils";
@@ -1,3 +1,2 @@
1
1
  export * from "./decorators.js";
2
- export * from "./utils.js";
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identity/index.ts"],"names":[],"mappings":"AAAA,gCAA6B"}
@@ -2,6 +2,7 @@ export * from "./identity";
2
2
  export * from "./interfaces";
3
3
  export * from "./model";
4
4
  export * from "./operations";
5
+ export * from "./overrides";
5
6
  export * from "./repository";
6
7
  export * from "./validation";
7
8
  /**
@@ -15,4 +16,5 @@ export * from "./validation";
15
16
  * @const VERSION
16
17
  * @memberOf module:db-decorators
17
18
  */
18
- export declare const VERSION = "0.6.19";
19
+ export declare const VERSION = "0.6.20";
20
+ export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
package/lib/esm/index.js CHANGED
@@ -1,7 +1,9 @@
1
+ import { Metadata } from "@decaf-ts/decoration";
1
2
  export * from "./identity/index.js";
2
3
  export * from "./interfaces/index.js";
3
4
  export * from "./model/index.js";
4
5
  export * from "./operations/index.js";
6
+ export * from "./overrides/index.js";
5
7
  export * from "./repository/index.js";
6
8
  export * from "./validation/index.js";
7
9
  /**
@@ -15,5 +17,7 @@ export * from "./validation/index.js";
15
17
  * @const VERSION
16
18
  * @memberOf module:db-decorators
17
19
  */
18
- export const VERSION = "0.6.19";
20
+ export const VERSION = "0.6.20";
21
+ export const PACKAGE_NAME = "@decaf-ts/db-decorators";
22
+ Metadata.registerLibrary(PACKAGE_NAME, VERSION);
19
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oCAA2B;AAC3B,sCAA6B;AAC7B,iCAAwB;AACxB,sCAA6B;AAC7B,sCAA6B;AAC7B,sCAA6B;AAE7B;;;;GAIG;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,oCAA2B;AAC3B,sCAA6B;AAC7B,iCAAwB;AACxB,sCAA6B;AAC7B,qCAA4B;AAC5B,sCAA6B;AAC7B,sCAA6B;AAE7B;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAC1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { ModelKeys } from "@decaf-ts/decorator-validation";
6
6
  * @memberOf module:db-decorators
7
7
  */
8
8
  export const DBKeys = {
9
- REFLECT: `${ModelKeys.REFLECT}persistence.`,
9
+ REFLECT: `${ModelKeys.MODEL}.persistence.`,
10
10
  REPOSITORY: "repository",
11
11
  CLASS: "_class",
12
12
  ID: "id",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,cAAc;IAC3C,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,eAAe;IAC1C,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
@@ -28,7 +28,7 @@ export declare function hashOnCreateUpdate<M extends Model, R extends IRepositor
28
28
  * @function hash
29
29
  * @category Property Decorators
30
30
  */
31
- export declare function hash(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
31
+ export declare function hash(): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
32
32
  /**
33
33
  * @description Metadata for composed property decorators
34
34
  * @summary Configuration options for property composition from other properties
@@ -79,7 +79,7 @@ export declare function composedFromCreateUpdate<M extends Model, R extends IRep
79
79
  * @function composedFromKeys
80
80
  * @category PropertyDecorators
81
81
  */
82
- export declare function composedFromKeys(args: string[], separator?: string, hash?: boolean, prefix?: string, suffix?: string, groupsort?: GroupSort): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
82
+ export declare function composedFromKeys(args: string[], separator?: string, hash?: boolean, prefix?: string, suffix?: string, groupsort?: GroupSort): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
83
83
  /**
84
84
  * @description Creates a decorator that composes a property value from property values
85
85
  * @summary Decorator that generates a property value by joining the values of other properties
@@ -93,7 +93,7 @@ export declare function composedFromKeys(args: string[], separator?: string, has
93
93
  * @function composed
94
94
  * @category PropertyDecorators
95
95
  */
96
- export declare function composed(args: string[], separator?: string, hash?: boolean, prefix?: string, suffix?: string, groupsort?: GroupSort): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor) => void;
96
+ export declare function composed(args: string[], separator?: string, hash?: boolean, prefix?: string, suffix?: string, groupsort?: GroupSort): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
97
97
  /**
98
98
  * @description Creates a function that updates a version property during operations
99
99
  * @summary Factory function that generates a callback for incrementing version numbers
@@ -1,10 +1,9 @@
1
1
  import { DBKeys, DefaultSeparator } from "./constants.js";
2
- import { apply } from "@decaf-ts/reflection";
3
- import { Decoration, Hashing, propMetadata, type, } from "@decaf-ts/decorator-validation";
2
+ import { Hashing, type } from "@decaf-ts/decorator-validation";
4
3
  import { onCreate, onCreateUpdate, onUpdate } from "./../operations/decorators.js";
5
4
  import { InternalError } from "./../repository/errors.js";
6
- import { Repository } from "./../repository/Repository.js";
7
5
  import { OperationKeys } from "./../operations/index.js";
6
+ import { Decoration, propMetadata, apply, Metadata, } from "@decaf-ts/decoration";
8
7
  /**
9
8
  * @description Hashes a property value during create or update operations
10
9
  * @summary Callback function used by the hash decorator to apply hashing to a property value
@@ -38,7 +37,7 @@ export function hashOnCreateUpdate(context, data, key, model, oldModel) {
38
37
  * @category Property Decorators
39
38
  */
40
39
  export function hash() {
41
- return apply(onCreateUpdate(hashOnCreateUpdate), propMetadata(Repository.key(DBKeys.HASH), {}));
40
+ return apply(onCreateUpdate(hashOnCreateUpdate), propMetadata(DBKeys.HASH, {}));
42
41
  }
43
42
  /**
44
43
  * @description Composes a property value from other properties during create or update operations
@@ -103,7 +102,7 @@ function composedFrom(args, hashResult = false, separator = DefaultSeparator, ty
103
102
  };
104
103
  const decorators = [
105
104
  onCreateUpdate(composedFromCreateUpdate, data, groupsort),
106
- propMetadata(Repository.key(DBKeys.COMPOSED), data),
105
+ propMetadata(DBKeys.COMPOSED, data),
107
106
  ];
108
107
  if (hashResult)
109
108
  decorators.push(hash());
@@ -198,9 +197,9 @@ export function versionCreateUpdate(operation) {
198
197
  * @category PropertyDecorators
199
198
  */
200
199
  export function version() {
201
- const key = Repository.key(DBKeys.VERSION);
200
+ const key = DBKeys.VERSION;
202
201
  return Decoration.for(key)
203
- .define(type(Number.name), onCreate(versionCreateUpdate(OperationKeys.CREATE)), onUpdate(versionCreateUpdate(OperationKeys.UPDATE)), propMetadata(key, true))
202
+ .define(type(Number), onCreate(versionCreateUpdate(OperationKeys.CREATE)), onUpdate(versionCreateUpdate(OperationKeys.UPDATE)), propMetadata(key, true))
204
203
  .apply();
205
204
  }
206
205
  /**
@@ -211,11 +210,10 @@ export function version() {
211
210
  * @category PropertyDecorators
212
211
  */
213
212
  export function transient() {
214
- const key = Repository.key(DBKeys.TRANSIENT);
215
- return Decoration.for(key)
213
+ return Decoration.for(DBKeys.TRANSIENT)
216
214
  .define(function transient(model, attribute) {
217
- propMetadata(Repository.key(DBKeys.TRANSIENT), true)(model, attribute);
218
- propMetadata(Repository.key(DBKeys.TRANSIENT), true)(model.constructor);
215
+ propMetadata(DBKeys.TRANSIENT, true)(model.constructor);
216
+ propMetadata(Metadata.key(DBKeys.TRANSIENT, attribute), {})(model, attribute);
219
217
  })
220
218
  .apply();
221
219
  }
@@ -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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"}
@@ -2,5 +2,3 @@ export * from "./validation";
2
2
  export * from "./constants";
3
3
  export * from "./decorators";
4
4
  export * from "./model";
5
- export * from "./overrides";
6
- export * from "./utils";
@@ -2,6 +2,4 @@ export * from "./validation.js";
2
2
  export * from "./constants.js";
3
3
  export * from "./decorators.js";
4
4
  export * from "./model.js";
5
- export * from "./overrides.js";
6
- export * from "./utils.js";
7
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,+BAA4B;AAC5B,gCAA6B;AAC7B,2BAAwB;AACxB,+BAA4B;AAC5B,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,+BAA4B;AAC5B,gCAA6B;AAC7B,2BAAwB"}
@@ -1,4 +1,4 @@
1
- import { ConditionalAsync, DecoratorMetadataAsync, Model, ModelConditionalAsync, ValidationPropertyDecoratorDefinition } from "@decaf-ts/decorator-validation";
1
+ import { ConditionalAsync, Model, ModelConditionalAsync } from "@decaf-ts/decorator-validation";
2
2
  /**
3
3
  * @description
4
4
  * Retrieves validation decorator definitions from a model for update operations, including
@@ -20,9 +20,9 @@ import { ConditionalAsync, DecoratorMetadataAsync, Model, ModelConditionalAsync,
20
20
  *
21
21
  * @function getValidatableUpdateProps
22
22
  */
23
- export declare function getValidatableUpdateProps<M extends Model>(model: M, propsToIgnore: string[]): ValidationPropertyDecoratorDefinition[];
24
- export declare function validateDecorator<M extends Model, Async extends boolean = false>(newModel: M, oldModel: M, prop: string, decorator: DecoratorMetadataAsync, async?: Async): ConditionalAsync<Async, string | undefined>;
25
- export declare function validateDecorators<M extends Model, Async extends boolean = false>(newModel: M, oldModel: M, prop: string, decorators: DecoratorMetadataAsync[], async?: Async): ConditionalAsync<Async, Record<string, string>> | undefined;
23
+ export declare function getValidatableUpdateProps<M extends Model>(model: M, propsToIgnore: string[]): any[];
24
+ export declare function validateDecorator<M extends Model, Async extends boolean = false>(newModel: M, oldModel: M, prop: string, decorator: any, async?: Async): ConditionalAsync<Async, string | undefined>;
25
+ export declare function validateDecorators<M extends Model, Async extends boolean = false>(newModel: M, oldModel: M, prop: string, decorators: any, async?: Async): ConditionalAsync<Async, Record<string, string>> | undefined;
26
26
  /**
27
27
  * @description Validates changes between two model versions
28
28
  * @summary Compares an old and new model version to validate update operations
@@ -30,7 +30,7 @@ export declare function validateDecorators<M extends Model, Async extends boolea
30
30
  * @param {M} oldModel - The original model version
31
31
  * @param {M} newModel - The updated model version
32
32
  * @param {boolean} async - A flag indicating whether validation should be asynchronous.
33
- * @param {...string[]} exceptions - Properties to exclude from validation
33
+ * @param {...string[]} propsToIgnore - Properties to exclude from validation
34
34
  * @return {ModelErrorDefinition|undefined} Error definition if validation fails, undefined otherwise
35
35
  * @function validateCompare
36
36
  * @memberOf module:db-decorators
@@ -41,7 +41,7 @@ export declare function validateDecorators<M extends Model, Async extends boolea
41
41
  * participant Reflection
42
42
  * participant Validation
43
43
  *
44
- * Caller->>validateCompare: oldModel, newModel, exceptions
44
+ * Caller->>validateCompare: oldModel, newModel, propsToIgnore
45
45
  * validateCompare->>Reflection: get decorated properties
46
46
  * Reflection-->>validateCompare: property decorators
47
47
  * loop For each decorated property
@@ -54,4 +54,4 @@ export declare function validateDecorators<M extends Model, Async extends boolea
54
54
  * end
55
55
  * validateCompare-->>Caller: validation errors or undefined
56
56
  */
57
- export declare function validateCompare<M extends Model<any>>(oldModel: M, newModel: M, async: boolean, ...exceptions: string[]): ModelConditionalAsync<M>;
57
+ export declare function validateCompare<M extends Model<any>>(oldModel: M, newModel: M, async: boolean, ...propsToIgnore: string[]): ModelConditionalAsync<M>;