@angular/core 0.0.0-6 → 2.0.0-rc.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 (627) hide show
  1. package/{core.umd.js → bundles/core.umd.js} +6500 -4671
  2. package/bundles/core.umd.min.js +6 -0
  3. package/esm/index.d.ts +5 -4
  4. package/esm/index.js +9 -8
  5. package/esm/index.js.map +1 -1
  6. package/esm/private_export.d.ts +102 -10
  7. package/esm/private_export.js +41 -9
  8. package/esm/private_export.js.map +1 -1
  9. package/esm/private_export.metadata.json +1 -1
  10. package/esm/src/animation/active_animation_players_map.d.ts +11 -0
  11. package/esm/src/animation/active_animation_players_map.js +47 -0
  12. package/esm/src/animation/active_animation_players_map.js.map +1 -0
  13. package/esm/src/animation/animation_constants.d.ts +4 -0
  14. package/esm/src/animation/animation_constants.js +5 -0
  15. package/esm/src/animation/animation_constants.js.map +1 -0
  16. package/esm/src/animation/animation_constants.metadata.json +1 -0
  17. package/esm/src/animation/animation_driver.d.ts +9 -0
  18. package/esm/src/animation/animation_driver.js +9 -0
  19. package/esm/src/animation/animation_driver.js.map +1 -0
  20. package/esm/src/animation/animation_group_player.d.ts +18 -0
  21. package/esm/src/animation/animation_group_player.js +60 -0
  22. package/esm/src/animation/animation_group_player.js.map +1 -0
  23. package/esm/src/animation/animation_keyframe.d.ts +6 -0
  24. package/esm/src/animation/animation_keyframe.js +7 -0
  25. package/esm/src/animation/animation_keyframe.js.map +1 -0
  26. package/esm/src/animation/animation_player.d.ts +26 -0
  27. package/esm/src/animation/animation_player.js +30 -0
  28. package/esm/src/animation/animation_player.js.map +1 -0
  29. package/esm/src/animation/animation_sequence_player.d.ts +21 -0
  30. package/esm/src/animation/animation_sequence_player.js +64 -0
  31. package/esm/src/animation/animation_sequence_player.js.map +1 -0
  32. package/esm/src/animation/animation_style_util.d.ts +32 -0
  33. package/esm/src/animation/animation_style_util.js +91 -0
  34. package/esm/src/animation/animation_style_util.js.map +1 -0
  35. package/esm/src/animation/animation_style_util.metadata.json +1 -0
  36. package/esm/src/animation/animation_styles.d.ts +8 -0
  37. package/esm/src/animation/animation_styles.js +6 -0
  38. package/esm/src/animation/animation_styles.js.map +1 -0
  39. package/esm/src/animation/metadata.d.ts +511 -0
  40. package/esm/src/animation/metadata.js +565 -0
  41. package/esm/src/animation/metadata.js.map +1 -0
  42. package/esm/src/animation/metadata.metadata.json +1 -0
  43. package/esm/src/application_common_providers.d.ts +1 -0
  44. package/esm/src/application_common_providers.js +5 -4
  45. package/esm/src/application_common_providers.js.map +1 -1
  46. package/esm/src/application_common_providers.metadata.json +1 -1
  47. package/esm/src/application_ref.d.ts +17 -41
  48. package/esm/src/application_ref.js +32 -23
  49. package/esm/src/application_ref.js.map +1 -1
  50. package/esm/src/application_ref.metadata.json +1 -1
  51. package/esm/src/application_tokens.d.ts +6 -1
  52. package/esm/src/application_tokens.js +9 -4
  53. package/esm/src/application_tokens.js.map +1 -1
  54. package/esm/src/application_tokens.metadata.json +1 -1
  55. package/esm/src/change_detection/change_detection.d.ts +9 -8
  56. package/esm/src/change_detection/change_detection.js +7 -7
  57. package/esm/src/change_detection/change_detection.js.map +1 -1
  58. package/esm/src/change_detection/change_detection.metadata.json +1 -1
  59. package/esm/src/change_detection/change_detection_util.d.ts +3 -1
  60. package/esm/src/change_detection/change_detection_util.js +6 -5
  61. package/esm/src/change_detection/change_detection_util.js.map +1 -1
  62. package/esm/src/change_detection/change_detection_util.metadata.json +1 -1
  63. package/esm/src/change_detection/change_detector_ref.d.ts +3 -0
  64. package/esm/src/change_detection/change_detector_ref.js +3 -0
  65. package/esm/src/change_detection/change_detector_ref.js.map +1 -1
  66. package/esm/src/change_detection/constants.d.ts +1 -0
  67. package/esm/src/change_detection/constants.js +4 -3
  68. package/esm/src/change_detection/constants.js.map +1 -1
  69. package/esm/src/change_detection/constants.metadata.json +1 -1
  70. package/esm/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  71. package/esm/src/change_detection/differs/default_iterable_differ.js +25 -18
  72. package/esm/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  73. package/esm/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  74. package/esm/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  75. package/esm/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  76. package/esm/src/change_detection/differs/iterable_differs.d.ts +4 -1
  77. package/esm/src/change_detection/differs/iterable_differs.js +5 -4
  78. package/esm/src/change_detection/differs/iterable_differs.js.map +1 -1
  79. package/esm/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  80. package/esm/src/change_detection/differs/keyvalue_differs.js +5 -4
  81. package/esm/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  82. package/esm/src/change_detection/pipe_transform.js.map +1 -1
  83. package/esm/src/change_detection.d.ts +1 -1
  84. package/esm/src/change_detection.js +5 -5
  85. package/esm/src/change_detection.js.map +1 -1
  86. package/esm/src/console.js +2 -1
  87. package/esm/src/console.js.map +1 -1
  88. package/esm/src/console.metadata.json +1 -1
  89. package/esm/src/debug/debug_node.d.ts +20 -2
  90. package/esm/src/debug/debug_node.js +16 -2
  91. package/esm/src/debug/debug_node.js.map +1 -1
  92. package/esm/src/debug/debug_node.metadata.json +1 -0
  93. package/esm/src/debug/debug_renderer.d.ts +10 -6
  94. package/esm/src/debug/debug_renderer.js +13 -2
  95. package/esm/src/debug/debug_renderer.js.map +1 -1
  96. package/esm/src/di/decorators.d.ts +13 -1
  97. package/esm/src/di/decorators.js +7 -1
  98. package/esm/src/di/decorators.js.map +1 -1
  99. package/esm/src/di/decorators.metadata.json +1 -1
  100. package/esm/src/di/forward_ref.d.ts +3 -1
  101. package/esm/src/di/forward_ref.js +3 -1
  102. package/esm/src/di/forward_ref.js.map +1 -1
  103. package/esm/src/di/injector.d.ts +4 -1
  104. package/esm/src/di/injector.js +5 -2
  105. package/esm/src/di/injector.js.map +1 -1
  106. package/esm/src/di/injector.metadata.json +1 -1
  107. package/esm/src/di/metadata.d.ts +8 -1
  108. package/esm/src/di/metadata.js +10 -3
  109. package/esm/src/di/metadata.js.map +1 -1
  110. package/esm/src/di/opaque_token.d.ts +2 -1
  111. package/esm/src/di/opaque_token.js +22 -21
  112. package/esm/src/di/opaque_token.js.map +1 -1
  113. package/esm/src/di/provider.d.ts +11 -10
  114. package/esm/src/di/provider.js +17 -14
  115. package/esm/src/di/provider.js.map +1 -1
  116. package/esm/src/di/provider.metadata.json +1 -0
  117. package/esm/src/di/provider_util.js.map +1 -1
  118. package/esm/src/di/provider_util.metadata.json +1 -0
  119. package/esm/src/di/reflective_exceptions.d.ts +11 -16
  120. package/esm/src/di/reflective_exceptions.js +28 -22
  121. package/esm/src/di/reflective_exceptions.js.map +1 -1
  122. package/esm/src/di/reflective_injector.d.ts +3 -33
  123. package/esm/src/di/reflective_injector.js +10 -7
  124. package/esm/src/di/reflective_injector.js.map +1 -1
  125. package/esm/src/di/reflective_key.d.ts +1 -8
  126. package/esm/src/di/reflective_key.js +3 -2
  127. package/esm/src/di/reflective_key.js.map +1 -1
  128. package/esm/src/di/reflective_provider.d.ts +2 -1
  129. package/esm/src/di/reflective_provider.js +6 -5
  130. package/esm/src/di/reflective_provider.js.map +1 -1
  131. package/esm/src/di/reflective_provider.metadata.json +1 -0
  132. package/esm/src/di.d.ts +2 -2
  133. package/esm/src/di.js +6 -6
  134. package/esm/src/di.js.map +1 -1
  135. package/esm/src/facade/async.d.ts +11 -4
  136. package/esm/src/facade/async.js +25 -15
  137. package/esm/src/facade/async.js.map +1 -1
  138. package/esm/src/facade/base_wrapped_exception.js +4 -4
  139. package/esm/src/facade/base_wrapped_exception.js.map +1 -1
  140. package/esm/src/facade/collection.js +1 -1
  141. package/esm/src/facade/collection.js.map +1 -1
  142. package/esm/src/facade/collection.metadata.json +1 -1
  143. package/esm/src/facade/exception_handler.d.ts +2 -11
  144. package/esm/src/facade/exception_handler.js +8 -7
  145. package/esm/src/facade/exception_handler.js.map +1 -1
  146. package/esm/src/facade/exceptions.d.ts +4 -0
  147. package/esm/src/facade/exceptions.js +6 -2
  148. package/esm/src/facade/exceptions.js.map +1 -1
  149. package/esm/src/facade/exceptions.metadata.json +1 -0
  150. package/esm/src/facade/lang.d.ts +6 -4
  151. package/esm/src/facade/lang.js +12 -11
  152. package/esm/src/facade/lang.js.map +1 -1
  153. package/esm/src/facade/lang.metadata.json +1 -1
  154. package/esm/src/facade/math.d.ts +2 -0
  155. package/esm/src/facade/math.js +4 -0
  156. package/esm/src/facade/math.js.map +1 -0
  157. package/esm/src/facade/math.metadata.json +1 -0
  158. package/esm/src/facade/promise.js.map +1 -1
  159. package/esm/src/linker/component_factory.d.ts +5 -4
  160. package/esm/src/linker/component_factory.js +7 -3
  161. package/esm/src/linker/component_factory.js.map +1 -1
  162. package/esm/src/linker/component_resolver.d.ts +5 -4
  163. package/esm/src/linker/component_resolver.js +12 -7
  164. package/esm/src/linker/component_resolver.js.map +1 -1
  165. package/esm/src/linker/component_resolver.metadata.json +1 -1
  166. package/esm/src/linker/debug_context.js +5 -4
  167. package/esm/src/linker/debug_context.js.map +1 -1
  168. package/esm/src/linker/dynamic_component_loader.d.ts +5 -6
  169. package/esm/src/linker/dynamic_component_loader.js +5 -3
  170. package/esm/src/linker/dynamic_component_loader.js.map +1 -1
  171. package/esm/src/linker/dynamic_component_loader.metadata.json +1 -1
  172. package/esm/src/linker/element.d.ts +3 -3
  173. package/esm/src/linker/element.js +5 -5
  174. package/esm/src/linker/element.js.map +1 -1
  175. package/esm/src/linker/element_injector.js.map +1 -1
  176. package/esm/src/linker/element_ref.d.ts +1 -0
  177. package/esm/src/linker/element_ref.js +5 -5
  178. package/esm/src/linker/element_ref.js.map +1 -1
  179. package/esm/src/linker/exceptions.d.ts +4 -1
  180. package/esm/src/linker/exceptions.js +4 -1
  181. package/esm/src/linker/exceptions.js.map +1 -1
  182. package/esm/src/linker/query_list.d.ts +3 -10
  183. package/esm/src/linker/query_list.js +8 -7
  184. package/esm/src/linker/query_list.js.map +1 -1
  185. package/esm/src/linker/systemjs_component_resolver.d.ts +21 -0
  186. package/esm/src/linker/systemjs_component_resolver.js +44 -0
  187. package/esm/src/linker/systemjs_component_resolver.js.map +1 -0
  188. package/esm/src/linker/template_ref.d.ts +2 -1
  189. package/esm/src/linker/template_ref.js +1 -0
  190. package/esm/src/linker/template_ref.js.map +1 -1
  191. package/esm/src/linker/view.d.ts +12 -1
  192. package/esm/src/linker/view.js +62 -16
  193. package/esm/src/linker/view.js.map +1 -1
  194. package/esm/src/linker/view_container_ref.d.ts +2 -10
  195. package/esm/src/linker/view_container_ref.js +4 -3
  196. package/esm/src/linker/view_container_ref.js.map +1 -1
  197. package/esm/src/linker/view_ref.d.ts +5 -1
  198. package/esm/src/linker/view_ref.js +6 -2
  199. package/esm/src/linker/view_ref.js.map +1 -1
  200. package/esm/src/linker/view_type.js.map +1 -1
  201. package/esm/src/linker/view_utils.d.ts +4 -4
  202. package/esm/src/linker/view_utils.js +25 -22
  203. package/esm/src/linker/view_utils.js.map +1 -1
  204. package/esm/src/linker/view_utils.metadata.json +1 -1
  205. package/esm/src/linker.d.ts +5 -4
  206. package/esm/src/linker.js +5 -4
  207. package/esm/src/linker.js.map +1 -1
  208. package/esm/src/metadata/di.d.ts +8 -1
  209. package/esm/src/metadata/di.js +10 -3
  210. package/esm/src/metadata/di.js.map +1 -1
  211. package/esm/src/metadata/directives.d.ts +104 -20
  212. package/esm/src/metadata/directives.js +25 -19
  213. package/esm/src/metadata/directives.js.map +1 -1
  214. package/esm/src/metadata/lifecycle_hooks.d.ts +46 -31
  215. package/esm/src/metadata/lifecycle_hooks.js +464 -10
  216. package/esm/src/metadata/lifecycle_hooks.js.map +1 -1
  217. package/esm/src/metadata/lifecycle_hooks.metadata.json +1 -1
  218. package/esm/src/metadata/view.d.ts +6 -2
  219. package/esm/src/metadata/view.js +3 -1
  220. package/esm/src/metadata/view.js.map +1 -1
  221. package/esm/src/metadata/view.metadata.json +1 -1
  222. package/esm/src/metadata.d.ts +49 -15
  223. package/esm/src/metadata.js +35 -10
  224. package/esm/src/metadata.js.map +1 -1
  225. package/esm/src/metadata.metadata.json +1 -1
  226. package/esm/src/platform_common_providers.d.ts +1 -0
  227. package/esm/src/platform_common_providers.js +3 -3
  228. package/esm/src/platform_common_providers.js.map +1 -1
  229. package/esm/src/platform_common_providers.metadata.json +1 -1
  230. package/esm/src/platform_directives_and_pipes.d.ts +48 -45
  231. package/esm/src/platform_directives_and_pipes.js +50 -47
  232. package/esm/src/platform_directives_and_pipes.js.map +1 -1
  233. package/esm/src/platform_directives_and_pipes.metadata.json +1 -1
  234. package/esm/src/profile/profile.d.ts +5 -1
  235. package/esm/src/profile/profile.js +4 -0
  236. package/esm/src/profile/profile.js.map +1 -1
  237. package/esm/src/profile/profile.metadata.json +1 -1
  238. package/esm/src/profile/wtf_impl.js +1 -1
  239. package/esm/src/profile/wtf_impl.js.map +1 -1
  240. package/esm/src/profile/wtf_impl.metadata.json +1 -0
  241. package/esm/src/profile/wtf_init.js +2 -2
  242. package/esm/src/profile/wtf_init.js.map +1 -1
  243. package/esm/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  244. package/esm/src/reflection/platform_reflection_capabilities.js.map +1 -1
  245. package/esm/src/reflection/reflection.d.ts +1 -1
  246. package/esm/src/reflection/reflection.js +2 -2
  247. package/esm/src/reflection/reflection.js.map +1 -1
  248. package/esm/src/reflection/reflection.metadata.json +1 -1
  249. package/esm/src/reflection/reflection_capabilities.d.ts +4 -5
  250. package/esm/src/reflection/reflection_capabilities.js +22 -10
  251. package/esm/src/reflection/reflection_capabilities.js.map +1 -1
  252. package/esm/src/reflection/reflector.d.ts +8 -20
  253. package/esm/src/reflection/reflector.js +13 -3
  254. package/esm/src/reflection/reflector.js.map +1 -1
  255. package/esm/src/reflection/reflector_reader.js +3 -3
  256. package/esm/src/reflection/reflector_reader.js.map +1 -1
  257. package/esm/src/reflection/types.js.map +1 -1
  258. package/esm/src/render/api.d.ts +17 -6
  259. package/esm/src/render/api.js +8 -1
  260. package/esm/src/render/api.js.map +1 -1
  261. package/esm/src/render.d.ts +1 -1
  262. package/esm/src/render.js +1 -1
  263. package/esm/src/render.js.map +1 -1
  264. package/esm/src/security.d.ts +22 -0
  265. package/esm/src/security.js +23 -0
  266. package/esm/src/security.js.map +1 -0
  267. package/esm/src/testability/testability.d.ts +3 -19
  268. package/esm/src/testability/testability.js +10 -5
  269. package/esm/src/testability/testability.js.map +1 -1
  270. package/esm/src/testability/testability.metadata.json +1 -1
  271. package/esm/src/util/decorators.d.ts +2 -1
  272. package/esm/src/util/decorators.js +10 -9
  273. package/esm/src/util/decorators.js.map +1 -1
  274. package/esm/src/util.js.map +1 -1
  275. package/esm/src/zone/ng_zone.d.ts +6 -17
  276. package/esm/src/zone/ng_zone.js +7 -6
  277. package/esm/src/zone/ng_zone.js.map +1 -1
  278. package/esm/src/zone/ng_zone_impl.d.ts +1 -4
  279. package/esm/src/zone/ng_zone_impl.js +3 -2
  280. package/esm/src/zone/ng_zone_impl.js.map +1 -1
  281. package/esm/src/zone.js.map +1 -1
  282. package/esm/testing/async.js +20 -22
  283. package/esm/testing/async.js.map +1 -1
  284. package/esm/testing/async.metadata.json +1 -0
  285. package/esm/testing/async_test_completer.js.map +1 -1
  286. package/esm/testing/fake_async.d.ts +4 -1
  287. package/esm/testing/fake_async.js +9 -2
  288. package/esm/testing/fake_async.js.map +1 -1
  289. package/esm/testing/lang_utils.js +1 -1
  290. package/esm/testing/lang_utils.js.map +1 -1
  291. package/esm/testing/lang_utils.metadata.json +1 -0
  292. package/esm/testing/logger.js +5 -3
  293. package/esm/testing/logger.js.map +1 -1
  294. package/esm/testing/logger.metadata.json +1 -1
  295. package/esm/testing/mock_application_ref.d.ts +1 -1
  296. package/esm/testing/mock_application_ref.js +1 -0
  297. package/esm/testing/mock_application_ref.js.map +1 -1
  298. package/esm/testing/mock_application_ref.metadata.json +1 -1
  299. package/esm/testing/ng_zone_mock.d.ts +0 -1
  300. package/esm/testing/ng_zone_mock.js +2 -1
  301. package/esm/testing/ng_zone_mock.js.map +1 -1
  302. package/esm/testing/ng_zone_mock.metadata.json +1 -1
  303. package/esm/testing/regexp.js +1 -1
  304. package/esm/testing/regexp.js.map +1 -1
  305. package/esm/testing/regexp.metadata.json +1 -0
  306. package/esm/testing/test_injector.d.ts +6 -12
  307. package/esm/testing/test_injector.js +4 -10
  308. package/esm/testing/test_injector.js.map +1 -1
  309. package/esm/testing/test_injector.metadata.json +1 -0
  310. package/esm/testing/testing.d.ts +2 -2
  311. package/esm/testing/testing.js +2 -2
  312. package/esm/testing/testing.js.map +1 -1
  313. package/esm/testing/testing.metadata.json +1 -1
  314. package/esm/testing.js.map +1 -1
  315. package/index.d.ts +5 -4
  316. package/index.js +10 -8
  317. package/index.js.map +1 -1
  318. package/package.json +5 -1
  319. package/private_export.d.ts +102 -10
  320. package/private_export.js +41 -9
  321. package/private_export.js.map +1 -1
  322. package/private_export.metadata.json +1 -1
  323. package/src/animation/active_animation_players_map.d.ts +11 -0
  324. package/src/animation/active_animation_players_map.js +54 -0
  325. package/src/animation/active_animation_players_map.js.map +1 -0
  326. package/src/animation/animation_constants.d.ts +4 -0
  327. package/src/animation/animation_constants.js +6 -0
  328. package/src/animation/animation_constants.js.map +1 -0
  329. package/src/animation/animation_constants.metadata.json +1 -0
  330. package/src/animation/animation_driver.d.ts +9 -0
  331. package/src/animation/animation_driver.js +25 -0
  332. package/src/animation/animation_driver.js.map +1 -0
  333. package/src/animation/animation_group_player.d.ts +18 -0
  334. package/src/animation/animation_group_player.js +64 -0
  335. package/src/animation/animation_group_player.js.map +1 -0
  336. package/src/animation/animation_keyframe.d.ts +6 -0
  337. package/src/animation/animation_keyframe.js +10 -0
  338. package/src/animation/animation_keyframe.js.map +1 -0
  339. package/src/animation/animation_player.d.ts +26 -0
  340. package/src/animation/animation_player.js +42 -0
  341. package/src/animation/animation_player.js.map +1 -0
  342. package/src/animation/animation_sequence_player.d.ts +21 -0
  343. package/src/animation/animation_sequence_player.js +69 -0
  344. package/src/animation/animation_sequence_player.js.map +1 -0
  345. package/src/animation/animation_style_util.d.ts +32 -0
  346. package/src/animation/animation_style_util.js +99 -0
  347. package/src/animation/animation_style_util.js.map +1 -0
  348. package/src/animation/animation_style_util.metadata.json +1 -0
  349. package/src/animation/animation_styles.d.ts +8 -0
  350. package/src/animation/animation_styles.js +9 -0
  351. package/src/animation/animation_styles.js.map +1 -0
  352. package/src/animation/metadata.d.ts +511 -0
  353. package/src/animation/metadata.js +627 -0
  354. package/src/animation/metadata.js.map +1 -0
  355. package/src/animation/metadata.metadata.json +1 -0
  356. package/src/application_common_providers.d.ts +1 -0
  357. package/src/application_common_providers.js +4 -3
  358. package/src/application_common_providers.js.map +1 -1
  359. package/src/application_common_providers.metadata.json +1 -1
  360. package/src/application_ref.d.ts +17 -41
  361. package/src/application_ref.js +30 -21
  362. package/src/application_ref.js.map +1 -1
  363. package/src/application_ref.metadata.json +1 -1
  364. package/src/application_tokens.d.ts +6 -1
  365. package/src/application_tokens.js +9 -4
  366. package/src/application_tokens.js.map +1 -1
  367. package/src/application_tokens.metadata.json +1 -1
  368. package/src/change_detection/change_detection.d.ts +9 -8
  369. package/src/change_detection/change_detection.js +21 -21
  370. package/src/change_detection/change_detection.js.map +1 -1
  371. package/src/change_detection/change_detection.metadata.json +1 -1
  372. package/src/change_detection/change_detection_util.d.ts +3 -1
  373. package/src/change_detection/change_detection_util.js +6 -5
  374. package/src/change_detection/change_detection_util.js.map +1 -1
  375. package/src/change_detection/change_detection_util.metadata.json +1 -1
  376. package/src/change_detection/change_detector_ref.d.ts +3 -0
  377. package/src/change_detection/change_detector_ref.js +3 -0
  378. package/src/change_detection/change_detector_ref.js.map +1 -1
  379. package/src/change_detection/constants.d.ts +1 -0
  380. package/src/change_detection/constants.js +4 -3
  381. package/src/change_detection/constants.js.map +1 -1
  382. package/src/change_detection/constants.metadata.json +1 -1
  383. package/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  384. package/src/change_detection/differs/default_iterable_differ.js +25 -18
  385. package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  386. package/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  387. package/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  388. package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  389. package/src/change_detection/differs/iterable_differs.d.ts +4 -1
  390. package/src/change_detection/differs/iterable_differs.js +4 -3
  391. package/src/change_detection/differs/iterable_differs.js.map +1 -1
  392. package/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  393. package/src/change_detection/differs/keyvalue_differs.js +4 -3
  394. package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  395. package/src/change_detection/pipe_transform.js.map +1 -1
  396. package/src/change_detection.d.ts +1 -1
  397. package/src/change_detection.js +9 -9
  398. package/src/change_detection.js.map +1 -1
  399. package/src/console.js +2 -1
  400. package/src/console.js.map +1 -1
  401. package/src/console.metadata.json +1 -1
  402. package/src/debug/debug_node.d.ts +20 -2
  403. package/src/debug/debug_node.js +16 -2
  404. package/src/debug/debug_node.js.map +1 -1
  405. package/src/debug/debug_node.metadata.json +1 -0
  406. package/src/debug/debug_renderer.d.ts +10 -6
  407. package/src/debug/debug_renderer.js +12 -1
  408. package/src/debug/debug_renderer.js.map +1 -1
  409. package/src/di/decorators.d.ts +13 -1
  410. package/src/di/decorators.js +7 -1
  411. package/src/di/decorators.js.map +1 -1
  412. package/src/di/decorators.metadata.json +1 -1
  413. package/src/di/forward_ref.d.ts +3 -1
  414. package/src/di/forward_ref.js +3 -1
  415. package/src/di/forward_ref.js.map +1 -1
  416. package/src/di/injector.d.ts +4 -1
  417. package/src/di/injector.js +5 -2
  418. package/src/di/injector.js.map +1 -1
  419. package/src/di/injector.metadata.json +1 -1
  420. package/src/di/metadata.d.ts +8 -1
  421. package/src/di/metadata.js +10 -3
  422. package/src/di/metadata.js.map +1 -1
  423. package/src/di/opaque_token.d.ts +2 -1
  424. package/src/di/opaque_token.js +22 -21
  425. package/src/di/opaque_token.js.map +1 -1
  426. package/src/di/provider.d.ts +11 -10
  427. package/src/di/provider.js +17 -14
  428. package/src/di/provider.js.map +1 -1
  429. package/src/di/provider.metadata.json +1 -0
  430. package/src/di/provider_util.js.map +1 -1
  431. package/src/di/provider_util.metadata.json +1 -0
  432. package/src/di/reflective_exceptions.d.ts +11 -16
  433. package/src/di/reflective_exceptions.js +28 -22
  434. package/src/di/reflective_exceptions.js.map +1 -1
  435. package/src/di/reflective_injector.d.ts +3 -33
  436. package/src/di/reflective_injector.js +9 -6
  437. package/src/di/reflective_injector.js.map +1 -1
  438. package/src/di/reflective_key.d.ts +1 -8
  439. package/src/di/reflective_key.js +3 -2
  440. package/src/di/reflective_key.js.map +1 -1
  441. package/src/di/reflective_provider.d.ts +2 -1
  442. package/src/di/reflective_provider.js +6 -5
  443. package/src/di/reflective_provider.js.map +1 -1
  444. package/src/di/reflective_provider.metadata.json +1 -0
  445. package/src/di.d.ts +2 -2
  446. package/src/di.js +7 -9
  447. package/src/di.js.map +1 -1
  448. package/src/facade/async.d.ts +11 -4
  449. package/src/facade/async.js +27 -17
  450. package/src/facade/async.js.map +1 -1
  451. package/src/facade/base_wrapped_exception.js +4 -4
  452. package/src/facade/base_wrapped_exception.js.map +1 -1
  453. package/src/facade/collection.js.map +1 -1
  454. package/src/facade/collection.metadata.json +1 -1
  455. package/src/facade/exception_handler.d.ts +2 -11
  456. package/src/facade/exception_handler.js +8 -7
  457. package/src/facade/exception_handler.js.map +1 -1
  458. package/src/facade/exceptions.d.ts +4 -0
  459. package/src/facade/exceptions.js +6 -2
  460. package/src/facade/exceptions.js.map +1 -1
  461. package/src/facade/exceptions.metadata.json +1 -0
  462. package/src/facade/lang.d.ts +6 -4
  463. package/src/facade/lang.js +12 -11
  464. package/src/facade/lang.js.map +1 -1
  465. package/src/facade/lang.metadata.json +1 -1
  466. package/src/facade/math.d.ts +2 -0
  467. package/src/facade/math.js +5 -0
  468. package/src/facade/math.js.map +1 -0
  469. package/src/facade/math.metadata.json +1 -0
  470. package/src/facade/promise.js.map +1 -1
  471. package/src/linker/component_factory.d.ts +5 -4
  472. package/src/linker/component_factory.js +7 -3
  473. package/src/linker/component_factory.js.map +1 -1
  474. package/src/linker/component_resolver.d.ts +5 -4
  475. package/src/linker/component_resolver.js +12 -7
  476. package/src/linker/component_resolver.js.map +1 -1
  477. package/src/linker/component_resolver.metadata.json +1 -1
  478. package/src/linker/debug_context.js +5 -4
  479. package/src/linker/debug_context.js.map +1 -1
  480. package/src/linker/dynamic_component_loader.d.ts +5 -6
  481. package/src/linker/dynamic_component_loader.js +5 -3
  482. package/src/linker/dynamic_component_loader.js.map +1 -1
  483. package/src/linker/dynamic_component_loader.metadata.json +1 -1
  484. package/src/linker/element.d.ts +3 -3
  485. package/src/linker/element.js +5 -5
  486. package/src/linker/element.js.map +1 -1
  487. package/src/linker/element_injector.js.map +1 -1
  488. package/src/linker/element_ref.d.ts +1 -0
  489. package/src/linker/element_ref.js +5 -5
  490. package/src/linker/element_ref.js.map +1 -1
  491. package/src/linker/exceptions.d.ts +4 -1
  492. package/src/linker/exceptions.js +4 -1
  493. package/src/linker/exceptions.js.map +1 -1
  494. package/src/linker/query_list.d.ts +3 -10
  495. package/src/linker/query_list.js +8 -7
  496. package/src/linker/query_list.js.map +1 -1
  497. package/src/linker/systemjs_component_resolver.d.ts +21 -0
  498. package/src/linker/systemjs_component_resolver.js +52 -0
  499. package/src/linker/systemjs_component_resolver.js.map +1 -0
  500. package/src/linker/template_ref.d.ts +2 -1
  501. package/src/linker/template_ref.js +1 -0
  502. package/src/linker/template_ref.js.map +1 -1
  503. package/src/linker/view.d.ts +12 -1
  504. package/src/linker/view.js +65 -15
  505. package/src/linker/view.js.map +1 -1
  506. package/src/linker/view_container_ref.d.ts +2 -10
  507. package/src/linker/view_container_ref.js +4 -3
  508. package/src/linker/view_container_ref.js.map +1 -1
  509. package/src/linker/view_ref.d.ts +5 -1
  510. package/src/linker/view_ref.js +6 -2
  511. package/src/linker/view_ref.js.map +1 -1
  512. package/src/linker/view_type.js.map +1 -1
  513. package/src/linker/view_utils.d.ts +4 -4
  514. package/src/linker/view_utils.js +25 -22
  515. package/src/linker/view_utils.js.map +1 -1
  516. package/src/linker/view_utils.metadata.json +1 -1
  517. package/src/linker.d.ts +5 -4
  518. package/src/linker.js +12 -9
  519. package/src/linker.js.map +1 -1
  520. package/src/metadata/di.d.ts +8 -1
  521. package/src/metadata/di.js +10 -3
  522. package/src/metadata/di.js.map +1 -1
  523. package/src/metadata/directives.d.ts +104 -20
  524. package/src/metadata/directives.js +25 -27
  525. package/src/metadata/directives.js.map +1 -1
  526. package/src/metadata/lifecycle_hooks.d.ts +46 -31
  527. package/src/metadata/lifecycle_hooks.js +496 -10
  528. package/src/metadata/lifecycle_hooks.js.map +1 -1
  529. package/src/metadata/lifecycle_hooks.metadata.json +1 -1
  530. package/src/metadata/view.d.ts +6 -2
  531. package/src/metadata/view.js +3 -1
  532. package/src/metadata/view.js.map +1 -1
  533. package/src/metadata/view.metadata.json +1 -1
  534. package/src/metadata.d.ts +49 -15
  535. package/src/metadata.js +70 -37
  536. package/src/metadata.js.map +1 -1
  537. package/src/metadata.metadata.json +1 -1
  538. package/src/platform_common_providers.d.ts +1 -0
  539. package/src/platform_common_providers.js +3 -3
  540. package/src/platform_common_providers.js.map +1 -1
  541. package/src/platform_common_providers.metadata.json +1 -1
  542. package/src/platform_directives_and_pipes.d.ts +48 -45
  543. package/src/platform_directives_and_pipes.js +50 -47
  544. package/src/platform_directives_and_pipes.js.map +1 -1
  545. package/src/platform_directives_and_pipes.metadata.json +1 -1
  546. package/src/profile/profile.d.ts +5 -1
  547. package/src/profile/profile.js +5 -3
  548. package/src/profile/profile.js.map +1 -1
  549. package/src/profile/profile.metadata.json +1 -1
  550. package/src/profile/wtf_impl.js +1 -1
  551. package/src/profile/wtf_impl.js.map +1 -1
  552. package/src/profile/wtf_impl.metadata.json +1 -0
  553. package/src/profile/wtf_init.js +2 -2
  554. package/src/profile/wtf_init.js.map +1 -1
  555. package/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  556. package/src/reflection/platform_reflection_capabilities.js.map +1 -1
  557. package/src/reflection/reflection.d.ts +1 -1
  558. package/src/reflection/reflection.js +2 -2
  559. package/src/reflection/reflection.js.map +1 -1
  560. package/src/reflection/reflection.metadata.json +1 -1
  561. package/src/reflection/reflection_capabilities.d.ts +4 -5
  562. package/src/reflection/reflection_capabilities.js +24 -10
  563. package/src/reflection/reflection_capabilities.js.map +1 -1
  564. package/src/reflection/reflector.d.ts +8 -20
  565. package/src/reflection/reflector.js +13 -3
  566. package/src/reflection/reflector.js.map +1 -1
  567. package/src/reflection/reflector_reader.js +3 -3
  568. package/src/reflection/reflector_reader.js.map +1 -1
  569. package/src/reflection/types.js.map +1 -1
  570. package/src/render/api.d.ts +17 -6
  571. package/src/render/api.js +8 -1
  572. package/src/render/api.js.map +1 -1
  573. package/src/render.d.ts +1 -1
  574. package/src/render.js +2 -2
  575. package/src/render.js.map +1 -1
  576. package/src/security.d.ts +22 -0
  577. package/src/security.js +28 -0
  578. package/src/security.js.map +1 -0
  579. package/src/testability/testability.d.ts +3 -19
  580. package/src/testability/testability.js +10 -5
  581. package/src/testability/testability.js.map +1 -1
  582. package/src/testability/testability.metadata.json +1 -1
  583. package/src/util/decorators.d.ts +2 -1
  584. package/src/util/decorators.js +10 -9
  585. package/src/util/decorators.js.map +1 -1
  586. package/src/util.js.map +1 -1
  587. package/src/zone/ng_zone.d.ts +6 -17
  588. package/src/zone/ng_zone.js +11 -6
  589. package/src/zone/ng_zone.js.map +1 -1
  590. package/src/zone/ng_zone_impl.d.ts +1 -4
  591. package/src/zone/ng_zone_impl.js +3 -2
  592. package/src/zone/ng_zone_impl.js.map +1 -1
  593. package/src/zone.js.map +1 -1
  594. package/testing/async.js +20 -22
  595. package/testing/async.js.map +1 -1
  596. package/testing/async.metadata.json +1 -0
  597. package/testing/async_test_completer.js.map +1 -1
  598. package/testing/fake_async.d.ts +4 -1
  599. package/testing/fake_async.js +10 -2
  600. package/testing/fake_async.js.map +1 -1
  601. package/testing/lang_utils.js +1 -1
  602. package/testing/lang_utils.js.map +1 -1
  603. package/testing/lang_utils.metadata.json +1 -0
  604. package/testing/logger.js +5 -3
  605. package/testing/logger.js.map +1 -1
  606. package/testing/logger.metadata.json +1 -1
  607. package/testing/mock_application_ref.d.ts +1 -1
  608. package/testing/mock_application_ref.js +1 -0
  609. package/testing/mock_application_ref.js.map +1 -1
  610. package/testing/mock_application_ref.metadata.json +1 -1
  611. package/testing/ng_zone_mock.d.ts +0 -1
  612. package/testing/ng_zone_mock.js +2 -1
  613. package/testing/ng_zone_mock.js.map +1 -1
  614. package/testing/ng_zone_mock.metadata.json +1 -1
  615. package/testing/regexp.js +1 -1
  616. package/testing/regexp.js.map +1 -1
  617. package/testing/regexp.metadata.json +1 -0
  618. package/testing/test_injector.d.ts +6 -12
  619. package/testing/test_injector.js +3 -9
  620. package/testing/test_injector.js.map +1 -1
  621. package/testing/test_injector.metadata.json +1 -0
  622. package/testing/testing.d.ts +2 -2
  623. package/testing/testing.js +5 -5
  624. package/testing/testing.js.map +1 -1
  625. package/testing/testing.metadata.json +1 -1
  626. package/testing.js.map +1 -1
  627. package/esm/core.umd.js.map +0 -1
@@ -7,7 +7,7 @@
7
7
  * var t = new OpaqueToken("value");
8
8
  *
9
9
  * var injector = Injector.resolveAndCreate([
10
- * provide(t, {useValue: "bindingValue"})
10
+ * {provide: t, useValue: "bindingValue"}
11
11
  * ]);
12
12
  *
13
13
  * expect(injector.get(t)).toEqual("bindingValue");
@@ -19,6 +19,7 @@
19
19
  * Using an `OpaqueToken` is preferable to using an `Object` as tokens because it provides better
20
20
  * error messages.
21
21
  * @ts2dart_const
22
+ * @stable
22
23
  */
23
24
  export declare class OpaqueToken {
24
25
  private _desc;
@@ -1,26 +1,27 @@
1
1
  "use strict";
2
2
  /**
3
- * Creates a token that can be used in a DI Provider.
4
- *
5
- * ### Example ([live demo](http://plnkr.co/edit/Ys9ezXpj2Mnoy3Uc8KBp?p=preview))
6
- *
7
- * ```typescript
8
- * var t = new OpaqueToken("value");
9
- *
10
- * var injector = Injector.resolveAndCreate([
11
- * provide(t, {useValue: "bindingValue"})
12
- * ]);
13
- *
14
- * expect(injector.get(t)).toEqual("bindingValue");
15
- * ```
16
- *
17
- * Using an `OpaqueToken` is preferable to using strings as tokens because of possible collisions
18
- * caused by multiple providers using the same string as two different tokens.
19
- *
20
- * Using an `OpaqueToken` is preferable to using an `Object` as tokens because it provides better
21
- * error messages.
22
- * @ts2dart_const
23
- */
3
+ * Creates a token that can be used in a DI Provider.
4
+ *
5
+ * ### Example ([live demo](http://plnkr.co/edit/Ys9ezXpj2Mnoy3Uc8KBp?p=preview))
6
+ *
7
+ * ```typescript
8
+ * var t = new OpaqueToken("value");
9
+ *
10
+ * var injector = Injector.resolveAndCreate([
11
+ * {provide: t, useValue: "bindingValue"}
12
+ * ]);
13
+ *
14
+ * expect(injector.get(t)).toEqual("bindingValue");
15
+ * ```
16
+ *
17
+ * Using an `OpaqueToken` is preferable to using strings as tokens because of possible collisions
18
+ * caused by multiple providers using the same string as two different tokens.
19
+ *
20
+ * Using an `OpaqueToken` is preferable to using an `Object` as tokens because it provides better
21
+ * error messages.
22
+ * @ts2dart_const
23
+ * @stable
24
+ */
24
25
  var OpaqueToken = (function () {
25
26
  function OpaqueToken(_desc) {
26
27
  this._desc = _desc;
@@ -1 +1 @@
1
- {"version":3,"file":"opaque_token.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/core/","sources":["src/di/opaque_token.ts"],"names":[],"mappings":";AAIE;;;;;;;;;;;;;;;;;;;;;EAqBC;AACH;IACE,qBAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAErC,8BAAQ,GAAR,cAAqB,MAAM,CAAC,WAAS,IAAI,CAAC,KAAO,CAAC,CAAC,CAAC;IACtD,kBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,mBAAW,cAIvB,CAAA"}
1
+ {"version":3,"file":"opaque_token.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/opaque_token.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IACE,qBAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAErC,8BAAQ,GAAR,cAAqB,MAAM,CAAC,WAAS,IAAI,CAAC,KAAO,CAAC,CAAC,CAAC;IACtD,kBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,mBAAW,cAIvB,CAAA","sourcesContent":["/**\n * Creates a token that can be used in a DI Provider.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Ys9ezXpj2Mnoy3Uc8KBp?p=preview))\n *\n * ```typescript\n * var t = new OpaqueToken(\"value\");\n *\n * var injector = Injector.resolveAndCreate([\n * {provide: t, useValue: \"bindingValue\"}\n * ]);\n *\n * expect(injector.get(t)).toEqual(\"bindingValue\");\n * ```\n *\n * Using an `OpaqueToken` is preferable to using strings as tokens because of possible collisions\n * caused by multiple providers using the same string as two different tokens.\n *\n * Using an `OpaqueToken` is preferable to using an `Object` as tokens because it provides better\n * error messages.\n * @ts2dart_const\n * @stable\n */\nexport class OpaqueToken {\n constructor(private _desc: string) {}\n\n toString(): string { return `Token ${this._desc}`; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { Type } from '../../src/facade/lang';
1
+ import { Type } from '../facade/lang';
2
2
  /**
3
3
  * Describes how the {@link Injector} should instantiate a given token.
4
4
  *
@@ -14,6 +14,7 @@ import { Type } from '../../src/facade/lang';
14
14
  * expect(injector.get("message")).toEqual('Hello');
15
15
  * ```
16
16
  * @ts2dart_const
17
+ * @deprecated
17
18
  */
18
19
  export declare class Provider {
19
20
  /**
@@ -136,8 +137,6 @@ export declare class Provider {
136
137
  * Used in conjunction with `useFactory`.
137
138
  */
138
139
  dependencies: Object[];
139
- /** @internal */
140
- _multi: boolean;
141
140
  constructor(token: any, {useClass, useValue, useExisting, useFactory, deps, multi}: {
142
141
  useClass?: Type;
143
142
  useValue?: any;
@@ -224,6 +223,7 @@ export declare class Binding extends Provider {
224
223
  export declare function bind(token: any): ProviderBuilder;
225
224
  /**
226
225
  * Helper class for the {@link bind} function.
226
+ * @deprecated
227
227
  */
228
228
  export declare class ProviderBuilder {
229
229
  token: any;
@@ -243,11 +243,11 @@ export declare class ProviderBuilder {
243
243
  *
244
244
  * var injectorClass = Injector.resolveAndCreate([
245
245
  * Car,
246
- * provide(Vehicle, {useClass: Car})
246
+ * {provide: Vehicle, useClass: Car}
247
247
  * ]);
248
248
  * var injectorAlias = Injector.resolveAndCreate([
249
249
  * Car,
250
- * provide(Vehicle, {useExisting: Car})
250
+ * {provide: Vehicle, useExisting: Car}
251
251
  * ]);
252
252
  *
253
253
  * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));
@@ -265,7 +265,7 @@ export declare class ProviderBuilder {
265
265
  *
266
266
  * ```typescript
267
267
  * var injector = Injector.resolveAndCreate([
268
- * provide('message', {useValue: 'Hello'})
268
+ * {provide: 'message', useValue: 'Hello'}
269
269
  * ]);
270
270
  *
271
271
  * expect(injector.get('message')).toEqual('Hello');
@@ -290,11 +290,11 @@ export declare class ProviderBuilder {
290
290
  *
291
291
  * var injectorAlias = Injector.resolveAndCreate([
292
292
  * Car,
293
- * provide(Vehicle, {useExisting: Car})
293
+ * {provide: Vehicle, useExisting: Car}
294
294
  * ]);
295
295
  * var injectorClass = Injector.resolveAndCreate([
296
296
  * Car,
297
- * provide(Vehicle, {useClass: Car})
297
+ * {provide: Vehicle, useClass: Car})
298
298
  * ]);
299
299
  *
300
300
  * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));
@@ -312,8 +312,8 @@ export declare class ProviderBuilder {
312
312
  *
313
313
  * ```typescript
314
314
  * var injector = Injector.resolveAndCreate([
315
- * provide(Number, {useFactory: () => { return 1+2; }}),
316
- * provide(String, {useFactory: (v) => { return "Value: " + v; }, deps: [Number]})
315
+ * {provide: Number, useFactory: () => { return 1+2; }},
316
+ * {provide: String, useFactory: (v) => { return "Value: " + v; }, deps: [Number]}
317
317
  * ]);
318
318
  *
319
319
  * expect(injector.get(Number)).toEqual(3);
@@ -328,6 +328,7 @@ export declare class ProviderBuilder {
328
328
  * See {@link Provider} for more details.
329
329
  *
330
330
  * <!-- TODO: improve the docs -->
331
+ * @deprecated
331
332
  */
332
333
  export declare function provide(token: any, {useClass, useValue, useExisting, useFactory, deps, multi}: {
333
334
  useClass?: Type;
@@ -4,8 +4,8 @@ var __extends = (this && this.__extends) || function (d, b) {
4
4
  function __() { this.constructor = d; }
5
5
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
6
  };
7
- var lang_1 = require('../../src/facade/lang');
8
- var exceptions_1 = require('../../src/facade/exceptions');
7
+ var exceptions_1 = require('../facade/exceptions');
8
+ var lang_1 = require('../facade/lang');
9
9
  /**
10
10
  * Describes how the {@link Injector} should instantiate a given token.
11
11
  *
@@ -21,9 +21,10 @@ var exceptions_1 = require('../../src/facade/exceptions');
21
21
  * expect(injector.get("message")).toEqual('Hello');
22
22
  * ```
23
23
  * @ts2dart_const
24
+ * @deprecated
24
25
  */
25
26
  var Provider = (function () {
26
- function Provider(token, _a) {
27
+ function Provider(token /** TODO #9100 */, _a) {
27
28
  var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
28
29
  this.token = token;
29
30
  this.useClass = useClass;
@@ -79,7 +80,7 @@ exports.Provider = Provider;
79
80
  */
80
81
  var Binding = (function (_super) {
81
82
  __extends(Binding, _super);
82
- function Binding(token, _a) {
83
+ function Binding(token /** TODO #9100 */, _a) {
83
84
  var toClass = _a.toClass, toValue = _a.toValue, toAlias = _a.toAlias, toFactory = _a.toFactory, deps = _a.deps, multi = _a.multi;
84
85
  _super.call(this, token, {
85
86
  useClass: toClass,
@@ -137,15 +138,16 @@ exports.Binding = Binding;
137
138
  *
138
139
  * @deprecated
139
140
  */
140
- function bind(token) {
141
+ function bind(token /** TODO #9100 */) {
141
142
  return new ProviderBuilder(token);
142
143
  }
143
144
  exports.bind = bind;
144
145
  /**
145
146
  * Helper class for the {@link bind} function.
147
+ * @deprecated
146
148
  */
147
149
  var ProviderBuilder = (function () {
148
- function ProviderBuilder(token) {
150
+ function ProviderBuilder(token /** TODO #9100 */) {
149
151
  this.token = token;
150
152
  }
151
153
  /**
@@ -163,11 +165,11 @@ var ProviderBuilder = (function () {
163
165
  *
164
166
  * var injectorClass = Injector.resolveAndCreate([
165
167
  * Car,
166
- * provide(Vehicle, {useClass: Car})
168
+ * {provide: Vehicle, useClass: Car}
167
169
  * ]);
168
170
  * var injectorAlias = Injector.resolveAndCreate([
169
171
  * Car,
170
- * provide(Vehicle, {useExisting: Car})
172
+ * {provide: Vehicle, useExisting: Car}
171
173
  * ]);
172
174
  *
173
175
  * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));
@@ -190,7 +192,7 @@ var ProviderBuilder = (function () {
190
192
  *
191
193
  * ```typescript
192
194
  * var injector = Injector.resolveAndCreate([
193
- * provide('message', {useValue: 'Hello'})
195
+ * {provide: 'message', useValue: 'Hello'}
194
196
  * ]);
195
197
  *
196
198
  * expect(injector.get('message')).toEqual('Hello');
@@ -215,11 +217,11 @@ var ProviderBuilder = (function () {
215
217
  *
216
218
  * var injectorAlias = Injector.resolveAndCreate([
217
219
  * Car,
218
- * provide(Vehicle, {useExisting: Car})
220
+ * {provide: Vehicle, useExisting: Car}
219
221
  * ]);
220
222
  * var injectorClass = Injector.resolveAndCreate([
221
223
  * Car,
222
- * provide(Vehicle, {useClass: Car})
224
+ * {provide: Vehicle, useClass: Car})
223
225
  * ]);
224
226
  *
225
227
  * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));
@@ -242,8 +244,8 @@ var ProviderBuilder = (function () {
242
244
  *
243
245
  * ```typescript
244
246
  * var injector = Injector.resolveAndCreate([
245
- * provide(Number, {useFactory: () => { return 1+2; }}),
246
- * provide(String, {useFactory: (v) => { return "Value: " + v; }, deps: [Number]})
247
+ * {provide: Number, useFactory: () => { return 1+2; }},
248
+ * {provide: String, useFactory: (v) => { return "Value: " + v; }, deps: [Number]}
247
249
  * ]);
248
250
  *
249
251
  * expect(injector.get(Number)).toEqual(3);
@@ -265,8 +267,9 @@ exports.ProviderBuilder = ProviderBuilder;
265
267
  * See {@link Provider} for more details.
266
268
  *
267
269
  * <!-- TODO: improve the docs -->
270
+ * @deprecated
268
271
  */
269
- function provide(token, _a) {
272
+ function provide(token /** TODO #9100 */, _a) {
270
273
  var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
271
274
  return new Provider(token, {
272
275
  useClass: useClass,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/core/","sources":["src/di/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/provider.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseException} from '../facade/exceptions';\nimport {Type, isBlank, isFunction, isType, normalizeBool, stringify} from '../facade/lang';\n\n\n/**\n * Describes how the {@link Injector} should instantiate a given token.\n *\n * See {@link provide}.\n *\n * ### Example ([live demo](http://plnkr.co/edit/GNAyj6K6PfYg2NBzgwZ5?p%3Dpreview&p=preview))\n *\n * ```javascript\n * var injector = Injector.resolveAndCreate([\n * new Provider(\"message\", { useValue: 'Hello' })\n * ]);\n *\n * expect(injector.get(\"message\")).toEqual('Hello');\n * ```\n * @ts2dart_const\n * @deprecated\n */\nexport class Provider {\n /**\n * Token used when retrieving this provider. Usually, it is a type {@link Type}.\n */\n token: any /** TODO #9100 */;\n\n /**\n * Binds a DI token to an implementation class.\n *\n * ### Example ([live demo](http://plnkr.co/edit/RSTG86qgmoxCyj9SWPwY?p=preview))\n *\n * Because `useExisting` and `useClass` are often confused, the example contains\n * both use cases for easy comparison.\n *\n * ```typescript\n * class Vehicle {}\n *\n * class Car extends Vehicle {}\n *\n * var injectorClass = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useClass: Car }\n * ]);\n * var injectorAlias = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useExisting: Car }\n * ]);\n *\n * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));\n * expect(injectorClass.get(Vehicle) instanceof Car).toBe(true);\n *\n * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));\n * expect(injectorAlias.get(Vehicle) instanceof Car).toBe(true);\n * ```\n */\n useClass: Type;\n\n /**\n * Binds a DI token to a value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/UFVsMVQIDe7l4waWziES?p=preview))\n *\n * ```javascript\n * var injector = Injector.resolveAndCreate([\n * new Provider(\"message\", { useValue: 'Hello' })\n * ]);\n *\n * expect(injector.get(\"message\")).toEqual('Hello');\n * ```\n */\n useValue: any /** TODO #9100 */;\n\n /**\n * Binds a DI token to an existing token.\n *\n * {@link Injector} returns the same instance as if the provided token was used.\n * This is in contrast to `useClass` where a separate instance of `useClass` is returned.\n *\n * ### Example ([live demo](http://plnkr.co/edit/QsatsOJJ6P8T2fMe9gr8?p=preview))\n *\n * Because `useExisting` and `useClass` are often confused the example contains\n * both use cases for easy comparison.\n *\n * ```typescript\n * class Vehicle {}\n *\n * class Car extends Vehicle {}\n *\n * var injectorAlias = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useExisting: Car }\n * ]);\n * var injectorClass = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useClass: Car }\n * ]);\n *\n * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));\n * expect(injectorAlias.get(Vehicle) instanceof Car).toBe(true);\n *\n * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));\n * expect(injectorClass.get(Vehicle) instanceof Car).toBe(true);\n * ```\n */\n useExisting: any /** TODO #9100 */;\n\n /**\n * Binds a DI token to a function which computes the value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Scoxy0pJNqKGAPZY1VVC?p=preview))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: Number, useFactory: () => { return 1+2; }},\n * new Provider(String, { useFactory: (value) => { return \"Value: \" + value; },\n * deps: [Number] })\n * ]);\n *\n * expect(injector.get(Number)).toEqual(3);\n * expect(injector.get(String)).toEqual('Value: 3');\n * ```\n *\n * Used in conjunction with dependencies.\n */\n useFactory: Function;\n\n /**\n * Specifies a set of dependencies\n * (as `token`s) which should be injected into the factory function.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Scoxy0pJNqKGAPZY1VVC?p=preview))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: Number, useFactory: () => { return 1+2; }},\n * new Provider(String, { useFactory: (value) => { return \"Value: \" + value; },\n * deps: [Number] })\n * ]);\n *\n * expect(injector.get(Number)).toEqual(3);\n * expect(injector.get(String)).toEqual('Value: 3');\n * ```\n *\n * Used in conjunction with `useFactory`.\n */\n dependencies: Object[];\n\n /** @internal */\n _multi: boolean;\n\n constructor(\n token: any /** TODO #9100 */, {useClass, useValue, useExisting, useFactory, deps, multi}: {\n useClass?: Type,\n useValue?: any,\n useExisting?: any,\n useFactory?: Function,\n deps?: Object[],\n multi?: boolean\n }) {\n this.token = token;\n this.useClass = useClass;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory;\n this.dependencies = deps;\n this._multi = multi;\n }\n\n // TODO: Provide a full working example after alpha38 is released.\n /**\n * Creates multiple providers matching the same token (a multi-provider).\n *\n * Multi-providers are used for creating pluggable service, where the system comes\n * with some default providers, and the user can register additional providers.\n * The combination of the default providers and the additional providers will be\n * used to drive the behavior of the system.\n *\n * ### Example\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * new Provider(\"Strings\", { useValue: \"String1\", multi: true}),\n * new Provider(\"Strings\", { useValue: \"String2\", multi: true})\n * ]);\n *\n * expect(injector.get(\"Strings\")).toEqual([\"String1\", \"String2\"]);\n * ```\n *\n * Multi-providers and regular providers cannot be mixed. The following\n * will throw an exception:\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * new Provider(\"Strings\", { useValue: \"String1\", multi: true }),\n * new Provider(\"Strings\", { useValue: \"String2\"})\n * ]);\n * ```\n */\n get multi(): boolean { return normalizeBool(this._multi); }\n}\n\n/**\n * See {@link Provider} instead.\n *\n * @deprecated\n * @ts2dart_const\n */\nexport class Binding extends Provider {\n constructor(token: any /** TODO #9100 */, {toClass, toValue, toAlias, toFactory, deps, multi}: {\n toClass?: Type,\n toValue?: any,\n toAlias?: any,\n toFactory: Function, deps?: Object[], multi?: boolean\n }) {\n super(token, {\n useClass: toClass,\n useValue: toValue,\n useExisting: toAlias,\n useFactory: toFactory,\n deps: deps,\n multi: multi\n });\n }\n\n /**\n * @deprecated\n */\n get toClass() { return this.useClass; }\n\n /**\n * @deprecated\n */\n get toAlias() { return this.useExisting; }\n\n /**\n * @deprecated\n */\n get toFactory() { return this.useFactory; }\n\n /**\n * @deprecated\n */\n get toValue() { return this.useValue; }\n}\n\n/**\n * Creates a {@link Provider}.\n *\n * To construct a {@link Provider}, bind a `token` to either a class, a value, a factory function,\n * or\n * to an existing `token`.\n * See {@link ProviderBuilder} for more details.\n *\n * The `token` is most commonly a class or {@link OpaqueToken-class.html}.\n *\n * @deprecated\n */\nexport function bind(token: any /** TODO #9100 */): ProviderBuilder {\n return new ProviderBuilder(token);\n}\n\n/**\n * Helper class for the {@link bind} function.\n * @deprecated\n */\nexport class ProviderBuilder {\n constructor(public token: any /** TODO #9100 */) {}\n\n /**\n * Binds a DI token to a class.\n *\n * ### Example ([live demo](http://plnkr.co/edit/ZpBCSYqv6e2ud5KXLdxQ?p=preview))\n *\n * Because `toAlias` and `toClass` are often confused, the example contains\n * both use cases for easy comparison.\n *\n * ```typescript\n * class Vehicle {}\n *\n * class Car extends Vehicle {}\n *\n * var injectorClass = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useClass: Car}\n * ]);\n * var injectorAlias = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useExisting: Car}\n * ]);\n *\n * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));\n * expect(injectorClass.get(Vehicle) instanceof Car).toBe(true);\n *\n * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));\n * expect(injectorAlias.get(Vehicle) instanceof Car).toBe(true);\n * ```\n */\n toClass(type: Type): Provider {\n if (!isType(type)) {\n throw new BaseException(\n `Trying to create a class provider but \"${stringify(type)}\" is not a class!`);\n }\n return new Provider(this.token, {useClass: type});\n }\n\n /**\n * Binds a DI token to a value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/G024PFHmDL0cJFgfZK8O?p=preview))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: 'message', useValue: 'Hello'}\n * ]);\n *\n * expect(injector.get('message')).toEqual('Hello');\n * ```\n */\n toValue(value: any): Provider { return new Provider(this.token, {useValue: value}); }\n\n /**\n * Binds a DI token to an existing token.\n *\n * Angular will return the same instance as if the provided token was used. (This is\n * in contrast to `useClass` where a separate instance of `useClass` will be returned.)\n *\n * ### Example ([live demo](http://plnkr.co/edit/uBaoF2pN5cfc5AfZapNw?p=preview))\n *\n * Because `toAlias` and `toClass` are often confused, the example contains\n * both use cases for easy comparison.\n *\n * ```typescript\n * class Vehicle {}\n *\n * class Car extends Vehicle {}\n *\n * var injectorAlias = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useExisting: Car}\n * ]);\n * var injectorClass = Injector.resolveAndCreate([\n * Car,\n * {provide: Vehicle, useClass: Car})\n * ]);\n *\n * expect(injectorAlias.get(Vehicle)).toBe(injectorAlias.get(Car));\n * expect(injectorAlias.get(Vehicle) instanceof Car).toBe(true);\n *\n * expect(injectorClass.get(Vehicle)).not.toBe(injectorClass.get(Car));\n * expect(injectorClass.get(Vehicle) instanceof Car).toBe(true);\n * ```\n */\n toAlias(aliasToken: /*Type*/ any): Provider {\n if (isBlank(aliasToken)) {\n throw new BaseException(`Can not alias ${stringify(this.token)} to a blank value!`);\n }\n return new Provider(this.token, {useExisting: aliasToken});\n }\n\n /**\n * Binds a DI token to a function which computes the value.\n *\n * ### Example ([live demo](http://plnkr.co/edit/OejNIfTT3zb1iBxaIYOb?p=preview))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: Number, useFactory: () => { return 1+2; }},\n * {provide: String, useFactory: (v) => { return \"Value: \" + v; }, deps: [Number]}\n * ]);\n *\n * expect(injector.get(Number)).toEqual(3);\n * expect(injector.get(String)).toEqual('Value: 3');\n * ```\n */\n toFactory(factory: Function, dependencies?: any[]): Provider {\n if (!isFunction(factory)) {\n throw new BaseException(\n `Trying to create a factory provider but \"${stringify(factory)}\" is not a function!`);\n }\n return new Provider(this.token, {useFactory: factory, deps: dependencies});\n }\n}\n\n/**\n * Creates a {@link Provider}.\n *\n * See {@link Provider} for more details.\n *\n * <!-- TODO: improve the docs -->\n * @deprecated\n */\nexport function provide(\n token: any /** TODO #9100 */, {useClass, useValue, useExisting, useFactory, deps, multi}: {\n useClass?: Type,\n useValue?: any,\n useExisting?: any,\n useFactory?: Function,\n deps?: Object[],\n multi?: boolean\n }): Provider {\n return new Provider(token, {\n useClass: useClass,\n useValue: useValue,\n useExisting: useExisting,\n useFactory: useFactory,\n deps: deps,\n multi: multi\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"bind":{"__symbolic":"function","parameters":["token"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ProviderBuilder"},"arguments":[{"__symbolic":"reference","name":"token"}]}},"provide":{"__symbolic":"function","parameters":["token","useClass","useValue","useExisting","useFactory","deps","multi"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Provider"},"arguments":[{"__symbolic":"reference","name":"token"},{"useClass":{"__symbolic":"reference","name":"useClass"},"useValue":{"__symbolic":"reference","name":"useValue"},"useExisting":{"__symbolic":"reference","name":"useExisting"},"useFactory":{"__symbolic":"reference","name":"useFactory"},"deps":{"__symbolic":"reference","name":"deps"},"multi":{"__symbolic":"reference","name":"multi"}}]}}}}
@@ -1 +1 @@
1
- {"version":3,"file":"provider_util.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/core/","sources":["src/di/provider_util.ts"],"names":[],"mappings":";AAIE,yBAAuB,YAAY,CAAC,CAAA;AAEtC,2BAAkC,GAAQ;IACxC,MAAM,CAAC,GAAG,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC;AACtD,CAAC;AAFe,yBAAiB,oBAEhC,CAAA;AAED,wBAA+B,GAAQ;IACrC,MAAM,CAAC,IAAI,mBAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAFe,sBAAc,iBAE7B,CAAA"}
1
+ {"version":3,"file":"provider_util.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/provider_util.ts"],"names":[],"mappings":";AAAA,yBAAuB,YAAY,CAAC,CAAA;AAEpC,2BAAkC,GAAQ;IACxC,MAAM,CAAC,GAAG,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC;AACtD,CAAC;AAFe,yBAAiB,oBAEhC,CAAA;AAED,wBAA+B,GAAQ;IACrC,MAAM,CAAC,IAAI,mBAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAFe,sBAAc,iBAE7B,CAAA","sourcesContent":["import {Provider} from './provider';\n\nexport function isProviderLiteral(obj: any): boolean {\n return obj && typeof obj == 'object' && obj.provide;\n}\n\nexport function createProvider(obj: any): Provider {\n return new Provider(obj.provide, obj);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"isProviderLiteral":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"binop","operator":"==","left":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":15},"right":"object"}},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"provide"}}},"createProvider":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"./provider","name":"Provider"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"provide"},{"__symbolic":"reference","name":"obj"}]}}}}
@@ -1,18 +1,11 @@
1
- import { BaseException, WrappedException } from '../../src/facade/exceptions';
2
- import { ReflectiveKey } from './reflective_key';
1
+ import { BaseException, WrappedException } from '../facade/exceptions';
3
2
  import { ReflectiveInjector } from './reflective_injector';
3
+ import { ReflectiveKey } from './reflective_key';
4
4
  /**
5
5
  * Base class for all errors arising from misconfigured providers.
6
+ * @stable
6
7
  */
7
8
  export declare class AbstractProviderError extends BaseException {
8
- /** @internal */
9
- message: string;
10
- /** @internal */
11
- keys: ReflectiveKey[];
12
- /** @internal */
13
- injectors: ReflectiveInjector[];
14
- /** @internal */
15
- constructResolvingMessage: Function;
16
9
  constructor(injector: ReflectiveInjector, key: ReflectiveKey, constructResolvingMessage: Function);
17
10
  addKey(injector: ReflectiveInjector, key: ReflectiveKey): void;
18
11
  context: any;
@@ -30,6 +23,7 @@ export declare class AbstractProviderError extends BaseException {
30
23
  *
31
24
  * expect(() => Injector.resolveAndCreate([A])).toThrowError();
32
25
  * ```
26
+ * @stable
33
27
  */
34
28
  export declare class NoProviderError extends AbstractProviderError {
35
29
  constructor(injector: ReflectiveInjector, key: ReflectiveKey);
@@ -41,14 +35,15 @@ export declare class NoProviderError extends AbstractProviderError {
41
35
  *
42
36
  * ```typescript
43
37
  * var injector = Injector.resolveAndCreate([
44
- * provide("one", {useFactory: (two) => "two", deps: [[new Inject("two")]]}),
45
- * provide("two", {useFactory: (one) => "one", deps: [[new Inject("one")]]})
38
+ * {provide: "one", useFactory: (two) => "two", deps: [[new Inject("two")]]},
39
+ * {provide: "two", useFactory: (one) => "one", deps: [[new Inject("one")]]}
46
40
  * ]);
47
41
  *
48
42
  * expect(() => injector.get("one")).toThrowError();
49
43
  * ```
50
44
  *
51
45
  * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.
46
+ * @stable
52
47
  */
53
48
  export declare class CyclicDependencyError extends AbstractProviderError {
54
49
  constructor(injector: ReflectiveInjector, key: ReflectiveKey);
@@ -78,12 +73,9 @@ export declare class CyclicDependencyError extends AbstractProviderError {
78
73
  * expect(e.originalStack).toBeDefined();
79
74
  * }
80
75
  * ```
76
+ * @stable
81
77
  */
82
78
  export declare class InstantiationError extends WrappedException {
83
- /** @internal */
84
- keys: ReflectiveKey[];
85
- /** @internal */
86
- injectors: ReflectiveInjector[];
87
79
  constructor(injector: ReflectiveInjector, originalException: any, originalStack: any, key: ReflectiveKey);
88
80
  addKey(injector: ReflectiveInjector, key: ReflectiveKey): void;
89
81
  wrapperMessage: string;
@@ -99,6 +91,7 @@ export declare class InstantiationError extends WrappedException {
99
91
  * ```typescript
100
92
  * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError();
101
93
  * ```
94
+ * @stable
102
95
  */
103
96
  export declare class InvalidProviderError extends BaseException {
104
97
  constructor(provider: any);
@@ -130,6 +123,7 @@ export declare class InvalidProviderError extends BaseException {
130
123
  *
131
124
  * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();
132
125
  * ```
126
+ * @stable
133
127
  */
134
128
  export declare class NoAnnotationError extends BaseException {
135
129
  constructor(typeOrFunc: any, params: any[][]);
@@ -147,6 +141,7 @@ export declare class NoAnnotationError extends BaseException {
147
141
  *
148
142
  * expect(() => injector.getAt(100)).toThrowError();
149
143
  * ```
144
+ * @stable
150
145
  */
151
146
  export declare class OutOfBoundsError extends BaseException {
152
147
  constructor(index: any);
@@ -4,9 +4,9 @@ var __extends = (this && this.__extends) || function (d, b) {
4
4
  function __() { this.constructor = d; }
5
5
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
6
  };
7
- var collection_1 = require('../../src/facade/collection');
8
- var lang_1 = require('../../src/facade/lang');
9
- var exceptions_1 = require('../../src/facade/exceptions');
7
+ var collection_1 = require('../facade/collection');
8
+ var exceptions_1 = require('../facade/exceptions');
9
+ var lang_1 = require('../facade/lang');
10
10
  function findFirstClosedCycle(keys) {
11
11
  var res = [];
12
12
  for (var i = 0; i < keys.length; ++i) {
@@ -24,19 +24,20 @@ function constructResolvingPath(keys) {
24
24
  if (keys.length > 1) {
25
25
  var reversed = findFirstClosedCycle(collection_1.ListWrapper.reversed(keys));
26
26
  var tokenStrs = reversed.map(function (k) { return lang_1.stringify(k.token); });
27
- return " (" + tokenStrs.join(' -> ') + ")";
27
+ return ' (' + tokenStrs.join(' -> ') + ')';
28
28
  }
29
29
  else {
30
- return "";
30
+ return '';
31
31
  }
32
32
  }
33
33
  /**
34
34
  * Base class for all errors arising from misconfigured providers.
35
+ * @stable
35
36
  */
36
37
  var AbstractProviderError = (function (_super) {
37
38
  __extends(AbstractProviderError, _super);
38
39
  function AbstractProviderError(injector, key, constructResolvingMessage) {
39
- _super.call(this, "DI Exception");
40
+ _super.call(this, 'DI Exception');
40
41
  this.keys = [key];
41
42
  this.injectors = [injector];
42
43
  this.constructResolvingMessage = constructResolvingMessage;
@@ -68,6 +69,7 @@ exports.AbstractProviderError = AbstractProviderError;
68
69
  *
69
70
  * expect(() => Injector.resolveAndCreate([A])).toThrowError();
70
71
  * ```
72
+ * @stable
71
73
  */
72
74
  var NoProviderError = (function (_super) {
73
75
  __extends(NoProviderError, _super);
@@ -87,14 +89,15 @@ exports.NoProviderError = NoProviderError;
87
89
  *
88
90
  * ```typescript
89
91
  * var injector = Injector.resolveAndCreate([
90
- * provide("one", {useFactory: (two) => "two", deps: [[new Inject("two")]]}),
91
- * provide("two", {useFactory: (one) => "one", deps: [[new Inject("one")]]})
92
+ * {provide: "one", useFactory: (two) => "two", deps: [[new Inject("two")]]},
93
+ * {provide: "two", useFactory: (one) => "one", deps: [[new Inject("one")]]}
92
94
  * ]);
93
95
  *
94
96
  * expect(() => injector.get("one")).toThrowError();
95
97
  * ```
96
98
  *
97
99
  * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.
100
+ * @stable
98
101
  */
99
102
  var CyclicDependencyError = (function (_super) {
100
103
  __extends(CyclicDependencyError, _super);
@@ -131,11 +134,12 @@ exports.CyclicDependencyError = CyclicDependencyError;
131
134
  * expect(e.originalStack).toBeDefined();
132
135
  * }
133
136
  * ```
137
+ * @stable
134
138
  */
135
139
  var InstantiationError = (function (_super) {
136
140
  __extends(InstantiationError, _super);
137
- function InstantiationError(injector, originalException, originalStack, key) {
138
- _super.call(this, "DI Exception", originalException, originalStack, null);
141
+ function InstantiationError(injector, originalException /** TODO #9100 */, originalStack /** TODO #9100 */, key) {
142
+ _super.call(this, 'DI Exception', originalException, originalStack, null);
139
143
  this.keys = [key];
140
144
  this.injectors = [injector];
141
145
  }
@@ -173,12 +177,12 @@ exports.InstantiationError = InstantiationError;
173
177
  * ```typescript
174
178
  * expect(() => Injector.resolveAndCreate(["not a type"])).toThrowError();
175
179
  * ```
180
+ * @stable
176
181
  */
177
182
  var InvalidProviderError = (function (_super) {
178
183
  __extends(InvalidProviderError, _super);
179
- function InvalidProviderError(provider) {
180
- _super.call(this, "Invalid provider - only instances of Provider and Type are allowed, got: " +
181
- provider.toString());
184
+ function InvalidProviderError(provider /** TODO #9100 */) {
185
+ _super.call(this, "Invalid provider - only instances of Provider and Type are allowed, got: " + provider);
182
186
  }
183
187
  return InvalidProviderError;
184
188
  }(exceptions_1.BaseException));
@@ -210,13 +214,14 @@ exports.InvalidProviderError = InvalidProviderError;
210
214
  *
211
215
  * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();
212
216
  * ```
217
+ * @stable
213
218
  */
214
219
  var NoAnnotationError = (function (_super) {
215
220
  __extends(NoAnnotationError, _super);
216
- function NoAnnotationError(typeOrFunc, params) {
221
+ function NoAnnotationError(typeOrFunc /** TODO #9100 */, params) {
217
222
  _super.call(this, NoAnnotationError._genMessage(typeOrFunc, params));
218
223
  }
219
- NoAnnotationError._genMessage = function (typeOrFunc, params) {
224
+ NoAnnotationError._genMessage = function (typeOrFunc /** TODO #9100 */, params) {
220
225
  var signature = [];
221
226
  for (var i = 0, ii = params.length; i < ii; i++) {
222
227
  var parameter = params[i];
@@ -227,10 +232,10 @@ var NoAnnotationError = (function (_super) {
227
232
  signature.push(parameter.map(lang_1.stringify).join(' '));
228
233
  }
229
234
  }
230
- return "Cannot resolve all parameters for '" + lang_1.stringify(typeOrFunc) + "'(" +
231
- signature.join(', ') + "). " +
232
- "Make sure that all the parameters are decorated with Inject or have valid type annotations and that '" +
233
- lang_1.stringify(typeOrFunc) + "' is decorated with Injectable.";
235
+ return 'Cannot resolve all parameters for \'' + lang_1.stringify(typeOrFunc) + '\'(' +
236
+ signature.join(', ') + '). ' +
237
+ 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \'' +
238
+ lang_1.stringify(typeOrFunc) + '\' is decorated with Injectable.';
234
239
  };
235
240
  return NoAnnotationError;
236
241
  }(exceptions_1.BaseException));
@@ -247,10 +252,11 @@ exports.NoAnnotationError = NoAnnotationError;
247
252
  *
248
253
  * expect(() => injector.getAt(100)).toThrowError();
249
254
  * ```
255
+ * @stable
250
256
  */
251
257
  var OutOfBoundsError = (function (_super) {
252
258
  __extends(OutOfBoundsError, _super);
253
- function OutOfBoundsError(index) {
259
+ function OutOfBoundsError(index /** TODO #9100 */) {
254
260
  _super.call(this, "Index " + index + " is out-of-bounds.");
255
261
  }
256
262
  return OutOfBoundsError;
@@ -271,8 +277,8 @@ exports.OutOfBoundsError = OutOfBoundsError;
271
277
  */
272
278
  var MixingMultiProvidersWithRegularProvidersError = (function (_super) {
273
279
  __extends(MixingMultiProvidersWithRegularProvidersError, _super);
274
- function MixingMultiProvidersWithRegularProvidersError(provider1, provider2) {
275
- _super.call(this, "Cannot mix multi providers and regular providers, got: " + provider1.toString() + " " +
280
+ function MixingMultiProvidersWithRegularProvidersError(provider1 /** TODO #9100 */, provider2 /** TODO #9100 */) {
281
+ _super.call(this, 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +
276
282
  provider2.toString());
277
283
  }
278
284
  return MixingMultiProvidersWithRegularProvidersError;
@@ -1 +1 @@
1
- {"version":3,"file":"reflective_exceptions.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/core/","sources":["src/di/reflective_exceptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflective_exceptions.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/reflective_exceptions.ts"],"names":[],"mappings":";;;;;;AAAA,2BAA0B,sBAAsB,CAAC,CAAA;AACjD,2BAA8C,sBAAsB,CAAC,CAAA;AACrE,qBAAiC,gBAAgB,CAAC,CAAA;AAKlD,8BAA8B,IAAW;IACvC,IAAI,GAAG,GAA4B,EAAE,CAAC;IACtC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,EAAE,CAAC,CAAC,wBAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAED,gCAAgC,IAAW;IACzC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,oBAAoB,CAAC,wBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,gBAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;IAC7C,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,CAAC,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAGD;;;GAGG;AACH;IAA2C,yCAAa;IAatD,+BACI,QAA4B,EAAE,GAAkB,EAAE,yBAAmC;QACvF,kBAAM,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,sCAAM,GAAN,UAAO,QAA4B,EAAE,GAAkB;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,sBAAI,0CAAO;aAAX,cAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpF,4BAAC;AAAD,CAAC,AA7BD,CAA2C,0BAAa,GA6BvD;AA7BY,6BAAqB,wBA6BjC,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH;IAAqC,mCAAqB;IACxD,yBAAY,QAA4B,EAAE,GAAkB;QAC1D,kBAAM,QAAQ,EAAE,GAAG,EAAE,UAAS,IAAW;YACvC,IAAI,KAAK,GAAG,gBAAS,CAAC,wBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,CAAC,qBAAmB,KAAK,SAAI,sBAAsB,CAAC,IAAI,CAAG,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IACH,sBAAC;AAAD,CAAC,AAPD,CAAqC,qBAAqB,GAOzD;AAPY,uBAAe,kBAO3B,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH;IAA2C,yCAAqB;IAC9D,+BAAY,QAA4B,EAAE,GAAkB;QAC1D,kBAAM,QAAQ,EAAE,GAAG,EAAE,UAAS,IAAW;YACvC,MAAM,CAAC,0CAAwC,sBAAsB,CAAC,IAAI,CAAG,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IACH,4BAAC;AAAD,CAAC,AAND,CAA2C,qBAAqB,GAM/D;AANY,6BAAqB,wBAMjC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAAwC,sCAAgB;IAOtD,4BACI,QAA4B,EAAE,iBAAsB,CAAC,iBAAiB,EACtE,aAAkB,CAAC,iBAAiB,EAAE,GAAkB;QAC1D,kBAAM,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,mCAAM,GAAN,UAAO,QAA4B,EAAE,GAAkB;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,sBAAI,8CAAc;aAAlB;YACE,IAAI,KAAK,GAAG,gBAAS,CAAC,wBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YAC1D,MAAM,CAAC,mCAAiC,KAAK,SAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG,CAAC;QACxF,CAAC;;;OAAA;IAED,sBAAI,wCAAQ;aAAZ,cAAgC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAEtD,sBAAI,uCAAO;aAAX,cAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpF,yBAAC;AAAD,CAAC,AA5BD,CAAwC,6BAAgB,GA4BvD;AA5BY,0BAAkB,qBA4B9B,CAAA;AAED;;;;;;;;;;GAUG;AACH;IAA0C,wCAAa;IACrD,8BAAY,QAAa,CAAC,iBAAiB;QACzC,kBAAM,8EAA4E,QAAU,CAAC,CAAC;IAChG,CAAC;IACH,2BAAC;AAAD,CAAC,AAJD,CAA0C,0BAAa,GAItD;AAJY,4BAAoB,uBAIhC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;IAAuC,qCAAa;IAClD,2BAAY,UAAe,CAAC,iBAAiB,EAAE,MAAe;QAC5D,kBAAM,iBAAiB,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEc,6BAAW,GAA1B,UAA2B,UAAe,CAAC,iBAAiB,EAAE,MAAe;QAC3E,IAAI,SAAS,GAA4B,EAAE,CAAC;QAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,IAAI,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1B,EAAE,CAAC,CAAC,cAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,MAAM,CAAC,sCAAsC,GAAG,gBAAS,CAAC,UAAU,CAAC,GAAG,KAAK;YACzE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK;YAC5B,wGAAwG;YACxG,gBAAS,CAAC,UAAU,CAAC,GAAG,kCAAkC,CAAC;IACjE,CAAC;IACH,wBAAC;AAAD,CAAC,AApBD,CAAuC,0BAAa,GAoBnD;AApBY,yBAAiB,oBAoB7B,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH;IAAsC,oCAAa;IACjD,0BAAY,KAAU,CAAC,iBAAiB;QAAI,kBAAM,WAAS,KAAK,uBAAoB,CAAC,CAAC;IAAC,CAAC;IAC1F,uBAAC;AAAD,CAAC,AAFD,CAAsC,0BAAa,GAElD;AAFY,wBAAgB,mBAE5B,CAAA;AAED,wDAAwD;AACxD;;;;;;;;;;;GAWG;AACH;IAAmE,iEAAa;IAC9E,uDAAY,SAAc,CAAC,iBAAiB,EAAE,SAAc,CAAC,iBAAiB;QAC5E,kBACI,yDAAyD,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG;YACtF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5B,CAAC;IACH,oDAAC;AAAD,CAAC,AAND,CAAmE,0BAAa,GAM/E;AANY,qDAA6C,gDAMzD,CAAA","sourcesContent":["import {ListWrapper} from '../facade/collection';\nimport {BaseException, WrappedException} from '../facade/exceptions';\nimport {isBlank, stringify} from '../facade/lang';\n\nimport {ReflectiveInjector} from './reflective_injector';\nimport {ReflectiveKey} from './reflective_key';\n\nfunction findFirstClosedCycle(keys: any[]): any[] {\n var res: any[] /** TODO #9100 */ = [];\n for (var i = 0; i < keys.length; ++i) {\n if (ListWrapper.contains(res, keys[i])) {\n res.push(keys[i]);\n return res;\n } else {\n res.push(keys[i]);\n }\n }\n return res;\n}\n\nfunction constructResolvingPath(keys: any[]): string {\n if (keys.length > 1) {\n var reversed = findFirstClosedCycle(ListWrapper.reversed(keys));\n var tokenStrs = reversed.map(k => stringify(k.token));\n return ' (' + tokenStrs.join(' -> ') + ')';\n } else {\n return '';\n }\n}\n\n\n/**\n * Base class for all errors arising from misconfigured providers.\n * @stable\n */\nexport class AbstractProviderError extends BaseException {\n /** @internal */\n message: string;\n\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n /** @internal */\n constructResolvingMessage: Function;\n\n constructor(\n injector: ReflectiveInjector, key: ReflectiveKey, constructResolvingMessage: Function) {\n super('DI Exception');\n this.keys = [key];\n this.injectors = [injector];\n this.constructResolvingMessage = constructResolvingMessage;\n this.message = this.constructResolvingMessage(this.keys);\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n this.message = this.constructResolvingMessage(this.keys);\n }\n\n get context() { return this.injectors[this.injectors.length - 1].debugContext(); }\n}\n\n/**\n * Thrown when trying to retrieve a dependency by `Key` from {@link Injector}, but the\n * {@link Injector} does not have a {@link Provider} for {@link Key}.\n *\n * ### Example ([live demo](http://plnkr.co/edit/vq8D3FRB9aGbnWJqtEPE?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b:B) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n * @stable\n */\nexport class NoProviderError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n var first = stringify(ListWrapper.first(keys).token);\n return `No provider for ${first}!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when dependencies form a cycle.\n *\n * ### Example ([live demo](http://plnkr.co/edit/wYQdNos0Tzql3ei1EV9j?p=info))\n *\n * ```typescript\n * var injector = Injector.resolveAndCreate([\n * {provide: \"one\", useFactory: (two) => \"two\", deps: [[new Inject(\"two\")]]},\n * {provide: \"two\", useFactory: (one) => \"one\", deps: [[new Inject(\"one\")]]}\n * ]);\n *\n * expect(() => injector.get(\"one\")).toThrowError();\n * ```\n *\n * Retrieving `A` or `B` throws a `CyclicDependencyError` as the graph above cannot be constructed.\n * @stable\n */\nexport class CyclicDependencyError extends AbstractProviderError {\n constructor(injector: ReflectiveInjector, key: ReflectiveKey) {\n super(injector, key, function(keys: any[]) {\n return `Cannot instantiate cyclic dependency!${constructResolvingPath(keys)}`;\n });\n }\n}\n\n/**\n * Thrown when a constructing type returns with an Error.\n *\n * The `InstantiationError` class contains the original error plus the dependency graph which caused\n * this object to be instantiated.\n *\n * ### Example ([live demo](http://plnkr.co/edit/7aWYdcqTQsP0eNqEdUAf?p=preview))\n *\n * ```typescript\n * class A {\n * constructor() {\n * throw new Error('message');\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([A]);\n\n * try {\n * injector.get(A);\n * } catch (e) {\n * expect(e instanceof InstantiationError).toBe(true);\n * expect(e.originalException.message).toEqual(\"message\");\n * expect(e.originalStack).toBeDefined();\n * }\n * ```\n * @stable\n */\nexport class InstantiationError extends WrappedException {\n /** @internal */\n keys: ReflectiveKey[];\n\n /** @internal */\n injectors: ReflectiveInjector[];\n\n constructor(\n injector: ReflectiveInjector, originalException: any /** TODO #9100 */,\n originalStack: any /** TODO #9100 */, key: ReflectiveKey) {\n super('DI Exception', originalException, originalStack, null);\n this.keys = [key];\n this.injectors = [injector];\n }\n\n addKey(injector: ReflectiveInjector, key: ReflectiveKey): void {\n this.injectors.push(injector);\n this.keys.push(key);\n }\n\n get wrapperMessage(): string {\n var first = stringify(ListWrapper.first(this.keys).token);\n return `Error during instantiation of ${first}!${constructResolvingPath(this.keys)}.`;\n }\n\n get causeKey(): ReflectiveKey { return this.keys[0]; }\n\n get context() { return this.injectors[this.injectors.length - 1].debugContext(); }\n}\n\n/**\n * Thrown when an object other then {@link Provider} (or `Type`) is passed to {@link Injector}\n * creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/YatCFbPAMCL0JSSQ4mvH?p=preview))\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\"not a type\"])).toThrowError();\n * ```\n * @stable\n */\nexport class InvalidProviderError extends BaseException {\n constructor(provider: any /** TODO #9100 */) {\n super(`Invalid provider - only instances of Provider and Type are allowed, got: ${provider}`);\n }\n}\n\n/**\n * Thrown when the class has no annotation information.\n *\n * Lack of annotation information prevents the {@link Injector} from determining which dependencies\n * need to be injected into the constructor.\n *\n * ### Example ([live demo](http://plnkr.co/edit/rHnZtlNS7vJOPQ6pcVkm?p=preview))\n *\n * ```typescript\n * class A {\n * constructor(b) {}\n * }\n *\n * expect(() => Injector.resolveAndCreate([A])).toThrowError();\n * ```\n *\n * This error is also thrown when the class not marked with {@link Injectable} has parameter types.\n *\n * ```typescript\n * class B {}\n *\n * class A {\n * constructor(b:B) {} // no information about the parameter types of A is available at runtime.\n * }\n *\n * expect(() => Injector.resolveAndCreate([A,B])).toThrowError();\n * ```\n * @stable\n */\nexport class NoAnnotationError extends BaseException {\n constructor(typeOrFunc: any /** TODO #9100 */, params: any[][]) {\n super(NoAnnotationError._genMessage(typeOrFunc, params));\n }\n\n private static _genMessage(typeOrFunc: any /** TODO #9100 */, params: any[][]) {\n var signature: any[] /** TODO #9100 */ = [];\n for (var i = 0, ii = params.length; i < ii; i++) {\n var parameter = params[i];\n if (isBlank(parameter) || parameter.length == 0) {\n signature.push('?');\n } else {\n signature.push(parameter.map(stringify).join(' '));\n }\n }\n return 'Cannot resolve all parameters for \\'' + stringify(typeOrFunc) + '\\'(' +\n signature.join(', ') + '). ' +\n 'Make sure that all the parameters are decorated with Inject or have valid type annotations and that \\'' +\n stringify(typeOrFunc) + '\\' is decorated with Injectable.';\n }\n}\n\n/**\n * Thrown when getting an object by index.\n *\n * ### Example ([live demo](http://plnkr.co/edit/bRs0SX2OTQiJzqvjgl8P?p=preview))\n *\n * ```typescript\n * class A {}\n *\n * var injector = Injector.resolveAndCreate([A]);\n *\n * expect(() => injector.getAt(100)).toThrowError();\n * ```\n * @stable\n */\nexport class OutOfBoundsError extends BaseException {\n constructor(index: any /** TODO #9100 */) { super(`Index ${index} is out-of-bounds.`); }\n}\n\n// TODO: add a working example after alpha38 is released\n/**\n * Thrown when a multi provider and a regular provider are bound to the same token.\n *\n * ### Example\n *\n * ```typescript\n * expect(() => Injector.resolveAndCreate([\n * new Provider(\"Strings\", {useValue: \"string1\", multi: true}),\n * new Provider(\"Strings\", {useValue: \"string2\", multi: false})\n * ])).toThrowError();\n * ```\n */\nexport class MixingMultiProvidersWithRegularProvidersError extends BaseException {\n constructor(provider1: any /** TODO #9100 */, provider2: any /** TODO #9100 */) {\n super(\n 'Cannot mix multi providers and regular providers, got: ' + provider1.toString() + ' ' +\n provider2.toString());\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}