@decaf-ts/db-decorators 0.6.11 → 0.6.12

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 (163) hide show
  1. package/README.md +23 -3
  2. package/dist/db-decorators.cjs +2 -2989
  3. package/dist/db-decorators.cjs.map +1 -0
  4. package/dist/db-decorators.js +2 -0
  5. package/dist/db-decorators.js.map +1 -0
  6. package/lib/esm/identity/decorators.js +1 -1
  7. package/lib/esm/identity/decorators.js.map +1 -0
  8. package/lib/esm/identity/index.js +1 -1
  9. package/lib/esm/identity/index.js.map +1 -0
  10. package/lib/esm/identity/utils.js +1 -1
  11. package/lib/esm/identity/utils.js.map +1 -0
  12. package/lib/esm/index.js +1 -1
  13. package/lib/esm/index.js.map +1 -0
  14. package/lib/esm/interfaces/BulkCrudOperator.js +1 -1
  15. package/lib/esm/interfaces/BulkCrudOperator.js.map +1 -0
  16. package/lib/esm/interfaces/Contextual.js +1 -1
  17. package/lib/esm/interfaces/Contextual.js.map +1 -0
  18. package/lib/esm/interfaces/CrudOperator.js +1 -1
  19. package/lib/esm/interfaces/CrudOperator.js.map +1 -0
  20. package/lib/esm/interfaces/IRepository.js +1 -1
  21. package/lib/esm/interfaces/IRepository.js.map +1 -0
  22. package/lib/esm/interfaces/index.js +1 -1
  23. package/lib/esm/interfaces/index.js.map +1 -0
  24. package/lib/esm/model/constants.js +1 -1
  25. package/lib/esm/model/constants.js.map +1 -0
  26. package/lib/esm/model/decorators.js +1 -1
  27. package/lib/esm/model/decorators.js.map +1 -0
  28. package/lib/esm/model/index.js +1 -1
  29. package/lib/esm/model/index.js.map +1 -0
  30. package/lib/esm/model/model.js +1 -1
  31. package/lib/esm/model/model.js.map +1 -0
  32. package/lib/esm/model/overrides.js +1 -1
  33. package/lib/esm/model/overrides.js.map +1 -0
  34. package/lib/esm/model/utils.js +1 -1
  35. package/lib/esm/model/utils.js.map +1 -0
  36. package/lib/esm/model/validation.js +1 -1
  37. package/lib/esm/model/validation.js.map +1 -0
  38. package/lib/esm/operations/Operations.js +1 -1
  39. package/lib/esm/operations/Operations.js.map +1 -0
  40. package/lib/esm/operations/OperationsRegistry.js +1 -1
  41. package/lib/esm/operations/OperationsRegistry.js.map +1 -0
  42. package/lib/esm/operations/constants.js +1 -1
  43. package/lib/esm/operations/constants.js.map +1 -0
  44. package/lib/esm/operations/decorators.js +1 -1
  45. package/lib/esm/operations/decorators.js.map +1 -0
  46. package/lib/esm/operations/index.js +1 -1
  47. package/lib/esm/operations/index.js.map +1 -0
  48. package/lib/esm/operations/types.js +1 -1
  49. package/lib/esm/operations/types.js.map +1 -0
  50. package/lib/esm/repository/BaseRepository.js +1 -1
  51. package/lib/esm/repository/BaseRepository.js.map +1 -0
  52. package/lib/esm/repository/Context.js +1 -1
  53. package/lib/esm/repository/Context.js.map +1 -0
  54. package/lib/esm/repository/Repository.js +1 -1
  55. package/lib/esm/repository/Repository.js.map +1 -0
  56. package/lib/esm/repository/constants.js +1 -1
  57. package/lib/esm/repository/constants.js.map +1 -0
  58. package/lib/esm/repository/errors.js +1 -1
  59. package/lib/esm/repository/errors.js.map +1 -0
  60. package/lib/esm/repository/index.js +1 -1
  61. package/lib/esm/repository/index.js.map +1 -0
  62. package/lib/esm/repository/types.js +1 -1
  63. package/lib/esm/repository/types.js.map +1 -0
  64. package/lib/esm/repository/utils.js +1 -1
  65. package/lib/esm/repository/utils.js.map +1 -0
  66. package/lib/esm/repository/wrappers.js +1 -1
  67. package/lib/esm/repository/wrappers.js.map +1 -0
  68. package/lib/esm/validation/constants.js +1 -1
  69. package/lib/esm/validation/constants.js.map +1 -0
  70. package/lib/esm/validation/decorators.js +1 -1
  71. package/lib/esm/validation/decorators.js.map +1 -0
  72. package/lib/esm/validation/index.js +1 -1
  73. package/lib/esm/validation/index.js.map +1 -0
  74. package/lib/esm/validation/validation.js +1 -1
  75. package/lib/esm/validation/validation.js.map +1 -0
  76. package/lib/esm/validation/validators/ReadOnlyValidator.js +1 -1
  77. package/lib/esm/validation/validators/ReadOnlyValidator.js.map +1 -0
  78. package/lib/esm/validation/validators/TimestampValidator.js +1 -1
  79. package/lib/esm/validation/validators/TimestampValidator.js.map +1 -0
  80. package/lib/esm/validation/validators/UpdateValidator.js +1 -1
  81. package/lib/esm/validation/validators/UpdateValidator.js.map +1 -0
  82. package/lib/esm/validation/validators/index.js +1 -1
  83. package/lib/esm/validation/validators/index.js.map +1 -0
  84. package/lib/identity/decorators.cjs +1 -1
  85. package/lib/identity/decorators.js.map +1 -0
  86. package/lib/identity/index.cjs +1 -1
  87. package/lib/identity/index.js.map +1 -0
  88. package/lib/identity/utils.cjs +1 -1
  89. package/lib/identity/utils.js.map +1 -0
  90. package/lib/index.cjs +1 -1
  91. package/lib/index.js.map +1 -0
  92. package/lib/interfaces/BulkCrudOperator.cjs +1 -1
  93. package/lib/interfaces/BulkCrudOperator.js.map +1 -0
  94. package/lib/interfaces/Contextual.cjs +1 -1
  95. package/lib/interfaces/Contextual.js.map +1 -0
  96. package/lib/interfaces/CrudOperator.cjs +1 -1
  97. package/lib/interfaces/CrudOperator.js.map +1 -0
  98. package/lib/interfaces/IRepository.cjs +1 -1
  99. package/lib/interfaces/IRepository.js.map +1 -0
  100. package/lib/interfaces/index.cjs +1 -1
  101. package/lib/interfaces/index.js.map +1 -0
  102. package/lib/model/constants.cjs +1 -1
  103. package/lib/model/constants.js.map +1 -0
  104. package/lib/model/decorators.cjs +1 -1
  105. package/lib/model/decorators.js.map +1 -0
  106. package/lib/model/index.cjs +1 -1
  107. package/lib/model/index.js.map +1 -0
  108. package/lib/model/model.cjs +1 -1
  109. package/lib/model/model.js.map +1 -0
  110. package/lib/model/overrides.cjs +1 -1
  111. package/lib/model/overrides.js.map +1 -0
  112. package/lib/model/utils.cjs +1 -1
  113. package/lib/model/utils.js.map +1 -0
  114. package/lib/model/validation.cjs +1 -1
  115. package/lib/model/validation.js.map +1 -0
  116. package/lib/operations/Operations.cjs +1 -1
  117. package/lib/operations/Operations.js.map +1 -0
  118. package/lib/operations/OperationsRegistry.cjs +1 -1
  119. package/lib/operations/OperationsRegistry.js.map +1 -0
  120. package/lib/operations/constants.cjs +1 -1
  121. package/lib/operations/constants.js.map +1 -0
  122. package/lib/operations/decorators.cjs +1 -1
  123. package/lib/operations/decorators.js.map +1 -0
  124. package/lib/operations/index.cjs +1 -1
  125. package/lib/operations/index.js.map +1 -0
  126. package/lib/operations/types.cjs +1 -1
  127. package/lib/operations/types.js.map +1 -0
  128. package/lib/repository/BaseRepository.cjs +1 -1
  129. package/lib/repository/BaseRepository.js.map +1 -0
  130. package/lib/repository/Context.cjs +1 -1
  131. package/lib/repository/Context.js.map +1 -0
  132. package/lib/repository/Repository.cjs +1 -1
  133. package/lib/repository/Repository.js.map +1 -0
  134. package/lib/repository/constants.cjs +1 -1
  135. package/lib/repository/constants.js.map +1 -0
  136. package/lib/repository/errors.cjs +1 -1
  137. package/lib/repository/errors.js.map +1 -0
  138. package/lib/repository/index.cjs +1 -1
  139. package/lib/repository/index.js.map +1 -0
  140. package/lib/repository/types.cjs +1 -1
  141. package/lib/repository/types.js.map +1 -0
  142. package/lib/repository/utils.cjs +1 -1
  143. package/lib/repository/utils.js.map +1 -0
  144. package/lib/repository/wrappers.cjs +1 -1
  145. package/lib/repository/wrappers.js.map +1 -0
  146. package/lib/validation/constants.cjs +1 -1
  147. package/lib/validation/constants.js.map +1 -0
  148. package/lib/validation/decorators.cjs +1 -1
  149. package/lib/validation/decorators.js.map +1 -0
  150. package/lib/validation/index.cjs +1 -1
  151. package/lib/validation/index.js.map +1 -0
  152. package/lib/validation/validation.cjs +1 -1
  153. package/lib/validation/validation.js.map +1 -0
  154. package/lib/validation/validators/ReadOnlyValidator.cjs +1 -1
  155. package/lib/validation/validators/ReadOnlyValidator.js.map +1 -0
  156. package/lib/validation/validators/TimestampValidator.cjs +1 -1
  157. package/lib/validation/validators/TimestampValidator.js.map +1 -0
  158. package/lib/validation/validators/UpdateValidator.cjs +1 -1
  159. package/lib/validation/validators/UpdateValidator.js.map +1 -0
  160. package/lib/validation/validators/index.cjs +1 -1
  161. package/lib/validation/validators/index.js.map +1 -0
  162. package/package.json +12 -24
  163. package/dist/db-decorators.esm.cjs +0 -2917
package/README.md CHANGED
@@ -1,10 +1,9 @@
1
- ![Banner](./workdocs/assets/Banner.png)
1
+ ![Banner](./workdocs/assets/decaf-logo.svg)
2
2
  ### DB-Decorators: Database Operations Made Simple
3
3
 
4
4
  The db-decorators library provides a comprehensive set of TypeScript decorators and utilities for database operations. It implements the repository pattern with support for model definition, validation, identity management, and operation hooks. The library enables developers to define database models with decorators, perform CRUD operations with validation, and customize behavior during database operations through operation hooks.
5
5
 
6
6
 
7
-
8
7
  ![Licence](https://img.shields.io/github/license/decaf-ts/db-decorators.svg?style=plastic)
9
8
  ![GitHub language count](https://img.shields.io/github/languages/count/decaf-ts/db-decorators?style=plastic)
10
9
  ![GitHub top language](https://img.shields.io/github/languages/top/decaf-ts/db-decorators?style=plastic)
@@ -28,6 +27,9 @@ The db-decorators library provides a comprehensive set of TypeScript decorators
28
27
 
29
28
  Documentation available [here](https://decaf-ts.github.io/db-decorators/)
30
29
 
30
+ Minimal size: 7.1 KB kb gzipped
31
+
32
+
31
33
 
32
34
  ### DB-Decorators
33
35
 
@@ -607,6 +609,24 @@ console.log("Empty ID:", emptyId);
607
609
 
608
610
 
609
611
 
612
+ ## Coding Principles
613
+
614
+ - group similar functionality in folders (analog to namespaces but without any namespace declaration)
615
+ - one class per file;
616
+ - one interface per file (unless interface is just used as a type);
617
+ - group types as other interfaces in a types.ts file per folder;
618
+ - group constants or enums in a constants.ts file per folder;
619
+ - group decorators in a decorators.ts file per folder;
620
+ - always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages);
621
+ - prefer the usage of established design patters where applicable:
622
+ - Singleton (can be an anti-pattern. use with care);
623
+ - factory;
624
+ - observer;
625
+ - strategy;
626
+ - builder;
627
+ - etc;
628
+
629
+
610
630
  ### Related
611
631
 
612
632
  [![decaf-ts](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=decaf-ts)](https://github.com/decaf-ts/decaf-ts)
@@ -648,4 +668,4 @@ So if you can, if this project in any way. either by learning something or simpl
648
668
 
649
669
  This project is released under the [MIT License](./LICENSE.md).
650
670
 
651
- By developers, for developers...
671
+ By developers, for developers...