inversify 5.1.1 → 6.0.2

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 (450) hide show
  1. package/.nyc_output/16b95af9-19b9-451c-8475-9a8585677128.json +1 -0
  2. package/.nyc_output/processinfo/16b95af9-19b9-451c-8475-9a8585677128.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/CHANGELOG.md +81 -32
  5. package/LICENSE +22 -22
  6. package/README.md +309 -306
  7. package/amd/annotation/decorator_utils.js +114 -60
  8. package/amd/annotation/inject.js +27 -31
  9. package/amd/annotation/inject_base.js +17 -0
  10. package/amd/annotation/injectable.js +37 -17
  11. package/amd/annotation/lazy_service_identifier.js +15 -0
  12. package/amd/annotation/multi_inject.js +27 -18
  13. package/amd/annotation/named.js +29 -18
  14. package/amd/annotation/optional.js +29 -18
  15. package/amd/annotation/post_construct.js +28 -16
  16. package/amd/annotation/pre_destroy.js +28 -0
  17. package/amd/annotation/property_event_decorator.js +17 -0
  18. package/amd/annotation/tagged.js +9 -18
  19. package/amd/annotation/target_name.js +32 -13
  20. package/amd/annotation/unmanaged.js +32 -13
  21. package/amd/bindings/binding.js +39 -38
  22. package/amd/bindings/binding_count.js +10 -12
  23. package/amd/constants/error_msgs.js +64 -68
  24. package/amd/constants/literal_types.js +28 -29
  25. package/amd/constants/metadata_keys.js +28 -28
  26. package/amd/container/container.js +719 -332
  27. package/amd/container/container_module.js +21 -22
  28. package/amd/container/container_snapshot.js +20 -18
  29. package/amd/container/lookup.js +127 -82
  30. package/amd/container/module_activation_store.js +53 -0
  31. package/amd/interfaces/interfaces.js +10 -5
  32. package/amd/inversify.js +55 -32
  33. package/amd/planning/context.js +19 -20
  34. package/amd/planning/metadata.js +41 -22
  35. package/amd/planning/metadata_reader.js +43 -24
  36. package/amd/planning/plan.js +13 -14
  37. package/amd/planning/planner.js +163 -147
  38. package/amd/planning/queryable_string.js +30 -31
  39. package/amd/planning/reflection_utils.js +157 -128
  40. package/amd/planning/request.js +26 -27
  41. package/amd/planning/target.js +101 -80
  42. package/amd/resolution/instantiation.js +211 -56
  43. package/amd/resolution/resolver.js +222 -99
  44. package/amd/scope/scope.js +93 -0
  45. package/amd/syntax/binding_in_syntax.js +24 -25
  46. package/amd/syntax/binding_in_when_on_syntax.js +75 -73
  47. package/amd/syntax/binding_on_syntax.js +20 -17
  48. package/amd/syntax/binding_to_syntax.js +105 -79
  49. package/amd/syntax/binding_when_on_syntax.js +65 -63
  50. package/amd/syntax/binding_when_syntax.js +102 -100
  51. package/amd/syntax/constraint_helpers.js +61 -42
  52. package/amd/utils/async.js +17 -0
  53. package/amd/utils/binding_utils.js +77 -18
  54. package/amd/utils/clonable.js +12 -0
  55. package/amd/utils/exceptions.js +42 -11
  56. package/amd/utils/factory_type.js +11 -0
  57. package/amd/utils/id.js +10 -11
  58. package/amd/utils/js.js +19 -0
  59. package/amd/utils/serialization.js +129 -106
  60. package/es/annotation/decorator_utils.js +88 -55
  61. package/es/annotation/inject.js +4 -30
  62. package/es/annotation/inject_base.js +14 -0
  63. package/es/annotation/injectable.js +13 -14
  64. package/es/annotation/lazy_service_identifier.js +10 -0
  65. package/es/annotation/multi_inject.js +4 -16
  66. package/es/annotation/named.js +7 -16
  67. package/es/annotation/optional.js +7 -16
  68. package/es/annotation/post_construct.js +5 -14
  69. package/es/annotation/pre_destroy.js +5 -0
  70. package/es/annotation/property_event_decorator.js +13 -0
  71. package/es/annotation/tagged.js +6 -15
  72. package/es/annotation/target_name.js +10 -11
  73. package/es/annotation/unmanaged.js +10 -11
  74. package/es/bindings/binding.js +36 -35
  75. package/es/bindings/binding_count.js +5 -7
  76. package/es/constants/error_msgs.js +52 -59
  77. package/es/constants/literal_types.js +21 -22
  78. package/es/constants/metadata_keys.js +23 -23
  79. package/es/container/container.js +707 -339
  80. package/es/container/container_module.js +17 -18
  81. package/es/container/container_snapshot.js +15 -13
  82. package/es/container/lookup.js +104 -78
  83. package/es/container/module_activation_store.js +49 -0
  84. package/es/interfaces/interfaces.js +5 -2
  85. package/es/inversify.js +25 -21
  86. package/es/planning/context.js +15 -16
  87. package/es/planning/metadata.js +17 -18
  88. package/es/planning/metadata_reader.js +19 -20
  89. package/es/planning/plan.js +8 -9
  90. package/es/planning/planner.js +147 -152
  91. package/es/planning/queryable_string.js +25 -26
  92. package/es/planning/reflection_utils.js +135 -127
  93. package/es/planning/request.js +22 -23
  94. package/es/planning/target.js +81 -79
  95. package/es/resolution/instantiation.js +190 -54
  96. package/es/resolution/resolver.js +205 -99
  97. package/es/scope/scope.js +88 -0
  98. package/es/syntax/binding_in_syntax.js +21 -22
  99. package/es/syntax/binding_in_when_on_syntax.js +73 -71
  100. package/es/syntax/binding_on_syntax.js +16 -13
  101. package/es/syntax/binding_to_syntax.js +84 -78
  102. package/es/syntax/binding_when_on_syntax.js +62 -60
  103. package/es/syntax/binding_when_syntax.js +99 -97
  104. package/es/syntax/constraint_helpers.js +35 -36
  105. package/es/utils/async.js +11 -0
  106. package/es/utils/binding_utils.js +53 -12
  107. package/es/utils/clonable.js +7 -0
  108. package/es/utils/exceptions.js +16 -6
  109. package/es/utils/factory_type.js +6 -0
  110. package/es/utils/id.js +5 -6
  111. package/es/utils/js.js +13 -0
  112. package/es/utils/serialization.js +100 -98
  113. package/es6/annotation/decorator_utils.js +109 -59
  114. package/es6/annotation/inject.js +26 -32
  115. package/es6/annotation/inject_base.js +18 -0
  116. package/es6/annotation/injectable.js +35 -17
  117. package/es6/annotation/lazy_service_identifier.js +12 -0
  118. package/es6/annotation/multi_inject.js +26 -19
  119. package/es6/annotation/named.js +29 -19
  120. package/es6/annotation/optional.js +29 -19
  121. package/es6/annotation/post_construct.js +27 -17
  122. package/es6/annotation/pre_destroy.js +27 -0
  123. package/es6/annotation/property_event_decorator.js +16 -0
  124. package/es6/annotation/tagged.js +9 -18
  125. package/es6/annotation/target_name.js +32 -14
  126. package/es6/annotation/unmanaged.js +32 -14
  127. package/es6/bindings/binding.js +38 -37
  128. package/es6/bindings/binding_count.js +8 -10
  129. package/es6/constants/error_msgs.js +53 -46
  130. package/es6/constants/literal_types.js +26 -27
  131. package/es6/constants/metadata_keys.js +26 -26
  132. package/es6/container/container.js +520 -260
  133. package/es6/container/container_module.js +18 -19
  134. package/es6/container/container_snapshot.js +15 -13
  135. package/es6/container/lookup.js +120 -79
  136. package/es6/container/module_activation_store.js +51 -0
  137. package/es6/interfaces/interfaces.js +8 -3
  138. package/es6/inversify.js +76 -49
  139. package/es6/planning/context.js +17 -18
  140. package/es6/planning/metadata.js +38 -20
  141. package/es6/planning/metadata_reader.js +38 -20
  142. package/es6/planning/plan.js +10 -11
  143. package/es6/planning/planner.js +170 -156
  144. package/es6/planning/queryable_string.js +27 -28
  145. package/es6/planning/reflection_utils.js +155 -128
  146. package/es6/planning/request.js +24 -25
  147. package/es6/planning/target.js +99 -78
  148. package/es6/resolution/instantiation.js +151 -48
  149. package/es6/resolution/resolver.js +187 -100
  150. package/es6/scope/scope.js +57 -0
  151. package/es6/syntax/binding_in_syntax.js +23 -24
  152. package/es6/syntax/binding_in_when_on_syntax.js +75 -73
  153. package/es6/syntax/binding_on_syntax.js +18 -15
  154. package/es6/syntax/binding_to_syntax.js +105 -80
  155. package/es6/syntax/binding_when_on_syntax.js +64 -62
  156. package/es6/syntax/binding_when_syntax.js +79 -77
  157. package/es6/syntax/constraint_helpers.js +58 -40
  158. package/es6/utils/async.js +15 -0
  159. package/es6/utils/binding_utils.js +68 -6
  160. package/es6/utils/clonable.js +10 -0
  161. package/es6/utils/exceptions.js +40 -10
  162. package/es6/utils/factory_type.js +9 -0
  163. package/es6/utils/id.js +8 -9
  164. package/es6/utils/js.js +16 -0
  165. package/es6/utils/serialization.js +126 -104
  166. package/lib/annotation/decorator_utils.d.ts +16 -5
  167. package/lib/annotation/decorator_utils.js +113 -60
  168. package/lib/annotation/inject.d.ts +2 -9
  169. package/lib/annotation/inject.js +26 -33
  170. package/lib/annotation/inject_base.d.ts +3 -0
  171. package/lib/annotation/inject_base.js +18 -0
  172. package/lib/annotation/injectable.d.ts +2 -2
  173. package/lib/annotation/injectable.js +35 -17
  174. package/lib/annotation/lazy_service_identifier.d.ts +7 -0
  175. package/lib/annotation/lazy_service_identifier.js +13 -0
  176. package/lib/annotation/multi_inject.d.ts +2 -3
  177. package/lib/annotation/multi_inject.js +26 -19
  178. package/lib/annotation/named.d.ts +2 -2
  179. package/lib/annotation/named.js +29 -19
  180. package/lib/annotation/optional.d.ts +2 -2
  181. package/lib/annotation/optional.js +29 -19
  182. package/lib/annotation/post_construct.d.ts +4 -2
  183. package/lib/annotation/post_construct.js +27 -17
  184. package/lib/annotation/pre_destroy.d.ts +4 -0
  185. package/lib/annotation/pre_destroy.js +27 -0
  186. package/lib/annotation/property_event_decorator.d.ts +4 -0
  187. package/lib/annotation/property_event_decorator.js +16 -0
  188. package/lib/annotation/tagged.d.ts +2 -2
  189. package/lib/annotation/tagged.js +9 -18
  190. package/lib/annotation/target_name.d.ts +3 -2
  191. package/lib/annotation/target_name.js +32 -14
  192. package/lib/annotation/unmanaged.d.ts +3 -2
  193. package/lib/annotation/unmanaged.js +32 -14
  194. package/lib/bindings/binding.d.ts +20 -19
  195. package/lib/bindings/binding.js +39 -38
  196. package/lib/bindings/binding_count.d.ts +5 -6
  197. package/lib/bindings/binding_count.js +8 -10
  198. package/lib/constants/error_msgs.d.ts +32 -27
  199. package/lib/constants/error_msgs.js +62 -66
  200. package/lib/constants/literal_types.d.ts +5 -5
  201. package/lib/constants/literal_types.js +26 -27
  202. package/lib/constants/metadata_keys.d.ts +13 -12
  203. package/lib/constants/metadata_keys.js +26 -26
  204. package/lib/container/container.d.ts +73 -39
  205. package/lib/container/container.js +729 -342
  206. package/lib/container/container_module.d.ts +11 -11
  207. package/lib/container/container_module.js +20 -21
  208. package/lib/container/container_snapshot.d.ts +10 -7
  209. package/lib/container/container_snapshot.js +18 -16
  210. package/lib/container/lookup.d.ts +16 -14
  211. package/lib/container/lookup.js +126 -81
  212. package/lib/container/module_activation_store.d.ts +10 -0
  213. package/lib/container/module_activation_store.js +52 -0
  214. package/lib/interfaces/interfaces.d.ts +284 -237
  215. package/lib/interfaces/interfaces.js +8 -3
  216. package/lib/inversify.d.ts +25 -21
  217. package/lib/inversify.js +76 -49
  218. package/lib/planning/context.d.ts +11 -11
  219. package/lib/planning/context.js +18 -19
  220. package/lib/planning/metadata.d.ts +8 -8
  221. package/lib/planning/metadata.js +39 -21
  222. package/lib/planning/metadata_reader.d.ts +6 -6
  223. package/lib/planning/metadata_reader.js +41 -23
  224. package/lib/planning/plan.d.ts +7 -7
  225. package/lib/planning/plan.js +11 -12
  226. package/lib/planning/planner.d.ts +5 -5
  227. package/lib/planning/planner.js +171 -157
  228. package/lib/planning/queryable_string.d.ts +11 -11
  229. package/lib/planning/queryable_string.js +28 -29
  230. package/lib/planning/reflection_utils.d.ts +5 -5
  231. package/lib/planning/reflection_utils.js +159 -132
  232. package/lib/planning/request.d.ts +14 -14
  233. package/lib/planning/request.js +25 -26
  234. package/lib/planning/target.d.ts +23 -21
  235. package/lib/planning/target.js +103 -82
  236. package/lib/resolution/instantiation.d.ts +3 -3
  237. package/lib/resolution/instantiation.js +212 -57
  238. package/lib/resolution/resolver.d.ts +3 -3
  239. package/lib/resolution/resolver.js +227 -102
  240. package/lib/scope/scope.d.ts +3 -0
  241. package/lib/scope/scope.js +93 -0
  242. package/lib/syntax/binding_in_syntax.d.ts +9 -9
  243. package/lib/syntax/binding_in_syntax.js +24 -25
  244. package/lib/syntax/binding_in_when_on_syntax.d.ts +29 -28
  245. package/lib/syntax/binding_in_when_on_syntax.js +76 -74
  246. package/lib/syntax/binding_on_syntax.d.ts +8 -7
  247. package/lib/syntax/binding_on_syntax.js +19 -16
  248. package/lib/syntax/binding_to_syntax.d.ts +18 -16
  249. package/lib/syntax/binding_to_syntax.js +106 -81
  250. package/lib/syntax/binding_when_on_syntax.d.ts +25 -24
  251. package/lib/syntax/binding_when_on_syntax.js +65 -63
  252. package/lib/syntax/binding_when_syntax.d.ts +21 -21
  253. package/lib/syntax/binding_when_syntax.js +102 -100
  254. package/lib/syntax/constraint_helpers.d.ts +6 -6
  255. package/lib/syntax/constraint_helpers.js +60 -42
  256. package/lib/tsconfig.tsbuildinfo +1 -719
  257. package/lib/utils/async.d.ts +3 -0
  258. package/lib/utils/async.js +15 -0
  259. package/lib/utils/binding_utils.d.ts +4 -2
  260. package/lib/utils/binding_utils.js +78 -16
  261. package/lib/utils/clonable.d.ts +3 -0
  262. package/lib/utils/clonable.js +10 -0
  263. package/lib/utils/exceptions.d.ts +2 -1
  264. package/lib/utils/exceptions.js +40 -10
  265. package/lib/utils/factory_type.d.ts +5 -0
  266. package/lib/utils/factory_type.js +9 -0
  267. package/lib/utils/id.d.ts +2 -2
  268. package/lib/utils/id.js +8 -9
  269. package/lib/utils/js.d.ts +1 -0
  270. package/lib/utils/js.js +17 -0
  271. package/lib/utils/serialization.d.ts +10 -7
  272. package/lib/utils/serialization.js +127 -105
  273. package/package.json +61 -77
  274. package/.auditignore +0 -2
  275. package/.nyc_output/4df1ad3a-a319-42b9-bb65-746cefa3318e.json +0 -1
  276. package/.nyc_output/processinfo/4df1ad3a-a319-42b9-bb65-746cefa3318e.json +0 -1
  277. package/CODE_OF_CONDUCT.md +0 -46
  278. package/amd/annotation/decorator_utils.js.map +0 -1
  279. package/amd/annotation/inject.js.map +0 -1
  280. package/amd/annotation/injectable.js.map +0 -1
  281. package/amd/annotation/multi_inject.js.map +0 -1
  282. package/amd/annotation/named.js.map +0 -1
  283. package/amd/annotation/optional.js.map +0 -1
  284. package/amd/annotation/post_construct.js.map +0 -1
  285. package/amd/annotation/tagged.js.map +0 -1
  286. package/amd/annotation/target_name.js.map +0 -1
  287. package/amd/annotation/unmanaged.js.map +0 -1
  288. package/amd/bindings/binding.js.map +0 -1
  289. package/amd/bindings/binding_count.js.map +0 -1
  290. package/amd/constants/error_msgs.js.map +0 -1
  291. package/amd/constants/literal_types.js.map +0 -1
  292. package/amd/constants/metadata_keys.js.map +0 -1
  293. package/amd/container/container.js.map +0 -1
  294. package/amd/container/container_module.js.map +0 -1
  295. package/amd/container/container_snapshot.js.map +0 -1
  296. package/amd/container/lookup.js.map +0 -1
  297. package/amd/interfaces/interfaces.js.map +0 -1
  298. package/amd/inversify.js.map +0 -1
  299. package/amd/planning/context.js.map +0 -1
  300. package/amd/planning/metadata.js.map +0 -1
  301. package/amd/planning/metadata_reader.js.map +0 -1
  302. package/amd/planning/plan.js.map +0 -1
  303. package/amd/planning/planner.js.map +0 -1
  304. package/amd/planning/queryable_string.js.map +0 -1
  305. package/amd/planning/reflection_utils.js.map +0 -1
  306. package/amd/planning/request.js.map +0 -1
  307. package/amd/planning/target.js.map +0 -1
  308. package/amd/resolution/instantiation.js.map +0 -1
  309. package/amd/resolution/resolver.js.map +0 -1
  310. package/amd/syntax/binding_in_syntax.js.map +0 -1
  311. package/amd/syntax/binding_in_when_on_syntax.js.map +0 -1
  312. package/amd/syntax/binding_on_syntax.js.map +0 -1
  313. package/amd/syntax/binding_to_syntax.js.map +0 -1
  314. package/amd/syntax/binding_when_on_syntax.js.map +0 -1
  315. package/amd/syntax/binding_when_syntax.js.map +0 -1
  316. package/amd/syntax/constraint_helpers.js.map +0 -1
  317. package/amd/utils/binding_utils.js.map +0 -1
  318. package/amd/utils/exceptions.js.map +0 -1
  319. package/amd/utils/id.js.map +0 -1
  320. package/amd/utils/serialization.js.map +0 -1
  321. package/es/annotation/decorator_utils.js.map +0 -1
  322. package/es/annotation/inject.js.map +0 -1
  323. package/es/annotation/injectable.js.map +0 -1
  324. package/es/annotation/multi_inject.js.map +0 -1
  325. package/es/annotation/named.js.map +0 -1
  326. package/es/annotation/optional.js.map +0 -1
  327. package/es/annotation/post_construct.js.map +0 -1
  328. package/es/annotation/tagged.js.map +0 -1
  329. package/es/annotation/target_name.js.map +0 -1
  330. package/es/annotation/unmanaged.js.map +0 -1
  331. package/es/bindings/binding.js.map +0 -1
  332. package/es/bindings/binding_count.js.map +0 -1
  333. package/es/constants/error_msgs.js.map +0 -1
  334. package/es/constants/literal_types.js.map +0 -1
  335. package/es/constants/metadata_keys.js.map +0 -1
  336. package/es/container/container.js.map +0 -1
  337. package/es/container/container_module.js.map +0 -1
  338. package/es/container/container_snapshot.js.map +0 -1
  339. package/es/container/lookup.js.map +0 -1
  340. package/es/interfaces/interfaces.js.map +0 -1
  341. package/es/inversify.js.map +0 -1
  342. package/es/planning/context.js.map +0 -1
  343. package/es/planning/metadata.js.map +0 -1
  344. package/es/planning/metadata_reader.js.map +0 -1
  345. package/es/planning/plan.js.map +0 -1
  346. package/es/planning/planner.js.map +0 -1
  347. package/es/planning/queryable_string.js.map +0 -1
  348. package/es/planning/reflection_utils.js.map +0 -1
  349. package/es/planning/request.js.map +0 -1
  350. package/es/planning/target.js.map +0 -1
  351. package/es/resolution/instantiation.js.map +0 -1
  352. package/es/resolution/resolver.js.map +0 -1
  353. package/es/syntax/binding_in_syntax.js.map +0 -1
  354. package/es/syntax/binding_in_when_on_syntax.js.map +0 -1
  355. package/es/syntax/binding_on_syntax.js.map +0 -1
  356. package/es/syntax/binding_to_syntax.js.map +0 -1
  357. package/es/syntax/binding_when_on_syntax.js.map +0 -1
  358. package/es/syntax/binding_when_syntax.js.map +0 -1
  359. package/es/syntax/constraint_helpers.js.map +0 -1
  360. package/es/utils/binding_utils.js.map +0 -1
  361. package/es/utils/exceptions.js.map +0 -1
  362. package/es/utils/id.js.map +0 -1
  363. package/es/utils/serialization.js.map +0 -1
  364. package/es6/annotation/decorator_utils.js.map +0 -1
  365. package/es6/annotation/inject.js.map +0 -1
  366. package/es6/annotation/injectable.js.map +0 -1
  367. package/es6/annotation/multi_inject.js.map +0 -1
  368. package/es6/annotation/named.js.map +0 -1
  369. package/es6/annotation/optional.js.map +0 -1
  370. package/es6/annotation/post_construct.js.map +0 -1
  371. package/es6/annotation/tagged.js.map +0 -1
  372. package/es6/annotation/target_name.js.map +0 -1
  373. package/es6/annotation/unmanaged.js.map +0 -1
  374. package/es6/bindings/binding.js.map +0 -1
  375. package/es6/bindings/binding_count.js.map +0 -1
  376. package/es6/constants/error_msgs.js.map +0 -1
  377. package/es6/constants/literal_types.js.map +0 -1
  378. package/es6/constants/metadata_keys.js.map +0 -1
  379. package/es6/container/container.js.map +0 -1
  380. package/es6/container/container_module.js.map +0 -1
  381. package/es6/container/container_snapshot.js.map +0 -1
  382. package/es6/container/lookup.js.map +0 -1
  383. package/es6/interfaces/interfaces.js.map +0 -1
  384. package/es6/inversify.js.map +0 -1
  385. package/es6/planning/context.js.map +0 -1
  386. package/es6/planning/metadata.js.map +0 -1
  387. package/es6/planning/metadata_reader.js.map +0 -1
  388. package/es6/planning/plan.js.map +0 -1
  389. package/es6/planning/planner.js.map +0 -1
  390. package/es6/planning/queryable_string.js.map +0 -1
  391. package/es6/planning/reflection_utils.js.map +0 -1
  392. package/es6/planning/request.js.map +0 -1
  393. package/es6/planning/target.js.map +0 -1
  394. package/es6/resolution/instantiation.js.map +0 -1
  395. package/es6/resolution/resolver.js.map +0 -1
  396. package/es6/syntax/binding_in_syntax.js.map +0 -1
  397. package/es6/syntax/binding_in_when_on_syntax.js.map +0 -1
  398. package/es6/syntax/binding_on_syntax.js.map +0 -1
  399. package/es6/syntax/binding_to_syntax.js.map +0 -1
  400. package/es6/syntax/binding_when_on_syntax.js.map +0 -1
  401. package/es6/syntax/binding_when_syntax.js.map +0 -1
  402. package/es6/syntax/constraint_helpers.js.map +0 -1
  403. package/es6/utils/binding_utils.js.map +0 -1
  404. package/es6/utils/exceptions.js.map +0 -1
  405. package/es6/utils/id.js.map +0 -1
  406. package/es6/utils/serialization.js.map +0 -1
  407. package/lib/annotation/decorator_utils.js.map +0 -1
  408. package/lib/annotation/inject.js.map +0 -1
  409. package/lib/annotation/injectable.js.map +0 -1
  410. package/lib/annotation/multi_inject.js.map +0 -1
  411. package/lib/annotation/named.js.map +0 -1
  412. package/lib/annotation/optional.js.map +0 -1
  413. package/lib/annotation/post_construct.js.map +0 -1
  414. package/lib/annotation/tagged.js.map +0 -1
  415. package/lib/annotation/target_name.js.map +0 -1
  416. package/lib/annotation/unmanaged.js.map +0 -1
  417. package/lib/bindings/binding.js.map +0 -1
  418. package/lib/bindings/binding_count.js.map +0 -1
  419. package/lib/constants/error_msgs.js.map +0 -1
  420. package/lib/constants/literal_types.js.map +0 -1
  421. package/lib/constants/metadata_keys.js.map +0 -1
  422. package/lib/container/container.js.map +0 -1
  423. package/lib/container/container_module.js.map +0 -1
  424. package/lib/container/container_snapshot.js.map +0 -1
  425. package/lib/container/lookup.js.map +0 -1
  426. package/lib/interfaces/interfaces.js.map +0 -1
  427. package/lib/inversify.js.map +0 -1
  428. package/lib/planning/context.js.map +0 -1
  429. package/lib/planning/metadata.js.map +0 -1
  430. package/lib/planning/metadata_reader.js.map +0 -1
  431. package/lib/planning/plan.js.map +0 -1
  432. package/lib/planning/planner.js.map +0 -1
  433. package/lib/planning/queryable_string.js.map +0 -1
  434. package/lib/planning/reflection_utils.js.map +0 -1
  435. package/lib/planning/request.js.map +0 -1
  436. package/lib/planning/target.js.map +0 -1
  437. package/lib/resolution/instantiation.js.map +0 -1
  438. package/lib/resolution/resolver.js.map +0 -1
  439. package/lib/syntax/binding_in_syntax.js.map +0 -1
  440. package/lib/syntax/binding_in_when_on_syntax.js.map +0 -1
  441. package/lib/syntax/binding_on_syntax.js.map +0 -1
  442. package/lib/syntax/binding_to_syntax.js.map +0 -1
  443. package/lib/syntax/binding_when_on_syntax.js.map +0 -1
  444. package/lib/syntax/binding_when_syntax.js.map +0 -1
  445. package/lib/syntax/constraint_helpers.js.map +0 -1
  446. package/lib/utils/binding_utils.js.map +0 -1
  447. package/lib/utils/exceptions.js.map +0 -1
  448. package/lib/utils/id.js.map +0 -1
  449. package/lib/utils/serialization.js.map +0 -1
  450. package/mocha.opts +0 -3
@@ -1,132 +1,159 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
3
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
4
- to[j] = from[i];
5
- return to;
6
- };
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.getFunctionName = exports.getBaseClassDependencyCount = exports.getDependencies = void 0;
9
- var inject_1 = require("../annotation/inject");
10
- var ERROR_MSGS = require("../constants/error_msgs");
11
- var literal_types_1 = require("../constants/literal_types");
12
- var METADATA_KEY = require("../constants/metadata_keys");
13
- var serialization_1 = require("../utils/serialization");
14
- Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
15
- var target_1 = require("./target");
16
- function getDependencies(metadataReader, func) {
17
- var constructorName = serialization_1.getFunctionName(func);
18
- var targets = getTargets(metadataReader, constructorName, func, false);
19
- return targets;
20
- }
21
- exports.getDependencies = getDependencies;
22
- function getTargets(metadataReader, constructorName, func, isBaseClass) {
23
- var metadata = metadataReader.getConstructorMetadata(func);
24
- var serviceIdentifiers = metadata.compilerGeneratedMetadata;
25
- if (serviceIdentifiers === undefined) {
26
- var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + " " + constructorName + ".";
27
- throw new Error(msg);
28
- }
29
- var constructorArgsMetadata = metadata.userGeneratedMetadata;
30
- var keys = Object.keys(constructorArgsMetadata);
31
- var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);
32
- var hasOptionalParameters = keys.length > func.length;
33
- var iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;
34
- var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
35
- var propertyTargets = getClassPropsAsTargets(metadataReader, func);
36
- var targets = __spreadArray(__spreadArray([], constructorTargets), propertyTargets);
37
- return targets;
38
- }
39
- function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
40
- var targetMetadata = constructorArgsMetadata[index.toString()] || [];
41
- var metadata = formatTargetMetadata(targetMetadata);
42
- var isManaged = metadata.unmanaged !== true;
43
- var serviceIdentifier = serviceIdentifiers[index];
44
- var injectIdentifier = (metadata.inject || metadata.multiInject);
45
- serviceIdentifier = (injectIdentifier) ? (injectIdentifier) : serviceIdentifier;
46
- if (serviceIdentifier instanceof inject_1.LazyServiceIdentifer) {
47
- serviceIdentifier = serviceIdentifier.unwrap();
48
- }
49
- if (isManaged) {
50
- var isObject = serviceIdentifier === Object;
51
- var isFunction = serviceIdentifier === Function;
52
- var isUndefined = serviceIdentifier === undefined;
53
- var isUnknownType = (isObject || isFunction || isUndefined);
54
- if (!isBaseClass && isUnknownType) {
55
- var msg = ERROR_MSGS.MISSING_INJECT_ANNOTATION + " argument " + index + " in class " + constructorName + ".";
56
- throw new Error(msg);
57
- }
58
- var target = new target_1.Target(literal_types_1.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);
59
- target.metadata = targetMetadata;
60
- return target;
61
- }
62
- return null;
63
- }
64
- function getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {
65
- var targets = [];
66
- for (var i = 0; i < iterations; i++) {
67
- var index = i;
68
- var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);
69
- if (target !== null) {
70
- targets.push(target);
71
- }
72
- }
73
- return targets;
74
- }
75
- function getClassPropsAsTargets(metadataReader, constructorFunc) {
76
- var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);
77
- var targets = [];
78
- var keys = Object.keys(classPropsMetadata);
79
- for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
80
- var key = keys_1[_i];
81
- var targetMetadata = classPropsMetadata[key];
82
- var metadata = formatTargetMetadata(classPropsMetadata[key]);
83
- var targetName = metadata.targetName || key;
84
- var serviceIdentifier = (metadata.inject || metadata.multiInject);
85
- var target = new target_1.Target(literal_types_1.TargetTypeEnum.ClassProperty, targetName, serviceIdentifier);
86
- target.metadata = targetMetadata;
87
- targets.push(target);
88
- }
89
- var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
90
- if (baseConstructor !== Object) {
91
- var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor);
92
- targets = __spreadArray(__spreadArray([], targets), baseTargets);
93
- }
94
- return targets;
95
- }
96
- function getBaseClassDependencyCount(metadataReader, func) {
97
- var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
98
- if (baseConstructor !== Object) {
99
- var baseConstructorName = serialization_1.getFunctionName(baseConstructor);
100
- var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);
101
- var metadata = targets.map(function (t) {
102
- return t.metadata.filter(function (m) {
103
- return m.key === METADATA_KEY.UNMANAGED_TAG;
104
- });
105
- });
106
- var unmanagedCount = [].concat.apply([], metadata).length;
107
- var dependencyCount = targets.length - unmanagedCount;
108
- if (dependencyCount > 0) {
109
- return dependencyCount;
110
- }
111
- else {
112
- return getBaseClassDependencyCount(metadataReader, baseConstructor);
113
- }
114
- }
115
- else {
116
- return 0;
117
- }
118
- }
119
- exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
120
- function formatTargetMetadata(targetMetadata) {
121
- var targetMetadataMap = {};
122
- targetMetadata.forEach(function (m) {
123
- targetMetadataMap[m.key.toString()] = m.value;
124
- });
125
- return {
126
- inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],
127
- multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],
128
- targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],
129
- unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]
130
- };
131
- }
132
- //# sourceMappingURL=reflection_utils.js.map
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
22
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
23
+ if (ar || !(i in from)) {
24
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
25
+ ar[i] = from[i];
26
+ }
27
+ }
28
+ return to.concat(ar || Array.prototype.slice.call(from));
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.getFunctionName = exports.getBaseClassDependencyCount = exports.getDependencies = void 0;
32
+ var lazy_service_identifier_1 = require("../annotation/lazy_service_identifier");
33
+ var ERROR_MSGS = __importStar(require("../constants/error_msgs"));
34
+ var literal_types_1 = require("../constants/literal_types");
35
+ var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
36
+ var serialization_1 = require("../utils/serialization");
37
+ Object.defineProperty(exports, "getFunctionName", { enumerable: true, get: function () { return serialization_1.getFunctionName; } });
38
+ var target_1 = require("./target");
39
+ function getDependencies(metadataReader, func) {
40
+ var constructorName = (0, serialization_1.getFunctionName)(func);
41
+ return getTargets(metadataReader, constructorName, func, false);
42
+ }
43
+ exports.getDependencies = getDependencies;
44
+ function getTargets(metadataReader, constructorName, func, isBaseClass) {
45
+ var metadata = metadataReader.getConstructorMetadata(func);
46
+ var serviceIdentifiers = metadata.compilerGeneratedMetadata;
47
+ if (serviceIdentifiers === undefined) {
48
+ var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + " " + constructorName + ".";
49
+ throw new Error(msg);
50
+ }
51
+ var constructorArgsMetadata = metadata.userGeneratedMetadata;
52
+ var keys = Object.keys(constructorArgsMetadata);
53
+ var hasUserDeclaredUnknownInjections = (func.length === 0 && keys.length > 0);
54
+ var hasOptionalParameters = keys.length > func.length;
55
+ var iterations = (hasUserDeclaredUnknownInjections || hasOptionalParameters) ? keys.length : func.length;
56
+ var constructorTargets = getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations);
57
+ var propertyTargets = getClassPropsAsTargets(metadataReader, func, constructorName);
58
+ var targets = __spreadArray(__spreadArray([], constructorTargets, true), propertyTargets, true);
59
+ return targets;
60
+ }
61
+ function getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata) {
62
+ var targetMetadata = constructorArgsMetadata[index.toString()] || [];
63
+ var metadata = formatTargetMetadata(targetMetadata);
64
+ var isManaged = metadata.unmanaged !== true;
65
+ var serviceIdentifier = serviceIdentifiers[index];
66
+ var injectIdentifier = metadata.inject || metadata.multiInject;
67
+ serviceIdentifier = (injectIdentifier ? injectIdentifier : serviceIdentifier);
68
+ if (serviceIdentifier instanceof lazy_service_identifier_1.LazyServiceIdentifier) {
69
+ serviceIdentifier = serviceIdentifier.unwrap();
70
+ }
71
+ if (isManaged) {
72
+ var isObject = serviceIdentifier === Object;
73
+ var isFunction = serviceIdentifier === Function;
74
+ var isUndefined = serviceIdentifier === undefined;
75
+ var isUnknownType = isObject || isFunction || isUndefined;
76
+ if (!isBaseClass && isUnknownType) {
77
+ var msg = ERROR_MSGS.MISSING_INJECT_ANNOTATION + " argument " + index + " in class " + constructorName + ".";
78
+ throw new Error(msg);
79
+ }
80
+ var target = new target_1.Target(literal_types_1.TargetTypeEnum.ConstructorArgument, metadata.targetName, serviceIdentifier);
81
+ target.metadata = targetMetadata;
82
+ return target;
83
+ }
84
+ return null;
85
+ }
86
+ function getConstructorArgsAsTargets(isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata, iterations) {
87
+ var targets = [];
88
+ for (var i = 0; i < iterations; i++) {
89
+ var index = i;
90
+ var target = getConstructorArgsAsTarget(index, isBaseClass, constructorName, serviceIdentifiers, constructorArgsMetadata);
91
+ if (target !== null) {
92
+ targets.push(target);
93
+ }
94
+ }
95
+ return targets;
96
+ }
97
+ function _getServiceIdentifierForProperty(inject, multiInject, propertyName, className) {
98
+ var serviceIdentifier = (inject || multiInject);
99
+ if (serviceIdentifier === undefined) {
100
+ var msg = ERROR_MSGS.MISSING_INJECTABLE_ANNOTATION + " for property " + String(propertyName) + " in class " + className + ".";
101
+ throw new Error(msg);
102
+ }
103
+ return serviceIdentifier;
104
+ }
105
+ function getClassPropsAsTargets(metadataReader, constructorFunc, constructorName) {
106
+ var classPropsMetadata = metadataReader.getPropertiesMetadata(constructorFunc);
107
+ var targets = [];
108
+ var symbolKeys = Object.getOwnPropertySymbols(classPropsMetadata);
109
+ var stringKeys = Object.keys(classPropsMetadata);
110
+ var keys = stringKeys.concat(symbolKeys);
111
+ for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
112
+ var key = keys_1[_i];
113
+ var targetMetadata = classPropsMetadata[key];
114
+ var metadata = formatTargetMetadata(targetMetadata);
115
+ var identifier = metadata.targetName || key;
116
+ var serviceIdentifier = _getServiceIdentifierForProperty(metadata.inject, metadata.multiInject, key, constructorName);
117
+ var target = new target_1.Target(literal_types_1.TargetTypeEnum.ClassProperty, identifier, serviceIdentifier);
118
+ target.metadata = targetMetadata;
119
+ targets.push(target);
120
+ }
121
+ var baseConstructor = Object.getPrototypeOf(constructorFunc.prototype).constructor;
122
+ if (baseConstructor !== Object) {
123
+ var baseTargets = getClassPropsAsTargets(metadataReader, baseConstructor, constructorName);
124
+ targets = __spreadArray(__spreadArray([], targets, true), baseTargets, true);
125
+ }
126
+ return targets;
127
+ }
128
+ function getBaseClassDependencyCount(metadataReader, func) {
129
+ var baseConstructor = Object.getPrototypeOf(func.prototype).constructor;
130
+ if (baseConstructor !== Object) {
131
+ var baseConstructorName = (0, serialization_1.getFunctionName)(baseConstructor);
132
+ var targets = getTargets(metadataReader, baseConstructorName, baseConstructor, true);
133
+ var metadata = targets.map(function (t) { return t.metadata.filter(function (m) { return m.key === METADATA_KEY.UNMANAGED_TAG; }); });
134
+ var unmanagedCount = [].concat.apply([], metadata).length;
135
+ var dependencyCount = targets.length - unmanagedCount;
136
+ if (dependencyCount > 0) {
137
+ return dependencyCount;
138
+ }
139
+ else {
140
+ return getBaseClassDependencyCount(metadataReader, baseConstructor);
141
+ }
142
+ }
143
+ else {
144
+ return 0;
145
+ }
146
+ }
147
+ exports.getBaseClassDependencyCount = getBaseClassDependencyCount;
148
+ function formatTargetMetadata(targetMetadata) {
149
+ var targetMetadataMap = {};
150
+ targetMetadata.forEach(function (m) {
151
+ targetMetadataMap[m.key.toString()] = m.value;
152
+ });
153
+ return {
154
+ inject: targetMetadataMap[METADATA_KEY.INJECT_TAG],
155
+ multiInject: targetMetadataMap[METADATA_KEY.MULTI_INJECT_TAG],
156
+ targetName: targetMetadataMap[METADATA_KEY.NAME_TAG],
157
+ unmanaged: targetMetadataMap[METADATA_KEY.UNMANAGED_TAG]
158
+ };
159
+ }
@@ -1,14 +1,14 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- declare class Request implements interfaces.Request {
3
- id: number;
4
- serviceIdentifier: interfaces.ServiceIdentifier<any>;
5
- parentContext: interfaces.Context;
6
- parentRequest: interfaces.Request | null;
7
- bindings: interfaces.Binding<any>[];
8
- childRequests: interfaces.Request[];
9
- target: interfaces.Target;
10
- requestScope: interfaces.RequestScope;
11
- constructor(serviceIdentifier: interfaces.ServiceIdentifier<any>, parentContext: interfaces.Context, parentRequest: interfaces.Request | null, bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]), target: interfaces.Target);
12
- addChildRequest(serviceIdentifier: interfaces.ServiceIdentifier<any>, bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]), target: interfaces.Target): interfaces.Request;
13
- }
14
- export { Request };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ declare class Request implements interfaces.Request {
3
+ id: number;
4
+ serviceIdentifier: interfaces.ServiceIdentifier;
5
+ parentContext: interfaces.Context;
6
+ parentRequest: interfaces.Request | null;
7
+ bindings: interfaces.Binding<unknown>[];
8
+ childRequests: interfaces.Request[];
9
+ target: interfaces.Target;
10
+ requestScope: interfaces.RequestScope | null;
11
+ constructor(serviceIdentifier: interfaces.ServiceIdentifier, parentContext: interfaces.Context, parentRequest: interfaces.Request | null, bindings: (interfaces.Binding<any> | interfaces.Binding<any>[]), target: interfaces.Target);
12
+ addChildRequest(serviceIdentifier: interfaces.ServiceIdentifier, bindings: (interfaces.Binding<unknown> | interfaces.Binding<unknown>[]), target: interfaces.Target): interfaces.Request;
13
+ }
14
+ export { Request };
@@ -1,26 +1,25 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Request = void 0;
4
- var id_1 = require("../utils/id");
5
- var Request = (function () {
6
- function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
7
- this.id = id_1.id();
8
- this.serviceIdentifier = serviceIdentifier;
9
- this.parentContext = parentContext;
10
- this.parentRequest = parentRequest;
11
- this.target = target;
12
- this.childRequests = [];
13
- this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);
14
- this.requestScope = parentRequest === null
15
- ? new Map()
16
- : null;
17
- }
18
- Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
19
- var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
20
- this.childRequests.push(child);
21
- return child;
22
- };
23
- return Request;
24
- }());
25
- exports.Request = Request;
26
- //# sourceMappingURL=request.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Request = void 0;
4
+ var id_1 = require("../utils/id");
5
+ var Request = (function () {
6
+ function Request(serviceIdentifier, parentContext, parentRequest, bindings, target) {
7
+ this.id = (0, id_1.id)();
8
+ this.serviceIdentifier = serviceIdentifier;
9
+ this.parentContext = parentContext;
10
+ this.parentRequest = parentRequest;
11
+ this.target = target;
12
+ this.childRequests = [];
13
+ this.bindings = (Array.isArray(bindings) ? bindings : [bindings]);
14
+ this.requestScope = parentRequest === null
15
+ ? new Map()
16
+ : null;
17
+ }
18
+ Request.prototype.addChildRequest = function (serviceIdentifier, bindings, target) {
19
+ var child = new Request(serviceIdentifier, this.parentContext, this, bindings, target);
20
+ this.childRequests.push(child);
21
+ return child;
22
+ };
23
+ return Request;
24
+ }());
25
+ exports.Request = Request;
@@ -1,21 +1,23 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- import { Metadata } from "./metadata";
3
- declare class Target implements interfaces.Target {
4
- id: number;
5
- type: interfaces.TargetType;
6
- serviceIdentifier: interfaces.ServiceIdentifier<any>;
7
- name: interfaces.QueryableString;
8
- metadata: Metadata[];
9
- constructor(type: interfaces.TargetType, name: string, serviceIdentifier: interfaces.ServiceIdentifier<any>, namedOrTagged?: (string | Metadata));
10
- hasTag(key: string): boolean;
11
- isArray(): boolean;
12
- matchesArray(name: interfaces.ServiceIdentifier<any>): boolean;
13
- isNamed(): boolean;
14
- isTagged(): boolean;
15
- isOptional(): boolean;
16
- getNamedTag(): interfaces.Metadata | null;
17
- getCustomTags(): interfaces.Metadata[] | null;
18
- matchesNamedTag(name: string): boolean;
19
- matchesTag(key: string): (value: any) => boolean;
20
- }
21
- export { Target };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ import { Metadata } from './metadata';
3
+ declare class Target implements interfaces.Target {
4
+ id: number;
5
+ type: interfaces.TargetType;
6
+ serviceIdentifier: interfaces.ServiceIdentifier;
7
+ name: interfaces.QueryableString;
8
+ identifier: string | symbol;
9
+ key: string | symbol;
10
+ metadata: Metadata[];
11
+ constructor(type: interfaces.TargetType, identifier: string | symbol, serviceIdentifier: interfaces.ServiceIdentifier, namedOrTagged?: (string | Metadata));
12
+ hasTag(key: string): boolean;
13
+ isArray(): boolean;
14
+ matchesArray(name: interfaces.ServiceIdentifier<unknown>): boolean;
15
+ isNamed(): boolean;
16
+ isTagged(): boolean;
17
+ isOptional(): boolean;
18
+ getNamedTag(): interfaces.Metadata<string> | null;
19
+ getCustomTags(): interfaces.Metadata[] | null;
20
+ matchesNamedTag(name: string): boolean;
21
+ matchesTag(key: string): (value: unknown) => boolean;
22
+ }
23
+ export { Target };
@@ -1,82 +1,103 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Target = void 0;
4
- var METADATA_KEY = require("../constants/metadata_keys");
5
- var id_1 = require("../utils/id");
6
- var metadata_1 = require("./metadata");
7
- var queryable_string_1 = require("./queryable_string");
8
- var Target = (function () {
9
- function Target(type, name, serviceIdentifier, namedOrTagged) {
10
- this.id = id_1.id();
11
- this.type = type;
12
- this.serviceIdentifier = serviceIdentifier;
13
- this.name = new queryable_string_1.QueryableString(name || "");
14
- this.metadata = new Array();
15
- var metadataItem = null;
16
- if (typeof namedOrTagged === "string") {
17
- metadataItem = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);
18
- }
19
- else if (namedOrTagged instanceof metadata_1.Metadata) {
20
- metadataItem = namedOrTagged;
21
- }
22
- if (metadataItem !== null) {
23
- this.metadata.push(metadataItem);
24
- }
25
- }
26
- Target.prototype.hasTag = function (key) {
27
- for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {
28
- var m = _a[_i];
29
- if (m.key === key) {
30
- return true;
31
- }
32
- }
33
- return false;
34
- };
35
- Target.prototype.isArray = function () {
36
- return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);
37
- };
38
- Target.prototype.matchesArray = function (name) {
39
- return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);
40
- };
41
- Target.prototype.isNamed = function () {
42
- return this.hasTag(METADATA_KEY.NAMED_TAG);
43
- };
44
- Target.prototype.isTagged = function () {
45
- return this.metadata.some(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
46
- };
47
- Target.prototype.isOptional = function () {
48
- return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);
49
- };
50
- Target.prototype.getNamedTag = function () {
51
- if (this.isNamed()) {
52
- return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];
53
- }
54
- return null;
55
- };
56
- Target.prototype.getCustomTags = function () {
57
- if (this.isTagged()) {
58
- return this.metadata.filter(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
59
- }
60
- else {
61
- return null;
62
- }
63
- };
64
- Target.prototype.matchesNamedTag = function (name) {
65
- return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);
66
- };
67
- Target.prototype.matchesTag = function (key) {
68
- var _this = this;
69
- return function (value) {
70
- for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {
71
- var m = _a[_i];
72
- if (m.key === key && m.value === value) {
73
- return true;
74
- }
75
- }
76
- return false;
77
- };
78
- };
79
- return Target;
80
- }());
81
- exports.Target = Target;
82
- //# sourceMappingURL=target.js.map
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Target = void 0;
23
+ var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
24
+ var id_1 = require("../utils/id");
25
+ var serialization_1 = require("../utils/serialization");
26
+ var metadata_1 = require("./metadata");
27
+ var queryable_string_1 = require("./queryable_string");
28
+ var Target = (function () {
29
+ function Target(type, identifier, serviceIdentifier, namedOrTagged) {
30
+ this.id = (0, id_1.id)();
31
+ this.type = type;
32
+ this.serviceIdentifier = serviceIdentifier;
33
+ var queryableName = typeof identifier === 'symbol' ? (0, serialization_1.getSymbolDescription)(identifier) : identifier;
34
+ this.name = new queryable_string_1.QueryableString(queryableName || '');
35
+ this.identifier = identifier;
36
+ this.metadata = new Array();
37
+ var metadataItem = null;
38
+ if (typeof namedOrTagged === 'string') {
39
+ metadataItem = new metadata_1.Metadata(METADATA_KEY.NAMED_TAG, namedOrTagged);
40
+ }
41
+ else if (namedOrTagged instanceof metadata_1.Metadata) {
42
+ metadataItem = namedOrTagged;
43
+ }
44
+ if (metadataItem !== null) {
45
+ this.metadata.push(metadataItem);
46
+ }
47
+ }
48
+ Target.prototype.hasTag = function (key) {
49
+ for (var _i = 0, _a = this.metadata; _i < _a.length; _i++) {
50
+ var m = _a[_i];
51
+ if (m.key === key) {
52
+ return true;
53
+ }
54
+ }
55
+ return false;
56
+ };
57
+ Target.prototype.isArray = function () {
58
+ return this.hasTag(METADATA_KEY.MULTI_INJECT_TAG);
59
+ };
60
+ Target.prototype.matchesArray = function (name) {
61
+ return this.matchesTag(METADATA_KEY.MULTI_INJECT_TAG)(name);
62
+ };
63
+ Target.prototype.isNamed = function () {
64
+ return this.hasTag(METADATA_KEY.NAMED_TAG);
65
+ };
66
+ Target.prototype.isTagged = function () {
67
+ return this.metadata.some(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
68
+ };
69
+ Target.prototype.isOptional = function () {
70
+ return this.matchesTag(METADATA_KEY.OPTIONAL_TAG)(true);
71
+ };
72
+ Target.prototype.getNamedTag = function () {
73
+ if (this.isNamed()) {
74
+ return this.metadata.filter(function (m) { return m.key === METADATA_KEY.NAMED_TAG; })[0];
75
+ }
76
+ return null;
77
+ };
78
+ Target.prototype.getCustomTags = function () {
79
+ if (this.isTagged()) {
80
+ return this.metadata.filter(function (metadata) { return METADATA_KEY.NON_CUSTOM_TAG_KEYS.every(function (key) { return metadata.key !== key; }); });
81
+ }
82
+ else {
83
+ return null;
84
+ }
85
+ };
86
+ Target.prototype.matchesNamedTag = function (name) {
87
+ return this.matchesTag(METADATA_KEY.NAMED_TAG)(name);
88
+ };
89
+ Target.prototype.matchesTag = function (key) {
90
+ var _this = this;
91
+ return function (value) {
92
+ for (var _i = 0, _a = _this.metadata; _i < _a.length; _i++) {
93
+ var m = _a[_i];
94
+ if (m.key === key && m.value === value) {
95
+ return true;
96
+ }
97
+ }
98
+ return false;
99
+ };
100
+ };
101
+ return Target;
102
+ }());
103
+ exports.Target = Target;
@@ -1,3 +1,3 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- declare function resolveInstance(constr: interfaces.Newable<any>, childRequests: interfaces.Request[], resolveRequest: interfaces.ResolveRequestHandler): any;
3
- export { resolveInstance };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ declare function resolveInstance<T>(binding: interfaces.Binding<T>, constr: interfaces.Newable<T>, childRequests: interfaces.Request[], resolveRequest: interfaces.ResolveRequestHandler): T | Promise<T>;
3
+ export { resolveInstance };