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,104 +1,126 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.circularDependencyToException = exports.listMetadataForTarget = exports.listRegisteredBindingsForServiceIdentifier = exports.getServiceIdentifierAsString = exports.getFunctionName = void 0;
4
- const ERROR_MSGS = require("../constants/error_msgs");
5
- function getServiceIdentifierAsString(serviceIdentifier) {
6
- if (typeof serviceIdentifier === "function") {
7
- const _serviceIdentifier = serviceIdentifier;
8
- return _serviceIdentifier.name;
9
- }
10
- else if (typeof serviceIdentifier === "symbol") {
11
- return serviceIdentifier.toString();
12
- }
13
- else {
14
- const _serviceIdentifier = serviceIdentifier;
15
- return _serviceIdentifier;
16
- }
17
- }
18
- exports.getServiceIdentifierAsString = getServiceIdentifierAsString;
19
- function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {
20
- let registeredBindingsList = "";
21
- const registeredBindings = getBindings(container, serviceIdentifier);
22
- if (registeredBindings.length !== 0) {
23
- registeredBindingsList = "\nRegistered bindings:";
24
- registeredBindings.forEach((binding) => {
25
- let name = "Object";
26
- if (binding.implementationType !== null) {
27
- name = getFunctionName(binding.implementationType);
28
- }
29
- registeredBindingsList = `${registeredBindingsList}\n ${name}`;
30
- if (binding.constraint.metaData) {
31
- registeredBindingsList = `${registeredBindingsList} - ${binding.constraint.metaData}`;
32
- }
33
- });
34
- }
35
- return registeredBindingsList;
36
- }
37
- exports.listRegisteredBindingsForServiceIdentifier = listRegisteredBindingsForServiceIdentifier;
38
- function alreadyDependencyChain(request, serviceIdentifier) {
39
- if (request.parentRequest === null) {
40
- return false;
41
- }
42
- else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {
43
- return true;
44
- }
45
- else {
46
- return alreadyDependencyChain(request.parentRequest, serviceIdentifier);
47
- }
48
- }
49
- function dependencyChainToString(request) {
50
- function _createStringArr(req, result = []) {
51
- const serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);
52
- result.push(serviceIdentifier);
53
- if (req.parentRequest !== null) {
54
- return _createStringArr(req.parentRequest, result);
55
- }
56
- return result;
57
- }
58
- const stringArr = _createStringArr(request);
59
- return stringArr.reverse().join(" --> ");
60
- }
61
- function circularDependencyToException(request) {
62
- request.childRequests.forEach((childRequest) => {
63
- if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {
64
- const services = dependencyChainToString(childRequest);
65
- throw new Error(`${ERROR_MSGS.CIRCULAR_DEPENDENCY} ${services}`);
66
- }
67
- else {
68
- circularDependencyToException(childRequest);
69
- }
70
- });
71
- }
72
- exports.circularDependencyToException = circularDependencyToException;
73
- function listMetadataForTarget(serviceIdentifierString, target) {
74
- if (target.isTagged() || target.isNamed()) {
75
- let m = "";
76
- const namedTag = target.getNamedTag();
77
- const otherTags = target.getCustomTags();
78
- if (namedTag !== null) {
79
- m += namedTag.toString() + "\n";
80
- }
81
- if (otherTags !== null) {
82
- otherTags.forEach((tag) => {
83
- m += tag.toString() + "\n";
84
- });
85
- }
86
- return ` ${serviceIdentifierString}\n ${serviceIdentifierString} - ${m}`;
87
- }
88
- else {
89
- return ` ${serviceIdentifierString}`;
90
- }
91
- }
92
- exports.listMetadataForTarget = listMetadataForTarget;
93
- function getFunctionName(v) {
94
- if (v.name) {
95
- return v.name;
96
- }
97
- else {
98
- const name = v.toString();
99
- const match = name.match(/^function\s*([^\s(]+)/);
100
- return match ? match[1] : `Anonymous function: ${name}`;
101
- }
102
- }
103
- exports.getFunctionName = getFunctionName;
104
- //# sourceMappingURL=serialization.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.getSymbolDescription = exports.circularDependencyToException = exports.listMetadataForTarget = exports.listRegisteredBindingsForServiceIdentifier = exports.getServiceIdentifierAsString = exports.getFunctionName = void 0;
23
+ const ERROR_MSGS = __importStar(require("../constants/error_msgs"));
24
+ function getServiceIdentifierAsString(serviceIdentifier) {
25
+ if (typeof serviceIdentifier === 'function') {
26
+ const _serviceIdentifier = serviceIdentifier;
27
+ return _serviceIdentifier.name;
28
+ }
29
+ else if (typeof serviceIdentifier === 'symbol') {
30
+ return serviceIdentifier.toString();
31
+ }
32
+ else {
33
+ const _serviceIdentifier = serviceIdentifier;
34
+ return _serviceIdentifier;
35
+ }
36
+ }
37
+ exports.getServiceIdentifierAsString = getServiceIdentifierAsString;
38
+ function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {
39
+ let registeredBindingsList = '';
40
+ const registeredBindings = getBindings(container, serviceIdentifier);
41
+ if (registeredBindings.length !== 0) {
42
+ registeredBindingsList = '\nRegistered bindings:';
43
+ registeredBindings.forEach((binding) => {
44
+ let name = 'Object';
45
+ if (binding.implementationType !== null) {
46
+ name = getFunctionName(binding.implementationType);
47
+ }
48
+ registeredBindingsList = `${registeredBindingsList}\n ${name}`;
49
+ if (binding.constraint.metaData) {
50
+ registeredBindingsList = `${registeredBindingsList} - ${binding.constraint.metaData}`;
51
+ }
52
+ });
53
+ }
54
+ return registeredBindingsList;
55
+ }
56
+ exports.listRegisteredBindingsForServiceIdentifier = listRegisteredBindingsForServiceIdentifier;
57
+ function alreadyDependencyChain(request, serviceIdentifier) {
58
+ if (request.parentRequest === null) {
59
+ return false;
60
+ }
61
+ else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {
62
+ return true;
63
+ }
64
+ else {
65
+ return alreadyDependencyChain(request.parentRequest, serviceIdentifier);
66
+ }
67
+ }
68
+ function dependencyChainToString(request) {
69
+ function _createStringArr(req, result = []) {
70
+ const serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);
71
+ result.push(serviceIdentifier);
72
+ if (req.parentRequest !== null) {
73
+ return _createStringArr(req.parentRequest, result);
74
+ }
75
+ return result;
76
+ }
77
+ const stringArr = _createStringArr(request);
78
+ return stringArr.reverse().join(' --> ');
79
+ }
80
+ function circularDependencyToException(request) {
81
+ request.childRequests.forEach((childRequest) => {
82
+ if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {
83
+ const services = dependencyChainToString(childRequest);
84
+ throw new Error(`${ERROR_MSGS.CIRCULAR_DEPENDENCY} ${services}`);
85
+ }
86
+ else {
87
+ circularDependencyToException(childRequest);
88
+ }
89
+ });
90
+ }
91
+ exports.circularDependencyToException = circularDependencyToException;
92
+ function listMetadataForTarget(serviceIdentifierString, target) {
93
+ if (target.isTagged() || target.isNamed()) {
94
+ let m = '';
95
+ const namedTag = target.getNamedTag();
96
+ const otherTags = target.getCustomTags();
97
+ if (namedTag !== null) {
98
+ m += namedTag.toString() + '\n';
99
+ }
100
+ if (otherTags !== null) {
101
+ otherTags.forEach((tag) => {
102
+ m += tag.toString() + '\n';
103
+ });
104
+ }
105
+ return ` ${serviceIdentifierString}\n ${serviceIdentifierString} - ${m}`;
106
+ }
107
+ else {
108
+ return ` ${serviceIdentifierString}`;
109
+ }
110
+ }
111
+ exports.listMetadataForTarget = listMetadataForTarget;
112
+ function getFunctionName(func) {
113
+ if (func.name) {
114
+ return func.name;
115
+ }
116
+ else {
117
+ const name = func.toString();
118
+ const match = name.match(/^function\s*([^\s(]+)/);
119
+ return match ? match[1] : `Anonymous function: ${name}`;
120
+ }
121
+ }
122
+ exports.getFunctionName = getFunctionName;
123
+ function getSymbolDescription(symbol) {
124
+ return symbol.toString().slice(7, -1);
125
+ }
126
+ exports.getSymbolDescription = getSymbolDescription;
@@ -1,5 +1,16 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- declare function tagParameter(annotationTarget: any, propertyName: string, parameterIndex: number, metadata: interfaces.Metadata): void;
3
- declare function tagProperty(annotationTarget: any, propertyName: string, metadata: interfaces.Metadata): void;
4
- declare function decorate(decorator: (ClassDecorator | ParameterDecorator | MethodDecorator), target: any, parameterIndex?: number | string): void;
5
- export { decorate, tagParameter, tagProperty };
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ declare type Prototype<T> = {
3
+ [Property in keyof T]: T[Property] extends NewableFunction ? T[Property] : T[Property] | undefined;
4
+ } & {
5
+ constructor: NewableFunction;
6
+ };
7
+ interface ConstructorFunction<T = Record<string, unknown>> {
8
+ new (...args: unknown[]): T;
9
+ prototype: Prototype<T>;
10
+ }
11
+ export declare type DecoratorTarget<T = unknown> = ConstructorFunction<T> | Prototype<T>;
12
+ declare function tagParameter(annotationTarget: DecoratorTarget, parameterName: string | symbol | undefined, parameterIndex: number, metadata: interfaces.MetadataOrMetadataArray): void;
13
+ declare function tagProperty(annotationTarget: DecoratorTarget, propertyName: string | symbol, metadata: interfaces.MetadataOrMetadataArray): void;
14
+ declare function createTaggedDecorator(metadata: interfaces.MetadataOrMetadataArray): <T>(target: DecoratorTarget, targetKey?: string | symbol | undefined, indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T> | undefined) => void;
15
+ declare function decorate(decorator: (DecoratorTarget | ParameterDecorator | MethodDecorator), target: object, parameterIndexOrProperty?: number | string): void;
16
+ export { decorate, tagParameter, tagProperty, createTaggedDecorator };
@@ -1,60 +1,113 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tagProperty = exports.tagParameter = exports.decorate = void 0;
4
- var ERROR_MSGS = require("../constants/error_msgs");
5
- var METADATA_KEY = require("../constants/metadata_keys");
6
- function tagParameter(annotationTarget, propertyName, parameterIndex, metadata) {
7
- var metadataKey = METADATA_KEY.TAGGED;
8
- _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex);
9
- }
10
- exports.tagParameter = tagParameter;
11
- function tagProperty(annotationTarget, propertyName, metadata) {
12
- var metadataKey = METADATA_KEY.TAGGED_PROP;
13
- _tagParameterOrProperty(metadataKey, annotationTarget.constructor, propertyName, metadata);
14
- }
15
- exports.tagProperty = tagProperty;
16
- function _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex) {
17
- var paramsOrPropertiesMetadata = {};
18
- var isParameterDecorator = (typeof parameterIndex === "number");
19
- var key = (parameterIndex !== undefined && isParameterDecorator) ? parameterIndex.toString() : propertyName;
20
- if (isParameterDecorator && propertyName !== undefined) {
21
- throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
22
- }
23
- if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {
24
- paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);
25
- }
26
- var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];
27
- if (!Array.isArray(paramOrPropertyMetadata)) {
28
- paramOrPropertyMetadata = [];
29
- }
30
- else {
31
- for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {
32
- var m = paramOrPropertyMetadata_1[_i];
33
- if (m.key === metadata.key) {
34
- throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + m.key.toString());
35
- }
36
- }
37
- }
38
- paramOrPropertyMetadata.push(metadata);
39
- paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;
40
- Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);
41
- }
42
- function _decorate(decorators, target) {
43
- Reflect.decorate(decorators, target);
44
- }
45
- function _param(paramIndex, decorator) {
46
- return function (target, key) { decorator(target, key, paramIndex); };
47
- }
48
- function decorate(decorator, target, parameterIndex) {
49
- if (typeof parameterIndex === "number") {
50
- _decorate([_param(parameterIndex, decorator)], target);
51
- }
52
- else if (typeof parameterIndex === "string") {
53
- Reflect.decorate([decorator], target, parameterIndex);
54
- }
55
- else {
56
- _decorate([decorator], target);
57
- }
58
- }
59
- exports.decorate = decorate;
60
- //# sourceMappingURL=decorator_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
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.createTaggedDecorator = exports.tagProperty = exports.tagParameter = exports.decorate = void 0;
23
+ var ERROR_MSGS = __importStar(require("../constants/error_msgs"));
24
+ var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
25
+ var js_1 = require("../utils/js");
26
+ function targetIsConstructorFunction(target) {
27
+ return target.prototype !== undefined;
28
+ }
29
+ function _throwIfMethodParameter(parameterName) {
30
+ if (parameterName !== undefined) {
31
+ throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
32
+ }
33
+ }
34
+ function tagParameter(annotationTarget, parameterName, parameterIndex, metadata) {
35
+ _throwIfMethodParameter(parameterName);
36
+ _tagParameterOrProperty(METADATA_KEY.TAGGED, annotationTarget, parameterIndex.toString(), metadata);
37
+ }
38
+ exports.tagParameter = tagParameter;
39
+ function tagProperty(annotationTarget, propertyName, metadata) {
40
+ if (targetIsConstructorFunction(annotationTarget)) {
41
+ throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
42
+ }
43
+ _tagParameterOrProperty(METADATA_KEY.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata);
44
+ }
45
+ exports.tagProperty = tagProperty;
46
+ function _ensureNoMetadataKeyDuplicates(metadata) {
47
+ var metadatas = [];
48
+ if (Array.isArray(metadata)) {
49
+ metadatas = metadata;
50
+ var duplicate = (0, js_1.getFirstArrayDuplicate)(metadatas.map(function (md) { return md.key; }));
51
+ if (duplicate !== undefined) {
52
+ throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + duplicate.toString());
53
+ }
54
+ }
55
+ else {
56
+ metadatas = [metadata];
57
+ }
58
+ return metadatas;
59
+ }
60
+ function _tagParameterOrProperty(metadataKey, annotationTarget, key, metadata) {
61
+ var metadatas = _ensureNoMetadataKeyDuplicates(metadata);
62
+ var paramsOrPropertiesMetadata = {};
63
+ if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {
64
+ paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);
65
+ }
66
+ var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];
67
+ if (paramOrPropertyMetadata === undefined) {
68
+ paramOrPropertyMetadata = [];
69
+ }
70
+ else {
71
+ var _loop_1 = function (m) {
72
+ if (metadatas.some(function (md) { return md.key === m.key; })) {
73
+ throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + m.key.toString());
74
+ }
75
+ };
76
+ for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {
77
+ var m = paramOrPropertyMetadata_1[_i];
78
+ _loop_1(m);
79
+ }
80
+ }
81
+ paramOrPropertyMetadata.push.apply(paramOrPropertyMetadata, metadatas);
82
+ paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;
83
+ Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);
84
+ }
85
+ function createTaggedDecorator(metadata) {
86
+ return function (target, targetKey, indexOrPropertyDescriptor) {
87
+ if (typeof indexOrPropertyDescriptor === 'number') {
88
+ tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);
89
+ }
90
+ else {
91
+ tagProperty(target, targetKey, metadata);
92
+ }
93
+ };
94
+ }
95
+ exports.createTaggedDecorator = createTaggedDecorator;
96
+ function _decorate(decorators, target) {
97
+ Reflect.decorate(decorators, target);
98
+ }
99
+ function _param(paramIndex, decorator) {
100
+ return function (target, key) { decorator(target, key, paramIndex); };
101
+ }
102
+ function decorate(decorator, target, parameterIndexOrProperty) {
103
+ if (typeof parameterIndexOrProperty === 'number') {
104
+ _decorate([_param(parameterIndexOrProperty, decorator)], target);
105
+ }
106
+ else if (typeof parameterIndexOrProperty === 'string') {
107
+ Reflect.decorate([decorator], target, parameterIndexOrProperty);
108
+ }
109
+ else {
110
+ _decorate([decorator], target);
111
+ }
112
+ }
113
+ exports.decorate = decorate;
@@ -1,9 +1,2 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- export declare type ServiceIdentifierOrFunc = interfaces.ServiceIdentifier<any> | LazyServiceIdentifer;
3
- export declare class LazyServiceIdentifer<T = any> {
4
- private _cb;
5
- constructor(cb: () => interfaces.ServiceIdentifier<T>);
6
- unwrap(): interfaces.ServiceIdentifier<T>;
7
- }
8
- declare function inject(serviceIdentifier: ServiceIdentifierOrFunc): (target: any, targetKey: string, index?: number | PropertyDescriptor | undefined) => void;
9
- export { inject };
1
+ declare const inject: <T = unknown>(serviceIdentifier: import("./lazy_service_identifier").ServiceIdentifierOrFunc<T>) => (target: import("./decorator_utils").DecoratorTarget<unknown>, targetKey?: string | symbol | undefined, indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T> | undefined) => void;
2
+ export { inject };
@@ -1,33 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inject = exports.LazyServiceIdentifer = void 0;
4
- var error_msgs_1 = require("../constants/error_msgs");
5
- var METADATA_KEY = require("../constants/metadata_keys");
6
- var metadata_1 = require("../planning/metadata");
7
- var decorator_utils_1 = require("./decorator_utils");
8
- var LazyServiceIdentifer = (function () {
9
- function LazyServiceIdentifer(cb) {
10
- this._cb = cb;
11
- }
12
- LazyServiceIdentifer.prototype.unwrap = function () {
13
- return this._cb();
14
- };
15
- return LazyServiceIdentifer;
16
- }());
17
- exports.LazyServiceIdentifer = LazyServiceIdentifer;
18
- function inject(serviceIdentifier) {
19
- return function (target, targetKey, index) {
20
- if (serviceIdentifier === undefined) {
21
- throw new Error(error_msgs_1.UNDEFINED_INJECT_ANNOTATION(target.name));
22
- }
23
- var metadata = new metadata_1.Metadata(METADATA_KEY.INJECT_TAG, serviceIdentifier);
24
- if (typeof index === "number") {
25
- decorator_utils_1.tagParameter(target, targetKey, index, metadata);
26
- }
27
- else {
28
- decorator_utils_1.tagProperty(target, targetKey, metadata);
29
- }
30
- };
31
- }
32
- exports.inject = inject;
33
- //# sourceMappingURL=inject.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.inject = void 0;
23
+ var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
24
+ var inject_base_1 = require("./inject_base");
25
+ var inject = (0, inject_base_1.injectBase)(METADATA_KEY.INJECT_TAG);
26
+ exports.inject = inject;
@@ -0,0 +1,3 @@
1
+ import { DecoratorTarget } from './decorator_utils';
2
+ import { ServiceIdentifierOrFunc } from './lazy_service_identifier';
3
+ export declare function injectBase(metadataKey: string): <T = unknown>(serviceIdentifier: ServiceIdentifierOrFunc<T>) => (target: DecoratorTarget, targetKey?: string | symbol | undefined, indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T> | undefined) => void;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectBase = void 0;
4
+ var error_msgs_1 = require("../constants/error_msgs");
5
+ var metadata_1 = require("../planning/metadata");
6
+ var decorator_utils_1 = require("./decorator_utils");
7
+ function injectBase(metadataKey) {
8
+ return function (serviceIdentifier) {
9
+ return function (target, targetKey, indexOrPropertyDescriptor) {
10
+ if (serviceIdentifier === undefined) {
11
+ var className = typeof target === 'function' ? target.name : target.constructor.name;
12
+ throw new Error((0, error_msgs_1.UNDEFINED_INJECT_ANNOTATION)(className));
13
+ }
14
+ return (0, decorator_utils_1.createTaggedDecorator)(new metadata_1.Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor);
15
+ };
16
+ };
17
+ }
18
+ exports.injectBase = injectBase;
@@ -1,2 +1,2 @@
1
- declare function injectable(): (target: any) => any;
2
- export { injectable };
1
+ declare function injectable(): <T extends abstract new (...args: any) => unknown>(target: T) => T;
2
+ export { injectable };
@@ -1,17 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.injectable = void 0;
4
- var ERRORS_MSGS = require("../constants/error_msgs");
5
- var METADATA_KEY = require("../constants/metadata_keys");
6
- function injectable() {
7
- return function (target) {
8
- if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {
9
- throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);
10
- }
11
- var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];
12
- Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);
13
- return target;
14
- };
15
- }
16
- exports.injectable = injectable;
17
- //# sourceMappingURL=injectable.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.injectable = void 0;
23
+ var ERRORS_MSGS = __importStar(require("../constants/error_msgs"));
24
+ var METADATA_KEY = __importStar(require("../constants/metadata_keys"));
25
+ function injectable() {
26
+ return function (target) {
27
+ if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {
28
+ throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);
29
+ }
30
+ var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];
31
+ Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);
32
+ return target;
33
+ };
34
+ }
35
+ exports.injectable = injectable;
@@ -0,0 +1,7 @@
1
+ import { interfaces } from '../interfaces/interfaces';
2
+ export declare type ServiceIdentifierOrFunc<T> = interfaces.ServiceIdentifier<T> | LazyServiceIdentifier<T>;
3
+ export declare class LazyServiceIdentifier<T = unknown> {
4
+ private _cb;
5
+ constructor(cb: () => interfaces.ServiceIdentifier<T>);
6
+ unwrap(): interfaces.ServiceIdentifier<T>;
7
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LazyServiceIdentifier = void 0;
4
+ var LazyServiceIdentifier = (function () {
5
+ function LazyServiceIdentifier(cb) {
6
+ this._cb = cb;
7
+ }
8
+ LazyServiceIdentifier.prototype.unwrap = function () {
9
+ return this._cb();
10
+ };
11
+ return LazyServiceIdentifier;
12
+ }());
13
+ exports.LazyServiceIdentifier = LazyServiceIdentifier;
@@ -1,3 +1,2 @@
1
- import { interfaces } from "../interfaces/interfaces";
2
- declare function multiInject(serviceIdentifier: interfaces.ServiceIdentifier<any>): (target: any, targetKey: string, index?: number | undefined) => void;
3
- export { multiInject };
1
+ declare const multiInject: <T = unknown>(serviceIdentifier: import("./lazy_service_identifier").ServiceIdentifierOrFunc<T>) => (target: import("./decorator_utils").DecoratorTarget<unknown>, targetKey?: string | symbol | undefined, indexOrPropertyDescriptor?: number | TypedPropertyDescriptor<T> | undefined) => void;
2
+ export { multiInject };