inversify 5.1.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/.nyc_output/{9608da81-ca67-4100-9d7e-60d47b391c2b.json → 4df1ad3a-a319-42b9-bb65-746cefa3318e.json} +1 -1
  2. package/.nyc_output/processinfo/{9608da81-ca67-4100-9d7e-60d47b391c2b.json → 4df1ad3a-a319-42b9-bb65-746cefa3318e.json} +1 -1
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/CHANGELOG.md +4 -1
  5. package/amd/annotation/decorator_utils.js +60 -0
  6. package/amd/annotation/decorator_utils.js.map +1 -0
  7. package/amd/annotation/inject.js +31 -0
  8. package/amd/annotation/inject.js.map +1 -0
  9. package/amd/annotation/injectable.js +17 -0
  10. package/amd/annotation/injectable.js.map +1 -0
  11. package/amd/annotation/multi_inject.js +18 -0
  12. package/amd/annotation/multi_inject.js.map +1 -0
  13. package/amd/annotation/named.js +18 -0
  14. package/amd/annotation/named.js.map +1 -0
  15. package/amd/annotation/optional.js +18 -0
  16. package/amd/annotation/optional.js.map +1 -0
  17. package/amd/annotation/post_construct.js +16 -0
  18. package/amd/annotation/post_construct.js.map +1 -0
  19. package/amd/annotation/tagged.js +18 -0
  20. package/amd/annotation/tagged.js.map +1 -0
  21. package/amd/annotation/target_name.js +13 -0
  22. package/amd/annotation/target_name.js.map +1 -0
  23. package/amd/annotation/unmanaged.js +13 -0
  24. package/amd/annotation/unmanaged.js.map +1 -0
  25. package/amd/bindings/binding.js +38 -0
  26. package/amd/bindings/binding.js.map +1 -0
  27. package/amd/bindings/binding_count.js +12 -0
  28. package/amd/bindings/binding_count.js.map +1 -0
  29. package/amd/constants/error_msgs.js +68 -0
  30. package/amd/constants/error_msgs.js.map +1 -0
  31. package/amd/constants/literal_types.js +29 -0
  32. package/amd/constants/literal_types.js.map +1 -0
  33. package/amd/constants/metadata_keys.js +28 -0
  34. package/amd/constants/metadata_keys.js.map +1 -0
  35. package/amd/container/container.js +332 -0
  36. package/amd/container/container.js.map +1 -0
  37. package/amd/container/container_module.js +22 -0
  38. package/amd/container/container_module.js.map +1 -0
  39. package/amd/container/container_snapshot.js +18 -0
  40. package/amd/container/container_snapshot.js.map +1 -0
  41. package/amd/container/lookup.js +82 -0
  42. package/amd/container/lookup.js.map +1 -0
  43. package/amd/interfaces/interfaces.js +5 -0
  44. package/amd/interfaces/interfaces.js.map +1 -0
  45. package/amd/inversify.js +32 -0
  46. package/amd/inversify.js.map +1 -0
  47. package/amd/planning/context.js +20 -0
  48. package/amd/planning/context.js.map +1 -0
  49. package/amd/planning/metadata.js +22 -0
  50. package/amd/planning/metadata.js.map +1 -0
  51. package/amd/planning/metadata_reader.js +24 -0
  52. package/amd/planning/metadata_reader.js.map +1 -0
  53. package/amd/planning/plan.js +14 -0
  54. package/amd/planning/plan.js.map +1 -0
  55. package/amd/planning/planner.js +147 -0
  56. package/amd/planning/planner.js.map +1 -0
  57. package/amd/planning/queryable_string.js +31 -0
  58. package/amd/planning/queryable_string.js.map +1 -0
  59. package/amd/planning/reflection_utils.js +128 -0
  60. package/amd/planning/reflection_utils.js.map +1 -0
  61. package/amd/planning/request.js +27 -0
  62. package/amd/planning/request.js.map +1 -0
  63. package/amd/planning/target.js +80 -0
  64. package/amd/planning/target.js.map +1 -0
  65. package/amd/resolution/instantiation.js +56 -0
  66. package/amd/resolution/instantiation.js.map +1 -0
  67. package/amd/resolution/resolver.js +99 -0
  68. package/amd/resolution/resolver.js.map +1 -0
  69. package/amd/syntax/binding_in_syntax.js +25 -0
  70. package/amd/syntax/binding_in_syntax.js.map +1 -0
  71. package/amd/syntax/binding_in_when_on_syntax.js +73 -0
  72. package/amd/syntax/binding_in_when_on_syntax.js.map +1 -0
  73. package/amd/syntax/binding_on_syntax.js +17 -0
  74. package/amd/syntax/binding_on_syntax.js.map +1 -0
  75. package/amd/syntax/binding_to_syntax.js +79 -0
  76. package/amd/syntax/binding_to_syntax.js.map +1 -0
  77. package/amd/syntax/binding_when_on_syntax.js +63 -0
  78. package/amd/syntax/binding_when_on_syntax.js.map +1 -0
  79. package/amd/syntax/binding_when_syntax.js +100 -0
  80. package/amd/syntax/binding_when_syntax.js.map +1 -0
  81. package/amd/syntax/constraint_helpers.js +42 -0
  82. package/amd/syntax/constraint_helpers.js.map +1 -0
  83. package/amd/utils/binding_utils.js +18 -0
  84. package/amd/utils/binding_utils.js.map +1 -0
  85. package/amd/utils/exceptions.js +11 -0
  86. package/amd/utils/exceptions.js.map +1 -0
  87. package/amd/utils/id.js +11 -0
  88. package/amd/utils/id.js.map +1 -0
  89. package/amd/utils/serialization.js +106 -0
  90. package/amd/utils/serialization.js.map +1 -0
  91. package/es/annotation/decorator_utils.js +55 -0
  92. package/es/annotation/decorator_utils.js.map +1 -0
  93. package/es/annotation/inject.js +30 -0
  94. package/es/annotation/inject.js.map +1 -0
  95. package/es/annotation/injectable.js +14 -0
  96. package/es/annotation/injectable.js.map +1 -0
  97. package/es/annotation/multi_inject.js +16 -0
  98. package/es/annotation/multi_inject.js.map +1 -0
  99. package/es/annotation/named.js +16 -0
  100. package/es/annotation/named.js.map +1 -0
  101. package/es/annotation/optional.js +16 -0
  102. package/es/annotation/optional.js.map +1 -0
  103. package/es/annotation/post_construct.js +14 -0
  104. package/es/annotation/post_construct.js.map +1 -0
  105. package/es/annotation/tagged.js +15 -0
  106. package/es/annotation/tagged.js.map +1 -0
  107. package/es/annotation/target_name.js +11 -0
  108. package/es/annotation/target_name.js.map +1 -0
  109. package/es/annotation/unmanaged.js +11 -0
  110. package/es/annotation/unmanaged.js.map +1 -0
  111. package/es/bindings/binding.js +35 -0
  112. package/es/bindings/binding.js.map +1 -0
  113. package/es/bindings/binding_count.js +7 -0
  114. package/es/bindings/binding_count.js.map +1 -0
  115. package/es/constants/error_msgs.js +59 -0
  116. package/es/constants/error_msgs.js.map +1 -0
  117. package/es/constants/literal_types.js +22 -0
  118. package/es/constants/literal_types.js.map +1 -0
  119. package/es/constants/metadata_keys.js +23 -0
  120. package/es/constants/metadata_keys.js.map +1 -0
  121. package/es/container/container.js +339 -0
  122. package/es/container/container.js.map +1 -0
  123. package/es/container/container_module.js +18 -0
  124. package/es/container/container_module.js.map +1 -0
  125. package/es/container/container_snapshot.js +13 -0
  126. package/es/container/container_snapshot.js.map +1 -0
  127. package/es/container/lookup.js +78 -0
  128. package/es/container/lookup.js.map +1 -0
  129. package/es/interfaces/interfaces.js +2 -0
  130. package/es/interfaces/interfaces.js.map +1 -0
  131. package/es/inversify.js +21 -0
  132. package/es/inversify.js.map +1 -0
  133. package/es/planning/context.js +16 -0
  134. package/es/planning/context.js.map +1 -0
  135. package/es/planning/metadata.js +18 -0
  136. package/es/planning/metadata.js.map +1 -0
  137. package/es/planning/metadata_reader.js +20 -0
  138. package/es/planning/metadata_reader.js.map +1 -0
  139. package/es/planning/plan.js +9 -0
  140. package/es/planning/plan.js.map +1 -0
  141. package/es/planning/planner.js +152 -0
  142. package/es/planning/planner.js.map +1 -0
  143. package/es/planning/queryable_string.js +26 -0
  144. package/es/planning/queryable_string.js.map +1 -0
  145. package/es/planning/reflection_utils.js +127 -0
  146. package/es/planning/reflection_utils.js.map +1 -0
  147. package/es/planning/request.js +23 -0
  148. package/es/planning/request.js.map +1 -0
  149. package/es/planning/target.js +79 -0
  150. package/es/planning/target.js.map +1 -0
  151. package/es/resolution/instantiation.js +54 -0
  152. package/es/resolution/instantiation.js.map +1 -0
  153. package/es/resolution/resolver.js +99 -0
  154. package/es/resolution/resolver.js.map +1 -0
  155. package/es/syntax/binding_in_syntax.js +22 -0
  156. package/es/syntax/binding_in_syntax.js.map +1 -0
  157. package/es/syntax/binding_in_when_on_syntax.js +71 -0
  158. package/es/syntax/binding_in_when_on_syntax.js.map +1 -0
  159. package/es/syntax/binding_on_syntax.js +13 -0
  160. package/es/syntax/binding_on_syntax.js.map +1 -0
  161. package/es/syntax/binding_to_syntax.js +78 -0
  162. package/es/syntax/binding_to_syntax.js.map +1 -0
  163. package/es/syntax/binding_when_on_syntax.js +60 -0
  164. package/es/syntax/binding_when_on_syntax.js.map +1 -0
  165. package/es/syntax/binding_when_syntax.js +97 -0
  166. package/es/syntax/binding_when_syntax.js.map +1 -0
  167. package/es/syntax/constraint_helpers.js +36 -0
  168. package/es/syntax/constraint_helpers.js.map +1 -0
  169. package/es/utils/binding_utils.js +12 -0
  170. package/es/utils/binding_utils.js.map +1 -0
  171. package/es/utils/exceptions.js +6 -0
  172. package/es/utils/exceptions.js.map +1 -0
  173. package/es/utils/id.js +6 -0
  174. package/es/utils/id.js.map +1 -0
  175. package/es/utils/serialization.js +98 -0
  176. package/es/utils/serialization.js.map +1 -0
  177. package/es6/annotation/decorator_utils.js +59 -0
  178. package/es6/annotation/decorator_utils.js.map +1 -0
  179. package/es6/annotation/inject.js +32 -0
  180. package/es6/annotation/inject.js.map +1 -0
  181. package/es6/annotation/injectable.js +17 -0
  182. package/es6/annotation/injectable.js.map +1 -0
  183. package/es6/annotation/multi_inject.js +19 -0
  184. package/es6/annotation/multi_inject.js.map +1 -0
  185. package/es6/annotation/named.js +19 -0
  186. package/es6/annotation/named.js.map +1 -0
  187. package/es6/annotation/optional.js +19 -0
  188. package/es6/annotation/optional.js.map +1 -0
  189. package/es6/annotation/post_construct.js +17 -0
  190. package/es6/annotation/post_construct.js.map +1 -0
  191. package/es6/annotation/tagged.js +18 -0
  192. package/es6/annotation/tagged.js.map +1 -0
  193. package/es6/annotation/target_name.js +14 -0
  194. package/es6/annotation/target_name.js.map +1 -0
  195. package/es6/annotation/unmanaged.js +14 -0
  196. package/es6/annotation/unmanaged.js.map +1 -0
  197. package/es6/bindings/binding.js +37 -0
  198. package/es6/bindings/binding.js.map +1 -0
  199. package/es6/bindings/binding_count.js +10 -0
  200. package/es6/bindings/binding_count.js.map +1 -0
  201. package/es6/constants/error_msgs.js +46 -0
  202. package/es6/constants/error_msgs.js.map +1 -0
  203. package/es6/constants/literal_types.js +27 -0
  204. package/es6/constants/literal_types.js.map +1 -0
  205. package/es6/constants/metadata_keys.js +26 -0
  206. package/es6/constants/metadata_keys.js.map +1 -0
  207. package/es6/container/container.js +260 -0
  208. package/es6/container/container.js.map +1 -0
  209. package/es6/container/container_module.js +19 -0
  210. package/es6/container/container_module.js.map +1 -0
  211. package/es6/container/container_snapshot.js +13 -0
  212. package/es6/container/container_snapshot.js.map +1 -0
  213. package/es6/container/lookup.js +79 -0
  214. package/es6/container/lookup.js.map +1 -0
  215. package/es6/interfaces/interfaces.js +3 -0
  216. package/es6/interfaces/interfaces.js.map +1 -0
  217. package/es6/inversify.js +49 -0
  218. package/es6/inversify.js.map +1 -0
  219. package/es6/planning/context.js +18 -0
  220. package/es6/planning/context.js.map +1 -0
  221. package/es6/planning/metadata.js +20 -0
  222. package/es6/planning/metadata.js.map +1 -0
  223. package/es6/planning/metadata_reader.js +20 -0
  224. package/es6/planning/metadata_reader.js.map +1 -0
  225. package/es6/planning/plan.js +11 -0
  226. package/es6/planning/plan.js.map +1 -0
  227. package/es6/planning/planner.js +156 -0
  228. package/es6/planning/planner.js.map +1 -0
  229. package/es6/planning/queryable_string.js +28 -0
  230. package/es6/planning/queryable_string.js.map +1 -0
  231. package/es6/planning/reflection_utils.js +128 -0
  232. package/es6/planning/reflection_utils.js.map +1 -0
  233. package/es6/planning/request.js +25 -0
  234. package/es6/planning/request.js.map +1 -0
  235. package/es6/planning/target.js +78 -0
  236. package/es6/planning/target.js.map +1 -0
  237. package/es6/resolution/instantiation.js +48 -0
  238. package/es6/resolution/instantiation.js.map +1 -0
  239. package/es6/resolution/resolver.js +100 -0
  240. package/es6/resolution/resolver.js.map +1 -0
  241. package/es6/syntax/binding_in_syntax.js +24 -0
  242. package/es6/syntax/binding_in_syntax.js.map +1 -0
  243. package/es6/syntax/binding_in_when_on_syntax.js +73 -0
  244. package/es6/syntax/binding_in_when_on_syntax.js.map +1 -0
  245. package/es6/syntax/binding_on_syntax.js +15 -0
  246. package/es6/syntax/binding_on_syntax.js.map +1 -0
  247. package/es6/syntax/binding_to_syntax.js +80 -0
  248. package/es6/syntax/binding_to_syntax.js.map +1 -0
  249. package/es6/syntax/binding_when_on_syntax.js +62 -0
  250. package/es6/syntax/binding_when_on_syntax.js.map +1 -0
  251. package/es6/syntax/binding_when_syntax.js +77 -0
  252. package/es6/syntax/binding_when_syntax.js.map +1 -0
  253. package/es6/syntax/constraint_helpers.js +40 -0
  254. package/es6/syntax/constraint_helpers.js.map +1 -0
  255. package/es6/utils/binding_utils.js +6 -0
  256. package/es6/utils/binding_utils.js.map +1 -0
  257. package/es6/utils/exceptions.js +10 -0
  258. package/es6/utils/exceptions.js.map +1 -0
  259. package/es6/utils/id.js +9 -0
  260. package/es6/utils/id.js.map +1 -0
  261. package/es6/utils/serialization.js +104 -0
  262. package/es6/utils/serialization.js.map +1 -0
  263. package/lib/annotation/decorator_utils.d.ts +5 -0
  264. package/lib/annotation/decorator_utils.js +60 -0
  265. package/lib/annotation/decorator_utils.js.map +1 -0
  266. package/lib/annotation/inject.d.ts +9 -0
  267. package/lib/annotation/inject.js +33 -0
  268. package/lib/annotation/inject.js.map +1 -0
  269. package/lib/annotation/injectable.d.ts +2 -0
  270. package/lib/annotation/injectable.js +17 -0
  271. package/lib/annotation/injectable.js.map +1 -0
  272. package/lib/annotation/multi_inject.d.ts +3 -0
  273. package/lib/annotation/multi_inject.js +19 -0
  274. package/lib/annotation/multi_inject.js.map +1 -0
  275. package/lib/annotation/named.d.ts +2 -0
  276. package/lib/annotation/named.js +19 -0
  277. package/lib/annotation/named.js.map +1 -0
  278. package/lib/annotation/optional.d.ts +2 -0
  279. package/lib/annotation/optional.js +19 -0
  280. package/lib/annotation/optional.js.map +1 -0
  281. package/lib/annotation/post_construct.d.ts +2 -0
  282. package/lib/annotation/post_construct.js +17 -0
  283. package/lib/annotation/post_construct.js.map +1 -0
  284. package/lib/annotation/tagged.d.ts +2 -0
  285. package/lib/annotation/tagged.js +18 -0
  286. package/lib/annotation/tagged.js.map +1 -0
  287. package/lib/annotation/target_name.d.ts +2 -0
  288. package/lib/annotation/target_name.js +14 -0
  289. package/lib/annotation/target_name.js.map +1 -0
  290. package/lib/annotation/unmanaged.d.ts +2 -0
  291. package/lib/annotation/unmanaged.js +14 -0
  292. package/lib/annotation/unmanaged.js.map +1 -0
  293. package/lib/bindings/binding.d.ts +19 -0
  294. package/lib/bindings/binding.js +38 -0
  295. package/lib/bindings/binding.js.map +1 -0
  296. package/lib/bindings/binding_count.d.ts +6 -0
  297. package/lib/bindings/binding_count.js +10 -0
  298. package/lib/bindings/binding_count.js.map +1 -0
  299. package/lib/constants/error_msgs.d.ts +27 -0
  300. package/lib/constants/error_msgs.js +66 -0
  301. package/lib/constants/error_msgs.js.map +1 -0
  302. package/lib/constants/literal_types.d.ts +5 -0
  303. package/lib/constants/literal_types.js +27 -0
  304. package/lib/constants/literal_types.js.map +1 -0
  305. package/lib/constants/metadata_keys.d.ts +12 -0
  306. package/lib/constants/metadata_keys.js +26 -0
  307. package/lib/constants/metadata_keys.js.map +1 -0
  308. package/lib/container/container.d.ts +39 -0
  309. package/lib/container/container.js +342 -0
  310. package/lib/container/container.js.map +1 -0
  311. package/lib/container/container_module.d.ts +11 -0
  312. package/lib/container/container_module.js +21 -0
  313. package/lib/container/container_module.js.map +1 -0
  314. package/lib/container/container_snapshot.d.ts +7 -0
  315. package/lib/container/container_snapshot.js +16 -0
  316. package/lib/container/container_snapshot.js.map +1 -0
  317. package/lib/container/lookup.d.ts +14 -0
  318. package/lib/container/lookup.js +81 -0
  319. package/lib/container/lookup.js.map +1 -0
  320. package/lib/interfaces/interfaces.d.ts +237 -0
  321. package/lib/interfaces/interfaces.js +3 -0
  322. package/lib/interfaces/interfaces.js.map +1 -0
  323. package/lib/inversify.d.ts +21 -0
  324. package/lib/inversify.js +49 -0
  325. package/lib/inversify.js.map +1 -0
  326. package/lib/planning/context.d.ts +11 -0
  327. package/lib/planning/context.js +19 -0
  328. package/lib/planning/context.js.map +1 -0
  329. package/lib/planning/metadata.d.ts +8 -0
  330. package/lib/planning/metadata.js +21 -0
  331. package/lib/planning/metadata.js.map +1 -0
  332. package/lib/planning/metadata_reader.d.ts +6 -0
  333. package/lib/planning/metadata_reader.js +23 -0
  334. package/lib/planning/metadata_reader.js.map +1 -0
  335. package/lib/planning/plan.d.ts +7 -0
  336. package/lib/planning/plan.js +12 -0
  337. package/lib/planning/plan.js.map +1 -0
  338. package/lib/planning/planner.d.ts +5 -0
  339. package/lib/planning/planner.js +157 -0
  340. package/lib/planning/planner.js.map +1 -0
  341. package/lib/planning/queryable_string.d.ts +11 -0
  342. package/lib/planning/queryable_string.js +29 -0
  343. package/lib/planning/queryable_string.js.map +1 -0
  344. package/lib/planning/reflection_utils.d.ts +5 -0
  345. package/lib/planning/reflection_utils.js +132 -0
  346. package/lib/planning/reflection_utils.js.map +1 -0
  347. package/lib/planning/request.d.ts +14 -0
  348. package/lib/planning/request.js +26 -0
  349. package/lib/planning/request.js.map +1 -0
  350. package/lib/planning/target.d.ts +21 -0
  351. package/lib/planning/target.js +82 -0
  352. package/lib/planning/target.js.map +1 -0
  353. package/lib/resolution/instantiation.d.ts +3 -0
  354. package/lib/resolution/instantiation.js +57 -0
  355. package/lib/resolution/instantiation.js.map +1 -0
  356. package/lib/resolution/resolver.d.ts +3 -0
  357. package/lib/resolution/resolver.js +102 -0
  358. package/lib/resolution/resolver.js.map +1 -0
  359. package/lib/syntax/binding_in_syntax.d.ts +9 -0
  360. package/lib/syntax/binding_in_syntax.js +25 -0
  361. package/lib/syntax/binding_in_syntax.js.map +1 -0
  362. package/lib/syntax/binding_in_when_on_syntax.d.ts +28 -0
  363. package/lib/syntax/binding_in_when_on_syntax.js +74 -0
  364. package/lib/syntax/binding_in_when_on_syntax.js.map +1 -0
  365. package/lib/syntax/binding_on_syntax.d.ts +7 -0
  366. package/lib/syntax/binding_on_syntax.js +16 -0
  367. package/lib/syntax/binding_on_syntax.js.map +1 -0
  368. package/lib/syntax/binding_to_syntax.d.ts +16 -0
  369. package/lib/syntax/binding_to_syntax.js +81 -0
  370. package/lib/syntax/binding_to_syntax.js.map +1 -0
  371. package/lib/syntax/binding_when_on_syntax.d.ts +24 -0
  372. package/lib/syntax/binding_when_on_syntax.js +63 -0
  373. package/lib/syntax/binding_when_on_syntax.js.map +1 -0
  374. package/lib/syntax/binding_when_syntax.d.ts +21 -0
  375. package/lib/syntax/binding_when_syntax.js +100 -0
  376. package/lib/syntax/binding_when_syntax.js.map +1 -0
  377. package/lib/syntax/constraint_helpers.d.ts +6 -0
  378. package/lib/syntax/constraint_helpers.js +42 -0
  379. package/lib/syntax/constraint_helpers.js.map +1 -0
  380. package/lib/tsconfig.tsbuildinfo +719 -0
  381. package/lib/utils/binding_utils.d.ts +2 -0
  382. package/lib/utils/binding_utils.js +16 -0
  383. package/lib/utils/binding_utils.js.map +1 -0
  384. package/lib/utils/exceptions.d.ts +1 -0
  385. package/lib/utils/exceptions.js +10 -0
  386. package/lib/utils/exceptions.js.map +1 -0
  387. package/lib/utils/id.d.ts +2 -0
  388. package/lib/utils/id.js +9 -0
  389. package/lib/utils/id.js.map +1 -0
  390. package/lib/utils/serialization.d.ts +7 -0
  391. package/lib/utils/serialization.js +105 -0
  392. package/lib/utils/serialization.js.map +1 -0
  393. package/package.json +2 -2
@@ -0,0 +1,339 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
38
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
39
+ to[j] = from[i];
40
+ return to;
41
+ };
42
+ import { Binding } from "../bindings/binding";
43
+ import * as ERROR_MSGS from "../constants/error_msgs";
44
+ import { BindingScopeEnum, TargetTypeEnum } from "../constants/literal_types";
45
+ import * as METADATA_KEY from "../constants/metadata_keys";
46
+ import { MetadataReader } from "../planning/metadata_reader";
47
+ import { createMockRequest, getBindingDictionary, plan } from "../planning/planner";
48
+ import { resolve } from "../resolution/resolver";
49
+ import { BindingToSyntax } from "../syntax/binding_to_syntax";
50
+ import { id } from "../utils/id";
51
+ import { getServiceIdentifierAsString } from "../utils/serialization";
52
+ import { ContainerSnapshot } from "./container_snapshot";
53
+ import { Lookup } from "./lookup";
54
+ var Container = (function () {
55
+ function Container(containerOptions) {
56
+ this._appliedMiddleware = [];
57
+ var options = containerOptions || {};
58
+ if (typeof options !== "object") {
59
+ throw new Error("" + ERROR_MSGS.CONTAINER_OPTIONS_MUST_BE_AN_OBJECT);
60
+ }
61
+ if (options.defaultScope === undefined) {
62
+ options.defaultScope = BindingScopeEnum.Transient;
63
+ }
64
+ else if (options.defaultScope !== BindingScopeEnum.Singleton &&
65
+ options.defaultScope !== BindingScopeEnum.Transient &&
66
+ options.defaultScope !== BindingScopeEnum.Request) {
67
+ throw new Error("" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_DEFAULT_SCOPE);
68
+ }
69
+ if (options.autoBindInjectable === undefined) {
70
+ options.autoBindInjectable = false;
71
+ }
72
+ else if (typeof options.autoBindInjectable !== "boolean") {
73
+ throw new Error("" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_AUTO_BIND_INJECTABLE);
74
+ }
75
+ if (options.skipBaseClassChecks === undefined) {
76
+ options.skipBaseClassChecks = false;
77
+ }
78
+ else if (typeof options.skipBaseClassChecks !== "boolean") {
79
+ throw new Error("" + ERROR_MSGS.CONTAINER_OPTIONS_INVALID_SKIP_BASE_CHECK);
80
+ }
81
+ this.options = {
82
+ autoBindInjectable: options.autoBindInjectable,
83
+ defaultScope: options.defaultScope,
84
+ skipBaseClassChecks: options.skipBaseClassChecks
85
+ };
86
+ this.id = id();
87
+ this._bindingDictionary = new Lookup();
88
+ this._snapshots = [];
89
+ this._middleware = null;
90
+ this.parent = null;
91
+ this._metadataReader = new MetadataReader();
92
+ }
93
+ Container.merge = function (container1, container2) {
94
+ var container3 = [];
95
+ for (var _i = 2; _i < arguments.length; _i++) {
96
+ container3[_i - 2] = arguments[_i];
97
+ }
98
+ var container = new Container();
99
+ var targetContainers = __spreadArray([container1, container2], container3).map(function (targetContainer) { return getBindingDictionary(targetContainer); });
100
+ var bindingDictionary = getBindingDictionary(container);
101
+ function copyDictionary(origin, destination) {
102
+ origin.traverse(function (key, value) {
103
+ value.forEach(function (binding) {
104
+ destination.add(binding.serviceIdentifier, binding.clone());
105
+ });
106
+ });
107
+ }
108
+ targetContainers.forEach(function (targetBindingDictionary) {
109
+ copyDictionary(targetBindingDictionary, bindingDictionary);
110
+ });
111
+ return container;
112
+ };
113
+ Container.prototype.load = function () {
114
+ var modules = [];
115
+ for (var _i = 0; _i < arguments.length; _i++) {
116
+ modules[_i] = arguments[_i];
117
+ }
118
+ var getHelpers = this._getContainerModuleHelpersFactory();
119
+ for (var _a = 0, modules_1 = modules; _a < modules_1.length; _a++) {
120
+ var currentModule = modules_1[_a];
121
+ var containerModuleHelpers = getHelpers(currentModule.id);
122
+ currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction);
123
+ }
124
+ };
125
+ Container.prototype.loadAsync = function () {
126
+ var modules = [];
127
+ for (var _i = 0; _i < arguments.length; _i++) {
128
+ modules[_i] = arguments[_i];
129
+ }
130
+ return __awaiter(this, void 0, void 0, function () {
131
+ var getHelpers, _a, modules_2, currentModule, containerModuleHelpers;
132
+ return __generator(this, function (_b) {
133
+ switch (_b.label) {
134
+ case 0:
135
+ getHelpers = this._getContainerModuleHelpersFactory();
136
+ _a = 0, modules_2 = modules;
137
+ _b.label = 1;
138
+ case 1:
139
+ if (!(_a < modules_2.length)) return [3, 4];
140
+ currentModule = modules_2[_a];
141
+ containerModuleHelpers = getHelpers(currentModule.id);
142
+ return [4, currentModule.registry(containerModuleHelpers.bindFunction, containerModuleHelpers.unbindFunction, containerModuleHelpers.isboundFunction, containerModuleHelpers.rebindFunction)];
143
+ case 2:
144
+ _b.sent();
145
+ _b.label = 3;
146
+ case 3:
147
+ _a++;
148
+ return [3, 1];
149
+ case 4: return [2];
150
+ }
151
+ });
152
+ });
153
+ };
154
+ Container.prototype.unload = function () {
155
+ var _this = this;
156
+ var modules = [];
157
+ for (var _i = 0; _i < arguments.length; _i++) {
158
+ modules[_i] = arguments[_i];
159
+ }
160
+ var conditionFactory = function (expected) { return function (item) {
161
+ return item.moduleId === expected;
162
+ }; };
163
+ modules.forEach(function (module) {
164
+ var condition = conditionFactory(module.id);
165
+ _this._bindingDictionary.removeByCondition(condition);
166
+ });
167
+ };
168
+ Container.prototype.bind = function (serviceIdentifier) {
169
+ var scope = this.options.defaultScope || BindingScopeEnum.Transient;
170
+ var binding = new Binding(serviceIdentifier, scope);
171
+ this._bindingDictionary.add(serviceIdentifier, binding);
172
+ return new BindingToSyntax(binding);
173
+ };
174
+ Container.prototype.rebind = function (serviceIdentifier) {
175
+ this.unbind(serviceIdentifier);
176
+ return this.bind(serviceIdentifier);
177
+ };
178
+ Container.prototype.unbind = function (serviceIdentifier) {
179
+ try {
180
+ this._bindingDictionary.remove(serviceIdentifier);
181
+ }
182
+ catch (e) {
183
+ throw new Error(ERROR_MSGS.CANNOT_UNBIND + " " + getServiceIdentifierAsString(serviceIdentifier));
184
+ }
185
+ };
186
+ Container.prototype.unbindAll = function () {
187
+ this._bindingDictionary = new Lookup();
188
+ };
189
+ Container.prototype.isBound = function (serviceIdentifier) {
190
+ var bound = this._bindingDictionary.hasKey(serviceIdentifier);
191
+ if (!bound && this.parent) {
192
+ bound = this.parent.isBound(serviceIdentifier);
193
+ }
194
+ return bound;
195
+ };
196
+ Container.prototype.isBoundNamed = function (serviceIdentifier, named) {
197
+ return this.isBoundTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
198
+ };
199
+ Container.prototype.isBoundTagged = function (serviceIdentifier, key, value) {
200
+ var bound = false;
201
+ if (this._bindingDictionary.hasKey(serviceIdentifier)) {
202
+ var bindings = this._bindingDictionary.get(serviceIdentifier);
203
+ var request_1 = createMockRequest(this, serviceIdentifier, key, value);
204
+ bound = bindings.some(function (b) { return b.constraint(request_1); });
205
+ }
206
+ if (!bound && this.parent) {
207
+ bound = this.parent.isBoundTagged(serviceIdentifier, key, value);
208
+ }
209
+ return bound;
210
+ };
211
+ Container.prototype.snapshot = function () {
212
+ this._snapshots.push(ContainerSnapshot.of(this._bindingDictionary.clone(), this._middleware));
213
+ };
214
+ Container.prototype.restore = function () {
215
+ var snapshot = this._snapshots.pop();
216
+ if (snapshot === undefined) {
217
+ throw new Error(ERROR_MSGS.NO_MORE_SNAPSHOTS_AVAILABLE);
218
+ }
219
+ this._bindingDictionary = snapshot.bindings;
220
+ this._middleware = snapshot.middleware;
221
+ };
222
+ Container.prototype.createChild = function (containerOptions) {
223
+ var child = new Container(containerOptions || this.options);
224
+ child.parent = this;
225
+ return child;
226
+ };
227
+ Container.prototype.applyMiddleware = function () {
228
+ var middlewares = [];
229
+ for (var _i = 0; _i < arguments.length; _i++) {
230
+ middlewares[_i] = arguments[_i];
231
+ }
232
+ this._appliedMiddleware = this._appliedMiddleware.concat(middlewares);
233
+ var initial = (this._middleware) ? this._middleware : this._planAndResolve();
234
+ this._middleware = middlewares.reduce(function (prev, curr) { return curr(prev); }, initial);
235
+ };
236
+ Container.prototype.applyCustomMetadataReader = function (metadataReader) {
237
+ this._metadataReader = metadataReader;
238
+ };
239
+ Container.prototype.get = function (serviceIdentifier) {
240
+ return this._get(false, false, TargetTypeEnum.Variable, serviceIdentifier);
241
+ };
242
+ Container.prototype.getTagged = function (serviceIdentifier, key, value) {
243
+ return this._get(false, false, TargetTypeEnum.Variable, serviceIdentifier, key, value);
244
+ };
245
+ Container.prototype.getNamed = function (serviceIdentifier, named) {
246
+ return this.getTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
247
+ };
248
+ Container.prototype.getAll = function (serviceIdentifier) {
249
+ return this._get(true, true, TargetTypeEnum.Variable, serviceIdentifier);
250
+ };
251
+ Container.prototype.getAllTagged = function (serviceIdentifier, key, value) {
252
+ return this._get(false, true, TargetTypeEnum.Variable, serviceIdentifier, key, value);
253
+ };
254
+ Container.prototype.getAllNamed = function (serviceIdentifier, named) {
255
+ return this.getAllTagged(serviceIdentifier, METADATA_KEY.NAMED_TAG, named);
256
+ };
257
+ Container.prototype.resolve = function (constructorFunction) {
258
+ var tempContainer = this.createChild();
259
+ tempContainer.bind(constructorFunction).toSelf();
260
+ this._appliedMiddleware.forEach(function (m) {
261
+ tempContainer.applyMiddleware(m);
262
+ });
263
+ return tempContainer.get(constructorFunction);
264
+ };
265
+ Container.prototype._getContainerModuleHelpersFactory = function () {
266
+ var _this = this;
267
+ var setModuleId = function (bindingToSyntax, moduleId) {
268
+ bindingToSyntax._binding.moduleId = moduleId;
269
+ };
270
+ var getBindFunction = function (moduleId) {
271
+ return function (serviceIdentifier) {
272
+ var _bind = _this.bind.bind(_this);
273
+ var bindingToSyntax = _bind(serviceIdentifier);
274
+ setModuleId(bindingToSyntax, moduleId);
275
+ return bindingToSyntax;
276
+ };
277
+ };
278
+ var getUnbindFunction = function (moduleId) {
279
+ return function (serviceIdentifier) {
280
+ var _unbind = _this.unbind.bind(_this);
281
+ _unbind(serviceIdentifier);
282
+ };
283
+ };
284
+ var getIsboundFunction = function (moduleId) {
285
+ return function (serviceIdentifier) {
286
+ var _isBound = _this.isBound.bind(_this);
287
+ return _isBound(serviceIdentifier);
288
+ };
289
+ };
290
+ var getRebindFunction = function (moduleId) {
291
+ return function (serviceIdentifier) {
292
+ var _rebind = _this.rebind.bind(_this);
293
+ var bindingToSyntax = _rebind(serviceIdentifier);
294
+ setModuleId(bindingToSyntax, moduleId);
295
+ return bindingToSyntax;
296
+ };
297
+ };
298
+ return function (mId) { return ({
299
+ bindFunction: getBindFunction(mId),
300
+ isboundFunction: getIsboundFunction(mId),
301
+ rebindFunction: getRebindFunction(mId),
302
+ unbindFunction: getUnbindFunction(mId)
303
+ }); };
304
+ };
305
+ Container.prototype._get = function (avoidConstraints, isMultiInject, targetType, serviceIdentifier, key, value) {
306
+ var result = null;
307
+ var defaultArgs = {
308
+ avoidConstraints: avoidConstraints,
309
+ contextInterceptor: function (context) { return context; },
310
+ isMultiInject: isMultiInject,
311
+ key: key,
312
+ serviceIdentifier: serviceIdentifier,
313
+ targetType: targetType,
314
+ value: value
315
+ };
316
+ if (this._middleware) {
317
+ result = this._middleware(defaultArgs);
318
+ if (result === undefined || result === null) {
319
+ throw new Error(ERROR_MSGS.INVALID_MIDDLEWARE_RETURN);
320
+ }
321
+ }
322
+ else {
323
+ result = this._planAndResolve()(defaultArgs);
324
+ }
325
+ return result;
326
+ };
327
+ Container.prototype._planAndResolve = function () {
328
+ var _this = this;
329
+ return function (args) {
330
+ var context = plan(_this._metadataReader, _this, args.isMultiInject, args.targetType, args.serviceIdentifier, args.key, args.value, args.avoidConstraints);
331
+ context = args.contextInterceptor(context);
332
+ var result = resolve(context);
333
+ return result;
334
+ };
335
+ };
336
+ return Container;
337
+ }());
338
+ export { Container };
339
+ //# sourceMappingURL=container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/container/container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { id } from "../utils/id";
2
+ var ContainerModule = (function () {
3
+ function ContainerModule(registry) {
4
+ this.id = id();
5
+ this.registry = registry;
6
+ }
7
+ return ContainerModule;
8
+ }());
9
+ export { ContainerModule };
10
+ var AsyncContainerModule = (function () {
11
+ function AsyncContainerModule(registry) {
12
+ this.id = id();
13
+ this.registry = registry;
14
+ }
15
+ return AsyncContainerModule;
16
+ }());
17
+ export { AsyncContainerModule };
18
+ //# sourceMappingURL=container_module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_module.js","sourceRoot":"","sources":["../../src/container/container_module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;IAKI,yBAAmB,QAA4C;QAC3D,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,sBAAC;AAAD,CAAC,AAVD,IAUC;;AAED;IAKI,8BAAmB,QAAiD;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAEL,2BAAC;AAAD,CAAC,AAVD,IAUC"}
@@ -0,0 +1,13 @@
1
+ var ContainerSnapshot = (function () {
2
+ function ContainerSnapshot() {
3
+ }
4
+ ContainerSnapshot.of = function (bindings, middleware) {
5
+ var snapshot = new ContainerSnapshot();
6
+ snapshot.bindings = bindings;
7
+ snapshot.middleware = middleware;
8
+ return snapshot;
9
+ };
10
+ return ContainerSnapshot;
11
+ }());
12
+ export { ContainerSnapshot };
13
+ //# sourceMappingURL=container_snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container_snapshot.js","sourceRoot":"","sources":["../../src/container/container_snapshot.ts"],"names":[],"mappings":"AAEA;IAAA;IAYA,CAAC;IAPiB,oBAAE,GAAhB,UAAiB,QAAoD,EAAE,UAAkC;QACrG,IAAM,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACjC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEL,wBAAC;AAAD,CAAC,AAZD,IAYC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,78 @@
1
+ import * as ERROR_MSGS from "../constants/error_msgs";
2
+ var Lookup = (function () {
3
+ function Lookup() {
4
+ this._map = new Map();
5
+ }
6
+ Lookup.prototype.getMap = function () {
7
+ return this._map;
8
+ };
9
+ Lookup.prototype.add = function (serviceIdentifier, value) {
10
+ if (serviceIdentifier === null || serviceIdentifier === undefined) {
11
+ throw new Error(ERROR_MSGS.NULL_ARGUMENT);
12
+ }
13
+ if (value === null || value === undefined) {
14
+ throw new Error(ERROR_MSGS.NULL_ARGUMENT);
15
+ }
16
+ var entry = this._map.get(serviceIdentifier);
17
+ if (entry !== undefined) {
18
+ entry.push(value);
19
+ this._map.set(serviceIdentifier, entry);
20
+ }
21
+ else {
22
+ this._map.set(serviceIdentifier, [value]);
23
+ }
24
+ };
25
+ Lookup.prototype.get = function (serviceIdentifier) {
26
+ if (serviceIdentifier === null || serviceIdentifier === undefined) {
27
+ throw new Error(ERROR_MSGS.NULL_ARGUMENT);
28
+ }
29
+ var entry = this._map.get(serviceIdentifier);
30
+ if (entry !== undefined) {
31
+ return entry;
32
+ }
33
+ else {
34
+ throw new Error(ERROR_MSGS.KEY_NOT_FOUND);
35
+ }
36
+ };
37
+ Lookup.prototype.remove = function (serviceIdentifier) {
38
+ if (serviceIdentifier === null || serviceIdentifier === undefined) {
39
+ throw new Error(ERROR_MSGS.NULL_ARGUMENT);
40
+ }
41
+ if (!this._map.delete(serviceIdentifier)) {
42
+ throw new Error(ERROR_MSGS.KEY_NOT_FOUND);
43
+ }
44
+ };
45
+ Lookup.prototype.removeByCondition = function (condition) {
46
+ var _this = this;
47
+ this._map.forEach(function (entries, key) {
48
+ var updatedEntries = entries.filter(function (entry) { return !condition(entry); });
49
+ if (updatedEntries.length > 0) {
50
+ _this._map.set(key, updatedEntries);
51
+ }
52
+ else {
53
+ _this._map.delete(key);
54
+ }
55
+ });
56
+ };
57
+ Lookup.prototype.hasKey = function (serviceIdentifier) {
58
+ if (serviceIdentifier === null || serviceIdentifier === undefined) {
59
+ throw new Error(ERROR_MSGS.NULL_ARGUMENT);
60
+ }
61
+ return this._map.has(serviceIdentifier);
62
+ };
63
+ Lookup.prototype.clone = function () {
64
+ var copy = new Lookup();
65
+ this._map.forEach(function (value, key) {
66
+ value.forEach(function (b) { return copy.add(key, b.clone()); });
67
+ });
68
+ return copy;
69
+ };
70
+ Lookup.prototype.traverse = function (func) {
71
+ this._map.forEach(function (value, key) {
72
+ func(key, value);
73
+ });
74
+ };
75
+ return Lookup;
76
+ }());
77
+ export { Lookup };
78
+ //# sourceMappingURL=lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../src/container/lookup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces/interfaces.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import * as keys from "./constants/metadata_keys";
2
+ export var METADATA_KEY = keys;
3
+ export { Container } from "./container/container";
4
+ export { BindingScopeEnum, BindingTypeEnum, TargetTypeEnum } from "./constants/literal_types";
5
+ export { AsyncContainerModule, ContainerModule } from "./container/container_module";
6
+ export { injectable } from "./annotation/injectable";
7
+ export { tagged } from "./annotation/tagged";
8
+ export { named } from "./annotation/named";
9
+ export { inject, LazyServiceIdentifer } from "./annotation/inject";
10
+ export { optional } from "./annotation/optional";
11
+ export { unmanaged } from "./annotation/unmanaged";
12
+ export { multiInject } from "./annotation/multi_inject";
13
+ export { targetName } from "./annotation/target_name";
14
+ export { postConstruct } from "./annotation/post_construct";
15
+ export { MetadataReader } from "./planning/metadata_reader";
16
+ export { id } from "./utils/id";
17
+ export { decorate } from "./annotation/decorator_utils";
18
+ export { traverseAncerstors, taggedConstraint, namedConstraint, typeConstraint } from "./syntax/constraint_helpers";
19
+ export { getServiceIdentifierAsString } from "./utils/serialization";
20
+ export { multiBindToService } from "./utils/binding_utils";
21
+ //# sourceMappingURL=inversify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inversify.js","sourceRoot":"","sources":["../src/inversify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAClD,MAAM,CAAC,IAAM,YAAY,GAAG,IAAI,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACpH,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { id } from "../utils/id";
2
+ var Context = (function () {
3
+ function Context(container) {
4
+ this.id = id();
5
+ this.container = container;
6
+ }
7
+ Context.prototype.addPlan = function (plan) {
8
+ this.plan = plan;
9
+ };
10
+ Context.prototype.setCurrentRequest = function (currentRequest) {
11
+ this.currentRequest = currentRequest;
12
+ };
13
+ return Context;
14
+ }());
15
+ export { Context };
16
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/planning/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC;IAOI,iBACI,SAA+B;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,yBAAO,GAAd,UAAe,IAAqB;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEM,mCAAiB,GAAxB,UAAyB,cAAkC;QACvD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAEL,cAAC;AAAD,CAAC,AArBD,IAqBC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as METADATA_KEY from "../constants/metadata_keys";
2
+ var Metadata = (function () {
3
+ function Metadata(key, value) {
4
+ this.key = key;
5
+ this.value = value;
6
+ }
7
+ Metadata.prototype.toString = function () {
8
+ if (this.key === METADATA_KEY.NAMED_TAG) {
9
+ return "named: " + this.value.toString() + " ";
10
+ }
11
+ else {
12
+ return "tagged: { key:" + this.key.toString() + ", value: " + this.value + " }";
13
+ }
14
+ };
15
+ return Metadata;
16
+ }());
17
+ export { Metadata };
18
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/planning/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAG3D;IAKE,kBAAmB,GAA6B,EAAE,KAAU;QAC1D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,2BAAQ,GAAf;QACE,IAAI,IAAI,CAAC,GAAG,KAAK,YAAY,CAAC,SAAS,EAAE;YACvC,OAAO,YAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAG,CAAC;SAC3C;aAAM;YACL,OAAO,mBAAiB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,iBAAY,IAAI,CAAC,KAAK,OAAI,CAAC;SACvE;IACH,CAAC;IACH,eAAC;AAAD,CAAC,AAjBD,IAiBC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import * as METADATA_KEY from "../constants/metadata_keys";
2
+ var MetadataReader = (function () {
3
+ function MetadataReader() {
4
+ }
5
+ MetadataReader.prototype.getConstructorMetadata = function (constructorFunc) {
6
+ var compilerGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.PARAM_TYPES, constructorFunc);
7
+ var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED, constructorFunc);
8
+ return {
9
+ compilerGeneratedMetadata: compilerGeneratedMetadata,
10
+ userGeneratedMetadata: userGeneratedMetadata || {}
11
+ };
12
+ };
13
+ MetadataReader.prototype.getPropertiesMetadata = function (constructorFunc) {
14
+ var userGeneratedMetadata = Reflect.getMetadata(METADATA_KEY.TAGGED_PROP, constructorFunc) || [];
15
+ return userGeneratedMetadata;
16
+ };
17
+ return MetadataReader;
18
+ }());
19
+ export { MetadataReader };
20
+ //# sourceMappingURL=metadata_reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata_reader.js","sourceRoot":"","sources":["../../src/planning/metadata_reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAG3D;IAAA;IAuBA,CAAC;IArBU,+CAAsB,GAA7B,UAA8B,eAAyB;QAGnD,IAAM,yBAAyB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAGjG,IAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAExF,OAAO;YACH,yBAAyB,2BAAA;YACzB,qBAAqB,EAAE,qBAAqB,IAAI,EAAE;SACrD,CAAC;IAEN,CAAC;IAEM,8CAAqB,GAA5B,UAA6B,eAAyB;QAElD,IAAM,qBAAqB,GAAI,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;QACpG,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAEL,qBAAC;AAAD,CAAC,AAvBD,IAuBC;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ var Plan = (function () {
2
+ function Plan(parentContext, rootRequest) {
3
+ this.parentContext = parentContext;
4
+ this.rootRequest = rootRequest;
5
+ }
6
+ return Plan;
7
+ }());
8
+ export { Plan };
9
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/planning/plan.ts"],"names":[],"mappings":"AAEA;IAKI,cAAmB,aAAiC,EAAE,WAA+B;QACjF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IACL,WAAC;AAAD,CAAC,AATD,IASC;AAED,OAAO,EAAE,IAAI,EAAE,CAAC"}