@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/animation/metadata.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseException} from '../facade/exceptions';\nimport {NumberWrapper, isArray, isPresent, isString, isStringMap} from '../facade/lang';\n\nexport const AUTO_STYLE = '*';\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link trigger trigger\n * animation function} is called.\n */\nexport class AnimationEntryMetadata {\n constructor(public name: string, public definitions: AnimationStateMetadata[]) {}\n}\n\nexport abstract class AnimationStateMetadata {}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link state state animation\n * function} is called.\n */\nexport class AnimationStateDeclarationMetadata extends AnimationStateMetadata {\n constructor(public stateNameExpr: string, public styles: AnimationStyleMetadata) { super(); }\n}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the\n * {@link transition transition animation function} is called.\n */\nexport class AnimationStateTransitionMetadata extends AnimationStateMetadata {\n constructor(public stateChangeExpr: string, public steps: AnimationMetadata) { super(); }\n}\n\nexport abstract class AnimationMetadata {}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link keyframes keyframes\n * animation function} is called.\n */\nexport class AnimationKeyframesSequenceMetadata extends AnimationMetadata {\n constructor(public steps: AnimationStyleMetadata[]) { super(); }\n}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link style style animation\n * function} is called.\n */\nexport class AnimationStyleMetadata extends AnimationMetadata {\n constructor(\n public styles: Array<string|{[key: string]: string | number}>, public offset: number = null) {\n super();\n }\n}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link animate animate\n * animation function} is called.\n */\nexport class AnimationAnimateMetadata extends AnimationMetadata {\n constructor(\n public timings: string|number,\n public styles: AnimationStyleMetadata|AnimationKeyframesSequenceMetadata) {\n super();\n }\n}\n\nexport abstract class AnimationWithStepsMetadata extends AnimationMetadata {\n constructor() { super(); }\n get steps(): AnimationMetadata[] { throw new BaseException('NOT IMPLEMENTED: Base Class'); }\n}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link sequence sequence\n * animation function} is called.\n */\nexport class AnimationSequenceMetadata extends AnimationWithStepsMetadata {\n constructor(private _steps: AnimationMetadata[]) { super(); }\n get steps(): AnimationMetadata[] { return this._steps; }\n}\n\n/**\n * Metadata representing the entry of animations.\n * Instances of this class are provided via the animation DSL when the {@link group group animation\n * function} is called.\n */\nexport class AnimationGroupMetadata extends AnimationWithStepsMetadata {\n constructor(private _steps: AnimationMetadata[]) { super(); }\n get steps(): AnimationMetadata[] { return this._steps; }\n}\n\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of\n * time based on the provided `timing` expression value. Calls to `animate` are expected to be\n * used within {@link sequence an animation sequence}, {@link group group}, or {@link transition\n * transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional\n * delay and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`.\n * If a numeric value is provided then that will be used as the `duration` value in millisecond\n * form.\n * - `styles` is the style input data which can either be a call to {@link style style} or {@link\n * keyframes keyframes}.\n * If left empty then the styles from the destination state will be collected and used (this is\n * useful when\n * describing an animation step that will complete an animation by {@link\n * transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function animate(\n timing: string | number, styles: AnimationStyleMetadata | AnimationKeyframesSequenceMetadata =\n null): AnimationAnimateMetadata {\n var stylesEntry = styles;\n if (!isPresent(stylesEntry)) {\n var EMPTY_STYLE: {[key: string]: string | number} = {};\n stylesEntry = new AnimationStyleMetadata([EMPTY_STYLE], 1);\n }\n return new AnimationAnimateMetadata(timing, stylesEntry);\n}\n\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations\n * are useful when a series of styles must be animated/closed off\n * at different statrting/ending times.\n *\n * The `group` function can either be used within a {@link sequence sequence} or a {@link transition\n * transition}\n * and it will only continue to the next instruction once all of the inner animation steps\n * have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist\n * of {@link style style} or {@link animate animate} function calls. Each call to `style()` or\n * `animate()`\n * within a group will be executed instantly (use {@link keyframes keyframes} or a\n * {@link animate#usage animate() with a delay value} to offset styles to be applied at a later\n * time).\n *\n * ```typescript\n * group([\n * animate(\"1s\", { background: \"black\" }))\n * animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function group(steps: AnimationMetadata[]): AnimationGroupMetadata {\n return new AnimationGroupMetadata(steps);\n}\n\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used\n * by default when an array is passed as animation data into {@link transition transition}.)\n *\n * The `sequence` function can either be used within a {@link group group} or a {@link transition\n * transition}\n * and it will only continue to the next instruction once each of the inner animation steps\n * have completed.\n *\n * To perform animation styling in parallel with other animation steps then\n * have a look at the {@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist\n * of {@link style style} or {@link animate animate} function calls. A call to `style()` will apply\n * the\n * provided styling data immediately while a call to `animate()` will apply its styling\n * data over a given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 })),\n * animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function sequence(steps: AnimationMetadata[]): AnimationSequenceMetadata {\n return new AnimationSequenceMetadata(steps);\n}\n\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then\n * be used for {@link state animation states}, within an {@link sequence animation sequence}, or as\n * styling data for both {@link animate animate} and {@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value\n * pairs to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated\n * and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases\n * the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function style(\n tokens: string | {[key: string]: string | number} |\n Array<string|{[key: string]: string | number}>): AnimationStyleMetadata {\n var input: Array<{[key: string]: string | number}|string>;\n var offset: number = null;\n if (isString(tokens)) {\n input = [<string>tokens];\n } else {\n if (isArray(tokens)) {\n input = <Array<{[key: string]: string | number}>>tokens;\n } else {\n input = [<{[key: string]: string | number}>tokens];\n }\n input.forEach(entry => {\n var entryOffset = (entry as any /** TODO #9100 */)['offset'];\n if (isPresent(entryOffset)) {\n offset = offset == null ? NumberWrapper.parseFloat(entryOffset) : offset;\n }\n });\n }\n return new AnimationStyleMetadata(input, offset);\n}\n\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `state` declares an animation state within the given trigger. When a state is\n * active within a component then its associated styles will persist on\n * the element that the trigger is attached to (even when the animation ends).\n *\n * To animate between states, have a look at the animation {@link transition transition}\n * DSL function. To register states to an animation trigger please have a look\n * at the {@link trigger trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart\n * of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element\n * is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if\n * the state that is being animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {@link style styling data} that will be persisted on the element once\n * the state\n * has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function state(\n stateNameExpr: string, styles: AnimationStyleMetadata): AnimationStateDeclarationMetadata {\n return new AnimationStateDeclarationMetadata(stateNameExpr, styles);\n}\n\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `keyframes` specifies a collection of {@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {@link animate animate}\n * animation function. Instead of applying animations from where they are\n * currently to their destination, keyframes can describe how each style entry is applied\n * and at what point within the animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at\n * what percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will\n * be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function keyframes(steps: AnimationStyleMetadata[]): AnimationKeyframesSequenceMetadata {\n return new AnimationKeyframesSequenceMetadata(steps);\n}\n\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `transition` declares the {@link sequence sequence of animation steps} that will be run when the\n * provided\n * `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 => state2`\n * which consists\n * of two known states (use an asterix (`*`) to refer to a dynamic starting and/or ending state).\n *\n * Animation transitions are placed within an {@link trigger animation trigger}. For an transition\n * to animate to\n * a state value and persist its styles then one or more {@link state animation states} is expected\n * to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the\n * previous state is and what the current state has become. In other words, if a transition is\n * defined that\n * matches the old/current state criteria then the associated animation will be triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n * // if a state is defined then its styles will be persisted when the\n * // animation has fully completed itself\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n *\n * // a transition animation that will be kicked off when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500)),\n *\n * // it is also possible to do run the same animation for both directions\n * transition(\"on <=> off\", animate(500)),\n *\n * // or to define multiple states pairs separated by commas\n * transition(\"on => off, off => void\", animate(500)),\n *\n * // this is a catch-all state change for when an element is inserted into\n * // the page and the destination state is unknown\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ]),\n *\n * // this will capture a state change between any states\n * transition(\"* => *\", animate(\"1s 0s\")),\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger`\n * animation trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div @myAnimationTrigger=\"myStatusExp\">...</div>\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only**\n * uses a timing value with **no style data** then it will be automatically used as the final\n * animation\n * arc for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function transition(stateChangeExpr: string, steps: AnimationMetadata | AnimationMetadata[]):\n AnimationStateTransitionMetadata {\n var animationData = isArray(steps) ? new AnimationSequenceMetadata(<AnimationMetadata[]>steps) :\n <AnimationMetadata>steps;\n return new AnimationStateTransitionMetadata(stateChangeExpr, animationData);\n}\n\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular2's\n * animation\n * DSL language. If this information is new, please navigate to the\n * {@link ComponentMetadata#animations-anchor component animations metadata\n * page} to gain a better understanding of how animations in Angular2 are used.\n *\n * `trigger` Creates an animation trigger which will a list of {@link state state} and {@link\n * transition transition}\n * entries that will be evaluated when the expression bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {@link ComponentMetadata#animations-anchor animations section}. An animation trigger can\n * be placed on an element within a template by referencing the name of the\n * trigger followed by the expression value that the trigger is bound to\n * (in the form of `@triggerName=\"expression\"`.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value.\n * The provided `animation` value is expected to be an array consisting of {@link state state} and\n * {@link transition transition}\n * declarations.\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger`\n * animation trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div @myAnimationTrigger=\"myStatusExp\">...</div>\n * ```\n *\n * ### Example ([live demo](http://plnkr.co/edit/Kez8XGWBxWue7qP7nNvF?p=preview))\n *\n * {@example core/animation/ts/dsl/animation_example.ts region='Component'}\n */\nexport function trigger(name: string, animation: AnimationMetadata[]): AnimationEntryMetadata {\n return new AnimationEntryMetadata(name, animation);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"AUTO_STYLE":"*","group":{"__symbolic":"function","parameters":["steps"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AnimationGroupMetadata"},"arguments":[{"__symbolic":"reference","name":"steps"}]}},"sequence":{"__symbolic":"function","parameters":["steps"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AnimationSequenceMetadata"},"arguments":[{"__symbolic":"reference","name":"steps"}]}},"state":{"__symbolic":"function","parameters":["stateNameExpr","styles"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AnimationStateDeclarationMetadata"},"arguments":[{"__symbolic":"reference","name":"stateNameExpr"},{"__symbolic":"reference","name":"styles"}]}},"keyframes":{"__symbolic":"function","parameters":["steps"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AnimationKeyframesSequenceMetadata"},"arguments":[{"__symbolic":"reference","name":"steps"}]}},"trigger":{"__symbolic":"function","parameters":["name","animation"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AnimationEntryMetadata"},"arguments":[{"__symbolic":"reference","name":"name"},{"__symbolic":"reference","name":"animation"}]}}}}
@@ -2,6 +2,7 @@ import { Type } from '../src/facade/lang';
2
2
  /**
3
3
  * A default set of providers which should be included in any Angular
4
4
  * application, regardless of the platform it runs onto.
5
+ * @stable
5
6
  */
6
7
  export declare const APPLICATION_COMMON_PROVIDERS: Array<Type | {
7
8
  [k: string]: any;
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
- var application_tokens_1 = require('./application_tokens');
3
2
  var application_ref_1 = require('./application_ref');
3
+ var application_tokens_1 = require('./application_tokens');
4
4
  var change_detection_1 = require('./change_detection/change_detection');
5
- var view_utils_1 = require('./linker/view_utils');
6
5
  var component_resolver_1 = require('./linker/component_resolver');
7
6
  var dynamic_component_loader_1 = require('./linker/dynamic_component_loader');
7
+ var view_utils_1 = require('./linker/view_utils');
8
8
  var __unused; // avoid unused import when Type union types are erased
9
9
  /**
10
10
  * A default set of providers which should be included in any Angular
11
11
  * application, regardless of the platform it runs onto.
12
+ * @stable
12
13
  */
13
14
  exports.APPLICATION_COMMON_PROVIDERS =
14
15
  /*@ts2dart_const*/ [
@@ -18,6 +19,6 @@ exports.APPLICATION_COMMON_PROVIDERS =
18
19
  view_utils_1.ViewUtils,
19
20
  /* @ts2dart_Provider */ { provide: change_detection_1.IterableDiffers, useValue: change_detection_1.defaultIterableDiffers },
20
21
  /* @ts2dart_Provider */ { provide: change_detection_1.KeyValueDiffers, useValue: change_detection_1.defaultKeyValueDiffers },
21
- /* @ts2dart_Provider */ { provide: dynamic_component_loader_1.DynamicComponentLoader, useClass: dynamic_component_loader_1.DynamicComponentLoader_ }
22
+ /* @ts2dart_Provider */ { provide: dynamic_component_loader_1.DynamicComponentLoader, useClass: dynamic_component_loader_1.DynamicComponentLoader_ },
22
23
  ];
23
24
  //# sourceMappingURL=application_common_providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application_common_providers.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/application_common_providers.ts"],"names":[],"mappings":";AAKA,mCAAqC,sBAAsB,CAAC,CAAA;AAC5D,gCAAyC,mBAAmB,CAAC,CAAA;AAC7D,iCAKO,qCAAqC,CAAC,CAAA;AAC7C,2BAAwB,qBAAqB,CAAC,CAAA;AAC9C,mCAA4D,6BAA6B,CAAC,CAAA;AAC1F,yCAA8D,mCAAmC,CAAC,CAAA;AAElG,IAAI,QAAc,CAAC,CAAE,uDAAuD;AAE5E;;;GAGG;AACU,oCAA4B;AACrC,kBAAkB,CAAA;IAChB,4CAA0B;IAC1B,uBAAuB,CAAC,EAAC,OAAO,EAAE,sCAAiB,EAAE,QAAQ,EAAE,+CAA0B,EAAC;IAC1F,2CAAsB;IACtB,sBAAS;IACT,uBAAuB,CAAC,EAAC,OAAO,EAAE,kCAAe,EAAE,QAAQ,EAAE,yCAAsB,EAAC;IACpF,uBAAuB,CAAC,EAAC,OAAO,EAAE,kCAAe,EAAE,QAAQ,EAAE,yCAAsB,EAAC;IACpF,uBAAuB,CAAC,EAAC,OAAO,EAAE,iDAAsB,EAAE,QAAQ,EAAE,kDAAuB,EAAC;CAC7F,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Type} from '../src/facade/lang';\nimport {APP_ID_RANDOM_PROVIDER} from './application_tokens';\nimport {APPLICATION_CORE_PROVIDERS} from './application_ref';\nimport {\n IterableDiffers,\n defaultIterableDiffers,\n KeyValueDiffers,\n defaultKeyValueDiffers\n} from './change_detection/change_detection';\nimport {ViewUtils} from './linker/view_utils';\nimport {ComponentResolver, ReflectorComponentResolver} from './linker/component_resolver';\nimport {DynamicComponentLoader, DynamicComponentLoader_} from './linker/dynamic_component_loader';\n\nlet __unused: Type; // avoid unused import when Type union types are erased\n\n/**\n * A default set of providers which should be included in any Angular\n * application, regardless of the platform it runs onto.\n */\nexport const APPLICATION_COMMON_PROVIDERS: Array<Type | {[k: string]: any} | any[]> =\n /*@ts2dart_const*/[\n APPLICATION_CORE_PROVIDERS,\n /* @ts2dart_Provider */ {provide: ComponentResolver, useClass: ReflectorComponentResolver},\n APP_ID_RANDOM_PROVIDER,\n ViewUtils,\n /* @ts2dart_Provider */ {provide: IterableDiffers, useValue: defaultIterableDiffers},\n /* @ts2dart_Provider */ {provide: KeyValueDiffers, useValue: defaultKeyValueDiffers},\n /* @ts2dart_Provider */ {provide: DynamicComponentLoader, useClass: DynamicComponentLoader_}\n ];\n"]}
1
+ {"version":3,"file":"application_common_providers.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/application_common_providers.ts"],"names":[],"mappings":";AAEA,gCAAyC,mBAAmB,CAAC,CAAA;AAC7D,mCAAqC,sBAAsB,CAAC,CAAA;AAC5D,iCAA+F,qCAAqC,CAAC,CAAA;AACrI,mCAA4D,6BAA6B,CAAC,CAAA;AAC1F,yCAA8D,mCAAmC,CAAC,CAAA;AAClG,2BAAwB,qBAAqB,CAAC,CAAA;AAE9C,IAAI,QAAc,CAAC,CAAE,uDAAuD;AAE5E;;;;GAIG;AACU,oCAA4B;AACrC,kBAAkB,CAAA;IAChB,4CAA0B;IAC1B,uBAAuB,CAAC,EAAC,OAAO,EAAE,sCAAiB,EAAE,QAAQ,EAAE,+CAA0B,EAAC;IAC1F,2CAAsB;IACtB,sBAAS;IACT,uBAAuB,CAAC,EAAC,OAAO,EAAE,kCAAe,EAAE,QAAQ,EAAE,yCAAsB,EAAC;IACpF,uBAAuB,CAAC,EAAC,OAAO,EAAE,kCAAe,EAAE,QAAQ,EAAE,yCAAsB,EAAC;IACpF,uBAAuB,CAAC,EAAC,OAAO,EAAE,iDAAsB,EAAE,QAAQ,EAAE,kDAAuB,EAAC;CAC7F,CAAC","sourcesContent":["import {Type} from '../src/facade/lang';\n\nimport {APPLICATION_CORE_PROVIDERS} from './application_ref';\nimport {APP_ID_RANDOM_PROVIDER} from './application_tokens';\nimport {IterableDiffers, KeyValueDiffers, defaultIterableDiffers, defaultKeyValueDiffers} from './change_detection/change_detection';\nimport {ComponentResolver, ReflectorComponentResolver} from './linker/component_resolver';\nimport {DynamicComponentLoader, DynamicComponentLoader_} from './linker/dynamic_component_loader';\nimport {ViewUtils} from './linker/view_utils';\n\nlet __unused: Type; // avoid unused import when Type union types are erased\n\n/**\n * A default set of providers which should be included in any Angular\n * application, regardless of the platform it runs onto.\n * @stable\n */\nexport const APPLICATION_COMMON_PROVIDERS: Array<Type|{[k: string]: any}|any[]> =\n /*@ts2dart_const*/[\n APPLICATION_CORE_PROVIDERS,\n /* @ts2dart_Provider */ {provide: ComponentResolver, useClass: ReflectorComponentResolver},\n APP_ID_RANDOM_PROVIDER,\n ViewUtils,\n /* @ts2dart_Provider */ {provide: IterableDiffers, useValue: defaultIterableDiffers},\n /* @ts2dart_Provider */ {provide: KeyValueDiffers, useValue: defaultKeyValueDiffers},\n /* @ts2dart_Provider */ {provide: DynamicComponentLoader, useClass: DynamicComponentLoader_},\n ];\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"APPLICATION_COMMON_PROVIDERS":[{"__symbolic":"reference","name":"APPLICATION_CORE_PROVIDERS","module":"./application_ref"},{"provide":{"__symbolic":"reference","name":"ComponentResolver","module":"./linker/component_resolver"},"useClass":{"__symbolic":"reference","name":"ReflectorComponentResolver","module":"./linker/component_resolver"}},{"__symbolic":"reference","name":"APP_ID_RANDOM_PROVIDER","module":"./application_tokens"},{"__symbolic":"reference","name":"ViewUtils","module":"./linker/view_utils"},{"provide":{"__symbolic":"reference","name":"IterableDiffers","module":"./change_detection/change_detection"},"useValue":{"__symbolic":"reference","name":"defaultIterableDiffers","module":"./change_detection/change_detection"}},{"provide":{"__symbolic":"reference","name":"KeyValueDiffers","module":"./change_detection/change_detection"},"useValue":{"__symbolic":"reference","name":"defaultKeyValueDiffers","module":"./change_detection/change_detection"}},{"provide":{"__symbolic":"reference","name":"DynamicComponentLoader","module":"./linker/dynamic_component_loader"},"useClass":{"__symbolic":"reference","name":"DynamicComponentLoader_","module":"./linker/dynamic_component_loader"}}]}}
1
+ {"__symbolic":"module","version":1,"metadata":{"APPLICATION_COMMON_PROVIDERS":[{"__symbolic":"reference","module":"./application_ref","name":"APPLICATION_CORE_PROVIDERS"},{"provide":{"__symbolic":"reference","module":"./linker/component_resolver","name":"ComponentResolver"},"useClass":{"__symbolic":"reference","module":"./linker/component_resolver","name":"ReflectorComponentResolver"}},{"__symbolic":"reference","module":"./application_tokens","name":"APP_ID_RANDOM_PROVIDER"},{"__symbolic":"reference","module":"./linker/view_utils","name":"ViewUtils"},{"provide":{"__symbolic":"reference","module":"./change_detection/change_detection","name":"IterableDiffers"},"useValue":{"__symbolic":"reference","module":"./change_detection/change_detection","name":"defaultIterableDiffers"}},{"provide":{"__symbolic":"reference","module":"./change_detection/change_detection","name":"KeyValueDiffers"},"useValue":{"__symbolic":"reference","module":"./change_detection/change_detection","name":"defaultKeyValueDiffers"}},{"provide":{"__symbolic":"reference","module":"./linker/dynamic_component_loader","name":"DynamicComponentLoader"},"useClass":{"__symbolic":"reference","module":"./linker/dynamic_component_loader","name":"DynamicComponentLoader_"}}]}}
@@ -1,42 +1,48 @@
1
- import { NgZone } from './zone/ng_zone';
2
1
  import { Type } from '../src/facade/lang';
3
- import { Injector } from './di';
4
- import { ComponentRef, ComponentFactory } from './linker/component_factory';
5
- import { WtfScopeFn } from './profile/profile';
6
2
  import { ChangeDetectorRef } from './change_detection/change_detector_ref';
3
+ import { Injector } from './di';
4
+ import { ComponentFactory, ComponentRef } from './linker/component_factory';
5
+ import { NgZone } from './zone/ng_zone';
7
6
  /**
8
7
  * Create an Angular zone.
8
+ * @experimental
9
9
  */
10
10
  export declare function createNgZone(): NgZone;
11
11
  /**
12
12
  * Creates a platform.
13
13
  * Platforms have to be eagerly created via this function.
14
+ * @experimental
14
15
  */
15
16
  export declare function createPlatform(injector: Injector): PlatformRef;
16
17
  /**
17
18
  * Checks that there currently is a platform
18
19
  * which contains the given token as a provider.
20
+ * @experimental
19
21
  */
20
22
  export declare function assertPlatform(requiredToken: any): PlatformRef;
21
23
  /**
22
24
  * Dispose the existing platform.
25
+ * @experimental
23
26
  */
24
27
  export declare function disposePlatform(): void;
25
28
  /**
26
29
  * Returns the current platform.
30
+ * @experimental
27
31
  */
28
32
  export declare function getPlatform(): PlatformRef;
29
33
  /**
30
34
  * Shortcut for ApplicationRef.bootstrap.
31
- * Requires a platform the be created first.
35
+ * Requires a platform to be created first.
36
+ * @experimental
32
37
  */
33
- export declare function coreBootstrap<C>(injector: Injector, componentFactory: ComponentFactory<C>): ComponentRef<C>;
38
+ export declare function coreBootstrap<C>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C>;
34
39
  /**
35
40
  * Resolves the componentFactory for the given component,
36
41
  * waits for asynchronous initializers and bootstraps the component.
37
- * Requires a platform the be created first.
42
+ * Requires a platform to be created first.
43
+ * @experimental
38
44
  */
39
- export declare function coreLoadAndBootstrap(injector: Injector, componentType: Type): Promise<ComponentRef<any>>;
45
+ export declare function coreLoadAndBootstrap(componentType: Type, injector: Injector): Promise<ComponentRef<any>>;
40
46
  /**
41
47
  * The Angular platform is the entry point for Angular on a web page. Each page
42
48
  * has exactly one platform, and services (such as reflection) which are common
@@ -44,6 +50,7 @@ export declare function coreLoadAndBootstrap(injector: Injector, componentType:
44
50
  *
45
51
  * A page's platform is initialized implicitly when {@link bootstrap}() is called, or
46
52
  * explicitly by calling {@link createPlatform}().
53
+ * @stable
47
54
  */
48
55
  export declare abstract class PlatformRef {
49
56
  /**
@@ -63,10 +70,6 @@ export declare abstract class PlatformRef {
63
70
  }
64
71
  export declare class PlatformRef_ extends PlatformRef {
65
72
  private _injector;
66
- /** @internal */
67
- _applications: ApplicationRef[];
68
- /** @internal */
69
- _disposeListeners: Function[];
70
73
  private _disposed;
71
74
  constructor(_injector: Injector);
72
75
  registerDisposeListener(dispose: () => void): void;
@@ -74,13 +77,12 @@ export declare class PlatformRef_ extends PlatformRef {
74
77
  disposed: boolean;
75
78
  addApplication(appRef: ApplicationRef): void;
76
79
  dispose(): void;
77
- /** @internal */
78
- _applicationDisposed(app: ApplicationRef): void;
79
80
  }
80
81
  /**
81
82
  * A reference to an Angular application running on a page.
82
83
  *
83
84
  * For more about Angular applications, see the documentation for {@link bootstrap}.
85
+ * @stable
84
86
  */
85
87
  export declare abstract class ApplicationRef {
86
88
  /**
@@ -147,22 +149,6 @@ export declare class ApplicationRef_ extends ApplicationRef {
147
149
  private _platform;
148
150
  private _zone;
149
151
  private _injector;
150
- /** @internal */
151
- static _tickScope: WtfScopeFn;
152
- /** @internal */
153
- private _bootstrapListeners;
154
- /** @internal */
155
- private _disposeListeners;
156
- /** @internal */
157
- private _rootComponents;
158
- /** @internal */
159
- private _rootComponentTypes;
160
- /** @internal */
161
- private _changeDetectorRefs;
162
- /** @internal */
163
- private _runningTick;
164
- /** @internal */
165
- private _enforceNoNewChanges;
166
152
  private _exceptionHandler;
167
153
  private _asyncInitDonePromise;
168
154
  private _asyncInitDone;
@@ -174,30 +160,20 @@ export declare class ApplicationRef_ extends ApplicationRef {
174
160
  waitForAsyncInitializers(): Promise<any>;
175
161
  run(callback: Function): any;
176
162
  bootstrap<C>(componentFactory: ComponentFactory<C>): ComponentRef<C>;
177
- /** @internal */
178
- _loadComponent(componentRef: ComponentRef<any>): void;
179
- /** @internal */
180
- _unloadComponent(componentRef: ComponentRef<any>): void;
181
163
  injector: Injector;
182
164
  zone: NgZone;
183
165
  tick(): void;
184
166
  dispose(): void;
185
167
  componentTypes: Type[];
186
168
  }
187
- /**
188
- * @internal
189
- */
190
169
  export declare const PLATFORM_CORE_PROVIDERS: (typeof PlatformRef_ | {
191
170
  provide: typeof PlatformRef;
192
171
  useExisting: typeof PlatformRef_;
193
172
  })[];
194
- /**
195
- * @internal
196
- */
197
173
  export declare const APPLICATION_CORE_PROVIDERS: ({
198
174
  provide: typeof NgZone;
199
175
  useFactory: () => NgZone;
200
- deps: any[];
176
+ deps: any;
201
177
  } | typeof ApplicationRef_ | {
202
178
  provide: typeof ApplicationRef;
203
179
  useExisting: typeof ApplicationRef_;
@@ -4,19 +4,20 @@ 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 ng_zone_1 = require('./zone/ng_zone');
8
- var lang_1 = require('../src/facade/lang');
9
- var di_1 = require('./di');
10
- var application_tokens_1 = require('./application_tokens');
11
7
  var async_1 = require('../src/facade/async');
12
8
  var collection_1 = require('../src/facade/collection');
13
- var testability_1 = require('./testability/testability');
14
- var component_resolver_1 = require('./linker/component_resolver');
15
9
  var exceptions_1 = require('../src/facade/exceptions');
10
+ var lang_1 = require('../src/facade/lang');
11
+ var application_tokens_1 = require('./application_tokens');
16
12
  var console_1 = require('./console');
13
+ var di_1 = require('./di');
14
+ var component_resolver_1 = require('./linker/component_resolver');
17
15
  var profile_1 = require('./profile/profile');
16
+ var testability_1 = require('./testability/testability');
17
+ var ng_zone_1 = require('./zone/ng_zone');
18
18
  /**
19
19
  * Create an Angular zone.
20
+ * @experimental
20
21
  */
21
22
  function createNgZone() {
22
23
  return new ng_zone_1.NgZone({ enableLongStackTrace: lang_1.assertionsEnabled() });
@@ -27,13 +28,14 @@ var _inPlatformCreate = false;
27
28
  /**
28
29
  * Creates a platform.
29
30
  * Platforms have to be eagerly created via this function.
31
+ * @experimental
30
32
  */
31
33
  function createPlatform(injector) {
32
34
  if (_inPlatformCreate) {
33
35
  throw new exceptions_1.BaseException('Already creating a platform...');
34
36
  }
35
37
  if (lang_1.isPresent(_platform) && !_platform.disposed) {
36
- throw new exceptions_1.BaseException("There can be only one platform. Destroy the previous one to create a new one.");
38
+ throw new exceptions_1.BaseException('There can be only one platform. Destroy the previous one to create a new one.');
37
39
  }
38
40
  lang_1.lockMode();
39
41
  _inPlatformCreate = true;
@@ -49,11 +51,12 @@ exports.createPlatform = createPlatform;
49
51
  /**
50
52
  * Checks that there currently is a platform
51
53
  * which contains the given token as a provider.
54
+ * @experimental
52
55
  */
53
56
  function assertPlatform(requiredToken) {
54
57
  var platform = getPlatform();
55
58
  if (lang_1.isBlank(platform)) {
56
- throw new exceptions_1.BaseException('Not platform exists!');
59
+ throw new exceptions_1.BaseException('No platform exists!');
57
60
  }
58
61
  if (lang_1.isPresent(platform) && lang_1.isBlank(platform.injector.get(requiredToken, null))) {
59
62
  throw new exceptions_1.BaseException('A platform with a different configuration has been created. Please destroy it first.');
@@ -63,6 +66,7 @@ function assertPlatform(requiredToken) {
63
66
  exports.assertPlatform = assertPlatform;
64
67
  /**
65
68
  * Dispose the existing platform.
69
+ * @experimental
66
70
  */
67
71
  function disposePlatform() {
68
72
  if (lang_1.isPresent(_platform) && !_platform.disposed) {
@@ -72,6 +76,7 @@ function disposePlatform() {
72
76
  exports.disposePlatform = disposePlatform;
73
77
  /**
74
78
  * Returns the current platform.
79
+ * @experimental
75
80
  */
76
81
  function getPlatform() {
77
82
  return lang_1.isPresent(_platform) && !_platform.disposed ? _platform : null;
@@ -79,9 +84,10 @@ function getPlatform() {
79
84
  exports.getPlatform = getPlatform;
80
85
  /**
81
86
  * Shortcut for ApplicationRef.bootstrap.
82
- * Requires a platform the be created first.
87
+ * Requires a platform to be created first.
88
+ * @experimental
83
89
  */
84
- function coreBootstrap(injector, componentFactory) {
90
+ function coreBootstrap(componentFactory, injector) {
85
91
  var appRef = injector.get(ApplicationRef);
86
92
  return appRef.bootstrap(componentFactory);
87
93
  }
@@ -89,9 +95,10 @@ exports.coreBootstrap = coreBootstrap;
89
95
  /**
90
96
  * Resolves the componentFactory for the given component,
91
97
  * waits for asynchronous initializers and bootstraps the component.
92
- * Requires a platform the be created first.
98
+ * Requires a platform to be created first.
99
+ * @experimental
93
100
  */
94
- function coreLoadAndBootstrap(injector, componentType) {
101
+ function coreLoadAndBootstrap(componentType, injector) {
95
102
  var appRef = injector.get(ApplicationRef);
96
103
  return appRef.run(function () {
97
104
  var componentResolver = injector.get(component_resolver_1.ComponentResolver);
@@ -108,6 +115,7 @@ exports.coreLoadAndBootstrap = coreLoadAndBootstrap;
108
115
  *
109
116
  * A page's platform is initialized implicitly when {@link bootstrap}() is called, or
110
117
  * explicitly by calling {@link createPlatform}().
118
+ * @stable
111
119
  */
112
120
  var PlatformRef = (function () {
113
121
  function PlatformRef() {
@@ -166,9 +174,11 @@ var PlatformRef_ = (function (_super) {
166
174
  };
167
175
  /** @internal */
168
176
  PlatformRef_.prototype._applicationDisposed = function (app) { collection_1.ListWrapper.remove(this._applications, app); };
177
+ /** @nocollapse */
169
178
  PlatformRef_.decorators = [
170
179
  { type: di_1.Injectable },
171
180
  ];
181
+ /** @nocollapse */
172
182
  PlatformRef_.ctorParameters = [
173
183
  { type: di_1.Injector, },
174
184
  ];
@@ -179,6 +189,7 @@ exports.PlatformRef_ = PlatformRef_;
179
189
  * A reference to an Angular application running on a page.
180
190
  *
181
191
  * For more about Angular applications, see the documentation for {@link bootstrap}.
192
+ * @stable
182
193
  */
183
194
  var ApplicationRef = (function () {
184
195
  function ApplicationRef() {
@@ -321,7 +332,9 @@ var ApplicationRef_ = (function (_super) {
321
332
  _this._loadComponent(compRef);
322
333
  var c = _this._injector.get(console_1.Console);
323
334
  if (lang_1.assertionsEnabled()) {
324
- c.log("Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.");
335
+ var prodDescription = lang_1.IS_DART ? 'Production mode is disabled in Dart.' :
336
+ 'Call enableProdMode() to enable the production mode.';
337
+ c.log("Angular 2 is running in the development mode. " + prodDescription);
325
338
  }
326
339
  return compRef;
327
340
  });
@@ -353,7 +366,7 @@ var ApplicationRef_ = (function (_super) {
353
366
  });
354
367
  ApplicationRef_.prototype.tick = function () {
355
368
  if (this._runningTick) {
356
- throw new exceptions_1.BaseException("ApplicationRef.tick is called recursively");
369
+ throw new exceptions_1.BaseException('ApplicationRef.tick is called recursively');
357
370
  }
358
371
  var s = ApplicationRef_._tickScope();
359
372
  try {
@@ -381,9 +394,11 @@ var ApplicationRef_ = (function (_super) {
381
394
  });
382
395
  /** @internal */
383
396
  ApplicationRef_._tickScope = profile_1.wtfCreateScope('ApplicationRef#tick()');
397
+ /** @nocollapse */
384
398
  ApplicationRef_.decorators = [
385
399
  { type: di_1.Injectable },
386
400
  ];
401
+ /** @nocollapse */
387
402
  ApplicationRef_.ctorParameters = [
388
403
  { type: PlatformRef_, },
389
404
  { type: ng_zone_1.NgZone, },
@@ -392,21 +407,15 @@ var ApplicationRef_ = (function (_super) {
392
407
  return ApplicationRef_;
393
408
  }(ApplicationRef));
394
409
  exports.ApplicationRef_ = ApplicationRef_;
395
- /**
396
- * @internal
397
- */
398
410
  exports.PLATFORM_CORE_PROVIDERS =
399
411
  /*@ts2dart_const*/ [
400
412
  PlatformRef_,
401
413
  /*@ts2dart_const*/ (
402
414
  /* @ts2dart_Provider */ { provide: PlatformRef, useExisting: PlatformRef_ })
403
415
  ];
404
- /**
405
- * @internal
406
- */
407
416
  exports.APPLICATION_CORE_PROVIDERS = [
408
417
  /* @ts2dart_Provider */ { provide: ng_zone_1.NgZone, useFactory: createNgZone, deps: [] },
409
418
  ApplicationRef_,
410
- /* @ts2dart_Provider */ { provide: ApplicationRef, useExisting: ApplicationRef_ }
419
+ /* @ts2dart_Provider */ { provide: ApplicationRef, useExisting: ApplicationRef_ },
411
420
  ];
412
421
  //# sourceMappingURL=application_ref.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application_ref.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/application_ref.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {NgZone, NgZoneError} from './zone/ng_zone';\nimport {Type, isBlank, isPresent, assertionsEnabled, lockMode, isPromise} from '../src/facade/lang';\nimport {Injector, Injectable} from './di';\nimport {PLATFORM_INITIALIZER, APP_INITIALIZER} from './application_tokens';\nimport {PromiseWrapper, ObservableWrapper} from '../src/facade/async';\nimport {ListWrapper} from '../src/facade/collection';\nimport {TestabilityRegistry, Testability} from './testability/testability';\nimport {ComponentResolver} from './linker/component_resolver';\nimport {ComponentRef, ComponentFactory} from './linker/component_factory';\nimport {BaseException, ExceptionHandler, unimplemented} from '../src/facade/exceptions';\nimport {Console} from './console';\nimport {wtfLeave, wtfCreateScope, WtfScopeFn} from './profile/profile';\nimport {ChangeDetectorRef} from './change_detection/change_detector_ref';\n\n/**\n * Create an Angular zone.\n */\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: assertionsEnabled()});\n}\n\nvar _platform: PlatformRef;\nvar _inPlatformCreate: boolean = false;\n\n/**\n * Creates a platform.\n * Platforms have to be eagerly created via this function.\n */\nexport function createPlatform(injector: Injector): PlatformRef {\n if (_inPlatformCreate) {\n throw new BaseException('Already creating a platform...');\n }\n if (isPresent(_platform) && !_platform.disposed) {\n throw new BaseException(\n \"There can be only one platform. Destroy the previous one to create a new one.\");\n }\n lockMode();\n _inPlatformCreate = true;\n try {\n _platform = injector.get(PlatformRef);\n } finally {\n _inPlatformCreate = false;\n }\n return _platform;\n}\n\n/**\n * Checks that there currently is a platform\n * which contains the given token as a provider.\n */\nexport function assertPlatform(requiredToken: any): PlatformRef {\n var platform = getPlatform();\n if (isBlank(platform)) {\n throw new BaseException('Not platform exists!');\n }\n if (isPresent(platform) && isBlank(platform.injector.get(requiredToken, null))) {\n throw new BaseException(\n 'A platform with a different configuration has been created. Please destroy it first.');\n }\n return platform;\n}\n\n/**\n * Dispose the existing platform.\n */\nexport function disposePlatform(): void {\n if (isPresent(_platform) && !_platform.disposed) {\n _platform.dispose();\n }\n}\n\n/**\n * Returns the current platform.\n */\nexport function getPlatform(): PlatformRef {\n return isPresent(_platform) && !_platform.disposed ? _platform : null;\n}\n\n/**\n * Shortcut for ApplicationRef.bootstrap.\n * Requires a platform the be created first.\n */\nexport function coreBootstrap<C>(injector: Injector,\n componentFactory: ComponentFactory<C>): ComponentRef<C> {\n var appRef: ApplicationRef = injector.get(ApplicationRef);\n return appRef.bootstrap(componentFactory);\n}\n\n/**\n * Resolves the componentFactory for the given component,\n * waits for asynchronous initializers and bootstraps the component.\n * Requires a platform the be created first.\n */\nexport function coreLoadAndBootstrap(injector: Injector,\n componentType: Type): Promise<ComponentRef<any>> {\n var appRef: ApplicationRef = injector.get(ApplicationRef);\n return appRef.run(() => {\n var componentResolver: ComponentResolver = injector.get(ComponentResolver);\n return PromiseWrapper\n .all([componentResolver.resolveComponent(componentType), appRef.waitForAsyncInitializers()])\n .then((arr) => appRef.bootstrap(arr[0]));\n });\n}\n\n/**\n * The Angular platform is the entry point for Angular on a web page. Each page\n * has exactly one platform, and services (such as reflection) which are common\n * to every Angular application running on the page are bound in its scope.\n *\n * A page's platform is initialized implicitly when {@link bootstrap}() is called, or\n * explicitly by calling {@link createPlatform}().\n */\nexport abstract class PlatformRef {\n /**\n * Register a listener to be called when the platform is disposed.\n */\n abstract registerDisposeListener(dispose: () => void): void;\n\n /**\n * Retrieve the platform {@link Injector}, which is the parent injector for\n * every Angular application on the page and provides singleton providers.\n */\n get injector(): Injector { throw unimplemented(); };\n\n /**\n * Destroy the Angular platform and all Angular applications on the page.\n */\n abstract dispose(): void;\n\n get disposed(): boolean { throw unimplemented(); }\n}\nexport class PlatformRef_ extends PlatformRef {\n /** @internal */\n _applications: ApplicationRef[] = [];\n /** @internal */\n _disposeListeners: Function[] = [];\n\n private _disposed: boolean = false;\n\n constructor(private _injector: Injector) {\n super();\n if (!_inPlatformCreate) {\n throw new BaseException('Platforms have to be created via `createPlatform`!');\n }\n let inits: Function[] = <Function[]>_injector.get(PLATFORM_INITIALIZER, null);\n if (isPresent(inits)) inits.forEach(init => init());\n }\n\n registerDisposeListener(dispose: () => void): void { this._disposeListeners.push(dispose); }\n\n get injector(): Injector { return this._injector; }\n\n get disposed() { return this._disposed; }\n\n addApplication(appRef: ApplicationRef) { this._applications.push(appRef); }\n\n dispose(): void {\n ListWrapper.clone(this._applications).forEach((app) => app.dispose());\n this._disposeListeners.forEach((dispose) => dispose());\n this._disposed = true;\n }\n\n /** @internal */\n _applicationDisposed(app: ApplicationRef): void { ListWrapper.remove(this._applications, app); }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: Injector, },\n];\n}\n\n/**\n * A reference to an Angular application running on a page.\n *\n * For more about Angular applications, see the documentation for {@link bootstrap}.\n */\nexport abstract class ApplicationRef {\n /**\n * Register a listener to be called each time `bootstrap()` is called to bootstrap\n * a new root component.\n */\n abstract registerBootstrapListener(listener: (ref: ComponentRef<any>) => void): void;\n\n /**\n * Register a listener to be called when the application is disposed.\n */\n abstract registerDisposeListener(dispose: () => void): void;\n\n /**\n * Returns a promise that resolves when all asynchronous application initializers\n * are done.\n */\n abstract waitForAsyncInitializers(): Promise<any>;\n\n /**\n * Runs the given callback in the zone and returns the result of the callback.\n * Exceptions will be forwarded to the ExceptionHandler and rethrown.\n */\n abstract run(callback: Function): any;\n\n /**\n * Bootstrap a new component at the root level of the application.\n *\n * ### Bootstrap process\n *\n * When bootstrapping a new root component into an application, Angular mounts the\n * specified application component onto DOM elements identified by the [componentType]'s\n * selector and kicks off automatic change detection to finish initializing the component.\n *\n * ### Example\n * {@example core/ts/platform/platform.ts region='longform'}\n */\n abstract bootstrap<C>(componentFactory: ComponentFactory<C>): ComponentRef<C>;\n\n /**\n * Retrieve the application {@link Injector}.\n */\n get injector(): Injector { return <Injector>unimplemented(); };\n\n /**\n * Retrieve the application {@link NgZone}.\n */\n get zone(): NgZone { return <NgZone>unimplemented(); };\n\n /**\n * Dispose of this application and all of its components.\n */\n abstract dispose(): void;\n\n /**\n * Invoke this method to explicitly process change detection and its side-effects.\n *\n * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n * further changes are detected. If additional changes are picked up during this second cycle,\n * bindings in the app have side-effects that cannot be resolved in a single change detection\n * pass.\n * In this case, Angular throws an error, since an Angular application can only have one change\n * detection pass during which all change detection must complete.\n */\n abstract tick(): void;\n\n /**\n * Get a list of component types registered to this application.\n */\n get componentTypes(): Type[] { return <Type[]>unimplemented(); };\n}\nexport class ApplicationRef_ extends ApplicationRef {\n /** @internal */\n static _tickScope: WtfScopeFn = wtfCreateScope('ApplicationRef#tick()');\n\n /** @internal */\n private _bootstrapListeners: Function[] = [];\n /** @internal */\n private _disposeListeners: Function[] = [];\n /** @internal */\n private _rootComponents: ComponentRef<any>[] = [];\n /** @internal */\n private _rootComponentTypes: Type[] = [];\n /** @internal */\n private _changeDetectorRefs: ChangeDetectorRef[] = [];\n /** @internal */\n private _runningTick: boolean = false;\n /** @internal */\n private _enforceNoNewChanges: boolean = false;\n\n private _exceptionHandler: ExceptionHandler;\n\n private _asyncInitDonePromise: Promise<any>;\n private _asyncInitDone: boolean;\n\n constructor(private _platform: PlatformRef_, private _zone: NgZone, private _injector: Injector) {\n super();\n var zone: NgZone = _injector.get(NgZone);\n this._enforceNoNewChanges = assertionsEnabled();\n zone.run(() => { this._exceptionHandler = _injector.get(ExceptionHandler); });\n this._asyncInitDonePromise = this.run(() => {\n let inits: Function[] = _injector.get(APP_INITIALIZER, null);\n var asyncInitResults = [];\n var asyncInitDonePromise;\n if (isPresent(inits)) {\n for (var i = 0; i < inits.length; i++) {\n var initResult = inits[i]();\n if (isPromise(initResult)) {\n asyncInitResults.push(initResult);\n }\n }\n }\n if (asyncInitResults.length > 0) {\n asyncInitDonePromise =\n PromiseWrapper.all(asyncInitResults).then((_) => this._asyncInitDone = true);\n this._asyncInitDone = false;\n } else {\n this._asyncInitDone = true;\n asyncInitDonePromise = PromiseWrapper.resolve(true);\n }\n return asyncInitDonePromise;\n });\n ObservableWrapper.subscribe(zone.onError, (error: NgZoneError) => {\n this._exceptionHandler.call(error.error, error.stackTrace);\n });\n ObservableWrapper.subscribe(this._zone.onMicrotaskEmpty,\n (_) => { this._zone.run(() => { this.tick(); }); });\n }\n\n registerBootstrapListener(listener: (ref: ComponentRef<any>) => void): void {\n this._bootstrapListeners.push(listener);\n }\n\n registerDisposeListener(dispose: () => void): void { this._disposeListeners.push(dispose); }\n\n registerChangeDetector(changeDetector: ChangeDetectorRef): void {\n this._changeDetectorRefs.push(changeDetector);\n }\n\n unregisterChangeDetector(changeDetector: ChangeDetectorRef): void {\n ListWrapper.remove(this._changeDetectorRefs, changeDetector);\n }\n\n waitForAsyncInitializers(): Promise<any> { return this._asyncInitDonePromise; }\n\n run(callback: Function): any {\n var zone = this.injector.get(NgZone);\n var result;\n // Note: Don't use zone.runGuarded as we want to know about\n // the thrown exception!\n // Note: the completer needs to be created outside\n // of `zone.run` as Dart swallows rejected promises\n // via the onError callback of the promise.\n var completer = PromiseWrapper.completer();\n zone.run(() => {\n try {\n result = callback();\n if (isPromise(result)) {\n PromiseWrapper.then(result, (ref) => { completer.resolve(ref); }, (err, stackTrace) => {\n completer.reject(err, stackTrace);\n this._exceptionHandler.call(err, stackTrace);\n });\n }\n } catch (e) {\n this._exceptionHandler.call(e, e.stack);\n throw e;\n }\n });\n return isPromise(result) ? completer.promise : result;\n }\n\n bootstrap<C>(componentFactory: ComponentFactory<C>): ComponentRef<C> {\n if (!this._asyncInitDone) {\n throw new BaseException(\n 'Cannot bootstrap as there are still asynchronous initializers running. Wait for them using waitForAsyncInitializers().');\n }\n return this.run(() => {\n this._rootComponentTypes.push(componentFactory.componentType);\n var compRef = componentFactory.create(this._injector, [], componentFactory.selector);\n compRef.onDestroy(() => { this._unloadComponent(compRef); });\n var testability = compRef.injector.get(Testability, null);\n if (isPresent(testability)) {\n compRef.injector.get(TestabilityRegistry)\n .registerApplication(compRef.location.nativeElement, testability);\n }\n\n this._loadComponent(compRef);\n let c: Console = this._injector.get(Console);\n if (assertionsEnabled()) {\n c.log(\n \"Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode.\");\n }\n return compRef;\n });\n }\n\n /** @internal */\n _loadComponent(componentRef: ComponentRef<any>): void {\n this._changeDetectorRefs.push(componentRef.changeDetectorRef);\n this.tick();\n this._rootComponents.push(componentRef);\n this._bootstrapListeners.forEach((listener) => listener(componentRef));\n }\n\n /** @internal */\n _unloadComponent(componentRef: ComponentRef<any>): void {\n if (!ListWrapper.contains(this._rootComponents, componentRef)) {\n return;\n }\n this.unregisterChangeDetector(componentRef.changeDetectorRef);\n ListWrapper.remove(this._rootComponents, componentRef);\n }\n\n get injector(): Injector { return this._injector; }\n\n get zone(): NgZone { return this._zone; }\n\n tick(): void {\n if (this._runningTick) {\n throw new BaseException(\"ApplicationRef.tick is called recursively\");\n }\n\n var s = ApplicationRef_._tickScope();\n try {\n this._runningTick = true;\n this._changeDetectorRefs.forEach((detector) => detector.detectChanges());\n if (this._enforceNoNewChanges) {\n this._changeDetectorRefs.forEach((detector) => detector.checkNoChanges());\n }\n } finally {\n this._runningTick = false;\n wtfLeave(s);\n }\n }\n\n dispose(): void {\n // TODO(alxhub): Dispose of the NgZone.\n ListWrapper.clone(this._rootComponents).forEach((ref) => ref.destroy());\n this._disposeListeners.forEach((dispose) => dispose());\n this._platform._applicationDisposed(this);\n }\n\n get componentTypes(): Type[] { return this._rootComponentTypes; }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: PlatformRef_, },\n{type: NgZone, },\n{type: Injector, },\n];\n}\n\n/**\n * @internal\n */\nexport const PLATFORM_CORE_PROVIDERS =\n /*@ts2dart_const*/[\n PlatformRef_,\n /*@ts2dart_const*/ (\n /* @ts2dart_Provider */ {provide: PlatformRef, useExisting: PlatformRef_})\n ];\n\n/**\n * @internal\n */\nexport const APPLICATION_CORE_PROVIDERS = /*@ts2dart_const*/[\n /* @ts2dart_Provider */ {provide: NgZone, useFactory: createNgZone, deps: []},\n ApplicationRef_,\n /* @ts2dart_Provider */ {provide: ApplicationRef, useExisting: ApplicationRef_}\n];\n"]}
1
+ {"version":3,"file":"application_ref.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/application_ref.ts"],"names":[],"mappings":"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","sourcesContent":["import {ObservableWrapper, PromiseWrapper} from '../src/facade/async';\nimport {ListWrapper} from '../src/facade/collection';\nimport {BaseException, ExceptionHandler, unimplemented} from '../src/facade/exceptions';\nimport {IS_DART, Type, assertionsEnabled, isBlank, isPresent, isPromise, lockMode} from '../src/facade/lang';\n\nimport {APP_INITIALIZER, PLATFORM_INITIALIZER} from './application_tokens';\nimport {ChangeDetectorRef} from './change_detection/change_detector_ref';\nimport {Console} from './console';\nimport {Injectable, Injector} from './di';\nimport {ComponentFactory, ComponentRef} from './linker/component_factory';\nimport {ComponentResolver} from './linker/component_resolver';\nimport {WtfScopeFn, wtfCreateScope, wtfLeave} from './profile/profile';\nimport {Testability, TestabilityRegistry} from './testability/testability';\nimport {NgZone, NgZoneError} from './zone/ng_zone';\n\n\n/**\n * Create an Angular zone.\n * @experimental\n */\nexport function createNgZone(): NgZone {\n return new NgZone({enableLongStackTrace: assertionsEnabled()});\n}\n\nvar _platform: PlatformRef;\nvar _inPlatformCreate: boolean = false;\n\n/**\n * Creates a platform.\n * Platforms have to be eagerly created via this function.\n * @experimental\n */\nexport function createPlatform(injector: Injector): PlatformRef {\n if (_inPlatformCreate) {\n throw new BaseException('Already creating a platform...');\n }\n if (isPresent(_platform) && !_platform.disposed) {\n throw new BaseException(\n 'There can be only one platform. Destroy the previous one to create a new one.');\n }\n lockMode();\n _inPlatformCreate = true;\n try {\n _platform = injector.get(PlatformRef);\n } finally {\n _inPlatformCreate = false;\n }\n return _platform;\n}\n\n/**\n * Checks that there currently is a platform\n * which contains the given token as a provider.\n * @experimental\n */\nexport function assertPlatform(requiredToken: any): PlatformRef {\n var platform = getPlatform();\n if (isBlank(platform)) {\n throw new BaseException('No platform exists!');\n }\n if (isPresent(platform) && isBlank(platform.injector.get(requiredToken, null))) {\n throw new BaseException(\n 'A platform with a different configuration has been created. Please destroy it first.');\n }\n return platform;\n}\n\n/**\n * Dispose the existing platform.\n * @experimental\n */\nexport function disposePlatform(): void {\n if (isPresent(_platform) && !_platform.disposed) {\n _platform.dispose();\n }\n}\n\n/**\n * Returns the current platform.\n * @experimental\n */\nexport function getPlatform(): PlatformRef {\n return isPresent(_platform) && !_platform.disposed ? _platform : null;\n}\n\n/**\n * Shortcut for ApplicationRef.bootstrap.\n * Requires a platform to be created first.\n * @experimental\n */\nexport function coreBootstrap<C>(\n componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n var appRef: ApplicationRef = injector.get(ApplicationRef);\n return appRef.bootstrap(componentFactory);\n}\n\n/**\n * Resolves the componentFactory for the given component,\n * waits for asynchronous initializers and bootstraps the component.\n * Requires a platform to be created first.\n * @experimental\n */\nexport function coreLoadAndBootstrap(\n componentType: Type, injector: Injector): Promise<ComponentRef<any>> {\n var appRef: ApplicationRef = injector.get(ApplicationRef);\n return appRef.run(() => {\n var componentResolver: ComponentResolver = injector.get(ComponentResolver);\n return PromiseWrapper\n .all([componentResolver.resolveComponent(componentType), appRef.waitForAsyncInitializers()])\n .then((arr) => appRef.bootstrap(arr[0]));\n });\n}\n\n/**\n * The Angular platform is the entry point for Angular on a web page. Each page\n * has exactly one platform, and services (such as reflection) which are common\n * to every Angular application running on the page are bound in its scope.\n *\n * A page's platform is initialized implicitly when {@link bootstrap}() is called, or\n * explicitly by calling {@link createPlatform}().\n * @stable\n */\nexport abstract class PlatformRef {\n /**\n * Register a listener to be called when the platform is disposed.\n */\n abstract registerDisposeListener(dispose: () => void): void;\n\n /**\n * Retrieve the platform {@link Injector}, which is the parent injector for\n * every Angular application on the page and provides singleton providers.\n */\n get injector(): Injector { throw unimplemented(); };\n\n /**\n * Destroy the Angular platform and all Angular applications on the page.\n */\n abstract dispose(): void;\n\n get disposed(): boolean { throw unimplemented(); }\n}\nexport class PlatformRef_ extends PlatformRef {\n /** @internal */\n _applications: ApplicationRef[] = [];\n /** @internal */\n _disposeListeners: Function[] = [];\n\n private _disposed: boolean = false;\n\n constructor(private _injector: Injector) {\n super();\n if (!_inPlatformCreate) {\n throw new BaseException('Platforms have to be created via `createPlatform`!');\n }\n let inits: Function[] = <Function[]>_injector.get(PLATFORM_INITIALIZER, null);\n if (isPresent(inits)) inits.forEach(init => init());\n }\n\n registerDisposeListener(dispose: () => void): void { this._disposeListeners.push(dispose); }\n\n get injector(): Injector { return this._injector; }\n\n get disposed() { return this._disposed; }\n\n addApplication(appRef: ApplicationRef) { this._applications.push(appRef); }\n\n dispose(): void {\n ListWrapper.clone(this._applications).forEach((app) => app.dispose());\n this._disposeListeners.forEach((dispose) => dispose());\n this._disposed = true;\n }\n\n /** @internal */\n _applicationDisposed(app: ApplicationRef): void { ListWrapper.remove(this._applications, app); }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: Injector, },\n];\n}\n\n/**\n * A reference to an Angular application running on a page.\n *\n * For more about Angular applications, see the documentation for {@link bootstrap}.\n * @stable\n */\nexport abstract class ApplicationRef {\n /**\n * Register a listener to be called each time `bootstrap()` is called to bootstrap\n * a new root component.\n */\n abstract registerBootstrapListener(listener: (ref: ComponentRef<any>) => void): void;\n\n /**\n * Register a listener to be called when the application is disposed.\n */\n abstract registerDisposeListener(dispose: () => void): void;\n\n /**\n * Returns a promise that resolves when all asynchronous application initializers\n * are done.\n */\n abstract waitForAsyncInitializers(): Promise<any>;\n\n /**\n * Runs the given callback in the zone and returns the result of the callback.\n * Exceptions will be forwarded to the ExceptionHandler and rethrown.\n */\n abstract run(callback: Function): any;\n\n /**\n * Bootstrap a new component at the root level of the application.\n *\n * ### Bootstrap process\n *\n * When bootstrapping a new root component into an application, Angular mounts the\n * specified application component onto DOM elements identified by the [componentType]'s\n * selector and kicks off automatic change detection to finish initializing the component.\n *\n * ### Example\n * {@example core/ts/platform/platform.ts region='longform'}\n */\n abstract bootstrap<C>(componentFactory: ComponentFactory<C>): ComponentRef<C>;\n\n /**\n * Retrieve the application {@link Injector}.\n */\n get injector(): Injector { return <Injector>unimplemented(); };\n\n /**\n * Retrieve the application {@link NgZone}.\n */\n get zone(): NgZone { return <NgZone>unimplemented(); };\n\n /**\n * Dispose of this application and all of its components.\n */\n abstract dispose(): void;\n\n /**\n * Invoke this method to explicitly process change detection and its side-effects.\n *\n * In development mode, `tick()` also performs a second change detection cycle to ensure that no\n * further changes are detected. If additional changes are picked up during this second cycle,\n * bindings in the app have side-effects that cannot be resolved in a single change detection\n * pass.\n * In this case, Angular throws an error, since an Angular application can only have one change\n * detection pass during which all change detection must complete.\n */\n abstract tick(): void;\n\n /**\n * Get a list of component types registered to this application.\n */\n get componentTypes(): Type[] { return <Type[]>unimplemented(); };\n}\nexport class ApplicationRef_ extends ApplicationRef {\n /** @internal */\n static _tickScope: WtfScopeFn = wtfCreateScope('ApplicationRef#tick()');\n\n /** @internal */\n private _bootstrapListeners: Function[] = [];\n /** @internal */\n private _disposeListeners: Function[] = [];\n /** @internal */\n private _rootComponents: ComponentRef<any>[] = [];\n /** @internal */\n private _rootComponentTypes: Type[] = [];\n /** @internal */\n private _changeDetectorRefs: ChangeDetectorRef[] = [];\n /** @internal */\n private _runningTick: boolean = false;\n /** @internal */\n private _enforceNoNewChanges: boolean = false;\n\n private _exceptionHandler: ExceptionHandler;\n\n private _asyncInitDonePromise: Promise<any>;\n private _asyncInitDone: boolean;\n\n constructor(private _platform: PlatformRef_, private _zone: NgZone, private _injector: Injector) {\n super();\n var zone: NgZone = _injector.get(NgZone);\n this._enforceNoNewChanges = assertionsEnabled();\n zone.run(() => { this._exceptionHandler = _injector.get(ExceptionHandler); });\n this._asyncInitDonePromise = this.run(() => {\n let inits: Function[] = _injector.get(APP_INITIALIZER, null);\n var asyncInitResults: any[] /** TODO #9100 */ = [];\n var asyncInitDonePromise: any /** TODO #9100 */;\n if (isPresent(inits)) {\n for (var i = 0; i < inits.length; i++) {\n var initResult = inits[i]();\n if (isPromise(initResult)) {\n asyncInitResults.push(initResult);\n }\n }\n }\n if (asyncInitResults.length > 0) {\n asyncInitDonePromise =\n PromiseWrapper.all(asyncInitResults).then((_) => this._asyncInitDone = true);\n this._asyncInitDone = false;\n } else {\n this._asyncInitDone = true;\n asyncInitDonePromise = PromiseWrapper.resolve(true);\n }\n return asyncInitDonePromise;\n });\n ObservableWrapper.subscribe(zone.onError, (error: NgZoneError) => {\n this._exceptionHandler.call(error.error, error.stackTrace);\n });\n ObservableWrapper.subscribe(\n this._zone.onMicrotaskEmpty, (_) => { this._zone.run(() => { this.tick(); }); });\n }\n\n registerBootstrapListener(listener: (ref: ComponentRef<any>) => void): void {\n this._bootstrapListeners.push(listener);\n }\n\n registerDisposeListener(dispose: () => void): void { this._disposeListeners.push(dispose); }\n\n registerChangeDetector(changeDetector: ChangeDetectorRef): void {\n this._changeDetectorRefs.push(changeDetector);\n }\n\n unregisterChangeDetector(changeDetector: ChangeDetectorRef): void {\n ListWrapper.remove(this._changeDetectorRefs, changeDetector);\n }\n\n waitForAsyncInitializers(): Promise<any> { return this._asyncInitDonePromise; }\n\n run(callback: Function): any {\n var zone = this.injector.get(NgZone);\n var result: any /** TODO #9100 */;\n // Note: Don't use zone.runGuarded as we want to know about\n // the thrown exception!\n // Note: the completer needs to be created outside\n // of `zone.run` as Dart swallows rejected promises\n // via the onError callback of the promise.\n var completer = PromiseWrapper.completer();\n zone.run(() => {\n try {\n result = callback();\n if (isPromise(result)) {\n PromiseWrapper.then(\n result, (ref) => { completer.resolve(ref); },\n (err, stackTrace) => {\n completer.reject(err, stackTrace);\n this._exceptionHandler.call(err, stackTrace);\n });\n }\n } catch (e) {\n this._exceptionHandler.call(e, e.stack);\n throw e;\n }\n });\n return isPromise(result) ? completer.promise : result;\n }\n\n bootstrap<C>(componentFactory: ComponentFactory<C>): ComponentRef<C> {\n if (!this._asyncInitDone) {\n throw new BaseException(\n 'Cannot bootstrap as there are still asynchronous initializers running. Wait for them using waitForAsyncInitializers().');\n }\n return this.run(() => {\n this._rootComponentTypes.push(componentFactory.componentType);\n var compRef = componentFactory.create(this._injector, [], componentFactory.selector);\n compRef.onDestroy(() => { this._unloadComponent(compRef); });\n var testability = compRef.injector.get(Testability, null);\n if (isPresent(testability)) {\n compRef.injector.get(TestabilityRegistry)\n .registerApplication(compRef.location.nativeElement, testability);\n }\n\n this._loadComponent(compRef);\n let c: Console = this._injector.get(Console);\n if (assertionsEnabled()) {\n let prodDescription = IS_DART ? 'Production mode is disabled in Dart.' :\n 'Call enableProdMode() to enable the production mode.';\n c.log(`Angular 2 is running in the development mode. ${prodDescription}`);\n }\n return compRef;\n });\n }\n\n /** @internal */\n _loadComponent(componentRef: ComponentRef<any>): void {\n this._changeDetectorRefs.push(componentRef.changeDetectorRef);\n this.tick();\n this._rootComponents.push(componentRef);\n this._bootstrapListeners.forEach((listener) => listener(componentRef));\n }\n\n /** @internal */\n _unloadComponent(componentRef: ComponentRef<any>): void {\n if (!ListWrapper.contains(this._rootComponents, componentRef)) {\n return;\n }\n this.unregisterChangeDetector(componentRef.changeDetectorRef);\n ListWrapper.remove(this._rootComponents, componentRef);\n }\n\n get injector(): Injector { return this._injector; }\n\n get zone(): NgZone { return this._zone; }\n\n tick(): void {\n if (this._runningTick) {\n throw new BaseException('ApplicationRef.tick is called recursively');\n }\n\n var s = ApplicationRef_._tickScope();\n try {\n this._runningTick = true;\n this._changeDetectorRefs.forEach((detector) => detector.detectChanges());\n if (this._enforceNoNewChanges) {\n this._changeDetectorRefs.forEach((detector) => detector.checkNoChanges());\n }\n } finally {\n this._runningTick = false;\n wtfLeave(s);\n }\n }\n\n dispose(): void {\n // TODO(alxhub): Dispose of the NgZone.\n ListWrapper.clone(this._rootComponents).forEach((ref) => ref.destroy());\n this._disposeListeners.forEach((dispose) => dispose());\n this._platform._applicationDisposed(this);\n }\n\n get componentTypes(): Type[] { return this._rootComponentTypes; }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: PlatformRef_, },\n{type: NgZone, },\n{type: Injector, },\n];\n}\n\nexport const PLATFORM_CORE_PROVIDERS =\n /*@ts2dart_const*/[\n PlatformRef_,\n /*@ts2dart_const*/ (\n /* @ts2dart_Provider */ {provide: PlatformRef, useExisting: PlatformRef_})\n ];\n\nexport const APPLICATION_CORE_PROVIDERS = /*@ts2dart_const*/[\n /* @ts2dart_Provider */ {provide: NgZone, useFactory: createNgZone, deps: [] as any},\n ApplicationRef_,\n /* @ts2dart_Provider */ {provide: ApplicationRef, useExisting: ApplicationRef_},\n];\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"PlatformRef_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","module":"./di"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Injector","module":"./di"}]}]}},"ApplicationRef_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","module":"./di"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PlatformRef_"},{"__symbolic":"reference","name":"NgZone","module":"./zone/ng_zone"},{"__symbolic":"reference","name":"Injector","module":"./di"}]}]}},"PLATFORM_CORE_PROVIDERS":[{"__symbolic":"reference","name":"PlatformRef_"},{"provide":{"__symbolic":"reference","name":"PlatformRef"},"useExisting":{"__symbolic":"reference","name":"PlatformRef_"}}],"APPLICATION_CORE_PROVIDERS":[{"provide":{"__symbolic":"reference","name":"NgZone","module":"./zone/ng_zone"},"useFactory":{"__symbolic":"reference","name":"createNgZone"},"deps":[]},{"__symbolic":"reference","name":"ApplicationRef_"},{"provide":{"__symbolic":"reference","name":"ApplicationRef"},"useExisting":{"__symbolic":"reference","name":"ApplicationRef_"}}]}}
1
+ {"__symbolic":"module","version":1,"metadata":{"createNgZone":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"./zone/ng_zone","name":"NgZone"},"arguments":[{"enableLongStackTrace":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../src/facade/lang","name":"assertionsEnabled"}}}]}},"getPlatform":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"error","message":"Expression form not supported","line":82,"character":8}},"PlatformRef_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./di","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./di","name":"Injector"}]}],"registerDisposeListener":[{"__symbolic":"method"}],"addApplication":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}],"_applicationDisposed":[{"__symbolic":"method"}]}},"ApplicationRef_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./di","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PlatformRef_"},{"__symbolic":"reference","module":"./zone/ng_zone","name":"NgZone"},{"__symbolic":"reference","module":"./di","name":"Injector"}]}],"registerBootstrapListener":[{"__symbolic":"method"}],"registerDisposeListener":[{"__symbolic":"method"}],"registerChangeDetector":[{"__symbolic":"method"}],"unregisterChangeDetector":[{"__symbolic":"method"}],"waitForAsyncInitializers":[{"__symbolic":"method"}],"run":[{"__symbolic":"method"}],"bootstrap":[{"__symbolic":"method"}],"_loadComponent":[{"__symbolic":"method"}],"_unloadComponent":[{"__symbolic":"method"}],"tick":[{"__symbolic":"method"}],"dispose":[{"__symbolic":"method"}]}},"PLATFORM_CORE_PROVIDERS":[{"__symbolic":"reference","name":"PlatformRef_"},{"provide":{"__symbolic":"reference","name":"PlatformRef"},"useExisting":{"__symbolic":"reference","name":"PlatformRef_"}}],"APPLICATION_CORE_PROVIDERS":{"__symbolic":"error","message":"Expression form not supported","line":441,"character":75}}}