inversify 6.1.4 → 6.1.5-beta.1

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 (529) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/README.md +6 -15
  3. package/{amd → lib/cjs}/annotation/decorator_utils.d.ts +1 -0
  4. package/lib/cjs/annotation/decorator_utils.d.ts.map +1 -0
  5. package/{es6 → lib/cjs}/annotation/decorator_utils.js +25 -7
  6. package/lib/cjs/annotation/decorator_utils.js.map +1 -0
  7. package/{es6 → lib/cjs}/annotation/inject.d.ts +1 -0
  8. package/lib/cjs/annotation/inject.d.ts.map +1 -0
  9. package/{es6 → lib/cjs}/annotation/inject.js +18 -7
  10. package/lib/cjs/annotation/inject.js.map +1 -0
  11. package/{amd → lib/cjs}/annotation/inject_base.d.ts +1 -0
  12. package/lib/cjs/annotation/inject_base.d.ts.map +1 -0
  13. package/{es6 → lib/cjs}/annotation/inject_base.js +2 -0
  14. package/lib/cjs/annotation/inject_base.js.map +1 -0
  15. package/{amd → lib/cjs}/annotation/injectable.d.ts +1 -0
  16. package/lib/cjs/annotation/injectable.d.ts.map +1 -0
  17. package/{es6 → lib/cjs}/annotation/injectable.js +19 -7
  18. package/lib/cjs/annotation/injectable.js.map +1 -0
  19. package/{es → lib/cjs}/annotation/multi_inject.d.ts +1 -0
  20. package/lib/cjs/annotation/multi_inject.d.ts.map +1 -0
  21. package/{es6 → lib/cjs}/annotation/multi_inject.js +18 -7
  22. package/lib/cjs/annotation/multi_inject.js.map +1 -0
  23. package/{amd → lib/cjs}/annotation/named.d.ts +1 -0
  24. package/lib/cjs/annotation/named.d.ts.map +1 -0
  25. package/{es6 → lib/cjs}/annotation/named.js +19 -7
  26. package/lib/cjs/annotation/named.js.map +1 -0
  27. package/{amd → lib/cjs}/annotation/optional.d.ts +1 -0
  28. package/lib/cjs/annotation/optional.d.ts.map +1 -0
  29. package/{es6 → lib/cjs}/annotation/optional.js +18 -7
  30. package/lib/cjs/annotation/optional.js.map +1 -0
  31. package/{amd → lib/cjs}/annotation/post_construct.d.ts +1 -0
  32. package/lib/cjs/annotation/post_construct.d.ts.map +1 -0
  33. package/{es6 → lib/cjs}/annotation/post_construct.js +18 -7
  34. package/lib/cjs/annotation/post_construct.js.map +1 -0
  35. package/{es6 → lib/cjs}/annotation/pre_destroy.d.ts +1 -0
  36. package/lib/cjs/annotation/pre_destroy.d.ts.map +1 -0
  37. package/{es6 → lib/cjs}/annotation/pre_destroy.js +18 -7
  38. package/lib/cjs/annotation/pre_destroy.js.map +1 -0
  39. package/{es → lib/cjs}/annotation/property_event_decorator.d.ts +1 -0
  40. package/lib/cjs/annotation/property_event_decorator.d.ts.map +1 -0
  41. package/{es6 → lib/cjs}/annotation/property_event_decorator.js +1 -0
  42. package/lib/cjs/annotation/property_event_decorator.js.map +1 -0
  43. package/{amd → lib/cjs}/annotation/tagged.d.ts +1 -0
  44. package/lib/cjs/annotation/tagged.d.ts.map +1 -0
  45. package/{es6 → lib/cjs}/annotation/tagged.js +2 -0
  46. package/lib/cjs/annotation/tagged.js.map +1 -0
  47. package/{es6 → lib/cjs}/annotation/target_name.d.ts +1 -0
  48. package/lib/cjs/annotation/target_name.d.ts.map +1 -0
  49. package/{es6 → lib/cjs}/annotation/target_name.js +18 -7
  50. package/lib/cjs/annotation/target_name.js.map +1 -0
  51. package/{es6 → lib/cjs}/annotation/unmanaged.d.ts +1 -0
  52. package/lib/cjs/annotation/unmanaged.d.ts.map +1 -0
  53. package/{es6 → lib/cjs}/annotation/unmanaged.js +18 -7
  54. package/lib/cjs/annotation/unmanaged.js.map +1 -0
  55. package/{es6 → lib/cjs}/bindings/binding.d.ts +1 -0
  56. package/lib/cjs/bindings/binding.d.ts.map +1 -0
  57. package/{es6 → lib/cjs}/bindings/binding.js +29 -0
  58. package/lib/cjs/bindings/binding.js.map +1 -0
  59. package/{amd → lib/cjs}/bindings/binding_count.d.ts +1 -0
  60. package/lib/cjs/bindings/binding_count.d.ts.map +1 -0
  61. package/lib/{bindings → cjs/bindings}/binding_count.js +1 -0
  62. package/lib/cjs/bindings/binding_count.js.map +1 -0
  63. package/{amd → lib/cjs}/constants/error_msgs.d.ts +1 -0
  64. package/lib/cjs/constants/error_msgs.d.ts.map +1 -0
  65. package/{es6 → lib/cjs}/constants/error_msgs.js +2 -0
  66. package/lib/cjs/constants/error_msgs.js.map +1 -0
  67. package/{es → lib/cjs}/constants/literal_types.d.ts +1 -0
  68. package/lib/cjs/constants/literal_types.d.ts.map +1 -0
  69. package/{es6 → lib/cjs}/constants/literal_types.js +4 -0
  70. package/lib/cjs/constants/literal_types.js.map +1 -0
  71. package/{amd → lib/cjs}/constants/metadata_keys.d.ts +1 -0
  72. package/lib/cjs/constants/metadata_keys.d.ts.map +1 -0
  73. package/{es6 → lib/cjs}/constants/metadata_keys.js +13 -0
  74. package/lib/cjs/constants/metadata_keys.js.map +1 -0
  75. package/{es6 → lib/cjs}/container/container.d.ts +3 -0
  76. package/lib/cjs/container/container.d.ts.map +1 -0
  77. package/{es6 → lib/cjs}/container/container.js +157 -147
  78. package/lib/cjs/container/container.js.map +1 -0
  79. package/{amd → lib/cjs}/container/container_module.d.ts +1 -0
  80. package/lib/cjs/container/container_module.d.ts.map +1 -0
  81. package/{es6 → lib/cjs}/container/container_module.js +5 -0
  82. package/lib/cjs/container/container_module.js.map +1 -0
  83. package/{es → lib/cjs}/container/container_snapshot.d.ts +1 -0
  84. package/lib/cjs/container/container_snapshot.d.ts.map +1 -0
  85. package/{es6 → lib/cjs}/container/container_snapshot.js +6 -0
  86. package/lib/cjs/container/container_snapshot.js.map +1 -0
  87. package/{es → lib/cjs}/container/lookup.d.ts +1 -0
  88. package/lib/cjs/container/lookup.d.ts.map +1 -0
  89. package/{es6 → lib/cjs}/container/lookup.js +26 -7
  90. package/lib/cjs/container/lookup.js.map +1 -0
  91. package/{es6 → lib/cjs}/container/module_activation_store.d.ts +3 -2
  92. package/lib/cjs/container/module_activation_store.d.ts.map +1 -0
  93. package/{es6 → lib/cjs}/container/module_activation_store.js +2 -3
  94. package/lib/cjs/container/module_activation_store.js.map +1 -0
  95. package/{amd/inversify.d.ts → lib/cjs/index.d.ts} +2 -0
  96. package/lib/cjs/index.d.ts.map +1 -0
  97. package/{es6/inversify.js → lib/cjs/index.js} +20 -7
  98. package/lib/cjs/index.js.map +1 -0
  99. package/{amd → lib/cjs}/interfaces/interfaces.d.ts +3 -2
  100. package/lib/cjs/interfaces/interfaces.d.ts.map +1 -0
  101. package/lib/{interfaces → cjs/interfaces}/interfaces.js +1 -0
  102. package/lib/cjs/interfaces/interfaces.js.map +1 -0
  103. package/lib/cjs/package.json +3 -0
  104. package/{es6 → lib/cjs}/planning/context.d.ts +1 -0
  105. package/lib/cjs/planning/context.d.ts.map +1 -0
  106. package/{es6 → lib/cjs}/planning/context.js +5 -0
  107. package/lib/cjs/planning/context.js.map +1 -0
  108. package/{es6 → lib/cjs}/planning/metadata.d.ts +1 -0
  109. package/lib/cjs/planning/metadata.d.ts.map +1 -0
  110. package/{es6 → lib/cjs}/planning/metadata.js +20 -7
  111. package/lib/cjs/planning/metadata.js.map +1 -0
  112. package/{es → lib/cjs}/planning/metadata_reader.d.ts +1 -0
  113. package/lib/cjs/planning/metadata_reader.d.ts.map +1 -0
  114. package/{es6 → lib/cjs}/planning/metadata_reader.js +24 -12
  115. package/lib/cjs/planning/metadata_reader.js.map +1 -0
  116. package/{amd → lib/cjs}/planning/plan.d.ts +1 -0
  117. package/lib/cjs/planning/plan.d.ts.map +1 -0
  118. package/{es6 → lib/cjs}/planning/plan.js +3 -0
  119. package/lib/cjs/planning/plan.js.map +1 -0
  120. package/{amd → lib/cjs}/planning/planner.d.ts +1 -0
  121. package/lib/cjs/planning/planner.d.ts.map +1 -0
  122. package/{es6 → lib/cjs}/planning/planner.js +27 -7
  123. package/lib/cjs/planning/planner.js.map +1 -0
  124. package/{amd → lib/cjs}/planning/queryable_string.d.ts +1 -0
  125. package/lib/cjs/planning/queryable_string.d.ts.map +1 -0
  126. package/{es6 → lib/cjs}/planning/queryable_string.js +3 -0
  127. package/lib/cjs/planning/queryable_string.js.map +1 -0
  128. package/{amd → lib/cjs}/planning/reflection_utils.d.ts +1 -0
  129. package/lib/cjs/planning/reflection_utils.d.ts.map +1 -0
  130. package/{es6 → lib/cjs}/planning/reflection_utils.js +25 -8
  131. package/lib/cjs/planning/reflection_utils.js.map +1 -0
  132. package/{amd → lib/cjs}/planning/request.d.ts +1 -0
  133. package/lib/cjs/planning/request.d.ts.map +1 -0
  134. package/{es6 → lib/cjs}/planning/request.js +13 -1
  135. package/lib/cjs/planning/request.js.map +1 -0
  136. package/{es → lib/cjs}/resolution/instantiation.d.ts +1 -0
  137. package/lib/cjs/resolution/instantiation.d.ts.map +1 -0
  138. package/{es6 → lib/cjs}/resolution/instantiation.js +40 -37
  139. package/lib/cjs/resolution/instantiation.js.map +1 -0
  140. package/{amd → lib/cjs}/resolution/resolver.d.ts +1 -0
  141. package/lib/cjs/resolution/resolver.d.ts.map +1 -0
  142. package/{es6 → lib/cjs}/resolution/resolver.js +39 -20
  143. package/lib/cjs/resolution/resolver.js.map +1 -0
  144. package/{amd → lib/cjs}/scope/scope.d.ts +1 -0
  145. package/lib/cjs/scope/scope.d.ts.map +1 -0
  146. package/{es6 → lib/cjs}/scope/scope.js +10 -12
  147. package/lib/cjs/scope/scope.js.map +1 -0
  148. package/{amd → lib/cjs}/syntax/binding_in_syntax.d.ts +1 -0
  149. package/lib/cjs/syntax/binding_in_syntax.d.ts.map +1 -0
  150. package/{es6 → lib/cjs}/syntax/binding_in_syntax.js +2 -0
  151. package/lib/cjs/syntax/binding_in_syntax.js.map +1 -0
  152. package/{es6 → lib/cjs}/syntax/binding_in_when_on_syntax.d.ts +1 -0
  153. package/lib/cjs/syntax/binding_in_when_on_syntax.d.ts.map +1 -0
  154. package/{es6 → lib/cjs}/syntax/binding_in_when_on_syntax.js +5 -0
  155. package/lib/cjs/syntax/binding_in_when_on_syntax.js.map +1 -0
  156. package/{es6 → lib/cjs}/syntax/binding_on_syntax.d.ts +1 -0
  157. package/lib/cjs/syntax/binding_on_syntax.d.ts.map +1 -0
  158. package/{es6 → lib/cjs}/syntax/binding_on_syntax.js +2 -0
  159. package/lib/cjs/syntax/binding_on_syntax.js.map +1 -0
  160. package/{es → lib/cjs}/syntax/binding_to_syntax.d.ts +1 -0
  161. package/lib/cjs/syntax/binding_to_syntax.d.ts.map +1 -0
  162. package/{es6 → lib/cjs}/syntax/binding_to_syntax.js +43 -8
  163. package/lib/cjs/syntax/binding_to_syntax.js.map +1 -0
  164. package/{amd → lib/cjs}/syntax/binding_when_on_syntax.d.ts +1 -0
  165. package/lib/cjs/syntax/binding_when_on_syntax.d.ts.map +1 -0
  166. package/{es6 → lib/cjs}/syntax/binding_when_on_syntax.js +4 -0
  167. package/lib/cjs/syntax/binding_when_on_syntax.js.map +1 -0
  168. package/{es6 → lib/cjs}/syntax/binding_when_syntax.d.ts +1 -0
  169. package/lib/cjs/syntax/binding_when_syntax.d.ts.map +1 -0
  170. package/{es6 → lib/cjs}/syntax/binding_when_syntax.js +5 -1
  171. package/lib/cjs/syntax/binding_when_syntax.js.map +1 -0
  172. package/{amd → lib/cjs}/syntax/constraint_helpers.d.ts +1 -0
  173. package/lib/cjs/syntax/constraint_helpers.d.ts.map +1 -0
  174. package/{es6 → lib/cjs}/syntax/constraint_helpers.js +22 -7
  175. package/lib/cjs/syntax/constraint_helpers.js.map +1 -0
  176. package/{amd → lib/cjs}/utils/async.d.ts +1 -0
  177. package/lib/cjs/utils/async.d.ts.map +1 -0
  178. package/{es6 → lib/cjs}/utils/async.js +1 -0
  179. package/lib/cjs/utils/async.js.map +1 -0
  180. package/{es6 → lib/cjs}/utils/binding_utils.d.ts +1 -0
  181. package/lib/cjs/utils/binding_utils.d.ts.map +1 -0
  182. package/{es6 → lib/cjs}/utils/binding_utils.js +21 -7
  183. package/lib/cjs/utils/binding_utils.js.map +1 -0
  184. package/{es6 → lib/cjs}/utils/clonable.d.ts +1 -0
  185. package/lib/cjs/utils/clonable.d.ts.map +1 -0
  186. package/{es6 → lib/cjs}/utils/clonable.js +1 -0
  187. package/lib/cjs/utils/clonable.js.map +1 -0
  188. package/{amd → lib/cjs}/utils/exceptions.d.ts +1 -0
  189. package/lib/cjs/utils/exceptions.d.ts.map +1 -0
  190. package/{es6 → lib/cjs}/utils/exceptions.js +18 -7
  191. package/lib/cjs/utils/exceptions.js.map +1 -0
  192. package/{es6 → lib/cjs}/utils/factory_type.d.ts +1 -0
  193. package/lib/cjs/utils/factory_type.d.ts.map +1 -0
  194. package/{es6 → lib/cjs}/utils/factory_type.js +1 -0
  195. package/lib/cjs/utils/factory_type.js.map +1 -0
  196. package/{amd → lib/cjs}/utils/id.d.ts +1 -0
  197. package/lib/cjs/utils/id.d.ts.map +1 -0
  198. package/{es6 → lib/cjs}/utils/id.js +1 -0
  199. package/lib/cjs/utils/id.js.map +1 -0
  200. package/{amd → lib/cjs}/utils/js.d.ts +1 -0
  201. package/lib/cjs/utils/js.d.ts.map +1 -0
  202. package/{es6 → lib/cjs}/utils/js.js +1 -0
  203. package/lib/cjs/utils/js.js.map +1 -0
  204. package/{amd → lib/cjs}/utils/serialization.d.ts +1 -0
  205. package/lib/cjs/utils/serialization.d.ts.map +1 -0
  206. package/{es6 → lib/cjs}/utils/serialization.js +23 -7
  207. package/lib/cjs/utils/serialization.js.map +1 -0
  208. package/{es6/interfaces/interfaces.d.ts → lib/esm/index.d.ts} +207 -8
  209. package/lib/esm/index.d.ts.map +1 -0
  210. package/lib/esm/index.js +2 -0
  211. package/lib/esm/index.js.map +1 -0
  212. package/package.json +30 -34
  213. package/amd/annotation/decorator_utils.js +0 -119
  214. package/amd/annotation/inject.d.ts +0 -5
  215. package/amd/annotation/inject.js +0 -31
  216. package/amd/annotation/inject_base.js +0 -16
  217. package/amd/annotation/injectable.js +0 -40
  218. package/amd/annotation/lazy_service_identifier.js +0 -4
  219. package/amd/annotation/multi_inject.d.ts +0 -5
  220. package/amd/annotation/multi_inject.js +0 -31
  221. package/amd/annotation/named.js +0 -32
  222. package/amd/annotation/optional.js +0 -32
  223. package/amd/annotation/post_construct.js +0 -32
  224. package/amd/annotation/pre_destroy.d.ts +0 -4
  225. package/amd/annotation/pre_destroy.js +0 -32
  226. package/amd/annotation/property_event_decorator.d.ts +0 -4
  227. package/amd/annotation/property_event_decorator.js +0 -16
  228. package/amd/annotation/tagged.js +0 -8
  229. package/amd/annotation/target_name.d.ts +0 -3
  230. package/amd/annotation/target_name.js +0 -35
  231. package/amd/annotation/unmanaged.d.ts +0 -3
  232. package/amd/annotation/unmanaged.js +0 -35
  233. package/amd/bindings/binding.d.ts +0 -20
  234. package/amd/bindings/binding.js +0 -40
  235. package/amd/bindings/binding_count.js +0 -11
  236. package/amd/constants/error_msgs.js +0 -75
  237. package/amd/constants/literal_types.d.ts +0 -5
  238. package/amd/constants/literal_types.js +0 -28
  239. package/amd/constants/metadata_keys.js +0 -28
  240. package/amd/container/container.d.ts +0 -73
  241. package/amd/container/container.js +0 -766
  242. package/amd/container/container_module.js +0 -21
  243. package/amd/container/container_snapshot.d.ts +0 -10
  244. package/amd/container/container_snapshot.js +0 -20
  245. package/amd/container/lookup.d.ts +0 -17
  246. package/amd/container/lookup.js +0 -132
  247. package/amd/container/module_activation_store.d.ts +0 -10
  248. package/amd/container/module_activation_store.js +0 -51
  249. package/amd/interfaces/interfaces.js +0 -4
  250. package/amd/inversify.js +0 -57
  251. package/amd/planning/context.d.ts +0 -11
  252. package/amd/planning/context.js +0 -19
  253. package/amd/planning/metadata.d.ts +0 -8
  254. package/amd/planning/metadata.js +0 -45
  255. package/amd/planning/metadata_reader.d.ts +0 -6
  256. package/amd/planning/metadata_reader.js +0 -49
  257. package/amd/planning/plan.js +0 -13
  258. package/amd/planning/planner.js +0 -187
  259. package/amd/planning/queryable_string.js +0 -33
  260. package/amd/planning/reflection_utils.js +0 -55
  261. package/amd/planning/request.js +0 -24
  262. package/amd/planning/target.js +0 -111
  263. package/amd/resolution/instantiation.d.ts +0 -3
  264. package/amd/resolution/instantiation.js +0 -219
  265. package/amd/resolution/resolver.js +0 -234
  266. package/amd/scope/scope.js +0 -93
  267. package/amd/syntax/binding_in_syntax.js +0 -24
  268. package/amd/syntax/binding_in_when_on_syntax.d.ts +0 -29
  269. package/amd/syntax/binding_in_when_on_syntax.js +0 -75
  270. package/amd/syntax/binding_on_syntax.d.ts +0 -8
  271. package/amd/syntax/binding_on_syntax.js +0 -20
  272. package/amd/syntax/binding_to_syntax.d.ts +0 -18
  273. package/amd/syntax/binding_to_syntax.js +0 -116
  274. package/amd/syntax/binding_when_on_syntax.js +0 -65
  275. package/amd/syntax/binding_when_syntax.d.ts +0 -21
  276. package/amd/syntax/binding_when_syntax.js +0 -107
  277. package/amd/syntax/constraint_helpers.js +0 -66
  278. package/amd/utils/async.js +0 -17
  279. package/amd/utils/binding_utils.d.ts +0 -4
  280. package/amd/utils/binding_utils.js +0 -86
  281. package/amd/utils/clonable.d.ts +0 -3
  282. package/amd/utils/clonable.js +0 -11
  283. package/amd/utils/exceptions.js +0 -46
  284. package/amd/utils/factory_type.d.ts +0 -5
  285. package/amd/utils/factory_type.js +0 -11
  286. package/amd/utils/id.js +0 -9
  287. package/amd/utils/js.js +0 -18
  288. package/amd/utils/serialization.js +0 -135
  289. package/es/annotation/decorator_utils.d.ts +0 -16
  290. package/es/annotation/decorator_utils.js +0 -90
  291. package/es/annotation/inject.d.ts +0 -5
  292. package/es/annotation/inject.js +0 -4
  293. package/es/annotation/inject_base.d.ts +0 -4
  294. package/es/annotation/inject_base.js +0 -14
  295. package/es/annotation/injectable.d.ts +0 -2
  296. package/es/annotation/injectable.js +0 -13
  297. package/es/annotation/lazy_service_identifier.js +0 -1
  298. package/es/annotation/multi_inject.js +0 -4
  299. package/es/annotation/named.d.ts +0 -2
  300. package/es/annotation/named.js +0 -7
  301. package/es/annotation/optional.d.ts +0 -2
  302. package/es/annotation/optional.js +0 -7
  303. package/es/annotation/post_construct.d.ts +0 -4
  304. package/es/annotation/post_construct.js +0 -5
  305. package/es/annotation/pre_destroy.d.ts +0 -4
  306. package/es/annotation/pre_destroy.js +0 -5
  307. package/es/annotation/property_event_decorator.js +0 -13
  308. package/es/annotation/tagged.d.ts +0 -2
  309. package/es/annotation/tagged.js +0 -6
  310. package/es/annotation/target_name.d.ts +0 -3
  311. package/es/annotation/target_name.js +0 -10
  312. package/es/annotation/unmanaged.d.ts +0 -3
  313. package/es/annotation/unmanaged.js +0 -10
  314. package/es/bindings/binding.d.ts +0 -20
  315. package/es/bindings/binding.js +0 -37
  316. package/es/bindings/binding_count.d.ts +0 -5
  317. package/es/bindings/binding_count.js +0 -6
  318. package/es/constants/error_msgs.d.ts +0 -30
  319. package/es/constants/error_msgs.js +0 -62
  320. package/es/constants/literal_types.js +0 -21
  321. package/es/constants/metadata_keys.d.ts +0 -13
  322. package/es/constants/metadata_keys.js +0 -23
  323. package/es/container/container.d.ts +0 -73
  324. package/es/container/container.js +0 -750
  325. package/es/container/container_module.d.ts +0 -11
  326. package/es/container/container_module.js +0 -17
  327. package/es/container/container_snapshot.js +0 -15
  328. package/es/container/lookup.js +0 -105
  329. package/es/container/module_activation_store.d.ts +0 -10
  330. package/es/container/module_activation_store.js +0 -47
  331. package/es/interfaces/interfaces.d.ts +0 -269
  332. package/es/interfaces/interfaces.js +0 -1
  333. package/es/inversify.d.ts +0 -24
  334. package/es/inversify.js +0 -2
  335. package/es/planning/context.d.ts +0 -11
  336. package/es/planning/context.js +0 -15
  337. package/es/planning/metadata.d.ts +0 -8
  338. package/es/planning/metadata.js +0 -17
  339. package/es/planning/metadata_reader.js +0 -21
  340. package/es/planning/plan.d.ts +0 -7
  341. package/es/planning/plan.js +0 -8
  342. package/es/planning/planner.d.ts +0 -5
  343. package/es/planning/planner.js +0 -168
  344. package/es/planning/queryable_string.d.ts +0 -10
  345. package/es/planning/queryable_string.js +0 -28
  346. package/es/planning/reflection_utils.d.ts +0 -5
  347. package/es/planning/reflection_utils.js +0 -27
  348. package/es/planning/request.d.ts +0 -14
  349. package/es/planning/request.js +0 -20
  350. package/es/planning/target.js +0 -87
  351. package/es/resolution/instantiation.js +0 -195
  352. package/es/resolution/resolver.d.ts +0 -3
  353. package/es/resolution/resolver.js +0 -214
  354. package/es/scope/scope.d.ts +0 -3
  355. package/es/scope/scope.js +0 -88
  356. package/es/syntax/binding_in_syntax.d.ts +0 -9
  357. package/es/syntax/binding_in_syntax.js +0 -21
  358. package/es/syntax/binding_in_when_on_syntax.d.ts +0 -29
  359. package/es/syntax/binding_in_when_on_syntax.js +0 -73
  360. package/es/syntax/binding_on_syntax.d.ts +0 -8
  361. package/es/syntax/binding_on_syntax.js +0 -16
  362. package/es/syntax/binding_to_syntax.js +0 -91
  363. package/es/syntax/binding_when_on_syntax.d.ts +0 -25
  364. package/es/syntax/binding_when_on_syntax.js +0 -62
  365. package/es/syntax/binding_when_syntax.d.ts +0 -21
  366. package/es/syntax/binding_when_syntax.js +0 -104
  367. package/es/syntax/constraint_helpers.d.ts +0 -6
  368. package/es/syntax/constraint_helpers.js +0 -36
  369. package/es/utils/async.d.ts +0 -3
  370. package/es/utils/async.js +0 -12
  371. package/es/utils/binding_utils.d.ts +0 -4
  372. package/es/utils/binding_utils.js +0 -58
  373. package/es/utils/clonable.d.ts +0 -3
  374. package/es/utils/clonable.js +0 -7
  375. package/es/utils/exceptions.d.ts +0 -2
  376. package/es/utils/exceptions.js +0 -16
  377. package/es/utils/factory_type.d.ts +0 -5
  378. package/es/utils/factory_type.js +0 -6
  379. package/es/utils/id.d.ts +0 -2
  380. package/es/utils/id.js +0 -5
  381. package/es/utils/js.d.ts +0 -1
  382. package/es/utils/js.js +0 -13
  383. package/es/utils/serialization.d.ts +0 -10
  384. package/es/utils/serialization.js +0 -103
  385. package/es6/annotation/decorator_utils.d.ts +0 -16
  386. package/es6/annotation/inject_base.d.ts +0 -4
  387. package/es6/annotation/injectable.d.ts +0 -2
  388. package/es6/annotation/lazy_service_identifier.js +0 -2
  389. package/es6/annotation/multi_inject.d.ts +0 -5
  390. package/es6/annotation/named.d.ts +0 -2
  391. package/es6/annotation/optional.d.ts +0 -2
  392. package/es6/annotation/post_construct.d.ts +0 -4
  393. package/es6/annotation/property_event_decorator.d.ts +0 -4
  394. package/es6/annotation/tagged.d.ts +0 -2
  395. package/es6/bindings/binding_count.d.ts +0 -5
  396. package/es6/bindings/binding_count.js +0 -9
  397. package/es6/constants/error_msgs.d.ts +0 -30
  398. package/es6/constants/literal_types.d.ts +0 -5
  399. package/es6/constants/metadata_keys.d.ts +0 -13
  400. package/es6/container/container_module.d.ts +0 -11
  401. package/es6/container/container_snapshot.d.ts +0 -10
  402. package/es6/container/lookup.d.ts +0 -17
  403. package/es6/interfaces/interfaces.js +0 -2
  404. package/es6/inversify.d.ts +0 -24
  405. package/es6/planning/metadata_reader.d.ts +0 -6
  406. package/es6/planning/plan.d.ts +0 -7
  407. package/es6/planning/planner.d.ts +0 -5
  408. package/es6/planning/queryable_string.d.ts +0 -10
  409. package/es6/planning/reflection_utils.d.ts +0 -5
  410. package/es6/planning/request.d.ts +0 -14
  411. package/es6/planning/target.js +0 -105
  412. package/es6/resolution/instantiation.d.ts +0 -3
  413. package/es6/resolution/resolver.d.ts +0 -3
  414. package/es6/scope/scope.d.ts +0 -3
  415. package/es6/syntax/binding_in_syntax.d.ts +0 -9
  416. package/es6/syntax/binding_to_syntax.d.ts +0 -18
  417. package/es6/syntax/binding_when_on_syntax.d.ts +0 -25
  418. package/es6/syntax/constraint_helpers.d.ts +0 -6
  419. package/es6/utils/async.d.ts +0 -3
  420. package/es6/utils/exceptions.d.ts +0 -2
  421. package/es6/utils/id.d.ts +0 -2
  422. package/es6/utils/js.d.ts +0 -1
  423. package/es6/utils/serialization.d.ts +0 -10
  424. package/lib/annotation/decorator_utils.d.ts +0 -16
  425. package/lib/annotation/decorator_utils.js +0 -118
  426. package/lib/annotation/inject.d.ts +0 -5
  427. package/lib/annotation/inject.js +0 -30
  428. package/lib/annotation/inject_base.d.ts +0 -4
  429. package/lib/annotation/inject_base.js +0 -17
  430. package/lib/annotation/injectable.d.ts +0 -2
  431. package/lib/annotation/injectable.js +0 -38
  432. package/lib/annotation/lazy_service_identifier.d.ts +0 -3
  433. package/lib/annotation/lazy_service_identifier.js +0 -2
  434. package/lib/annotation/multi_inject.d.ts +0 -5
  435. package/lib/annotation/multi_inject.js +0 -30
  436. package/lib/annotation/named.d.ts +0 -2
  437. package/lib/annotation/named.js +0 -32
  438. package/lib/annotation/optional.d.ts +0 -2
  439. package/lib/annotation/optional.js +0 -32
  440. package/lib/annotation/post_construct.d.ts +0 -4
  441. package/lib/annotation/post_construct.js +0 -31
  442. package/lib/annotation/pre_destroy.d.ts +0 -4
  443. package/lib/annotation/pre_destroy.js +0 -31
  444. package/lib/annotation/property_event_decorator.d.ts +0 -4
  445. package/lib/annotation/property_event_decorator.js +0 -15
  446. package/lib/annotation/tagged.d.ts +0 -2
  447. package/lib/annotation/tagged.js +0 -8
  448. package/lib/annotation/target_name.d.ts +0 -3
  449. package/lib/annotation/target_name.js +0 -35
  450. package/lib/annotation/unmanaged.d.ts +0 -3
  451. package/lib/annotation/unmanaged.js +0 -35
  452. package/lib/bindings/binding.d.ts +0 -20
  453. package/lib/bindings/binding.js +0 -40
  454. package/lib/bindings/binding_count.d.ts +0 -5
  455. package/lib/constants/error_msgs.d.ts +0 -30
  456. package/lib/constants/error_msgs.js +0 -73
  457. package/lib/constants/literal_types.d.ts +0 -5
  458. package/lib/constants/literal_types.js +0 -26
  459. package/lib/constants/metadata_keys.d.ts +0 -13
  460. package/lib/constants/metadata_keys.js +0 -26
  461. package/lib/container/container.d.ts +0 -73
  462. package/lib/container/container.js +0 -776
  463. package/lib/container/container_module.d.ts +0 -11
  464. package/lib/container/container_module.js +0 -20
  465. package/lib/container/container_snapshot.d.ts +0 -10
  466. package/lib/container/container_snapshot.js +0 -18
  467. package/lib/container/lookup.d.ts +0 -17
  468. package/lib/container/lookup.js +0 -131
  469. package/lib/container/module_activation_store.d.ts +0 -10
  470. package/lib/container/module_activation_store.js +0 -50
  471. package/lib/interfaces/interfaces.d.ts +0 -269
  472. package/lib/inversify.d.ts +0 -24
  473. package/lib/inversify.js +0 -76
  474. package/lib/planning/context.d.ts +0 -11
  475. package/lib/planning/context.js +0 -18
  476. package/lib/planning/metadata.d.ts +0 -8
  477. package/lib/planning/metadata.js +0 -43
  478. package/lib/planning/metadata_reader.d.ts +0 -6
  479. package/lib/planning/metadata_reader.js +0 -47
  480. package/lib/planning/plan.d.ts +0 -7
  481. package/lib/planning/plan.js +0 -11
  482. package/lib/planning/planner.d.ts +0 -5
  483. package/lib/planning/planner.js +0 -195
  484. package/lib/planning/queryable_string.d.ts +0 -10
  485. package/lib/planning/queryable_string.js +0 -31
  486. package/lib/planning/reflection_utils.d.ts +0 -5
  487. package/lib/planning/reflection_utils.js +0 -55
  488. package/lib/planning/request.d.ts +0 -14
  489. package/lib/planning/request.js +0 -23
  490. package/lib/planning/target.d.ts +0 -23
  491. package/lib/planning/target.js +0 -113
  492. package/lib/resolution/instantiation.d.ts +0 -3
  493. package/lib/resolution/instantiation.js +0 -220
  494. package/lib/resolution/resolver.d.ts +0 -3
  495. package/lib/resolution/resolver.js +0 -239
  496. package/lib/scope/scope.d.ts +0 -3
  497. package/lib/scope/scope.js +0 -93
  498. package/lib/syntax/binding_in_syntax.d.ts +0 -9
  499. package/lib/syntax/binding_in_syntax.js +0 -24
  500. package/lib/syntax/binding_in_when_on_syntax.d.ts +0 -29
  501. package/lib/syntax/binding_in_when_on_syntax.js +0 -76
  502. package/lib/syntax/binding_on_syntax.d.ts +0 -8
  503. package/lib/syntax/binding_on_syntax.js +0 -19
  504. package/lib/syntax/binding_to_syntax.d.ts +0 -18
  505. package/lib/syntax/binding_to_syntax.js +0 -117
  506. package/lib/syntax/binding_when_on_syntax.d.ts +0 -25
  507. package/lib/syntax/binding_when_on_syntax.js +0 -65
  508. package/lib/syntax/binding_when_syntax.d.ts +0 -21
  509. package/lib/syntax/binding_when_syntax.js +0 -107
  510. package/lib/syntax/constraint_helpers.d.ts +0 -6
  511. package/lib/syntax/constraint_helpers.js +0 -65
  512. package/lib/tsconfig.tsbuildinfo +0 -1
  513. package/lib/utils/async.d.ts +0 -3
  514. package/lib/utils/async.js +0 -15
  515. package/lib/utils/binding_utils.d.ts +0 -4
  516. package/lib/utils/binding_utils.js +0 -87
  517. package/lib/utils/clonable.d.ts +0 -3
  518. package/lib/utils/clonable.js +0 -9
  519. package/lib/utils/exceptions.d.ts +0 -2
  520. package/lib/utils/exceptions.js +0 -44
  521. package/lib/utils/factory_type.d.ts +0 -5
  522. package/lib/utils/factory_type.js +0 -9
  523. package/lib/utils/id.d.ts +0 -2
  524. package/lib/utils/id.js +0 -7
  525. package/lib/utils/js.d.ts +0 -1
  526. package/lib/utils/js.js +0 -16
  527. package/lib/utils/serialization.d.ts +0 -10
  528. package/lib/utils/serialization.js +0 -133
  529. /package/{es → lib/esm}/package.json +0 -0
@@ -15,22 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
34
35
  Object.defineProperty(exports, "__esModule", { value: true });
35
36
  exports.Container = void 0;
36
37
  const binding_1 = require("../bindings/binding");
@@ -48,6 +49,16 @@ const container_snapshot_1 = require("./container_snapshot");
48
49
  const lookup_1 = require("./lookup");
49
50
  const module_activation_store_1 = require("./module_activation_store");
50
51
  class Container {
52
+ id;
53
+ parent;
54
+ options;
55
+ _middleware;
56
+ _bindingDictionary;
57
+ _activations;
58
+ _deactivations;
59
+ _snapshots;
60
+ _metadataReader;
61
+ _moduleActivationStore;
51
62
  constructor(containerOptions) {
52
63
  const options = containerOptions || {};
53
64
  if (typeof options !== 'object') {
@@ -109,20 +120,22 @@ class Container {
109
120
  return container;
110
121
  }
111
122
  load(...modules) {
123
+ // eslint-disable-next-line @typescript-eslint/typedef
112
124
  const getHelpers = this._getContainerModuleHelpersFactory();
113
125
  for (const currentModule of modules) {
126
+ // eslint-disable-next-line @typescript-eslint/typedef
114
127
  const containerModuleHelpers = getHelpers(currentModule.id);
115
128
  currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);
116
129
  }
117
130
  }
118
- loadAsync(...modules) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const getHelpers = this._getContainerModuleHelpersFactory();
121
- for (const currentModule of modules) {
122
- const containerModuleHelpers = getHelpers(currentModule.id);
123
- yield currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);
124
- }
125
- });
131
+ async loadAsync(...modules) {
132
+ // eslint-disable-next-line @typescript-eslint/typedef
133
+ const getHelpers = this._getContainerModuleHelpersFactory();
134
+ for (const currentModule of modules) {
135
+ // eslint-disable-next-line @typescript-eslint/typedef
136
+ const containerModuleHelpers = getHelpers(currentModule.id);
137
+ await currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction, containerModuleHelpers.unbindAsyncFunction, containerModuleHelpers.onActivationFunction, containerModuleHelpers.onDeactivationFunction);
138
+ }
126
139
  }
127
140
  unload(...modules) {
128
141
  modules.forEach((module) => {
@@ -131,31 +144,26 @@ class Container {
131
144
  this._removeModuleHandlers(module.id);
132
145
  });
133
146
  }
134
- unloadAsync(...modules) {
135
- return __awaiter(this, void 0, void 0, function* () {
136
- for (const module of modules) {
137
- const deactivations = this._removeModuleBindings(module.id);
138
- yield this._deactivateSingletonsAsync(deactivations);
139
- this._removeModuleHandlers(module.id);
140
- }
141
- });
147
+ async unloadAsync(...modules) {
148
+ for (const module of modules) {
149
+ const deactivations = this._removeModuleBindings(module.id);
150
+ await this._deactivateSingletonsAsync(deactivations);
151
+ this._removeModuleHandlers(module.id);
152
+ }
142
153
  }
154
+ // Registers a type binding
143
155
  bind(serviceIdentifier) {
144
- const scope = this.options.defaultScope || literal_types_1.BindingScopeEnum.Transient;
145
- const binding = new binding_1.Binding(serviceIdentifier, scope);
146
- this._bindingDictionary.add(serviceIdentifier, binding);
147
- return new binding_to_syntax_1.BindingToSyntax(binding);
156
+ return this._bind(this._buildBinding(serviceIdentifier));
148
157
  }
149
158
  rebind(serviceIdentifier) {
150
159
  this.unbind(serviceIdentifier);
151
160
  return this.bind(serviceIdentifier);
152
161
  }
153
- rebindAsync(serviceIdentifier) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- yield this.unbindAsync(serviceIdentifier);
156
- return this.bind(serviceIdentifier);
157
- });
162
+ async rebindAsync(serviceIdentifier) {
163
+ await this.unbindAsync(serviceIdentifier);
164
+ return this.bind(serviceIdentifier);
158
165
  }
166
+ // Removes a type binding from the registry by its key
159
167
  unbind(serviceIdentifier) {
160
168
  if (this._bindingDictionary.hasKey(serviceIdentifier)) {
161
169
  const bindings = this._bindingDictionary.get(serviceIdentifier);
@@ -163,30 +171,27 @@ class Container {
163
171
  }
164
172
  this._removeServiceFromDictionary(serviceIdentifier);
165
173
  }
166
- unbindAsync(serviceIdentifier) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- if (this._bindingDictionary.hasKey(serviceIdentifier)) {
169
- const bindings = this._bindingDictionary.get(serviceIdentifier);
170
- yield this._deactivateSingletonsAsync(bindings);
171
- }
172
- this._removeServiceFromDictionary(serviceIdentifier);
173
- });
174
+ async unbindAsync(serviceIdentifier) {
175
+ if (this._bindingDictionary.hasKey(serviceIdentifier)) {
176
+ const bindings = this._bindingDictionary.get(serviceIdentifier);
177
+ await this._deactivateSingletonsAsync(bindings);
178
+ }
179
+ this._removeServiceFromDictionary(serviceIdentifier);
174
180
  }
181
+ // Removes all the type bindings from the registry
175
182
  unbindAll() {
176
183
  this._bindingDictionary.traverse((_key, value) => {
177
184
  this._deactivateSingletons(value);
178
185
  });
179
186
  this._bindingDictionary = new lookup_1.Lookup();
180
187
  }
181
- unbindAllAsync() {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- const promises = [];
184
- this._bindingDictionary.traverse((_key, value) => {
185
- promises.push(this._deactivateSingletonsAsync(value));
186
- });
187
- yield Promise.all(promises);
188
- this._bindingDictionary = new lookup_1.Lookup();
188
+ async unbindAllAsync() {
189
+ const promises = [];
190
+ this._bindingDictionary.traverse((_key, value) => {
191
+ promises.push(this._deactivateSingletonsAsync(value));
189
192
  });
193
+ await Promise.all(promises);
194
+ this._bindingDictionary = new lookup_1.Lookup();
190
195
  }
191
196
  onActivation(serviceIdentifier, onActivation) {
192
197
  this._activations.add(serviceIdentifier, onActivation);
@@ -194,6 +199,7 @@ class Container {
194
199
  onDeactivation(serviceIdentifier, onDeactivation) {
195
200
  this._deactivations.add(serviceIdentifier, onDeactivation);
196
201
  }
202
+ // Allows to check if there are bindings available for serviceIdentifier
197
203
  isBound(serviceIdentifier) {
198
204
  let bound = this._bindingDictionary.hasKey(serviceIdentifier);
199
205
  if (!bound && this.parent) {
@@ -201,19 +207,23 @@ class Container {
201
207
  }
202
208
  return bound;
203
209
  }
210
+ // check binding dependency only in current container
204
211
  isCurrentBound(serviceIdentifier) {
205
212
  return this._bindingDictionary.hasKey(serviceIdentifier);
206
213
  }
207
214
  isBoundNamed(serviceIdentifier, named) {
208
215
  return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
209
216
  }
217
+ // Check if a binding with a complex constraint is available without throwing a error. Ancestors are also verified.
210
218
  isBoundTagged(serviceIdentifier, key, value) {
211
219
  let bound = false;
220
+ // verify if there are bindings available for serviceIdentifier on current binding dictionary
212
221
  if (this._bindingDictionary.hasKey(serviceIdentifier)) {
213
222
  const bindings = this._bindingDictionary.get(serviceIdentifier);
214
223
  const request = (0, planner_1.createMockRequest)(this, serviceIdentifier, key, value);
215
224
  bound = bindings.some((b) => b.constraint(request));
216
225
  }
226
+ // verify if there is a parent container that could solve the request
217
227
  if (!bound && this.parent) {
218
228
  bound = this.parent.isBoundTagged(serviceIdentifier, key, value);
219
229
  }
@@ -247,61 +257,54 @@ class Container {
247
257
  applyCustomMetadataReader(metadataReader) {
248
258
  this._metadataReader = metadataReader;
249
259
  }
260
+ // Resolves a dependency by its runtime identifier
261
+ // The runtime identifier must be associated with only one binding
262
+ // use getAll when the runtime identifier is associated with multiple bindings
250
263
  get(serviceIdentifier) {
251
264
  const getArgs = this._getNotAllArgs(serviceIdentifier, false);
252
265
  return this._getButThrowIfAsync(getArgs);
253
266
  }
254
- getAsync(serviceIdentifier) {
255
- return __awaiter(this, void 0, void 0, function* () {
256
- const getArgs = this._getNotAllArgs(serviceIdentifier, false);
257
- return this._get(getArgs);
258
- });
267
+ async getAsync(serviceIdentifier) {
268
+ const getArgs = this._getNotAllArgs(serviceIdentifier, false);
269
+ return this._get(getArgs);
259
270
  }
260
271
  getTagged(serviceIdentifier, key, value) {
261
272
  const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);
262
273
  return this._getButThrowIfAsync(getArgs);
263
274
  }
264
- getTaggedAsync(serviceIdentifier, key, value) {
265
- return __awaiter(this, void 0, void 0, function* () {
266
- const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);
267
- return this._get(getArgs);
268
- });
275
+ async getTaggedAsync(serviceIdentifier, key, value) {
276
+ const getArgs = this._getNotAllArgs(serviceIdentifier, false, key, value);
277
+ return this._get(getArgs);
269
278
  }
270
279
  getNamed(serviceIdentifier, named) {
271
280
  return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
272
281
  }
273
- getNamedAsync(serviceIdentifier, named) {
274
- return __awaiter(this, void 0, void 0, function* () {
275
- return this.getTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
276
- });
282
+ async getNamedAsync(serviceIdentifier, named) {
283
+ return this.getTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
277
284
  }
285
+ // Resolves a dependency by its runtime identifier
286
+ // The runtime identifier can be associated with one or multiple bindings
278
287
  getAll(serviceIdentifier) {
279
288
  const getArgs = this._getAllArgs(serviceIdentifier);
280
289
  return this._getButThrowIfAsync(getArgs);
281
290
  }
282
- getAllAsync(serviceIdentifier) {
283
- return __awaiter(this, void 0, void 0, function* () {
284
- const getArgs = this._getAllArgs(serviceIdentifier);
285
- return this._getAll(getArgs);
286
- });
291
+ async getAllAsync(serviceIdentifier) {
292
+ const getArgs = this._getAllArgs(serviceIdentifier);
293
+ return this._getAll(getArgs);
287
294
  }
288
295
  getAllTagged(serviceIdentifier, key, value) {
289
296
  const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);
290
297
  return this._getButThrowIfAsync(getArgs);
291
298
  }
292
- getAllTaggedAsync(serviceIdentifier, key, value) {
293
- return __awaiter(this, void 0, void 0, function* () {
294
- const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);
295
- return this._getAll(getArgs);
296
- });
299
+ async getAllTaggedAsync(serviceIdentifier, key, value) {
300
+ const getArgs = this._getNotAllArgs(serviceIdentifier, true, key, value);
301
+ return this._getAll(getArgs);
297
302
  }
298
303
  getAllNamed(serviceIdentifier, named) {
299
304
  return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
300
305
  }
301
- getAllNamedAsync(serviceIdentifier, named) {
302
- return __awaiter(this, void 0, void 0, function* () {
303
- return this.getAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
304
- });
306
+ async getAllNamedAsync(serviceIdentifier, named) {
307
+ return this.getAllTaggedAsync(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
305
308
  }
306
309
  resolve(constructorFunction) {
307
310
  const isBound = this.isBound(constructorFunction);
@@ -315,11 +318,10 @@ class Container {
315
318
  return resolved;
316
319
  }
317
320
  _preDestroy(constructor, instance) {
318
- var _a, _b;
319
321
  if (constructor !== undefined &&
320
322
  Reflect.hasMetadata(METADATA_KEY.PRE_DESTROY, constructor)) {
321
323
  const data = Reflect.getMetadata(METADATA_KEY.PRE_DESTROY, constructor);
322
- return (_b = (_a = instance)[data.value]) === null || _b === void 0 ? void 0 : _b.call(_a);
324
+ return instance[data.value]?.();
323
325
  }
324
326
  }
325
327
  _removeModuleHandlers(moduleId) {
@@ -331,17 +333,16 @@ class Container {
331
333
  return this._bindingDictionary.removeByCondition((binding) => binding.moduleId === moduleId);
332
334
  }
333
335
  _deactivate(binding, instance) {
336
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
334
337
  const constructor = instance == undefined
335
338
  ? undefined
336
- :
339
+ : // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
337
340
  Object.getPrototypeOf(instance).constructor;
338
341
  try {
339
342
  if (this._deactivations.hasKey(binding.serviceIdentifier)) {
340
343
  const result = this._deactivateContainer(instance, this._deactivations.get(binding.serviceIdentifier).values());
341
344
  if ((0, async_1.isPromise)(result)) {
342
- return this._handleDeactivationError(result.then(() => __awaiter(this, void 0, void 0, function* () {
343
- return this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor);
344
- })), binding.serviceIdentifier);
345
+ return this._handleDeactivationError(result.then(async () => this._propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor)), binding.serviceIdentifier);
345
346
  }
346
347
  }
347
348
  const propagateDeactivationResult = this._propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor);
@@ -355,59 +356,54 @@ class Container {
355
356
  }
356
357
  }
357
358
  }
358
- _handleDeactivationError(asyncResult, serviceIdentifier) {
359
- return __awaiter(this, void 0, void 0, function* () {
360
- try {
361
- yield asyncResult;
362
- }
363
- catch (ex) {
364
- if (ex instanceof Error) {
365
- throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR((0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier), ex.message));
366
- }
359
+ async _handleDeactivationError(asyncResult, serviceIdentifier) {
360
+ try {
361
+ await asyncResult;
362
+ }
363
+ catch (ex) {
364
+ if (ex instanceof Error) {
365
+ throw new Error(ERROR_MSGS.ON_DEACTIVATION_ERROR((0, serialization_1.getServiceIdentifierAsString)(serviceIdentifier), ex.message));
367
366
  }
368
- });
367
+ }
369
368
  }
370
369
  _deactivateContainer(instance, deactivationsIterator) {
371
370
  let deactivation = deactivationsIterator.next();
372
371
  while (typeof deactivation.value === 'function') {
373
372
  const result = deactivation.value(instance);
374
373
  if ((0, async_1.isPromise)(result)) {
375
- return result.then(() => __awaiter(this, void 0, void 0, function* () { return this._deactivateContainerAsync(instance, deactivationsIterator); }));
374
+ return result.then(async () => this._deactivateContainerAsync(instance, deactivationsIterator));
376
375
  }
377
376
  deactivation = deactivationsIterator.next();
378
377
  }
379
378
  }
380
- _deactivateContainerAsync(instance, deactivationsIterator) {
381
- return __awaiter(this, void 0, void 0, function* () {
382
- let deactivation = deactivationsIterator.next();
383
- while (typeof deactivation.value === 'function') {
384
- yield deactivation.value(instance);
385
- deactivation = deactivationsIterator.next();
386
- }
387
- });
379
+ async _deactivateContainerAsync(instance, deactivationsIterator) {
380
+ let deactivation = deactivationsIterator.next();
381
+ while (typeof deactivation.value === 'function') {
382
+ await deactivation.value(instance);
383
+ deactivation = deactivationsIterator.next();
384
+ }
388
385
  }
389
386
  _getContainerModuleHelpersFactory() {
390
- const setModuleId = (bindingToSyntax, moduleId) => {
391
- bindingToSyntax._binding.moduleId = moduleId;
392
- };
393
387
  const getBindFunction = (moduleId) => (serviceIdentifier) => {
394
- const bindingToSyntax = this.bind(serviceIdentifier);
395
- setModuleId(bindingToSyntax, moduleId);
396
- return bindingToSyntax;
388
+ const binding = this._buildBinding(serviceIdentifier);
389
+ binding.moduleId = moduleId;
390
+ return this._bind(binding);
397
391
  };
398
392
  const getUnbindFunction = () => (serviceIdentifier) => {
399
393
  this.unbind(serviceIdentifier);
400
394
  };
401
- const getUnbindAsyncFunction = () => (serviceIdentifier) => __awaiter(this, void 0, void 0, function* () {
395
+ const getUnbindAsyncFunction = () => async (serviceIdentifier) => {
402
396
  return this.unbindAsync(serviceIdentifier);
403
- });
397
+ };
404
398
  const getIsboundFunction = () => (serviceIdentifier) => {
405
399
  return this.isBound(serviceIdentifier);
406
400
  };
407
- const getRebindFunction = (moduleId) => (serviceIdentifier) => {
408
- const bindingToSyntax = this.rebind(serviceIdentifier);
409
- setModuleId(bindingToSyntax, moduleId);
410
- return bindingToSyntax;
401
+ const getRebindFunction = (moduleId) => {
402
+ const bind = getBindFunction(moduleId);
403
+ return (serviceIdentifier) => {
404
+ this.unbind(serviceIdentifier);
405
+ return bind(serviceIdentifier);
406
+ };
411
407
  };
412
408
  const getOnActivationFunction = (moduleId) => (serviceIdentifier, onActivation) => {
413
409
  this._moduleActivationStore.addActivation(moduleId, serviceIdentifier, onActivation);
@@ -427,13 +423,26 @@ class Container {
427
423
  unbindFunction: getUnbindFunction(),
428
424
  });
429
425
  }
430
- _getAll(getArgs) {
431
- return __awaiter(this, void 0, void 0, function* () {
432
- return Promise.all(this._get(getArgs));
433
- });
426
+ _bind(binding) {
427
+ this._bindingDictionary.add(binding.serviceIdentifier, binding);
428
+ return new binding_to_syntax_1.BindingToSyntax(binding);
429
+ }
430
+ _buildBinding(serviceIdentifier) {
431
+ const scope = this.options.defaultScope || literal_types_1.BindingScopeEnum.Transient;
432
+ return new binding_1.Binding(serviceIdentifier, scope);
434
433
  }
434
+ async _getAll(getArgs) {
435
+ return Promise.all(this._get(getArgs));
436
+ }
437
+ // Prepares arguments required for resolution and
438
+ // delegates resolution to _middleware if available
439
+ // otherwise it delegates resolution to _planAndResolve
435
440
  _get(getArgs) {
436
- const planAndResolveArgs = Object.assign(Object.assign({}, getArgs), { contextInterceptor: (context) => context, targetType: literal_types_1.TargetTypeEnum.Variable });
441
+ const planAndResolveArgs = {
442
+ ...getArgs,
443
+ contextInterceptor: (context) => context,
444
+ targetType: literal_types_1.TargetTypeEnum.Variable,
445
+ };
437
446
  if (this._middleware) {
438
447
  const middlewareResult = this._middleware(planAndResolveArgs);
439
448
  if (middlewareResult === undefined || middlewareResult === null) {
@@ -468,10 +477,16 @@ class Container {
468
477
  };
469
478
  return getNotAllArgs;
470
479
  }
480
+ // Planner creates a plan and Resolver resolves a plan
481
+ // one of the jobs of the Container is to links the Planner
482
+ // with the Resolver and that is what this function is about
471
483
  _planAndResolve() {
472
484
  return (args) => {
485
+ // create a plan
473
486
  let context = (0, planner_1.plan)(this._metadataReader, this, args.isMultiInject, args.targetType, args.serviceIdentifier, args.key, args.value, args.avoidConstraints);
487
+ // apply context interceptor
474
488
  context = args.contextInterceptor(context);
489
+ // resolve plan
475
490
  const result = (0, resolver_1.resolve)(context);
476
491
  return result;
477
492
  };
@@ -493,10 +508,8 @@ class Container {
493
508
  }
494
509
  }
495
510
  }
496
- _deactivateSingletonsAsync(bindings) {
497
- return __awaiter(this, void 0, void 0, function* () {
498
- yield Promise.all(bindings.map((b) => __awaiter(this, void 0, void 0, function* () { return this._deactivateIfSingleton(b); })));
499
- });
511
+ async _deactivateSingletonsAsync(bindings) {
512
+ await Promise.all(bindings.map(async (b) => this._deactivateIfSingleton(b)));
500
513
  }
501
514
  _propagateContainerDeactivationThenBindingAndPreDestroy(binding, instance, constructor) {
502
515
  if (this.parent) {
@@ -506,15 +519,13 @@ class Container {
506
519
  return this._bindingDeactivationAndPreDestroy(binding, instance, constructor);
507
520
  }
508
521
  }
509
- _propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor) {
510
- return __awaiter(this, void 0, void 0, function* () {
511
- if (this.parent) {
512
- yield this._deactivate.bind(this.parent)(binding, instance);
513
- }
514
- else {
515
- yield this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor);
516
- }
517
- });
522
+ async _propagateContainerDeactivationThenBindingAndPreDestroyAsync(binding, instance, constructor) {
523
+ if (this.parent) {
524
+ await this._deactivate.bind(this.parent)(binding, instance);
525
+ }
526
+ else {
527
+ await this._bindingDeactivationAndPreDestroyAsync(binding, instance, constructor);
528
+ }
518
529
  }
519
530
  _removeServiceFromDictionary(serviceIdentifier) {
520
531
  try {
@@ -533,13 +544,12 @@ class Container {
533
544
  }
534
545
  return this._preDestroy(constructor, instance);
535
546
  }
536
- _bindingDeactivationAndPreDestroyAsync(binding, instance, constructor) {
537
- return __awaiter(this, void 0, void 0, function* () {
538
- if (typeof binding.onDeactivation === 'function') {
539
- yield binding.onDeactivation(instance);
540
- }
541
- yield this._preDestroy(constructor, instance);
542
- });
547
+ async _bindingDeactivationAndPreDestroyAsync(binding, instance, constructor) {
548
+ if (typeof binding.onDeactivation === 'function') {
549
+ await binding.onDeactivation(instance);
550
+ }
551
+ await this._preDestroy(constructor, instance);
543
552
  }
544
553
  }
545
554
  exports.Container = Container;
555
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../../src/container/container.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@ export declare class AsyncContainerModule implements interfaces.AsyncContainerMo
9
9
  registry: interfaces.AsyncContainerModuleCallBack;
10
10
  constructor(registry: interfaces.AsyncContainerModuleCallBack);
11
11
  }
12
+ //# sourceMappingURL=container_module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_module.d.ts","sourceRoot":"","sources":["../../../src/container/container_module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,qBAAa,eAAgB,YAAW,UAAU,CAAC,eAAe;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC,uBAAuB,CAAC;gBAExC,QAAQ,EAAE,UAAU,CAAC,uBAAuB;CAIzD;AAED,qBAAa,oBAAqB,YAAW,UAAU,CAAC,oBAAoB;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC,4BAA4B,CAAC;gBAE7C,QAAQ,EAAE,UAAU,CAAC,4BAA4B;CAI9D"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AsyncContainerModule = exports.ContainerModule = void 0;
4
4
  const id_1 = require("../utils/id");
5
5
  class ContainerModule {
6
+ id;
7
+ registry;
6
8
  constructor(registry) {
7
9
  this.id = (0, id_1.id)();
8
10
  this.registry = registry;
@@ -10,9 +12,12 @@ class ContainerModule {
10
12
  }
11
13
  exports.ContainerModule = ContainerModule;
12
14
  class AsyncContainerModule {
15
+ id;
16
+ registry;
13
17
  constructor(registry) {
14
18
  this.id = (0, id_1.id)();
15
19
  this.registry = registry;
16
20
  }
17
21
  }
18
22
  exports.AsyncContainerModule = AsyncContainerModule;
23
+ //# sourceMappingURL=container_module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_module.js","sourceRoot":"","sources":["../../../src/container/container_module.ts"],"names":[],"mappings":";;;AACA,oCAAiC;AAEjC,MAAa,eAAe;IACnB,EAAE,CAAS;IACX,QAAQ,CAAqC;IAEpD,YAAY,QAA4C;QACtD,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AARD,0CAQC;AAED,MAAa,oBAAoB;IACxB,EAAE,CAAS;IACX,QAAQ,CAA0C;IAEzD,YAAY,QAAiD;QAC3D,IAAI,CAAC,EAAE,GAAG,IAAA,OAAE,GAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AARD,oDAQC"}
@@ -8,3 +8,4 @@ declare class ContainerSnapshot implements interfaces.ContainerSnapshot {
8
8
  static of(bindings: interfaces.Lookup<interfaces.Binding<unknown>>, middleware: interfaces.Next | null, activations: interfaces.Lookup<interfaces.BindingActivation<unknown>>, deactivations: interfaces.Lookup<interfaces.BindingDeactivation<unknown>>, moduleActivationStore: interfaces.ModuleActivationStore): ContainerSnapshot;
9
9
  }
10
10
  export { ContainerSnapshot };
11
+ //# sourceMappingURL=container_snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_snapshot.d.ts","sourceRoot":"","sources":["../../../src/container/container_snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,cAAM,iBAAkB,YAAW,UAAU,CAAC,iBAAiB;IACtD,QAAQ,EAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,WAAW,EAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,aAAa,EAAG,UAAU,CAAC,MAAM,CACtC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACxC,CAAC;IACK,UAAU,EAAG,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;IACpC,qBAAqB,EAAG,UAAU,CAAC,qBAAqB,CAAC;WAElD,EAAE,CACd,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EACxD,UAAU,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,EAClC,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EACrE,aAAa,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EACzE,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;CAU1D;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -2,6 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContainerSnapshot = void 0;
4
4
  class ContainerSnapshot {
5
+ bindings;
6
+ activations;
7
+ deactivations;
8
+ middleware;
9
+ moduleActivationStore;
5
10
  static of(bindings, middleware, activations, deactivations, moduleActivationStore) {
6
11
  const snapshot = new ContainerSnapshot();
7
12
  snapshot.bindings = bindings;
@@ -13,3 +18,4 @@ class ContainerSnapshot {
13
18
  }
14
19
  }
15
20
  exports.ContainerSnapshot = ContainerSnapshot;
21
+ //# sourceMappingURL=container_snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_snapshot.js","sourceRoot":"","sources":["../../../src/container/container_snapshot.ts"],"names":[],"mappings":";;;AAEA,MAAM,iBAAiB;IACd,QAAQ,CAAkD;IAC1D,WAAW,CAA4D;IACvE,aAAa,CAElB;IACK,UAAU,CAA0B;IACpC,qBAAqB,CAAoC;IAEzD,MAAM,CAAC,EAAE,CACd,QAAwD,EACxD,UAAkC,EAClC,WAAqE,EACrE,aAAyE,EACzE,qBAAuD;QAEvD,MAAM,QAAQ,GAAsB,IAAI,iBAAiB,EAAE,CAAC;QAC5D,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;QACvC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,QAAQ,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAEQ,8CAAiB"}
@@ -15,3 +15,4 @@ declare class Lookup<T> implements interfaces.Lookup<T> {
15
15
  private _setValue;
16
16
  }
17
17
  export { Lookup };
18
+ //# sourceMappingURL=lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../../../src/container/lookup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,cAAM,MAAM,CAAC,CAAC,CAAE,YAAW,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAyC;;IAMvD,MAAM;IAKN,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAgBpE,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,GAAG,CAAC,EAAE;IAazD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,GAAG,IAAI;IAQ7D,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAyBtD,iBAAiB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE;IAqBvD,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,GAAG,OAAO;IAQhE,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAY7B,QAAQ,CACb,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,GAC5D,IAAI;IAMP,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;CAUlB;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}