@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":"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":";AACA,qBAA2E,gBAAgB,CAAC,CAAA;AAK5F;IAGE,gCAAY,OAAa;QAAI,IAAI,CAAC,QAAQ,GAAG,gBAAS,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,aAAM,CAAC,OAAO,CAAC;IAAC,CAAC;IAE7F,oDAAmB,GAAnB,cAAiC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/C,wCAAO,GAAP,UAAQ,CAAe;QACrB,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB,KAAK,CAAC;gBACJ,MAAM,CAAC,cAAM,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC;YACvB,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,CAAC,EAAT,CAAS,CAAC;YAChC,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAb,CAAa,CAAC;YAC7C,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAjB,CAAiB,CAAC;YAC1D,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAArB,CAAqB,CAAC;YACvE,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,IAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAzB,CAAyB,CAAC;YACpF,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;oBACjD,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAA7B,CAA6B,CAAC;YAC3C,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;oBAC1D,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAAjC,CAAiC,CAAC;YAC/C,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;oBACnE,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAArC,CAAqC,CAAC;YACnD,KAAK,CAAC;gBACJ,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO;oBAC5E,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBAAzC,CAAyC,CAAC;YACvD,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ;oBAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;gBAA9C,CAA8C,CAAC;YACtE,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ;oBAAK,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAnD,CAAmD,CAAC;YACrF,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBACzB,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAxD,CAAwD,CAAC;YACtE,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBACnC,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAA7D,CAA6D,CAAC;YAC3E,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBAC7C,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAlE,CAAkE,CAAC;YAChF,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBACvD,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAAvE,CAAuE,CAAC;YACrF,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBACjE,OAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAA5E,CAA4E,CAAC;YAC1F,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBAC3E,OAAA,IAAI,CAAC,CACD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAD/E,CAC+E,CAAC;YAC7F,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAC9E,GAAQ;oBACL,OAAA,IAAI,CAAC,CACD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAC1E,GAAG,CAAC;gBAFR,CAEQ,CAAC;YACtB,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAC9E,GAAQ,EAAE,GAAQ;oBACf,OAAA,IAAI,CAAC,CACD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAC1E,GAAG,EAAE,GAAG,CAAC;gBAFb,CAEa,CAAC;YAC3B,KAAK,EAAE;gBACL,MAAM,CAAC,UAAC,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAAE,EAAO,EAC/E,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAAE,GAAQ,EAC9E,GAAQ,EAAE,GAAQ,EAAE,GAAQ;oBACzB,OAAA,IAAI,CAAC,CACD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAC1E,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBAFlB,CAEkB,CAAC;QAClC,CAAC;QAAA,CAAC;QAEF,MAAM,IAAI,KAAK,CACX,kCAAgC,gBAAS,CAAC,CAAC,CAAC,yDAAsD,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB;IAChB,wDAAuB,GAAvB,UACI,UAAe,CAAC,iBAAiB,EAAE,gBAAqB,CAAC,iBAAiB;QAC5E,IAAI,MAAW,CAAmB;QAElC,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC;YACtC,MAAM,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,sEAAsE;YACtE,mEAAmE;YACnE,wCAAwC;YACxC,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;gBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACjB,CAAC;YACD,EAAE,CAAC,CAAC,gBAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,2CAAU,GAAV,UAAW,UAAgB;QACzB,yBAAyB;QACzB,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAO,UAAW,CAAC,UAAU,CAAC;QACtC,CAAC;QAED,qEAAqE;QACrE,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,cAAc,GAAS,UAAW,CAAC,cAAc,CAAC;YACtD,IAAI,YAAU,GACV,cAAc,CAAC,GAAG,CAAC,UAAC,SAAc,CAAC,iBAAiB,IAAK,OAAA,SAAS,IAAI,SAAS,CAAC,IAAI,EAA3B,CAA2B,CAAC,CAAC;YAC1F,IAAI,kBAAgB,GAAG,cAAc,CAAC,GAAG,CACrC,UAAC,SAAc,CAAC,iBAAiB;gBAC7B,OAAA,SAAS,IAAI,mCAAmC,CAAC,SAAS,CAAC,UAAU,CAAC;YAAtE,CAAsE,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAU,EAAE,kBAAgB,CAAC,CAAC;QACpE,CAAC;QAED,uDAAuD;QACvD,EAAE,CAAC,CAAC,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC3E,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YAC5E,EAAE,CAAC,CAAC,gBAAS,CAAC,UAAU,CAAC,IAAI,gBAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,uFAAuF;QACvF,IAAI,UAAU,GAAG,IAAI,KAAK,CAAO,UAAU,CAAC,MAAO,CAAC,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,MAAM,CAAC,UAAU,CAAC;IACpB,CAAC;IAED,4CAAW,GAAX,UAAY,UAAgB;QAC1B,yBAAyB;QACzB,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,GAAS,UAAW,CAAC,WAAW,CAAC;YAChD,EAAE,CAAC,CAAC,iBAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvD,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YACxC,CAAC;YACD,MAAM,CAAC,WAAW,CAAC;QACrB,CAAC;QAED,qEAAqE;QACrE,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,mCAAmC,CAAO,UAAW,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC;QAED,uDAAuD;QACvD,EAAE,CAAC,CAAC,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACvE,EAAE,CAAC,CAAC,gBAAS,CAAC,WAAW,CAAC,CAAC;gBAAC,MAAM,CAAC,WAAW,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,EAAE,CAAC;IACZ,CAAC;IAED,6CAAY,GAAZ,UAAa,UAAe;QAC1B,yBAAyB;QACzB,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,GAAS,UAAW,CAAC,YAAY,CAAC;YAClD,EAAE,CAAC,CAAC,iBAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1D,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;YAC3C,CAAC;YACD,MAAM,CAAC,YAAY,CAAC;QACtB,CAAC;QAED,qEAAqE;QACrE,EAAE,CAAC,CAAC,gBAAS,CAAO,UAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,gBAAc,GAAS,UAAW,CAAC,cAAc,CAAC;YACtD,IAAI,cAAY,GAA2B,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,gBAAc,CAAC,CAAC,OAAO,CAAC,UAAA,IAAI;gBACtC,cAAY,CAAC,IAAI,CAAC,GAAG,mCAAmC,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAY,CAAC;QACtB,CAAC;QAED,uDAAuD;QACvD,EAAE,CAAC,CAAC,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACzE,EAAE,CAAC,CAAC,gBAAS,CAAC,YAAY,CAAC,CAAC;gBAAC,MAAM,CAAC,YAAY,CAAC;QACnD,CAAC;QACD,MAAM,CAAC,EAAE,CAAC;IACZ,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,2CAAU,GAAV,UAAW,IAAU,IAAW,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5C,iDAAgB,GAAhB,UAAiB,IAAS,EAAE,WAAiB,EAAE,UAAkB;QAC/D,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,WAAI,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QAE1C,IAAI,KAAK,GAAS,IAAK,CAAC,SAAS,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IAED,uCAAM,GAAN,UAAO,IAAY,IAAc,MAAM,CAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAEhG,uCAAM,GAAN,UAAO,IAAY;QACjB,MAAM,CAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC;IACxE,CAAC;IAED,uCAAM,GAAN,UAAO,IAAY;QACjB,IAAI,YAAY,GAAG,YAAU,IAAI,6BAAuB,IAAI,6CAC7C,IAAI,qBAAkB,CAAC;QACtC,MAAM,CAAW,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC;IAED,kGAAkG;IAClG,0CAAS,GAAT,UAAU,IAAS;QACjB,eAAe;QACf,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QACD,eAAe;QACf,MAAM,CAAC,OAAK,gBAAS,CAAC,IAAI,CAAG,CAAC;IAChC,CAAC;IACH,6BAAC;AAAD,CAAC,AA3OD,IA2OC;AA3OY,8BAAsB,yBA2OlC,CAAA;AAED,6CAA6C,oBAA2B;IACtE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAA,mBAAmB;QACjD,IAAI,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC;QAC7C,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;QAChD,IAAI,cAAc,GAAG,mBAAmB,CAAC,IAAI,GAAG,mBAAmB,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9E,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACxD,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAChD,MAAM,CAAC,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC","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
  }
@@ -4,9 +4,9 @@ var __extends = (this && this.__extends) || function (d, b) {
4
4
  function __() { this.constructor = d; }
5
5
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
6
  };
7
- var lang_1 = require('../../src/facade/lang');
8
- var exceptions_1 = require('../../src/facade/exceptions');
9
- var collection_1 = require('../../src/facade/collection');
7
+ var collection_1 = require('../facade/collection');
8
+ var exceptions_1 = require('../facade/exceptions');
9
+ var lang_1 = require('../facade/lang');
10
10
  var reflector_reader_1 = require('./reflector_reader');
11
11
  /**
12
12
  * Reflective information about a symbol, including annotations, interfaces, and other metadata.
@@ -41,6 +41,7 @@ var Reflector = (function (_super) {
41
41
  this._usedKeys = null;
42
42
  this.reflectionCapabilities = reflectionCapabilities;
43
43
  }
44
+ Reflector.prototype.updateCapabilities = function (caps) { this.reflectionCapabilities = caps; };
44
45
  Reflector.prototype.isReflectionEnabled = function () { return this.reflectionCapabilities.isReflectionEnabled(); };
45
46
  /**
46
47
  * Causes `this` reflector to track keys used to access
@@ -114,6 +115,15 @@ var Reflector = (function (_super) {
114
115
  return this.reflectionCapabilities.interfaces(type);
115
116
  }
116
117
  };
118
+ Reflector.prototype.hasLifecycleHook = function (type, lcInterface, lcProperty) {
119
+ var interfaces = this.interfaces(type);
120
+ if (interfaces.indexOf(lcInterface) !== -1) {
121
+ return true;
122
+ }
123
+ else {
124
+ return this.reflectionCapabilities.hasLifecycleHook(type, lcInterface, lcProperty);
125
+ }
126
+ };
117
127
  Reflector.prototype.getter = function (name) {
118
128
  if (this._getters.has(name)) {
119
129
  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,8 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Provides read-only access to reflection data about symbols. Used internally by Angular
4
- * to power dependency injection and compilation.
5
- */
3
+ * Provides read-only access to reflection data about symbols. Used internally by Angular
4
+ * to power dependency injection and compilation.
5
+ */
6
6
  var ReflectorReader = (function () {
7
7
  function ReflectorReader() {
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reflector_reader.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/reflection/reflector_reader.ts"],"names":[],"mappings":";AAIE;;;EAGC;AACH;IAAA;IAKA,CAAC;IAAD,sBAAC;AAAD,CAAC,AALD,IAKC;AALqB,uBAAe,kBAKpC,CAAA","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;IAAA;IAKA,CAAC;IAAD,sBAAC;AAAD,CAAC,AALD,IAKC;AALqB,uBAAe,kBAKpC,CAAA","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
  context: any;
19
25
  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;
package/src/render/api.js CHANGED
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
- var exceptions_1 = require('../../src/facade/exceptions');
2
+ var exceptions_1 = require('../facade/exceptions');
3
+ /**
4
+ * @experimental
5
+ */
3
6
  var RenderComponentType = (function () {
4
7
  function RenderComponentType(id, templateUrl, slotCount, encapsulation, styles) {
5
8
  this.id = id;
@@ -47,6 +50,9 @@ var RenderDebugInfo = (function () {
47
50
  return RenderDebugInfo;
48
51
  }());
49
52
  exports.RenderDebugInfo = RenderDebugInfo;
53
+ /**
54
+ * @experimental
55
+ */
50
56
  var Renderer = (function () {
51
57
  function Renderer() {
52
58
  }
@@ -64,6 +70,7 @@ exports.Renderer = Renderer;
64
70
  * If you are implementing a custom renderer, you must implement this interface.
65
71
  *
66
72
  * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.
73
+ * @experimental
67
74
  */
68
75
  var RootRenderer = (function () {
69
76
  function RootRenderer() {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/render/api.ts"],"names":[],"mappings":";AAIE,2BAA4B,6BAA6B,CAAC,CAAA;AAI5D;IACE,6BAAmB,EAAU,EAAS,WAAmB,EAAS,SAAiB,EAChE,aAAgC,EAAS,MAA6B;QADtE,OAAE,GAAF,EAAE,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAQ;QAChE,kBAAa,GAAb,aAAa,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAuB;IAAG,CAAC;IAC/F,0BAAC;AAAD,CAAC,AAHD,IAGC;AAHY,2BAAmB,sBAG/B,CAAA;AAED;IAAA;IAOA,CAAC;IANC,sBAAI,qCAAQ;aAAZ,cAA2B,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpD,sBAAI,sCAAS;aAAb,cAAuB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAChD,sBAAI,2CAAc;aAAlB,cAA8B,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACvD,sBAAI,uCAAU;aAAd,cAAyC,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClE,sBAAI,oCAAO;aAAX,cAAqB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAC9C,sBAAI,mCAAM;aAAV,cAAuB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClD,sBAAC;AAAD,CAAC,AAPD,IAOC;AAPqB,uBAAe,kBAOpC,CAAA;AAED;IAAA;IAyCA,CAAC;IAAD,eAAC;AAAD,CAAC,AAzCD,IAyCC;AAzCqB,gBAAQ,WAyC7B,CAAA;AAED;;;;;;;;;;;GAWG;AAEH;IAAA;IAEA,CAAC;IAAD,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFqB,oBAAY,eAEjC,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {unimplemented} from '../../src/facade/exceptions';\nimport {ViewEncapsulation} from '../metadata/view';\nimport {Injector} from '../di/injector';\n\nexport class RenderComponentType {\n constructor(public id: string, public templateUrl: string, public slotCount: number,\n public encapsulation: ViewEncapsulation, public styles: Array<string | any[]>) {}\n}\n\nexport abstract class RenderDebugInfo {\n get injector(): Injector { return unimplemented(); }\n get component(): any { return unimplemented(); }\n get providerTokens(): any[] { return unimplemented(); }\n get references(): {[key: string]: any} { return unimplemented(); }\n get context(): any { return unimplemented(); }\n get source(): string { return unimplemented(); }\n}\n\nexport abstract class Renderer {\n abstract selectRootElement(selectorOrNode: string | any, debugInfo: RenderDebugInfo): any;\n\n abstract createElement(parentElement: any, name: string, debugInfo: RenderDebugInfo): any;\n\n abstract createViewRoot(hostElement: any): any;\n\n abstract createTemplateAnchor(parentElement: any, debugInfo: RenderDebugInfo): any;\n\n abstract createText(parentElement: any, value: string, debugInfo: RenderDebugInfo): any;\n\n abstract projectNodes(parentElement: any, nodes: any[]): void;\n\n abstract attachViewAfter(node: any, viewRootNodes: any[]): void;\n\n abstract detachView(viewRootNodes: any[]): void;\n\n abstract destroyView(hostElement: any, viewAllNodes: any[]): void;\n\n abstract listen(renderElement: any, name: string, callback: Function): Function;\n\n abstract listenGlobal(target: string, name: string, callback: Function): Function;\n\n abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): void;\n\n abstract setElementAttribute(renderElement: any, attributeName: string,\n attributeValue: string): void;\n\n /**\n * Used only in debug mode to serialize property changes to dom nodes as attributes.\n */\n abstract setBindingDebugInfo(renderElement: any, propertyName: string,\n propertyValue: string): void;\n\n abstract setElementClass(renderElement: any, className: string, isAdd: boolean);\n\n abstract setElementStyle(renderElement: any, styleName: string, styleValue: string);\n\n abstract invokeElementMethod(renderElement: any, methodName: string, args: any[]);\n\n abstract setText(renderNode: any, text: string);\n}\n\n/**\n * Injectable service that provides a low-level interface for modifying the UI.\n *\n * Use this service to bypass Angular's templating and make custom UI changes that can't be\n * expressed declaratively. For example if you need to set a property or an attribute whose name is\n * not statically known, use {@link #setElementProperty} or {@link #setElementAttribute}\n * respectively.\n *\n * If you are implementing a custom renderer, you must implement this interface.\n *\n * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.\n */\n\nexport abstract class RootRenderer {\n abstract renderComponent(componentType: RenderComponentType): Renderer;\n}\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/render/api.ts"],"names":[],"mappings":";AAIA,2BAA4B,sBAAsB,CAAC,CAAA;AAInD;;GAEG;AACH;IACE,6BACW,EAAU,EAAS,WAAmB,EAAS,SAAiB,EAChE,aAAgC,EAAS,MAA2B;QADpE,OAAE,GAAF,EAAE,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAQ;QAAS,cAAS,GAAT,SAAS,CAAQ;QAChE,kBAAa,GAAb,aAAa,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IACrF,0BAAC;AAAD,CAAC,AAJD,IAIC;AAJY,2BAAmB,sBAI/B,CAAA;AAED;IAAA;IAOA,CAAC;IANC,sBAAI,qCAAQ;aAAZ,cAA2B,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACpD,sBAAI,sCAAS;aAAb,cAAuB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAChD,sBAAI,2CAAc;aAAlB,cAA8B,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IACvD,sBAAI,uCAAU;aAAd,cAAyC,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClE,sBAAI,oCAAO;aAAX,cAAqB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAC9C,sBAAI,mCAAM;aAAV,cAAuB,MAAM,CAAC,0BAAa,EAAE,CAAC,CAAC,CAAC;;;OAAA;IAClD,sBAAC;AAAD,CAAC,AAPD,IAOC;AAPqB,uBAAe,kBAOpC,CAAA;AAED;;GAEG;AACH;IAAA;IAgDA,CAAC;IAAD,eAAC;AAAD,CAAC,AAhDD,IAgDC;AAhDqB,gBAAQ,WAgD7B,CAAA;AAED;;;;;;;;;;;;GAYG;AACH;IAAA;IAEA,CAAC;IAAD,mBAAC;AAAD,CAAC,AAFD,IAEC;AAFqB,oBAAY,eAEjC,CAAA","sourcesContent":["import {AnimationKeyframe} from '../../src/animation/animation_keyframe';\nimport {AnimationPlayer} from '../../src/animation/animation_player';\nimport {AnimationStyles} from '../../src/animation/animation_styles';\nimport {Injector} from '../di/injector';\nimport {unimplemented} from '../facade/exceptions';\nimport {ViewEncapsulation} from '../metadata/view';\n\n\n/**\n * @experimental\n */\nexport class RenderComponentType {\n constructor(\n public id: string, public templateUrl: string, public slotCount: number,\n public encapsulation: ViewEncapsulation, public styles: Array<string|any[]>) {}\n}\n\nexport abstract class RenderDebugInfo {\n get injector(): Injector { return unimplemented(); }\n get component(): any { return unimplemented(); }\n get providerTokens(): any[] { return unimplemented(); }\n get references(): {[key: string]: any} { return unimplemented(); }\n get context(): any { return unimplemented(); }\n get source(): string { return unimplemented(); }\n}\n\n/**\n * @experimental\n */\nexport abstract class Renderer {\n abstract selectRootElement(selectorOrNode: string|any, debugInfo?: RenderDebugInfo): any;\n\n abstract createElement(parentElement: any, name: string, debugInfo?: RenderDebugInfo): any;\n\n abstract createViewRoot(hostElement: any): any;\n\n abstract createTemplateAnchor(parentElement: any, debugInfo?: RenderDebugInfo): any;\n\n abstract createText(parentElement: any, value: string, debugInfo?: RenderDebugInfo): any;\n\n abstract projectNodes(parentElement: any, nodes: any[]): void;\n\n abstract attachViewAfter(node: any, viewRootNodes: any[]): void;\n\n abstract detachView(viewRootNodes: any[]): void;\n\n abstract destroyView(hostElement: any, viewAllNodes: any[]): void;\n\n abstract listen(renderElement: any, name: string, callback: Function): Function;\n\n abstract listenGlobal(target: string, name: string, callback: Function): Function;\n\n abstract setElementProperty(renderElement: any, propertyName: string, propertyValue: any): void;\n\n abstract setElementAttribute(renderElement: any, attributeName: string, attributeValue: string):\n void;\n\n /**\n * Used only in debug mode to serialize property changes to dom nodes as attributes.\n */\n abstract setBindingDebugInfo(renderElement: any, propertyName: string, propertyValue: string):\n void;\n\n abstract setElementClass(renderElement: any, className: string, isAdd: boolean): any\n /** TODO #9100 */;\n\n abstract setElementStyle(renderElement: any, styleName: string, styleValue: string): any\n /** TODO #9100 */;\n\n abstract invokeElementMethod(renderElement: any, methodName: string, args?: any[]): any\n /** TODO #9100 */;\n\n abstract setText(renderNode: any, text: string): any /** TODO #9100 */;\n\n abstract animate(\n element: any, startingStyles: AnimationStyles, keyframes: AnimationKeyframe[],\n duration: number, delay: number, easing: string): AnimationPlayer;\n}\n\n/**\n * Injectable service that provides a low-level interface for modifying the UI.\n *\n * Use this service to bypass Angular's templating and make custom UI changes that can't be\n * expressed declaratively. For example if you need to set a property or an attribute whose name is\n * not statically known, use {@link #setElementProperty} or {@link #setElementAttribute}\n * respectively.\n *\n * If you are implementing a custom renderer, you must implement this interface.\n *\n * The default Renderer implementation is `DomRenderer`. Also available is `WebWorkerRenderer`.\n * @experimental\n */\nexport abstract class RootRenderer {\n abstract renderComponent(componentType: RenderComponentType): Renderer;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
package/src/render.d.ts CHANGED
@@ -1 +1 @@
1
- export { RootRenderer, Renderer, RenderComponentType } from './render/api';
1
+ export { RenderComponentType, Renderer, RootRenderer } from './render/api';
package/src/render.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // Public API for render
3
3
  var api_1 = require('./render/api');
4
- exports.RootRenderer = api_1.RootRenderer;
5
- exports.Renderer = api_1.Renderer;
6
4
  exports.RenderComponentType = api_1.RenderComponentType;
5
+ exports.Renderer = api_1.Renderer;
6
+ exports.RootRenderer = api_1.RootRenderer;
7
7
  //# sourceMappingURL=render.js.map
package/src/render.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/render.ts"],"names":[],"mappings":";AAIE,wBAAwB;AAC1B,oBAA0D,cAAc,CAAC;AAAjE,0CAAY;AAAE,kCAAQ;AAAE,wDAAyC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n // Public API for render\nexport {RootRenderer, Renderer, RenderComponentType} from './render/api';\n"]}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/render.ts"],"names":[],"mappings":";AAAA,wBAAwB;AACxB,oBAA0D,cAAc,CAAC;AAAjE,wDAAmB;AAAE,kCAAQ;AAAE,0CAAkC","sourcesContent":["// Public API for render\nexport {RenderComponentType, Renderer, RootRenderer} from './render/api';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
package/src/security.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
- * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
4
- * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly
5
- * handled.
6
- *
7
- * See DomSanitizationService for more details on security in Angular applications.
8
- */
3
+ * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property
4
+ * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly
5
+ * handled.
6
+ *
7
+ * See DomSanitizationService for more details on security in Angular applications.
8
+ */
9
9
  (function (SecurityContext) {
10
10
  SecurityContext[SecurityContext["NONE"] = 0] = "NONE";
11
11
  SecurityContext[SecurityContext["HTML"] = 1] = "HTML";
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/security.ts"],"names":[],"mappings":";AAIE;;;;;;EAMC;AACH,WAAY,eAAe;IACzB,qDAAI,CAAA;IACJ,qDAAI,CAAA;IACJ,uDAAK,CAAA;IACL,yDAAM,CAAA;IACN,mDAAG,CAAA;IACH,qEAAY,CAAA;AACd,CAAC,EAPW,uBAAe,KAAf,uBAAe,QAO1B;AAPD,IAAY,eAAe,GAAf,uBAOX,CAAA;AAED;;;GAGG;AACH;IAAA;IAEA,CAAC;IAAD,0BAAC;AAAD,CAAC,AAFD,IAEC;AAFqB,2BAAmB,sBAExC,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\n * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property\n * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly\n * handled.\n *\n * See DomSanitizationService for more details on security in Angular applications.\n */\nexport enum SecurityContext {\n NONE,\n HTML,\n STYLE,\n SCRIPT,\n URL,\n RESOURCE_URL,\n}\n\n/**\n * SanitizationService is used by the views to sanitize potentially dangerous values. This is a\n * private API, use code should only refer to DomSanitizationService.\n */\nexport abstract class SanitizationService {\n abstract sanitize(context: SecurityContext, value: string): string;\n}\n"]}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/security.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,WAAY,eAAe;IACzB,qDAAI,CAAA;IACJ,qDAAI,CAAA;IACJ,uDAAK,CAAA;IACL,yDAAM,CAAA;IACN,mDAAG,CAAA;IACH,qEAAY,CAAA;AACd,CAAC,EAPW,uBAAe,KAAf,uBAAe,QAO1B;AAPD,IAAY,eAAe,GAAf,uBAOX,CAAA;AAED;;;GAGG;AACH;IAAA;IAEA,CAAC;IAAD,0BAAC;AAAD,CAAC,AAFD,IAEC;AAFqB,2BAAmB,sBAExC,CAAA","sourcesContent":["/**\n * A SecurityContext marks a location that has dangerous security implications, e.g. a DOM property\n * like `innerHTML` that could cause Cross Site Scripting (XSS) security bugs when improperly\n * handled.\n *\n * See DomSanitizationService for more details on security in Angular applications.\n */\nexport enum SecurityContext {\n NONE,\n HTML,\n STYLE,\n SCRIPT,\n URL,\n RESOURCE_URL,\n}\n\n/**\n * SanitizationService is used by the views to sanitize potentially dangerous values. This is a\n * private API, use code should only refer to DomSanitizationService.\n */\nexport abstract class SanitizationService {\n abstract sanitize(context: SecurityContext, value: string): string;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -3,30 +3,14 @@ import { NgZone } from '../zone/ng_zone';
3
3
  * The Testability service provides testing hooks that can be accessed from
4
4
  * the browser and by services such as Protractor. Each bootstrapped Angular
5
5
  * application on the page will have an instance of Testability.
6
+ * @experimental
6
7
  */
7
8
  export declare class Testability {
8
9
  private _ngZone;
9
- /** @internal */
10
- _pendingCount: number;
11
- /** @internal */
12
- _isZoneStable: boolean;
13
- /**
14
- * Whether any work was done since the last 'whenStable' callback. This is
15
- * useful to detect if this could have potentially destabilized another
16
- * component while it is stabilizing.
17
- * @internal
18
- */
19
- _didWork: boolean;
20
- /** @internal */
21
- _callbacks: Function[];
22
10
  constructor(_ngZone: NgZone);
23
- /** @internal */
24
- _watchAngularEvents(): void;
25
11
  increasePendingRequestCount(): number;
26
12
  decreasePendingRequestCount(): number;
27
13
  isStable(): boolean;
28
- /** @internal */
29
- _runCallbacksIfReady(): void;
30
14
  whenStable(callback: Function): void;
31
15
  getPendingRequestCount(): number;
32
16
  findBindings(using: any, provider: string, exactMatch: boolean): any[];
@@ -34,10 +18,9 @@ export declare class Testability {
34
18
  }
35
19
  /**
36
20
  * A global registry of {@link Testability} instances for specific elements.
21
+ * @experimental
37
22
  */
38
23
  export declare class TestabilityRegistry {
39
- /** @internal */
40
- _applications: Map<any, Testability>;
41
24
  constructor();
42
25
  registerApplication(token: any, testability: Testability): void;
43
26
  getTestability(elem: any): Testability;
@@ -55,5 +38,6 @@ export interface GetTestability {
55
38
  }
56
39
  /**
57
40
  * Set the {@link GetTestability} implementation used by the Angular testing framework.
41
+ * @experimental
58
42
  */
59
43
  export declare function setTestabilityGetter(getter: GetTestability): void;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
- var collection_1 = require('../../src/facade/collection');
3
- var lang_1 = require('../../src/facade/lang');
4
- var exceptions_1 = require('../../src/facade/exceptions');
5
- var ng_zone_1 = require('../zone/ng_zone');
6
- var async_1 = require('../../src/facade/async');
7
2
  var decorators_1 = require('../di/decorators');
3
+ var async_1 = require('../facade/async');
4
+ var collection_1 = require('../facade/collection');
5
+ var exceptions_1 = require('../facade/exceptions');
6
+ var lang_1 = require('../facade/lang');
7
+ var ng_zone_1 = require('../zone/ng_zone');
8
8
  var Testability = (function () {
9
9
  function Testability(_ngZone) {
10
10
  this._ngZone = _ngZone;
@@ -86,9 +86,11 @@ var Testability = (function () {
86
86
  // TODO(juliemr): implement.
87
87
  return [];
88
88
  };
89
+ /** @nocollapse */
89
90
  Testability.decorators = [
90
91
  { type: decorators_1.Injectable },
91
92
  ];
93
+ /** @nocollapse */
92
94
  Testability.ctorParameters = [
93
95
  { type: ng_zone_1.NgZone, },
94
96
  ];
@@ -111,9 +113,11 @@ var TestabilityRegistry = (function () {
111
113
  if (findInAncestors === void 0) { findInAncestors = true; }
112
114
  return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
113
115
  };
116
+ /** @nocollapse */
114
117
  TestabilityRegistry.decorators = [
115
118
  { type: decorators_1.Injectable },
116
119
  ];
120
+ /** @nocollapse */
117
121
  TestabilityRegistry.ctorParameters = [];
118
122
  return TestabilityRegistry;
119
123
  }());
@@ -130,6 +134,7 @@ var _NoopGetTestability = (function () {
130
134
  }());
131
135
  /**
132
136
  * Set the {@link GetTestability} implementation used by the Angular testing framework.
137
+ * @experimental
133
138
  */
134
139
  function setTestabilityGetter(getter) {
135
140
  _testabilityGetter = getter;
@@ -1 +1 @@
1
- {"version":3,"file":"testability.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/testability/testability.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Map, MapWrapper} from '../../src/facade/collection';\nimport {scheduleMicroTask} from '../../src/facade/lang';\nimport {BaseException} from '../../src/facade/exceptions';\nimport {NgZone} from '../zone/ng_zone';\nimport {ObservableWrapper} from '../../src/facade/async';\nimport {Injectable} from '../di/decorators';\nexport class Testability {\n /** @internal */\n _pendingCount: number = 0;\n /** @internal */\n _isZoneStable: boolean = true;\n /**\n * Whether any work was done since the last 'whenStable' callback. This is\n * useful to detect if this could have potentially destabilized another\n * component while it is stabilizing.\n * @internal\n */\n _didWork: boolean = false;\n /** @internal */\n _callbacks: Function[] = [];\n constructor(private _ngZone: NgZone) { this._watchAngularEvents(); }\n\n /** @internal */\n _watchAngularEvents(): void {\n ObservableWrapper.subscribe(this._ngZone.onUnstable, (_) => {\n this._didWork = true;\n this._isZoneStable = false;\n });\n\n this._ngZone.runOutsideAngular(() => {\n ObservableWrapper.subscribe(this._ngZone.onStable, (_) => {\n NgZone.assertNotInAngularZone();\n scheduleMicroTask(() => {\n this._isZoneStable = true;\n this._runCallbacksIfReady();\n });\n });\n });\n }\n\n increasePendingRequestCount(): number {\n this._pendingCount += 1;\n this._didWork = true;\n return this._pendingCount;\n }\n\n decreasePendingRequestCount(): number {\n this._pendingCount -= 1;\n if (this._pendingCount < 0) {\n throw new BaseException('pending async requests below zero');\n }\n this._runCallbacksIfReady();\n return this._pendingCount;\n }\n\n isStable(): boolean {\n return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;\n }\n\n /** @internal */\n _runCallbacksIfReady(): void {\n if (this.isStable()) {\n // Schedules the call backs in a new frame so that it is always async.\n scheduleMicroTask(() => {\n while (this._callbacks.length !== 0) {\n (this._callbacks.pop())(this._didWork);\n }\n this._didWork = false;\n });\n } else {\n // Not Ready\n this._didWork = true;\n }\n }\n\n whenStable(callback: Function): void {\n this._callbacks.push(callback);\n this._runCallbacksIfReady();\n }\n\n getPendingRequestCount(): number { return this._pendingCount; }\n\n findBindings(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\n\n findProviders(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: NgZone, },\n];\n}\nexport class TestabilityRegistry {\n /** @internal */\n _applications = new Map<any, Testability>();\n\n constructor() { _testabilityGetter.addToWindow(this); }\n\n registerApplication(token: any, testability: Testability) {\n this._applications.set(token, testability);\n }\n\n getTestability(elem: any): Testability { return this._applications.get(elem); }\n\n getAllTestabilities(): Testability[] { return MapWrapper.values(this._applications); }\n\n getAllRootElements(): any[] { return MapWrapper.keys(this._applications); }\n\n findTestabilityInTree(elem: Node, findInAncestors: boolean = true): Testability {\n return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n];\n}\n\n/**\n * Adapter interface for retrieving the `Testability` service associated for a\n * particular context.\n */\nexport interface GetTestability {\n addToWindow(registry: TestabilityRegistry): void;\n findTestabilityInTree(registry: TestabilityRegistry, elem: any,\n findInAncestors: boolean): Testability;\n}\n\n/* @ts2dart_const */\nclass _NoopGetTestability implements GetTestability {\n addToWindow(registry: TestabilityRegistry): void {}\n findTestabilityInTree(registry: TestabilityRegistry, elem: any,\n findInAncestors: boolean): Testability {\n return null;\n }\n}\n\n/**\n * Set the {@link GetTestability} implementation used by the Angular testing framework.\n */\nexport function setTestabilityGetter(getter: GetTestability): void {\n _testabilityGetter = getter;\n}\n\nvar _testabilityGetter: GetTestability = /*@ts2dart_const*/ new _NoopGetTestability();\n"]}
1
+ {"version":3,"file":"testability.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/testability/testability.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable} from '../di/decorators';\nimport {ObservableWrapper} from '../facade/async';\nimport {Map, MapWrapper} from '../facade/collection';\nimport {BaseException} from '../facade/exceptions';\nimport {scheduleMicroTask} from '../facade/lang';\nimport {NgZone} from '../zone/ng_zone';\nexport class Testability {\n /** @internal */\n _pendingCount: number = 0;\n /** @internal */\n _isZoneStable: boolean = true;\n /**\n * Whether any work was done since the last 'whenStable' callback. This is\n * useful to detect if this could have potentially destabilized another\n * component while it is stabilizing.\n * @internal\n */\n _didWork: boolean = false;\n /** @internal */\n _callbacks: Function[] = [];\n constructor(private _ngZone: NgZone) { this._watchAngularEvents(); }\n\n /** @internal */\n _watchAngularEvents(): void {\n ObservableWrapper.subscribe(this._ngZone.onUnstable, (_) => {\n this._didWork = true;\n this._isZoneStable = false;\n });\n\n this._ngZone.runOutsideAngular(() => {\n ObservableWrapper.subscribe(this._ngZone.onStable, (_) => {\n NgZone.assertNotInAngularZone();\n scheduleMicroTask(() => {\n this._isZoneStable = true;\n this._runCallbacksIfReady();\n });\n });\n });\n }\n\n increasePendingRequestCount(): number {\n this._pendingCount += 1;\n this._didWork = true;\n return this._pendingCount;\n }\n\n decreasePendingRequestCount(): number {\n this._pendingCount -= 1;\n if (this._pendingCount < 0) {\n throw new BaseException('pending async requests below zero');\n }\n this._runCallbacksIfReady();\n return this._pendingCount;\n }\n\n isStable(): boolean {\n return this._isZoneStable && this._pendingCount == 0 && !this._ngZone.hasPendingMacrotasks;\n }\n\n /** @internal */\n _runCallbacksIfReady(): void {\n if (this.isStable()) {\n // Schedules the call backs in a new frame so that it is always async.\n scheduleMicroTask(() => {\n while (this._callbacks.length !== 0) {\n (this._callbacks.pop())(this._didWork);\n }\n this._didWork = false;\n });\n } else {\n // Not Ready\n this._didWork = true;\n }\n }\n\n whenStable(callback: Function): void {\n this._callbacks.push(callback);\n this._runCallbacksIfReady();\n }\n\n getPendingRequestCount(): number { return this._pendingCount; }\n\n findBindings(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\n\n findProviders(using: any, provider: string, exactMatch: boolean): any[] {\n // TODO(juliemr): implement.\n return [];\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: NgZone, },\n];\n}\nexport class TestabilityRegistry {\n /** @internal */\n _applications = new Map<any, Testability>();\n\n constructor() { _testabilityGetter.addToWindow(this); }\n\n registerApplication(token: any, testability: Testability) {\n this._applications.set(token, testability);\n }\n\n getTestability(elem: any): Testability { return this._applications.get(elem); }\n\n getAllTestabilities(): Testability[] { return MapWrapper.values(this._applications); }\n\n getAllRootElements(): any[] { return MapWrapper.keys(this._applications); }\n\n findTestabilityInTree(elem: Node, findInAncestors: boolean = true): Testability {\n return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n];\n}\n\n/**\n * Adapter interface for retrieving the `Testability` service associated for a\n * particular context.\n */\nexport interface GetTestability {\n addToWindow(registry: TestabilityRegistry): void;\n findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean):\n Testability;\n}\n\n/* @ts2dart_const */\nclass _NoopGetTestability implements GetTestability {\n addToWindow(registry: TestabilityRegistry): void {}\n findTestabilityInTree(registry: TestabilityRegistry, elem: any, findInAncestors: boolean):\n Testability {\n return null;\n }\n}\n\n/**\n * Set the {@link GetTestability} implementation used by the Angular testing framework.\n * @experimental\n */\nexport function setTestabilityGetter(getter: GetTestability): void {\n _testabilityGetter = getter;\n}\n\nvar _testabilityGetter: GetTestability = /*@ts2dart_const*/ new _NoopGetTestability();\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"Testability":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","module":"../di/decorators"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"NgZone","module":"../zone/ng_zone"}]}]}},"TestabilityRegistry":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","module":"../di/decorators"}}]}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"Testability":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../di/decorators","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../zone/ng_zone","name":"NgZone"}]}],"_watchAngularEvents":[{"__symbolic":"method"}],"increasePendingRequestCount":[{"__symbolic":"method"}],"decreasePendingRequestCount":[{"__symbolic":"method"}],"isStable":[{"__symbolic":"method"}],"_runCallbacksIfReady":[{"__symbolic":"method"}],"whenStable":[{"__symbolic":"method"}],"getPendingRequestCount":[{"__symbolic":"method"}],"findBindings":[{"__symbolic":"method"}],"findProviders":[{"__symbolic":"method"}]}},"TestabilityRegistry":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../di/decorators","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"registerApplication":[{"__symbolic":"method"}],"getTestability":[{"__symbolic":"method"}],"getAllTestabilities":[{"__symbolic":"method"}],"getAllRootElements":[{"__symbolic":"method"}],"findTestabilityInTree":[{"__symbolic":"method"}]}}}}
@@ -1,4 +1,4 @@
1
- import { ConcreteType, Type } from '../../src/facade/lang';
1
+ import { ConcreteType, Type } from '../facade/lang';
2
2
  /**
3
3
  * Declares the interface to be used with {@link Class}.
4
4
  */
@@ -142,6 +142,7 @@ export interface TypeDecorator {
142
142
  * }
143
143
  * });
144
144
  * ```
145
+ * @stable
145
146
  */
146
147
  export declare function Class(clsDef: ClassDefinition): ConcreteType;
147
148
  export declare function makeDecorator(annotationCls: any, chainFn?: (fn: Function) => void): (...args: any[]) => (cls: any) => any;