@navios/di 0.4.2 → 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 +376 -213
- package/lib/_tsup-dts-rollup.d.ts +376 -213
- package/lib/{chunk-3NLYPYBY.mjs → chunk-44F3LXW5.mjs} +1021 -605
- 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 +1192 -776
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +2 -2
- package/lib/testing/index.js +1258 -840
- package/lib/testing/index.js.map +1 -1
- package/lib/testing/index.mjs +1 -1
- package/package.json +1 -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 +61 -9
- 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/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/lib/chunk-3NLYPYBY.mjs.map +0 -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
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">94.44% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>17/18</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -138,67 +138,67 @@
|
|
|
138
138
|
<span class="cline-any cline-neutral"> </span>
|
|
139
139
|
<span class="cline-any cline-neutral"> </span>
|
|
140
140
|
<span class="cline-any cline-yes">1x</span>
|
|
141
|
-
<span class="cline-any cline-yes">
|
|
142
|
-
<span class="cline-any cline-yes">
|
|
141
|
+
<span class="cline-any cline-yes">162x</span>
|
|
142
|
+
<span class="cline-any cline-yes">162x</span>
|
|
143
143
|
<span class="cline-any cline-neutral"> </span>
|
|
144
|
-
<span class="cline-any cline-yes">
|
|
145
|
-
<span class="cline-any cline-yes">
|
|
146
|
-
<span class="cline-any cline-yes">
|
|
147
|
-
<span class="cline-any cline-yes">
|
|
148
|
-
<span class="cline-any cline-yes">
|
|
149
|
-
<span class="cline-any cline-yes">
|
|
150
|
-
<span class="cline-any cline-yes">
|
|
151
|
-
<span class="cline-any cline-yes">
|
|
152
|
-
<span class="cline-any cline-yes">
|
|
144
|
+
<span class="cline-any cline-yes">162x</span>
|
|
145
|
+
<span class="cline-any cline-yes">69x</span>
|
|
146
|
+
<span class="cline-any cline-yes">69x</span>
|
|
147
|
+
<span class="cline-any cline-yes">69x</span>
|
|
148
|
+
<span class="cline-any cline-yes">69x</span>
|
|
149
|
+
<span class="cline-any cline-yes">69x</span>
|
|
150
|
+
<span class="cline-any cline-yes">69x</span>
|
|
151
|
+
<span class="cline-any cline-yes">58x</span>
|
|
152
|
+
<span class="cline-any cline-yes">58x</span>
|
|
153
153
|
<span class="cline-any cline-neutral"> </span>
|
|
154
|
-
<span class="cline-any cline-yes">
|
|
155
|
-
<span class="cline-any cline-yes">
|
|
156
|
-
<span class="cline-any cline-yes">
|
|
157
|
-
<span class="cline-any cline-yes">
|
|
154
|
+
<span class="cline-any cline-yes">69x</span>
|
|
155
|
+
<span class="cline-any cline-yes">69x</span>
|
|
156
|
+
<span class="cline-any cline-yes">61x</span>
|
|
157
|
+
<span class="cline-any cline-yes">61x</span>
|
|
158
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
159
|
+
<span class="cline-any cline-yes">69x</span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
|
-
<span class="cline-any cline-yes">
|
|
162
|
-
<span class="cline-any cline-yes">
|
|
163
|
-
<span class="cline-any cline-yes">
|
|
164
|
-
<span class="cline-any cline-yes">
|
|
165
|
-
<span class="cline-any cline-yes">
|
|
166
|
-
<span class="cline-any cline-yes">
|
|
167
|
-
<span class="cline-any cline-yes">
|
|
168
|
-
<span class="cline-any cline-yes">
|
|
169
|
-
<span class="cline-any cline-yes">
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
161
|
+
<span class="cline-any cline-yes">69x</span>
|
|
162
|
+
<span class="cline-any cline-yes">23x</span>
|
|
163
|
+
<span class="cline-any cline-yes">23x</span>
|
|
164
|
+
<span class="cline-any cline-yes">20x</span>
|
|
165
|
+
<span class="cline-any cline-yes">20x</span>
|
|
166
|
+
<span class="cline-any cline-yes">23x</span>
|
|
167
|
+
<span class="cline-any cline-yes">20x</span>
|
|
168
|
+
<span class="cline-any cline-yes">20x</span>
|
|
169
|
+
<span class="cline-any cline-yes">23x</span>
|
|
170
|
+
<span class="cline-any cline-yes">69x</span>
|
|
171
171
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-yes">
|
|
173
|
-
<span class="cline-any cline-yes">
|
|
174
|
-
<span class="cline-any cline-yes">
|
|
175
|
-
<span class="cline-any cline-yes">
|
|
172
|
+
<span class="cline-any cline-yes">162x</span>
|
|
173
|
+
<span class="cline-any cline-yes">51x</span>
|
|
174
|
+
<span class="cline-any cline-yes">25x</span>
|
|
175
|
+
<span class="cline-any cline-yes">25x</span>
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
177
|
-
<span class="cline-any cline-yes">
|
|
177
|
+
<span class="cline-any cline-yes">26x</span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-yes">
|
|
179
|
+
<span class="cline-any cline-yes">51x</span>
|
|
180
180
|
<span class="cline-any cline-neutral"> </span>
|
|
181
|
-
<span class="cline-any cline-yes">
|
|
182
|
-
<span class="cline-any cline-yes">
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
184
|
-
<span class="cline-any cline-yes">
|
|
185
|
-
<span class="cline-any cline-yes">
|
|
186
|
-
<span class="cline-any cline-yes">
|
|
181
|
+
<span class="cline-any cline-yes">51x</span>
|
|
182
|
+
<span class="cline-any cline-yes">51x</span>
|
|
183
|
+
<span class="cline-any cline-yes">51x</span>
|
|
184
|
+
<span class="cline-any cline-yes">25x</span>
|
|
185
|
+
<span class="cline-any cline-yes">25x</span>
|
|
186
|
+
<span class="cline-any cline-yes">25x</span>
|
|
187
187
|
<span class="cline-any cline-no"> </span>
|
|
188
188
|
<span class="cline-any cline-no"> </span>
|
|
189
189
|
<span class="cline-any cline-no"> </span>
|
|
190
190
|
<span class="cline-any cline-no"> </span>
|
|
191
191
|
<span class="cline-any cline-no"> </span>
|
|
192
|
-
<span class="cline-any cline-yes">
|
|
192
|
+
<span class="cline-any cline-yes">25x</span>
|
|
193
193
|
<span class="cline-any cline-neutral"> </span>
|
|
194
|
-
<span class="cline-any cline-yes">
|
|
194
|
+
<span class="cline-any cline-yes">25x</span>
|
|
195
195
|
<span class="cline-any cline-no"> </span>
|
|
196
196
|
<span class="cline-any cline-no"> </span>
|
|
197
|
-
<span class="cline-any cline-yes">
|
|
198
|
-
<span class="cline-any cline-yes">
|
|
199
|
-
<span class="cline-any cline-yes">
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
197
|
+
<span class="cline-any cline-yes">25x</span>
|
|
198
|
+
<span class="cline-any cline-yes">51x</span>
|
|
199
|
+
<span class="cline-any cline-yes">25x</span>
|
|
200
|
+
<span class="cline-any cline-yes">51x</span>
|
|
201
|
+
<span class="cline-any cline-yes">162x</span>
|
|
202
202
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
203
203
|
/* eslint-disable @typescript-eslint/no-unsafe-function-type */
|
|
204
204
|
|
|
@@ -274,7 +274,7 @@ export class ServiceLocatorEventBus {
|
|
|
274
274
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
275
275
|
Code coverage generated by
|
|
276
276
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
277
|
-
at 2025-09-
|
|
277
|
+
at 2025-09-21T17:47:07.632Z
|
|
278
278
|
</div>
|
|
279
279
|
<script src="../prettify.js"></script>
|
|
280
280
|
<script>
|
|
@@ -133,11 +133,7 @@
|
|
|
133
133
|
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
134
|
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
135
|
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
141
137
|
<span class="cline-any cline-neutral"> </span>
|
|
142
138
|
<span class="cline-any cline-neutral"> </span>
|
|
143
139
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -207,10 +203,6 @@
|
|
|
207
203
|
<span class="cline-any cline-neutral"> </span>
|
|
208
204
|
<span class="cline-any cline-neutral"> </span>
|
|
209
205
|
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-neutral"> </span>
|
|
214
206
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { InjectableScope, InjectableType } from './enums/index.mjs'
|
|
215
207
|
|
|
216
208
|
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
@@ -235,7 +227,6 @@ export interface ServiceLocatorInstanceHolderCreating<Instance> {
|
|
|
235
227
|
deps: Set<string>
|
|
236
228
|
destroyListeners: ServiceLocatorInstanceDestroyListener[]
|
|
237
229
|
createdAt: number
|
|
238
|
-
ttl: number
|
|
239
230
|
}
|
|
240
231
|
|
|
241
232
|
export interface ServiceLocatorInstanceHolderCreated<Instance> {
|
|
@@ -249,7 +240,6 @@ export interface ServiceLocatorInstanceHolderCreated<Instance> {
|
|
|
249
240
|
deps: Set<string>
|
|
250
241
|
destroyListeners: ServiceLocatorInstanceDestroyListener[]
|
|
251
242
|
createdAt: number
|
|
252
|
-
ttl: number
|
|
253
243
|
}
|
|
254
244
|
|
|
255
245
|
export interface ServiceLocatorInstanceHolderDestroying<Instance> {
|
|
@@ -263,7 +253,6 @@ export interface ServiceLocatorInstanceHolderDestroying<Instance> {
|
|
|
263
253
|
deps: Set<string>
|
|
264
254
|
destroyListeners: ServiceLocatorInstanceDestroyListener[]
|
|
265
255
|
createdAt: number
|
|
266
|
-
ttl: number
|
|
267
256
|
}
|
|
268
257
|
|
|
269
258
|
export interface ServiceLocatorInstanceHolderError {
|
|
@@ -277,7 +266,6 @@ export interface ServiceLocatorInstanceHolderError {
|
|
|
277
266
|
deps: Set<string>
|
|
278
267
|
destroyListeners: ServiceLocatorInstanceDestroyListener[]
|
|
279
268
|
createdAt: number
|
|
280
|
-
ttl: number
|
|
281
269
|
}
|
|
282
270
|
|
|
283
271
|
export type ServiceLocatorInstanceHolder<Instance = unknown> =
|
|
@@ -292,7 +280,7 @@ export type ServiceLocatorInstanceHolder<Instance = unknown> =
|
|
|
292
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
293
281
|
Code coverage generated by
|
|
294
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
295
|
-
at 2025-09-
|
|
283
|
+
at 2025-09-21T17:47:07.632Z
|
|
296
284
|
</div>
|
|
297
285
|
<script src="../prettify.js"></script>
|
|
298
286
|
<script>
|