@navios/di 0.4.1 → 0.5.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.
- package/README.md +211 -1
- package/coverage/clover.xml +1912 -1277
- package/coverage/coverage-final.json +37 -28
- package/coverage/docs/examples/basic-usage.mts.html +1 -1
- package/coverage/docs/examples/factory-pattern.mts.html +1 -1
- package/coverage/docs/examples/index.html +1 -1
- package/coverage/docs/examples/injection-tokens.mts.html +1 -1
- package/coverage/docs/examples/request-scope-example.mts.html +1 -1
- package/coverage/docs/examples/service-lifecycle.mts.html +1 -1
- package/coverage/index.html +71 -41
- package/coverage/lib/_tsup-dts-rollup.d.mts.html +682 -43
- package/coverage/lib/index.d.mts.html +7 -4
- package/coverage/lib/index.html +5 -5
- package/coverage/lib/testing/index.d.mts.html +91 -0
- package/coverage/lib/testing/index.html +116 -0
- package/coverage/src/base-instance-holder-manager.mts.html +589 -0
- package/coverage/src/container.mts.html +257 -74
- package/coverage/src/decorators/factory.decorator.mts.html +1 -1
- package/coverage/src/decorators/index.html +1 -1
- package/coverage/src/decorators/index.mts.html +1 -1
- package/coverage/src/decorators/injectable.decorator.mts.html +20 -20
- package/coverage/src/enums/index.html +1 -1
- package/coverage/src/enums/index.mts.html +1 -1
- package/coverage/src/enums/injectable-scope.enum.mts.html +1 -1
- package/coverage/src/enums/injectable-type.enum.mts.html +1 -1
- package/coverage/src/errors/di-error.mts.html +292 -0
- package/coverage/src/errors/errors.enum.mts.html +30 -21
- package/coverage/src/errors/factory-not-found.mts.html +31 -22
- package/coverage/src/errors/factory-token-not-resolved.mts.html +29 -26
- package/coverage/src/errors/index.html +56 -41
- package/coverage/src/errors/index.mts.html +15 -9
- package/coverage/src/errors/instance-destroying.mts.html +31 -22
- package/coverage/src/errors/instance-expired.mts.html +31 -22
- package/coverage/src/errors/instance-not-found.mts.html +31 -22
- package/coverage/src/errors/unknown-error.mts.html +31 -43
- package/coverage/src/event-emitter.mts.html +14 -14
- package/coverage/src/factory-context.mts.html +1 -1
- package/coverage/src/index.html +121 -46
- package/coverage/src/index.mts.html +7 -4
- package/coverage/src/injection-token.mts.html +28 -28
- package/coverage/src/injector.mts.html +1 -1
- package/coverage/src/instance-resolver.mts.html +1762 -0
- package/coverage/src/interfaces/factory.interface.mts.html +1 -1
- package/coverage/src/interfaces/index.html +1 -1
- package/coverage/src/interfaces/index.mts.html +1 -1
- package/coverage/src/interfaces/on-service-destroy.interface.mts.html +1 -1
- package/coverage/src/interfaces/on-service-init.interface.mts.html +1 -1
- package/coverage/src/registry.mts.html +28 -28
- package/coverage/src/request-context-holder.mts.html +183 -102
- package/coverage/src/request-context-manager.mts.html +532 -0
- package/coverage/src/service-instantiator.mts.html +49 -49
- package/coverage/src/service-invalidator.mts.html +1372 -0
- package/coverage/src/service-locator-event-bus.mts.html +48 -48
- package/coverage/src/service-locator-instance-holder.mts.html +2 -14
- package/coverage/src/service-locator-manager.mts.html +71 -335
- package/coverage/src/service-locator.mts.html +240 -2328
- package/coverage/src/symbols/index.html +1 -1
- package/coverage/src/symbols/index.mts.html +1 -1
- package/coverage/src/symbols/injectable-token.mts.html +1 -1
- package/coverage/src/testing/index.html +131 -0
- package/coverage/src/testing/index.mts.html +88 -0
- package/coverage/src/testing/test-container.mts.html +445 -0
- package/coverage/src/token-processor.mts.html +607 -0
- package/coverage/src/utils/defer.mts.html +28 -214
- package/coverage/src/utils/get-injectable-token.mts.html +7 -7
- package/coverage/src/utils/get-injectors.mts.html +99 -99
- package/coverage/src/utils/index.html +15 -15
- package/coverage/src/utils/index.mts.html +4 -7
- package/coverage/src/utils/types.mts.html +1 -1
- package/docs/injectable.md +51 -11
- package/docs/scopes.md +63 -29
- package/lib/_tsup-dts-rollup.d.mts +447 -212
- package/lib/_tsup-dts-rollup.d.ts +447 -212
- package/lib/chunk-44F3LXW5.mjs +2043 -0
- package/lib/chunk-44F3LXW5.mjs.map +1 -0
- package/lib/index.d.mts +6 -4
- package/lib/index.d.ts +6 -4
- package/lib/index.js +1199 -773
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +4 -1599
- package/lib/index.mjs.map +1 -1
- package/lib/testing/index.d.mts +2 -0
- package/lib/testing/index.d.ts +2 -0
- package/lib/testing/index.js +2060 -0
- package/lib/testing/index.js.map +1 -0
- package/lib/testing/index.mjs +73 -0
- package/lib/testing/index.mjs.map +1 -0
- package/package.json +11 -1
- package/src/__tests__/container.spec.mts +47 -13
- package/src/__tests__/errors.spec.mts +53 -27
- package/src/__tests__/injectable.spec.mts +73 -0
- package/src/__tests__/request-scope.spec.mts +0 -2
- package/src/__tests__/service-locator-manager.spec.mts +12 -82
- package/src/__tests__/service-locator.spec.mts +1009 -1
- package/src/__type-tests__/inject.spec-d.mts +30 -7
- package/src/__type-tests__/injectable.spec-d.mts +76 -37
- package/src/base-instance-holder-manager.mts +2 -9
- package/src/container.mts +70 -10
- package/src/decorators/injectable.decorator.mts +29 -5
- package/src/errors/di-error.mts +69 -0
- package/src/errors/index.mts +9 -7
- package/src/injection-token.mts +1 -0
- package/src/injector.mts +2 -0
- package/src/instance-resolver.mts +559 -0
- package/src/request-context-holder.mts +0 -2
- package/src/request-context-manager.mts +149 -0
- package/src/service-invalidator.mts +429 -0
- package/src/service-locator-instance-holder.mts +0 -4
- package/src/service-locator-manager.mts +10 -40
- package/src/service-locator.mts +86 -782
- package/src/testing/README.md +80 -0
- package/src/testing/__tests__/test-container.spec.mts +173 -0
- package/src/testing/index.mts +1 -0
- package/src/testing/test-container.mts +120 -0
- package/src/token-processor.mts +174 -0
- package/src/utils/get-injectors.mts +161 -24
- package/src/utils/index.mts +0 -1
- package/src/utils/types.mts +12 -8
- package/tsup.config.mts +1 -1
- package/src/__tests__/defer.spec.mts +0 -166
- package/src/errors/errors.enum.mts +0 -8
- package/src/errors/factory-not-found.mts +0 -8
- package/src/errors/factory-token-not-resolved.mts +0 -10
- package/src/errors/instance-destroying.mts +0 -8
- package/src/errors/instance-expired.mts +0 -8
- package/src/errors/instance-not-found.mts +0 -8
- package/src/errors/unknown-error.mts +0 -15
- package/src/utils/defer.mts +0 -73
|
@@ -361,7 +361,7 @@ export { LoggerService, UserService, EmailService, UserRegistrationService }
|
|
|
361
361
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
362
362
|
Code coverage generated by
|
|
363
363
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
364
|
-
at 2025-09-
|
|
364
|
+
at 2025-09-21T17:47:07.632Z
|
|
365
365
|
</div>
|
|
366
366
|
<script src="../../prettify.js"></script>
|
|
367
367
|
<script>
|
|
@@ -1024,7 +1024,7 @@ export {
|
|
|
1024
1024
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1025
1025
|
Code coverage generated by
|
|
1026
1026
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1027
|
-
at 2025-09-
|
|
1027
|
+
at 2025-09-21T17:47:07.632Z
|
|
1028
1028
|
</div>
|
|
1029
1029
|
<script src="../../prettify.js"></script>
|
|
1030
1030
|
<script>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
162
162
|
Code coverage generated by
|
|
163
163
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
-
at 2025-09-
|
|
164
|
+
at 2025-09-21T17:47:07.632Z
|
|
165
165
|
</div>
|
|
166
166
|
<script src="../../prettify.js"></script>
|
|
167
167
|
<script>
|
|
@@ -745,7 +745,7 @@ export {
|
|
|
745
745
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
746
746
|
Code coverage generated by
|
|
747
747
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
748
|
-
at 2025-09-
|
|
748
|
+
at 2025-09-21T17:47:07.632Z
|
|
749
749
|
</div>
|
|
750
750
|
<script src="../../prettify.js"></script>
|
|
751
751
|
<script>
|
|
@@ -832,7 +832,7 @@ export {
|
|
|
832
832
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
833
833
|
Code coverage generated by
|
|
834
834
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
835
|
-
at 2025-09-
|
|
835
|
+
at 2025-09-21T17:47:07.632Z
|
|
836
836
|
</div>
|
|
837
837
|
<script src="../../prettify.js"></script>
|
|
838
838
|
<script>
|
|
@@ -1147,7 +1147,7 @@ export { DatabaseService, CacheService, EmailService, UserService }
|
|
|
1147
1147
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1148
1148
|
Code coverage generated by
|
|
1149
1149
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1150
|
-
at 2025-09-
|
|
1150
|
+
at 2025-09-21T17:47:07.632Z
|
|
1151
1151
|
</div>
|
|
1152
1152
|
<script src="../../prettify.js"></script>
|
|
1153
1153
|
<script>
|
package/coverage/index.html
CHANGED
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">64.37% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>1991/3093</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">90.77% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>423/466</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">86.77% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>164/189</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">64.37% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>1991/3093</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -99,28 +99,43 @@
|
|
|
99
99
|
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
|
100
100
|
</td>
|
|
101
101
|
<td data-value="0" class="pct low">0%</td>
|
|
102
|
-
<td data-value="
|
|
102
|
+
<td data-value="77" class="abs low">0/77</td>
|
|
103
103
|
<td data-value="0" class="pct low">0%</td>
|
|
104
104
|
<td data-value="2" class="abs low">0/2</td>
|
|
105
105
|
<td data-value="0" class="pct low">0%</td>
|
|
106
106
|
<td data-value="2" class="abs low">0/2</td>
|
|
107
107
|
<td data-value="0" class="pct low">0%</td>
|
|
108
|
-
<td data-value="
|
|
108
|
+
<td data-value="77" class="abs low">0/77</td>
|
|
109
|
+
</tr>
|
|
110
|
+
|
|
111
|
+
<tr>
|
|
112
|
+
<td class="file low" data-value="lib/testing"><a href="lib/testing/index.html">lib/testing</a></td>
|
|
113
|
+
<td data-value="0" class="pic low">
|
|
114
|
+
<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
|
|
115
|
+
</td>
|
|
116
|
+
<td data-value="0" class="pct low">0%</td>
|
|
117
|
+
<td data-value="2" class="abs low">0/2</td>
|
|
118
|
+
<td data-value="0" class="pct low">0%</td>
|
|
119
|
+
<td data-value="1" class="abs low">0/1</td>
|
|
120
|
+
<td data-value="0" class="pct low">0%</td>
|
|
121
|
+
<td data-value="1" class="abs low">0/1</td>
|
|
122
|
+
<td data-value="0" class="pct low">0%</td>
|
|
123
|
+
<td data-value="2" class="abs low">0/2</td>
|
|
109
124
|
</tr>
|
|
110
125
|
|
|
111
126
|
<tr>
|
|
112
127
|
<td class="file high" data-value="src"><a href="src/index.html">src</a></td>
|
|
113
|
-
<td data-value="
|
|
114
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
128
|
+
<td data-value="89.61" class="pic high">
|
|
129
|
+
<div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
|
|
115
130
|
</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
118
|
-
<td data-value="
|
|
119
|
-
<td data-value="
|
|
120
|
-
<td data-value="
|
|
121
|
-
<td data-value="
|
|
122
|
-
<td data-value="
|
|
123
|
-
<td data-value="
|
|
131
|
+
<td data-value="89.61" class="pct high">89.61%</td>
|
|
132
|
+
<td data-value="1724" class="abs high">1545/1724</td>
|
|
133
|
+
<td data-value="93.01" class="pct high">93.01%</td>
|
|
134
|
+
<td data-value="401" class="abs high">373/401</td>
|
|
135
|
+
<td data-value="90.25" class="pct high">90.25%</td>
|
|
136
|
+
<td data-value="154" class="abs high">139/154</td>
|
|
137
|
+
<td data-value="89.61" class="pct high">89.61%</td>
|
|
138
|
+
<td data-value="1724" class="abs high">1545/1724</td>
|
|
124
139
|
</tr>
|
|
125
140
|
|
|
126
141
|
<tr>
|
|
@@ -155,17 +170,17 @@
|
|
|
155
170
|
|
|
156
171
|
<tr>
|
|
157
172
|
<td class="file high" data-value="src/errors"><a href="src/errors/index.html">src/errors</a></td>
|
|
158
|
-
<td data-value="
|
|
159
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
173
|
+
<td data-value="100" class="pic high">
|
|
174
|
+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
160
175
|
</td>
|
|
161
|
-
<td data-value="
|
|
162
|
-
<td data-value="
|
|
163
|
-
<td data-value="
|
|
164
|
-
<td data-value="
|
|
165
|
-
<td data-value="100" class="pct high">100%</td>
|
|
166
|
-
<td data-value="
|
|
167
|
-
<td data-value="
|
|
168
|
-
<td data-value="
|
|
176
|
+
<td data-value="100" class="pct high">100%</td>
|
|
177
|
+
<td data-value="132" class="abs high">132/132</td>
|
|
178
|
+
<td data-value="91.66" class="pct high">91.66%</td>
|
|
179
|
+
<td data-value="12" class="abs high">11/12</td>
|
|
180
|
+
<td data-value="100" class="pct high">100%</td>
|
|
181
|
+
<td data-value="7" class="abs high">7/7</td>
|
|
182
|
+
<td data-value="100" class="pct high">100%</td>
|
|
183
|
+
<td data-value="132" class="abs high">132/132</td>
|
|
169
184
|
</tr>
|
|
170
185
|
|
|
171
186
|
<tr>
|
|
@@ -198,19 +213,34 @@
|
|
|
198
213
|
<td data-value="2" class="abs high">2/2</td>
|
|
199
214
|
</tr>
|
|
200
215
|
|
|
216
|
+
<tr>
|
|
217
|
+
<td class="file high" data-value="src/testing"><a href="src/testing/index.html">src/testing</a></td>
|
|
218
|
+
<td data-value="95.23" class="pic high">
|
|
219
|
+
<div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
|
|
220
|
+
</td>
|
|
221
|
+
<td data-value="95.23" class="pct high">95.23%</td>
|
|
222
|
+
<td data-value="63" class="abs high">60/63</td>
|
|
223
|
+
<td data-value="80" class="pct high">80%</td>
|
|
224
|
+
<td data-value="10" class="abs high">8/10</td>
|
|
225
|
+
<td data-value="88.88" class="pct high">88.88%</td>
|
|
226
|
+
<td data-value="9" class="abs high">8/9</td>
|
|
227
|
+
<td data-value="95.23" class="pct high">95.23%</td>
|
|
228
|
+
<td data-value="63" class="abs high">60/63</td>
|
|
229
|
+
</tr>
|
|
230
|
+
|
|
201
231
|
<tr>
|
|
202
232
|
<td class="file high" data-value="src/utils"><a href="src/utils/index.html">src/utils</a></td>
|
|
203
|
-
<td data-value="
|
|
204
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
233
|
+
<td data-value="94.94" class="pic high">
|
|
234
|
+
<div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
|
|
205
235
|
</td>
|
|
206
|
-
<td data-value="
|
|
207
|
-
<td data-value="
|
|
208
|
-
<td data-value="
|
|
209
|
-
<td data-value="
|
|
210
|
-
<td data-value="
|
|
211
|
-
<td data-value="
|
|
212
|
-
<td data-value="
|
|
213
|
-
<td data-value="
|
|
236
|
+
<td data-value="94.94" class="pct high">94.94%</td>
|
|
237
|
+
<td data-value="198" class="abs high">188/198</td>
|
|
238
|
+
<td data-value="92" class="pct high">92%</td>
|
|
239
|
+
<td data-value="25" class="abs high">23/25</td>
|
|
240
|
+
<td data-value="88.88" class="pct high">88.88%</td>
|
|
241
|
+
<td data-value="9" class="abs high">8/9</td>
|
|
242
|
+
<td data-value="94.94" class="pct high">94.94%</td>
|
|
243
|
+
<td data-value="198" class="abs high">188/198</td>
|
|
214
244
|
</tr>
|
|
215
245
|
|
|
216
246
|
</tbody>
|
|
@@ -221,7 +251,7 @@
|
|
|
221
251
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
222
252
|
Code coverage generated by
|
|
223
253
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
224
|
-
at 2025-09-
|
|
254
|
+
at 2025-09-21T17:47:07.632Z
|
|
225
255
|
</div>
|
|
226
256
|
<script src="prettify.js"></script>
|
|
227
257
|
<script>
|