@decaf-ts/core 0.5.41 → 0.5.43

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 (266) hide show
  1. package/LICENSE.md +185 -17
  2. package/README.md +23 -2
  3. package/dist/core.cjs +2 -5767
  4. package/dist/core.cjs.map +1 -0
  5. package/dist/core.js +2 -0
  6. package/dist/core.js.map +1 -0
  7. package/lib/esm/identity/decorators.js +1 -1
  8. package/lib/esm/identity/decorators.js.map +1 -0
  9. package/lib/esm/identity/index.js +1 -1
  10. package/lib/esm/identity/index.js.map +1 -0
  11. package/lib/esm/identity/utils.js +1 -1
  12. package/lib/esm/identity/utils.js.map +1 -0
  13. package/lib/esm/index.d.ts +8 -1
  14. package/lib/esm/index.js +11 -2
  15. package/lib/esm/index.js.map +1 -0
  16. package/lib/esm/interfaces/ErrorParser.js +1 -1
  17. package/lib/esm/interfaces/ErrorParser.js.map +1 -0
  18. package/lib/esm/interfaces/Executor.js +1 -1
  19. package/lib/esm/interfaces/Executor.js.map +1 -0
  20. package/lib/esm/interfaces/Observable.js +1 -1
  21. package/lib/esm/interfaces/Observable.js.map +1 -0
  22. package/lib/esm/interfaces/Observer.js +1 -1
  23. package/lib/esm/interfaces/Observer.js.map +1 -0
  24. package/lib/esm/interfaces/Paginatable.js +1 -1
  25. package/lib/esm/interfaces/Paginatable.js.map +1 -0
  26. package/lib/esm/interfaces/Queriable.js +1 -1
  27. package/lib/esm/interfaces/Queriable.js.map +1 -0
  28. package/lib/esm/interfaces/RawExecutor.js +1 -1
  29. package/lib/esm/interfaces/RawExecutor.js.map +1 -0
  30. package/lib/esm/interfaces/SequenceOptions.js +1 -1
  31. package/lib/esm/interfaces/SequenceOptions.js.map +1 -0
  32. package/lib/esm/interfaces/index.js +1 -1
  33. package/lib/esm/interfaces/index.js.map +1 -0
  34. package/lib/esm/model/BaseModel.js +1 -1
  35. package/lib/esm/model/BaseModel.js.map +1 -0
  36. package/lib/esm/model/construction.js +1 -1
  37. package/lib/esm/model/construction.js.map +1 -0
  38. package/lib/esm/model/decorators.js +1 -1
  39. package/lib/esm/model/decorators.js.map +1 -0
  40. package/lib/esm/model/index.js +1 -1
  41. package/lib/esm/model/index.js.map +1 -0
  42. package/lib/esm/model/types.js +1 -1
  43. package/lib/esm/model/types.js.map +1 -0
  44. package/lib/esm/overrides/Metadata.js +1 -1
  45. package/lib/esm/overrides/Metadata.js.map +1 -0
  46. package/lib/esm/overrides/index.js +1 -1
  47. package/lib/esm/overrides/index.js.map +1 -0
  48. package/lib/esm/overrides/overrides.js +1 -1
  49. package/lib/esm/overrides/overrides.js.map +1 -0
  50. package/lib/esm/persistence/Adapter.js +1 -1
  51. package/lib/esm/persistence/Adapter.js.map +1 -0
  52. package/lib/esm/persistence/Dispatch.js +1 -1
  53. package/lib/esm/persistence/Dispatch.js.map +1 -0
  54. package/lib/esm/persistence/ObserverHandler.js +1 -1
  55. package/lib/esm/persistence/ObserverHandler.js.map +1 -0
  56. package/lib/esm/persistence/Sequence.js +1 -1
  57. package/lib/esm/persistence/Sequence.js.map +1 -0
  58. package/lib/esm/persistence/constants.js +1 -1
  59. package/lib/esm/persistence/constants.js.map +1 -0
  60. package/lib/esm/persistence/decorators.js +1 -1
  61. package/lib/esm/persistence/decorators.js.map +1 -0
  62. package/lib/esm/persistence/errors.js +1 -1
  63. package/lib/esm/persistence/errors.js.map +1 -0
  64. package/lib/esm/persistence/index.js +1 -1
  65. package/lib/esm/persistence/index.js.map +1 -0
  66. package/lib/esm/persistence/types.js +1 -1
  67. package/lib/esm/persistence/types.js.map +1 -0
  68. package/lib/esm/query/Condition.js +1 -1
  69. package/lib/esm/query/Condition.js.map +1 -0
  70. package/lib/esm/query/MethodQueryBuilder.js +1 -1
  71. package/lib/esm/query/MethodQueryBuilder.js.map +1 -0
  72. package/lib/esm/query/Paginator.js +1 -1
  73. package/lib/esm/query/Paginator.js.map +1 -0
  74. package/lib/esm/query/Statement.js +1 -1
  75. package/lib/esm/query/Statement.js.map +1 -0
  76. package/lib/esm/query/constants.js +1 -1
  77. package/lib/esm/query/constants.js.map +1 -0
  78. package/lib/esm/query/decorators.js +1 -1
  79. package/lib/esm/query/decorators.js.map +1 -0
  80. package/lib/esm/query/errors.js +1 -1
  81. package/lib/esm/query/errors.js.map +1 -0
  82. package/lib/esm/query/index.js +1 -1
  83. package/lib/esm/query/index.js.map +1 -0
  84. package/lib/esm/query/options.js +1 -1
  85. package/lib/esm/query/options.js.map +1 -0
  86. package/lib/esm/query/selectors.js +1 -1
  87. package/lib/esm/query/selectors.js.map +1 -0
  88. package/lib/esm/query/types.js +1 -1
  89. package/lib/esm/query/types.js.map +1 -0
  90. package/lib/esm/query/utils.js +1 -1
  91. package/lib/esm/query/utils.js.map +1 -0
  92. package/lib/esm/ram/RamAdapter.js +1 -1
  93. package/lib/esm/ram/RamAdapter.js.map +1 -0
  94. package/lib/esm/ram/RamContext.js +1 -1
  95. package/lib/esm/ram/RamContext.js.map +1 -0
  96. package/lib/esm/ram/RamPaginator.js +1 -1
  97. package/lib/esm/ram/RamPaginator.js.map +1 -0
  98. package/lib/esm/ram/RamSequence.js +1 -1
  99. package/lib/esm/ram/RamSequence.js.map +1 -0
  100. package/lib/esm/ram/RamStatement.js +1 -1
  101. package/lib/esm/ram/RamStatement.js.map +1 -0
  102. package/lib/esm/ram/constants.js +1 -1
  103. package/lib/esm/ram/constants.js.map +1 -0
  104. package/lib/esm/ram/handlers.js +1 -1
  105. package/lib/esm/ram/handlers.js.map +1 -0
  106. package/lib/esm/ram/index.js +1 -1
  107. package/lib/esm/ram/index.js.map +1 -0
  108. package/lib/esm/ram/model/RamSequenceModel.js +1 -1
  109. package/lib/esm/ram/model/RamSequenceModel.js.map +1 -0
  110. package/lib/esm/ram/model/index.js +1 -1
  111. package/lib/esm/ram/model/index.js.map +1 -0
  112. package/lib/esm/ram/types.js +1 -1
  113. package/lib/esm/ram/types.js.map +1 -0
  114. package/lib/esm/repository/Repository.js +1 -1
  115. package/lib/esm/repository/Repository.js.map +1 -0
  116. package/lib/esm/repository/constants.js +1 -1
  117. package/lib/esm/repository/constants.js.map +1 -0
  118. package/lib/esm/repository/decorators.js +1 -1
  119. package/lib/esm/repository/decorators.js.map +1 -0
  120. package/lib/esm/repository/errors.js +1 -1
  121. package/lib/esm/repository/errors.js.map +1 -0
  122. package/lib/esm/repository/index.js +1 -1
  123. package/lib/esm/repository/index.js.map +1 -0
  124. package/lib/esm/repository/injectables.js +1 -1
  125. package/lib/esm/repository/injectables.js.map +1 -0
  126. package/lib/esm/repository/types.js +1 -1
  127. package/lib/esm/repository/types.js.map +1 -0
  128. package/lib/esm/repository/utils.js +1 -1
  129. package/lib/esm/repository/utils.js.map +1 -0
  130. package/lib/esm/utils/decorators.js +1 -1
  131. package/lib/esm/utils/decorators.js.map +1 -0
  132. package/lib/esm/utils/errors.js +1 -1
  133. package/lib/esm/utils/errors.js.map +1 -0
  134. package/lib/esm/utils/index.js +1 -1
  135. package/lib/esm/utils/index.js.map +1 -0
  136. package/lib/identity/decorators.cjs +1 -1
  137. package/lib/identity/decorators.js.map +1 -0
  138. package/lib/identity/index.cjs +1 -1
  139. package/lib/identity/index.js.map +1 -0
  140. package/lib/identity/utils.cjs +1 -1
  141. package/lib/identity/utils.js.map +1 -0
  142. package/lib/index.cjs +12 -3
  143. package/lib/index.d.ts +8 -1
  144. package/lib/index.js.map +1 -0
  145. package/lib/interfaces/ErrorParser.cjs +1 -1
  146. package/lib/interfaces/ErrorParser.js.map +1 -0
  147. package/lib/interfaces/Executor.cjs +1 -1
  148. package/lib/interfaces/Executor.js.map +1 -0
  149. package/lib/interfaces/Observable.cjs +1 -1
  150. package/lib/interfaces/Observable.js.map +1 -0
  151. package/lib/interfaces/Observer.cjs +1 -1
  152. package/lib/interfaces/Observer.js.map +1 -0
  153. package/lib/interfaces/Paginatable.cjs +1 -1
  154. package/lib/interfaces/Paginatable.js.map +1 -0
  155. package/lib/interfaces/Queriable.cjs +1 -1
  156. package/lib/interfaces/Queriable.js.map +1 -0
  157. package/lib/interfaces/RawExecutor.cjs +1 -1
  158. package/lib/interfaces/RawExecutor.js.map +1 -0
  159. package/lib/interfaces/SequenceOptions.cjs +1 -1
  160. package/lib/interfaces/SequenceOptions.js.map +1 -0
  161. package/lib/interfaces/index.cjs +1 -1
  162. package/lib/interfaces/index.js.map +1 -0
  163. package/lib/model/BaseModel.cjs +1 -1
  164. package/lib/model/BaseModel.js.map +1 -0
  165. package/lib/model/construction.cjs +1 -1
  166. package/lib/model/construction.js.map +1 -0
  167. package/lib/model/decorators.cjs +1 -1
  168. package/lib/model/decorators.js.map +1 -0
  169. package/lib/model/index.cjs +1 -1
  170. package/lib/model/index.js.map +1 -0
  171. package/lib/model/types.cjs +1 -1
  172. package/lib/model/types.js.map +1 -0
  173. package/lib/overrides/Metadata.cjs +1 -1
  174. package/lib/overrides/Metadata.js.map +1 -0
  175. package/lib/overrides/index.cjs +1 -1
  176. package/lib/overrides/index.js.map +1 -0
  177. package/lib/overrides/overrides.cjs +1 -1
  178. package/lib/overrides/overrides.js.map +1 -0
  179. package/lib/persistence/Adapter.cjs +1 -1
  180. package/lib/persistence/Adapter.js.map +1 -0
  181. package/lib/persistence/Dispatch.cjs +1 -1
  182. package/lib/persistence/Dispatch.js.map +1 -0
  183. package/lib/persistence/ObserverHandler.cjs +1 -1
  184. package/lib/persistence/ObserverHandler.js.map +1 -0
  185. package/lib/persistence/Sequence.cjs +1 -1
  186. package/lib/persistence/Sequence.js.map +1 -0
  187. package/lib/persistence/constants.cjs +1 -1
  188. package/lib/persistence/constants.js.map +1 -0
  189. package/lib/persistence/decorators.cjs +1 -1
  190. package/lib/persistence/decorators.js.map +1 -0
  191. package/lib/persistence/errors.cjs +1 -1
  192. package/lib/persistence/errors.js.map +1 -0
  193. package/lib/persistence/index.cjs +1 -1
  194. package/lib/persistence/index.js.map +1 -0
  195. package/lib/persistence/types.cjs +1 -1
  196. package/lib/persistence/types.js.map +1 -0
  197. package/lib/query/Condition.cjs +1 -1
  198. package/lib/query/Condition.js.map +1 -0
  199. package/lib/query/MethodQueryBuilder.cjs +1 -1
  200. package/lib/query/MethodQueryBuilder.js.map +1 -0
  201. package/lib/query/Paginator.cjs +1 -1
  202. package/lib/query/Paginator.js.map +1 -0
  203. package/lib/query/Statement.cjs +1 -1
  204. package/lib/query/Statement.js.map +1 -0
  205. package/lib/query/constants.cjs +1 -1
  206. package/lib/query/constants.js.map +1 -0
  207. package/lib/query/decorators.cjs +1 -1
  208. package/lib/query/decorators.js.map +1 -0
  209. package/lib/query/errors.cjs +1 -1
  210. package/lib/query/errors.js.map +1 -0
  211. package/lib/query/index.cjs +1 -1
  212. package/lib/query/index.js.map +1 -0
  213. package/lib/query/options.cjs +1 -1
  214. package/lib/query/options.js.map +1 -0
  215. package/lib/query/selectors.cjs +1 -1
  216. package/lib/query/selectors.js.map +1 -0
  217. package/lib/query/types.cjs +1 -1
  218. package/lib/query/types.js.map +1 -0
  219. package/lib/query/utils.cjs +1 -1
  220. package/lib/query/utils.js.map +1 -0
  221. package/lib/ram/RamAdapter.cjs +1 -1
  222. package/lib/ram/RamAdapter.js.map +1 -0
  223. package/lib/ram/RamContext.cjs +1 -1
  224. package/lib/ram/RamContext.js.map +1 -0
  225. package/lib/ram/RamPaginator.cjs +1 -1
  226. package/lib/ram/RamPaginator.js.map +1 -0
  227. package/lib/ram/RamSequence.cjs +1 -1
  228. package/lib/ram/RamSequence.js.map +1 -0
  229. package/lib/ram/RamStatement.cjs +1 -1
  230. package/lib/ram/RamStatement.js.map +1 -0
  231. package/lib/ram/constants.cjs +1 -1
  232. package/lib/ram/constants.js.map +1 -0
  233. package/lib/ram/handlers.cjs +1 -1
  234. package/lib/ram/handlers.js.map +1 -0
  235. package/lib/ram/index.cjs +1 -1
  236. package/lib/ram/index.js.map +1 -0
  237. package/lib/ram/model/RamSequenceModel.cjs +1 -1
  238. package/lib/ram/model/RamSequenceModel.js.map +1 -0
  239. package/lib/ram/model/index.cjs +1 -1
  240. package/lib/ram/model/index.js.map +1 -0
  241. package/lib/ram/types.cjs +1 -1
  242. package/lib/ram/types.js.map +1 -0
  243. package/lib/repository/Repository.cjs +1 -1
  244. package/lib/repository/Repository.js.map +1 -0
  245. package/lib/repository/constants.cjs +1 -1
  246. package/lib/repository/constants.js.map +1 -0
  247. package/lib/repository/decorators.cjs +1 -1
  248. package/lib/repository/decorators.js.map +1 -0
  249. package/lib/repository/errors.cjs +1 -1
  250. package/lib/repository/errors.js.map +1 -0
  251. package/lib/repository/index.cjs +1 -1
  252. package/lib/repository/index.js.map +1 -0
  253. package/lib/repository/injectables.cjs +1 -1
  254. package/lib/repository/injectables.js.map +1 -0
  255. package/lib/repository/types.cjs +1 -1
  256. package/lib/repository/types.js.map +1 -0
  257. package/lib/repository/utils.cjs +1 -1
  258. package/lib/repository/utils.js.map +1 -0
  259. package/lib/utils/decorators.cjs +1 -1
  260. package/lib/utils/decorators.js.map +1 -0
  261. package/lib/utils/errors.cjs +1 -1
  262. package/lib/utils/errors.js.map +1 -0
  263. package/lib/utils/index.cjs +1 -1
  264. package/lib/utils/index.js.map +1 -0
  265. package/package.json +12 -22
  266. package/dist/core.esm.cjs +0 -5704
package/LICENSE.md CHANGED
@@ -1,22 +1,190 @@
1
- MIT License
1
+ Mozilla Public License Version 2.0
2
2
 
3
- Copyright (c) 2025 Tiago Venceslau and Contributors
3
+ 1.0. Definitions
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
5
+ 1.1. "Contributor"
6
+ means each individual or legal entity that creates, contributes to the
7
+ creation of, or owns Covered Software.
11
8
 
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
9
+ 1.2. "Contributor Version"
10
+ means the combination of the Contributions of others (if any) used by a
11
+ Contributor and that particular Contributor's Contribution.
14
12
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
13
+ 1.3. "Covered Software"
14
+ means Source Code Form to which the initial Contributor has attached the
15
+ notice in Exhibit A, the Executable Form of such Source Code Form, and
16
+ Modifications of such Source Code Form.
22
17
 
18
+ 1.4. "Incompatible With Secondary Licenses"
19
+ means that the initial Contributor has attached the notice described in
20
+ Exhibit B to the Covered Software; the Covered Software is therefore
21
+ governed by the terms of this License without the option for the
22
+ additional permissions of a Secondary License.
23
+
24
+ 1.5. "Executable Form"
25
+ means any form of the work other than Source Code Form.
26
+
27
+ 1.6. "Larger Work"
28
+ means a work which combines Covered Software with other material, in a
29
+ separate file or files, that is not Covered Software.
30
+
31
+ 1.7. "License"
32
+ means this document.
33
+
34
+ 1.8. "Licensable"
35
+ means having the right to grant, to the maximum extent possible, whether
36
+ at the time of the making or afterwards, any and all of the rights
37
+ conveyed by this License.
38
+
39
+ 1.9. "Modifications"
40
+ means any addition to or deletion from the contents of Covered Software
41
+ or any new file that contains Covered Software.
42
+
43
+ 1.10. "Patent Claims"
44
+ means any patent claim(s), now owned or hereafter acquired, including
45
+ without limitation, method, process, and apparatus claims, in any patent
46
+ Licensable by grantor.
47
+
48
+ 1.11. "Secondary License"
49
+ means either the GNU General Public License, Version 2.0, the GNU Lesser
50
+ General Public License, Version 2.1, or any subsequent versions of those
51
+ licenses that are designated as a Secondary License in the notice in
52
+ Exhibit A.
53
+
54
+ 1.12. "Source Code Form"
55
+ means the form of the work preferred for making modifications.
56
+
57
+ 1.13. "You" (or "Your")
58
+ means an individual or a legal entity exercising rights under, and
59
+ complying with all of the terms of, this License. For legal entities,
60
+ "You" includes any entity that controls, is controlled by, or is under
61
+ common control with You. For purposes of this definition, "control"
62
+ means (a) the power, direct or indirect, to cause the direction or
63
+ management of such entity, whether by contract or otherwise, or (b)
64
+ ownership of more than fifty percent (50%) of the outstanding shares or
65
+ beneficial ownership of such entity.
66
+
67
+ 2.0. License Grants and Conditions
68
+
69
+ 2.1. Grants
70
+
71
+ Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive
72
+ license:
73
+
74
+ a. under intellectual property rights (other than patent or trademark)
75
+ Licensable by such Contributor to use, reproduce, make available,
76
+ modify, display, perform, distribute, and otherwise exploit its
77
+ Contributions, either on an exclusive or non-exclusive basis; and
78
+
79
+ b. under Patent Claims to make, use, sell, offer for sale, have made,
80
+ import, and otherwise transfer the Contribution(s) of such
81
+ Contributor, if any, in the Covered Software.
82
+
83
+ 2.2. Effective Date
84
+
85
+ The licenses granted in Section 2.1 are effective on the date the Contributor
86
+ first makes the Covered Software available under this License.
87
+
88
+ 2.3. Limitations on the Grants
89
+
90
+ The licenses granted in this Section 2 are subject to the following
91
+ limitations:
92
+
93
+ a. No trademark rights are granted under this License.
94
+
95
+ b. This License does not grant any rights in the patents of any
96
+ Contributor except as expressly stated in Section 2.1(b).
97
+
98
+ 3.0. Distribution Obligations
99
+
100
+ 3.1. Distribution of Source Form
101
+
102
+ All distribution of Covered Software in Source Code Form, including any
103
+ Modifications that You create or to which You contribute, must be under the
104
+ terms of this License. You must inform recipients that the Source Code Form
105
+ of the Covered Software is subject to the terms of this License and include
106
+ a copy of this License in or with the Source Code Form.
107
+
108
+ 3.2. Distribution of Executable Form
109
+
110
+ If You distribute Covered Software in Executable Form then:
111
+
112
+ a. such Covered Software must also be made available in Source Code Form,
113
+ as described in Section 3.1, and You must inform recipients of the
114
+ Executable Form how to obtain a complete copy of the corresponding
115
+ Source Code Form in a reasonable manner on or through a medium
116
+ customarily used for software exchange; and
117
+
118
+ b. You may distribute the Executable Form under terms of your choice,
119
+ provided that You do not attempt to limit or alter the recipients'
120
+ rights in the Source Code Form under this License.
121
+
122
+ 3.3. Distribution of a Larger Work
123
+
124
+ You may create and distribute a work that combines Covered Software with
125
+ other material, and distribute the Larger Work as a single product. In such
126
+ case, the Covered Software must still be made available under this License
127
+ and must include the notices described in Exhibit A relating to the Covered
128
+ Software.
129
+
130
+ 3.4. Notices
131
+
132
+ You must cause each file that You distribute containing Covered Software to
133
+ carry the legal notices described in Exhibit A.
134
+
135
+ 4.0. Incompatible With Secondary Licenses
136
+
137
+ If the Covered Software is made available under the terms of this License
138
+ and also made available under the terms of a Secondary License, then the
139
+ terms of the Secondary License apply to the Covered Software in addition to
140
+ this License to the extent the Secondary License grants additional
141
+ permissions. If the Covered Software is not made available under a Secondary
142
+ License, then this License governs its use.
143
+
144
+ 5.0. Disclaimer of Warranty
145
+
146
+ Covered Software is provided "as is" without warranty of any kind, either
147
+ express or implied, including, but not limited to, the implied warranties of
148
+ merchantability, fitness for a particular purpose, and noninfringement.
149
+
150
+ 6.0. Limitation of Liability
151
+
152
+ In no event and under no legal theory, whether in tort (including
153
+ negligence), contract, or otherwise, unless required by applicable law (such
154
+ as deliberate and grossly negligent acts) or agreed to in writing, shall any
155
+ Contributor be liable to You for damages, including any direct, indirect,
156
+ special, incidental, or consequential damages of any character arising as a
157
+ result of this License or out of the use or inability to use the Covered
158
+ Software (including but not limited to damages for loss of goodwill, work
159
+ stoppage, computer failure or malfunction, or any and all other commercial
160
+ damages or losses), even if such Contributor has been advised of the
161
+ possibility of such damages.
162
+
163
+ 7.0. Termination
164
+
165
+ 7.1. Termination for Breach
166
+
167
+ This License and the rights granted hereunder will terminate automatically
168
+ if You fail to comply with terms of this License and do not cure such
169
+ breach within thirty (30) days of becoming aware of the breach.
170
+
171
+ 7.2. Effect of Termination
172
+
173
+ Upon termination of this License, any rights granted to You under this
174
+ License will terminate, and You must cease all use and distribution of the
175
+ Covered Software except as permitted by applicable law.
176
+
177
+ 8.0. Miscellaneous
178
+
179
+ This License constitutes the entire agreement between the parties with
180
+ respect to the subject matter hereof. If any provision of this License is
181
+ held to be unenforceable, that provision shall be reformed only to the
182
+ extent necessary to make it enforceable.
183
+
184
+ Exhibit A - Source Code Form License Notice
185
+
186
+ This Source Code Form is subject to the terms of the Mozilla Public
187
+ License, v. 2.0. If a copy of the MPL was not distributed with this
188
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
189
+
190
+ Copyright (c) 2025 Tiago Venceslau and Contributors
package/README.md CHANGED
@@ -1,8 +1,9 @@
1
+ ![Banner](./workdocs/assets/decaf-logo.svg)
2
+
1
3
  # Decaf TS — Core Package
2
4
 
3
5
  Decaf Core provides the foundational building blocks for the Decaf TypeScript ecosystem: strongly-typed models, repository pattern, pluggable persistence adapters, a composable query DSL, and pagination/observer utilities. With decorators and an injectable registry, it wires models to repositories and adapters so you can build data access that is framework-agnostic yet fully typed.
4
6
 
5
-
6
7
  ![Licence](https://img.shields.io/github/license/decaf-ts/core.svg?style=plastic)
7
8
  ![GitHub language count](https://img.shields.io/github/languages/count/decaf-ts/core?style=plastic)
8
9
  ![GitHub top language](https://img.shields.io/github/languages/top/decaf-ts/core?style=plastic)
@@ -26,6 +27,8 @@ Decaf Core provides the foundational building blocks for the Decaf TypeScript ec
26
27
 
27
28
  Documentation [here](https://decaf-ts.github.io/injectable-decorators/), Test results [here](https://decaf-ts.github.io/injectable-decorators/workdocs/reports/html/test-report.html) and Coverage [here](https://decaf-ts.github.io/injectable-decorators/workdocs/reports/coverage/lcov-report/index.html)
28
29
 
30
+ Minimal size: 13.3 KB kb gzipped
31
+
29
32
 
30
33
  # Core Package — Detailed Description
31
34
 
@@ -338,6 +341,24 @@ async function injectablesExample() {
338
341
  ```
339
342
 
340
343
 
344
+ ## Coding Principles
345
+
346
+ - group similar functionality in folders (analog to namespaces but without any namespace declaration)
347
+ - one class per file;
348
+ - one interface per file (unless interface is just used as a type);
349
+ - group types as other interfaces in a types.ts file per folder;
350
+ - group constants or enums in a constants.ts file per folder;
351
+ - group decorators in a decorators.ts file per folder;
352
+ - always import from the specific file, never from a folder or index file (exceptions for dependencies on other packages);
353
+ - prefer the usage of established design patters where applicable:
354
+ - Singleton (can be an anti-pattern. use with care);
355
+ - factory;
356
+ - observer;
357
+ - strategy;
358
+ - builder;
359
+ - etc;
360
+
361
+
341
362
  ### Related
342
363
 
343
364
  [![decaf-ts](https://github-readme-stats.vercel.app/api/pin/?username=decaf-ts&repo=decaf-ts)](https://github.com/decaf-ts/decaf-ts)
@@ -377,6 +398,6 @@ So if you can, if this project in any way. either by learning something or simpl
377
398
 
378
399
  ## License
379
400
 
380
- This project is released under the [MIT License](./LICENSE.md).
401
+ This project is released under the [Mozilla Public License 2.0](./LICENSE.md).
381
402
 
382
403
  By developers, for developers...