@navios/di 0.9.1 → 1.0.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 (178) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +28 -0
  3. package/coverage/block-navigation.js +1 -1
  4. package/coverage/clover.xml +1463 -3174
  5. package/coverage/coverage-final.json +56 -54
  6. package/coverage/index.html +179 -104
  7. package/coverage/sorter.js +21 -7
  8. package/coverage/src/{request-context-manager.mts.html → __tests__/gc/gc-test-utils.mts.html} +192 -231
  9. package/coverage/{lib → src/__tests__/gc}/index.html +25 -40
  10. package/coverage/src/container/abstract-container.mts.html +1066 -0
  11. package/coverage/src/container/container.mts.html +958 -0
  12. package/coverage/src/container/index.html +161 -0
  13. package/coverage/src/{testing → container}/index.mts.html +12 -9
  14. package/coverage/src/container/scoped-container.mts.html +907 -0
  15. package/coverage/src/decorators/factory.decorator.mts.html +68 -53
  16. package/coverage/src/decorators/index.html +34 -34
  17. package/coverage/src/decorators/index.mts.html +10 -10
  18. package/coverage/src/decorators/injectable.decorator.mts.html +144 -60
  19. package/coverage/src/enums/index.html +21 -21
  20. package/coverage/src/enums/index.mts.html +12 -12
  21. package/coverage/src/enums/injectable-scope.enum.mts.html +11 -8
  22. package/coverage/src/enums/injectable-type.enum.mts.html +10 -7
  23. package/coverage/src/errors/di-error.mts.html +380 -71
  24. package/coverage/src/errors/index.html +22 -127
  25. package/coverage/src/errors/index.mts.html +9 -33
  26. package/coverage/src/event-emitter.mts.html +35 -107
  27. package/coverage/src/index.html +14 -254
  28. package/coverage/src/index.mts.html +23 -50
  29. package/coverage/src/interfaces/container.interface.mts.html +370 -0
  30. package/coverage/src/interfaces/factory.interface.mts.html +12 -12
  31. package/coverage/src/interfaces/index.html +45 -30
  32. package/coverage/src/interfaces/index.mts.html +16 -13
  33. package/coverage/src/interfaces/on-service-destroy.interface.mts.html +1 -1
  34. package/coverage/src/interfaces/on-service-init.interface.mts.html +1 -1
  35. package/coverage/src/internal/context/async-local-storage.browser.mts.html +142 -0
  36. package/coverage/src/internal/context/async-local-storage.mts.html +292 -0
  37. package/coverage/src/{factory-context.mts.html → internal/context/async-local-storage.types.mts.html} +17 -17
  38. package/coverage/src/internal/context/factory-context.mts.html +142 -0
  39. package/coverage/src/internal/context/index.html +221 -0
  40. package/coverage/src/internal/context/index.mts.html +100 -0
  41. package/coverage/src/{service-locator-instance-holder.mts.html → internal/context/resolution-context.mts.html} +114 -78
  42. package/coverage/src/internal/context/service-initialization-context.mts.html +214 -0
  43. package/coverage/src/internal/context/sync-local-storage.mts.html +244 -0
  44. package/coverage/src/internal/core/index.html +206 -0
  45. package/coverage/src/internal/core/index.mts.html +103 -0
  46. package/coverage/src/internal/core/instance-resolver.mts.html +2533 -0
  47. package/coverage/src/{request-context-holder.mts.html → internal/core/name-resolver.mts.html} +245 -260
  48. package/coverage/src/{container.mts.html → internal/core/scope-tracker.mts.html} +352 -310
  49. package/coverage/src/{service-instantiator.mts.html → internal/core/service-initializer.mts.html} +254 -176
  50. package/coverage/src/internal/core/service-invalidator.mts.html +955 -0
  51. package/coverage/src/internal/core/token-resolver.mts.html +451 -0
  52. package/coverage/src/internal/holder/holder-storage.interface.mts.html +451 -0
  53. package/coverage/src/internal/holder/index.html +161 -0
  54. package/coverage/src/internal/holder/index.mts.html +94 -0
  55. package/coverage/src/internal/holder/instance-holder.mts.html +406 -0
  56. package/coverage/src/{service-locator.mts.html → internal/holder/unified-storage.mts.html} +376 -379
  57. package/coverage/{lib/testing → src/internal}/index.html +26 -11
  58. package/coverage/src/internal/index.mts.html +100 -0
  59. package/coverage/src/internal/lifecycle/circular-detector.mts.html +364 -0
  60. package/coverage/src/internal/lifecycle/index.html +146 -0
  61. package/coverage/src/internal/lifecycle/index.mts.html +91 -0
  62. package/coverage/src/{service-locator-event-bus.mts.html → internal/lifecycle/lifecycle-event-bus.mts.html} +104 -80
  63. package/coverage/src/internal/stub-factory-class.mts.html +133 -0
  64. package/coverage/src/symbols/index.html +14 -14
  65. package/coverage/src/symbols/index.mts.html +9 -9
  66. package/coverage/src/symbols/injectable-token.mts.html +9 -3
  67. package/coverage/src/testing/index.html +32 -32
  68. package/coverage/src/testing/test-container.mts.html +1576 -139
  69. package/coverage/src/testing/unit-test-container.mts.html +1888 -0
  70. package/coverage/src/token/index.html +146 -0
  71. package/coverage/{lib/testing/index.d.mts.html → src/token/index.mts.html} +11 -11
  72. package/coverage/src/{injection-token.mts.html → token/injection-token.mts.html} +225 -111
  73. package/coverage/src/{base-instance-holder-manager.mts.html → token/registry.mts.html} +188 -269
  74. package/coverage/src/{injector.mts.html → utils/default-injectors.mts.html} +31 -31
  75. package/coverage/src/utils/get-injectable-token.mts.html +19 -22
  76. package/coverage/src/utils/get-injectors.mts.html +684 -177
  77. package/coverage/src/utils/index.html +36 -36
  78. package/coverage/src/utils/index.mts.html +18 -12
  79. package/coverage/src/utils/types.mts.html +26 -11
  80. package/docs/examples/basic-usage.mts +1 -1
  81. package/docs/examples/factory-pattern.mts +3 -3
  82. package/docs/examples/request-scope-example.mts +1 -1
  83. package/docs/examples/service-lifecycle.mts +1 -1
  84. package/lib/browser/internal/core/instance-resolver.d.mts.map +1 -1
  85. package/lib/browser/internal/core/instance-resolver.mjs.map +1 -1
  86. package/lib/browser/utils/get-injectors.mjs +9 -12
  87. package/lib/browser/utils/get-injectors.mjs.map +1 -1
  88. package/lib/{container-D-0Ho3qL.d.cts → container-D3j3KuD9.d.mts} +5 -289
  89. package/lib/container-D3j3KuD9.d.mts.map +1 -0
  90. package/lib/{container-8-z89TyQ.mjs → container-qgHMgGNG.mjs} +12 -239
  91. package/lib/container-qgHMgGNG.mjs.map +1 -0
  92. package/lib/{container-CNiqesCL.d.mts → container-r1KP4F-n.d.cts} +5 -289
  93. package/lib/container-r1KP4F-n.d.cts.map +1 -0
  94. package/lib/{container-CaY2fDuk.cjs → container-ycYJgTq7.cjs} +50 -331
  95. package/lib/container-ycYJgTq7.cjs.map +1 -0
  96. package/lib/factory.decorator-D4mem6YQ.cjs +21 -0
  97. package/lib/factory.decorator-D4mem6YQ.cjs.map +1 -0
  98. package/lib/factory.decorator-_IPWcwQn.mjs +16 -0
  99. package/lib/factory.decorator-_IPWcwQn.mjs.map +1 -0
  100. package/lib/index.cjs +14 -24
  101. package/lib/index.cjs.map +1 -1
  102. package/lib/index.d.cts +3 -52
  103. package/lib/index.d.cts.map +1 -1
  104. package/lib/index.d.mts +3 -52
  105. package/lib/index.d.mts.map +1 -1
  106. package/lib/index.mjs +3 -13
  107. package/lib/index.mjs.map +1 -1
  108. package/lib/injectable.decorator-BNfWpjr_.d.cts +56 -0
  109. package/lib/injectable.decorator-BNfWpjr_.d.cts.map +1 -0
  110. package/lib/injectable.decorator-Bc05hRQU.d.mts +56 -0
  111. package/lib/injectable.decorator-Bc05hRQU.d.mts.map +1 -0
  112. package/lib/injectable.decorator-CyPrBzBN.mjs +227 -0
  113. package/lib/injectable.decorator-CyPrBzBN.mjs.map +1 -0
  114. package/lib/injectable.decorator-DbpiDrg-.cjs +281 -0
  115. package/lib/injectable.decorator-DbpiDrg-.cjs.map +1 -0
  116. package/lib/legacy-compat/index.cjs +114 -0
  117. package/lib/legacy-compat/index.cjs.map +1 -0
  118. package/lib/legacy-compat/index.d.cts +63 -0
  119. package/lib/legacy-compat/index.d.cts.map +1 -0
  120. package/lib/legacy-compat/index.d.mts +63 -0
  121. package/lib/legacy-compat/index.d.mts.map +1 -0
  122. package/lib/legacy-compat/index.mjs +111 -0
  123. package/lib/legacy-compat/index.mjs.map +1 -0
  124. package/lib/registry-DKbKWFvJ.d.cts +290 -0
  125. package/lib/registry-DKbKWFvJ.d.cts.map +1 -0
  126. package/lib/registry-n8JhJoxm.d.mts +290 -0
  127. package/lib/registry-n8JhJoxm.d.mts.map +1 -0
  128. package/lib/testing/index.cjs +23 -22
  129. package/lib/testing/index.cjs.map +1 -1
  130. package/lib/testing/index.d.cts +2 -1
  131. package/lib/testing/index.d.cts.map +1 -1
  132. package/lib/testing/index.d.mts +2 -1
  133. package/lib/testing/index.d.mts.map +1 -1
  134. package/lib/testing/index.mjs +2 -1
  135. package/lib/testing/index.mjs.map +1 -1
  136. package/package.json +11 -1
  137. package/project.json +8 -0
  138. package/src/__tests__/gc/basic-container.spec.mts +358 -0
  139. package/src/__tests__/gc/circular-dependencies.spec.mts +501 -0
  140. package/src/__tests__/gc/gc-test-utils.mts +136 -0
  141. package/src/__tests__/gc/memory-pressure.spec.mts +542 -0
  142. package/src/__tests__/gc/scoped-container.spec.mts +444 -0
  143. package/src/__tests__/gc/transient-services.spec.mts +326 -0
  144. package/src/__tests__/get-injectors.spec.mts +166 -0
  145. package/src/__tests__/scope-upgrade.spec.mts +0 -18
  146. package/src/internal/core/instance-resolver.mts +0 -1
  147. package/src/legacy-compat/context-compat.mts +95 -0
  148. package/src/legacy-compat/factory.decorator.mts +37 -0
  149. package/src/legacy-compat/index.mts +16 -0
  150. package/src/legacy-compat/injectable.decorator.mts +41 -0
  151. package/src/utils/get-injectors.mts +36 -32
  152. package/tsdown.config.mts +1 -1
  153. package/vitest.config.mts +3 -7
  154. package/coverage/docs/examples/basic-usage.mts.html +0 -376
  155. package/coverage/docs/examples/factory-pattern.mts.html +0 -1039
  156. package/coverage/docs/examples/index.html +0 -176
  157. package/coverage/docs/examples/injection-tokens.mts.html +0 -760
  158. package/coverage/docs/examples/request-scope-example.mts.html +0 -847
  159. package/coverage/docs/examples/service-lifecycle.mts.html +0 -1162
  160. package/coverage/lib/_tsup-dts-rollup.d.mts.html +0 -3445
  161. package/coverage/lib/index.d.mts.html +0 -313
  162. package/coverage/src/errors/errors.enum.mts.html +0 -118
  163. package/coverage/src/errors/factory-not-found.mts.html +0 -118
  164. package/coverage/src/errors/factory-token-not-resolved.mts.html +0 -118
  165. package/coverage/src/errors/instance-destroying.mts.html +0 -118
  166. package/coverage/src/errors/instance-expired.mts.html +0 -118
  167. package/coverage/src/errors/instance-not-found.mts.html +0 -118
  168. package/coverage/src/errors/unknown-error.mts.html +0 -118
  169. package/coverage/src/instance-resolver.mts.html +0 -1762
  170. package/coverage/src/registry.mts.html +0 -247
  171. package/coverage/src/service-invalidator.mts.html +0 -1372
  172. package/coverage/src/service-locator-manager.mts.html +0 -340
  173. package/coverage/src/token-processor.mts.html +0 -607
  174. package/coverage/src/utils/defer.mts.html +0 -118
  175. package/lib/container-8-z89TyQ.mjs.map +0 -1
  176. package/lib/container-CNiqesCL.d.mts.map +0 -1
  177. package/lib/container-CaY2fDuk.cjs.map +0 -1
  178. package/lib/container-D-0Ho3qL.d.cts.map +0 -1
@@ -1,176 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for docs/examples</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> docs/examples</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/823</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/5</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/5</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/823</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <div class="pad1">
66
- <table class="coverage-summary">
67
- <thead>
68
- <tr>
69
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
- </tr>
80
- </thead>
81
- <tbody><tr>
82
- <td class="file low" data-value="basic-usage.mts"><a href="basic-usage.mts.html">basic-usage.mts</a></td>
83
- <td data-value="0" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
- </td>
86
- <td data-value="0" class="pct low">0%</td>
87
- <td data-value="56" class="abs low">0/56</td>
88
- <td data-value="0" class="pct low">0%</td>
89
- <td data-value="1" class="abs low">0/1</td>
90
- <td data-value="0" class="pct low">0%</td>
91
- <td data-value="1" class="abs low">0/1</td>
92
- <td data-value="0" class="pct low">0%</td>
93
- <td data-value="56" class="abs low">0/56</td>
94
- </tr>
95
-
96
- <tr>
97
- <td class="file low" data-value="factory-pattern.mts"><a href="factory-pattern.mts.html">factory-pattern.mts</a></td>
98
- <td data-value="0" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
- </td>
101
- <td data-value="0" class="pct low">0%</td>
102
- <td data-value="207" class="abs low">0/207</td>
103
- <td data-value="0" class="pct low">0%</td>
104
- <td data-value="1" class="abs low">0/1</td>
105
- <td data-value="0" class="pct low">0%</td>
106
- <td data-value="1" class="abs low">0/1</td>
107
- <td data-value="0" class="pct low">0%</td>
108
- <td data-value="207" class="abs low">0/207</td>
109
- </tr>
110
-
111
- <tr>
112
- <td class="file low" data-value="injection-tokens.mts"><a href="injection-tokens.mts.html">injection-tokens.mts</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="152" class="abs low">0/152</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="152" class="abs low">0/152</td>
124
- </tr>
125
-
126
- <tr>
127
- <td class="file low" data-value="request-scope-example.mts"><a href="request-scope-example.mts.html">request-scope-example.mts</a></td>
128
- <td data-value="0" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
130
- </td>
131
- <td data-value="0" class="pct low">0%</td>
132
- <td data-value="157" class="abs low">0/157</td>
133
- <td data-value="0" class="pct low">0%</td>
134
- <td data-value="1" class="abs low">0/1</td>
135
- <td data-value="0" class="pct low">0%</td>
136
- <td data-value="1" class="abs low">0/1</td>
137
- <td data-value="0" class="pct low">0%</td>
138
- <td data-value="157" class="abs low">0/157</td>
139
- </tr>
140
-
141
- <tr>
142
- <td class="file low" data-value="service-lifecycle.mts"><a href="service-lifecycle.mts.html">service-lifecycle.mts</a></td>
143
- <td data-value="0" class="pic low">
144
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
- </td>
146
- <td data-value="0" class="pct low">0%</td>
147
- <td data-value="251" class="abs low">0/251</td>
148
- <td data-value="0" class="pct low">0%</td>
149
- <td data-value="1" class="abs low">0/1</td>
150
- <td data-value="0" class="pct low">0%</td>
151
- <td data-value="1" class="abs low">0/1</td>
152
- <td data-value="0" class="pct low">0%</td>
153
- <td data-value="251" class="abs low">0/251</td>
154
- </tr>
155
-
156
- </tbody>
157
- </table>
158
- </div>
159
- <div class='push'></div><!-- for sticky footer -->
160
- </div><!-- /wrapper -->
161
- <div class='footer quiet pad2 space-top1 center small'>
162
- Code coverage generated by
163
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2025-09-21T17:47:07.632Z
165
- </div>
166
- <script src="../../prettify.js"></script>
167
- <script>
168
- window.onload = function () {
169
- prettyPrint();
170
- };
171
- </script>
172
- <script src="../../sorter.js"></script>
173
- <script src="../../block-navigation.js"></script>
174
- </body>
175
- </html>
176
-