@zanobijs/core 1.2.0-beta.2 → 2.0.0-beta.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 (54) hide show
  1. package/lib/cjs/exceptions/circularModuleImport.exception.js +21 -0
  2. package/{exceptions → lib/cjs/exceptions}/constant.message.js +10 -6
  3. package/{exceptions → lib/cjs/exceptions}/invalid.module.exception.js +8 -7
  4. package/lib/cjs/exceptions/invalidProvider.module.exception.js +20 -0
  5. package/lib/cjs/exceptions/missingInjectToken.exception.js +20 -0
  6. package/{exceptions → lib/cjs/exceptions}/resolution.exception.js +11 -10
  7. package/lib/cjs/factory.js +213 -0
  8. package/lib/cjs/index.js +30 -0
  9. package/lib/cjs/injector/injector.js +141 -0
  10. package/{injector → lib/cjs/injector}/module.js +28 -26
  11. package/{metadata.js → lib/cjs/metadata.js} +31 -21
  12. package/lib/esm/exceptions/circularModuleImport.exception.js +19 -0
  13. package/lib/esm/exceptions/constant.message.js +8 -0
  14. package/lib/esm/exceptions/invalid.module.exception.js +18 -0
  15. package/lib/esm/exceptions/invalidProvider.module.exception.js +18 -0
  16. package/lib/esm/exceptions/missingInjectToken.exception.js +18 -0
  17. package/lib/esm/exceptions/resolution.exception.js +37 -0
  18. package/lib/esm/factory.js +210 -0
  19. package/lib/esm/index.js +9 -0
  20. package/{injector → lib/esm/injector}/injector.js +30 -17
  21. package/lib/esm/injector/module.js +213 -0
  22. package/lib/esm/metadata.js +164 -0
  23. package/lib/esm/package.json +1 -0
  24. package/lib/types/exceptions/circularModuleImport.exception.d.ts +13 -0
  25. package/{exceptions → lib/types/exceptions}/constant.message.d.ts +2 -0
  26. package/lib/types/exceptions/index.d.ts +6 -0
  27. package/lib/types/exceptions/missingInjectToken.exception.d.ts +12 -0
  28. package/lib/types/factory.d.ts +106 -0
  29. package/lib/types/index.d.ts +4 -0
  30. package/{injector → lib/types/injector}/injector.d.ts +2 -0
  31. package/{metadata.d.ts → lib/types/metadata.d.ts} +8 -1
  32. package/package.json +20 -4
  33. package/CHANGELOG.md +0 -332
  34. package/LICENSE +0 -33
  35. package/exceptions/index.d.ts +0 -2
  36. package/exceptions/index.js +0 -5
  37. package/exceptions/invalidProvider.module.exception.js +0 -19
  38. package/factory.d.ts +0 -55
  39. package/factory.js +0 -120
  40. package/index.d.ts +0 -3
  41. package/index.js +0 -8
  42. package/injector/index.js +0 -5
  43. package/interfaces/factory.interface.js +0 -2
  44. package/interfaces/globals.interface.js +0 -2
  45. package/interfaces/index.js +0 -5
  46. package/tsconfig.build.json +0 -17
  47. /package/{exceptions → lib/types/exceptions}/invalid.module.exception.d.ts +0 -0
  48. /package/{exceptions → lib/types/exceptions}/invalidProvider.module.exception.d.ts +0 -0
  49. /package/{exceptions → lib/types/exceptions}/resolution.exception.d.ts +0 -0
  50. /package/{injector → lib/types/injector}/index.d.ts +0 -0
  51. /package/{injector → lib/types/injector}/module.d.ts +0 -0
  52. /package/{interfaces → lib/types/interfaces}/factory.interface.d.ts +0 -0
  53. /package/{interfaces → lib/types/interfaces}/globals.interface.d.ts +0 -0
  54. /package/{interfaces → lib/types/interfaces}/index.d.ts +0 -0
package/CHANGELOG.md DELETED
@@ -1,332 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- # [1.2.0-beta.2](https://github.com/devdroide/ZanobiJS/compare/v1.2.0-beta.1...v1.2.0-beta.2) (2025-06-08)
7
-
8
- ### Bug Fixes
9
-
10
- - **core,test:** The injection of provider asValue and asFunction that is done in entities was corrected ([83ae3c1](https://github.com/devdroide/ZanobiJS/commit/83ae3c164b28cdc9747c524b8595a1b86257a957))
11
-
12
- # [1.2.0-beta.1](https://github.com/devdroide/ZanobiJS/compare/v1.2.0-beta.0...v1.2.0-beta.1) (2025-06-05)
13
-
14
- ### Bug Fixes
15
-
16
- - **core,test:** Change in provider scanning and dependency search ([cd0858b](https://github.com/devdroide/ZanobiJS/commit/cd0858b1437c4470003f574baa34bc7a4f3db817))
17
-
18
- # [1.2.0-beta.0](https://github.com/devdroide/ZanobiJS/compare/v1.1.1-beta.0...v1.2.0-beta.0) (2025-05-28)
19
-
20
- ### Features
21
-
22
- - **core,test:** Added the ability to use useClass and useFactory as providers ([bff63e2](https://github.com/devdroide/ZanobiJS/commit/bff63e2d73fa03ef72f38b3c7c6f5a51ad9ddf80))
23
- - **core,test:** Added type validation to prevent errors in providers with useClass ([6e64d3b](https://github.com/devdroide/ZanobiJS/commit/6e64d3b6a46965ad9affa697980b6862b1ae8be0))
24
- - **core:** ✨ new provider with useClass ([668d981](https://github.com/devdroide/ZanobiJS/commit/668d981890e2a43f615ae8f78f025e3c33db9707))
25
-
26
- ## [1.1.1-beta.0](https://github.com/devdroide/ZanobiJS/compare/v1.1.0...v1.1.1-beta.0) (2025-05-27)
27
-
28
- **Note:** Version bump only for package @zanobijs/core
29
-
30
- # [1.1.0](https://github.com/devdroide/ZanobiJS/compare/v1.1.0-beta.74...v1.1.0) (2025-05-27)
31
-
32
- **Note:** Version bump only for package @zanobijs/core
33
-
34
- # [1.1.0-beta.74](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.74) (2025-05-04)
35
-
36
- **Note:** Version bump only for package @zanobijs/core
37
-
38
- # [1.1.0-beta.73](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.73) (2025-05-04)
39
-
40
- **Note:** Version bump only for package @zanobijs/core
41
-
42
- # [1.1.0-beta.72](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.72) (2025-05-04)
43
-
44
- **Note:** Version bump only for package @zanobijs/core
45
-
46
- # [1.1.0-beta.71](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.71) (2025-05-04)
47
-
48
- **Note:** Version bump only for package @zanobijs/core
49
-
50
- # [1.1.0-beta.70](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.70) (2025-05-04)
51
-
52
- **Note:** Version bump only for package @zanobijs/core
53
-
54
- # [1.1.0-beta.69](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.69) (2025-05-04)
55
-
56
- **Note:** Version bump only for package @zanobijs/core
57
-
58
- # [1.1.0-beta.68](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.68) (2025-05-04)
59
-
60
- **Note:** Version bump only for package @zanobijs/core
61
-
62
- # [1.1.0-beta.67](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.67) (2025-05-04)
63
-
64
- **Note:** Version bump only for package @zanobijs/core
65
-
66
- # [1.1.0-beta.66](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.66) (2025-05-04)
67
-
68
- **Note:** Version bump only for package @zanobijs/core
69
-
70
- # [1.1.0-beta.65](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.65) (2025-05-04)
71
-
72
- **Note:** Version bump only for package @zanobijs/core
73
-
74
- # [1.1.0-beta.64](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.64) (2025-05-04)
75
-
76
- **Note:** Version bump only for package @zanobijs/core
77
-
78
- # [1.1.0-beta.63](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.63) (2025-05-04)
79
-
80
- **Note:** Version bump only for package @zanobijs/core
81
-
82
- # [1.1.0-beta.62](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.62) (2025-05-04)
83
-
84
- **Note:** Version bump only for package @zanobijs/core
85
-
86
- # [1.1.0-beta.61](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.61) (2025-05-04)
87
-
88
- **Note:** Version bump only for package @zanobijs/core
89
-
90
- # [1.1.0-beta.60](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.60) (2025-05-04)
91
-
92
- **Note:** Version bump only for package @zanobijs/core
93
-
94
- # [1.1.0-beta.59](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.59) (2025-05-04)
95
-
96
- **Note:** Version bump only for package @zanobijs/core
97
-
98
- # [1.1.0-beta.58](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.58) (2025-05-04)
99
-
100
- **Note:** Version bump only for package @zanobijs/core
101
-
102
- # [1.1.0-beta.57](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.57) (2025-05-04)
103
-
104
- **Note:** Version bump only for package @zanobijs/core
105
-
106
- # [1.1.0-beta.56](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.56) (2025-05-04)
107
-
108
- **Note:** Version bump only for package @zanobijs/core
109
-
110
- # [1.1.0-beta.55](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.55) (2025-05-04)
111
-
112
- **Note:** Version bump only for package @zanobijs/core
113
-
114
- # [1.1.0-beta.54](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.54) (2025-05-04)
115
-
116
- **Note:** Version bump only for package @zanobijs/core
117
-
118
- # [1.1.0-beta.53](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.53) (2025-05-04)
119
-
120
- **Note:** Version bump only for package @zanobijs/core
121
-
122
- # [1.1.0-beta.52](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.52) (2025-05-04)
123
-
124
- **Note:** Version bump only for package @zanobijs/core
125
-
126
- # [1.1.0-beta.51](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.51) (2025-05-04)
127
-
128
- **Note:** Version bump only for package @zanobijs/core
129
-
130
- # [1.1.0-beta.50](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.50) (2025-05-04)
131
-
132
- **Note:** Version bump only for package @zanobijs/core
133
-
134
- # [1.1.0-beta.49](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.49) (2025-05-04)
135
-
136
- **Note:** Version bump only for package @zanobijs/core
137
-
138
- # [1.1.0-beta.48](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.48) (2025-05-04)
139
-
140
- **Note:** Version bump only for package @zanobijs/core
141
-
142
- # [1.1.0-beta.47](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.47) (2025-05-04)
143
-
144
- **Note:** Version bump only for package @zanobijs/core
145
-
146
- # [1.1.0-beta.46](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.46) (2025-05-04)
147
-
148
- **Note:** Version bump only for package @zanobijs/core
149
-
150
- # [1.1.0-beta.45](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.45) (2025-05-04)
151
-
152
- **Note:** Version bump only for package @zanobijs/core
153
-
154
- # [1.1.0-beta.44](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.44) (2025-05-04)
155
-
156
- **Note:** Version bump only for package @zanobijs/core
157
-
158
- # [1.1.0-beta.43](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.43) (2025-05-04)
159
-
160
- **Note:** Version bump only for package @zanobijs/core
161
-
162
- # [1.1.0-beta.42](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.42) (2025-05-04)
163
-
164
- **Note:** Version bump only for package @zanobijs/core
165
-
166
- # [1.1.0-beta.41](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.41) (2025-05-04)
167
-
168
- **Note:** Version bump only for package @zanobijs/core
169
-
170
- # [1.1.0-beta.40](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.40) (2025-05-04)
171
-
172
- **Note:** Version bump only for package @zanobijs/core
173
-
174
- # [1.1.0-beta.39](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.39) (2025-05-04)
175
-
176
- **Note:** Version bump only for package @zanobijs/core
177
-
178
- # [1.1.0-beta.38](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.38) (2025-05-04)
179
-
180
- **Note:** Version bump only for package @zanobijs/core
181
-
182
- # [1.1.0-beta.37](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.37) (2025-05-04)
183
-
184
- **Note:** Version bump only for package @zanobijs/core
185
-
186
- # [1.1.0-beta.36](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.36) (2025-05-04)
187
-
188
- **Note:** Version bump only for package @zanobijs/core
189
-
190
- # [1.1.0-beta.35](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.35) (2025-05-04)
191
-
192
- **Note:** Version bump only for package @zanobijs/core
193
-
194
- # [1.1.0-beta.34](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.34) (2025-05-04)
195
-
196
- **Note:** Version bump only for package @zanobijs/core
197
-
198
- # [1.1.0-beta.33](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.33) (2025-05-04)
199
-
200
- **Note:** Version bump only for package @zanobijs/core
201
-
202
- # [1.1.0-beta.32](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.32) (2025-05-04)
203
-
204
- **Note:** Version bump only for package @zanobijs/core
205
-
206
- # [1.1.0-beta.31](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.31) (2025-05-04)
207
-
208
- **Note:** Version bump only for package @zanobijs/core
209
-
210
- # [1.1.0-beta.30](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.30) (2025-05-04)
211
-
212
- **Note:** Version bump only for package @zanobijs/core
213
-
214
- # [1.1.0-beta.29](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.29) (2025-05-04)
215
-
216
- **Note:** Version bump only for package @zanobijs/core
217
-
218
- # [1.1.0-beta.28](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.28) (2025-05-04)
219
-
220
- **Note:** Version bump only for package @zanobijs/core
221
-
222
- # [1.1.0-beta.27](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.27) (2025-05-04)
223
-
224
- **Note:** Version bump only for package @zanobijs/core
225
-
226
- # [1.1.0-beta.26](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.26) (2025-05-04)
227
-
228
- **Note:** Version bump only for package @zanobijs/core
229
-
230
- # [1.1.0-beta.25](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.25) (2025-05-04)
231
-
232
- **Note:** Version bump only for package @zanobijs/core
233
-
234
- # [1.1.0-beta.24](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.24) (2025-05-04)
235
-
236
- **Note:** Version bump only for package @zanobijs/core
237
-
238
- # [1.1.0-beta.23](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.23) (2025-05-04)
239
-
240
- **Note:** Version bump only for package @zanobijs/core
241
-
242
- # [1.1.0-beta.22](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.22) (2025-05-04)
243
-
244
- **Note:** Version bump only for package @zanobijs/core
245
-
246
- # [1.1.0-beta.21](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.21) (2025-05-04)
247
-
248
- **Note:** Version bump only for package @zanobijs/core
249
-
250
- # [1.1.0-beta.20](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.20) (2025-05-04)
251
-
252
- **Note:** Version bump only for package @zanobijs/core
253
-
254
- # [1.1.0-beta.19](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.19) (2025-05-04)
255
-
256
- **Note:** Version bump only for package @zanobijs/core
257
-
258
- # [1.1.0-beta.18](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.18) (2025-05-04)
259
-
260
- **Note:** Version bump only for package @zanobijs/core
261
-
262
- # [1.1.0-beta.17](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.17) (2025-05-04)
263
-
264
- **Note:** Version bump only for package @zanobijs/core
265
-
266
- # [1.1.0-beta.16](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.16) (2025-05-04)
267
-
268
- **Note:** Version bump only for package @zanobijs/core
269
-
270
- # [1.1.0-beta.15](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.15) (2025-05-04)
271
-
272
- **Note:** Version bump only for package @zanobijs/core
273
-
274
- # [1.1.0-beta.14](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.14) (2025-05-04)
275
-
276
- **Note:** Version bump only for package @zanobijs/core
277
-
278
- # [1.1.0-beta.13](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.13) (2025-05-04)
279
-
280
- **Note:** Version bump only for package @zanobijs/core
281
-
282
- # [1.1.0-beta.12](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.12) (2025-05-04)
283
-
284
- **Note:** Version bump only for package @zanobijs/core
285
-
286
- # [1.1.0-beta.11](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.11) (2025-05-04)
287
-
288
- **Note:** Version bump only for package @zanobijs/core
289
-
290
- # [1.1.0-beta.10](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.10) (2025-05-04)
291
-
292
- **Note:** Version bump only for package @zanobijs/core
293
-
294
- # [1.1.0-beta.9](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.9) (2025-05-04)
295
-
296
- **Note:** Version bump only for package @zanobijs/core
297
-
298
- # [1.1.0-beta.8](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.8) (2025-05-04)
299
-
300
- **Note:** Version bump only for package @zanobijs/core
301
-
302
- # [1.1.0-beta.7](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.7) (2025-05-04)
303
-
304
- **Note:** Version bump only for package @zanobijs/core
305
-
306
- # [1.1.0-beta.6](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.6) (2025-05-04)
307
-
308
- **Note:** Version bump only for package @zanobijs/core
309
-
310
- # [1.1.0-beta.5](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.5) (2025-05-04)
311
-
312
- **Note:** Version bump only for package @zanobijs/core
313
-
314
- # [1.1.0-beta.4](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.4) (2025-05-04)
315
-
316
- **Note:** Version bump only for package @zanobijs/core
317
-
318
- # [1.1.0-beta.3](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.3) (2025-05-04)
319
-
320
- **Note:** Version bump only for package @zanobijs/core
321
-
322
- # [1.1.0-beta.2](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.2) (2025-05-04)
323
-
324
- **Note:** Version bump only for package @zanobijs/core
325
-
326
- # [1.1.0-beta.1](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.1) (2025-05-04)
327
-
328
- **Note:** Version bump only for package @zanobijs/core
329
-
330
- # [1.1.0-beta.0](https://github.com/devdroide/ZanobiJS/compare/v1.0.2...v1.1.0-beta.0) (2025-05-04)
331
-
332
- **Note:** Version bump only for package @zanobijs/core
package/LICENSE DELETED
@@ -1,33 +0,0 @@
1
- Licencia de Uso para ZanobiJS
2
-
3
- AVISO: El código fuente contenido o descrito en este documento y todos los documentos relacioandos
4
- con el código fuente ("Material") son propiedad de John Edison Cortes Rivera [Devdroide].
5
-
6
- 1. La difusión de esta información o reproducción de este material está estrictamente prohibido
7
- a menos que se obtenga un permiso previo por escrito de John Edison Cortes Rivera [Devdroide].
8
-
9
- 2. Se concede el permiso para usar este software en proyectos personales o comerciales sin costo
10
-
11
- 3. Queda prohibida la copia, modificación o redistribución de este software en cualquier forma.
12
-
13
- 4. John Edison Cortes Rivera [Devdroide] no se hace responsable de cualquier daño o pérdida derivados del uso de este software.
14
-
15
- ©2023 John Edison Cortes Rivera [Devdroide]. Todos los derechos reservados.
16
-
17
- ********************************************************************************************************************************
18
-
19
- ZanobiJS Usage License
20
-
21
- NOTICE: The source code contained or described in this document and all related documents
22
- ("Material") are the property of John Edison Cortes Rivera [Devdroide].
23
-
24
- 1. Dissemination of this information or reproduction of this material is strictly prohibited
25
- unless prior written permission is obtained from John Edison Cortes Rivera [Devdroide].
26
-
27
- 2. Permission is granted to use this software in personal or commercial projects free of charge.
28
-
29
- 3. Copying, modifying, or redistributing this software in any form is prohibited.
30
-
31
- 4. John Edison Cortes Rivera [Devdroide] is not liable for any damage or loss arising from the use of this software.
32
-
33
- ©2023 John Edison Cortes Rivera [Devdroide]. All rights reserved.
@@ -1,2 +0,0 @@
1
- export * from './constant.message';
2
- export * from './invalid.module.exception';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./constant.message"), exports);
5
- tslib_1.__exportStar(require("./invalid.module.exception"), exports);
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InvalidProviderModuleException = void 0;
4
- const runtime_exception_1 = require("@zanobijs/common/exceptions/runtime.exception");
5
- const constant_message_1 = require("./constant.message");
6
- /**
7
- * Excepción lanzada cuando una clase Modulo no tiene un provedor definido correctamente
8
- * de @zanobijs/common
9
- *
10
- * @remarks
11
- * Esta clase extiende la base `RuntimeException`de @zanobijs/common
12
- * para proporcionar detalles adicionales específicos a esquemas de módulos inválidos.
13
- */
14
- class InvalidProviderModuleException extends runtime_exception_1.RuntimeException {
15
- constructor(entity, moduleName, detail) {
16
- super((0, constant_message_1.PROVIDER_INVALID_MODULE_ERROR)(entity, moduleName), detail);
17
- }
18
- }
19
- exports.InvalidProviderModuleException = InvalidProviderModuleException;
package/factory.d.ts DELETED
@@ -1,55 +0,0 @@
1
- import 'reflect-metadata';
2
- import { IFactoryOptions } from './interfaces';
3
- import { TClass } from './interfaces/globals.interface';
4
- /**
5
- * Factory es una clase que facilita la creación y configuración de
6
- * contenedores de inyección de dependencias utilizando metadatos y
7
- * la librería `awilix` para registrar y resolver entidades como:
8
- * controladores y servicios.
9
- */
10
- export declare class Factory {
11
- private moduleHandler;
12
- private registeredClasses;
13
- private container;
14
- private logger;
15
- private options;
16
- constructor(appModule: TClass, options?: IFactoryOptions);
17
- /**
18
- * Se encarga de escaenear modulo por modulo los proveedores con el fin de luego
19
- * poder ser registrados e inyectados en quien depende de ese proveedor
20
- * @param {TClass} module - Módulo desde el que se escanearan los proveedores.
21
- * @private
22
- */
23
- private scanProviderModule;
24
- /**
25
- * Se encarga tomar la lista de proveedores y registralos para luego se resueltos
26
- * cuando el usuario lo solicite
27
- * @private
28
- */
29
- private registerProviderScanedModules;
30
- /**
31
- * Procesa modulo por modulos registrando los controladores, servicios y proveedores,
32
- * estos se le irá inyectando sus dependecias resueltas para ser usados por el usuario
33
- * @param {TClass} module - Módulo desde el que se registrarán las clases.
34
- * @private
35
- */
36
- private processClassModule;
37
- /**
38
- * Crea el contenedor de inyección de dependencias y registra el listado de
39
- * controladores, servicio y proveedores que se ha venido creando a parti de escaneos
40
- * y registros de clases.
41
- * @returns {Factory} - Instancia actual de la fábrica.
42
- */
43
- create(): Factory;
44
- /**
45
- * Resuelve y devuelve una instancia del contenedor
46
- * teniendo en cuenta el nombre de la entidad proporcionada.
47
- * @param {string} className - Nombre de la entidad a resolver.
48
- * @returns {T} - Instancia resuelta.
49
- */
50
- get<T>(className: string): T;
51
- /**
52
- * Se encarga de evaluar las opciones para ver si o no aplica y realizar lo correspondiente
53
- */
54
- private evaluateOptions;
55
- }
package/factory.js DELETED
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Factory = void 0;
4
- require("reflect-metadata");
5
- const awilix_1 = require("awilix");
6
- const module_1 = require("./injector/module");
7
- const resolution_exception_1 = require("./exceptions/resolution.exception");
8
- const utils_1 = require("@zanobijs/common/utils");
9
- /**
10
- * Factory es una clase que facilita la creación y configuración de
11
- * contenedores de inyección de dependencias utilizando metadatos y
12
- * la librería `awilix` para registrar y resolver entidades como:
13
- * controladores y servicios.
14
- */
15
- class Factory {
16
- moduleHandler;
17
- registeredClasses = {};
18
- container;
19
- logger;
20
- options;
21
- constructor(appModule, options = {}) {
22
- process.env.ZANOBIJS_LOGGER = 'false';
23
- process.env.ZANOBIJS_LOGGER_USER = 'false';
24
- this.options = options;
25
- this.evaluateOptions();
26
- this.logger = (0, utils_1.Logger)();
27
- this.moduleHandler = new module_1.Module();
28
- this.scanProviderModule(appModule);
29
- this.registerProviderScanedModules();
30
- this.processClassModule(appModule);
31
- }
32
- /**
33
- * Se encarga de escaenear modulo por modulo los proveedores con el fin de luego
34
- * poder ser registrados e inyectados en quien depende de ese proveedor
35
- * @param {TClass} module - Módulo desde el que se escanearan los proveedores.
36
- * @private
37
- */
38
- scanProviderModule(module) {
39
- this.logger.debug('Factory - Scan Module:', module.name);
40
- this.moduleHandler.setup(module);
41
- this.moduleHandler.scan();
42
- this.logger.debug('===================================================');
43
- const importedModules = this.moduleHandler.getImports();
44
- if (importedModules && importedModules.length) {
45
- importedModules.forEach((moduleImport) => {
46
- this.scanProviderModule(moduleImport);
47
- });
48
- }
49
- }
50
- /**
51
- * Se encarga tomar la lista de proveedores y registralos para luego se resueltos
52
- * cuando el usuario lo solicite
53
- * @private
54
- */
55
- registerProviderScanedModules() {
56
- this.moduleHandler.registerAllProviders();
57
- }
58
- /**
59
- * Procesa modulo por modulos registrando los controladores, servicios y proveedores,
60
- * estos se le irá inyectando sus dependecias resueltas para ser usados por el usuario
61
- * @param {TClass} module - Módulo desde el que se registrarán las clases.
62
- * @private
63
- */
64
- processClassModule(module) {
65
- this.logger.debug('Factory - Process Class Module:', module.name);
66
- this.moduleHandler.setup(module);
67
- this.moduleHandler.initialize();
68
- Object.assign(this.registeredClasses, this.moduleHandler.getRegisterClass());
69
- this.logger.success('Factory - Process Class Module - Completion!!!', module.name);
70
- const importedModules = this.moduleHandler.getImports();
71
- if (importedModules && importedModules.length) {
72
- importedModules.forEach((moduleImport) => {
73
- this.processClassModule(moduleImport);
74
- });
75
- }
76
- this.logger.debug('===================================================');
77
- }
78
- /**
79
- * Crea el contenedor de inyección de dependencias y registra el listado de
80
- * controladores, servicio y proveedores que se ha venido creando a parti de escaneos
81
- * y registros de clases.
82
- * @returns {Factory} - Instancia actual de la fábrica.
83
- */
84
- create() {
85
- this.container = (0, awilix_1.createContainer)({ injectionMode: awilix_1.InjectionMode.CLASSIC });
86
- this.container.register(this.registeredClasses);
87
- this.logger.info('Factory - classes and providers registered in the container', Object.keys(this.registeredClasses));
88
- return this;
89
- }
90
- /**
91
- * Resuelve y devuelve una instancia del contenedor
92
- * teniendo en cuenta el nombre de la entidad proporcionada.
93
- * @param {string} className - Nombre de la entidad a resolver.
94
- * @returns {T} - Instancia resuelta.
95
- */
96
- get(className) {
97
- try {
98
- return this.container.resolve(className);
99
- }
100
- catch (error) {
101
- this.logger.info('Error resolving entity: ', error.message + '\n');
102
- const resolutionError = error.message.split('\n');
103
- const classNameFound = resolutionError[0].match(/'([^']+)'/);
104
- if (classNameFound[1] === className) {
105
- throw new resolution_exception_1.ContainerResolutionEntityException(className, error.message);
106
- }
107
- throw new resolution_exception_1.ContainerResolutionException(className, resolutionError[0], error.message);
108
- }
109
- }
110
- /**
111
- * Se encarga de evaluar las opciones para ver si o no aplica y realizar lo correspondiente
112
- */
113
- evaluateOptions() {
114
- if (this.options.activeLoggerSystem)
115
- process.env.ZANOBIJS_LOGGER = 'true';
116
- if (this.options.activeLoggerUser)
117
- process.env.ZANOBIJS_LOGGER_USER = 'true';
118
- }
119
- }
120
- exports.Factory = Factory;
package/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export { Factory } from './factory';
2
- export * from './injector';
3
- export * from './interfaces';
package/index.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Factory = void 0;
4
- const tslib_1 = require("tslib");
5
- var factory_1 = require("./factory");
6
- Object.defineProperty(exports, "Factory", { enumerable: true, get: function () { return factory_1.Factory; } });
7
- tslib_1.__exportStar(require("./injector"), exports);
8
- tslib_1.__exportStar(require("./interfaces"), exports);
package/injector/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./module"), exports);
5
- tslib_1.__exportStar(require("./injector"), exports);
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./factory.interface"), exports);
5
- tslib_1.__exportStar(require("./globals.interface"), exports);
@@ -1,17 +0,0 @@
1
- {
2
- "extends": "../tsconfig.build.json",
3
- "compilerOptions": {
4
- "outDir": ".",
5
- "rootDir": ".",
6
- "paths": {
7
- "@zanobijs/common": ["../common"],
8
- "@zanobijs/common/*": ["../common/*"]
9
- }
10
- },
11
- "exclude": ["node_modules", "dist", "__test__/**/*", "*.spec.ts"],
12
- "references": [
13
- {
14
- "path": "../common/tsconfig.build.json"
15
- }
16
- ]
17
- }
File without changes
File without changes
File without changes