@navios/di 0.2.1 → 0.3.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 (62) hide show
  1. package/README.md +299 -38
  2. package/docs/README.md +121 -48
  3. package/docs/api-reference.md +763 -0
  4. package/docs/container.md +274 -0
  5. package/docs/examples/basic-usage.mts +97 -0
  6. package/docs/examples/factory-pattern.mts +318 -0
  7. package/docs/examples/injection-tokens.mts +225 -0
  8. package/docs/examples/request-scope-example.mts +254 -0
  9. package/docs/examples/service-lifecycle.mts +359 -0
  10. package/docs/factory.md +584 -0
  11. package/docs/getting-started.md +308 -0
  12. package/docs/injectable.md +496 -0
  13. package/docs/injection-tokens.md +400 -0
  14. package/docs/lifecycle.md +539 -0
  15. package/docs/scopes.md +749 -0
  16. package/lib/_tsup-dts-rollup.d.mts +490 -145
  17. package/lib/_tsup-dts-rollup.d.ts +490 -145
  18. package/lib/index.d.mts +26 -12
  19. package/lib/index.d.ts +26 -12
  20. package/lib/index.js +993 -462
  21. package/lib/index.js.map +1 -1
  22. package/lib/index.mjs +983 -453
  23. package/lib/index.mjs.map +1 -1
  24. package/package.json +2 -2
  25. package/project.json +10 -2
  26. package/src/__tests__/container.spec.mts +1301 -0
  27. package/src/__tests__/factory.spec.mts +137 -0
  28. package/src/__tests__/injectable.spec.mts +32 -88
  29. package/src/__tests__/injection-token.spec.mts +333 -17
  30. package/src/__tests__/request-scope.spec.mts +263 -0
  31. package/src/__type-tests__/factory.spec-d.mts +65 -0
  32. package/src/__type-tests__/inject.spec-d.mts +27 -28
  33. package/src/__type-tests__/injectable.spec-d.mts +42 -206
  34. package/src/container.mts +167 -0
  35. package/src/decorators/factory.decorator.mts +79 -0
  36. package/src/decorators/index.mts +1 -0
  37. package/src/decorators/injectable.decorator.mts +6 -56
  38. package/src/enums/injectable-scope.enum.mts +5 -1
  39. package/src/event-emitter.mts +18 -20
  40. package/src/factory-context.mts +2 -10
  41. package/src/index.mts +3 -2
  42. package/src/injection-token.mts +19 -4
  43. package/src/injector.mts +8 -20
  44. package/src/interfaces/factory.interface.mts +3 -3
  45. package/src/interfaces/index.mts +2 -0
  46. package/src/interfaces/on-service-destroy.interface.mts +3 -0
  47. package/src/interfaces/on-service-init.interface.mts +3 -0
  48. package/src/registry.mts +7 -16
  49. package/src/request-context-holder.mts +145 -0
  50. package/src/service-instantiator.mts +158 -0
  51. package/src/service-locator-event-bus.mts +0 -28
  52. package/src/service-locator-instance-holder.mts +27 -16
  53. package/src/service-locator-manager.mts +84 -0
  54. package/src/service-locator.mts +548 -393
  55. package/src/utils/defer.mts +73 -0
  56. package/src/utils/get-injectors.mts +91 -78
  57. package/src/utils/index.mts +2 -0
  58. package/src/utils/types.mts +52 -0
  59. package/docs/concepts/injectable.md +0 -182
  60. package/docs/concepts/injection-token.md +0 -145
  61. package/src/proxy-service-locator.mts +0 -83
  62. package/src/resolve-service.mts +0 -41
package/lib/index.d.mts CHANGED
@@ -1,3 +1,5 @@
1
+ export { Factory } from './_tsup-dts-rollup.mjs';
2
+ export { FactoryOptions } from './_tsup-dts-rollup.mjs';
1
3
  export { Injectable } from './_tsup-dts-rollup.mjs';
2
4
  export { InjectableOptions } from './_tsup-dts-rollup.mjs';
3
5
  export { InjectableScope } from './_tsup-dts-rollup.mjs';
@@ -9,13 +11,22 @@ export { InstanceDestroying } from './_tsup-dts-rollup.mjs';
9
11
  export { InstanceExpired } from './_tsup-dts-rollup.mjs';
10
12
  export { InstanceNotFound } from './_tsup-dts-rollup.mjs';
11
13
  export { UnknownError } from './_tsup-dts-rollup.mjs';
12
- export { Factory } from './_tsup-dts-rollup.mjs';
13
- export { FactoryWithArgs } from './_tsup-dts-rollup.mjs';
14
+ export { Factorable } from './_tsup-dts-rollup.mjs';
15
+ export { FactorableWithArgs } from './_tsup-dts-rollup.mjs';
16
+ export { OnServiceInit } from './_tsup-dts-rollup.mjs';
17
+ export { OnServiceDestroy } from './_tsup-dts-rollup.mjs';
14
18
  export { getInjectors } from './_tsup-dts-rollup.mjs';
15
- export { CreateInjectorsOptions } from './_tsup-dts-rollup.mjs';
16
19
  export { Injectors } from './_tsup-dts-rollup.mjs';
17
- export { InjectorsBase } from './_tsup-dts-rollup.mjs';
18
20
  export { getInjectableToken } from './_tsup-dts-rollup.mjs';
21
+ export { createDeferred } from './_tsup-dts-rollup.mjs';
22
+ export { Deferred } from './_tsup-dts-rollup.mjs';
23
+ export { Join } from './_tsup-dts-rollup.mjs';
24
+ export { UnionToIntersection } from './_tsup-dts-rollup.mjs';
25
+ export { UnionToOvlds } from './_tsup-dts-rollup.mjs';
26
+ export { PopUnion } from './_tsup-dts-rollup.mjs';
27
+ export { IsUnion } from './_tsup-dts-rollup.mjs';
28
+ export { UnionToArray } from './_tsup-dts-rollup.mjs';
29
+ export { InjectState } from './_tsup-dts-rollup.mjs';
19
30
  export { EventsConfig_alias_1 as EventsConfig } from './_tsup-dts-rollup.mjs';
20
31
  export { EventsNames_alias_1 as EventsNames } from './_tsup-dts-rollup.mjs';
21
32
  export { EventsArgs_alias_1 as EventsArgs } from './_tsup-dts-rollup.mjs';
@@ -35,27 +46,30 @@ export { InjectionTokenSchemaType } from './_tsup-dts-rollup.mjs';
35
46
  export { InjectionToken } from './_tsup-dts-rollup.mjs';
36
47
  export { BoundInjectionToken } from './_tsup-dts-rollup.mjs';
37
48
  export { FactoryInjectionToken } from './_tsup-dts-rollup.mjs';
38
- export { getGlobalServiceLocator } from './_tsup-dts-rollup.mjs';
49
+ export { AnyInjectableType } from './_tsup-dts-rollup.mjs';
50
+ export { InjectionTokenType } from './_tsup-dts-rollup.mjs';
51
+ export { defaultInjectors } from './_tsup-dts-rollup.mjs';
52
+ export { asyncInject } from './_tsup-dts-rollup.mjs';
39
53
  export { inject } from './_tsup-dts-rollup.mjs';
40
- export { syncInject } from './_tsup-dts-rollup.mjs';
41
54
  export { wrapSyncInit } from './_tsup-dts-rollup.mjs';
42
- export { provideServiceLocator } from './_tsup-dts-rollup.mjs';
43
- export { makeProxyServiceLocator } from './_tsup-dts-rollup.mjs';
44
- export { ProxyServiceLocator } from './_tsup-dts-rollup.mjs';
45
- export { InjectionFactory } from './_tsup-dts-rollup.mjs';
55
+ export { provideFactoryContext } from './_tsup-dts-rollup.mjs';
46
56
  export { FactoryRecord } from './_tsup-dts-rollup.mjs';
47
57
  export { Registry } from './_tsup-dts-rollup.mjs';
48
58
  export { globalRegistry } from './_tsup-dts-rollup.mjs';
49
- export { resolveService } from './_tsup-dts-rollup.mjs';
59
+ export { ServiceInstantiator } from './_tsup-dts-rollup.mjs';
50
60
  export { ServiceLocator } from './_tsup-dts-rollup.mjs';
51
61
  export { ServiceLocatorEventBus } from './_tsup-dts-rollup.mjs';
52
- export { ServiceLocatorInstanceHolderKind } from './_tsup-dts-rollup.mjs';
53
62
  export { ServiceLocatorInstanceHolderStatus } from './_tsup-dts-rollup.mjs';
54
63
  export { ServiceLocatorInstanceEffect } from './_tsup-dts-rollup.mjs';
55
64
  export { ServiceLocatorInstanceDestroyListener } from './_tsup-dts-rollup.mjs';
56
65
  export { ServiceLocatorInstanceHolderCreating } from './_tsup-dts-rollup.mjs';
57
66
  export { ServiceLocatorInstanceHolderCreated } from './_tsup-dts-rollup.mjs';
58
67
  export { ServiceLocatorInstanceHolderDestroying } from './_tsup-dts-rollup.mjs';
68
+ export { ServiceLocatorInstanceHolderError } from './_tsup-dts-rollup.mjs';
59
69
  export { ServiceLocatorInstanceHolder } from './_tsup-dts-rollup.mjs';
60
70
  export { ServiceLocatorManager } from './_tsup-dts-rollup.mjs';
71
+ export { createRequestContextHolder } from './_tsup-dts-rollup.mjs';
72
+ export { RequestContextHolder } from './_tsup-dts-rollup.mjs';
73
+ export { DefaultRequestContextHolder } from './_tsup-dts-rollup.mjs';
61
74
  export { InjectableTokenMeta } from './_tsup-dts-rollup.mjs';
75
+ export { Container_alias_1 as Container } from './_tsup-dts-rollup.mjs';
package/lib/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export { Factory } from './_tsup-dts-rollup.js';
2
+ export { FactoryOptions } from './_tsup-dts-rollup.js';
1
3
  export { Injectable } from './_tsup-dts-rollup.js';
2
4
  export { InjectableOptions } from './_tsup-dts-rollup.js';
3
5
  export { InjectableScope } from './_tsup-dts-rollup.js';
@@ -9,13 +11,22 @@ export { InstanceDestroying } from './_tsup-dts-rollup.js';
9
11
  export { InstanceExpired } from './_tsup-dts-rollup.js';
10
12
  export { InstanceNotFound } from './_tsup-dts-rollup.js';
11
13
  export { UnknownError } from './_tsup-dts-rollup.js';
12
- export { Factory } from './_tsup-dts-rollup.js';
13
- export { FactoryWithArgs } from './_tsup-dts-rollup.js';
14
+ export { Factorable } from './_tsup-dts-rollup.js';
15
+ export { FactorableWithArgs } from './_tsup-dts-rollup.js';
16
+ export { OnServiceInit } from './_tsup-dts-rollup.js';
17
+ export { OnServiceDestroy } from './_tsup-dts-rollup.js';
14
18
  export { getInjectors } from './_tsup-dts-rollup.js';
15
- export { CreateInjectorsOptions } from './_tsup-dts-rollup.js';
16
19
  export { Injectors } from './_tsup-dts-rollup.js';
17
- export { InjectorsBase } from './_tsup-dts-rollup.js';
18
20
  export { getInjectableToken } from './_tsup-dts-rollup.js';
21
+ export { createDeferred } from './_tsup-dts-rollup.js';
22
+ export { Deferred } from './_tsup-dts-rollup.js';
23
+ export { Join } from './_tsup-dts-rollup.js';
24
+ export { UnionToIntersection } from './_tsup-dts-rollup.js';
25
+ export { UnionToOvlds } from './_tsup-dts-rollup.js';
26
+ export { PopUnion } from './_tsup-dts-rollup.js';
27
+ export { IsUnion } from './_tsup-dts-rollup.js';
28
+ export { UnionToArray } from './_tsup-dts-rollup.js';
29
+ export { InjectState } from './_tsup-dts-rollup.js';
19
30
  export { EventsConfig_alias_1 as EventsConfig } from './_tsup-dts-rollup.js';
20
31
  export { EventsNames_alias_1 as EventsNames } from './_tsup-dts-rollup.js';
21
32
  export { EventsArgs_alias_1 as EventsArgs } from './_tsup-dts-rollup.js';
@@ -35,27 +46,30 @@ export { InjectionTokenSchemaType } from './_tsup-dts-rollup.js';
35
46
  export { InjectionToken } from './_tsup-dts-rollup.js';
36
47
  export { BoundInjectionToken } from './_tsup-dts-rollup.js';
37
48
  export { FactoryInjectionToken } from './_tsup-dts-rollup.js';
38
- export { getGlobalServiceLocator } from './_tsup-dts-rollup.js';
49
+ export { AnyInjectableType } from './_tsup-dts-rollup.js';
50
+ export { InjectionTokenType } from './_tsup-dts-rollup.js';
51
+ export { defaultInjectors } from './_tsup-dts-rollup.js';
52
+ export { asyncInject } from './_tsup-dts-rollup.js';
39
53
  export { inject } from './_tsup-dts-rollup.js';
40
- export { syncInject } from './_tsup-dts-rollup.js';
41
54
  export { wrapSyncInit } from './_tsup-dts-rollup.js';
42
- export { provideServiceLocator } from './_tsup-dts-rollup.js';
43
- export { makeProxyServiceLocator } from './_tsup-dts-rollup.js';
44
- export { ProxyServiceLocator } from './_tsup-dts-rollup.js';
45
- export { InjectionFactory } from './_tsup-dts-rollup.js';
55
+ export { provideFactoryContext } from './_tsup-dts-rollup.js';
46
56
  export { FactoryRecord } from './_tsup-dts-rollup.js';
47
57
  export { Registry } from './_tsup-dts-rollup.js';
48
58
  export { globalRegistry } from './_tsup-dts-rollup.js';
49
- export { resolveService } from './_tsup-dts-rollup.js';
59
+ export { ServiceInstantiator } from './_tsup-dts-rollup.js';
50
60
  export { ServiceLocator } from './_tsup-dts-rollup.js';
51
61
  export { ServiceLocatorEventBus } from './_tsup-dts-rollup.js';
52
- export { ServiceLocatorInstanceHolderKind } from './_tsup-dts-rollup.js';
53
62
  export { ServiceLocatorInstanceHolderStatus } from './_tsup-dts-rollup.js';
54
63
  export { ServiceLocatorInstanceEffect } from './_tsup-dts-rollup.js';
55
64
  export { ServiceLocatorInstanceDestroyListener } from './_tsup-dts-rollup.js';
56
65
  export { ServiceLocatorInstanceHolderCreating } from './_tsup-dts-rollup.js';
57
66
  export { ServiceLocatorInstanceHolderCreated } from './_tsup-dts-rollup.js';
58
67
  export { ServiceLocatorInstanceHolderDestroying } from './_tsup-dts-rollup.js';
68
+ export { ServiceLocatorInstanceHolderError } from './_tsup-dts-rollup.js';
59
69
  export { ServiceLocatorInstanceHolder } from './_tsup-dts-rollup.js';
60
70
  export { ServiceLocatorManager } from './_tsup-dts-rollup.js';
71
+ export { createRequestContextHolder } from './_tsup-dts-rollup.js';
72
+ export { RequestContextHolder } from './_tsup-dts-rollup.js';
73
+ export { DefaultRequestContextHolder } from './_tsup-dts-rollup.js';
61
74
  export { InjectableTokenMeta } from './_tsup-dts-rollup.js';
75
+ export { Container_alias_1 as Container } from './_tsup-dts-rollup.js';