@angular/core 2.0.0-rc.1 → 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 (624) hide show
  1. package/{core.umd.js → bundles/core.umd.js} +6402 -4606
  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 +96 -11
  7. package/esm/private_export.js +39 -10
  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 +2 -4
  202. package/esm/src/linker/view_utils.js +21 -21
  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.js +6 -6
  265. package/esm/src/security.js.map +1 -1
  266. package/esm/src/testability/testability.d.ts +3 -19
  267. package/esm/src/testability/testability.js +10 -5
  268. package/esm/src/testability/testability.js.map +1 -1
  269. package/esm/src/testability/testability.metadata.json +1 -1
  270. package/esm/src/util/decorators.d.ts +2 -1
  271. package/esm/src/util/decorators.js +10 -9
  272. package/esm/src/util/decorators.js.map +1 -1
  273. package/esm/src/util.js.map +1 -1
  274. package/esm/src/zone/ng_zone.d.ts +6 -17
  275. package/esm/src/zone/ng_zone.js +7 -6
  276. package/esm/src/zone/ng_zone.js.map +1 -1
  277. package/esm/src/zone/ng_zone_impl.d.ts +1 -4
  278. package/esm/src/zone/ng_zone_impl.js +3 -2
  279. package/esm/src/zone/ng_zone_impl.js.map +1 -1
  280. package/esm/src/zone.js.map +1 -1
  281. package/esm/testing/async.js +20 -22
  282. package/esm/testing/async.js.map +1 -1
  283. package/esm/testing/async.metadata.json +1 -0
  284. package/esm/testing/async_test_completer.js.map +1 -1
  285. package/esm/testing/fake_async.d.ts +4 -1
  286. package/esm/testing/fake_async.js +9 -2
  287. package/esm/testing/fake_async.js.map +1 -1
  288. package/esm/testing/lang_utils.js +1 -1
  289. package/esm/testing/lang_utils.js.map +1 -1
  290. package/esm/testing/lang_utils.metadata.json +1 -0
  291. package/esm/testing/logger.js +5 -3
  292. package/esm/testing/logger.js.map +1 -1
  293. package/esm/testing/logger.metadata.json +1 -1
  294. package/esm/testing/mock_application_ref.d.ts +1 -1
  295. package/esm/testing/mock_application_ref.js +1 -0
  296. package/esm/testing/mock_application_ref.js.map +1 -1
  297. package/esm/testing/mock_application_ref.metadata.json +1 -1
  298. package/esm/testing/ng_zone_mock.d.ts +0 -1
  299. package/esm/testing/ng_zone_mock.js +2 -1
  300. package/esm/testing/ng_zone_mock.js.map +1 -1
  301. package/esm/testing/ng_zone_mock.metadata.json +1 -1
  302. package/esm/testing/regexp.js +1 -1
  303. package/esm/testing/regexp.js.map +1 -1
  304. package/esm/testing/regexp.metadata.json +1 -0
  305. package/esm/testing/test_injector.d.ts +6 -12
  306. package/esm/testing/test_injector.js +4 -10
  307. package/esm/testing/test_injector.js.map +1 -1
  308. package/esm/testing/test_injector.metadata.json +1 -0
  309. package/esm/testing/testing.d.ts +2 -2
  310. package/esm/testing/testing.js +2 -2
  311. package/esm/testing/testing.js.map +1 -1
  312. package/esm/testing/testing.metadata.json +1 -1
  313. package/esm/testing.js.map +1 -1
  314. package/index.d.ts +5 -4
  315. package/index.js +10 -8
  316. package/index.js.map +1 -1
  317. package/package.json +5 -1
  318. package/private_export.d.ts +96 -11
  319. package/private_export.js +39 -10
  320. package/private_export.js.map +1 -1
  321. package/private_export.metadata.json +1 -1
  322. package/src/animation/active_animation_players_map.d.ts +11 -0
  323. package/src/animation/active_animation_players_map.js +54 -0
  324. package/src/animation/active_animation_players_map.js.map +1 -0
  325. package/src/animation/animation_constants.d.ts +4 -0
  326. package/src/animation/animation_constants.js +6 -0
  327. package/src/animation/animation_constants.js.map +1 -0
  328. package/src/animation/animation_constants.metadata.json +1 -0
  329. package/src/animation/animation_driver.d.ts +9 -0
  330. package/src/animation/animation_driver.js +25 -0
  331. package/src/animation/animation_driver.js.map +1 -0
  332. package/src/animation/animation_group_player.d.ts +18 -0
  333. package/src/animation/animation_group_player.js +64 -0
  334. package/src/animation/animation_group_player.js.map +1 -0
  335. package/src/animation/animation_keyframe.d.ts +6 -0
  336. package/src/animation/animation_keyframe.js +10 -0
  337. package/src/animation/animation_keyframe.js.map +1 -0
  338. package/src/animation/animation_player.d.ts +26 -0
  339. package/src/animation/animation_player.js +42 -0
  340. package/src/animation/animation_player.js.map +1 -0
  341. package/src/animation/animation_sequence_player.d.ts +21 -0
  342. package/src/animation/animation_sequence_player.js +69 -0
  343. package/src/animation/animation_sequence_player.js.map +1 -0
  344. package/src/animation/animation_style_util.d.ts +32 -0
  345. package/src/animation/animation_style_util.js +99 -0
  346. package/src/animation/animation_style_util.js.map +1 -0
  347. package/src/animation/animation_style_util.metadata.json +1 -0
  348. package/src/animation/animation_styles.d.ts +8 -0
  349. package/src/animation/animation_styles.js +9 -0
  350. package/src/animation/animation_styles.js.map +1 -0
  351. package/src/animation/metadata.d.ts +511 -0
  352. package/src/animation/metadata.js +627 -0
  353. package/src/animation/metadata.js.map +1 -0
  354. package/src/animation/metadata.metadata.json +1 -0
  355. package/src/application_common_providers.d.ts +1 -0
  356. package/src/application_common_providers.js +4 -3
  357. package/src/application_common_providers.js.map +1 -1
  358. package/src/application_common_providers.metadata.json +1 -1
  359. package/src/application_ref.d.ts +17 -41
  360. package/src/application_ref.js +30 -21
  361. package/src/application_ref.js.map +1 -1
  362. package/src/application_ref.metadata.json +1 -1
  363. package/src/application_tokens.d.ts +6 -1
  364. package/src/application_tokens.js +9 -4
  365. package/src/application_tokens.js.map +1 -1
  366. package/src/application_tokens.metadata.json +1 -1
  367. package/src/change_detection/change_detection.d.ts +9 -8
  368. package/src/change_detection/change_detection.js +21 -21
  369. package/src/change_detection/change_detection.js.map +1 -1
  370. package/src/change_detection/change_detection.metadata.json +1 -1
  371. package/src/change_detection/change_detection_util.d.ts +3 -1
  372. package/src/change_detection/change_detection_util.js +6 -5
  373. package/src/change_detection/change_detection_util.js.map +1 -1
  374. package/src/change_detection/change_detection_util.metadata.json +1 -1
  375. package/src/change_detection/change_detector_ref.d.ts +3 -0
  376. package/src/change_detection/change_detector_ref.js +3 -0
  377. package/src/change_detection/change_detector_ref.js.map +1 -1
  378. package/src/change_detection/constants.d.ts +1 -0
  379. package/src/change_detection/constants.js +4 -3
  380. package/src/change_detection/constants.js.map +1 -1
  381. package/src/change_detection/constants.metadata.json +1 -1
  382. package/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  383. package/src/change_detection/differs/default_iterable_differ.js +25 -18
  384. package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  385. package/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  386. package/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  387. package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  388. package/src/change_detection/differs/iterable_differs.d.ts +4 -1
  389. package/src/change_detection/differs/iterable_differs.js +4 -3
  390. package/src/change_detection/differs/iterable_differs.js.map +1 -1
  391. package/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  392. package/src/change_detection/differs/keyvalue_differs.js +4 -3
  393. package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  394. package/src/change_detection/pipe_transform.js.map +1 -1
  395. package/src/change_detection.d.ts +1 -1
  396. package/src/change_detection.js +9 -9
  397. package/src/change_detection.js.map +1 -1
  398. package/src/console.js +2 -1
  399. package/src/console.js.map +1 -1
  400. package/src/console.metadata.json +1 -1
  401. package/src/debug/debug_node.d.ts +20 -2
  402. package/src/debug/debug_node.js +16 -2
  403. package/src/debug/debug_node.js.map +1 -1
  404. package/src/debug/debug_node.metadata.json +1 -0
  405. package/src/debug/debug_renderer.d.ts +10 -6
  406. package/src/debug/debug_renderer.js +12 -1
  407. package/src/debug/debug_renderer.js.map +1 -1
  408. package/src/di/decorators.d.ts +13 -1
  409. package/src/di/decorators.js +7 -1
  410. package/src/di/decorators.js.map +1 -1
  411. package/src/di/decorators.metadata.json +1 -1
  412. package/src/di/forward_ref.d.ts +3 -1
  413. package/src/di/forward_ref.js +3 -1
  414. package/src/di/forward_ref.js.map +1 -1
  415. package/src/di/injector.d.ts +4 -1
  416. package/src/di/injector.js +5 -2
  417. package/src/di/injector.js.map +1 -1
  418. package/src/di/injector.metadata.json +1 -1
  419. package/src/di/metadata.d.ts +8 -1
  420. package/src/di/metadata.js +10 -3
  421. package/src/di/metadata.js.map +1 -1
  422. package/src/di/opaque_token.d.ts +2 -1
  423. package/src/di/opaque_token.js +22 -21
  424. package/src/di/opaque_token.js.map +1 -1
  425. package/src/di/provider.d.ts +11 -10
  426. package/src/di/provider.js +17 -14
  427. package/src/di/provider.js.map +1 -1
  428. package/src/di/provider.metadata.json +1 -0
  429. package/src/di/provider_util.js.map +1 -1
  430. package/src/di/provider_util.metadata.json +1 -0
  431. package/src/di/reflective_exceptions.d.ts +11 -16
  432. package/src/di/reflective_exceptions.js +28 -22
  433. package/src/di/reflective_exceptions.js.map +1 -1
  434. package/src/di/reflective_injector.d.ts +3 -33
  435. package/src/di/reflective_injector.js +9 -6
  436. package/src/di/reflective_injector.js.map +1 -1
  437. package/src/di/reflective_key.d.ts +1 -8
  438. package/src/di/reflective_key.js +3 -2
  439. package/src/di/reflective_key.js.map +1 -1
  440. package/src/di/reflective_provider.d.ts +2 -1
  441. package/src/di/reflective_provider.js +6 -5
  442. package/src/di/reflective_provider.js.map +1 -1
  443. package/src/di/reflective_provider.metadata.json +1 -0
  444. package/src/di.d.ts +2 -2
  445. package/src/di.js +7 -9
  446. package/src/di.js.map +1 -1
  447. package/src/facade/async.d.ts +11 -4
  448. package/src/facade/async.js +27 -17
  449. package/src/facade/async.js.map +1 -1
  450. package/src/facade/base_wrapped_exception.js +4 -4
  451. package/src/facade/base_wrapped_exception.js.map +1 -1
  452. package/src/facade/collection.js.map +1 -1
  453. package/src/facade/collection.metadata.json +1 -1
  454. package/src/facade/exception_handler.d.ts +2 -11
  455. package/src/facade/exception_handler.js +8 -7
  456. package/src/facade/exception_handler.js.map +1 -1
  457. package/src/facade/exceptions.d.ts +4 -0
  458. package/src/facade/exceptions.js +6 -2
  459. package/src/facade/exceptions.js.map +1 -1
  460. package/src/facade/exceptions.metadata.json +1 -0
  461. package/src/facade/lang.d.ts +6 -4
  462. package/src/facade/lang.js +12 -11
  463. package/src/facade/lang.js.map +1 -1
  464. package/src/facade/lang.metadata.json +1 -1
  465. package/src/facade/math.d.ts +2 -0
  466. package/src/facade/math.js +5 -0
  467. package/src/facade/math.js.map +1 -0
  468. package/src/facade/math.metadata.json +1 -0
  469. package/src/facade/promise.js.map +1 -1
  470. package/src/linker/component_factory.d.ts +5 -4
  471. package/src/linker/component_factory.js +7 -3
  472. package/src/linker/component_factory.js.map +1 -1
  473. package/src/linker/component_resolver.d.ts +5 -4
  474. package/src/linker/component_resolver.js +12 -7
  475. package/src/linker/component_resolver.js.map +1 -1
  476. package/src/linker/component_resolver.metadata.json +1 -1
  477. package/src/linker/debug_context.js +5 -4
  478. package/src/linker/debug_context.js.map +1 -1
  479. package/src/linker/dynamic_component_loader.d.ts +5 -6
  480. package/src/linker/dynamic_component_loader.js +5 -3
  481. package/src/linker/dynamic_component_loader.js.map +1 -1
  482. package/src/linker/dynamic_component_loader.metadata.json +1 -1
  483. package/src/linker/element.d.ts +3 -3
  484. package/src/linker/element.js +5 -5
  485. package/src/linker/element.js.map +1 -1
  486. package/src/linker/element_injector.js.map +1 -1
  487. package/src/linker/element_ref.d.ts +1 -0
  488. package/src/linker/element_ref.js +5 -5
  489. package/src/linker/element_ref.js.map +1 -1
  490. package/src/linker/exceptions.d.ts +4 -1
  491. package/src/linker/exceptions.js +4 -1
  492. package/src/linker/exceptions.js.map +1 -1
  493. package/src/linker/query_list.d.ts +3 -10
  494. package/src/linker/query_list.js +8 -7
  495. package/src/linker/query_list.js.map +1 -1
  496. package/src/linker/systemjs_component_resolver.d.ts +21 -0
  497. package/src/linker/systemjs_component_resolver.js +52 -0
  498. package/src/linker/systemjs_component_resolver.js.map +1 -0
  499. package/src/linker/template_ref.d.ts +2 -1
  500. package/src/linker/template_ref.js +1 -0
  501. package/src/linker/template_ref.js.map +1 -1
  502. package/src/linker/view.d.ts +12 -1
  503. package/src/linker/view.js +65 -15
  504. package/src/linker/view.js.map +1 -1
  505. package/src/linker/view_container_ref.d.ts +2 -10
  506. package/src/linker/view_container_ref.js +4 -3
  507. package/src/linker/view_container_ref.js.map +1 -1
  508. package/src/linker/view_ref.d.ts +5 -1
  509. package/src/linker/view_ref.js +6 -2
  510. package/src/linker/view_ref.js.map +1 -1
  511. package/src/linker/view_type.js.map +1 -1
  512. package/src/linker/view_utils.d.ts +2 -4
  513. package/src/linker/view_utils.js +21 -21
  514. package/src/linker/view_utils.js.map +1 -1
  515. package/src/linker/view_utils.metadata.json +1 -1
  516. package/src/linker.d.ts +5 -4
  517. package/src/linker.js +12 -9
  518. package/src/linker.js.map +1 -1
  519. package/src/metadata/di.d.ts +8 -1
  520. package/src/metadata/di.js +10 -3
  521. package/src/metadata/di.js.map +1 -1
  522. package/src/metadata/directives.d.ts +104 -20
  523. package/src/metadata/directives.js +25 -27
  524. package/src/metadata/directives.js.map +1 -1
  525. package/src/metadata/lifecycle_hooks.d.ts +46 -31
  526. package/src/metadata/lifecycle_hooks.js +496 -10
  527. package/src/metadata/lifecycle_hooks.js.map +1 -1
  528. package/src/metadata/lifecycle_hooks.metadata.json +1 -1
  529. package/src/metadata/view.d.ts +6 -2
  530. package/src/metadata/view.js +3 -1
  531. package/src/metadata/view.js.map +1 -1
  532. package/src/metadata/view.metadata.json +1 -1
  533. package/src/metadata.d.ts +49 -15
  534. package/src/metadata.js +70 -37
  535. package/src/metadata.js.map +1 -1
  536. package/src/metadata.metadata.json +1 -1
  537. package/src/platform_common_providers.d.ts +1 -0
  538. package/src/platform_common_providers.js +3 -3
  539. package/src/platform_common_providers.js.map +1 -1
  540. package/src/platform_common_providers.metadata.json +1 -1
  541. package/src/platform_directives_and_pipes.d.ts +48 -45
  542. package/src/platform_directives_and_pipes.js +50 -47
  543. package/src/platform_directives_and_pipes.js.map +1 -1
  544. package/src/platform_directives_and_pipes.metadata.json +1 -1
  545. package/src/profile/profile.d.ts +5 -1
  546. package/src/profile/profile.js +5 -3
  547. package/src/profile/profile.js.map +1 -1
  548. package/src/profile/profile.metadata.json +1 -1
  549. package/src/profile/wtf_impl.js +1 -1
  550. package/src/profile/wtf_impl.js.map +1 -1
  551. package/src/profile/wtf_impl.metadata.json +1 -0
  552. package/src/profile/wtf_init.js +2 -2
  553. package/src/profile/wtf_init.js.map +1 -1
  554. package/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  555. package/src/reflection/platform_reflection_capabilities.js.map +1 -1
  556. package/src/reflection/reflection.d.ts +1 -1
  557. package/src/reflection/reflection.js +2 -2
  558. package/src/reflection/reflection.js.map +1 -1
  559. package/src/reflection/reflection.metadata.json +1 -1
  560. package/src/reflection/reflection_capabilities.d.ts +4 -5
  561. package/src/reflection/reflection_capabilities.js +24 -10
  562. package/src/reflection/reflection_capabilities.js.map +1 -1
  563. package/src/reflection/reflector.d.ts +8 -20
  564. package/src/reflection/reflector.js +13 -3
  565. package/src/reflection/reflector.js.map +1 -1
  566. package/src/reflection/reflector_reader.js +3 -3
  567. package/src/reflection/reflector_reader.js.map +1 -1
  568. package/src/reflection/types.js.map +1 -1
  569. package/src/render/api.d.ts +17 -6
  570. package/src/render/api.js +8 -1
  571. package/src/render/api.js.map +1 -1
  572. package/src/render.d.ts +1 -1
  573. package/src/render.js +2 -2
  574. package/src/render.js.map +1 -1
  575. package/src/security.js +6 -6
  576. package/src/security.js.map +1 -1
  577. package/src/testability/testability.d.ts +3 -19
  578. package/src/testability/testability.js +10 -5
  579. package/src/testability/testability.js.map +1 -1
  580. package/src/testability/testability.metadata.json +1 -1
  581. package/src/util/decorators.d.ts +2 -1
  582. package/src/util/decorators.js +10 -9
  583. package/src/util/decorators.js.map +1 -1
  584. package/src/util.js.map +1 -1
  585. package/src/zone/ng_zone.d.ts +6 -17
  586. package/src/zone/ng_zone.js +11 -6
  587. package/src/zone/ng_zone.js.map +1 -1
  588. package/src/zone/ng_zone_impl.d.ts +1 -4
  589. package/src/zone/ng_zone_impl.js +3 -2
  590. package/src/zone/ng_zone_impl.js.map +1 -1
  591. package/src/zone.js.map +1 -1
  592. package/testing/async.js +20 -22
  593. package/testing/async.js.map +1 -1
  594. package/testing/async.metadata.json +1 -0
  595. package/testing/async_test_completer.js.map +1 -1
  596. package/testing/fake_async.d.ts +4 -1
  597. package/testing/fake_async.js +10 -2
  598. package/testing/fake_async.js.map +1 -1
  599. package/testing/lang_utils.js +1 -1
  600. package/testing/lang_utils.js.map +1 -1
  601. package/testing/lang_utils.metadata.json +1 -0
  602. package/testing/logger.js +5 -3
  603. package/testing/logger.js.map +1 -1
  604. package/testing/logger.metadata.json +1 -1
  605. package/testing/mock_application_ref.d.ts +1 -1
  606. package/testing/mock_application_ref.js +1 -0
  607. package/testing/mock_application_ref.js.map +1 -1
  608. package/testing/mock_application_ref.metadata.json +1 -1
  609. package/testing/ng_zone_mock.d.ts +0 -1
  610. package/testing/ng_zone_mock.js +2 -1
  611. package/testing/ng_zone_mock.js.map +1 -1
  612. package/testing/ng_zone_mock.metadata.json +1 -1
  613. package/testing/regexp.js +1 -1
  614. package/testing/regexp.js.map +1 -1
  615. package/testing/regexp.metadata.json +1 -0
  616. package/testing/test_injector.d.ts +6 -12
  617. package/testing/test_injector.js +3 -9
  618. package/testing/test_injector.js.map +1 -1
  619. package/testing/test_injector.metadata.json +1 -0
  620. package/testing/testing.d.ts +2 -2
  621. package/testing/testing.js +5 -5
  622. package/testing/testing.js.map +1 -1
  623. package/testing/testing.metadata.json +1 -1
  624. package/testing.js.map +1 -1
@@ -1,4 +1,7 @@
1
1
  export declare const THROW_IF_NOT_FOUND: Object;
2
+ /**
3
+ * @stable
4
+ */
2
5
  export declare abstract class Injector {
3
6
  static THROW_IF_NOT_FOUND: Object;
4
7
  /**
@@ -12,7 +15,7 @@ export declare abstract class Injector {
12
15
  *
13
16
  * ```typescript
14
17
  * var injector = ReflectiveInjector.resolveAndCreate([
15
- * provide("validToken", {useValue: "Value"})
18
+ * {provide: "validToken", useValue: "Value"}
16
19
  * ]);
17
20
  * expect(injector.get("validToken")).toEqual("Value");
18
21
  * expect(() => injector.get("invalidToken")).toThrowError();
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
- var exceptions_1 = require('../../src/facade/exceptions');
2
+ var exceptions_1 = require('../facade/exceptions');
3
3
  var _THROW_IF_NOT_FOUND = new Object();
4
4
  exports.THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;
5
+ /**
6
+ * @stable
7
+ */
5
8
  var Injector = (function () {
6
9
  function Injector() {
7
10
  }
@@ -16,7 +19,7 @@ var Injector = (function () {
16
19
  *
17
20
  * ```typescript
18
21
  * var injector = ReflectiveInjector.resolveAndCreate([
19
- * provide("validToken", {useValue: "Value"})
22
+ * {provide: "validToken", useValue: "Value"}
20
23
  * ]);
21
24
  * expect(injector.get("validToken")).toEqual("Value");
22
25
  * expect(() => injector.get("invalidToken")).toThrowError();
@@ -1 +1 @@
1
- {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/injector.ts"],"names":[],"mappings":";AAIE,2BAA4B,6BAA6B,CAAC,CAAA;AAE5D,IAAM,mBAAmB,GAAsB,IAAI,MAAM,EAAE,CAAC;AAC/C,0BAAkB,GAAsB,mBAAmB,CAAC;AAEzE;IAAA;IA4BA,CAAC;IAzBC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,sBAAG,GAAH,UAAI,KAAU,EAAE,aAAmB,IAAS,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;IA1B9D,2BAAkB,GAAG,mBAAmB,CAAC;IA2BlD,eAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BqB,gBAAQ,WA4B7B,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {unimplemented} from '../../src/facade/exceptions';\n\nconst _THROW_IF_NOT_FOUND = /*@ts2dart_const*/ new Object();\nexport const THROW_IF_NOT_FOUND = /*@ts2dart_const*/ _THROW_IF_NOT_FOUND;\n\nexport abstract class Injector {\n static THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\n\n /**\n * Retrieves an instance from the injector based on the provided token.\n * If not found:\n * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to\n * Injector.THROW_IF_NOT_FOUND is given\n * - Returns the `notFoundValue` otherwise\n *\n * ### Example ([live demo](http://plnkr.co/edit/HeXSHg?p=preview))\n *\n * ```typescript\n * var injector = ReflectiveInjector.resolveAndCreate([\n * provide(\"validToken\", {useValue: \"Value\"})\n * ]);\n * expect(injector.get(\"validToken\")).toEqual(\"Value\");\n * expect(() => injector.get(\"invalidToken\")).toThrowError();\n * ```\n *\n * `Injector` returns itself when given `Injector` as a token.\n *\n * ```typescript\n * var injector = ReflectiveInjector.resolveAndCreate([]);\n * expect(injector.get(Injector)).toBe(injector);\n * ```\n */\n get(token: any, notFoundValue?: any): any { return unimplemented(); }\n}\n"]}
1
+ {"version":3,"file":"injector.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/injector.ts"],"names":[],"mappings":";AAAA,2BAA4B,sBAAsB,CAAC,CAAA;AAEnD,IAAM,mBAAmB,GAAsB,IAAI,MAAM,EAAE,CAAC;AAC/C,0BAAkB,GAAsB,mBAAmB,CAAC;AAEzE;;GAEG;AACH;IAAA;IA4BA,CAAC;IAzBC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,sBAAG,GAAH,UAAI,KAAU,EAAE,aAAmB,IAAS,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;IA1B9D,2BAAkB,GAAG,mBAAmB,CAAC;IA2BlD,eAAC;AAAD,CAAC,AA5BD,IA4BC;AA5BqB,gBAAQ,WA4B7B,CAAA","sourcesContent":["import {unimplemented} from '../facade/exceptions';\n\nconst _THROW_IF_NOT_FOUND = /*@ts2dart_const*/ new Object();\nexport const THROW_IF_NOT_FOUND = /*@ts2dart_const*/ _THROW_IF_NOT_FOUND;\n\n/**\n * @stable\n */\nexport abstract class Injector {\n static THROW_IF_NOT_FOUND = _THROW_IF_NOT_FOUND;\n\n /**\n * Retrieves an instance from the injector based on the provided token.\n * If not found:\n * - Throws {@link NoProviderError} if no `notFoundValue` that is not equal to\n * Injector.THROW_IF_NOT_FOUND is given\n * - Returns the `notFoundValue` otherwise\n *\n * ### Example ([live demo](http://plnkr.co/edit/HeXSHg?p=preview))\n *\n * ```typescript\n * var injector = ReflectiveInjector.resolveAndCreate([\n * {provide: \"validToken\", useValue: \"Value\"}\n * ]);\n * expect(injector.get(\"validToken\")).toEqual(\"Value\");\n * expect(() => injector.get(\"invalidToken\")).toThrowError();\n * ```\n *\n * `Injector` returns itself when given `Injector` as a token.\n *\n * ```typescript\n * var injector = ReflectiveInjector.resolveAndCreate([]);\n * expect(injector.get(Injector)).toBe(injector);\n * ```\n */\n get(token: any, notFoundValue?: any): any { return unimplemented(); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"THROW_IF_NOT_FOUND":{"__symbolic":"reference","name":"_THROW_IF_NOT_FOUND"}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"THROW_IF_NOT_FOUND":{"__symbolic":"reference","name":"_THROW_IF_NOT_FOUND"}}}
@@ -15,7 +15,7 @@
15
15
  * }
16
16
  *
17
17
  * var injector = Injector.resolveAndCreate([
18
- * provide("MyEngine", {useClass: Engine}),
18
+ * {provide: "MyEngine", useClass: Engine},
19
19
  * Car
20
20
  * ]);
21
21
  *
@@ -38,6 +38,7 @@
38
38
  * expect(injector.get(Car).engine instanceof Engine).toBe(true);
39
39
  * ```
40
40
  * @ts2dart_const
41
+ * @stable
41
42
  */
42
43
  export declare class InjectMetadata {
43
44
  token: any;
@@ -65,6 +66,7 @@ export declare class InjectMetadata {
65
66
  * expect(injector.get(Car).engine).toBeNull();
66
67
  * ```
67
68
  * @ts2dart_const
69
+ * @stable
68
70
  */
69
71
  export declare class OptionalMetadata {
70
72
  toString(): string;
@@ -73,6 +75,7 @@ export declare class OptionalMetadata {
73
75
  * `DependencyMetadata` is used by the framework to extend DI.
74
76
  * This is internal to Angular and should not be used directly.
75
77
  * @ts2dart_const
78
+ * @stable
76
79
  */
77
80
  export declare class DependencyMetadata {
78
81
  token: any;
@@ -108,6 +111,7 @@ export declare class DependencyMetadata {
108
111
  * expect(() => injector.get(NeedsService)).toThrowError();
109
112
  * ```
110
113
  * @ts2dart_const
114
+ * @stable
111
115
  */
112
116
  export declare class InjectableMetadata {
113
117
  constructor();
@@ -139,6 +143,7 @@ export declare class InjectableMetadata {
139
143
  * expect(() => child.get(NeedsDependency)).toThrowError();
140
144
  * ```
141
145
  * @ts2dart_const
146
+ * @stable
142
147
  */
143
148
  export declare class SelfMetadata {
144
149
  toString(): string;
@@ -168,6 +173,7 @@ export declare class SelfMetadata {
168
173
  * expect(() => inj.get(NeedsDependency)).toThrowError();
169
174
  * ```
170
175
  * @ts2dart_const
176
+ * @stable
171
177
  */
172
178
  export declare class SkipSelfMetadata {
173
179
  toString(): string;
@@ -226,6 +232,7 @@ export declare class SkipSelfMetadata {
226
232
  * bootstrap(App);
227
233
  *```
228
234
  * @ts2dart_const
235
+ * @stable
229
236
  */
230
237
  export declare class HostMetadata {
231
238
  toString(): string;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- var lang_1 = require('../../src/facade/lang');
2
+ var lang_1 = require('../facade/lang');
3
3
  /**
4
4
  * A parameter metadata that specifies a dependency.
5
5
  *
@@ -17,7 +17,7 @@ var lang_1 = require('../../src/facade/lang');
17
17
  * }
18
18
  *
19
19
  * var injector = Injector.resolveAndCreate([
20
- * provide("MyEngine", {useClass: Engine}),
20
+ * {provide: "MyEngine", useClass: Engine},
21
21
  * Car
22
22
  * ]);
23
23
  *
@@ -40,9 +40,10 @@ var lang_1 = require('../../src/facade/lang');
40
40
  * expect(injector.get(Car).engine instanceof Engine).toBe(true);
41
41
  * ```
42
42
  * @ts2dart_const
43
+ * @stable
43
44
  */
44
45
  var InjectMetadata = (function () {
45
- function InjectMetadata(token) {
46
+ function InjectMetadata(token /** TODO #9100 */) {
46
47
  this.token = token;
47
48
  }
48
49
  InjectMetadata.prototype.toString = function () { return "@Inject(" + lang_1.stringify(this.token) + ")"; };
@@ -70,6 +71,7 @@ exports.InjectMetadata = InjectMetadata;
70
71
  * expect(injector.get(Car).engine).toBeNull();
71
72
  * ```
72
73
  * @ts2dart_const
74
+ * @stable
73
75
  */
74
76
  var OptionalMetadata = (function () {
75
77
  function OptionalMetadata() {
@@ -82,6 +84,7 @@ exports.OptionalMetadata = OptionalMetadata;
82
84
  * `DependencyMetadata` is used by the framework to extend DI.
83
85
  * This is internal to Angular and should not be used directly.
84
86
  * @ts2dart_const
87
+ * @stable
85
88
  */
86
89
  var DependencyMetadata = (function () {
87
90
  function DependencyMetadata() {
@@ -125,6 +128,7 @@ exports.DependencyMetadata = DependencyMetadata;
125
128
  * expect(() => injector.get(NeedsService)).toThrowError();
126
129
  * ```
127
130
  * @ts2dart_const
131
+ * @stable
128
132
  */
129
133
  var InjectableMetadata = (function () {
130
134
  function InjectableMetadata() {
@@ -159,6 +163,7 @@ exports.InjectableMetadata = InjectableMetadata;
159
163
  * expect(() => child.get(NeedsDependency)).toThrowError();
160
164
  * ```
161
165
  * @ts2dart_const
166
+ * @stable
162
167
  */
163
168
  var SelfMetadata = (function () {
164
169
  function SelfMetadata() {
@@ -192,6 +197,7 @@ exports.SelfMetadata = SelfMetadata;
192
197
  * expect(() => inj.get(NeedsDependency)).toThrowError();
193
198
  * ```
194
199
  * @ts2dart_const
200
+ * @stable
195
201
  */
196
202
  var SkipSelfMetadata = (function () {
197
203
  function SkipSelfMetadata() {
@@ -254,6 +260,7 @@ exports.SkipSelfMetadata = SkipSelfMetadata;
254
260
  * bootstrap(App);
255
261
  *```
256
262
  * @ts2dart_const
263
+ * @stable
257
264
  */
258
265
  var HostMetadata = (function () {
259
266
  function HostMetadata() {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/metadata.ts"],"names":[],"mappings":";AAIE,qBAAwB,uBAAuB,CAAC,CAAA;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH;IACE,wBAAmB,KAAK;QAAL,UAAK,GAAL,KAAK,CAAA;IAAG,CAAC;IAC5B,iCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAW,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAAC,CAAC,CAAC;IACpE,qBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,sBAAc,iBAG1B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH;IAAA;IAEA,CAAC;IADC,mCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,uBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,wBAAgB,mBAE5B,CAAA;AAED;;;;GAIG;AACH;IAAA;IAEA,CAAC;IADC,sBAAI,qCAAK;aAAT,cAAc,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;;;OAAA;IAC9B,yBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,0BAAkB,qBAE9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH;IACE;IAAe,CAAC;IAClB,yBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,0BAAkB,qBAE9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH;IAAA;IAEA,CAAC;IADC,+BAAQ,GAAR,cAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,oBAAY,eAExB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;IAAA;IAEA,CAAC;IADC,mCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,uBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,wBAAgB,mBAE5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH;IAAA;IAEA,CAAC;IADC,+BAAQ,GAAR,cAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,oBAAY,eAExB,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {stringify} from '../../src/facade/lang';\n\n/**\n * A parameter metadata that specifies a dependency.\n *\n * ### Example ([live demo](http://plnkr.co/edit/6uHYJK?p=preview))\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * engine;\n * constructor(@Inject(\"MyEngine\") engine:Engine) {\n * this.engine = engine;\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([\n * provide(\"MyEngine\", {useClass: Engine}),\n * Car\n * ]);\n *\n * expect(injector.get(Car).engine instanceof Engine).toBe(true);\n * ```\n *\n * When `@Inject()` is not present, {@link Injector} will use the type annotation of the parameter.\n *\n * ### Example\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * constructor(public engine: Engine) {} //same as constructor(@Inject(Engine) engine:Engine)\n * }\n *\n * var injector = Injector.resolveAndCreate([Engine, Car]);\n * expect(injector.get(Car).engine instanceof Engine).toBe(true);\n * ```\n * @ts2dart_const\n */\nexport class InjectMetadata {\n constructor(public token) {}\n toString(): string { return `@Inject(${stringify(this.token)})`; }\n}\n\n/**\n * A parameter metadata that marks a dependency as optional. {@link Injector} provides `null` if\n * the dependency is not found.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AsryOm?p=preview))\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * engine;\n * constructor(@Optional() engine:Engine) {\n * this.engine = engine;\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([Car]);\n * expect(injector.get(Car).engine).toBeNull();\n * ```\n * @ts2dart_const\n */\nexport class OptionalMetadata {\n toString(): string { return `@Optional()`; }\n}\n\n/**\n * `DependencyMetadata` is used by the framework to extend DI.\n * This is internal to Angular and should not be used directly.\n * @ts2dart_const\n */\nexport class DependencyMetadata {\n get token() { return null; }\n}\n\n/**\n * A marker metadata that marks a class as available to {@link Injector} for creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Wk4DMQ?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class UsefulService {}\n *\n * @Injectable()\n * class NeedsService {\n * constructor(public service:UsefulService) {}\n * }\n *\n * var injector = Injector.resolveAndCreate([NeedsService, UsefulService]);\n * expect(injector.get(NeedsService).service instanceof UsefulService).toBe(true);\n * ```\n * {@link Injector} will throw {@link NoAnnotationError} when trying to instantiate a class that\n * does not have `@Injectable` marker, as shown in the example below.\n *\n * ```typescript\n * class UsefulService {}\n *\n * class NeedsService {\n * constructor(public service:UsefulService) {}\n * }\n *\n * var injector = Injector.resolveAndCreate([NeedsService, UsefulService]);\n * expect(() => injector.get(NeedsService)).toThrowError();\n * ```\n * @ts2dart_const\n */\nexport class InjectableMetadata {\n constructor() {}\n}\n\n/**\n * Specifies that an {@link Injector} should retrieve a dependency only from itself.\n *\n * ### Example ([live demo](http://plnkr.co/edit/NeagAg?p=preview))\n *\n * ```typescript\n * class Dependency {\n * }\n *\n * @Injectable()\n * class NeedsDependency {\n * dependency;\n * constructor(@Self() dependency:Dependency) {\n * this.dependency = dependency;\n * }\n * }\n *\n * var inj = Injector.resolveAndCreate([Dependency, NeedsDependency]);\n * var nd = inj.get(NeedsDependency);\n *\n * expect(nd.dependency instanceof Dependency).toBe(true);\n *\n * var inj = Injector.resolveAndCreate([Dependency]);\n * var child = inj.resolveAndCreateChild([NeedsDependency]);\n * expect(() => child.get(NeedsDependency)).toThrowError();\n * ```\n * @ts2dart_const\n */\nexport class SelfMetadata {\n toString(): string { return `@Self()`; }\n}\n\n/**\n * Specifies that the dependency resolution should start from the parent injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Wchdzb?p=preview))\n *\n * ```typescript\n * class Dependency {\n * }\n *\n * @Injectable()\n * class NeedsDependency {\n * dependency;\n * constructor(@SkipSelf() dependency:Dependency) {\n * this.dependency = dependency;\n * }\n * }\n *\n * var parent = Injector.resolveAndCreate([Dependency]);\n * var child = parent.resolveAndCreateChild([NeedsDependency]);\n * expect(child.get(NeedsDependency).dependency instanceof Depedency).toBe(true);\n *\n * var inj = Injector.resolveAndCreate([Dependency, NeedsDependency]);\n * expect(() => inj.get(NeedsDependency)).toThrowError();\n * ```\n * @ts2dart_const\n */\nexport class SkipSelfMetadata {\n toString(): string { return `@SkipSelf()`; }\n}\n\n/**\n * Specifies that an injector should retrieve a dependency from any injector until reaching the\n * closest host.\n *\n * In Angular, a component element is automatically declared as a host for all the injectors in\n * its view.\n *\n * ### Example ([live demo](http://plnkr.co/edit/GX79pV?p=preview))\n *\n * In the following example `App` contains `ParentCmp`, which contains `ChildDirective`.\n * So `ParentCmp` is the host of `ChildDirective`.\n *\n * `ChildDirective` depends on two services: `HostService` and `OtherService`.\n * `HostService` is defined at `ParentCmp`, and `OtherService` is defined at `App`.\n *\n *```typescript\n * class OtherService {}\n * class HostService {}\n *\n * @Directive({\n * selector: 'child-directive'\n * })\n * class ChildDirective {\n * constructor(@Optional() @Host() os:OtherService, @Optional() @Host() hs:HostService){\n * console.log(\"os is null\", os);\n * console.log(\"hs is NOT null\", hs);\n * }\n * }\n *\n * @Component({\n * selector: 'parent-cmp',\n * providers: [HostService],\n * template: `\n * Dir: <child-directive></child-directive>\n * `,\n * directives: [ChildDirective]\n * })\n * class ParentCmp {\n * }\n *\n * @Component({\n * selector: 'app',\n * providers: [OtherService],\n * template: `\n * Parent: <parent-cmp></parent-cmp>\n * `,\n * directives: [ParentCmp]\n * })\n * class App {\n * }\n *\n * bootstrap(App);\n *```\n * @ts2dart_const\n */\nexport class HostMetadata {\n toString(): string { return `@Host()`; }\n}\n"]}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/di/metadata.ts"],"names":[],"mappings":";AAAA,qBAAwB,gBAAgB,CAAC,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH;IACE,wBAAmB,KAAU,CAAC,iBAAiB;QAA5B,UAAK,GAAL,KAAK,CAAK;IAAqB,CAAC;IACnD,iCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAW,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAAC,CAAC,CAAC;IACpE,qBAAC;AAAD,CAAC,AAHD,IAGC;AAHY,sBAAc,iBAG1B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH;IAAA;IAEA,CAAC;IADC,mCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,uBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,wBAAgB,mBAE5B,CAAA;AAED;;;;;GAKG;AACH;IAAA;IAEA,CAAC;IADC,sBAAI,qCAAK;aAAT,cAAqC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;;;OAAA;IACrD,yBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,0BAAkB,qBAE9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH;IACE;IAAe,CAAC;IAClB,yBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,0BAAkB,qBAE9B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;IAAA;IAEA,CAAC;IADC,+BAAQ,GAAR,cAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,oBAAY,eAExB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAAA;IAEA,CAAC;IADC,mCAAQ,GAAR,cAAqB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,uBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,wBAAgB,mBAE5B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH;IAAA;IAEA,CAAC;IADC,+BAAQ,GAAR,cAAqB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFY,oBAAY,eAExB,CAAA","sourcesContent":["import {stringify} from '../facade/lang';\n\n/**\n * A parameter metadata that specifies a dependency.\n *\n * ### Example ([live demo](http://plnkr.co/edit/6uHYJK?p=preview))\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * engine;\n * constructor(@Inject(\"MyEngine\") engine:Engine) {\n * this.engine = engine;\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([\n * {provide: \"MyEngine\", useClass: Engine},\n * Car\n * ]);\n *\n * expect(injector.get(Car).engine instanceof Engine).toBe(true);\n * ```\n *\n * When `@Inject()` is not present, {@link Injector} will use the type annotation of the parameter.\n *\n * ### Example\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * constructor(public engine: Engine) {} //same as constructor(@Inject(Engine) engine:Engine)\n * }\n *\n * var injector = Injector.resolveAndCreate([Engine, Car]);\n * expect(injector.get(Car).engine instanceof Engine).toBe(true);\n * ```\n * @ts2dart_const\n * @stable\n */\nexport class InjectMetadata {\n constructor(public token: any /** TODO #9100 */) {}\n toString(): string { return `@Inject(${stringify(this.token)})`; }\n}\n\n/**\n * A parameter metadata that marks a dependency as optional. {@link Injector} provides `null` if\n * the dependency is not found.\n *\n * ### Example ([live demo](http://plnkr.co/edit/AsryOm?p=preview))\n *\n * ```typescript\n * class Engine {}\n *\n * @Injectable()\n * class Car {\n * engine;\n * constructor(@Optional() engine:Engine) {\n * this.engine = engine;\n * }\n * }\n *\n * var injector = Injector.resolveAndCreate([Car]);\n * expect(injector.get(Car).engine).toBeNull();\n * ```\n * @ts2dart_const\n * @stable\n */\nexport class OptionalMetadata {\n toString(): string { return `@Optional()`; }\n}\n\n/**\n * `DependencyMetadata` is used by the framework to extend DI.\n * This is internal to Angular and should not be used directly.\n * @ts2dart_const\n * @stable\n */\nexport class DependencyMetadata {\n get token(): any /** TODO #9100 */ { return null; }\n}\n\n/**\n * A marker metadata that marks a class as available to {@link Injector} for creation.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Wk4DMQ?p=preview))\n *\n * ```typescript\n * @Injectable()\n * class UsefulService {}\n *\n * @Injectable()\n * class NeedsService {\n * constructor(public service:UsefulService) {}\n * }\n *\n * var injector = Injector.resolveAndCreate([NeedsService, UsefulService]);\n * expect(injector.get(NeedsService).service instanceof UsefulService).toBe(true);\n * ```\n * {@link Injector} will throw {@link NoAnnotationError} when trying to instantiate a class that\n * does not have `@Injectable` marker, as shown in the example below.\n *\n * ```typescript\n * class UsefulService {}\n *\n * class NeedsService {\n * constructor(public service:UsefulService) {}\n * }\n *\n * var injector = Injector.resolveAndCreate([NeedsService, UsefulService]);\n * expect(() => injector.get(NeedsService)).toThrowError();\n * ```\n * @ts2dart_const\n * @stable\n */\nexport class InjectableMetadata {\n constructor() {}\n}\n\n/**\n * Specifies that an {@link Injector} should retrieve a dependency only from itself.\n *\n * ### Example ([live demo](http://plnkr.co/edit/NeagAg?p=preview))\n *\n * ```typescript\n * class Dependency {\n * }\n *\n * @Injectable()\n * class NeedsDependency {\n * dependency;\n * constructor(@Self() dependency:Dependency) {\n * this.dependency = dependency;\n * }\n * }\n *\n * var inj = Injector.resolveAndCreate([Dependency, NeedsDependency]);\n * var nd = inj.get(NeedsDependency);\n *\n * expect(nd.dependency instanceof Dependency).toBe(true);\n *\n * var inj = Injector.resolveAndCreate([Dependency]);\n * var child = inj.resolveAndCreateChild([NeedsDependency]);\n * expect(() => child.get(NeedsDependency)).toThrowError();\n * ```\n * @ts2dart_const\n * @stable\n */\nexport class SelfMetadata {\n toString(): string { return `@Self()`; }\n}\n\n/**\n * Specifies that the dependency resolution should start from the parent injector.\n *\n * ### Example ([live demo](http://plnkr.co/edit/Wchdzb?p=preview))\n *\n * ```typescript\n * class Dependency {\n * }\n *\n * @Injectable()\n * class NeedsDependency {\n * dependency;\n * constructor(@SkipSelf() dependency:Dependency) {\n * this.dependency = dependency;\n * }\n * }\n *\n * var parent = Injector.resolveAndCreate([Dependency]);\n * var child = parent.resolveAndCreateChild([NeedsDependency]);\n * expect(child.get(NeedsDependency).dependency instanceof Depedency).toBe(true);\n *\n * var inj = Injector.resolveAndCreate([Dependency, NeedsDependency]);\n * expect(() => inj.get(NeedsDependency)).toThrowError();\n * ```\n * @ts2dart_const\n * @stable\n */\nexport class SkipSelfMetadata {\n toString(): string { return `@SkipSelf()`; }\n}\n\n/**\n * Specifies that an injector should retrieve a dependency from any injector until reaching the\n * closest host.\n *\n * In Angular, a component element is automatically declared as a host for all the injectors in\n * its view.\n *\n * ### Example ([live demo](http://plnkr.co/edit/GX79pV?p=preview))\n *\n * In the following example `App` contains `ParentCmp`, which contains `ChildDirective`.\n * So `ParentCmp` is the host of `ChildDirective`.\n *\n * `ChildDirective` depends on two services: `HostService` and `OtherService`.\n * `HostService` is defined at `ParentCmp`, and `OtherService` is defined at `App`.\n *\n *```typescript\n * class OtherService {}\n * class HostService {}\n *\n * @Directive({\n * selector: 'child-directive'\n * })\n * class ChildDirective {\n * constructor(@Optional() @Host() os:OtherService, @Optional() @Host() hs:HostService){\n * console.log(\"os is null\", os);\n * console.log(\"hs is NOT null\", hs);\n * }\n * }\n *\n * @Component({\n * selector: 'parent-cmp',\n * providers: [HostService],\n * template: `\n * Dir: <child-directive></child-directive>\n * `,\n * directives: [ChildDirective]\n * })\n * class ParentCmp {\n * }\n *\n * @Component({\n * selector: 'app',\n * providers: [OtherService],\n * template: `\n * Parent: <parent-cmp></parent-cmp>\n * `,\n * directives: [ParentCmp]\n * })\n * class App {\n * }\n *\n * bootstrap(App);\n *```\n * @ts2dart_const\n * @stable\n */\nexport class HostMetadata {\n toString(): string { return `@Host()`; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -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":"","sources":["../../../../../modules/@angular/core/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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\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 */\nexport class OpaqueToken {\n constructor(private _desc: string) {}\n\n toString(): string { return `Token ${this._desc}`; }\n}\n"]}
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":"","sources":["../../../../../modules/@angular/core/src/di/provider.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {normalizeBool, Type, isType, isBlank, isFunction, stringify} from '../../src/facade/lang';\nimport {BaseException} from '../../src/facade/exceptions';\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 */\nexport class Provider {\n /**\n * Token used when retrieving this provider. Usually, it is a type {@link Type}.\n */\n token;\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;\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;\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(token, {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, {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): ProviderBuilder {\n return new ProviderBuilder(token);\n}\n\n/**\n * Helper class for the {@link bind} function.\n */\nexport class ProviderBuilder {\n constructor(public token) {}\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 */\nexport function provide(token, {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"]}
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":"","sources":["../../../../../modules/@angular/core/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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n 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"]}
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"}]}}}}