@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 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/profile.ts"],"names":[],"mappings":"AAIwC,OAEjC,KAAK,IAAI,MAAM,YAAY;AAElC,6EAA6E;AAE7E;;GAEG;AACH,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAEzC,mBAAmB,IAAU,EAAE,IAAU;IACvC,MAAM,CAAC,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,IAAI,cAAc,GACrB,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,SAAiB,EAAE,KAAW,KAAK,SAAS,CAAC;AAElF;;;;;;;GAOG;AACH,OAAO,IAAI,QAAQ,GACf,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAM,EAAE,CAAO,KAAK,CAAC,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,OAAO,IAAI,iBAAiB,GACxB,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,SAAiB,EAAE,MAAc,KAAK,IAAI,CAAC;AAEnF;;;;GAIG;AACH,OAAO,IAAI,eAAe,GAAyB,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAM,KACH,IAAI,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export {WtfScopeFn} from './wtf_impl';\n\nimport * as impl from './wtf_impl';\n\n// Change exports to const once https://github.com/angular/ts2dart/issues/150\n\n/**\n * True if WTF is enabled.\n */\nexport var wtfEnabled = impl.detectWTF();\n\nfunction noopScope(arg0?: any, arg1?: any): any {\n return null;\n}\n\n/**\n * Create trace scope.\n *\n * Scopes must be strictly nested and are analogous to stack frames, but\n * do not have to follow the stack frames. Instead it is recommended that they follow logical\n * nesting. You may want to use\n * [Event\n * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)\n * as they are defined in WTF.\n *\n * Used to mark scope entry. The return value is used to leave the scope.\n *\n * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');\n *\n * someMethod() {\n * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI\n * // DO SOME WORK HERE\n * return wtfLeave(s, 123); // Return value 123\n * }\n *\n * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can\n * negatively impact the performance of your application. For this reason we recommend that\n * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and\n * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to\n * exception, will produce incorrect trace, but presence of exception signifies logic error which\n * needs to be fixed before the app should be profiled. Add try-finally only when you expect that\n * an exception is expected during normal execution while profiling.\n *\n */\nexport var wtfCreateScope: (signature: string, flags?: any) => impl.WtfScopeFn =\n wtfEnabled ? impl.createScope : (signature: string, flags?: any) => noopScope;\n\n/**\n * Used to mark end of Scope.\n *\n * - `scope` to end.\n * - `returnValue` (optional) to be passed to the WTF.\n *\n * Returns the `returnValue for easy chaining.\n */\nexport var wtfLeave:<T>(scope: any, returnValue?: T) => T =\n wtfEnabled ? impl.leave : (s: any, r?: any) => r;\n\n/**\n * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.\n * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been\n * enabled.\n *\n * someMethod() {\n * var s = wtfStartTimeRange('HTTP:GET', 'some.url');\n * var future = new Future.delay(5).then((_) {\n * wtfEndTimeRange(s);\n * });\n * }\n */\nexport var wtfStartTimeRange: (rangeType: string, action: string) => any =\n wtfEnabled ? impl.startTimeRange : (rangeType: string, action: string) => null;\n\n/**\n * Ends a async time range operation.\n * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been\n * enabled.\n */\nexport var wtfEndTimeRange: (range: any) => void = wtfEnabled ? impl.endTimeRange : (r: any) =>\n null;\n"]}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/profile.ts"],"names":[],"mappings":"OAAO,KAAK,IAAI,MAAM,YAAY;AAKlC,6EAA6E;AAE7E;;GAEG;AACH,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAEzC,mBAAmB,IAAU,EAAE,IAAU;IACvC,MAAM,CAAC,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,IAAI,cAAc,GACrB,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,SAAiB,EAAE,KAAW,KAAK,SAAS,CAAC;AAElF;;;;;;;;GAQG;AACH,OAAO,IAAI,QAAQ,GACf,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAM,EAAE,CAAO,KAAK,CAAC,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,OAAO,IAAI,iBAAiB,GACxB,UAAU,GAAG,IAAI,CAAC,cAAc,GAAG,CAAC,SAAiB,EAAE,MAAc,KAAK,IAAI,CAAC;AAEnF;;;;;GAKG;AACH,OAAO,IAAI,eAAe,GACtB,UAAU,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAM,KAAK,IAAI,CAAC","sourcesContent":["import * as impl from './wtf_impl';\n\nexport {WtfScopeFn} from './wtf_impl';\n\n\n// Change exports to const once https://github.com/angular/ts2dart/issues/150\n\n/**\n * True if WTF is enabled.\n */\nexport var wtfEnabled = impl.detectWTF();\n\nfunction noopScope(arg0?: any, arg1?: any): any {\n return null;\n}\n\n/**\n * Create trace scope.\n *\n * Scopes must be strictly nested and are analogous to stack frames, but\n * do not have to follow the stack frames. Instead it is recommended that they follow logical\n * nesting. You may want to use\n * [Event\n * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)\n * as they are defined in WTF.\n *\n * Used to mark scope entry. The return value is used to leave the scope.\n *\n * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');\n *\n * someMethod() {\n * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI\n * // DO SOME WORK HERE\n * return wtfLeave(s, 123); // Return value 123\n * }\n *\n * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can\n * negatively impact the performance of your application. For this reason we recommend that\n * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and\n * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to\n * exception, will produce incorrect trace, but presence of exception signifies logic error which\n * needs to be fixed before the app should be profiled. Add try-finally only when you expect that\n * an exception is expected during normal execution while profiling.\n *\n * @experimental\n */\nexport var wtfCreateScope: (signature: string, flags?: any) => impl.WtfScopeFn =\n wtfEnabled ? impl.createScope : (signature: string, flags?: any) => noopScope;\n\n/**\n * Used to mark end of Scope.\n *\n * - `scope` to end.\n * - `returnValue` (optional) to be passed to the WTF.\n *\n * Returns the `returnValue for easy chaining.\n * @experimental\n */\nexport var wtfLeave: <T>(scope: any, returnValue?: T) => T =\n wtfEnabled ? impl.leave : (s: any, r?: any) => r;\n\n/**\n * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.\n * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been\n * enabled.\n *\n * someMethod() {\n * var s = wtfStartTimeRange('HTTP:GET', 'some.url');\n * var future = new Future.delay(5).then((_) {\n * wtfEndTimeRange(s);\n * });\n * }\n * @experimental\n */\nexport var wtfStartTimeRange: (rangeType: string, action: string) => any =\n wtfEnabled ? impl.startTimeRange : (rangeType: string, action: string) => null;\n\n/**\n * Ends a async time range operation.\n * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been\n * enabled.\n * @experimental\n */\nexport var wtfEndTimeRange: (range: any) => void =\n wtfEnabled ? impl.endTimeRange : (r: any) => null;\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"wtfEnabled":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"detectWTF","module":"./wtf_impl"}}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"wtfEnabled":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"./wtf_impl","name":"detectWTF"}},"wtfCreateScope":{"__symbolic":"error","message":"Expression form not supported","line":46,"character":80},"wtfLeave":{"__symbolic":"error","message":"Expression form not supported","line":58,"character":60},"wtfStartTimeRange":{"__symbolic":"error","message":"Expression form not supported","line":74,"character":74},"wtfEndTimeRange":{"__symbolic":"error","message":"Expression form not supported","line":83,"character":50}}}
@@ -1,4 +1,4 @@
1
- import { global } from '../../src/facade/lang';
1
+ import { global } from '../facade/lang';
2
2
  var trace;
3
3
  var events;
4
4
  export function detectWTF() {
@@ -1 +1 @@
1
- {"version":3,"file":"wtf_impl.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/wtf_impl.ts"],"names":[],"mappings":"OAIS,EAAC,MAAM,EAAC,MAAM,uBAAuB;AA0B9C,IAAI,KAAY,CAAC;AACjB,IAAI,MAAc,CAAC;AAEnB;IACE,IAAI,GAAG,GAAQ,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACR,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AAED,4BAA4B,SAAiB,EAAE,KAAK,GAAQ,IAAI;IAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,sBAAyB,KAAY,EAAE,WAAe;IACpD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,CAAC;AACrB,CAAC;AAED,+BAA+B,SAAiB,EAAE,MAAc;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,6BAA6B,KAAY;IACvC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {global} from '../../src/facade/lang';\n\n/**\n * A scope function for the Web Tracing Framework (WTF).\n */\nexport interface WtfScopeFn { (arg0?: any, arg1?: any): any; }\n\ninterface WTF {\n trace: Trace;\n}\n\ninterface Trace {\n events: Events;\n leaveScope(scope: Scope, returnValue: any);\n beginTimeRange(rangeType: string, action: string): Range;\n endTimeRange(range: Range);\n}\n\nexport interface Range {}\n\ninterface Events {\n createScope(signature: string, flags: any): Scope;\n}\n\nexport interface Scope { (...args): any; }\n\nvar trace: Trace;\nvar events: Events;\n\nexport function detectWTF(): boolean {\n var wtf: WTF = global['wtf'];\n if (wtf) {\n trace = wtf['trace'];\n if (trace) {\n events = trace['events'];\n return true;\n }\n }\n return false;\n}\n\nexport function createScope(signature: string, flags: any = null): any {\n return events.createScope(signature, flags);\n}\n\nexport function leave<T>(scope: Scope, returnValue?: T): T {\n trace.leaveScope(scope, returnValue);\n return returnValue;\n}\n\nexport function startTimeRange(rangeType: string, action: string): Range {\n return trace.beginTimeRange(rangeType, action);\n}\n\nexport function endTimeRange(range: Range): void {\n trace.endTimeRange(range);\n}\n"]}
1
+ {"version":3,"file":"wtf_impl.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/wtf_impl.ts"],"names":[],"mappings":"OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB;AA0BrC,IAAI,KAAY,CAAC;AACjB,IAAI,MAAc,CAAC;AAEnB;IACE,IAAI,GAAG,GAAS,MAAgC,CAAC,KAAK,CAAC,CAAC;IACxD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACR,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AAED,4BAA4B,SAAiB,EAAE,KAAK,GAAQ,IAAI;IAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,sBAAyB,KAAY,EAAE,WAAe;IACpD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,MAAM,CAAC,WAAW,CAAC;AACrB,CAAC;AAED,+BAA+B,SAAiB,EAAE,MAAc;IAC9D,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC;AAED,6BAA6B,KAAY;IACvC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["import {global} from '../facade/lang';\n\n/**\n * A scope function for the Web Tracing Framework (WTF).\n */\nexport interface WtfScopeFn { (arg0?: any, arg1?: any): any; }\n\ninterface WTF {\n trace: Trace;\n}\n\ninterface Trace {\n events: Events;\n leaveScope(scope: Scope, returnValue: any): any /** TODO #9100 */;\n beginTimeRange(rangeType: string, action: string): Range;\n endTimeRange(range: Range): any /** TODO #9100 */;\n}\n\nexport interface Range {}\n\ninterface Events {\n createScope(signature: string, flags: any): Scope;\n}\n\nexport interface Scope { (...args: any[] /** TODO #9100 */): any; }\n\nvar trace: Trace;\nvar events: Events;\n\nexport function detectWTF(): boolean {\n var wtf: WTF = (global as any /** TODO #9100 */)['wtf'];\n if (wtf) {\n trace = wtf['trace'];\n if (trace) {\n events = trace['events'];\n return true;\n }\n }\n return false;\n}\n\nexport function createScope(signature: string, flags: any = null): any {\n return events.createScope(signature, flags);\n}\n\nexport function leave<T>(scope: Scope, returnValue?: T): T {\n trace.leaveScope(scope, returnValue);\n return returnValue;\n}\n\nexport function startTimeRange(rangeType: string, action: string): Range {\n return trace.beginTimeRange(rangeType, action);\n}\n\nexport function endTimeRange(range: Range): void {\n trace.endTimeRange(range);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"createScope":{"__symbolic":"function","parameters":["signature","flags"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"events"},"member":"createScope"},"arguments":[{"__symbolic":"reference","name":"signature"},{"__symbolic":"reference","name":"flags"}]}},"startTimeRange":{"__symbolic":"function","parameters":["rangeType","action"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"trace"},"member":"beginTimeRange"},"arguments":[{"__symbolic":"reference","name":"rangeType"},{"__symbolic":"reference","name":"action"}]}}}}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * This is here because DART requires it. It is noop in JS.
3
- */
2
+ * This is here because DART requires it. It is noop in JS.
3
+ */
4
4
  export function wtfInit() { }
5
5
  //# sourceMappingURL=wtf_init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wtf_init.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/wtf_init.ts"],"names":[],"mappings":"AAIE;;EAEC;AACH,4BAA2B,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\n * This is here because DART requires it. It is noop in JS.\n */\nexport function wtfInit() {}\n"]}
1
+ {"version":3,"file":"wtf_init.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/profile/wtf_init.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,4BAA2B,CAAC","sourcesContent":["/**\n * This is here because DART requires it. It is noop in JS.\n */\nexport function wtfInit() {}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,9 +1,10 @@
1
- import { Type } from '../../src/facade/lang';
2
- import { GetterFn, SetterFn, MethodFn } from './types';
1
+ import { Type } from '../facade/lang';
2
+ import { GetterFn, MethodFn, SetterFn } from './types';
3
3
  export interface PlatformReflectionCapabilities {
4
4
  isReflectionEnabled(): boolean;
5
5
  factory(type: Type): Function;
6
6
  interfaces(type: Type): any[];
7
+ hasLifecycleHook(type: any, lcInterface: any, lcProperty: string): boolean;
7
8
  parameters(type: any): any[][];
8
9
  annotations(type: any): any[];
9
10
  propMetadata(typeOrFunc: any): {
@@ -12,5 +13,5 @@ export interface PlatformReflectionCapabilities {
12
13
  getter(name: string): GetterFn;
13
14
  setter(name: string): SetterFn;
14
15
  method(name: string): MethodFn;
15
- importUri(type: Type): string;
16
+ importUri(type: any): string;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform_reflection_capabilities.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/platform_reflection_capabilities.ts"],"names":[],"mappings":"","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Type} from '../../src/facade/lang';\nimport {GetterFn, SetterFn, MethodFn} from './types';\n\nexport interface PlatformReflectionCapabilities {\n isReflectionEnabled(): boolean;\n factory(type: Type): Function;\n interfaces(type: Type): any[];\n parameters(type: any): any[][];\n annotations(type: any): any[];\n propMetadata(typeOrFunc: any): {[key: string]: any[]};\n getter(name: string): GetterFn;\n setter(name: string): SetterFn;\n method(name: string): MethodFn;\n importUri(type: Type): string;\n}\n"]}
1
+ {"version":3,"file":"platform_reflection_capabilities.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/platform_reflection_capabilities.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from '../facade/lang';\n\nimport {GetterFn, MethodFn, SetterFn} from './types';\n\nexport interface PlatformReflectionCapabilities {\n isReflectionEnabled(): boolean;\n factory(type: Type): Function;\n interfaces(type: Type): any[];\n hasLifecycleHook(type: any, lcInterface: /*Type*/ any, lcProperty: string): boolean;\n parameters(type: any): any[][];\n annotations(type: any): any[];\n propMetadata(typeOrFunc: any): {[key: string]: any[]};\n getter(name: string): GetterFn;\n setter(name: string): SetterFn;\n method(name: string): MethodFn;\n importUri(type: any): string;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Reflector } from './reflector';
2
- export { Reflector, ReflectionInfo } from './reflector';
2
+ export { ReflectionInfo, Reflector } from './reflector';
3
3
  /**
4
4
  * The {@link Reflector} used internally in Angular to access metadata
5
5
  * about symbols.
@@ -1,6 +1,6 @@
1
- import { Reflector } from './reflector';
2
- export { Reflector, ReflectionInfo } from './reflector';
3
1
  import { ReflectionCapabilities } from './reflection_capabilities';
2
+ import { Reflector } from './reflector';
3
+ export { ReflectionInfo, Reflector } from './reflector';
4
4
  /**
5
5
  * The {@link Reflector} used internally in Angular to access metadata
6
6
  * about symbols.
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflection.ts"],"names":[],"mappings":"OAIS,EAAC,SAAS,EAAC,MAAM,aAAa;AACvC,SAAQ,SAAS,EAAE,cAAc,QAAO,aAAa,CAAC;OAC/C,EAAC,sBAAsB,EAAC,MAAM,2BAA2B;AAEhE;;;GAGG;AACH,OAAO,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Reflector} from './reflector';\nexport {Reflector, ReflectionInfo} from './reflector';\nimport {ReflectionCapabilities} from './reflection_capabilities';\n\n/**\n * The {@link Reflector} used internally in Angular to access metadata\n * about symbols.\n */\nexport var reflector = new Reflector(new ReflectionCapabilities());\n"]}
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflection.ts"],"names":[],"mappings":"OAAO,EAAC,sBAAsB,EAAC,MAAM,2BAA2B;OACzD,EAAC,SAAS,EAAC,MAAM,aAAa;AAErC,SAAQ,cAAc,EAAE,SAAS,QAAO,aAAa,CAAC;AAGtD;;;GAGG;AACH,OAAO,IAAI,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,sBAAsB,EAAE,CAAC,CAAC","sourcesContent":["import {ReflectionCapabilities} from './reflection_capabilities';\nimport {Reflector} from './reflector';\n\nexport {ReflectionInfo, Reflector} from './reflector';\n\n\n/**\n * The {@link Reflector} used internally in Angular to access metadata\n * about symbols.\n */\nexport var reflector = new Reflector(new ReflectionCapabilities());\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"reflector":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Reflector","module":"./reflector"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ReflectionCapabilities","module":"./reflection_capabilities"}}]}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"reflector":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"./reflector","name":"Reflector"},"arguments":[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"./reflection_capabilities","name":"ReflectionCapabilities"}}]}}}
@@ -1,21 +1,20 @@
1
- import { Type, ConcreteType } from '../../src/facade/lang';
2
- import { GetterFn, SetterFn, MethodFn } from './types';
1
+ import { ConcreteType, Type } from '../facade/lang';
3
2
  import { PlatformReflectionCapabilities } from './platform_reflection_capabilities';
3
+ import { GetterFn, MethodFn, SetterFn } from './types';
4
4
  export declare class ReflectionCapabilities implements PlatformReflectionCapabilities {
5
5
  private _reflect;
6
6
  constructor(reflect?: any);
7
7
  isReflectionEnabled(): boolean;
8
8
  factory(t: ConcreteType): Function;
9
- /** @internal */
10
- _zipTypesAndAnnotations(paramTypes: any, paramAnnotations: any): any[][];
11
9
  parameters(typeOrFunc: Type): any[][];
12
10
  annotations(typeOrFunc: Type): any[];
13
11
  propMetadata(typeOrFunc: any): {
14
12
  [key: string]: any[];
15
13
  };
16
14
  interfaces(type: Type): any[];
15
+ hasLifecycleHook(type: any, lcInterface: Type, lcProperty: string): boolean;
17
16
  getter(name: string): GetterFn;
18
17
  setter(name: string): SetterFn;
19
18
  method(name: string): MethodFn;
20
- importUri(type: Type): string;
19
+ importUri(type: any): string;
21
20
  }
@@ -1,5 +1,4 @@
1
- import { isPresent, isFunction, global, stringify } from '../../src/facade/lang';
2
- import { BaseException } from '../../src/facade/exceptions';
1
+ import { Type, global, isFunction, isPresent, stringify } from '../facade/lang';
3
2
  export class ReflectionCapabilities {
4
3
  constructor(reflect) {
5
4
  this._reflect = isPresent(reflect) ? reflect : global.Reflect;
@@ -54,7 +53,7 @@ export class ReflectionCapabilities {
54
53
  throw new Error(`Cannot create a factory for '${stringify(t)}' because its constructor has more than 20 arguments`);
55
54
  }
56
55
  /** @internal */
57
- _zipTypesAndAnnotations(paramTypes, paramAnnotations) {
56
+ _zipTypesAndAnnotations(paramTypes /** TODO #9100 */, paramAnnotations /** TODO #9100 */) {
58
57
  var result;
59
58
  if (typeof paramTypes === 'undefined') {
60
59
  result = new Array(paramAnnotations.length);
@@ -89,8 +88,8 @@ export class ReflectionCapabilities {
89
88
  // API of tsickle for lowering decorators to properties on the class.
90
89
  if (isPresent(typeOrFunc.ctorParameters)) {
91
90
  let ctorParameters = typeOrFunc.ctorParameters;
92
- let paramTypes = ctorParameters.map(ctorParam => ctorParam && ctorParam.type);
93
- let paramAnnotations = ctorParameters.map(ctorParam => ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));
91
+ let paramTypes = ctorParameters.map((ctorParam /** TODO #9100 */) => ctorParam && ctorParam.type);
92
+ let paramAnnotations = ctorParameters.map((ctorParam /** TODO #9100 */) => ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));
94
93
  return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);
95
94
  }
96
95
  // API for metadata created by invoking the decorators.
@@ -140,8 +139,7 @@ export class ReflectionCapabilities {
140
139
  if (isPresent(typeOrFunc.propDecorators)) {
141
140
  let propDecorators = typeOrFunc.propDecorators;
142
141
  let propMetadata = {};
143
- Object.keys(propDecorators)
144
- .forEach(prop => {
142
+ Object.keys(propDecorators).forEach(prop => {
145
143
  propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);
146
144
  });
147
145
  return propMetadata;
@@ -154,8 +152,15 @@ export class ReflectionCapabilities {
154
152
  }
155
153
  return {};
156
154
  }
157
- interfaces(type) {
158
- throw new BaseException("JavaScript does not support interfaces");
155
+ // Note: JavaScript does not support to query for interfaces during runtime.
156
+ // However, we can't throw here as the reflector will always call this method
157
+ // when asked for a lifecycle interface as this is what we check in Dart.
158
+ interfaces(type) { return []; }
159
+ hasLifecycleHook(type, lcInterface, lcProperty) {
160
+ if (!(type instanceof Type))
161
+ return false;
162
+ var proto = type.prototype;
163
+ return !!proto[lcProperty];
159
164
  }
160
165
  getter(name) { return new Function('o', 'return o.' + name + ';'); }
161
166
  setter(name) {
@@ -167,7 +172,14 @@ export class ReflectionCapabilities {
167
172
  return new Function('o', 'args', functionBody);
168
173
  }
169
174
  // There is not a concept of import uri in Js, but this is useful in developing Dart applications.
170
- importUri(type) { return `./${stringify(type)}`; }
175
+ importUri(type) {
176
+ // StaticSymbol
177
+ if (typeof type === 'object' && type['filePath']) {
178
+ return type['filePath'];
179
+ }
180
+ // Runtime type
181
+ return `./${stringify(type)}`;
182
+ }
171
183
  }
172
184
  function convertTsickleDecoratorIntoMetadata(decoratorInvocations) {
173
185
  if (!decoratorInvocations) {
@@ -1 +1 @@
1
- {"version":3,"file":"reflection_capabilities.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflection_capabilities.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Type, isPresent, isFunction, global, stringify, ConcreteType} from '../../src/facade/lang';\nimport {BaseException} from '../../src/facade/exceptions';\nimport {GetterFn, SetterFn, MethodFn} from './types';\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\n\nexport class ReflectionCapabilities implements PlatformReflectionCapabilities {\n private _reflect: any;\n\n constructor(reflect?: any) { this._reflect = isPresent(reflect) ? reflect : global.Reflect; }\n\n isReflectionEnabled(): boolean { return true; }\n\n factory(t: ConcreteType): Function {\n switch (t.length) {\n case 0:\n return () => new t();\n case 1:\n return (a1: any) => new t(a1);\n case 2:\n return (a1: any, a2: any) => new t(a1, a2);\n case 3:\n return (a1: any, a2: any, a3: any) => new t(a1, a2, a3);\n case 4:\n return (a1: any, a2: any, a3: any, a4: any) => new t(a1, a2, a3, a4);\n case 5:\n return (a1: any, a2: any, a3: any, a4: any, a5: any) => new t(a1, a2, a3, a4, a5);\n case 6:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any) =>\n new t(a1, a2, a3, a4, a5, a6);\n case 7:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7);\n case 8:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8);\n case 9:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9);\n case 10:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n case 11:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n case 12:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n case 13:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n case 14:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n case 15:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n case 16:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n case 17:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16,\n a17);\n case 18:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,\n a16, a17, a18);\n case 19:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any, a19: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13,\n a14, a15, a16, a17, a18, a19);\n case 20:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any, a19: any, a20: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11,\n a12, a13, a14, a15, a16, a17, a18, a19, a20);\n };\n\n throw new Error(\n `Cannot create a factory for '${stringify(t)}' because its constructor has more than 20 arguments`);\n }\n\n /** @internal */\n _zipTypesAndAnnotations(paramTypes, paramAnnotations): any[][] {\n var result;\n\n if (typeof paramTypes === 'undefined') {\n result = new Array(paramAnnotations.length);\n } else {\n result = new Array(paramTypes.length);\n }\n\n for (var i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n } else if (paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n } else {\n result[i] = [];\n }\n if (isPresent(paramAnnotations) && isPresent(paramAnnotations[i])) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n\n parameters(typeOrFunc: Type): any[][] {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).parameters)) {\n return (<any>typeOrFunc).parameters;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).ctorParameters)) {\n let ctorParameters = (<any>typeOrFunc).ctorParameters;\n let paramTypes = ctorParameters.map(ctorParam => ctorParam && ctorParam.type);\n let paramAnnotations = ctorParameters.map(\n ctorParam => ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var paramAnnotations = this._reflect.getMetadata('parameters', typeOrFunc);\n var paramTypes = this._reflect.getMetadata('design:paramtypes', typeOrFunc);\n if (isPresent(paramTypes) || isPresent(paramAnnotations)) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n }\n // The array has to be filled with `undefined` because holes would be skipped by `some`\n let parameters = new Array((<any>typeOrFunc.length));\n parameters.fill(undefined);\n return parameters;\n }\n\n annotations(typeOrFunc: Type): any[] {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).annotations)) {\n var annotations = (<any>typeOrFunc).annotations;\n if (isFunction(annotations) && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).decorators)) {\n return convertTsickleDecoratorIntoMetadata((<any>typeOrFunc).decorators);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var annotations = this._reflect.getMetadata('annotations', typeOrFunc);\n if (isPresent(annotations)) return annotations;\n }\n return [];\n }\n\n propMetadata(typeOrFunc: any): {[key: string]: any[]} {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).propMetadata)) {\n var propMetadata = (<any>typeOrFunc).propMetadata;\n if (isFunction(propMetadata) && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).propDecorators)) {\n let propDecorators = (<any>typeOrFunc).propDecorators;\n let propMetadata = <{[key: string]: any[]}>{};\n Object.keys(propDecorators)\n .forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc);\n if (isPresent(propMetadata)) return propMetadata;\n }\n return {};\n }\n\n interfaces(type: Type): any[] {\n throw new BaseException(\"JavaScript does not support interfaces\");\n }\n\n getter(name: string): GetterFn { return <GetterFn>new Function('o', 'return o.' + name + ';'); }\n\n setter(name: string): SetterFn {\n return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n\n method(name: string): MethodFn {\n let functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return <MethodFn>new Function('o', 'args', functionBody);\n }\n\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type: Type): string { return `./${stringify(type)}`; }\n}\n\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations: any[]): any[] {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n var decoratorType = decoratorInvocation.type;\n var annotationCls = decoratorType.annotationCls;\n var annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n var annotation = Object.create(annotationCls.prototype);\n annotationCls.apply(annotation, annotationArgs);\n return annotation;\n });\n}\n"]}
1
+ {"version":3,"file":"reflection_capabilities.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflection_capabilities.ts"],"names":[],"mappings":"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","sourcesContent":["import {BaseException} from '../facade/exceptions';\nimport {ConcreteType, Type, global, isFunction, isPresent, stringify} from '../facade/lang';\n\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nimport {GetterFn, MethodFn, SetterFn} from './types';\n\nexport class ReflectionCapabilities implements PlatformReflectionCapabilities {\n private _reflect: any;\n\n constructor(reflect?: any) { this._reflect = isPresent(reflect) ? reflect : global.Reflect; }\n\n isReflectionEnabled(): boolean { return true; }\n\n factory(t: ConcreteType): Function {\n switch (t.length) {\n case 0:\n return () => new t();\n case 1:\n return (a1: any) => new t(a1);\n case 2:\n return (a1: any, a2: any) => new t(a1, a2);\n case 3:\n return (a1: any, a2: any, a3: any) => new t(a1, a2, a3);\n case 4:\n return (a1: any, a2: any, a3: any, a4: any) => new t(a1, a2, a3, a4);\n case 5:\n return (a1: any, a2: any, a3: any, a4: any, a5: any) => new t(a1, a2, a3, a4, a5);\n case 6:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any) =>\n new t(a1, a2, a3, a4, a5, a6);\n case 7:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7);\n case 8:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8);\n case 9:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9);\n case 10:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);\n case 11:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any) => new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);\n case 12:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);\n case 13:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);\n case 14:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);\n case 15:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);\n case 16:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any) =>\n new t(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);\n case 17:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any) =>\n new t(\n a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17);\n case 18:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any) =>\n new t(\n a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17,\n a18);\n case 19:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any, a19: any) =>\n new t(\n a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17,\n a18, a19);\n case 20:\n return (a1: any, a2: any, a3: any, a4: any, a5: any, a6: any, a7: any, a8: any, a9: any,\n a10: any, a11: any, a12: any, a13: any, a14: any, a15: any, a16: any, a17: any,\n a18: any, a19: any, a20: any) =>\n new t(\n a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17,\n a18, a19, a20);\n };\n\n throw new Error(\n `Cannot create a factory for '${stringify(t)}' because its constructor has more than 20 arguments`);\n }\n\n /** @internal */\n _zipTypesAndAnnotations(\n paramTypes: any /** TODO #9100 */, paramAnnotations: any /** TODO #9100 */): any[][] {\n var result: any /** TODO #9100 */;\n\n if (typeof paramTypes === 'undefined') {\n result = new Array(paramAnnotations.length);\n } else {\n result = new Array(paramTypes.length);\n }\n\n for (var i = 0; i < result.length; i++) {\n // TS outputs Object for parameters without types, while Traceur omits\n // the annotations. For now we preserve the Traceur behavior to aid\n // migration, but this can be revisited.\n if (typeof paramTypes === 'undefined') {\n result[i] = [];\n } else if (paramTypes[i] != Object) {\n result[i] = [paramTypes[i]];\n } else {\n result[i] = [];\n }\n if (isPresent(paramAnnotations) && isPresent(paramAnnotations[i])) {\n result[i] = result[i].concat(paramAnnotations[i]);\n }\n }\n return result;\n }\n\n parameters(typeOrFunc: Type): any[][] {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).parameters)) {\n return (<any>typeOrFunc).parameters;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).ctorParameters)) {\n let ctorParameters = (<any>typeOrFunc).ctorParameters;\n let paramTypes =\n ctorParameters.map((ctorParam: any /** TODO #9100 */) => ctorParam && ctorParam.type);\n let paramAnnotations = ctorParameters.map(\n (ctorParam: any /** TODO #9100 */) =>\n ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators));\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var paramAnnotations = this._reflect.getMetadata('parameters', typeOrFunc);\n var paramTypes = this._reflect.getMetadata('design:paramtypes', typeOrFunc);\n if (isPresent(paramTypes) || isPresent(paramAnnotations)) {\n return this._zipTypesAndAnnotations(paramTypes, paramAnnotations);\n }\n }\n // The array has to be filled with `undefined` because holes would be skipped by `some`\n let parameters = new Array((<any>typeOrFunc.length));\n parameters.fill(undefined);\n return parameters;\n }\n\n annotations(typeOrFunc: Type): any[] {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).annotations)) {\n var annotations = (<any>typeOrFunc).annotations;\n if (isFunction(annotations) && annotations.annotations) {\n annotations = annotations.annotations;\n }\n return annotations;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).decorators)) {\n return convertTsickleDecoratorIntoMetadata((<any>typeOrFunc).decorators);\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var annotations = this._reflect.getMetadata('annotations', typeOrFunc);\n if (isPresent(annotations)) return annotations;\n }\n return [];\n }\n\n propMetadata(typeOrFunc: any): {[key: string]: any[]} {\n // Prefer the direct API.\n if (isPresent((<any>typeOrFunc).propMetadata)) {\n var propMetadata = (<any>typeOrFunc).propMetadata;\n if (isFunction(propMetadata) && propMetadata.propMetadata) {\n propMetadata = propMetadata.propMetadata;\n }\n return propMetadata;\n }\n\n // API of tsickle for lowering decorators to properties on the class.\n if (isPresent((<any>typeOrFunc).propDecorators)) {\n let propDecorators = (<any>typeOrFunc).propDecorators;\n let propMetadata = <{[key: string]: any[]}>{};\n Object.keys(propDecorators).forEach(prop => {\n propMetadata[prop] = convertTsickleDecoratorIntoMetadata(propDecorators[prop]);\n });\n return propMetadata;\n }\n\n // API for metadata created by invoking the decorators.\n if (isPresent(this._reflect) && isPresent(this._reflect.getMetadata)) {\n var propMetadata = this._reflect.getMetadata('propMetadata', typeOrFunc);\n if (isPresent(propMetadata)) return propMetadata;\n }\n return {};\n }\n\n // Note: JavaScript does not support to query for interfaces during runtime.\n // However, we can't throw here as the reflector will always call this method\n // when asked for a lifecycle interface as this is what we check in Dart.\n interfaces(type: Type): any[] { return []; }\n\n hasLifecycleHook(type: any, lcInterface: Type, lcProperty: string): boolean {\n if (!(type instanceof Type)) return false;\n\n var proto = (<any>type).prototype;\n return !!proto[lcProperty];\n }\n\n getter(name: string): GetterFn { return <GetterFn>new Function('o', 'return o.' + name + ';'); }\n\n setter(name: string): SetterFn {\n return <SetterFn>new Function('o', 'v', 'return o.' + name + ' = v;');\n }\n\n method(name: string): MethodFn {\n let functionBody = `if (!o.${name}) throw new Error('\"${name}\" is undefined');\n return o.${name}.apply(o, args);`;\n return <MethodFn>new Function('o', 'args', functionBody);\n }\n\n // There is not a concept of import uri in Js, but this is useful in developing Dart applications.\n importUri(type: any): string {\n // StaticSymbol\n if (typeof type === 'object' && type['filePath']) {\n return type['filePath'];\n }\n // Runtime type\n return `./${stringify(type)}`;\n }\n}\n\nfunction convertTsickleDecoratorIntoMetadata(decoratorInvocations: any[]): any[] {\n if (!decoratorInvocations) {\n return [];\n }\n return decoratorInvocations.map(decoratorInvocation => {\n var decoratorType = decoratorInvocation.type;\n var annotationCls = decoratorType.annotationCls;\n var annotationArgs = decoratorInvocation.args ? decoratorInvocation.args : [];\n var annotation = Object.create(annotationCls.prototype);\n annotationCls.apply(annotation, annotationArgs);\n return annotation;\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,9 +1,9 @@
1
- import { Type } from '../../src/facade/lang';
2
- import { SetterFn, GetterFn, MethodFn } from './types';
3
- import { ReflectorReader } from './reflector_reader';
1
+ import { Type } from '../facade/lang';
4
2
  import { PlatformReflectionCapabilities } from './platform_reflection_capabilities';
5
- export { SetterFn, GetterFn, MethodFn } from './types';
3
+ import { ReflectorReader } from './reflector_reader';
4
+ import { GetterFn, MethodFn, SetterFn } from './types';
6
5
  export { PlatformReflectionCapabilities } from './platform_reflection_capabilities';
6
+ export { GetterFn, MethodFn, SetterFn } from './types';
7
7
  /**
8
8
  * Reflective information about a symbol, including annotations, interfaces, and other metadata.
9
9
  */
@@ -24,18 +24,9 @@ export declare class ReflectionInfo {
24
24
  * to power dependency injection and compilation.
25
25
  */
26
26
  export declare class Reflector extends ReflectorReader {
27
- /** @internal */
28
- _injectableInfo: Map<any, ReflectionInfo>;
29
- /** @internal */
30
- _getters: Map<string, (obj: any) => any>;
31
- /** @internal */
32
- _setters: Map<string, (obj: any, value: any) => void>;
33
- /** @internal */
34
- _methods: Map<string, (obj: any, args: any[]) => any>;
35
- /** @internal */
36
- _usedKeys: Set<any>;
37
27
  reflectionCapabilities: PlatformReflectionCapabilities;
38
28
  constructor(reflectionCapabilities: PlatformReflectionCapabilities);
29
+ updateCapabilities(caps: PlatformReflectionCapabilities): void;
39
30
  isReflectionEnabled(): boolean;
40
31
  /**
41
32
  * Causes `this` reflector to track keys used to access
@@ -65,13 +56,10 @@ export declare class Reflector extends ReflectorReader {
65
56
  propMetadata(typeOrFunc: any): {
66
57
  [key: string]: any[];
67
58
  };
68
- interfaces(type: Type): any[];
59
+ interfaces(type: any): any[];
60
+ hasLifecycleHook(type: any, lcInterface: any, lcProperty: string): boolean;
69
61
  getter(name: string): GetterFn;
70
62
  setter(name: string): SetterFn;
71
63
  method(name: string): MethodFn;
72
- /** @internal */
73
- _getReflectionInfo(typeOrFunc: any): ReflectionInfo;
74
- /** @internal */
75
- _containsReflectionInfo(typeOrFunc: any): boolean;
76
- importUri(type: Type): string;
64
+ importUri(type: any): string;
77
65
  }
@@ -1,6 +1,6 @@
1
- import { isPresent } from '../../src/facade/lang';
2
- import { BaseException } from '../../src/facade/exceptions';
3
- import { Map, MapWrapper, Set, SetWrapper, StringMapWrapper } from '../../src/facade/collection';
1
+ import { Map, MapWrapper, Set, SetWrapper, StringMapWrapper } from '../facade/collection';
2
+ import { BaseException } from '../facade/exceptions';
3
+ import { isPresent } from '../facade/lang';
4
4
  import { ReflectorReader } from './reflector_reader';
5
5
  /**
6
6
  * Reflective information about a symbol, including annotations, interfaces, and other metadata.
@@ -32,6 +32,7 @@ export class Reflector extends ReflectorReader {
32
32
  this._usedKeys = null;
33
33
  this.reflectionCapabilities = reflectionCapabilities;
34
34
  }
35
+ updateCapabilities(caps) { this.reflectionCapabilities = caps; }
35
36
  isReflectionEnabled() { return this.reflectionCapabilities.isReflectionEnabled(); }
36
37
  /**
37
38
  * Causes `this` reflector to track keys used to access
@@ -104,6 +105,15 @@ export class Reflector extends ReflectorReader {
104
105
  return this.reflectionCapabilities.interfaces(type);
105
106
  }
106
107
  }
108
+ hasLifecycleHook(type, lcInterface, lcProperty) {
109
+ var interfaces = this.interfaces(type);
110
+ if (interfaces.indexOf(lcInterface) !== -1) {
111
+ return true;
112
+ }
113
+ else {
114
+ return this.reflectionCapabilities.hasLifecycleHook(type, lcInterface, lcProperty);
115
+ }
116
+ }
107
117
  getter(name) {
108
118
  if (this._getters.has(name)) {
109
119
  return this._getters.get(name);
@@ -1 +1 @@
1
- {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflector.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Type, isPresent, stringify} from '../../src/facade/lang';\nimport {BaseException, WrappedException} from '../../src/facade/exceptions';\nimport {\n ListWrapper,\n Map,\n MapWrapper,\n Set,\n SetWrapper,\n StringMapWrapper\n} from '../../src/facade/collection';\nimport {SetterFn, GetterFn, MethodFn} from './types';\nimport {ReflectorReader} from './reflector_reader';\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nexport {SetterFn, GetterFn, MethodFn} from './types';\nexport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\n\n/**\n * Reflective information about a symbol, including annotations, interfaces, and other metadata.\n */\nexport class ReflectionInfo {\n constructor(public annotations?: any[], public parameters?: any[][], public factory?: Function,\n public interfaces?: any[], public propMetadata?: {[key: string]: any[]}) {}\n}\n\n/**\n * Provides access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nexport class Reflector extends ReflectorReader {\n /** @internal */\n _injectableInfo = new Map<any, ReflectionInfo>();\n /** @internal */\n _getters = new Map<string, GetterFn>();\n /** @internal */\n _setters = new Map<string, SetterFn>();\n /** @internal */\n _methods = new Map<string, MethodFn>();\n /** @internal */\n _usedKeys: Set<any>;\n reflectionCapabilities: PlatformReflectionCapabilities;\n\n constructor(reflectionCapabilities: PlatformReflectionCapabilities) {\n super();\n this._usedKeys = null;\n this.reflectionCapabilities = reflectionCapabilities;\n }\n\n isReflectionEnabled(): boolean { return this.reflectionCapabilities.isReflectionEnabled(); }\n\n /**\n * Causes `this` reflector to track keys used to access\n * {@link ReflectionInfo} objects.\n */\n trackUsage(): void { this._usedKeys = new Set(); }\n\n /**\n * Lists types for which reflection information was not requested since\n * {@link #trackUsage} was called. This list could later be audited as\n * potential dead code.\n */\n listUnusedKeys(): any[] {\n if (this._usedKeys == null) {\n throw new BaseException('Usage tracking is disabled');\n }\n var allTypes = MapWrapper.keys(this._injectableInfo);\n return allTypes.filter(key => !SetWrapper.has(this._usedKeys, key));\n }\n\n registerFunction(func: Function, funcInfo: ReflectionInfo): void {\n this._injectableInfo.set(func, funcInfo);\n }\n\n registerType(type: Type, typeInfo: ReflectionInfo): void {\n this._injectableInfo.set(type, typeInfo);\n }\n\n registerGetters(getters: {[key: string]: GetterFn}): void { _mergeMaps(this._getters, getters); }\n\n registerSetters(setters: {[key: string]: SetterFn}): void { _mergeMaps(this._setters, setters); }\n\n registerMethods(methods: {[key: string]: MethodFn}): void { _mergeMaps(this._methods, methods); }\n\n factory(type: Type): Function {\n if (this._containsReflectionInfo(type)) {\n var res = this._getReflectionInfo(type).factory;\n return isPresent(res) ? res : null;\n } else {\n return this.reflectionCapabilities.factory(type);\n }\n }\n\n parameters(typeOrFunc: /*Type*/ any): any[][] {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).parameters;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.parameters(typeOrFunc);\n }\n }\n\n annotations(typeOrFunc: /*Type*/ any): any[] {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).annotations;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.annotations(typeOrFunc);\n }\n }\n\n propMetadata(typeOrFunc: /*Type*/ any): {[key: string]: any[]} {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).propMetadata;\n return isPresent(res) ? res : {};\n } else {\n return this.reflectionCapabilities.propMetadata(typeOrFunc);\n }\n }\n\n interfaces(type: Type): any[] {\n if (this._injectableInfo.has(type)) {\n var res = this._getReflectionInfo(type).interfaces;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.interfaces(type);\n }\n }\n\n getter(name: string): GetterFn {\n if (this._getters.has(name)) {\n return this._getters.get(name);\n } else {\n return this.reflectionCapabilities.getter(name);\n }\n }\n\n setter(name: string): SetterFn {\n if (this._setters.has(name)) {\n return this._setters.get(name);\n } else {\n return this.reflectionCapabilities.setter(name);\n }\n }\n\n method(name: string): MethodFn {\n if (this._methods.has(name)) {\n return this._methods.get(name);\n } else {\n return this.reflectionCapabilities.method(name);\n }\n }\n\n /** @internal */\n _getReflectionInfo(typeOrFunc: any): ReflectionInfo {\n if (isPresent(this._usedKeys)) {\n this._usedKeys.add(typeOrFunc);\n }\n return this._injectableInfo.get(typeOrFunc);\n }\n\n /** @internal */\n _containsReflectionInfo(typeOrFunc: any) { return this._injectableInfo.has(typeOrFunc); }\n\n importUri(type: Type): string { return this.reflectionCapabilities.importUri(type); }\n}\n\nfunction _mergeMaps(target: Map<string, Function>, config: {[key: string]: Function}): void {\n StringMapWrapper.forEach(config, (v: Function, k: string) => target.set(k, v));\n}\n"]}
1
+ {"version":3,"file":"reflector.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflector.ts"],"names":[],"mappings":"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","sourcesContent":["import {ListWrapper, Map, MapWrapper, Set, SetWrapper, StringMapWrapper} from '../facade/collection';\nimport {BaseException, WrappedException} from '../facade/exceptions';\nimport {Type, isPresent, stringify} from '../facade/lang';\n\nimport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nimport {ReflectorReader} from './reflector_reader';\nimport {GetterFn, MethodFn, SetterFn} from './types';\n\nexport {PlatformReflectionCapabilities} from './platform_reflection_capabilities';\nexport {GetterFn, MethodFn, SetterFn} from './types';\n\n\n/**\n * Reflective information about a symbol, including annotations, interfaces, and other metadata.\n */\nexport class ReflectionInfo {\n constructor(\n public annotations?: any[], public parameters?: any[][], public factory?: Function,\n public interfaces?: any[], public propMetadata?: {[key: string]: any[]}) {}\n}\n\n/**\n * Provides access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nexport class Reflector extends ReflectorReader {\n /** @internal */\n _injectableInfo = new Map<any, ReflectionInfo>();\n /** @internal */\n _getters = new Map<string, GetterFn>();\n /** @internal */\n _setters = new Map<string, SetterFn>();\n /** @internal */\n _methods = new Map<string, MethodFn>();\n /** @internal */\n _usedKeys: Set<any>;\n reflectionCapabilities: PlatformReflectionCapabilities;\n\n constructor(reflectionCapabilities: PlatformReflectionCapabilities) {\n super();\n this._usedKeys = null;\n this.reflectionCapabilities = reflectionCapabilities;\n }\n\n updateCapabilities(caps: PlatformReflectionCapabilities) { this.reflectionCapabilities = caps; }\n\n isReflectionEnabled(): boolean { return this.reflectionCapabilities.isReflectionEnabled(); }\n\n /**\n * Causes `this` reflector to track keys used to access\n * {@link ReflectionInfo} objects.\n */\n trackUsage(): void { this._usedKeys = new Set(); }\n\n /**\n * Lists types for which reflection information was not requested since\n * {@link #trackUsage} was called. This list could later be audited as\n * potential dead code.\n */\n listUnusedKeys(): any[] {\n if (this._usedKeys == null) {\n throw new BaseException('Usage tracking is disabled');\n }\n var allTypes = MapWrapper.keys(this._injectableInfo);\n return allTypes.filter(key => !SetWrapper.has(this._usedKeys, key));\n }\n\n registerFunction(func: Function, funcInfo: ReflectionInfo): void {\n this._injectableInfo.set(func, funcInfo);\n }\n\n registerType(type: Type, typeInfo: ReflectionInfo): void {\n this._injectableInfo.set(type, typeInfo);\n }\n\n registerGetters(getters: {[key: string]: GetterFn}): void { _mergeMaps(this._getters, getters); }\n\n registerSetters(setters: {[key: string]: SetterFn}): void { _mergeMaps(this._setters, setters); }\n\n registerMethods(methods: {[key: string]: MethodFn}): void { _mergeMaps(this._methods, methods); }\n\n factory(type: Type): Function {\n if (this._containsReflectionInfo(type)) {\n var res = this._getReflectionInfo(type).factory;\n return isPresent(res) ? res : null;\n } else {\n return this.reflectionCapabilities.factory(type);\n }\n }\n\n parameters(typeOrFunc: /*Type*/ any): any[][] {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).parameters;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.parameters(typeOrFunc);\n }\n }\n\n annotations(typeOrFunc: /*Type*/ any): any[] {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).annotations;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.annotations(typeOrFunc);\n }\n }\n\n propMetadata(typeOrFunc: /*Type*/ any): {[key: string]: any[]} {\n if (this._injectableInfo.has(typeOrFunc)) {\n var res = this._getReflectionInfo(typeOrFunc).propMetadata;\n return isPresent(res) ? res : {};\n } else {\n return this.reflectionCapabilities.propMetadata(typeOrFunc);\n }\n }\n\n interfaces(type: /*Type*/ any): any[] {\n if (this._injectableInfo.has(type)) {\n var res = this._getReflectionInfo(type).interfaces;\n return isPresent(res) ? res : [];\n } else {\n return this.reflectionCapabilities.interfaces(type);\n }\n }\n\n hasLifecycleHook(type: any, lcInterface: /*Type*/ any, lcProperty: string): boolean {\n var interfaces = this.interfaces(type);\n if (interfaces.indexOf(lcInterface) !== -1) {\n return true;\n } else {\n return this.reflectionCapabilities.hasLifecycleHook(type, lcInterface, lcProperty);\n }\n }\n\n getter(name: string): GetterFn {\n if (this._getters.has(name)) {\n return this._getters.get(name);\n } else {\n return this.reflectionCapabilities.getter(name);\n }\n }\n\n setter(name: string): SetterFn {\n if (this._setters.has(name)) {\n return this._setters.get(name);\n } else {\n return this.reflectionCapabilities.setter(name);\n }\n }\n\n method(name: string): MethodFn {\n if (this._methods.has(name)) {\n return this._methods.get(name);\n } else {\n return this.reflectionCapabilities.method(name);\n }\n }\n\n /** @internal */\n _getReflectionInfo(typeOrFunc: any): ReflectionInfo {\n if (isPresent(this._usedKeys)) {\n this._usedKeys.add(typeOrFunc);\n }\n return this._injectableInfo.get(typeOrFunc);\n }\n\n /** @internal */\n _containsReflectionInfo(typeOrFunc: any) { return this._injectableInfo.has(typeOrFunc); }\n\n importUri(type: any): string { return this.reflectionCapabilities.importUri(type); }\n}\n\nfunction _mergeMaps(target: Map<string, Function>, config: {[key: string]: Function}): void {\n StringMapWrapper.forEach(config, (v: Function, k: string) => target.set(k, v));\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Provides read-only access to reflection data about symbols. Used internally by Angular
3
- * to power dependency injection and compilation.
4
- */
2
+ * Provides read-only access to reflection data about symbols. Used internally by Angular
3
+ * to power dependency injection and compilation.
4
+ */
5
5
  export class ReflectorReader {
6
6
  }
7
7
  //# sourceMappingURL=reflector_reader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflector_reader.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflector_reader.ts"],"names":[],"mappings":"AAIE;;;EAGC;AACH;AAKA,CAAC;AAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\n * Provides read-only access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nexport abstract class ReflectorReader {\n abstract parameters(typeOrFunc: /*Type*/ any): any[][];\n abstract annotations(typeOrFunc: /*Type*/ any): any[];\n abstract propMetadata(typeOrFunc: /*Type*/ any): {[key: string]: any[]};\n abstract importUri(typeOrFunc: /*Type*/ any): string;\n}\n"]}
1
+ {"version":3,"file":"reflector_reader.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/reflector_reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;AAKA,CAAC;AAAA","sourcesContent":["/**\n * Provides read-only access to reflection data about symbols. Used internally by Angular\n * to power dependency injection and compilation.\n */\nexport abstract class ReflectorReader {\n abstract parameters(typeOrFunc: /*Type*/ any): any[][];\n abstract annotations(typeOrFunc: /*Type*/ any): any[];\n abstract propMetadata(typeOrFunc: /*Type*/ any): {[key: string]: any[]};\n abstract importUri(typeOrFunc: /*Type*/ any): string;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/types.ts"],"names":[],"mappings":"","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export type SetterFn = (obj: any, value: any) => void;\nexport type GetterFn = (obj: any) => any;\nexport type MethodFn = (obj: any, args: any[]) => any;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../modules/@angular/core/src/reflection/types.ts"],"names":[],"mappings":"","sourcesContent":["export type SetterFn = (obj: any, value: any) => void;\nexport type GetterFn = (obj: any) => any;\nexport type MethodFn = (obj: any, args: any[]) => any;\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,5 +1,11 @@
1
- import { ViewEncapsulation } from '../metadata/view';
1
+ import { AnimationKeyframe } from '../../src/animation/animation_keyframe';
2
+ import { AnimationPlayer } from '../../src/animation/animation_player';
3
+ import { AnimationStyles } from '../../src/animation/animation_styles';
2
4
  import { Injector } from '../di/injector';
5
+ import { ViewEncapsulation } from '../metadata/view';
6
+ /**
7
+ * @experimental
8
+ */
3
9
  export declare class RenderComponentType {
4
10
  id: string;
5
11
  templateUrl: string;
@@ -18,12 +24,15 @@ export declare abstract class RenderDebugInfo {
18
24
  readonly context: any;
19
25
  readonly source: string;
20
26
  }
27
+ /**
28
+ * @experimental
29
+ */
21
30
  export declare abstract class Renderer {
22
- abstract selectRootElement(selectorOrNode: string | any, debugInfo: RenderDebugInfo): any;
23
- abstract createElement(parentElement: any, name: string, debugInfo: RenderDebugInfo): any;
31
+ abstract selectRootElement(selectorOrNode: string | any, debugInfo?: RenderDebugInfo): any;
32
+ abstract createElement(parentElement: any, name: string, debugInfo?: RenderDebugInfo): any;
24
33
  abstract createViewRoot(hostElement: any): any;
25
- abstract createTemplateAnchor(parentElement: any, debugInfo: RenderDebugInfo): any;
26
- abstract createText(parentElement: any, value: string, debugInfo: RenderDebugInfo): any;
34
+ abstract createTemplateAnchor(parentElement: any, debugInfo?: RenderDebugInfo): any;
35
+ abstract createText(parentElement: any, value: string, debugInfo?: RenderDebugInfo): any;
27
36
  abstract projectNodes(parentElement: any, nodes: any[]): void;
28
37
  abstract attachViewAfter(node: any, viewRootNodes: any[]): void;
29
38
  abstract detachView(viewRootNodes: any[]): void;
@@ -38,8 +47,9 @@ export declare abstract class Renderer {
38
47
  abstract setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string): void;
39
48
  abstract setElementClass(renderElement: any, className: string, isAdd: boolean): any;
40
49
  abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): any;
41
- abstract invokeElementMethod(renderElement: any, methodName: string, args: any[]): any;
50
+ abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): any;
42
51
  abstract setText(renderNode: any, text: string): any;
52
+ abstract animate(element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[], duration: number, delay: number, easing: string): AnimationPlayer;
43
53
  }
44
54
  /**
45
55
  * Injectable service that provides a low-level interface for modifying the UI.
@@ -52,6 +62,7 @@ export declare abstract class Renderer {
52
62
  * If you are implementing a custom renderer, you must implement this interface.
53
63
  *
54
64
  * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.
65
+ * @experimental
55
66
  */
56
67
  export declare abstract class RootRenderer {
57
68
  abstract renderComponent(componentType: RenderComponentType): Renderer;
@@ -1,4 +1,7 @@
1
- import { unimplemented } from '../../src/facade/exceptions';
1
+ import { unimplemented } from '../facade/exceptions';
2
+ /**
3
+ * @experimental
4
+ */
2
5
  export class RenderComponentType {
3
6
  constructor(id, templateUrl, slotCount, encapsulation, styles) {
4
7
  this.id = id;
@@ -16,6 +19,9 @@ export class RenderDebugInfo {
16
19
  get context() { return unimplemented(); }
17
20
  get source() { return unimplemented(); }
18
21
  }
22
+ /**
23
+ * @experimental
24
+ */
19
25
  export class Renderer {
20
26
  }
21
27
  /**
@@ -29,6 +35,7 @@ export class Renderer {
29
35
  * If you are implementing a custom renderer, you must implement this interface.
30
36
  *
31
37
  * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.
38
+ * @experimental
32
39
  */
33
40
  export class RootRenderer {
34
41
  }