@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,5 +1,5 @@
1
1
  "use strict";
2
- var lang_1 = require('../../src/facade/lang');
2
+ var lang_1 = require('../facade/lang');
3
3
  var _nextClassId = 0;
4
4
  function extractAnnotation(annotation) {
5
5
  if (lang_1.isFunction(annotation) && annotation.hasOwnProperty('annotation')) {
@@ -130,6 +130,7 @@ function applyParams(fnOrArray, key) {
130
130
  * }
131
131
  * });
132
132
  * ```
133
+ * @stable
133
134
  */
134
135
  function Class(clsDef) {
135
136
  var constructor = applyParams(clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');
@@ -165,9 +166,9 @@ var Reflect = lang_1.global.Reflect;
165
166
  throw 'reflect-metadata shim is required when using class decorators';
166
167
  }
167
168
  })();
168
- function makeDecorator(annotationCls, chainFn) {
169
+ function makeDecorator(annotationCls /* TODO #9100 */, chainFn) {
169
170
  if (chainFn === void 0) { chainFn = null; }
170
- function DecoratorFactory(objOrType) {
171
+ function DecoratorFactory(objOrType /** TODO #9100 */) {
171
172
  var annotationInstance = new annotationCls(objOrType);
172
173
  if (this instanceof annotationCls) {
173
174
  return annotationInstance;
@@ -175,7 +176,7 @@ function makeDecorator(annotationCls, chainFn) {
175
176
  else {
176
177
  var chainAnnotation = lang_1.isFunction(this) && this.annotations instanceof Array ? this.annotations : [];
177
178
  chainAnnotation.push(annotationInstance);
178
- var TypeDecorator = function TypeDecorator(cls) {
179
+ var TypeDecorator = function TypeDecorator(cls /** TODO #9100 */) {
179
180
  var annotations = Reflect.getOwnMetadata('annotations', cls);
180
181
  annotations = annotations || [];
181
182
  annotations.push(annotationInstance);
@@ -194,9 +195,9 @@ function makeDecorator(annotationCls, chainFn) {
194
195
  return DecoratorFactory;
195
196
  }
196
197
  exports.makeDecorator = makeDecorator;
197
- function makeParamDecorator(annotationCls) {
198
+ function makeParamDecorator(annotationCls /** TODO #9100 */) {
198
199
  function ParamDecoratorFactory() {
199
- var args = [];
200
+ var args = []; /** TODO #9100 */
200
201
  for (var _i = 0; _i < arguments.length; _i++) {
201
202
  args[_i - 0] = arguments[_i];
202
203
  }
@@ -209,7 +210,7 @@ function makeParamDecorator(annotationCls) {
209
210
  ParamDecorator.annotation = annotationInstance;
210
211
  return ParamDecorator;
211
212
  }
212
- function ParamDecorator(cls, unusedKey, index) {
213
+ function ParamDecorator(cls /** TODO #9100 */, unusedKey /** TODO #9100 */, index /** TODO #9100 */) {
213
214
  var parameters = Reflect.getMetadata('parameters', cls);
214
215
  parameters = parameters || [];
215
216
  // there might be gaps if some in between parameters do not have annotations.
@@ -229,9 +230,9 @@ function makeParamDecorator(annotationCls) {
229
230
  return ParamDecoratorFactory;
230
231
  }
231
232
  exports.makeParamDecorator = makeParamDecorator;
232
- function makePropDecorator(annotationCls) {
233
+ function makePropDecorator(annotationCls /** TODO #9100 */) {
233
234
  function PropDecoratorFactory() {
234
- var args = [];
235
+ var args = []; /** TODO #9100 */
235
236
  for (var _i = 0; _i < arguments.length; _i++) {
236
237
  args[_i - 0] = arguments[_i];
237
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/util/decorators.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {ConcreteType, global, Type, isFunction, stringify} from '../../src/facade/lang';\n\nvar _nextClassId = 0;\n\n/**\n * Declares the interface to be used with {@link Class}.\n */\nexport interface ClassDefinition {\n /**\n * Optional argument for specifying the superclass.\n */\n extends?: Type;\n\n /**\n * Required constructor function for a class.\n *\n * The function may be optionally wrapped in an `Array`, in which case additional parameter\n * annotations may be specified.\n * The number of arguments and the number of parameter annotations must match.\n *\n * See {@link Class} for example of usage.\n */\n constructor: Function | any[];\n\n /**\n * Other methods on the class. Note that values should have type 'Function' but TS requires\n * all properties to have a narrower type than the index signature.\n */\n [x: string]: Type | Function | any[];\n}\n\n/**\n * An interface implemented by all Angular type decorators, which allows them to be used as ES7\n * decorators as well as\n * Angular DSL syntax.\n *\n * DSL syntax:\n *\n * ```\n * var MyClass = ng\n * .Component({...})\n * .View({...})\n * .Class({...});\n * ```\n *\n * ES7 syntax:\n *\n * ```\n * @ng.Component({...})\n * @ng.View({...})\n * class MyClass {...}\n * ```\n */\nexport interface TypeDecorator {\n /**\n * Invoke as ES7 decorator.\n */\n <T extends Type>(type: T): T;\n\n // Make TypeDecorator assignable to built-in ParameterDecorator type.\n // ParameterDecorator is declared in lib.d.ts as a `declare type`\n // so we cannot declare this interface as a subtype.\n // see https://github.com/angular/angular/issues/3379#issuecomment-126169417\n (target: Object, propertyKey?: string | symbol, parameterIndex?: number): void;\n\n /**\n * Storage for the accumulated annotations so far used by the DSL syntax.\n *\n * Used by {@link Class} to annotate the generated class.\n */\n annotations: any[];\n\n /**\n * Generate a class from the definition and annotate it with {@link TypeDecorator#annotations}.\n */\n Class(obj: ClassDefinition): ConcreteType;\n}\n\nfunction extractAnnotation(annotation: any): any {\n if (isFunction(annotation) && annotation.hasOwnProperty('annotation')) {\n // it is a decorator, extract annotation\n annotation = annotation.annotation;\n }\n return annotation;\n}\n\nfunction applyParams(fnOrArray: (Function | any[]), key: string): Function {\n if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||\n fnOrArray === Number || fnOrArray === Array) {\n throw new Error(`Can not use native ${stringify(fnOrArray)} as constructor`);\n }\n if (isFunction(fnOrArray)) {\n return <Function>fnOrArray;\n } else if (fnOrArray instanceof Array) {\n var annotations: any[] = fnOrArray;\n var fn: Function = fnOrArray[fnOrArray.length - 1];\n if (!isFunction(fn)) {\n throw new Error(\n `Last position of Class method array must be Function in key ${key} was '${stringify(fn)}'`);\n }\n var annoLength = annotations.length - 1;\n if (annoLength != fn.length) {\n throw new Error(\n `Number of annotations (${annoLength}) does not match number of arguments (${fn.length}) in the function: ${stringify(fn)}`);\n }\n var paramsAnnotations: any[][] = [];\n for (var i = 0, ii = annotations.length - 1; i < ii; i++) {\n var paramAnnotations: any[] = [];\n paramsAnnotations.push(paramAnnotations);\n var annotation = annotations[i];\n if (annotation instanceof Array) {\n for (var j = 0; j < annotation.length; j++) {\n paramAnnotations.push(extractAnnotation(annotation[j]));\n }\n } else if (isFunction(annotation)) {\n paramAnnotations.push(extractAnnotation(annotation));\n } else {\n paramAnnotations.push(annotation);\n }\n }\n Reflect.defineMetadata('parameters', paramsAnnotations, fn);\n return fn;\n } else {\n throw new Error(\n `Only Function or Array is supported in Class definition for key '${key}' is '${stringify(fnOrArray)}'`);\n }\n}\n\n/**\n * Provides a way for expressing ES6 classes with parameter annotations in ES5.\n *\n * ## Basic Example\n *\n * ```\n * var Greeter = ng.Class({\n * constructor: function(name) {\n * this.name = name;\n * },\n *\n * greet: function() {\n * alert('Hello ' + this.name + '!');\n * }\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class Greeter {\n * constructor(name) {\n * this.name = name;\n * }\n *\n * greet() {\n * alert('Hello ' + this.name + '!');\n * }\n * }\n * ```\n *\n * or equivalent to ES5:\n *\n * ```\n * var Greeter = function (name) {\n * this.name = name;\n * }\n *\n * Greeter.prototype.greet = function () {\n * alert('Hello ' + this.name + '!');\n * }\n * ```\n *\n * ### Example with parameter annotations\n *\n * ```\n * var MyService = ng.Class({\n * constructor: [String, [new Query(), QueryList], function(name, queryList) {\n * ...\n * }]\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class MyService {\n * constructor(name: string, @Query() queryList: QueryList) {\n * ...\n * }\n * }\n * ```\n *\n * ### Example with inheritance\n *\n * ```\n * var Shape = ng.Class({\n * constructor: (color) {\n * this.color = color;\n * }\n * });\n *\n * var Square = ng.Class({\n * extends: Shape,\n * constructor: function(color, size) {\n * Shape.call(this, color);\n * this.size = size;\n * }\n * });\n * ```\n */\nexport function Class(clsDef: ClassDefinition): ConcreteType {\n var constructor = applyParams(\n clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');\n var proto = constructor.prototype;\n if (clsDef.hasOwnProperty('extends')) {\n if (isFunction(clsDef.extends)) {\n (<Function>constructor).prototype = proto =\n Object.create((<Function>clsDef.extends).prototype);\n } else {\n throw new Error(\n `Class definition 'extends' property must be a constructor function was: ${stringify(clsDef.extends)}`);\n }\n }\n for (var key in clsDef) {\n if (key != 'extends' && key != 'prototype' && clsDef.hasOwnProperty(key)) {\n proto[key] = applyParams(<any>clsDef[key], key);\n }\n }\n\n if (this && this.annotations instanceof Array) {\n Reflect.defineMetadata('annotations', this.annotations, constructor);\n }\n\n if (!constructor['name']) {\n constructor['overriddenName'] = `class${_nextClassId++}`;\n }\n\n return <ConcreteType>constructor;\n}\n\nvar Reflect = global.Reflect;\n// Throw statement at top-level is disallowed by closure compiler in ES6 input.\n// Wrap in an IIFE as a work-around.\n(function checkReflect() {\n if (!(Reflect && Reflect.getMetadata)) {\n throw 'reflect-metadata shim is required when using class decorators';\n }\n})();\n\nexport function makeDecorator(\n annotationCls, chainFn: (fn: Function) => void = null): (...args: any[]) => (cls: any) => any {\n function DecoratorFactory(objOrType): (cls: any) => any {\n var annotationInstance = new (<any>annotationCls)(objOrType);\n if (this instanceof annotationCls) {\n return annotationInstance;\n } else {\n var chainAnnotation =\n isFunction(this) && this.annotations instanceof Array ? this.annotations : [];\n chainAnnotation.push(annotationInstance);\n var TypeDecorator: TypeDecorator = <TypeDecorator>function TypeDecorator(cls) {\n var annotations = Reflect.getOwnMetadata('annotations', cls);\n annotations = annotations || [];\n annotations.push(annotationInstance);\n Reflect.defineMetadata('annotations', annotations, cls);\n return cls;\n };\n TypeDecorator.annotations = chainAnnotation;\n TypeDecorator.Class = Class;\n if (chainFn) chainFn(TypeDecorator);\n return TypeDecorator;\n }\n }\n DecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>DecoratorFactory).annotationCls = annotationCls;\n return DecoratorFactory;\n}\n\nexport function makeParamDecorator(annotationCls): any {\n function ParamDecoratorFactory(...args): any {\n var annotationInstance = Object.create(annotationCls.prototype);\n annotationCls.apply(annotationInstance, args);\n if (this instanceof annotationCls) {\n return annotationInstance;\n } else {\n (<any>ParamDecorator).annotation = annotationInstance;\n return ParamDecorator;\n }\n\n\n function ParamDecorator(cls, unusedKey, index): any {\n var parameters: any[][] = Reflect.getMetadata('parameters', cls);\n parameters = parameters || [];\n\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n\n parameters[index] = parameters[index] || [];\n var annotationsForParam: any[] = parameters[index];\n annotationsForParam.push(annotationInstance);\n\n Reflect.defineMetadata('parameters', parameters, cls);\n return cls;\n }\n }\n ParamDecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>ParamDecoratorFactory).annotationCls = annotationCls;\n return ParamDecoratorFactory;\n}\n\nexport function makePropDecorator(annotationCls): any {\n function PropDecoratorFactory(...args): any {\n var decoratorInstance = Object.create(annotationCls.prototype);\n annotationCls.apply(decoratorInstance, args);\n\n if (this instanceof annotationCls) {\n return decoratorInstance;\n } else {\n return function PropDecorator(target: any, name: string) {\n var meta = Reflect.getOwnMetadata('propMetadata', target.constructor);\n meta = meta || {};\n meta[name] = meta[name] || [];\n meta[name].unshift(decoratorInstance);\n Reflect.defineMetadata('propMetadata', meta, target.constructor);\n };\n }\n }\n PropDecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>PropDecoratorFactory).annotationCls = annotationCls;\n return PropDecoratorFactory;\n}\n"]}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/util/decorators.ts"],"names":[],"mappings":"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","sourcesContent":["import {ConcreteType, Type, global, isFunction, stringify} from '../facade/lang';\n\nvar _nextClassId = 0;\n\n/**\n * Declares the interface to be used with {@link Class}.\n */\nexport interface ClassDefinition {\n /**\n * Optional argument for specifying the superclass.\n */\n extends?: Type;\n\n /**\n * Required constructor function for a class.\n *\n * The function may be optionally wrapped in an `Array`, in which case additional parameter\n * annotations may be specified.\n * The number of arguments and the number of parameter annotations must match.\n *\n * See {@link Class} for example of usage.\n */\n constructor: Function|any[];\n\n /**\n * Other methods on the class. Note that values should have type 'Function' but TS requires\n * all properties to have a narrower type than the index signature.\n */\n [x: string]: Type|Function|any[];\n}\n\n/**\n * An interface implemented by all Angular type decorators, which allows them to be used as ES7\n * decorators as well as\n * Angular DSL syntax.\n *\n * DSL syntax:\n *\n * ```\n * var MyClass = ng\n * .Component({...})\n * .View({...})\n * .Class({...});\n * ```\n *\n * ES7 syntax:\n *\n * ```\n * @ng.Component({...})\n * @ng.View({...})\n * class MyClass {...}\n * ```\n */\nexport interface TypeDecorator {\n /**\n * Invoke as ES7 decorator.\n */\n <T extends Type>(type: T): T;\n\n // Make TypeDecorator assignable to built-in ParameterDecorator type.\n // ParameterDecorator is declared in lib.d.ts as a `declare type`\n // so we cannot declare this interface as a subtype.\n // see https://github.com/angular/angular/issues/3379#issuecomment-126169417\n (target: Object, propertyKey?: string|symbol, parameterIndex?: number): void;\n\n /**\n * Storage for the accumulated annotations so far used by the DSL syntax.\n *\n * Used by {@link Class} to annotate the generated class.\n */\n annotations: any[];\n\n /**\n * Generate a class from the definition and annotate it with {@link TypeDecorator#annotations}.\n */\n Class(obj: ClassDefinition): ConcreteType;\n}\n\nfunction extractAnnotation(annotation: any): any {\n if (isFunction(annotation) && annotation.hasOwnProperty('annotation')) {\n // it is a decorator, extract annotation\n annotation = annotation.annotation;\n }\n return annotation;\n}\n\nfunction applyParams(fnOrArray: (Function | any[]), key: string): Function {\n if (fnOrArray === Object || fnOrArray === String || fnOrArray === Function ||\n fnOrArray === Number || fnOrArray === Array) {\n throw new Error(`Can not use native ${stringify(fnOrArray)} as constructor`);\n }\n if (isFunction(fnOrArray)) {\n return <Function>fnOrArray;\n } else if (fnOrArray instanceof Array) {\n var annotations: any[] = fnOrArray;\n var fn: Function = fnOrArray[fnOrArray.length - 1];\n if (!isFunction(fn)) {\n throw new Error(\n `Last position of Class method array must be Function in key ${key} was '${stringify(fn)}'`);\n }\n var annoLength = annotations.length - 1;\n if (annoLength != fn.length) {\n throw new Error(\n `Number of annotations (${annoLength}) does not match number of arguments (${fn.length}) in the function: ${stringify(fn)}`);\n }\n var paramsAnnotations: any[][] = [];\n for (var i = 0, ii = annotations.length - 1; i < ii; i++) {\n var paramAnnotations: any[] = [];\n paramsAnnotations.push(paramAnnotations);\n var annotation = annotations[i];\n if (annotation instanceof Array) {\n for (var j = 0; j < annotation.length; j++) {\n paramAnnotations.push(extractAnnotation(annotation[j]));\n }\n } else if (isFunction(annotation)) {\n paramAnnotations.push(extractAnnotation(annotation));\n } else {\n paramAnnotations.push(annotation);\n }\n }\n Reflect.defineMetadata('parameters', paramsAnnotations, fn);\n return fn;\n } else {\n throw new Error(\n `Only Function or Array is supported in Class definition for key '${key}' is '${stringify(fnOrArray)}'`);\n }\n}\n\n/**\n * Provides a way for expressing ES6 classes with parameter annotations in ES5.\n *\n * ## Basic Example\n *\n * ```\n * var Greeter = ng.Class({\n * constructor: function(name) {\n * this.name = name;\n * },\n *\n * greet: function() {\n * alert('Hello ' + this.name + '!');\n * }\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class Greeter {\n * constructor(name) {\n * this.name = name;\n * }\n *\n * greet() {\n * alert('Hello ' + this.name + '!');\n * }\n * }\n * ```\n *\n * or equivalent to ES5:\n *\n * ```\n * var Greeter = function (name) {\n * this.name = name;\n * }\n *\n * Greeter.prototype.greet = function () {\n * alert('Hello ' + this.name + '!');\n * }\n * ```\n *\n * ### Example with parameter annotations\n *\n * ```\n * var MyService = ng.Class({\n * constructor: [String, [new Query(), QueryList], function(name, queryList) {\n * ...\n * }]\n * });\n * ```\n *\n * is equivalent to ES6:\n *\n * ```\n * class MyService {\n * constructor(name: string, @Query() queryList: QueryList) {\n * ...\n * }\n * }\n * ```\n *\n * ### Example with inheritance\n *\n * ```\n * var Shape = ng.Class({\n * constructor: (color) {\n * this.color = color;\n * }\n * });\n *\n * var Square = ng.Class({\n * extends: Shape,\n * constructor: function(color, size) {\n * Shape.call(this, color);\n * this.size = size;\n * }\n * });\n * ```\n * @stable\n */\nexport function Class(clsDef: ClassDefinition): ConcreteType {\n var constructor = applyParams(\n clsDef.hasOwnProperty('constructor') ? clsDef.constructor : undefined, 'constructor');\n var proto = constructor.prototype;\n if (clsDef.hasOwnProperty('extends')) {\n if (isFunction(clsDef.extends)) {\n (<Function>constructor).prototype = proto =\n Object.create((<Function>clsDef.extends).prototype);\n } else {\n throw new Error(\n `Class definition 'extends' property must be a constructor function was: ${stringify(clsDef.extends)}`);\n }\n }\n for (var key in clsDef) {\n if (key != 'extends' && key != 'prototype' && clsDef.hasOwnProperty(key)) {\n proto[key] = applyParams(<any>clsDef[key], key);\n }\n }\n\n if (this && this.annotations instanceof Array) {\n Reflect.defineMetadata('annotations', this.annotations, constructor);\n }\n\n if (!constructor['name']) {\n (constructor as any /** TODO #9100 */)['overriddenName'] = `class${_nextClassId++}`;\n }\n\n return <ConcreteType>constructor;\n}\n\nvar Reflect = global.Reflect;\n// Throw statement at top-level is disallowed by closure compiler in ES6 input.\n// Wrap in an IIFE as a work-around.\n(function checkReflect() {\n if (!(Reflect && Reflect.getMetadata)) {\n throw 'reflect-metadata shim is required when using class decorators';\n }\n})();\n\nexport function makeDecorator(\n annotationCls: any /* TODO #9100 */,\n chainFn: (fn: Function) => void = null): (...args: any[]) => (cls: any) => any {\n function DecoratorFactory(objOrType: any /** TODO #9100 */): (cls: any) => any {\n var annotationInstance = new (<any>annotationCls)(objOrType);\n if (this instanceof annotationCls) {\n return annotationInstance;\n } else {\n var chainAnnotation =\n isFunction(this) && this.annotations instanceof Array ? this.annotations : [];\n chainAnnotation.push(annotationInstance);\n var TypeDecorator: TypeDecorator =\n <TypeDecorator>function TypeDecorator(cls: any /** TODO #9100 */) {\n var annotations = Reflect.getOwnMetadata('annotations', cls);\n annotations = annotations || [];\n annotations.push(annotationInstance);\n Reflect.defineMetadata('annotations', annotations, cls);\n return cls;\n };\n TypeDecorator.annotations = chainAnnotation;\n TypeDecorator.Class = Class;\n if (chainFn) chainFn(TypeDecorator);\n return TypeDecorator;\n }\n }\n DecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>DecoratorFactory).annotationCls = annotationCls;\n return DecoratorFactory;\n}\n\nexport function makeParamDecorator(annotationCls: any /** TODO #9100 */): any {\n function ParamDecoratorFactory(...args: any[] /** TODO #9100 */): any {\n var annotationInstance = Object.create(annotationCls.prototype);\n annotationCls.apply(annotationInstance, args);\n if (this instanceof annotationCls) {\n return annotationInstance;\n } else {\n (<any>ParamDecorator).annotation = annotationInstance;\n return ParamDecorator;\n }\n\n\n function ParamDecorator(\n cls: any /** TODO #9100 */, unusedKey: any /** TODO #9100 */,\n index: any /** TODO #9100 */): any {\n var parameters: any[][] = Reflect.getMetadata('parameters', cls);\n parameters = parameters || [];\n\n // there might be gaps if some in between parameters do not have annotations.\n // we pad with nulls.\n while (parameters.length <= index) {\n parameters.push(null);\n }\n\n parameters[index] = parameters[index] || [];\n var annotationsForParam: any[] = parameters[index];\n annotationsForParam.push(annotationInstance);\n\n Reflect.defineMetadata('parameters', parameters, cls);\n return cls;\n }\n }\n ParamDecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>ParamDecoratorFactory).annotationCls = annotationCls;\n return ParamDecoratorFactory;\n}\n\nexport function makePropDecorator(annotationCls: any /** TODO #9100 */): any {\n function PropDecoratorFactory(...args: any[] /** TODO #9100 */): any {\n var decoratorInstance = Object.create(annotationCls.prototype);\n annotationCls.apply(decoratorInstance, args);\n\n if (this instanceof annotationCls) {\n return decoratorInstance;\n } else {\n return function PropDecorator(target: any, name: string) {\n var meta = Reflect.getOwnMetadata('propMetadata', target.constructor);\n meta = meta || {};\n meta[name] = meta[name] || [];\n meta[name].unshift(decoratorInstance);\n Reflect.defineMetadata('propMetadata', meta, target.constructor);\n };\n }\n }\n PropDecoratorFactory.prototype = Object.create(annotationCls.prototype);\n (<any>PropDecoratorFactory).annotationCls = annotationCls;\n return PropDecoratorFactory;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
package/src/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/util.ts"],"names":[],"mappings":";AAIE,sBAAsB;AACxB,2BAAoD,mBAAmB,CAAC;AAAhE,mCAAgE","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n // Public API for util\nexport {Class, ClassDefinition, TypeDecorator} from './util/decorators';\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/util.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,2BAAoD,mBAAmB,CAAC;AAAhE,mCAAgE","sourcesContent":["// Public API for util\nexport {Class, ClassDefinition, TypeDecorator} from './util/decorators';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { EventEmitter } from '../../src/facade/async';
1
+ import { EventEmitter } from '../facade/async';
2
2
  export { NgZoneError } from './ng_zone_impl';
3
3
  /**
4
4
  * An injectable service for executing work inside or outside of the Angular zone.
@@ -70,6 +70,7 @@ export { NgZoneError } from './ng_zone_impl';
70
70
  * }
71
71
  * }
72
72
  * ```
73
+ * @experimental
73
74
  */
74
75
  export declare class NgZone {
75
76
  static isInAngularZone(): boolean;
@@ -78,22 +79,6 @@ export declare class NgZone {
78
79
  private _zoneImpl;
79
80
  private _hasPendingMicrotasks;
80
81
  private _hasPendingMacrotasks;
81
- /** @internal */
82
- private _isStable;
83
- /** @internal */
84
- private _nesting;
85
- /** @internal */
86
- private _onUnstable;
87
- /** @internal */
88
- private _onMicrotaskEmpty;
89
- /** @internal */
90
- private _onStable;
91
- /** @internal */
92
- private _onErrorEvents;
93
- /**
94
- * @param {bool} enableLongStackTrace whether to enable long stack trace. They should only be
95
- * enabled in development mode as they significantly impact perf.
96
- */
97
82
  constructor({enableLongStackTrace}: {
98
83
  enableLongStackTrace?: boolean;
99
84
  });
@@ -118,6 +103,10 @@ export declare class NgZone {
118
103
  * Notify that an error has been delivered.
119
104
  */
120
105
  onError: EventEmitter<any>;
106
+ /**
107
+ * Whether there are no outstanding microtasks or microtasks.
108
+ */
109
+ isStable: boolean;
121
110
  /**
122
111
  * Whether there are any outstanding microtasks.
123
112
  */
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var async_1 = require('../../src/facade/async');
2
+ var async_1 = require('../facade/async');
3
+ var exceptions_1 = require('../facade/exceptions');
3
4
  var ng_zone_impl_1 = require('./ng_zone_impl');
4
- var exceptions_1 = require('../../src/facade/exceptions');
5
5
  var ng_zone_impl_2 = require('./ng_zone_impl');
6
6
  exports.NgZoneError = ng_zone_impl_2.NgZoneError;
7
7
  /**
@@ -74,12 +74,9 @@ exports.NgZoneError = ng_zone_impl_2.NgZoneError;
74
74
  * }
75
75
  * }
76
76
  * ```
77
+ * @experimental
77
78
  */
78
79
  var NgZone = (function () {
79
- /**
80
- * @param {bool} enableLongStackTrace whether to enable long stack trace. They should only be
81
- * enabled in development mode as they significantly impact perf.
82
- */
83
80
  function NgZone(_a) {
84
81
  var _this = this;
85
82
  var _b = _a.enableLongStackTrace, enableLongStackTrace = _b === void 0 ? false : _b;
@@ -192,6 +189,14 @@ var NgZone = (function () {
192
189
  enumerable: true,
193
190
  configurable: true
194
191
  });
192
+ Object.defineProperty(NgZone.prototype, "isStable", {
193
+ /**
194
+ * Whether there are no outstanding microtasks or microtasks.
195
+ */
196
+ get: function () { return this._isStable; },
197
+ enumerable: true,
198
+ configurable: true
199
+ });
195
200
  Object.defineProperty(NgZone.prototype, "hasPendingMicrotasks", {
196
201
  /**
197
202
  * Whether there are any outstanding microtasks.
@@ -1 +1 @@
1
- {"version":3,"file":"ng_zone.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/zone/ng_zone.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {EventEmitter} from '../../src/facade/async';\nimport {NgZoneImpl, NgZoneError} from './ng_zone_impl';\nimport {BaseException} from '../../src/facade/exceptions';\nexport {NgZoneError} from './ng_zone_impl';\n\n\n/**\n * An injectable service for executing work inside or outside of the Angular zone.\n *\n * The most common use of this service is to optimize performance when starting a work consisting of\n * one or more asynchronous tasks that don't require UI updates or error handling to be handled by\n * Angular. Such tasks can be kicked off via {@link #runOutsideAngular} and if needed, these tasks\n * can reenter the Angular zone via {@link #run}.\n *\n * <!-- TODO: add/fix links to:\n * - docs explaining zones and the use of zones in Angular and change-detection\n * - link to runOutsideAngular/run (throughout this file!)\n * -->\n *\n * ### Example ([live demo](http://plnkr.co/edit/lY9m8HLy7z06vDoUaSN2?p=preview))\n * ```\n * import {Component, View, NgZone} from '@angular/core';\n * import {NgIf} from '@angular/common';\n *\n * @Component({\n * selector: 'ng-zone-demo'.\n * template: `\n * <h2>Demo: NgZone</h2>\n *\n * <p>Progress: {{progress}}%</p>\n * <p *ngIf=\"progress >= 100\">Done processing {{label}} of Angular zone!</p>\n *\n * <button (click)=\"processWithinAngularZone()\">Process within Angular zone</button>\n * <button (click)=\"processOutsideOfAngularZone()\">Process outside of Angular zone</button>\n * `,\n * directives: [NgIf]\n * })\n * export class NgZoneDemo {\n * progress: number = 0;\n * label: string;\n *\n * constructor(private _ngZone: NgZone) {}\n *\n * // Loop inside the Angular zone\n * // so the UI DOES refresh after each setTimeout cycle\n * processWithinAngularZone() {\n * this.label = 'inside';\n * this.progress = 0;\n * this._increaseProgress(() => console.log('Inside Done!'));\n * }\n *\n * // Loop outside of the Angular zone\n * // so the UI DOES NOT refresh after each setTimeout cycle\n * processOutsideOfAngularZone() {\n * this.label = 'outside';\n * this.progress = 0;\n * this._ngZone.runOutsideAngular(() => {\n * this._increaseProgress(() => {\n * // reenter the Angular zone and display done\n * this._ngZone.run(() => {console.log('Outside Done!') });\n * }}));\n * }\n *\n *\n * _increaseProgress(doneCallback: () => void) {\n * this.progress += 1;\n * console.log(`Current progress: ${this.progress}%`);\n *\n * if (this.progress < 100) {\n * window.setTimeout(() => this._increaseProgress(doneCallback)), 10)\n * } else {\n * doneCallback();\n * }\n * }\n * }\n * ```\n */\nexport class NgZone {\n static isInAngularZone(): boolean { return NgZoneImpl.isInAngularZone(); }\n static assertInAngularZone(): void {\n if (!NgZoneImpl.isInAngularZone()) {\n throw new BaseException('Expected to be in Angular Zone, but it is not!');\n }\n }\n static assertNotInAngularZone(): void {\n if (NgZoneImpl.isInAngularZone()) {\n throw new BaseException('Expected to not be in Angular Zone, but it is!');\n }\n }\n\n private _zoneImpl: NgZoneImpl;\n\n private _hasPendingMicrotasks: boolean = false;\n private _hasPendingMacrotasks: boolean = false;\n\n /** @internal */\n private _isStable = true;\n /** @internal */\n private _nesting = 0;\n /** @internal */\n private _onUnstable: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onMicrotaskEmpty: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onStable: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onErrorEvents: EventEmitter<any> = new EventEmitter(false);\n\n /**\n * @param {bool} enableLongStackTrace whether to enable long stack trace. They should only be\n * enabled in development mode as they significantly impact perf.\n */\n constructor({enableLongStackTrace = false}) {\n this._zoneImpl = new NgZoneImpl({\n trace: enableLongStackTrace,\n onEnter: () => {\n // console.log('ZONE.enter', this._nesting, this._isStable);\n this._nesting++;\n if (this._isStable) {\n this._isStable = false;\n this._onUnstable.emit(null);\n }\n },\n onLeave: () => {\n this._nesting--;\n // console.log('ZONE.leave', this._nesting, this._isStable);\n this._checkStable();\n },\n setMicrotask: (hasMicrotasks: boolean) => {\n this._hasPendingMicrotasks = hasMicrotasks;\n this._checkStable();\n },\n setMacrotask: (hasMacrotasks: boolean) => { this._hasPendingMacrotasks = hasMacrotasks; },\n onError: (error: NgZoneError) => this._onErrorEvents.emit(error)\n });\n }\n\n private _checkStable() {\n if (this._nesting == 0) {\n if (!this._hasPendingMicrotasks && !this._isStable) {\n try {\n // console.log('ZONE.microtaskEmpty');\n this._nesting++;\n this._onMicrotaskEmpty.emit(null);\n } finally {\n this._nesting--;\n if (!this._hasPendingMicrotasks) {\n try {\n // console.log('ZONE.stable', this._nesting, this._isStable);\n this.runOutsideAngular(() => this._onStable.emit(null));\n } finally {\n this._isStable = true;\n }\n }\n }\n }\n }\n };\n\n /**\n * Notifies when code enters Angular Zone. This gets fired first on VM Turn.\n */\n get onUnstable(): EventEmitter<any> { return this._onUnstable; }\n\n /**\n * Notifies when there is no more microtasks enqueue in the current VM Turn.\n * This is a hint for Angular to do change detection, which may enqueue more microtasks.\n * For this reason this event can fire multiple times per VM Turn.\n */\n get onMicrotaskEmpty(): EventEmitter<any> { return this._onMicrotaskEmpty; }\n\n /**\n * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which\n * implies we are about to relinquish VM turn.\n * This event gets called just once.\n */\n get onStable(): EventEmitter<any> { return this._onStable; }\n\n /**\n * Notify that an error has been delivered.\n */\n get onError(): EventEmitter<any> { return this._onErrorEvents; }\n\n /**\n * Whether there are any outstanding microtasks.\n */\n get hasPendingMicrotasks(): boolean { return this._hasPendingMicrotasks; }\n\n /**\n * Whether there are any outstanding microtasks.\n */\n get hasPendingMacrotasks(): boolean { return this._hasPendingMacrotasks; }\n\n /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n run(fn: () => any): any { return this._zoneImpl.runInner(fn); }\n\n /**\n * Same as #run, except that synchronous errors are caught and forwarded\n * via `onError` and not rethrown.\n */\n runGuarded(fn: () => any): any { return this._zoneImpl.runInnerGuarded(fn); }\n\n /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via `runOutsideAngular` allows you to escape Angular's zone and do work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {@link #run} to reenter the Angular zone and do work that updates the application model.\n */\n runOutsideAngular(fn: () => any): any { return this._zoneImpl.runOuter(fn); }\n}\n"]}
1
+ {"version":3,"file":"ng_zone.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/zone/ng_zone.ts"],"names":[],"mappings":"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","sourcesContent":["import {EventEmitter} from '../facade/async';\nimport {BaseException} from '../facade/exceptions';\n\nimport {NgZoneError, NgZoneImpl} from './ng_zone_impl';\n\nexport {NgZoneError} from './ng_zone_impl';\n\n\n\n/**\n * An injectable service for executing work inside or outside of the Angular zone.\n *\n * The most common use of this service is to optimize performance when starting a work consisting of\n * one or more asynchronous tasks that don't require UI updates or error handling to be handled by\n * Angular. Such tasks can be kicked off via {@link #runOutsideAngular} and if needed, these tasks\n * can reenter the Angular zone via {@link #run}.\n *\n * <!-- TODO: add/fix links to:\n * - docs explaining zones and the use of zones in Angular and change-detection\n * - link to runOutsideAngular/run (throughout this file!)\n * -->\n *\n * ### Example ([live demo](http://plnkr.co/edit/lY9m8HLy7z06vDoUaSN2?p=preview))\n * ```\n * import {Component, View, NgZone} from '@angular/core';\n * import {NgIf} from '@angular/common';\n *\n * @Component({\n * selector: 'ng-zone-demo'.\n * template: `\n * <h2>Demo: NgZone</h2>\n *\n * <p>Progress: {{progress}}%</p>\n * <p *ngIf=\"progress >= 100\">Done processing {{label}} of Angular zone!</p>\n *\n * <button (click)=\"processWithinAngularZone()\">Process within Angular zone</button>\n * <button (click)=\"processOutsideOfAngularZone()\">Process outside of Angular zone</button>\n * `,\n * directives: [NgIf]\n * })\n * export class NgZoneDemo {\n * progress: number = 0;\n * label: string;\n *\n * constructor(private _ngZone: NgZone) {}\n *\n * // Loop inside the Angular zone\n * // so the UI DOES refresh after each setTimeout cycle\n * processWithinAngularZone() {\n * this.label = 'inside';\n * this.progress = 0;\n * this._increaseProgress(() => console.log('Inside Done!'));\n * }\n *\n * // Loop outside of the Angular zone\n * // so the UI DOES NOT refresh after each setTimeout cycle\n * processOutsideOfAngularZone() {\n * this.label = 'outside';\n * this.progress = 0;\n * this._ngZone.runOutsideAngular(() => {\n * this._increaseProgress(() => {\n * // reenter the Angular zone and display done\n * this._ngZone.run(() => {console.log('Outside Done!') });\n * }}));\n * }\n *\n *\n * _increaseProgress(doneCallback: () => void) {\n * this.progress += 1;\n * console.log(`Current progress: ${this.progress}%`);\n *\n * if (this.progress < 100) {\n * window.setTimeout(() => this._increaseProgress(doneCallback)), 10)\n * } else {\n * doneCallback();\n * }\n * }\n * }\n * ```\n * @experimental\n */\nexport class NgZone {\n static isInAngularZone(): boolean { return NgZoneImpl.isInAngularZone(); }\n static assertInAngularZone(): void {\n if (!NgZoneImpl.isInAngularZone()) {\n throw new BaseException('Expected to be in Angular Zone, but it is not!');\n }\n }\n static assertNotInAngularZone(): void {\n if (NgZoneImpl.isInAngularZone()) {\n throw new BaseException('Expected to not be in Angular Zone, but it is!');\n }\n }\n\n private _zoneImpl: NgZoneImpl;\n\n private _hasPendingMicrotasks: boolean = false;\n private _hasPendingMacrotasks: boolean = false;\n\n /** @internal */\n private _isStable = true;\n /** @internal */\n private _nesting = 0;\n /** @internal */\n private _onUnstable: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onMicrotaskEmpty: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onStable: EventEmitter<any> = new EventEmitter(false);\n /** @internal */\n private _onErrorEvents: EventEmitter<any> = new EventEmitter(false);\n\n constructor({enableLongStackTrace = false}) {\n this._zoneImpl = new NgZoneImpl({\n trace: enableLongStackTrace,\n onEnter: () => {\n // console.log('ZONE.enter', this._nesting, this._isStable);\n this._nesting++;\n if (this._isStable) {\n this._isStable = false;\n this._onUnstable.emit(null);\n }\n },\n onLeave: () => {\n this._nesting--;\n // console.log('ZONE.leave', this._nesting, this._isStable);\n this._checkStable();\n },\n setMicrotask: (hasMicrotasks: boolean) => {\n this._hasPendingMicrotasks = hasMicrotasks;\n this._checkStable();\n },\n setMacrotask: (hasMacrotasks: boolean) => { this._hasPendingMacrotasks = hasMacrotasks; },\n onError: (error: NgZoneError) => this._onErrorEvents.emit(error)\n });\n }\n\n private _checkStable() {\n if (this._nesting == 0) {\n if (!this._hasPendingMicrotasks && !this._isStable) {\n try {\n // console.log('ZONE.microtaskEmpty');\n this._nesting++;\n this._onMicrotaskEmpty.emit(null);\n } finally {\n this._nesting--;\n if (!this._hasPendingMicrotasks) {\n try {\n // console.log('ZONE.stable', this._nesting, this._isStable);\n this.runOutsideAngular(() => this._onStable.emit(null));\n } finally {\n this._isStable = true;\n }\n }\n }\n }\n }\n };\n\n /**\n * Notifies when code enters Angular Zone. This gets fired first on VM Turn.\n */\n get onUnstable(): EventEmitter<any> { return this._onUnstable; }\n\n /**\n * Notifies when there is no more microtasks enqueue in the current VM Turn.\n * This is a hint for Angular to do change detection, which may enqueue more microtasks.\n * For this reason this event can fire multiple times per VM Turn.\n */\n get onMicrotaskEmpty(): EventEmitter<any> { return this._onMicrotaskEmpty; }\n\n /**\n * Notifies when the last `onMicrotaskEmpty` has run and there are no more microtasks, which\n * implies we are about to relinquish VM turn.\n * This event gets called just once.\n */\n get onStable(): EventEmitter<any> { return this._onStable; }\n\n /**\n * Notify that an error has been delivered.\n */\n get onError(): EventEmitter<any> { return this._onErrorEvents; }\n\n /**\n * Whether there are no outstanding microtasks or microtasks.\n */\n get isStable(): boolean { return this._isStable; }\n\n /**\n * Whether there are any outstanding microtasks.\n */\n get hasPendingMicrotasks(): boolean { return this._hasPendingMicrotasks; }\n\n /**\n * Whether there are any outstanding microtasks.\n */\n get hasPendingMacrotasks(): boolean { return this._hasPendingMacrotasks; }\n\n /**\n * Executes the `fn` function synchronously within the Angular zone and returns value returned by\n * the function.\n *\n * Running functions via `run` allows you to reenter Angular zone from a task that was executed\n * outside of the Angular zone (typically started via {@link #runOutsideAngular}).\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * within the Angular zone.\n *\n * If a synchronous error happens it will be rethrown and not reported via `onError`.\n */\n run(fn: () => any): any { return this._zoneImpl.runInner(fn); }\n\n /**\n * Same as #run, except that synchronous errors are caught and forwarded\n * via `onError` and not rethrown.\n */\n runGuarded(fn: () => any): any { return this._zoneImpl.runInnerGuarded(fn); }\n\n /**\n * Executes the `fn` function synchronously in Angular's parent zone and returns value returned by\n * the function.\n *\n * Running functions via `runOutsideAngular` allows you to escape Angular's zone and do work that\n * doesn't trigger Angular change-detection or is subject to Angular's error handling.\n *\n * Any future tasks or microtasks scheduled from within this function will continue executing from\n * outside of the Angular zone.\n *\n * Use {@link #run} to reenter the Angular zone and do work that updates the application model.\n */\n runOutsideAngular(fn: () => any): any { return this._zoneImpl.runOuter(fn); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  /**
2
2
  * Stores error information; delivered via [NgZone.onError] stream.
3
+ * @deprecated
3
4
  */
4
5
  export declare class NgZoneError {
5
6
  error: any;
@@ -8,10 +9,6 @@ export declare class NgZoneError {
8
9
  }
9
10
  export declare class NgZoneImpl {
10
11
  static isInAngularZone(): boolean;
11
- /** @internal */
12
- private outer;
13
- /** @internal */
14
- private inner;
15
12
  private onEnter;
16
13
  private onLeave;
17
14
  private setMicrotask;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  /**
3
- * Stores error information; delivered via [NgZone.onError] stream.
4
- */
3
+ * Stores error information; delivered via [NgZone.onError] stream.
4
+ * @deprecated
5
+ */
5
6
  var NgZoneError = (function () {
6
7
  function NgZoneError(error, stackTrace) {
7
8
  this.error = error;
@@ -1 +1 @@
1
- {"version":3,"file":"ng_zone_impl.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/zone/ng_zone_impl.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\n * Stores error information; delivered via [NgZone.onError] stream.\n */\nexport class NgZoneError {\n constructor(public error: any, public stackTrace: any) {}\n}\n\n\nexport class NgZoneImpl {\n static isInAngularZone(): boolean { return Zone.current.get('isAngularZone') === true; }\n\n /** @internal */\n private outer: Zone;\n /** @internal */\n private inner: Zone;\n\n private onEnter: () => void;\n private onLeave: () => void;\n private setMicrotask: (hasMicrotasks: boolean) => void;\n private setMacrotask: (hasMacrotasks: boolean) => void;\n private onError: (error: NgZoneError) => void;\n\n constructor({trace, onEnter, onLeave, setMicrotask, setMacrotask, onError}: {\n trace: boolean,\n onEnter: () => void,\n onLeave: () => void,\n setMicrotask: (hasMicrotasks: boolean) => void,\n setMacrotask: (hasMacrotasks: boolean) => void,\n onError: (error: NgZoneError) => void\n }) {\n this.onEnter = onEnter;\n this.onLeave = onLeave;\n this.setMicrotask = setMicrotask;\n this.setMacrotask = setMacrotask;\n this.onError = onError;\n\n if (Zone) {\n this.outer = this.inner = Zone.current;\n if (Zone['wtfZoneSpec']) {\n this.inner = this.inner.fork(Zone['wtfZoneSpec']);\n }\n if (trace && Zone['longStackTraceZoneSpec']) {\n this.inner = this.inner.fork(Zone['longStackTraceZoneSpec']);\n }\n this.inner = this.inner.fork({\n name: 'angular',\n properties:<any>{'isAngularZone': true},\n onInvokeTask: (delegate: ZoneDelegate, current: Zone, target: Zone, task: Task,\n applyThis: any, applyArgs: any): any => {\n try {\n this.onEnter();\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n } finally {\n this.onLeave();\n }\n },\n\n\n onInvoke: (delegate: ZoneDelegate, current: Zone, target: Zone, callback: Function,\n applyThis: any, applyArgs: any[], source: string): any => {\n try {\n this.onEnter();\n return delegate.invoke(target, callback, applyThis, applyArgs, source);\n } finally {\n this.onLeave();\n }\n },\n\n onHasTask:\n (delegate: ZoneDelegate, current: Zone, target: Zone, hasTaskState: HasTaskState) => {\n delegate.hasTask(target, hasTaskState);\n if (current == target) {\n // We are only interested in hasTask events which originate from our zone\n // (A child hasTask event is not interesting to us)\n if (hasTaskState.change == 'microTask') {\n this.setMicrotask(hasTaskState.microTask);\n } else if (hasTaskState.change == 'macroTask') {\n this.setMacrotask(hasTaskState.macroTask);\n }\n }\n },\n\n onHandleError: (delegate: ZoneDelegate, current: Zone, target: Zone, error: any):\n boolean => {\n delegate.handleError(target, error);\n this.onError(new NgZoneError(error, error.stack));\n return false;\n }\n });\n } else {\n throw new Error('Angular requires Zone.js polyfill.');\n }\n }\n\n runInner(fn: () => any): any { return this.inner.run(fn); };\n runInnerGuarded(fn: () => any): any { return this.inner.runGuarded(fn); };\n runOuter(fn: () => any): any { return this.outer.run(fn); };\n}\n"]}
1
+ {"version":3,"file":"ng_zone_impl.js","sourceRoot":"","sources":["../../../../../modules/@angular/core/src/zone/ng_zone_impl.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Stores error information; delivered via [NgZone.onError] stream.\n * @deprecated\n */\nexport class NgZoneError {\n constructor(public error: any, public stackTrace: any) {}\n}\n\n\nexport class NgZoneImpl {\n static isInAngularZone(): boolean { return Zone.current.get('isAngularZone') === true; }\n\n /** @internal */\n private outer: Zone;\n /** @internal */\n private inner: Zone;\n\n private onEnter: () => void;\n private onLeave: () => void;\n private setMicrotask: (hasMicrotasks: boolean) => void;\n private setMacrotask: (hasMacrotasks: boolean) => void;\n private onError: (error: NgZoneError) => void;\n\n constructor({trace, onEnter, onLeave, setMicrotask, setMacrotask, onError}: {\n trace: boolean,\n onEnter: () => void,\n onLeave: () => void,\n setMicrotask: (hasMicrotasks: boolean) => void,\n setMacrotask: (hasMacrotasks: boolean) => void,\n onError: (error: NgZoneError) => void\n }) {\n this.onEnter = onEnter;\n this.onLeave = onLeave;\n this.setMicrotask = setMicrotask;\n this.setMacrotask = setMacrotask;\n this.onError = onError;\n\n if (Zone) {\n this.outer = this.inner = Zone.current;\n if ((Zone as any /** TODO #9100 */)['wtfZoneSpec']) {\n this.inner = this.inner.fork((Zone as any /** TODO #9100 */)['wtfZoneSpec']);\n }\n if (trace && (Zone as any /** TODO #9100 */)['longStackTraceZoneSpec']) {\n this.inner = this.inner.fork((Zone as any /** TODO #9100 */)['longStackTraceZoneSpec']);\n }\n this.inner = this.inner.fork({\n name: 'angular',\n properties: <any>{'isAngularZone': true},\n onInvokeTask: (delegate: ZoneDelegate, current: Zone, target: Zone, task: Task,\n applyThis: any, applyArgs: any): any => {\n try {\n this.onEnter();\n return delegate.invokeTask(target, task, applyThis, applyArgs);\n } finally {\n this.onLeave();\n }\n },\n\n\n onInvoke: (delegate: ZoneDelegate, current: Zone, target: Zone, callback: Function,\n applyThis: any, applyArgs: any[], source: string): any => {\n try {\n this.onEnter();\n return delegate.invoke(target, callback, applyThis, applyArgs, source);\n } finally {\n this.onLeave();\n }\n },\n\n onHasTask:\n (delegate: ZoneDelegate, current: Zone, target: Zone, hasTaskState: HasTaskState) => {\n delegate.hasTask(target, hasTaskState);\n if (current == target) {\n // We are only interested in hasTask events which originate from our zone\n // (A child hasTask event is not interesting to us)\n if (hasTaskState.change == 'microTask') {\n this.setMicrotask(hasTaskState.microTask);\n } else if (hasTaskState.change == 'macroTask') {\n this.setMacrotask(hasTaskState.macroTask);\n }\n }\n },\n\n onHandleError: (delegate: ZoneDelegate, current: Zone, target: Zone, error: any):\n boolean => {\n delegate.handleError(target, error);\n this.onError(new NgZoneError(error, error.stack));\n return false;\n }\n });\n } else {\n throw new Error('Angular requires Zone.js polyfill.');\n }\n }\n\n runInner(fn: () => any): any { return this.inner.run(fn); };\n runInnerGuarded(fn: () => any): any { return this.inner.runGuarded(fn); };\n runOuter(fn: () => any): any { return this.outer.run(fn); };\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
package/src/zone.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/zone.ts"],"names":[],"mappings":";AAIE,sBAAsB;AACxB,wBAAkC,gBAAgB,CAAC;AAA3C,kCAAM;AAAE,4CAAmC","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n // Public API for Zone\nexport {NgZone, NgZoneError} from './zone/ng_zone';\n"]}
1
+ {"version":3,"file":"zone.js","sourceRoot":"","sources":["../../../../modules/@angular/core/src/zone.ts"],"names":[],"mappings":";AAAA,sBAAsB;AACtB,wBAAkC,gBAAgB,CAAC;AAA3C,kCAAM;AAAE,4CAAmC","sourcesContent":["// Public API for Zone\nexport {NgZone, NgZoneError} from './zone/ng_zone';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
package/testing/async.js CHANGED
@@ -1,28 +1,26 @@
1
1
  "use strict";
2
2
  /**
3
- * Wraps a test function in an asynchronous test zone. The test will automatically
4
- * complete when all asynchronous calls within this zone are done. Can be used
5
- * to wrap an {@link inject} call.
6
- *
7
- * Example:
8
- *
9
- * ```
10
- * it('...', async(inject([AClass], (object) => {
11
- * object.doSomething.then(() => {
12
- * expect(...);
13
- * })
14
- * });
15
- * ```
16
- */
3
+ * Wraps a test function in an asynchronous test zone. The test will automatically
4
+ * complete when all asynchronous calls within this zone are done. Can be used
5
+ * to wrap an {@link inject} call.
6
+ *
7
+ * Example:
8
+ *
9
+ * ```
10
+ * it('...', async(inject([AClass], (object) => {
11
+ * object.doSomething.then(() => {
12
+ * expect(...);
13
+ * })
14
+ * });
15
+ * ```
16
+ */
17
17
  function async(fn) {
18
- return function () {
19
- return new Promise(function (finishCallback, failCallback) {
20
- var AsyncTestZoneSpec = Zone['AsyncTestZoneSpec'];
21
- var testZoneSpec = new AsyncTestZoneSpec(finishCallback, failCallback, 'test');
22
- var testZone = Zone.current.fork(testZoneSpec);
23
- return testZone.run(fn);
24
- });
25
- };
18
+ return function () { return new Promise(function (finishCallback, failCallback) {
19
+ var AsyncTestZoneSpec = Zone['AsyncTestZoneSpec'];
20
+ var testZoneSpec = new AsyncTestZoneSpec(finishCallback, failCallback, 'test');
21
+ var testZone = Zone.current.fork(testZoneSpec);
22
+ return testZone.run(fn);
23
+ }); };
26
24
  }
27
25
  exports.async = async;
28
26
  //# sourceMappingURL=async.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async.ts"],"names":[],"mappings":";AAIE;;;;;;;;;;;;;;EAcC;AACH,eAAsB,EAAY;IAChC,MAAM,CAAC;QACL,MAAM,CAAC,IAAI,OAAO,CAAO,UAAC,cAAc,EAAE,YAAY;YACpD,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClD,IAAI,YAAY,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAC/E,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,CAAA;AACH,CAAC;AATe,aAAK,QASpB,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n /**\n * Wraps a test function in an asynchronous test zone. The test will automatically\n * complete when all asynchronous calls within this zone are done. Can be used\n * to wrap an {@link inject} call.\n *\n * Example:\n *\n * ```\n * it('...', async(inject([AClass], (object) => {\n * object.doSomething.then(() => {\n * expect(...);\n * })\n * });\n * ```\n */\nexport function async(fn: Function): Function {\n return () => {\n return new Promise<void>((finishCallback, failCallback) => {\n var AsyncTestZoneSpec = Zone['AsyncTestZoneSpec'];\n var testZoneSpec = new AsyncTestZoneSpec(finishCallback, failCallback, 'test');\n var testZone = Zone.current.fork(testZoneSpec);\n return testZone.run(fn);\n });\n }\n}\n"]}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAsB,EAAY;IAChC,MAAM,CAAC,cAAM,OAAA,IAAI,OAAO,CAAO,UAAC,cAAc,EAAE,YAAY;QACnD,IAAI,iBAAiB,GAAI,IAA8B,CAAC,mBAAmB,CAAC,CAAC;QAC7E,IAAI,YAAY,GAAG,IAAI,iBAAiB,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAC/E,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,EALI,CAKJ,CAAC;AACZ,CAAC;AAPe,aAAK,QAOpB,CAAA","sourcesContent":["/**\n * Wraps a test function in an asynchronous test zone. The test will automatically\n * complete when all asynchronous calls within this zone are done. Can be used\n * to wrap an {@link inject} call.\n *\n * Example:\n *\n * ```\n * it('...', async(inject([AClass], (object) => {\n * object.doSomething.then(() => {\n * expect(...);\n * })\n * });\n * ```\n */\nexport function async(fn: Function): Function {\n return () => new Promise<void>((finishCallback, failCallback) => {\n var AsyncTestZoneSpec = (Zone as any /** TODO #9100 */)['AsyncTestZoneSpec'];\n var testZoneSpec = new AsyncTestZoneSpec(finishCallback, failCallback, 'test');\n var testZone = Zone.current.fork(testZoneSpec);\n return testZone.run(fn);\n });\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"async":{"__symbolic":"function","parameters":["fn"],"value":{"__symbolic":"error","message":"Function call not supported","line":16,"character":8}}}}
@@ -1 +1 @@
1
- {"version":3,"file":"async_test_completer.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async_test_completer.ts"],"names":[],"mappings":";AAIE,wBAA+B,uBAAuB,CAAC,CAAA;AAEzD;;GAEG;AACH;IAAA;QACU,eAAU,GAAG,IAAI,0BAAgB,EAAO,CAAC;IAMnD,CAAC;IALC,iCAAI,GAAJ,UAAK,KAAW,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErD,iCAAI,GAAJ,UAAK,KAAW,EAAE,UAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAErF,sBAAI,uCAAO;aAAX,cAA8B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;;;OAAA;IACjE,yBAAC;AAAD,CAAC,AAPD,IAOC;AAPY,0BAAkB,qBAO9B,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {PromiseCompleter} from '../src/facade/promise';\n\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nexport class AsyncTestCompleter {\n private _completer = new PromiseCompleter<any>();\n done(value?: any) { this._completer.resolve(value); }\n\n fail(error?: any, stackTrace?: string) { this._completer.reject(error, stackTrace); }\n\n get promise(): Promise<any> { return this._completer.promise; }\n}\n"]}
1
+ {"version":3,"file":"async_test_completer.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/async_test_completer.ts"],"names":[],"mappings":";AAAA,wBAA+B,uBAAuB,CAAC,CAAA;AAEvD;;GAEG;AACH;IAAA;QACU,eAAU,GAAG,IAAI,0BAAgB,EAAO,CAAC;IAMnD,CAAC;IALC,iCAAI,GAAJ,UAAK,KAAW,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAErD,iCAAI,GAAJ,UAAK,KAAW,EAAE,UAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAErF,sBAAI,uCAAO;aAAX,cAA8B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;;;OAAA;IACjE,yBAAC;AAAD,CAAC,AAPD,IAOC;AAPY,0BAAkB,qBAO9B,CAAA","sourcesContent":["import {PromiseCompleter} from '../src/facade/promise';\n\n/**\n * Injectable completer that allows signaling completion of an asynchronous test. Used internally.\n */\nexport class AsyncTestCompleter {\n private _completer = new PromiseCompleter<any>();\n done(value?: any) { this._completer.resolve(value); }\n\n fail(error?: any, stackTrace?: string) { this._completer.reject(error, stackTrace); }\n\n get promise(): Promise<any> { return this._completer.promise; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -32,9 +32,12 @@ export declare function clearPendingTimers(): void;
32
32
  *
33
33
  * {@example testing/ts/fake_async.ts region='basic'}
34
34
  *
35
- * @param {number} millis Number of millisecond, defaults to 0
36
35
  */
37
36
  export declare function tick(millis?: number): void;
37
+ /**
38
+ * Discard all remaining periodic tasks.
39
+ */
40
+ export declare function discardPeriodicTasks(): void;
38
41
  /**
39
42
  * Flush any pending microtasks.
40
43
  */
@@ -24,7 +24,7 @@ function fakeAsync(fn) {
24
24
  var fakeAsyncTestZoneSpec = new _FakeAsyncTestZoneSpecType();
25
25
  var fakeAsyncZone = Zone.current.fork(fakeAsyncTestZoneSpec);
26
26
  return function () {
27
- var args = [];
27
+ var args = []; /** TODO #9100 */
28
28
  for (var _i = 0; _i < arguments.length; _i++) {
29
29
  args[_i - 0] = arguments[_i];
30
30
  }
@@ -71,13 +71,21 @@ exports.clearPendingTimers = clearPendingTimers;
71
71
  *
72
72
  * {@example testing/ts/fake_async.ts region='basic'}
73
73
  *
74
- * @param {number} millis Number of millisecond, defaults to 0
75
74
  */
76
75
  function tick(millis) {
77
76
  if (millis === void 0) { millis = 0; }
78
77
  _getFakeAsyncZoneSpec().tick(millis);
79
78
  }
80
79
  exports.tick = tick;
80
+ /**
81
+ * Discard all remaining periodic tasks.
82
+ */
83
+ function discardPeriodicTasks() {
84
+ var zoneSpec = _getFakeAsyncZoneSpec();
85
+ var pendingTimers = zoneSpec.pendingPeriodicTimers;
86
+ zoneSpec.pendingPeriodicTimers.length = 0;
87
+ }
88
+ exports.discardPeriodicTasks = discardPeriodicTasks;
81
89
  /**
82
90
  * Flush any pending microtasks.
83
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fake_async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/fake_async.ts"],"names":[],"mappings":";AAIE,sBAA4B,UAAU,CAAC,CAAA;AAGzC,IAAI,0BAA0B,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,mBAA0B,EAAY;IACpC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,qBAAa,CAAC,qCAAqC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7D,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAC;QAAS,cAAO;aAAP,WAAO,CAAP,sBAAO,CAAP,IAAO;YAAP,6BAAO;;QACrB,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;YAC1B,IAAI,GAAG,GAAG,EAAE,eAAI,IAAI,CAAC,CAAC;YACtB,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,qBAAa,CAAC,CAAG,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,OAAG;gBACxD,uCAAuC,CAAC,CAAC;QACnE,CAAC;QAED,EAAE,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,qBAAa,CAChB,qBAAqB,CAAC,aAAa,CAAC,MAAM,kCAA+B,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AA1Be,iBAAS,YA0BxB,CAAA;AAED;IACE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACzD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH;IACE,cAAc;AAChB,CAAC;AAFe,0BAAkB,qBAEjC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,cAAqB,MAAkB;IAAlB,sBAAkB,GAAlB,UAAkB;IACrC,qBAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAFe,YAAI,OAEnB,CAAA;AAED;;GAEG;AACH;IACE,qBAAqB,EAAE,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAFe,uBAAe,kBAE9B,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {BaseException} from '../index';\nimport {getTestInjector} from './test_injector';\n\nlet _FakeAsyncTestZoneSpecType = Zone['FakeAsyncTestZoneSpec'];\n\n/**\n * Wraps a function to be executed in the fakeAsync zone:\n * - microtasks are manually executed by calling `flushMicrotasks()`,\n * - timers are synchronous, `tick()` simulates the asynchronous passage of time.\n *\n * If there are any pending timers at the end of the function, an exception will be thrown.\n *\n * Can be used to wrap inject() calls.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n * @param fn\n * @returns {Function} The function wrapped to be executed in the fakeAsync zone\n */\nexport function fakeAsync(fn: Function): Function {\n if (Zone.current.get('FakeAsyncTestZoneSpec') != null) {\n throw new BaseException('fakeAsync() calls can not be nested');\n }\n\n let fakeAsyncTestZoneSpec = new _FakeAsyncTestZoneSpecType();\n let fakeAsyncZone = Zone.current.fork(fakeAsyncTestZoneSpec);\n\n return function(...args) {\n let res = fakeAsyncZone.run(() => {\n let res = fn(...args);\n flushMicrotasks();\n return res;\n });\n\n if (fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {\n throw new BaseException(`${fakeAsyncTestZoneSpec.pendingPeriodicTimers.length} ` +\n `periodic timer(s) still in the queue.`);\n }\n\n if (fakeAsyncTestZoneSpec.pendingTimers.length > 0) {\n throw new BaseException(\n `${fakeAsyncTestZoneSpec.pendingTimers.length} timer(s) still in the queue.`);\n }\n return res;\n };\n}\n\nfunction _getFakeAsyncZoneSpec(): any {\n let zoneSpec = Zone.current.get('FakeAsyncTestZoneSpec');\n if (zoneSpec == null) {\n throw new Error('The code should be running in the fakeAsync zone to call this function');\n }\n return zoneSpec;\n}\n\n/**\n * Clear the queue of pending timers and microtasks.\n * Tests no longer need to call this explicitly.\n *\n * @deprecated\n */\nexport function clearPendingTimers(): void {\n // Do nothing.\n}\n\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone.\n *\n * The microtasks queue is drained at the very start of this function and after any timer callback\n * has been executed.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n * @param {number} millis Number of millisecond, defaults to 0\n */\nexport function tick(millis: number = 0): void {\n _getFakeAsyncZoneSpec().tick(millis);\n}\n\n/**\n * Flush any pending microtasks.\n */\nexport function flushMicrotasks(): void {\n _getFakeAsyncZoneSpec().flushMicrotasks();\n}\n"]}
1
+ {"version":3,"file":"fake_async.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/fake_async.ts"],"names":[],"mappings":";AAAA,sBAA4B,UAAU,CAAC,CAAA;AAGvC,IAAI,0BAA0B,GAAI,IAA8B,CAAC,uBAAuB,CAAC,CAAC;AAE1F;;;;;;;;;;;;;;;GAeG;AACH,mBAA0B,EAAY;IACpC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,qBAAa,CAAC,qCAAqC,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,qBAAqB,GAAG,IAAI,0BAA0B,EAAE,CAAC;IAC7D,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAC;QAAS,cAAc,CAAC,iBAAiB;aAAhC,WAAc,CAAd,sBAAc,CAAd,IAAc;YAAd,6BAAc;;QAC5B,IAAI,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;YAC1B,IAAI,GAAG,GAAG,EAAE,eAAI,IAAI,CAAC,CAAC;YACtB,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,qBAAa,CACnB,CAAG,qBAAqB,CAAC,qBAAqB,CAAC,MAAM,OAAG;gBACxD,uCAAuC,CAAC,CAAC;QAC/C,CAAC;QAED,EAAE,CAAC,CAAC,qBAAqB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,IAAI,qBAAa,CAChB,qBAAqB,CAAC,aAAa,CAAC,MAAM,kCAA+B,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AA3Be,iBAAS,YA2BxB,CAAA;AAED;IACE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACzD,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH;IACE,cAAc;AAChB,CAAC;AAFe,0BAAkB,qBAEjC,CAAA;AAED;;;;;;;;;;GAUG;AACH,cAAqB,MAAkB;IAAlB,sBAAkB,GAAlB,UAAkB;IACrC,qBAAqB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAFe,YAAI,OAEnB,CAAA;AAED;;GAEG;AACH;IACE,IAAI,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACvC,IAAI,aAAa,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IACnD,QAAQ,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,CAAC;AAJe,4BAAoB,uBAInC,CAAA;AAED;;GAEG;AACH;IACE,qBAAqB,EAAE,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAFe,uBAAe,kBAE9B,CAAA","sourcesContent":["import {BaseException} from '../index';\nimport {getTestInjector} from './test_injector';\n\nlet _FakeAsyncTestZoneSpecType = (Zone as any /** TODO #9100 */)['FakeAsyncTestZoneSpec'];\n\n/**\n * Wraps a function to be executed in the fakeAsync zone:\n * - microtasks are manually executed by calling `flushMicrotasks()`,\n * - timers are synchronous, `tick()` simulates the asynchronous passage of time.\n *\n * If there are any pending timers at the end of the function, an exception will be thrown.\n *\n * Can be used to wrap inject() calls.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n * @param fn\n * @returns {Function} The function wrapped to be executed in the fakeAsync zone\n */\nexport function fakeAsync(fn: Function): Function {\n if (Zone.current.get('FakeAsyncTestZoneSpec') != null) {\n throw new BaseException('fakeAsync() calls can not be nested');\n }\n\n let fakeAsyncTestZoneSpec = new _FakeAsyncTestZoneSpecType();\n let fakeAsyncZone = Zone.current.fork(fakeAsyncTestZoneSpec);\n\n return function(...args: any[] /** TODO #9100 */) {\n let res = fakeAsyncZone.run(() => {\n let res = fn(...args);\n flushMicrotasks();\n return res;\n });\n\n if (fakeAsyncTestZoneSpec.pendingPeriodicTimers.length > 0) {\n throw new BaseException(\n `${fakeAsyncTestZoneSpec.pendingPeriodicTimers.length} ` +\n `periodic timer(s) still in the queue.`);\n }\n\n if (fakeAsyncTestZoneSpec.pendingTimers.length > 0) {\n throw new BaseException(\n `${fakeAsyncTestZoneSpec.pendingTimers.length} timer(s) still in the queue.`);\n }\n return res;\n };\n}\n\nfunction _getFakeAsyncZoneSpec(): any {\n let zoneSpec = Zone.current.get('FakeAsyncTestZoneSpec');\n if (zoneSpec == null) {\n throw new Error('The code should be running in the fakeAsync zone to call this function');\n }\n return zoneSpec;\n}\n\n/**\n * Clear the queue of pending timers and microtasks.\n * Tests no longer need to call this explicitly.\n *\n * @deprecated\n */\nexport function clearPendingTimers(): void {\n // Do nothing.\n}\n\n/**\n * Simulates the asynchronous passage of time for the timers in the fakeAsync zone.\n *\n * The microtasks queue is drained at the very start of this function and after any timer callback\n * has been executed.\n *\n * ## Example\n *\n * {@example testing/ts/fake_async.ts region='basic'}\n *\n */\nexport function tick(millis: number = 0): void {\n _getFakeAsyncZoneSpec().tick(millis);\n}\n\n/**\n * Discard all remaining periodic tasks.\n */\nexport function discardPeriodicTasks(): void {\n let zoneSpec = _getFakeAsyncZoneSpec();\n let pendingTimers = zoneSpec.pendingPeriodicTimers;\n zoneSpec.pendingPeriodicTimers.length = 0;\n}\n\n/**\n * Flush any pending microtasks.\n */\nexport function flushMicrotasks(): void {\n _getFakeAsyncZoneSpec().flushMicrotasks();\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- function getTypeOf(instance) {
2
+ function getTypeOf(instance /** TODO #9100 */) {
3
3
  return instance.constructor;
4
4
  }
5
5
  exports.getTypeOf = getTypeOf;
@@ -1 +1 @@
1
- {"version":3,"file":"lang_utils.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/lang_utils.ts"],"names":[],"mappings":";AAIE,mBAA0B,QAAQ;IAClC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC;AAFiB,iBAAS,YAE1B,CAAA;AAED,yBAAgC,IAAc,EAAE,MAAkB;IAAlB,sBAAkB,GAAlB,WAAkB;IAChE,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAJe,uBAAe,kBAI9B,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export function getTypeOf(instance) {\n return instance.constructor;\n}\n\nexport function instantiateType(type: Function, params: any[] = []) {\n var instance = Object.create(type.prototype);\n instance.constructor.apply(instance, params);\n return instance;\n}\n"]}
1
+ {"version":3,"file":"lang_utils.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/lang_utils.ts"],"names":[],"mappings":";AAAA,mBAA0B,QAAa,CAAC,iBAAiB;IACvD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC9B,CAAC;AAFe,iBAAS,YAExB,CAAA;AAED,yBAAgC,IAAc,EAAE,MAAkB;IAAlB,sBAAkB,GAAlB,WAAkB;IAChE,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC;AAClB,CAAC;AAJe,uBAAe,kBAI9B,CAAA","sourcesContent":["export function getTypeOf(instance: any /** TODO #9100 */) {\n return instance.constructor;\n}\n\nexport function instantiateType(type: Function, params: any[] = []) {\n var instance = Object.create(type.prototype);\n instance.constructor.apply(instance, params);\n return instance;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"getTypeOf":{"__symbolic":"function","parameters":["instance"],"value":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"instance"},"member":"constructor"}}}}
package/testing/logger.js CHANGED
@@ -4,8 +4,8 @@ var Log = (function () {
4
4
  function Log() {
5
5
  this.logItems = [];
6
6
  }
7
- Log.prototype.add = function (value) { this.logItems.push(value); };
8
- Log.prototype.fn = function (value) {
7
+ Log.prototype.add = function (value /** TODO #9100 */) { this.logItems.push(value); };
8
+ Log.prototype.fn = function (value /** TODO #9100 */) {
9
9
  var _this = this;
10
10
  return function (a1, a2, a3, a4, a5) {
11
11
  if (a1 === void 0) { a1 = null; }
@@ -17,10 +17,12 @@ var Log = (function () {
17
17
  };
18
18
  };
19
19
  Log.prototype.clear = function () { this.logItems = []; };
20
- Log.prototype.result = function () { return this.logItems.join("; "); };
20
+ Log.prototype.result = function () { return this.logItems.join('; '); };
21
+ /** @nocollapse */
21
22
  Log.decorators = [
22
23
  { type: index_1.Injectable },
23
24
  ];
25
+ /** @nocollapse */
24
26
  Log.ctorParameters = [];
25
27
  return Log;
26
28
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/logger.ts"],"names":[],"mappings":";AAIE,sBAAyB,UAAU,CAAC,CAAA;AACtC;IAGE;QAAgB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IAAC,CAAC;IAErC,iBAAG,GAAH,UAAI,KAAK,IAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/C,gBAAE,GAAF,UAAG,KAAK;QAAR,iBAIC;QAHC,MAAM,CAAC,UAAC,EAAc,EAAE,EAAc,EAAE,EAAc,EAAE,EAAc,EAAE,EAAc;YAA9E,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YACpF,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAA;IACH,CAAC;IAED,mBAAK,GAAL,cAAgB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;IAErC,oBAAM,GAAN,cAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChD,cAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,kBAAU,EAAE;KACnB,CAAC;IACK,kBAAc,GAA2D,EAC/E,CAAC;IACF,UAAC;AAAD,CAAC,AArBD,IAqBC;AArBY,WAAG,MAqBf,CAAA","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {Injectable} from '../index';\nexport class Log {\n logItems: any[];\n\n constructor() { this.logItems = []; }\n\n add(value): void { this.logItems.push(value); }\n\n fn(value) {\n return (a1: any = null, a2: any = null, a3: any = null, a4: any = null, a5: any = null) => {\n this.logItems.push(value);\n }\n }\n\n clear(): void { this.logItems = []; }\n\n result(): string { return this.logItems.join(\"; \"); }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n];\n}\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../modules/@angular/core/testing/logger.ts"],"names":[],"mappings":";AAAA,sBAAyB,UAAU,CAAC,CAAA;AACpC;IAGE;QAAgB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IAAC,CAAC;IAErC,iBAAG,GAAH,UAAI,KAAU,CAAC,iBAAiB,IAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtE,gBAAE,GAAF,UAAG,KAAU,CAAC,iBAAiB;QAA/B,iBAIC;QAHC,MAAM,CAAC,UAAC,EAAc,EAAE,EAAc,EAAE,EAAc,EAAE,EAAc,EAAE,EAAc;YAA9E,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YAAE,kBAAc,GAAd,SAAc;YACpF,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;IAED,mBAAK,GAAL,cAAgB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;IAErC,oBAAM,GAAN,cAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvD,kBAAkB;IACX,cAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,kBAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,kBAAc,GAA2D,EAC/E,CAAC;IACF,UAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,WAAG,MAuBf,CAAA","sourcesContent":["import {Injectable} from '../index';\nexport class Log {\n logItems: any[];\n\n constructor() { this.logItems = []; }\n\n add(value: any /** TODO #9100 */): void { this.logItems.push(value); }\n\n fn(value: any /** TODO #9100 */) {\n return (a1: any = null, a2: any = null, a3: any = null, a4: any = null, a5: any = null) => {\n this.logItems.push(value);\n };\n }\n\n clear(): void { this.logItems = []; }\n\n result(): string { return this.logItems.join('; '); }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n];\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1 +1 @@
1
- {"__symbolic":"module","metadata":{"Log":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","module":"../index"}}]}}}
1
+ {"__symbolic":"module","version":1,"metadata":{"Log":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../index","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"add":[{"__symbolic":"method"}],"fn":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"result":[{"__symbolic":"method"}]}}}}
@@ -1,4 +1,4 @@
1
- import { ApplicationRef, ComponentRef, ComponentFactory, Injector, NgZone, Type } from '../index';
1
+ import { ApplicationRef, ComponentFactory, ComponentRef, Injector, NgZone, Type } from '../index';
2
2
  /**
3
3
  * A no-op implementation of {@link ApplicationRef}, useful for testing.
4
4
  */
@@ -35,6 +35,7 @@ var MockApplicationRef = (function (_super) {
35
35
  configurable: true
36
36
  });
37
37
  ;
38
+ /** @nocollapse */
38
39
  MockApplicationRef.decorators = [
39
40
  { type: index_1.Injectable },
40
41
  ];