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
@@ -0,0 +1,11 @@
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FactoryType = void 0;
5
+ var FactoryType;
6
+ (function (FactoryType) {
7
+ FactoryType["DynamicValue"] = "toDynamicValue";
8
+ FactoryType["Factory"] = "toFactory";
9
+ FactoryType["Provider"] = "toProvider";
10
+ })(FactoryType = exports.FactoryType || (exports.FactoryType = {}));
11
+ });
package/amd/utils/id.js CHANGED
@@ -1,11 +1,10 @@
1
- define(["require", "exports"], function (require, exports) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.id = void 0;
5
- var idCounter = 0;
6
- function id() {
7
- return idCounter++;
8
- }
9
- exports.id = id;
10
- });
11
- //# sourceMappingURL=id.js.map
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.id = void 0;
5
+ var idCounter = 0;
6
+ function id() {
7
+ return idCounter++;
8
+ }
9
+ exports.id = id;
10
+ });
@@ -0,0 +1,19 @@
1
+ define(["require", "exports"], function (require, exports) {
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getFirstArrayDuplicate = void 0;
5
+ function getFirstArrayDuplicate(array) {
6
+ var seenValues = new Set();
7
+ for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {
8
+ var entry = array_1[_i];
9
+ if (seenValues.has(entry)) {
10
+ return entry;
11
+ }
12
+ else {
13
+ seenValues.add(entry);
14
+ }
15
+ }
16
+ return undefined;
17
+ }
18
+ exports.getFirstArrayDuplicate = getFirstArrayDuplicate;
19
+ });
@@ -1,106 +1,129 @@
1
- define(["require", "exports", "../constants/error_msgs"], function (require, exports, ERROR_MSGS) {
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.circularDependencyToException = exports.listMetadataForTarget = exports.listRegisteredBindingsForServiceIdentifier = exports.getServiceIdentifierAsString = exports.getFunctionName = void 0;
5
- function getServiceIdentifierAsString(serviceIdentifier) {
6
- if (typeof serviceIdentifier === "function") {
7
- var _serviceIdentifier = serviceIdentifier;
8
- return _serviceIdentifier.name;
9
- }
10
- else if (typeof serviceIdentifier === "symbol") {
11
- return serviceIdentifier.toString();
12
- }
13
- else {
14
- var _serviceIdentifier = serviceIdentifier;
15
- return _serviceIdentifier;
16
- }
17
- }
18
- exports.getServiceIdentifierAsString = getServiceIdentifierAsString;
19
- function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {
20
- var registeredBindingsList = "";
21
- var registeredBindings = getBindings(container, serviceIdentifier);
22
- if (registeredBindings.length !== 0) {
23
- registeredBindingsList = "\nRegistered bindings:";
24
- registeredBindings.forEach(function (binding) {
25
- var 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
- if (result === void 0) { result = []; }
52
- var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);
53
- result.push(serviceIdentifier);
54
- if (req.parentRequest !== null) {
55
- return _createStringArr(req.parentRequest, result);
56
- }
57
- return result;
58
- }
59
- var stringArr = _createStringArr(request);
60
- return stringArr.reverse().join(" --> ");
61
- }
62
- function circularDependencyToException(request) {
63
- request.childRequests.forEach(function (childRequest) {
64
- if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {
65
- var services = dependencyChainToString(childRequest);
66
- throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY + " " + services);
67
- }
68
- else {
69
- circularDependencyToException(childRequest);
70
- }
71
- });
72
- }
73
- exports.circularDependencyToException = circularDependencyToException;
74
- function listMetadataForTarget(serviceIdentifierString, target) {
75
- if (target.isTagged() || target.isNamed()) {
76
- var m_1 = "";
77
- var namedTag = target.getNamedTag();
78
- var otherTags = target.getCustomTags();
79
- if (namedTag !== null) {
80
- m_1 += namedTag.toString() + "\n";
81
- }
82
- if (otherTags !== null) {
83
- otherTags.forEach(function (tag) {
84
- m_1 += tag.toString() + "\n";
85
- });
86
- }
87
- return " " + serviceIdentifierString + "\n " + serviceIdentifierString + " - " + m_1;
88
- }
89
- else {
90
- return " " + serviceIdentifierString;
91
- }
92
- }
93
- exports.listMetadataForTarget = listMetadataForTarget;
94
- function getFunctionName(v) {
95
- if (v.name) {
96
- return v.name;
97
- }
98
- else {
99
- var name_1 = v.toString();
100
- var match = name_1.match(/^function\s*([^\s(]+)/);
101
- return match ? match[1] : "Anonymous function: " + name_1;
102
- }
103
- }
104
- exports.getFunctionName = getFunctionName;
105
- });
106
- //# sourceMappingURL=serialization.js.map
1
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
+ if (k2 === undefined) k2 = k;
3
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ }) : (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ o[k2] = m[k];
7
+ }));
8
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
9
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
10
+ }) : function(o, v) {
11
+ o["default"] = v;
12
+ });
13
+ var __importStar = (this && this.__importStar) || function (mod) {
14
+ if (mod && mod.__esModule) return mod;
15
+ var result = {};
16
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
17
+ __setModuleDefault(result, mod);
18
+ return result;
19
+ };
20
+ define(["require", "exports", "../constants/error_msgs"], function (require, exports, ERROR_MSGS) {
21
+ "use strict";
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.getSymbolDescription = exports.circularDependencyToException = exports.listMetadataForTarget = exports.listRegisteredBindingsForServiceIdentifier = exports.getServiceIdentifierAsString = exports.getFunctionName = void 0;
24
+ ERROR_MSGS = __importStar(ERROR_MSGS);
25
+ function getServiceIdentifierAsString(serviceIdentifier) {
26
+ if (typeof serviceIdentifier === 'function') {
27
+ var _serviceIdentifier = serviceIdentifier;
28
+ return _serviceIdentifier.name;
29
+ }
30
+ else if (typeof serviceIdentifier === 'symbol') {
31
+ return serviceIdentifier.toString();
32
+ }
33
+ else {
34
+ var _serviceIdentifier = serviceIdentifier;
35
+ return _serviceIdentifier;
36
+ }
37
+ }
38
+ exports.getServiceIdentifierAsString = getServiceIdentifierAsString;
39
+ function listRegisteredBindingsForServiceIdentifier(container, serviceIdentifier, getBindings) {
40
+ var registeredBindingsList = '';
41
+ var registeredBindings = getBindings(container, serviceIdentifier);
42
+ if (registeredBindings.length !== 0) {
43
+ registeredBindingsList = '\nRegistered bindings:';
44
+ registeredBindings.forEach(function (binding) {
45
+ var name = 'Object';
46
+ if (binding.implementationType !== null) {
47
+ name = getFunctionName(binding.implementationType);
48
+ }
49
+ registeredBindingsList = registeredBindingsList + "\n " + name;
50
+ if (binding.constraint.metaData) {
51
+ registeredBindingsList = registeredBindingsList + " - " + binding.constraint.metaData;
52
+ }
53
+ });
54
+ }
55
+ return registeredBindingsList;
56
+ }
57
+ exports.listRegisteredBindingsForServiceIdentifier = listRegisteredBindingsForServiceIdentifier;
58
+ function alreadyDependencyChain(request, serviceIdentifier) {
59
+ if (request.parentRequest === null) {
60
+ return false;
61
+ }
62
+ else if (request.parentRequest.serviceIdentifier === serviceIdentifier) {
63
+ return true;
64
+ }
65
+ else {
66
+ return alreadyDependencyChain(request.parentRequest, serviceIdentifier);
67
+ }
68
+ }
69
+ function dependencyChainToString(request) {
70
+ function _createStringArr(req, result) {
71
+ if (result === void 0) { result = []; }
72
+ var serviceIdentifier = getServiceIdentifierAsString(req.serviceIdentifier);
73
+ result.push(serviceIdentifier);
74
+ if (req.parentRequest !== null) {
75
+ return _createStringArr(req.parentRequest, result);
76
+ }
77
+ return result;
78
+ }
79
+ var stringArr = _createStringArr(request);
80
+ return stringArr.reverse().join(' --> ');
81
+ }
82
+ function circularDependencyToException(request) {
83
+ request.childRequests.forEach(function (childRequest) {
84
+ if (alreadyDependencyChain(childRequest, childRequest.serviceIdentifier)) {
85
+ var services = dependencyChainToString(childRequest);
86
+ throw new Error(ERROR_MSGS.CIRCULAR_DEPENDENCY + " " + services);
87
+ }
88
+ else {
89
+ circularDependencyToException(childRequest);
90
+ }
91
+ });
92
+ }
93
+ exports.circularDependencyToException = circularDependencyToException;
94
+ function listMetadataForTarget(serviceIdentifierString, target) {
95
+ if (target.isTagged() || target.isNamed()) {
96
+ var m_1 = '';
97
+ var namedTag = target.getNamedTag();
98
+ var otherTags = target.getCustomTags();
99
+ if (namedTag !== null) {
100
+ m_1 += namedTag.toString() + '\n';
101
+ }
102
+ if (otherTags !== null) {
103
+ otherTags.forEach(function (tag) {
104
+ m_1 += tag.toString() + '\n';
105
+ });
106
+ }
107
+ return " " + serviceIdentifierString + "\n " + serviceIdentifierString + " - " + m_1;
108
+ }
109
+ else {
110
+ return " " + serviceIdentifierString;
111
+ }
112
+ }
113
+ exports.listMetadataForTarget = listMetadataForTarget;
114
+ function getFunctionName(func) {
115
+ if (func.name) {
116
+ return func.name;
117
+ }
118
+ else {
119
+ var name_1 = func.toString();
120
+ var match = name_1.match(/^function\s*([^\s(]+)/);
121
+ return match ? match[1] : "Anonymous function: " + name_1;
122
+ }
123
+ }
124
+ exports.getFunctionName = getFunctionName;
125
+ function getSymbolDescription(symbol) {
126
+ return symbol.toString().slice(7, -1);
127
+ }
128
+ exports.getSymbolDescription = getSymbolDescription;
129
+ });
@@ -1,55 +1,88 @@
1
- import * as ERROR_MSGS from "../constants/error_msgs";
2
- import * as METADATA_KEY from "../constants/metadata_keys";
3
- function tagParameter(annotationTarget, propertyName, parameterIndex, metadata) {
4
- var metadataKey = METADATA_KEY.TAGGED;
5
- _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex);
6
- }
7
- function tagProperty(annotationTarget, propertyName, metadata) {
8
- var metadataKey = METADATA_KEY.TAGGED_PROP;
9
- _tagParameterOrProperty(metadataKey, annotationTarget.constructor, propertyName, metadata);
10
- }
11
- function _tagParameterOrProperty(metadataKey, annotationTarget, propertyName, metadata, parameterIndex) {
12
- var paramsOrPropertiesMetadata = {};
13
- var isParameterDecorator = (typeof parameterIndex === "number");
14
- var key = (parameterIndex !== undefined && isParameterDecorator) ? parameterIndex.toString() : propertyName;
15
- if (isParameterDecorator && propertyName !== undefined) {
16
- throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
17
- }
18
- if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {
19
- paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);
20
- }
21
- var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];
22
- if (!Array.isArray(paramOrPropertyMetadata)) {
23
- paramOrPropertyMetadata = [];
24
- }
25
- else {
26
- for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {
27
- var m = paramOrPropertyMetadata_1[_i];
28
- if (m.key === metadata.key) {
29
- throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + m.key.toString());
30
- }
31
- }
32
- }
33
- paramOrPropertyMetadata.push(metadata);
34
- paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;
35
- Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);
36
- }
37
- function _decorate(decorators, target) {
38
- Reflect.decorate(decorators, target);
39
- }
40
- function _param(paramIndex, decorator) {
41
- return function (target, key) { decorator(target, key, paramIndex); };
42
- }
43
- function decorate(decorator, target, parameterIndex) {
44
- if (typeof parameterIndex === "number") {
45
- _decorate([_param(parameterIndex, decorator)], target);
46
- }
47
- else if (typeof parameterIndex === "string") {
48
- Reflect.decorate([decorator], target, parameterIndex);
49
- }
50
- else {
51
- _decorate([decorator], target);
52
- }
53
- }
54
- export { decorate, tagParameter, tagProperty };
55
- //# sourceMappingURL=decorator_utils.js.map
1
+ import * as ERROR_MSGS from '../constants/error_msgs';
2
+ import * as METADATA_KEY from '../constants/metadata_keys';
3
+ import { getFirstArrayDuplicate } from '../utils/js';
4
+ function targetIsConstructorFunction(target) {
5
+ return target.prototype !== undefined;
6
+ }
7
+ function _throwIfMethodParameter(parameterName) {
8
+ if (parameterName !== undefined) {
9
+ throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
10
+ }
11
+ }
12
+ function tagParameter(annotationTarget, parameterName, parameterIndex, metadata) {
13
+ _throwIfMethodParameter(parameterName);
14
+ _tagParameterOrProperty(METADATA_KEY.TAGGED, annotationTarget, parameterIndex.toString(), metadata);
15
+ }
16
+ function tagProperty(annotationTarget, propertyName, metadata) {
17
+ if (targetIsConstructorFunction(annotationTarget)) {
18
+ throw new Error(ERROR_MSGS.INVALID_DECORATOR_OPERATION);
19
+ }
20
+ _tagParameterOrProperty(METADATA_KEY.TAGGED_PROP, annotationTarget.constructor, propertyName, metadata);
21
+ }
22
+ function _ensureNoMetadataKeyDuplicates(metadata) {
23
+ var metadatas = [];
24
+ if (Array.isArray(metadata)) {
25
+ metadatas = metadata;
26
+ var duplicate = getFirstArrayDuplicate(metadatas.map(function (md) { return md.key; }));
27
+ if (duplicate !== undefined) {
28
+ throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + duplicate.toString());
29
+ }
30
+ }
31
+ else {
32
+ metadatas = [metadata];
33
+ }
34
+ return metadatas;
35
+ }
36
+ function _tagParameterOrProperty(metadataKey, annotationTarget, key, metadata) {
37
+ var metadatas = _ensureNoMetadataKeyDuplicates(metadata);
38
+ var paramsOrPropertiesMetadata = {};
39
+ if (Reflect.hasOwnMetadata(metadataKey, annotationTarget)) {
40
+ paramsOrPropertiesMetadata = Reflect.getMetadata(metadataKey, annotationTarget);
41
+ }
42
+ var paramOrPropertyMetadata = paramsOrPropertiesMetadata[key];
43
+ if (paramOrPropertyMetadata === undefined) {
44
+ paramOrPropertyMetadata = [];
45
+ }
46
+ else {
47
+ var _loop_1 = function (m) {
48
+ if (metadatas.some(function (md) { return md.key === m.key; })) {
49
+ throw new Error(ERROR_MSGS.DUPLICATED_METADATA + " " + m.key.toString());
50
+ }
51
+ };
52
+ for (var _i = 0, paramOrPropertyMetadata_1 = paramOrPropertyMetadata; _i < paramOrPropertyMetadata_1.length; _i++) {
53
+ var m = paramOrPropertyMetadata_1[_i];
54
+ _loop_1(m);
55
+ }
56
+ }
57
+ paramOrPropertyMetadata.push.apply(paramOrPropertyMetadata, metadatas);
58
+ paramsOrPropertiesMetadata[key] = paramOrPropertyMetadata;
59
+ Reflect.defineMetadata(metadataKey, paramsOrPropertiesMetadata, annotationTarget);
60
+ }
61
+ function createTaggedDecorator(metadata) {
62
+ return function (target, targetKey, indexOrPropertyDescriptor) {
63
+ if (typeof indexOrPropertyDescriptor === 'number') {
64
+ tagParameter(target, targetKey, indexOrPropertyDescriptor, metadata);
65
+ }
66
+ else {
67
+ tagProperty(target, targetKey, metadata);
68
+ }
69
+ };
70
+ }
71
+ function _decorate(decorators, target) {
72
+ Reflect.decorate(decorators, target);
73
+ }
74
+ function _param(paramIndex, decorator) {
75
+ return function (target, key) { decorator(target, key, paramIndex); };
76
+ }
77
+ function decorate(decorator, target, parameterIndexOrProperty) {
78
+ if (typeof parameterIndexOrProperty === 'number') {
79
+ _decorate([_param(parameterIndexOrProperty, decorator)], target);
80
+ }
81
+ else if (typeof parameterIndexOrProperty === 'string') {
82
+ Reflect.decorate([decorator], target, parameterIndexOrProperty);
83
+ }
84
+ else {
85
+ _decorate([decorator], target);
86
+ }
87
+ }
88
+ export { decorate, tagParameter, tagProperty, createTaggedDecorator };
@@ -1,30 +1,4 @@
1
- import { UNDEFINED_INJECT_ANNOTATION } from "../constants/error_msgs";
2
- import * as METADATA_KEY from "../constants/metadata_keys";
3
- import { Metadata } from "../planning/metadata";
4
- import { tagParameter, tagProperty } from "./decorator_utils";
5
- var LazyServiceIdentifer = (function () {
6
- function LazyServiceIdentifer(cb) {
7
- this._cb = cb;
8
- }
9
- LazyServiceIdentifer.prototype.unwrap = function () {
10
- return this._cb();
11
- };
12
- return LazyServiceIdentifer;
13
- }());
14
- export { LazyServiceIdentifer };
15
- function inject(serviceIdentifier) {
16
- return function (target, targetKey, index) {
17
- if (serviceIdentifier === undefined) {
18
- throw new Error(UNDEFINED_INJECT_ANNOTATION(target.name));
19
- }
20
- var metadata = new Metadata(METADATA_KEY.INJECT_TAG, serviceIdentifier);
21
- if (typeof index === "number") {
22
- tagParameter(target, targetKey, index, metadata);
23
- }
24
- else {
25
- tagProperty(target, targetKey, metadata);
26
- }
27
- };
28
- }
29
- export { inject };
30
- //# sourceMappingURL=inject.js.map
1
+ import * as METADATA_KEY from '../constants/metadata_keys';
2
+ import { injectBase } from './inject_base';
3
+ var inject = injectBase(METADATA_KEY.INJECT_TAG);
4
+ export { inject };
@@ -0,0 +1,14 @@
1
+ import { UNDEFINED_INJECT_ANNOTATION } from '../constants/error_msgs';
2
+ import { Metadata } from '../planning/metadata';
3
+ import { createTaggedDecorator } from './decorator_utils';
4
+ export function injectBase(metadataKey) {
5
+ return function (serviceIdentifier) {
6
+ return function (target, targetKey, indexOrPropertyDescriptor) {
7
+ if (serviceIdentifier === undefined) {
8
+ var className = typeof target === 'function' ? target.name : target.constructor.name;
9
+ throw new Error(UNDEFINED_INJECT_ANNOTATION(className));
10
+ }
11
+ return createTaggedDecorator(new Metadata(metadataKey, serviceIdentifier))(target, targetKey, indexOrPropertyDescriptor);
12
+ };
13
+ };
14
+ }
@@ -1,14 +1,13 @@
1
- import * as ERRORS_MSGS from "../constants/error_msgs";
2
- import * as METADATA_KEY from "../constants/metadata_keys";
3
- function injectable() {
4
- return function (target) {
5
- if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {
6
- throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);
7
- }
8
- var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];
9
- Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);
10
- return target;
11
- };
12
- }
13
- export { injectable };
14
- //# sourceMappingURL=injectable.js.map
1
+ import * as ERRORS_MSGS from '../constants/error_msgs';
2
+ import * as METADATA_KEY from '../constants/metadata_keys';
3
+ function injectable() {
4
+ return function (target) {
5
+ if (Reflect.hasOwnMetadata(METADATA_KEY.PARAM_TYPES, target)) {
6
+ throw new Error(ERRORS_MSGS.DUPLICATED_INJECTABLE_DECORATOR);
7
+ }
8
+ var types = Reflect.getMetadata(METADATA_KEY.DESIGN_PARAM_TYPES, target) || [];
9
+ Reflect.defineMetadata(METADATA_KEY.PARAM_TYPES, types, target);
10
+ return target;
11
+ };
12
+ }
13
+ export { injectable };
@@ -0,0 +1,10 @@
1
+ var LazyServiceIdentifier = (function () {
2
+ function LazyServiceIdentifier(cb) {
3
+ this._cb = cb;
4
+ }
5
+ LazyServiceIdentifier.prototype.unwrap = function () {
6
+ return this._cb();
7
+ };
8
+ return LazyServiceIdentifier;
9
+ }());
10
+ export { LazyServiceIdentifier };
@@ -1,16 +1,4 @@
1
- import * as METADATA_KEY from "../constants/metadata_keys";
2
- import { Metadata } from "../planning/metadata";
3
- import { tagParameter, tagProperty } from "./decorator_utils";
4
- function multiInject(serviceIdentifier) {
5
- return function (target, targetKey, index) {
6
- var metadata = new Metadata(METADATA_KEY.MULTI_INJECT_TAG, serviceIdentifier);
7
- if (typeof index === "number") {
8
- tagParameter(target, targetKey, index, metadata);
9
- }
10
- else {
11
- tagProperty(target, targetKey, metadata);
12
- }
13
- };
14
- }
15
- export { multiInject };
16
- //# sourceMappingURL=multi_inject.js.map
1
+ import * as METADATA_KEY from '../constants/metadata_keys';
2
+ import { injectBase } from './inject_base';
3
+ var multiInject = injectBase(METADATA_KEY.MULTI_INJECT_TAG);
4
+ export { multiInject };
@@ -1,16 +1,7 @@
1
- import * as METADATA_KEY from "../constants/metadata_keys";
2
- import { Metadata } from "../planning/metadata";
3
- import { tagParameter, tagProperty } from "./decorator_utils";
4
- function named(name) {
5
- return function (target, targetKey, index) {
6
- var metadata = new Metadata(METADATA_KEY.NAMED_TAG, name);
7
- if (typeof index === "number") {
8
- tagParameter(target, targetKey, index, metadata);
9
- }
10
- else {
11
- tagProperty(target, targetKey, metadata);
12
- }
13
- };
14
- }
15
- export { named };
16
- //# sourceMappingURL=named.js.map
1
+ import * as METADATA_KEY from '../constants/metadata_keys';
2
+ import { Metadata } from '../planning/metadata';
3
+ import { createTaggedDecorator } from './decorator_utils';
4
+ function named(name) {
5
+ return createTaggedDecorator(new Metadata(METADATA_KEY.NAMED_TAG, name));
6
+ }
7
+ export { named };
@@ -1,16 +1,7 @@
1
- import * as METADATA_KEY from "../constants/metadata_keys";
2
- import { Metadata } from "../planning/metadata";
3
- import { tagParameter, tagProperty } from "./decorator_utils";
4
- function optional() {
5
- return function (target, targetKey, index) {
6
- var metadata = new Metadata(METADATA_KEY.OPTIONAL_TAG, true);
7
- if (typeof index === "number") {
8
- tagParameter(target, targetKey, index, metadata);
9
- }
10
- else {
11
- tagProperty(target, targetKey, metadata);
12
- }
13
- };
14
- }
15
- export { optional };
16
- //# sourceMappingURL=optional.js.map
1
+ import * as METADATA_KEY from '../constants/metadata_keys';
2
+ import { Metadata } from '../planning/metadata';
3
+ import { createTaggedDecorator } from './decorator_utils';
4
+ function optional() {
5
+ return createTaggedDecorator(new Metadata(METADATA_KEY.OPTIONAL_TAG, true));
6
+ }
7
+ export { optional };
@@ -1,14 +1,5 @@
1
- import * as ERRORS_MSGS from "../constants/error_msgs";
2
- import * as METADATA_KEY from "../constants/metadata_keys";
3
- import { Metadata } from "../planning/metadata";
4
- function postConstruct() {
5
- return function (target, propertyKey, descriptor) {
6
- var metadata = new Metadata(METADATA_KEY.POST_CONSTRUCT, propertyKey);
7
- if (Reflect.hasOwnMetadata(METADATA_KEY.POST_CONSTRUCT, target.constructor)) {
8
- throw new Error(ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS);
9
- }
10
- Reflect.defineMetadata(METADATA_KEY.POST_CONSTRUCT, metadata, target.constructor);
11
- };
12
- }
13
- export { postConstruct };
14
- //# sourceMappingURL=post_construct.js.map
1
+ import * as ERRORS_MSGS from '../constants/error_msgs';
2
+ import * as METADATA_KEY from '../constants/metadata_keys';
3
+ import { propertyEventDecorator } from './property_event_decorator';
4
+ var postConstruct = propertyEventDecorator(METADATA_KEY.POST_CONSTRUCT, ERRORS_MSGS.MULTIPLE_POST_CONSTRUCT_METHODS);
5
+ export { postConstruct };
@@ -0,0 +1,5 @@
1
+ import * as ERRORS_MSGS from '../constants/error_msgs';
2
+ import * as METADATA_KEY from '../constants/metadata_keys';
3
+ import { propertyEventDecorator } from './property_event_decorator';
4
+ var preDestroy = propertyEventDecorator(METADATA_KEY.PRE_DESTROY, ERRORS_MSGS.MULTIPLE_PRE_DESTROY_METHODS);
5
+ export { preDestroy };