@angular/core 2.0.0-rc.1 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/{core.umd.js → bundles/core.umd.js} +6402 -4606
  2. package/bundles/core.umd.min.js +6 -0
  3. package/esm/index.d.ts +5 -4
  4. package/esm/index.js +9 -8
  5. package/esm/index.js.map +1 -1
  6. package/esm/private_export.d.ts +96 -11
  7. package/esm/private_export.js +39 -10
  8. package/esm/private_export.js.map +1 -1
  9. package/esm/private_export.metadata.json +1 -1
  10. package/esm/src/animation/active_animation_players_map.d.ts +11 -0
  11. package/esm/src/animation/active_animation_players_map.js +47 -0
  12. package/esm/src/animation/active_animation_players_map.js.map +1 -0
  13. package/esm/src/animation/animation_constants.d.ts +4 -0
  14. package/esm/src/animation/animation_constants.js +5 -0
  15. package/esm/src/animation/animation_constants.js.map +1 -0
  16. package/esm/src/animation/animation_constants.metadata.json +1 -0
  17. package/esm/src/animation/animation_driver.d.ts +9 -0
  18. package/esm/src/animation/animation_driver.js +9 -0
  19. package/esm/src/animation/animation_driver.js.map +1 -0
  20. package/esm/src/animation/animation_group_player.d.ts +18 -0
  21. package/esm/src/animation/animation_group_player.js +60 -0
  22. package/esm/src/animation/animation_group_player.js.map +1 -0
  23. package/esm/src/animation/animation_keyframe.d.ts +6 -0
  24. package/esm/src/animation/animation_keyframe.js +7 -0
  25. package/esm/src/animation/animation_keyframe.js.map +1 -0
  26. package/esm/src/animation/animation_player.d.ts +26 -0
  27. package/esm/src/animation/animation_player.js +30 -0
  28. package/esm/src/animation/animation_player.js.map +1 -0
  29. package/esm/src/animation/animation_sequence_player.d.ts +21 -0
  30. package/esm/src/animation/animation_sequence_player.js +64 -0
  31. package/esm/src/animation/animation_sequence_player.js.map +1 -0
  32. package/esm/src/animation/animation_style_util.d.ts +32 -0
  33. package/esm/src/animation/animation_style_util.js +91 -0
  34. package/esm/src/animation/animation_style_util.js.map +1 -0
  35. package/esm/src/animation/animation_style_util.metadata.json +1 -0
  36. package/esm/src/animation/animation_styles.d.ts +8 -0
  37. package/esm/src/animation/animation_styles.js +6 -0
  38. package/esm/src/animation/animation_styles.js.map +1 -0
  39. package/esm/src/animation/metadata.d.ts +511 -0
  40. package/esm/src/animation/metadata.js +565 -0
  41. package/esm/src/animation/metadata.js.map +1 -0
  42. package/esm/src/animation/metadata.metadata.json +1 -0
  43. package/esm/src/application_common_providers.d.ts +1 -0
  44. package/esm/src/application_common_providers.js +5 -4
  45. package/esm/src/application_common_providers.js.map +1 -1
  46. package/esm/src/application_common_providers.metadata.json +1 -1
  47. package/esm/src/application_ref.d.ts +17 -41
  48. package/esm/src/application_ref.js +32 -23
  49. package/esm/src/application_ref.js.map +1 -1
  50. package/esm/src/application_ref.metadata.json +1 -1
  51. package/esm/src/application_tokens.d.ts +6 -1
  52. package/esm/src/application_tokens.js +9 -4
  53. package/esm/src/application_tokens.js.map +1 -1
  54. package/esm/src/application_tokens.metadata.json +1 -1
  55. package/esm/src/change_detection/change_detection.d.ts +9 -8
  56. package/esm/src/change_detection/change_detection.js +7 -7
  57. package/esm/src/change_detection/change_detection.js.map +1 -1
  58. package/esm/src/change_detection/change_detection.metadata.json +1 -1
  59. package/esm/src/change_detection/change_detection_util.d.ts +3 -1
  60. package/esm/src/change_detection/change_detection_util.js +6 -5
  61. package/esm/src/change_detection/change_detection_util.js.map +1 -1
  62. package/esm/src/change_detection/change_detection_util.metadata.json +1 -1
  63. package/esm/src/change_detection/change_detector_ref.d.ts +3 -0
  64. package/esm/src/change_detection/change_detector_ref.js +3 -0
  65. package/esm/src/change_detection/change_detector_ref.js.map +1 -1
  66. package/esm/src/change_detection/constants.d.ts +1 -0
  67. package/esm/src/change_detection/constants.js +4 -3
  68. package/esm/src/change_detection/constants.js.map +1 -1
  69. package/esm/src/change_detection/constants.metadata.json +1 -1
  70. package/esm/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  71. package/esm/src/change_detection/differs/default_iterable_differ.js +25 -18
  72. package/esm/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  73. package/esm/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  74. package/esm/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  75. package/esm/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  76. package/esm/src/change_detection/differs/iterable_differs.d.ts +4 -1
  77. package/esm/src/change_detection/differs/iterable_differs.js +5 -4
  78. package/esm/src/change_detection/differs/iterable_differs.js.map +1 -1
  79. package/esm/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  80. package/esm/src/change_detection/differs/keyvalue_differs.js +5 -4
  81. package/esm/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  82. package/esm/src/change_detection/pipe_transform.js.map +1 -1
  83. package/esm/src/change_detection.d.ts +1 -1
  84. package/esm/src/change_detection.js +5 -5
  85. package/esm/src/change_detection.js.map +1 -1
  86. package/esm/src/console.js +2 -1
  87. package/esm/src/console.js.map +1 -1
  88. package/esm/src/console.metadata.json +1 -1
  89. package/esm/src/debug/debug_node.d.ts +20 -2
  90. package/esm/src/debug/debug_node.js +16 -2
  91. package/esm/src/debug/debug_node.js.map +1 -1
  92. package/esm/src/debug/debug_node.metadata.json +1 -0
  93. package/esm/src/debug/debug_renderer.d.ts +10 -6
  94. package/esm/src/debug/debug_renderer.js +13 -2
  95. package/esm/src/debug/debug_renderer.js.map +1 -1
  96. package/esm/src/di/decorators.d.ts +13 -1
  97. package/esm/src/di/decorators.js +7 -1
  98. package/esm/src/di/decorators.js.map +1 -1
  99. package/esm/src/di/decorators.metadata.json +1 -1
  100. package/esm/src/di/forward_ref.d.ts +3 -1
  101. package/esm/src/di/forward_ref.js +3 -1
  102. package/esm/src/di/forward_ref.js.map +1 -1
  103. package/esm/src/di/injector.d.ts +4 -1
  104. package/esm/src/di/injector.js +5 -2
  105. package/esm/src/di/injector.js.map +1 -1
  106. package/esm/src/di/injector.metadata.json +1 -1
  107. package/esm/src/di/metadata.d.ts +8 -1
  108. package/esm/src/di/metadata.js +10 -3
  109. package/esm/src/di/metadata.js.map +1 -1
  110. package/esm/src/di/opaque_token.d.ts +2 -1
  111. package/esm/src/di/opaque_token.js +22 -21
  112. package/esm/src/di/opaque_token.js.map +1 -1
  113. package/esm/src/di/provider.d.ts +11 -10
  114. package/esm/src/di/provider.js +17 -14
  115. package/esm/src/di/provider.js.map +1 -1
  116. package/esm/src/di/provider.metadata.json +1 -0
  117. package/esm/src/di/provider_util.js.map +1 -1
  118. package/esm/src/di/provider_util.metadata.json +1 -0
  119. package/esm/src/di/reflective_exceptions.d.ts +11 -16
  120. package/esm/src/di/reflective_exceptions.js +28 -22
  121. package/esm/src/di/reflective_exceptions.js.map +1 -1
  122. package/esm/src/di/reflective_injector.d.ts +3 -33
  123. package/esm/src/di/reflective_injector.js +10 -7
  124. package/esm/src/di/reflective_injector.js.map +1 -1
  125. package/esm/src/di/reflective_key.d.ts +1 -8
  126. package/esm/src/di/reflective_key.js +3 -2
  127. package/esm/src/di/reflective_key.js.map +1 -1
  128. package/esm/src/di/reflective_provider.d.ts +2 -1
  129. package/esm/src/di/reflective_provider.js +6 -5
  130. package/esm/src/di/reflective_provider.js.map +1 -1
  131. package/esm/src/di/reflective_provider.metadata.json +1 -0
  132. package/esm/src/di.d.ts +2 -2
  133. package/esm/src/di.js +6 -6
  134. package/esm/src/di.js.map +1 -1
  135. package/esm/src/facade/async.d.ts +11 -4
  136. package/esm/src/facade/async.js +25 -15
  137. package/esm/src/facade/async.js.map +1 -1
  138. package/esm/src/facade/base_wrapped_exception.js +4 -4
  139. package/esm/src/facade/base_wrapped_exception.js.map +1 -1
  140. package/esm/src/facade/collection.js +1 -1
  141. package/esm/src/facade/collection.js.map +1 -1
  142. package/esm/src/facade/collection.metadata.json +1 -1
  143. package/esm/src/facade/exception_handler.d.ts +2 -11
  144. package/esm/src/facade/exception_handler.js +8 -7
  145. package/esm/src/facade/exception_handler.js.map +1 -1
  146. package/esm/src/facade/exceptions.d.ts +4 -0
  147. package/esm/src/facade/exceptions.js +6 -2
  148. package/esm/src/facade/exceptions.js.map +1 -1
  149. package/esm/src/facade/exceptions.metadata.json +1 -0
  150. package/esm/src/facade/lang.d.ts +6 -4
  151. package/esm/src/facade/lang.js +12 -11
  152. package/esm/src/facade/lang.js.map +1 -1
  153. package/esm/src/facade/lang.metadata.json +1 -1
  154. package/esm/src/facade/math.d.ts +2 -0
  155. package/esm/src/facade/math.js +4 -0
  156. package/esm/src/facade/math.js.map +1 -0
  157. package/esm/src/facade/math.metadata.json +1 -0
  158. package/esm/src/facade/promise.js.map +1 -1
  159. package/esm/src/linker/component_factory.d.ts +5 -4
  160. package/esm/src/linker/component_factory.js +7 -3
  161. package/esm/src/linker/component_factory.js.map +1 -1
  162. package/esm/src/linker/component_resolver.d.ts +5 -4
  163. package/esm/src/linker/component_resolver.js +12 -7
  164. package/esm/src/linker/component_resolver.js.map +1 -1
  165. package/esm/src/linker/component_resolver.metadata.json +1 -1
  166. package/esm/src/linker/debug_context.js +5 -4
  167. package/esm/src/linker/debug_context.js.map +1 -1
  168. package/esm/src/linker/dynamic_component_loader.d.ts +5 -6
  169. package/esm/src/linker/dynamic_component_loader.js +5 -3
  170. package/esm/src/linker/dynamic_component_loader.js.map +1 -1
  171. package/esm/src/linker/dynamic_component_loader.metadata.json +1 -1
  172. package/esm/src/linker/element.d.ts +3 -3
  173. package/esm/src/linker/element.js +5 -5
  174. package/esm/src/linker/element.js.map +1 -1
  175. package/esm/src/linker/element_injector.js.map +1 -1
  176. package/esm/src/linker/element_ref.d.ts +1 -0
  177. package/esm/src/linker/element_ref.js +5 -5
  178. package/esm/src/linker/element_ref.js.map +1 -1
  179. package/esm/src/linker/exceptions.d.ts +4 -1
  180. package/esm/src/linker/exceptions.js +4 -1
  181. package/esm/src/linker/exceptions.js.map +1 -1
  182. package/esm/src/linker/query_list.d.ts +3 -10
  183. package/esm/src/linker/query_list.js +8 -7
  184. package/esm/src/linker/query_list.js.map +1 -1
  185. package/esm/src/linker/systemjs_component_resolver.d.ts +21 -0
  186. package/esm/src/linker/systemjs_component_resolver.js +44 -0
  187. package/esm/src/linker/systemjs_component_resolver.js.map +1 -0
  188. package/esm/src/linker/template_ref.d.ts +2 -1
  189. package/esm/src/linker/template_ref.js +1 -0
  190. package/esm/src/linker/template_ref.js.map +1 -1
  191. package/esm/src/linker/view.d.ts +12 -1
  192. package/esm/src/linker/view.js +62 -16
  193. package/esm/src/linker/view.js.map +1 -1
  194. package/esm/src/linker/view_container_ref.d.ts +2 -10
  195. package/esm/src/linker/view_container_ref.js +4 -3
  196. package/esm/src/linker/view_container_ref.js.map +1 -1
  197. package/esm/src/linker/view_ref.d.ts +5 -1
  198. package/esm/src/linker/view_ref.js +6 -2
  199. package/esm/src/linker/view_ref.js.map +1 -1
  200. package/esm/src/linker/view_type.js.map +1 -1
  201. package/esm/src/linker/view_utils.d.ts +2 -4
  202. package/esm/src/linker/view_utils.js +21 -21
  203. package/esm/src/linker/view_utils.js.map +1 -1
  204. package/esm/src/linker/view_utils.metadata.json +1 -1
  205. package/esm/src/linker.d.ts +5 -4
  206. package/esm/src/linker.js +5 -4
  207. package/esm/src/linker.js.map +1 -1
  208. package/esm/src/metadata/di.d.ts +8 -1
  209. package/esm/src/metadata/di.js +10 -3
  210. package/esm/src/metadata/di.js.map +1 -1
  211. package/esm/src/metadata/directives.d.ts +104 -20
  212. package/esm/src/metadata/directives.js +25 -19
  213. package/esm/src/metadata/directives.js.map +1 -1
  214. package/esm/src/metadata/lifecycle_hooks.d.ts +46 -31
  215. package/esm/src/metadata/lifecycle_hooks.js +464 -10
  216. package/esm/src/metadata/lifecycle_hooks.js.map +1 -1
  217. package/esm/src/metadata/lifecycle_hooks.metadata.json +1 -1
  218. package/esm/src/metadata/view.d.ts +6 -2
  219. package/esm/src/metadata/view.js +3 -1
  220. package/esm/src/metadata/view.js.map +1 -1
  221. package/esm/src/metadata/view.metadata.json +1 -1
  222. package/esm/src/metadata.d.ts +49 -15
  223. package/esm/src/metadata.js +35 -10
  224. package/esm/src/metadata.js.map +1 -1
  225. package/esm/src/metadata.metadata.json +1 -1
  226. package/esm/src/platform_common_providers.d.ts +1 -0
  227. package/esm/src/platform_common_providers.js +3 -3
  228. package/esm/src/platform_common_providers.js.map +1 -1
  229. package/esm/src/platform_common_providers.metadata.json +1 -1
  230. package/esm/src/platform_directives_and_pipes.d.ts +48 -45
  231. package/esm/src/platform_directives_and_pipes.js +50 -47
  232. package/esm/src/platform_directives_and_pipes.js.map +1 -1
  233. package/esm/src/platform_directives_and_pipes.metadata.json +1 -1
  234. package/esm/src/profile/profile.d.ts +5 -1
  235. package/esm/src/profile/profile.js +4 -0
  236. package/esm/src/profile/profile.js.map +1 -1
  237. package/esm/src/profile/profile.metadata.json +1 -1
  238. package/esm/src/profile/wtf_impl.js +1 -1
  239. package/esm/src/profile/wtf_impl.js.map +1 -1
  240. package/esm/src/profile/wtf_impl.metadata.json +1 -0
  241. package/esm/src/profile/wtf_init.js +2 -2
  242. package/esm/src/profile/wtf_init.js.map +1 -1
  243. package/esm/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  244. package/esm/src/reflection/platform_reflection_capabilities.js.map +1 -1
  245. package/esm/src/reflection/reflection.d.ts +1 -1
  246. package/esm/src/reflection/reflection.js +2 -2
  247. package/esm/src/reflection/reflection.js.map +1 -1
  248. package/esm/src/reflection/reflection.metadata.json +1 -1
  249. package/esm/src/reflection/reflection_capabilities.d.ts +4 -5
  250. package/esm/src/reflection/reflection_capabilities.js +22 -10
  251. package/esm/src/reflection/reflection_capabilities.js.map +1 -1
  252. package/esm/src/reflection/reflector.d.ts +8 -20
  253. package/esm/src/reflection/reflector.js +13 -3
  254. package/esm/src/reflection/reflector.js.map +1 -1
  255. package/esm/src/reflection/reflector_reader.js +3 -3
  256. package/esm/src/reflection/reflector_reader.js.map +1 -1
  257. package/esm/src/reflection/types.js.map +1 -1
  258. package/esm/src/render/api.d.ts +17 -6
  259. package/esm/src/render/api.js +8 -1
  260. package/esm/src/render/api.js.map +1 -1
  261. package/esm/src/render.d.ts +1 -1
  262. package/esm/src/render.js +1 -1
  263. package/esm/src/render.js.map +1 -1
  264. package/esm/src/security.js +6 -6
  265. package/esm/src/security.js.map +1 -1
  266. package/esm/src/testability/testability.d.ts +3 -19
  267. package/esm/src/testability/testability.js +10 -5
  268. package/esm/src/testability/testability.js.map +1 -1
  269. package/esm/src/testability/testability.metadata.json +1 -1
  270. package/esm/src/util/decorators.d.ts +2 -1
  271. package/esm/src/util/decorators.js +10 -9
  272. package/esm/src/util/decorators.js.map +1 -1
  273. package/esm/src/util.js.map +1 -1
  274. package/esm/src/zone/ng_zone.d.ts +6 -17
  275. package/esm/src/zone/ng_zone.js +7 -6
  276. package/esm/src/zone/ng_zone.js.map +1 -1
  277. package/esm/src/zone/ng_zone_impl.d.ts +1 -4
  278. package/esm/src/zone/ng_zone_impl.js +3 -2
  279. package/esm/src/zone/ng_zone_impl.js.map +1 -1
  280. package/esm/src/zone.js.map +1 -1
  281. package/esm/testing/async.js +20 -22
  282. package/esm/testing/async.js.map +1 -1
  283. package/esm/testing/async.metadata.json +1 -0
  284. package/esm/testing/async_test_completer.js.map +1 -1
  285. package/esm/testing/fake_async.d.ts +4 -1
  286. package/esm/testing/fake_async.js +9 -2
  287. package/esm/testing/fake_async.js.map +1 -1
  288. package/esm/testing/lang_utils.js +1 -1
  289. package/esm/testing/lang_utils.js.map +1 -1
  290. package/esm/testing/lang_utils.metadata.json +1 -0
  291. package/esm/testing/logger.js +5 -3
  292. package/esm/testing/logger.js.map +1 -1
  293. package/esm/testing/logger.metadata.json +1 -1
  294. package/esm/testing/mock_application_ref.d.ts +1 -1
  295. package/esm/testing/mock_application_ref.js +1 -0
  296. package/esm/testing/mock_application_ref.js.map +1 -1
  297. package/esm/testing/mock_application_ref.metadata.json +1 -1
  298. package/esm/testing/ng_zone_mock.d.ts +0 -1
  299. package/esm/testing/ng_zone_mock.js +2 -1
  300. package/esm/testing/ng_zone_mock.js.map +1 -1
  301. package/esm/testing/ng_zone_mock.metadata.json +1 -1
  302. package/esm/testing/regexp.js +1 -1
  303. package/esm/testing/regexp.js.map +1 -1
  304. package/esm/testing/regexp.metadata.json +1 -0
  305. package/esm/testing/test_injector.d.ts +6 -12
  306. package/esm/testing/test_injector.js +4 -10
  307. package/esm/testing/test_injector.js.map +1 -1
  308. package/esm/testing/test_injector.metadata.json +1 -0
  309. package/esm/testing/testing.d.ts +2 -2
  310. package/esm/testing/testing.js +2 -2
  311. package/esm/testing/testing.js.map +1 -1
  312. package/esm/testing/testing.metadata.json +1 -1
  313. package/esm/testing.js.map +1 -1
  314. package/index.d.ts +5 -4
  315. package/index.js +10 -8
  316. package/index.js.map +1 -1
  317. package/package.json +5 -1
  318. package/private_export.d.ts +96 -11
  319. package/private_export.js +39 -10
  320. package/private_export.js.map +1 -1
  321. package/private_export.metadata.json +1 -1
  322. package/src/animation/active_animation_players_map.d.ts +11 -0
  323. package/src/animation/active_animation_players_map.js +54 -0
  324. package/src/animation/active_animation_players_map.js.map +1 -0
  325. package/src/animation/animation_constants.d.ts +4 -0
  326. package/src/animation/animation_constants.js +6 -0
  327. package/src/animation/animation_constants.js.map +1 -0
  328. package/src/animation/animation_constants.metadata.json +1 -0
  329. package/src/animation/animation_driver.d.ts +9 -0
  330. package/src/animation/animation_driver.js +25 -0
  331. package/src/animation/animation_driver.js.map +1 -0
  332. package/src/animation/animation_group_player.d.ts +18 -0
  333. package/src/animation/animation_group_player.js +64 -0
  334. package/src/animation/animation_group_player.js.map +1 -0
  335. package/src/animation/animation_keyframe.d.ts +6 -0
  336. package/src/animation/animation_keyframe.js +10 -0
  337. package/src/animation/animation_keyframe.js.map +1 -0
  338. package/src/animation/animation_player.d.ts +26 -0
  339. package/src/animation/animation_player.js +42 -0
  340. package/src/animation/animation_player.js.map +1 -0
  341. package/src/animation/animation_sequence_player.d.ts +21 -0
  342. package/src/animation/animation_sequence_player.js +69 -0
  343. package/src/animation/animation_sequence_player.js.map +1 -0
  344. package/src/animation/animation_style_util.d.ts +32 -0
  345. package/src/animation/animation_style_util.js +99 -0
  346. package/src/animation/animation_style_util.js.map +1 -0
  347. package/src/animation/animation_style_util.metadata.json +1 -0
  348. package/src/animation/animation_styles.d.ts +8 -0
  349. package/src/animation/animation_styles.js +9 -0
  350. package/src/animation/animation_styles.js.map +1 -0
  351. package/src/animation/metadata.d.ts +511 -0
  352. package/src/animation/metadata.js +627 -0
  353. package/src/animation/metadata.js.map +1 -0
  354. package/src/animation/metadata.metadata.json +1 -0
  355. package/src/application_common_providers.d.ts +1 -0
  356. package/src/application_common_providers.js +4 -3
  357. package/src/application_common_providers.js.map +1 -1
  358. package/src/application_common_providers.metadata.json +1 -1
  359. package/src/application_ref.d.ts +17 -41
  360. package/src/application_ref.js +30 -21
  361. package/src/application_ref.js.map +1 -1
  362. package/src/application_ref.metadata.json +1 -1
  363. package/src/application_tokens.d.ts +6 -1
  364. package/src/application_tokens.js +9 -4
  365. package/src/application_tokens.js.map +1 -1
  366. package/src/application_tokens.metadata.json +1 -1
  367. package/src/change_detection/change_detection.d.ts +9 -8
  368. package/src/change_detection/change_detection.js +21 -21
  369. package/src/change_detection/change_detection.js.map +1 -1
  370. package/src/change_detection/change_detection.metadata.json +1 -1
  371. package/src/change_detection/change_detection_util.d.ts +3 -1
  372. package/src/change_detection/change_detection_util.js +6 -5
  373. package/src/change_detection/change_detection_util.js.map +1 -1
  374. package/src/change_detection/change_detection_util.metadata.json +1 -1
  375. package/src/change_detection/change_detector_ref.d.ts +3 -0
  376. package/src/change_detection/change_detector_ref.js +3 -0
  377. package/src/change_detection/change_detector_ref.js.map +1 -1
  378. package/src/change_detection/constants.d.ts +1 -0
  379. package/src/change_detection/constants.js +4 -3
  380. package/src/change_detection/constants.js.map +1 -1
  381. package/src/change_detection/constants.metadata.json +1 -1
  382. package/src/change_detection/differs/default_iterable_differ.d.ts +6 -94
  383. package/src/change_detection/differs/default_iterable_differ.js +25 -18
  384. package/src/change_detection/differs/default_iterable_differ.js.map +1 -1
  385. package/src/change_detection/differs/default_keyvalue_differ.d.ts +3 -30
  386. package/src/change_detection/differs/default_keyvalue_differ.js +13 -8
  387. package/src/change_detection/differs/default_keyvalue_differ.js.map +1 -1
  388. package/src/change_detection/differs/iterable_differs.d.ts +4 -1
  389. package/src/change_detection/differs/iterable_differs.js +4 -3
  390. package/src/change_detection/differs/iterable_differs.js.map +1 -1
  391. package/src/change_detection/differs/keyvalue_differs.d.ts +2 -1
  392. package/src/change_detection/differs/keyvalue_differs.js +4 -3
  393. package/src/change_detection/differs/keyvalue_differs.js.map +1 -1
  394. package/src/change_detection/pipe_transform.js.map +1 -1
  395. package/src/change_detection.d.ts +1 -1
  396. package/src/change_detection.js +9 -9
  397. package/src/change_detection.js.map +1 -1
  398. package/src/console.js +2 -1
  399. package/src/console.js.map +1 -1
  400. package/src/console.metadata.json +1 -1
  401. package/src/debug/debug_node.d.ts +20 -2
  402. package/src/debug/debug_node.js +16 -2
  403. package/src/debug/debug_node.js.map +1 -1
  404. package/src/debug/debug_node.metadata.json +1 -0
  405. package/src/debug/debug_renderer.d.ts +10 -6
  406. package/src/debug/debug_renderer.js +12 -1
  407. package/src/debug/debug_renderer.js.map +1 -1
  408. package/src/di/decorators.d.ts +13 -1
  409. package/src/di/decorators.js +7 -1
  410. package/src/di/decorators.js.map +1 -1
  411. package/src/di/decorators.metadata.json +1 -1
  412. package/src/di/forward_ref.d.ts +3 -1
  413. package/src/di/forward_ref.js +3 -1
  414. package/src/di/forward_ref.js.map +1 -1
  415. package/src/di/injector.d.ts +4 -1
  416. package/src/di/injector.js +5 -2
  417. package/src/di/injector.js.map +1 -1
  418. package/src/di/injector.metadata.json +1 -1
  419. package/src/di/metadata.d.ts +8 -1
  420. package/src/di/metadata.js +10 -3
  421. package/src/di/metadata.js.map +1 -1
  422. package/src/di/opaque_token.d.ts +2 -1
  423. package/src/di/opaque_token.js +22 -21
  424. package/src/di/opaque_token.js.map +1 -1
  425. package/src/di/provider.d.ts +11 -10
  426. package/src/di/provider.js +17 -14
  427. package/src/di/provider.js.map +1 -1
  428. package/src/di/provider.metadata.json +1 -0
  429. package/src/di/provider_util.js.map +1 -1
  430. package/src/di/provider_util.metadata.json +1 -0
  431. package/src/di/reflective_exceptions.d.ts +11 -16
  432. package/src/di/reflective_exceptions.js +28 -22
  433. package/src/di/reflective_exceptions.js.map +1 -1
  434. package/src/di/reflective_injector.d.ts +3 -33
  435. package/src/di/reflective_injector.js +9 -6
  436. package/src/di/reflective_injector.js.map +1 -1
  437. package/src/di/reflective_key.d.ts +1 -8
  438. package/src/di/reflective_key.js +3 -2
  439. package/src/di/reflective_key.js.map +1 -1
  440. package/src/di/reflective_provider.d.ts +2 -1
  441. package/src/di/reflective_provider.js +6 -5
  442. package/src/di/reflective_provider.js.map +1 -1
  443. package/src/di/reflective_provider.metadata.json +1 -0
  444. package/src/di.d.ts +2 -2
  445. package/src/di.js +7 -9
  446. package/src/di.js.map +1 -1
  447. package/src/facade/async.d.ts +11 -4
  448. package/src/facade/async.js +27 -17
  449. package/src/facade/async.js.map +1 -1
  450. package/src/facade/base_wrapped_exception.js +4 -4
  451. package/src/facade/base_wrapped_exception.js.map +1 -1
  452. package/src/facade/collection.js.map +1 -1
  453. package/src/facade/collection.metadata.json +1 -1
  454. package/src/facade/exception_handler.d.ts +2 -11
  455. package/src/facade/exception_handler.js +8 -7
  456. package/src/facade/exception_handler.js.map +1 -1
  457. package/src/facade/exceptions.d.ts +4 -0
  458. package/src/facade/exceptions.js +6 -2
  459. package/src/facade/exceptions.js.map +1 -1
  460. package/src/facade/exceptions.metadata.json +1 -0
  461. package/src/facade/lang.d.ts +6 -4
  462. package/src/facade/lang.js +12 -11
  463. package/src/facade/lang.js.map +1 -1
  464. package/src/facade/lang.metadata.json +1 -1
  465. package/src/facade/math.d.ts +2 -0
  466. package/src/facade/math.js +5 -0
  467. package/src/facade/math.js.map +1 -0
  468. package/src/facade/math.metadata.json +1 -0
  469. package/src/facade/promise.js.map +1 -1
  470. package/src/linker/component_factory.d.ts +5 -4
  471. package/src/linker/component_factory.js +7 -3
  472. package/src/linker/component_factory.js.map +1 -1
  473. package/src/linker/component_resolver.d.ts +5 -4
  474. package/src/linker/component_resolver.js +12 -7
  475. package/src/linker/component_resolver.js.map +1 -1
  476. package/src/linker/component_resolver.metadata.json +1 -1
  477. package/src/linker/debug_context.js +5 -4
  478. package/src/linker/debug_context.js.map +1 -1
  479. package/src/linker/dynamic_component_loader.d.ts +5 -6
  480. package/src/linker/dynamic_component_loader.js +5 -3
  481. package/src/linker/dynamic_component_loader.js.map +1 -1
  482. package/src/linker/dynamic_component_loader.metadata.json +1 -1
  483. package/src/linker/element.d.ts +3 -3
  484. package/src/linker/element.js +5 -5
  485. package/src/linker/element.js.map +1 -1
  486. package/src/linker/element_injector.js.map +1 -1
  487. package/src/linker/element_ref.d.ts +1 -0
  488. package/src/linker/element_ref.js +5 -5
  489. package/src/linker/element_ref.js.map +1 -1
  490. package/src/linker/exceptions.d.ts +4 -1
  491. package/src/linker/exceptions.js +4 -1
  492. package/src/linker/exceptions.js.map +1 -1
  493. package/src/linker/query_list.d.ts +3 -10
  494. package/src/linker/query_list.js +8 -7
  495. package/src/linker/query_list.js.map +1 -1
  496. package/src/linker/systemjs_component_resolver.d.ts +21 -0
  497. package/src/linker/systemjs_component_resolver.js +52 -0
  498. package/src/linker/systemjs_component_resolver.js.map +1 -0
  499. package/src/linker/template_ref.d.ts +2 -1
  500. package/src/linker/template_ref.js +1 -0
  501. package/src/linker/template_ref.js.map +1 -1
  502. package/src/linker/view.d.ts +12 -1
  503. package/src/linker/view.js +65 -15
  504. package/src/linker/view.js.map +1 -1
  505. package/src/linker/view_container_ref.d.ts +2 -10
  506. package/src/linker/view_container_ref.js +4 -3
  507. package/src/linker/view_container_ref.js.map +1 -1
  508. package/src/linker/view_ref.d.ts +5 -1
  509. package/src/linker/view_ref.js +6 -2
  510. package/src/linker/view_ref.js.map +1 -1
  511. package/src/linker/view_type.js.map +1 -1
  512. package/src/linker/view_utils.d.ts +2 -4
  513. package/src/linker/view_utils.js +21 -21
  514. package/src/linker/view_utils.js.map +1 -1
  515. package/src/linker/view_utils.metadata.json +1 -1
  516. package/src/linker.d.ts +5 -4
  517. package/src/linker.js +12 -9
  518. package/src/linker.js.map +1 -1
  519. package/src/metadata/di.d.ts +8 -1
  520. package/src/metadata/di.js +10 -3
  521. package/src/metadata/di.js.map +1 -1
  522. package/src/metadata/directives.d.ts +104 -20
  523. package/src/metadata/directives.js +25 -27
  524. package/src/metadata/directives.js.map +1 -1
  525. package/src/metadata/lifecycle_hooks.d.ts +46 -31
  526. package/src/metadata/lifecycle_hooks.js +496 -10
  527. package/src/metadata/lifecycle_hooks.js.map +1 -1
  528. package/src/metadata/lifecycle_hooks.metadata.json +1 -1
  529. package/src/metadata/view.d.ts +6 -2
  530. package/src/metadata/view.js +3 -1
  531. package/src/metadata/view.js.map +1 -1
  532. package/src/metadata/view.metadata.json +1 -1
  533. package/src/metadata.d.ts +49 -15
  534. package/src/metadata.js +70 -37
  535. package/src/metadata.js.map +1 -1
  536. package/src/metadata.metadata.json +1 -1
  537. package/src/platform_common_providers.d.ts +1 -0
  538. package/src/platform_common_providers.js +3 -3
  539. package/src/platform_common_providers.js.map +1 -1
  540. package/src/platform_common_providers.metadata.json +1 -1
  541. package/src/platform_directives_and_pipes.d.ts +48 -45
  542. package/src/platform_directives_and_pipes.js +50 -47
  543. package/src/platform_directives_and_pipes.js.map +1 -1
  544. package/src/platform_directives_and_pipes.metadata.json +1 -1
  545. package/src/profile/profile.d.ts +5 -1
  546. package/src/profile/profile.js +5 -3
  547. package/src/profile/profile.js.map +1 -1
  548. package/src/profile/profile.metadata.json +1 -1
  549. package/src/profile/wtf_impl.js +1 -1
  550. package/src/profile/wtf_impl.js.map +1 -1
  551. package/src/profile/wtf_impl.metadata.json +1 -0
  552. package/src/profile/wtf_init.js +2 -2
  553. package/src/profile/wtf_init.js.map +1 -1
  554. package/src/reflection/platform_reflection_capabilities.d.ts +4 -3
  555. package/src/reflection/platform_reflection_capabilities.js.map +1 -1
  556. package/src/reflection/reflection.d.ts +1 -1
  557. package/src/reflection/reflection.js +2 -2
  558. package/src/reflection/reflection.js.map +1 -1
  559. package/src/reflection/reflection.metadata.json +1 -1
  560. package/src/reflection/reflection_capabilities.d.ts +4 -5
  561. package/src/reflection/reflection_capabilities.js +24 -10
  562. package/src/reflection/reflection_capabilities.js.map +1 -1
  563. package/src/reflection/reflector.d.ts +8 -20
  564. package/src/reflection/reflector.js +13 -3
  565. package/src/reflection/reflector.js.map +1 -1
  566. package/src/reflection/reflector_reader.js +3 -3
  567. package/src/reflection/reflector_reader.js.map +1 -1
  568. package/src/reflection/types.js.map +1 -1
  569. package/src/render/api.d.ts +17 -6
  570. package/src/render/api.js +8 -1
  571. package/src/render/api.js.map +1 -1
  572. package/src/render.d.ts +1 -1
  573. package/src/render.js +2 -2
  574. package/src/render.js.map +1 -1
  575. package/src/security.js +6 -6
  576. package/src/security.js.map +1 -1
  577. package/src/testability/testability.d.ts +3 -19
  578. package/src/testability/testability.js +10 -5
  579. package/src/testability/testability.js.map +1 -1
  580. package/src/testability/testability.metadata.json +1 -1
  581. package/src/util/decorators.d.ts +2 -1
  582. package/src/util/decorators.js +10 -9
  583. package/src/util/decorators.js.map +1 -1
  584. package/src/util.js.map +1 -1
  585. package/src/zone/ng_zone.d.ts +6 -17
  586. package/src/zone/ng_zone.js +11 -6
  587. package/src/zone/ng_zone.js.map +1 -1
  588. package/src/zone/ng_zone_impl.d.ts +1 -4
  589. package/src/zone/ng_zone_impl.js +3 -2
  590. package/src/zone/ng_zone_impl.js.map +1 -1
  591. package/src/zone.js.map +1 -1
  592. package/testing/async.js +20 -22
  593. package/testing/async.js.map +1 -1
  594. package/testing/async.metadata.json +1 -0
  595. package/testing/async_test_completer.js.map +1 -1
  596. package/testing/fake_async.d.ts +4 -1
  597. package/testing/fake_async.js +10 -2
  598. package/testing/fake_async.js.map +1 -1
  599. package/testing/lang_utils.js +1 -1
  600. package/testing/lang_utils.js.map +1 -1
  601. package/testing/lang_utils.metadata.json +1 -0
  602. package/testing/logger.js +5 -3
  603. package/testing/logger.js.map +1 -1
  604. package/testing/logger.metadata.json +1 -1
  605. package/testing/mock_application_ref.d.ts +1 -1
  606. package/testing/mock_application_ref.js +1 -0
  607. package/testing/mock_application_ref.js.map +1 -1
  608. package/testing/mock_application_ref.metadata.json +1 -1
  609. package/testing/ng_zone_mock.d.ts +0 -1
  610. package/testing/ng_zone_mock.js +2 -1
  611. package/testing/ng_zone_mock.js.map +1 -1
  612. package/testing/ng_zone_mock.metadata.json +1 -1
  613. package/testing/regexp.js +1 -1
  614. package/testing/regexp.js.map +1 -1
  615. package/testing/regexp.metadata.json +1 -0
  616. package/testing/test_injector.d.ts +6 -12
  617. package/testing/test_injector.js +3 -9
  618. package/testing/test_injector.js.map +1 -1
  619. package/testing/test_injector.metadata.json +1 -0
  620. package/testing/testing.d.ts +2 -2
  621. package/testing/testing.js +5 -5
  622. package/testing/testing.js.map +1 -1
  623. package/testing/testing.metadata.json +1 -1
  624. package/testing.js.map +1 -1
@@ -1,4 +1,7 @@
1
1
  import { SimpleChange } from '../change_detection/change_detection_util';
2
+ /**
3
+ * @stable
4
+ */
2
5
  export declare enum LifecycleHooks {
3
6
  OnInit = 0,
4
7
  OnDestroy = 1,
@@ -10,8 +13,13 @@ export declare enum LifecycleHooks {
10
13
  AfterViewChecked = 7,
11
14
  }
12
15
  /**
13
- * @internal
16
+ * A `changes` object whose keys are property names and
17
+ * values are instances of {@link SimpleChange}. See {@link OnChanges}
18
+ * @stable
14
19
  */
20
+ export interface SimpleChanges {
21
+ [propName: string]: SimpleChange;
22
+ }
15
23
  export declare var LIFECYCLE_HOOKS_VALUES: LifecycleHooks[];
16
24
  /**
17
25
  * Lifecycle hooks are guaranteed to be called in the following order:
@@ -43,7 +51,7 @@ export declare var LIFECYCLE_HOOKS_VALUES: LifecycleHooks[];
43
51
  * class MyComponent implements OnChanges {
44
52
  * @Input() myProp: any;
45
53
  *
46
- * ngOnChanges(changes: {[propName: string]: SimpleChange}) {
54
+ * ngOnChanges(changes: SimpleChanges) {
47
55
  * console.log('ngOnChanges - myProp = ' + changes['myProp'].currentValue);
48
56
  * }
49
57
  * }
@@ -61,11 +69,10 @@ export declare var LIFECYCLE_HOOKS_VALUES: LifecycleHooks[];
61
69
  *
62
70
  * bootstrap(App).catch(err => console.error(err));
63
71
  * ```
72
+ * @stable
64
73
  */
65
- export interface OnChanges {
66
- ngOnChanges(changes: {
67
- [key: string]: SimpleChange;
68
- }): any;
74
+ export declare abstract class OnChanges {
75
+ abstract ngOnChanges(changes: SimpleChanges): any;
69
76
  }
70
77
  /**
71
78
  * Implement this interface to execute custom initialization logic after your directive's
@@ -107,27 +114,29 @@ export interface OnChanges {
107
114
  *
108
115
  * bootstrap(App).catch(err => console.error(err));
109
116
  * ```
117
+ * @stable
110
118
  */
111
- export interface OnInit {
112
- ngOnInit(): any;
119
+ export declare abstract class OnInit {
120
+ abstract ngOnInit(): any;
113
121
  }
114
122
  /**
115
- * Implement this interface to override the default change detection algorithm for your directive.
123
+ * Implement this interface to supplement the default change detection algorithm in your directive.
116
124
  *
117
- * `ngDoCheck` gets called to check the changes in the directives instead of the default algorithm.
125
+ * `ngDoCheck` gets called to check the changes in the directives in addition to the default
126
+ * algorithm.
118
127
  *
119
128
  * The default change detection algorithm looks for differences by comparing bound-property values
120
- * by reference across change detection runs. When `DoCheck` is implemented, the default algorithm
121
- * is disabled and `ngDoCheck` is responsible for checking for changes.
122
- *
123
- * Implementing this interface allows improving performance by using insights about the component,
124
- * its implementation and data types of its properties.
129
+ * by reference across change detection runs.
125
130
  *
126
- * Note that a directive should not implement both `DoCheck` and {@link OnChanges} at the same time.
127
- * `ngOnChanges` would not be called when a directive implements `DoCheck`. Reaction to the changes
128
- * have to be handled from within the `ngDoCheck` callback.
131
+ * Note that a directive typically should not use both `DoCheck` and {@link OnChanges} to respond to
132
+ * changes on the same input. `ngOnChanges` will continue to be called when the default change
133
+ * detector
134
+ * detects changes, so it is usually unnecessary to respond to changes on the same input in both
135
+ * hooks.
136
+ * Reaction to the changes have to be handled from within the `ngDoCheck` callback.
129
137
  *
130
- * Use {@link KeyValueDiffers} and {@link IterableDiffers} to add your custom check mechanisms.
138
+ * You can use {@link KeyValueDiffers} and {@link IterableDiffers} to help add your custom check
139
+ * mechanisms.
131
140
  *
132
141
  * ### Example ([live demo](http://plnkr.co/edit/QpnIlF0CR2i5bcYbHEUJ?p=preview))
133
142
  *
@@ -175,9 +184,10 @@ export interface OnInit {
175
184
  * list = [];
176
185
  * }
177
186
  * ```
187
+ * @stable
178
188
  */
179
- export interface DoCheck {
180
- ngDoCheck(): any;
189
+ export declare abstract class DoCheck {
190
+ abstract ngDoCheck(): any;
181
191
  }
182
192
  /**
183
193
  * Implement this interface to get notified when your directive is destroyed.
@@ -267,9 +277,10 @@ export interface DoCheck {
267
277
  * Invoking `{{ 10000 | countdown }}` would cause the value to be decremented by 50,
268
278
  * every 50ms, until it reaches 0.
269
279
  *
280
+ * @stable
270
281
  */
271
- export interface OnDestroy {
272
- ngOnDestroy(): any;
282
+ export declare abstract class OnDestroy {
283
+ abstract ngOnDestroy(): any;
273
284
  }
274
285
  /**
275
286
  * Implement this interface to get notified when your directive's content has been fully
@@ -321,9 +332,10 @@ export interface OnDestroy {
321
332
  *
322
333
  * bootstrap(App).catch(err => console.error(err));
323
334
  * ```
335
+ * @stable
324
336
  */
325
- export interface AfterContentInit {
326
- ngAfterContentInit(): any;
337
+ export declare abstract class AfterContentInit {
338
+ abstract ngAfterContentInit(): any;
327
339
  }
328
340
  /**
329
341
  * Implement this interface to get notified after every check of your directive's content.
@@ -370,9 +382,10 @@ export interface AfterContentInit {
370
382
  *
371
383
  * bootstrap(App).catch(err => console.error(err));
372
384
  * ```
385
+ * @stable
373
386
  */
374
- export interface AfterContentChecked {
375
- ngAfterContentChecked(): any;
387
+ export declare abstract class AfterContentChecked {
388
+ abstract ngAfterContentChecked(): any;
376
389
  }
377
390
  /**
378
391
  * Implement this interface to get notified when your component's view has been fully initialized.
@@ -418,9 +431,10 @@ export interface AfterContentChecked {
418
431
  *
419
432
  * bootstrap(App).catch(err => console.error(err));
420
433
  * ```
434
+ * @stable
421
435
  */
422
- export interface AfterViewInit {
423
- ngAfterViewInit(): any;
436
+ export declare abstract class AfterViewInit {
437
+ abstract ngAfterViewInit(): any;
424
438
  }
425
439
  /**
426
440
  * Implement this interface to get notified after every check of your component's view.
@@ -469,7 +483,8 @@ export interface AfterViewInit {
469
483
  *
470
484
  * bootstrap(App).catch(err => console.error(err));
471
485
  * ```
486
+ * @stable
472
487
  */
473
- export interface AfterViewChecked {
474
- ngAfterViewChecked(): any;
488
+ export declare abstract class AfterViewChecked {
489
+ abstract ngAfterViewChecked(): any;
475
490
  }
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @stable
3
+ */
1
4
  export var LifecycleHooks;
2
5
  (function (LifecycleHooks) {
3
6
  LifecycleHooks[LifecycleHooks["OnInit"] = 0] = "OnInit";
@@ -9,17 +12,468 @@ export var LifecycleHooks;
9
12
  LifecycleHooks[LifecycleHooks["AfterViewInit"] = 6] = "AfterViewInit";
10
13
  LifecycleHooks[LifecycleHooks["AfterViewChecked"] = 7] = "AfterViewChecked";
11
14
  })(LifecycleHooks || (LifecycleHooks = {}));
12
- /**
13
- * @internal
14
- */
15
15
  export var LIFECYCLE_HOOKS_VALUES = [
16
- LifecycleHooks.OnInit,
17
- LifecycleHooks.OnDestroy,
18
- LifecycleHooks.DoCheck,
19
- LifecycleHooks.OnChanges,
20
- LifecycleHooks.AfterContentInit,
21
- LifecycleHooks.AfterContentChecked,
22
- LifecycleHooks.AfterViewInit,
16
+ LifecycleHooks.OnInit, LifecycleHooks.OnDestroy, LifecycleHooks.DoCheck, LifecycleHooks.OnChanges,
17
+ LifecycleHooks.AfterContentInit, LifecycleHooks.AfterContentChecked, LifecycleHooks.AfterViewInit,
23
18
  LifecycleHooks.AfterViewChecked
24
19
  ];
20
+ /**
21
+ * Lifecycle hooks are guaranteed to be called in the following order:
22
+ * - `OnChanges` (if any bindings have changed),
23
+ * - `OnInit` (after the first check only),
24
+ * - `DoCheck`,
25
+ * - `AfterContentInit`,
26
+ * - `AfterContentChecked`,
27
+ * - `AfterViewInit`,
28
+ * - `AfterViewChecked`,
29
+ * - `OnDestroy` (at the very end before destruction)
30
+ */
31
+ /**
32
+ * Implement this interface to get notified when any data-bound property of your directive changes.
33
+ *
34
+ * `ngOnChanges` is called right after the data-bound properties have been checked and before view
35
+ * and content children are checked if at least one of them has changed.
36
+ *
37
+ * The `changes` parameter contains an entry for each of the changed data-bound property. The key is
38
+ * the property name and the value is an instance of {@link SimpleChange}.
39
+ *
40
+ * ### Example ([live example](http://plnkr.co/edit/AHrB6opLqHDBPkt4KpdT?p=preview)):
41
+ *
42
+ * ```typescript
43
+ * @Component({
44
+ * selector: 'my-cmp',
45
+ * template: `<p>myProp = {{myProp}}</p>`
46
+ * })
47
+ * class MyComponent implements OnChanges {
48
+ * @Input() myProp: any;
49
+ *
50
+ * ngOnChanges(changes: SimpleChanges) {
51
+ * console.log('ngOnChanges - myProp = ' + changes['myProp'].currentValue);
52
+ * }
53
+ * }
54
+ *
55
+ * @Component({
56
+ * selector: 'app',
57
+ * template: `
58
+ * <button (click)="value = value + 1">Change MyComponent</button>
59
+ * <my-cmp [my-prop]="value"></my-cmp>`,
60
+ * directives: [MyComponent]
61
+ * })
62
+ * export class App {
63
+ * value = 0;
64
+ * }
65
+ *
66
+ * bootstrap(App).catch(err => console.error(err));
67
+ * ```
68
+ * @stable
69
+ */
70
+ export class OnChanges {
71
+ }
72
+ /**
73
+ * Implement this interface to execute custom initialization logic after your directive's
74
+ * data-bound properties have been initialized.
75
+ *
76
+ * `ngOnInit` is called right after the directive's data-bound properties have been checked for the
77
+ * first time, and before any of its children have been checked. It is invoked only once when the
78
+ * directive is instantiated.
79
+ *
80
+ * ### Example ([live example](http://plnkr.co/edit/1MBypRryXd64v4pV03Yn?p=preview))
81
+ *
82
+ * ```typescript
83
+ * @Component({
84
+ * selector: 'my-cmp',
85
+ * template: `<p>my-component</p>`
86
+ * })
87
+ * class MyComponent implements OnInit, OnDestroy {
88
+ * ngOnInit() {
89
+ * console.log('ngOnInit');
90
+ * }
91
+ *
92
+ * ngOnDestroy() {
93
+ * console.log('ngOnDestroy');
94
+ * }
95
+ * }
96
+ *
97
+ * @Component({
98
+ * selector: 'app',
99
+ * template: `
100
+ * <button (click)="hasChild = !hasChild">
101
+ * {{hasChild ? 'Destroy' : 'Create'}} MyComponent
102
+ * </button>
103
+ * <my-cmp *ngIf="hasChild"></my-cmp>`,
104
+ * directives: [MyComponent, NgIf]
105
+ * })
106
+ * export class App {
107
+ * hasChild = true;
108
+ * }
109
+ *
110
+ * bootstrap(App).catch(err => console.error(err));
111
+ * ```
112
+ * @stable
113
+ */
114
+ export class OnInit {
115
+ }
116
+ /**
117
+ * Implement this interface to supplement the default change detection algorithm in your directive.
118
+ *
119
+ * `ngDoCheck` gets called to check the changes in the directives in addition to the default
120
+ * algorithm.
121
+ *
122
+ * The default change detection algorithm looks for differences by comparing bound-property values
123
+ * by reference across change detection runs.
124
+ *
125
+ * Note that a directive typically should not use both `DoCheck` and {@link OnChanges} to respond to
126
+ * changes on the same input. `ngOnChanges` will continue to be called when the default change
127
+ * detector
128
+ * detects changes, so it is usually unnecessary to respond to changes on the same input in both
129
+ * hooks.
130
+ * Reaction to the changes have to be handled from within the `ngDoCheck` callback.
131
+ *
132
+ * You can use {@link KeyValueDiffers} and {@link IterableDiffers} to help add your custom check
133
+ * mechanisms.
134
+ *
135
+ * ### Example ([live demo](http://plnkr.co/edit/QpnIlF0CR2i5bcYbHEUJ?p=preview))
136
+ *
137
+ * In the following example `ngDoCheck` uses an {@link IterableDiffers} to detect the updates to the
138
+ * array `list`:
139
+ *
140
+ * ```typescript
141
+ * @Component({
142
+ * selector: 'custom-check',
143
+ * template: `
144
+ * <p>Changes:</p>
145
+ * <ul>
146
+ * <li *ngFor="let line of logs">{{line}}</li>
147
+ * </ul>`,
148
+ * directives: [NgFor]
149
+ * })
150
+ * class CustomCheckComponent implements DoCheck {
151
+ * @Input() list: any[];
152
+ * differ: any;
153
+ * logs = [];
154
+ *
155
+ * constructor(differs: IterableDiffers) {
156
+ * this.differ = differs.find([]).create(null);
157
+ * }
158
+ *
159
+ * ngDoCheck() {
160
+ * var changes = this.differ.diff(this.list);
161
+ *
162
+ * if (changes) {
163
+ * changes.forEachAddedItem(r => this.logs.push('added ' + r.item));
164
+ * changes.forEachRemovedItem(r => this.logs.push('removed ' + r.item))
165
+ * }
166
+ * }
167
+ * }
168
+ *
169
+ * @Component({
170
+ * selector: 'app',
171
+ * template: `
172
+ * <button (click)="list.push(list.length)">Push</button>
173
+ * <button (click)="list.pop()">Pop</button>
174
+ * <custom-check [list]="list"></custom-check>`,
175
+ * directives: [CustomCheckComponent]
176
+ * })
177
+ * export class App {
178
+ * list = [];
179
+ * }
180
+ * ```
181
+ * @stable
182
+ */
183
+ export class DoCheck {
184
+ }
185
+ /**
186
+ * Implement this interface to get notified when your directive is destroyed.
187
+ *
188
+ * `ngOnDestroy` callback is typically used for any custom cleanup that needs to occur when the
189
+ * instance is destroyed
190
+ *
191
+ * ### Example ([live example](http://plnkr.co/edit/1MBypRryXd64v4pV03Yn?p=preview))
192
+ *
193
+ * ```typesript
194
+ * @Component({
195
+ * selector: 'my-cmp',
196
+ * template: `<p>my-component</p>`
197
+ * })
198
+ * class MyComponent implements OnInit, OnDestroy {
199
+ * ngOnInit() {
200
+ * console.log('ngOnInit');
201
+ * }
202
+ *
203
+ * ngOnDestroy() {
204
+ * console.log('ngOnDestroy');
205
+ * }
206
+ * }
207
+ *
208
+ * @Component({
209
+ * selector: 'app',
210
+ * template: `
211
+ * <button (click)="hasChild = !hasChild">
212
+ * {{hasChild ? 'Destroy' : 'Create'}} MyComponent
213
+ * </button>
214
+ * <my-cmp *ngIf="hasChild"></my-cmp>`,
215
+ * directives: [MyComponent, NgIf]
216
+ * })
217
+ * export class App {
218
+ * hasChild = true;
219
+ * }
220
+ *
221
+ * bootstrap(App).catch(err => console.error(err));
222
+ * ```
223
+ *
224
+ *
225
+ * To create a stateful Pipe, you should implement this interface and set the `pure`
226
+ * parameter to `false` in the {@link PipeMetadata}.
227
+ *
228
+ * A stateful pipe may produce different output, given the same input. It is
229
+ * likely that a stateful pipe may contain state that should be cleaned up when
230
+ * a binding is destroyed. For example, a subscription to a stream of data may need to
231
+ * be disposed, or an interval may need to be cleared.
232
+ *
233
+ * ### Example ([live demo](http://plnkr.co/edit/i8pm5brO4sPaLxBx56MR?p=preview))
234
+ *
235
+ * In this example, a pipe is created to countdown its input value, updating it every
236
+ * 50ms. Because it maintains an internal interval, it automatically clears
237
+ * the interval when the binding is destroyed or the countdown completes.
238
+ *
239
+ * ```
240
+ * import {OnDestroy, Pipe, PipeTransform} from '@angular/core'
241
+ * @Pipe({name: 'countdown', pure: false})
242
+ * class CountDown implements PipeTransform, OnDestroy {
243
+ * remainingTime:Number;
244
+ * interval:SetInterval;
245
+ * ngOnDestroy() {
246
+ * if (this.interval) {
247
+ * clearInterval(this.interval);
248
+ * }
249
+ * }
250
+ * transform(value: any, args: any[] = []) {
251
+ * if (!parseInt(value, 10)) return null;
252
+ * if (typeof this.remainingTime !== 'number') {
253
+ * this.remainingTime = parseInt(value, 10);
254
+ * }
255
+ * if (!this.interval) {
256
+ * this.interval = setInterval(() => {
257
+ * this.remainingTime-=50;
258
+ * if (this.remainingTime <= 0) {
259
+ * this.remainingTime = 0;
260
+ * clearInterval(this.interval);
261
+ * delete this.interval;
262
+ * }
263
+ * }, 50);
264
+ * }
265
+ * return this.remainingTime;
266
+ * }
267
+ * }
268
+ * ```
269
+ *
270
+ * Invoking `{{ 10000 | countdown }}` would cause the value to be decremented by 50,
271
+ * every 50ms, until it reaches 0.
272
+ *
273
+ * @stable
274
+ */
275
+ export class OnDestroy {
276
+ }
277
+ /**
278
+ * Implement this interface to get notified when your directive's content has been fully
279
+ * initialized.
280
+ *
281
+ * ### Example ([live demo](http://plnkr.co/edit/plamXUpsLQbIXpViZhUO?p=preview))
282
+ *
283
+ * ```typescript
284
+ * @Component({
285
+ * selector: 'child-cmp',
286
+ * template: `{{where}} child`
287
+ * })
288
+ * class ChildComponent {
289
+ * @Input() where: string;
290
+ * }
291
+ *
292
+ * @Component({
293
+ * selector: 'parent-cmp',
294
+ * template: `<ng-content></ng-content>`
295
+ * })
296
+ * class ParentComponent implements AfterContentInit {
297
+ * @ContentChild(ChildComponent) contentChild: ChildComponent;
298
+ *
299
+ * constructor() {
300
+ * // contentChild is not initialized yet
301
+ * console.log(this.getMessage(this.contentChild));
302
+ * }
303
+ *
304
+ * ngAfterContentInit() {
305
+ * // contentChild is updated after the content has been checked
306
+ * console.log('AfterContentInit: ' + this.getMessage(this.contentChild));
307
+ * }
308
+ *
309
+ * private getMessage(cmp: ChildComponent): string {
310
+ * return cmp ? cmp.where + ' child' : 'no child';
311
+ * }
312
+ * }
313
+ *
314
+ * @Component({
315
+ * selector: 'app',
316
+ * template: `
317
+ * <parent-cmp>
318
+ * <child-cmp where="content"></child-cmp>
319
+ * </parent-cmp>`,
320
+ * directives: [ParentComponent, ChildComponent]
321
+ * })
322
+ * export class App {
323
+ * }
324
+ *
325
+ * bootstrap(App).catch(err => console.error(err));
326
+ * ```
327
+ * @stable
328
+ */
329
+ export class AfterContentInit {
330
+ }
331
+ /**
332
+ * Implement this interface to get notified after every check of your directive's content.
333
+ *
334
+ * ### Example ([live demo](http://plnkr.co/edit/tGdrytNEKQnecIPkD7NU?p=preview))
335
+ *
336
+ * ```typescript
337
+ * @Component({selector: 'child-cmp', template: `{{where}} child`})
338
+ * class ChildComponent {
339
+ * @Input() where: string;
340
+ * }
341
+ *
342
+ * @Component({selector: 'parent-cmp', template: `<ng-content></ng-content>`})
343
+ * class ParentComponent implements AfterContentChecked {
344
+ * @ContentChild(ChildComponent) contentChild: ChildComponent;
345
+ *
346
+ * constructor() {
347
+ * // contentChild is not initialized yet
348
+ * console.log(this.getMessage(this.contentChild));
349
+ * }
350
+ *
351
+ * ngAfterContentChecked() {
352
+ * // contentChild is updated after the content has been checked
353
+ * console.log('AfterContentChecked: ' + this.getMessage(this.contentChild));
354
+ * }
355
+ *
356
+ * private getMessage(cmp: ChildComponent): string {
357
+ * return cmp ? cmp.where + ' child' : 'no child';
358
+ * }
359
+ * }
360
+ *
361
+ * @Component({
362
+ * selector: 'app',
363
+ * template: `
364
+ * <parent-cmp>
365
+ * <button (click)="hasContent = !hasContent">Toggle content child</button>
366
+ * <child-cmp *ngIf="hasContent" where="content"></child-cmp>
367
+ * </parent-cmp>`,
368
+ * directives: [NgIf, ParentComponent, ChildComponent]
369
+ * })
370
+ * export class App {
371
+ * hasContent = true;
372
+ * }
373
+ *
374
+ * bootstrap(App).catch(err => console.error(err));
375
+ * ```
376
+ * @stable
377
+ */
378
+ export class AfterContentChecked {
379
+ }
380
+ /**
381
+ * Implement this interface to get notified when your component's view has been fully initialized.
382
+ *
383
+ * ### Example ([live demo](http://plnkr.co/edit/LhTKVMEM0fkJgyp4CI1W?p=preview))
384
+ *
385
+ * ```typescript
386
+ * @Component({selector: 'child-cmp', template: `{{where}} child`})
387
+ * class ChildComponent {
388
+ * @Input() where: string;
389
+ * }
390
+ *
391
+ * @Component({
392
+ * selector: 'parent-cmp',
393
+ * template: `<child-cmp where="view"></child-cmp>`,
394
+ * directives: [ChildComponent]
395
+ * })
396
+ * class ParentComponent implements AfterViewInit {
397
+ * @ViewChild(ChildComponent) viewChild: ChildComponent;
398
+ *
399
+ * constructor() {
400
+ * // viewChild is not initialized yet
401
+ * console.log(this.getMessage(this.viewChild));
402
+ * }
403
+ *
404
+ * ngAfterViewInit() {
405
+ * // viewChild is updated after the view has been initialized
406
+ * console.log('ngAfterViewInit: ' + this.getMessage(this.viewChild));
407
+ * }
408
+ *
409
+ * private getMessage(cmp: ChildComponent): string {
410
+ * return cmp ? cmp.where + ' child' : 'no child';
411
+ * }
412
+ * }
413
+ *
414
+ * @Component({
415
+ * selector: 'app',
416
+ * template: `<parent-cmp></parent-cmp>`,
417
+ * directives: [ParentComponent]
418
+ * })
419
+ * export class App {
420
+ * }
421
+ *
422
+ * bootstrap(App).catch(err => console.error(err));
423
+ * ```
424
+ * @stable
425
+ */
426
+ export class AfterViewInit {
427
+ }
428
+ /**
429
+ * Implement this interface to get notified after every check of your component's view.
430
+ *
431
+ * ### Example ([live demo](http://plnkr.co/edit/0qDGHcPQkc25CXhTNzKU?p=preview))
432
+ *
433
+ * ```typescript
434
+ * @Component({selector: 'child-cmp', template: `{{where}} child`})
435
+ * class ChildComponent {
436
+ * @Input() where: string;
437
+ * }
438
+ *
439
+ * @Component({
440
+ * selector: 'parent-cmp',
441
+ * template: `
442
+ * <button (click)="showView = !showView">Toggle view child</button>
443
+ * <child-cmp *ngIf="showView" where="view"></child-cmp>`,
444
+ * directives: [NgIf, ChildComponent]
445
+ * })
446
+ * class ParentComponent implements AfterViewChecked {
447
+ * @ViewChild(ChildComponent) viewChild: ChildComponent;
448
+ * showView = true;
449
+ *
450
+ * constructor() {
451
+ * // viewChild is not initialized yet
452
+ * console.log(this.getMessage(this.viewChild));
453
+ * }
454
+ *
455
+ * ngAfterViewChecked() {
456
+ * // viewChild is updated after the view has been checked
457
+ * console.log('AfterViewChecked: ' + this.getMessage(this.viewChild));
458
+ * }
459
+ *
460
+ * private getMessage(cmp: ChildComponent): string {
461
+ * return cmp ? cmp.where + ' child' : 'no child';
462
+ * }
463
+ * }
464
+ *
465
+ * @Component({
466
+ * selector: 'app',
467
+ * template: `<parent-cmp></parent-cmp>`,
468
+ * directives: [ParentComponent]
469
+ * })
470
+ * export class App {
471
+ * }
472
+ *
473
+ * bootstrap(App).catch(err => console.error(err));
474
+ * ```
475
+ * @stable
476
+ */
477
+ export class AfterViewChecked {
478
+ }
25
479
  //# sourceMappingURL=lifecycle_hooks.js.map