@angular/platform-browser 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 (543) hide show
  1. package/bundles/platform-browser.umd.js +4685 -0
  2. package/bundles/platform-browser.umd.min.js +4 -0
  3. package/core_private.d.ts +23 -1
  4. package/core_private.js +14 -0
  5. package/core_private.js.map +1 -1
  6. package/core_private.metadata.json +1 -1
  7. package/esm/core_private.d.ts +23 -1
  8. package/esm/core_private.js +14 -0
  9. package/esm/core_private.js.map +1 -1
  10. package/esm/core_private.metadata.json +1 -1
  11. package/esm/index.d.ts +22 -1
  12. package/esm/index.js +25 -1
  13. package/esm/index.js.map +1 -1
  14. package/esm/index.metadata.json +1 -0
  15. package/esm/private_export.d.ts +21 -21
  16. package/esm/private_export.js +11 -21
  17. package/esm/private_export.js.map +1 -1
  18. package/esm/private_export.metadata.json +1 -0
  19. package/esm/src/browser/browser_adapter.d.ts +6 -0
  20. package/esm/src/browser/browser_adapter.js +146 -76
  21. package/esm/src/browser/browser_adapter.js.map +1 -1
  22. package/esm/src/browser/generic_browser_adapter.js +4 -4
  23. package/esm/src/browser/generic_browser_adapter.js.map +1 -1
  24. package/esm/src/browser/location/browser_platform_location.d.ts +1 -5
  25. package/esm/src/browser/location/browser_platform_location.js +16 -3
  26. package/esm/src/browser/location/browser_platform_location.js.map +1 -1
  27. package/esm/src/browser/location/browser_platform_location.metadata.json +1 -1
  28. package/esm/src/browser/location/history.d.ts +1 -0
  29. package/esm/src/browser/location/history.js +4 -0
  30. package/esm/src/browser/location/history.js.map +1 -0
  31. package/esm/src/browser/location/history.metadata.json +1 -0
  32. package/esm/src/browser/testability.d.ts +1 -1
  33. package/esm/src/browser/testability.js +7 -5
  34. package/esm/src/browser/testability.js.map +1 -1
  35. package/esm/src/browser/title.d.ts +2 -0
  36. package/esm/src/browser/title.js +2 -0
  37. package/esm/src/browser/title.js.map +1 -1
  38. package/esm/src/browser/tools/common_tools.js +2 -2
  39. package/esm/src/browser/tools/common_tools.js.map +1 -1
  40. package/esm/src/browser/tools/tools.d.ts +1 -1
  41. package/esm/src/browser/tools/tools.js +2 -1
  42. package/esm/src/browser/tools/tools.js.map +1 -1
  43. package/esm/src/browser.d.ts +15 -0
  44. package/esm/src/browser.js +76 -0
  45. package/esm/src/browser.js.map +1 -0
  46. package/esm/src/browser.metadata.json +1 -0
  47. package/esm/src/dom/debug/by.d.ts +2 -2
  48. package/esm/src/dom/debug/by.js +1 -1
  49. package/esm/src/dom/debug/by.js.map +1 -1
  50. package/esm/src/dom/debug/ng_probe.js +10 -19
  51. package/esm/src/dom/debug/ng_probe.js.map +1 -1
  52. package/esm/src/dom/debug/ng_probe.metadata.json +1 -1
  53. package/esm/src/dom/dom_adapter.d.ts +7 -5
  54. package/esm/src/dom/dom_adapter.js +1 -1
  55. package/esm/src/dom/dom_adapter.js.map +1 -1
  56. package/esm/src/dom/dom_adapter.metadata.json +1 -0
  57. package/esm/src/dom/dom_animate_player.d.ts +9 -0
  58. package/esm/src/dom/dom_animate_player.js +1 -0
  59. package/esm/src/dom/dom_animate_player.js.map +1 -0
  60. package/esm/src/dom/dom_renderer.d.ts +9 -19
  61. package/esm/src/dom/dom_renderer.js +29 -61
  62. package/esm/src/dom/dom_renderer.js.map +1 -1
  63. package/esm/src/dom/dom_renderer.metadata.json +1 -1
  64. package/esm/src/dom/dom_tokens.js.map +1 -1
  65. package/esm/src/dom/dom_tokens.metadata.json +1 -1
  66. package/esm/src/dom/events/dom_events.js +3 -2
  67. package/esm/src/dom/events/dom_events.js.map +1 -1
  68. package/esm/src/dom/events/dom_events.metadata.json +1 -1
  69. package/esm/src/dom/events/event_manager.d.ts +1 -3
  70. package/esm/src/dom/events/event_manager.js +9 -8
  71. package/esm/src/dom/events/event_manager.js.map +1 -1
  72. package/esm/src/dom/events/event_manager.metadata.json +1 -1
  73. package/esm/src/dom/events/hammer_common.js +1 -1
  74. package/esm/src/dom/events/hammer_common.js.map +1 -1
  75. package/esm/src/dom/events/hammer_gestures.js +10 -6
  76. package/esm/src/dom/events/hammer_gestures.js.map +1 -1
  77. package/esm/src/dom/events/hammer_gestures.metadata.json +1 -1
  78. package/esm/src/dom/events/key_events.d.ts +0 -2
  79. package/esm/src/dom/events/key_events.js +5 -3
  80. package/esm/src/dom/events/key_events.js.map +1 -1
  81. package/esm/src/dom/events/key_events.metadata.json +1 -1
  82. package/esm/src/dom/shared_styles_host.d.ts +0 -6
  83. package/esm/src/dom/shared_styles_host.js +5 -1
  84. package/esm/src/dom/shared_styles_host.js.map +1 -1
  85. package/esm/src/dom/shared_styles_host.metadata.json +1 -1
  86. package/esm/src/dom/util.js +3 -3
  87. package/esm/src/dom/util.js.map +1 -1
  88. package/esm/src/dom/util.metadata.json +1 -0
  89. package/esm/src/dom/web_animations_driver.d.ts +4 -0
  90. package/esm/src/dom/web_animations_driver.js +118 -0
  91. package/esm/src/dom/web_animations_driver.js.map +1 -0
  92. package/esm/src/dom/web_animations_player.d.ts +20 -0
  93. package/esm/src/dom/web_animations_player.js +42 -0
  94. package/esm/src/dom/web_animations_player.js.map +1 -0
  95. package/esm/src/facade/async.d.ts +90 -0
  96. package/esm/src/facade/async.js +137 -0
  97. package/esm/src/facade/async.js.map +1 -0
  98. package/esm/src/facade/base_wrapped_exception.js +4 -4
  99. package/esm/src/facade/base_wrapped_exception.js.map +1 -1
  100. package/esm/src/facade/browser.js +2 -2
  101. package/esm/src/facade/browser.js.map +1 -1
  102. package/esm/src/facade/browser.metadata.json +1 -1
  103. package/esm/src/facade/collection.js +1 -1
  104. package/esm/src/facade/collection.js.map +1 -1
  105. package/esm/src/facade/collection.metadata.json +1 -1
  106. package/esm/src/facade/exception_handler.d.ts +2 -11
  107. package/esm/src/facade/exception_handler.js +8 -7
  108. package/esm/src/facade/exception_handler.js.map +1 -1
  109. package/esm/src/facade/exceptions.d.ts +4 -0
  110. package/esm/src/facade/exceptions.js +6 -2
  111. package/esm/src/facade/exceptions.js.map +1 -1
  112. package/esm/src/facade/exceptions.metadata.json +1 -0
  113. package/esm/src/facade/lang.d.ts +6 -4
  114. package/esm/src/facade/lang.js +12 -11
  115. package/esm/src/facade/lang.js.map +1 -1
  116. package/esm/src/facade/lang.metadata.json +1 -1
  117. package/esm/src/facade/promise.d.ts +17 -0
  118. package/esm/src/facade/promise.js +41 -0
  119. package/esm/src/facade/promise.js.map +1 -0
  120. package/esm/src/security/dom_sanitization_service.d.ts +4 -5
  121. package/esm/src/security/dom_sanitization_service.js +7 -9
  122. package/esm/src/security/dom_sanitization_service.js.map +1 -1
  123. package/esm/src/security/dom_sanitization_service.metadata.json +1 -1
  124. package/esm/src/security/html_sanitizer.d.ts +5 -0
  125. package/esm/src/security/html_sanitizer.js +233 -0
  126. package/esm/src/security/html_sanitizer.js.map +1 -0
  127. package/esm/src/security/style_sanitizer.d.ts +4 -0
  128. package/esm/src/security/style_sanitizer.js +54 -17
  129. package/esm/src/security/style_sanitizer.js.map +1 -1
  130. package/esm/src/security/url_sanitizer.js +33 -26
  131. package/esm/src/security/url_sanitizer.js.map +1 -1
  132. package/esm/src/web_workers/shared/api.d.ts +2 -0
  133. package/esm/src/web_workers/shared/api.js +3 -0
  134. package/esm/src/web_workers/shared/api.js.map +1 -0
  135. package/esm/src/web_workers/shared/api.metadata.json +1 -0
  136. package/esm/src/web_workers/shared/client_message_broker.d.ts +51 -0
  137. package/esm/src/web_workers/shared/client_message_broker.js +156 -0
  138. package/esm/src/web_workers/shared/client_message_broker.js.map +1 -0
  139. package/esm/src/web_workers/shared/client_message_broker.metadata.json +1 -0
  140. package/esm/src/web_workers/shared/message_bus.d.ts +82 -0
  141. package/esm/src/web_workers/shared/message_bus.js +10 -0
  142. package/esm/src/web_workers/shared/message_bus.js.map +1 -0
  143. package/esm/src/web_workers/shared/messaging_api.d.ts +7 -0
  144. package/esm/src/web_workers/shared/messaging_api.js +8 -0
  145. package/esm/src/web_workers/shared/messaging_api.js.map +1 -0
  146. package/esm/src/web_workers/shared/messaging_api.metadata.json +1 -0
  147. package/esm/src/web_workers/shared/post_message_bus.d.ts +41 -0
  148. package/esm/src/web_workers/shared/post_message_bus.js +133 -0
  149. package/esm/src/web_workers/shared/post_message_bus.js.map +1 -0
  150. package/esm/src/web_workers/shared/post_message_bus.metadata.json +1 -0
  151. package/esm/src/web_workers/shared/render_store.d.ts +11 -0
  152. package/esm/src/web_workers/shared/render_store.js +40 -0
  153. package/esm/src/web_workers/shared/render_store.js.map +1 -0
  154. package/esm/src/web_workers/shared/render_store.metadata.json +1 -0
  155. package/esm/src/web_workers/shared/serialized_types.d.ts +12 -0
  156. package/esm/src/web_workers/shared/serialized_types.js +16 -0
  157. package/esm/src/web_workers/shared/serialized_types.js.map +1 -0
  158. package/esm/src/web_workers/shared/serializer.d.ts +18 -0
  159. package/esm/src/web_workers/shared/serializer.js +110 -0
  160. package/esm/src/web_workers/shared/serializer.js.map +1 -0
  161. package/esm/src/web_workers/shared/serializer.metadata.json +1 -0
  162. package/esm/src/web_workers/shared/service_message_broker.d.ts +48 -0
  163. package/esm/src/web_workers/shared/service_message_broker.js +88 -0
  164. package/esm/src/web_workers/shared/service_message_broker.js.map +1 -0
  165. package/esm/src/web_workers/shared/service_message_broker.metadata.json +1 -0
  166. package/esm/src/web_workers/ui/event_dispatcher.d.ts +8 -0
  167. package/esm/src/web_workers/ui/event_dispatcher.js +104 -0
  168. package/esm/src/web_workers/ui/event_dispatcher.js.map +1 -0
  169. package/esm/src/web_workers/ui/event_serializer.d.ts +15 -0
  170. package/esm/src/web_workers/ui/event_serializer.js +53 -0
  171. package/esm/src/web_workers/ui/event_serializer.js.map +1 -0
  172. package/esm/src/web_workers/ui/event_serializer.metadata.json +1 -0
  173. package/esm/src/web_workers/ui/location_providers.d.ts +14 -0
  174. package/esm/src/web_workers/ui/location_providers.js +19 -0
  175. package/esm/src/web_workers/ui/location_providers.js.map +1 -0
  176. package/esm/src/web_workers/ui/location_providers.metadata.json +1 -0
  177. package/esm/src/web_workers/ui/platform_location.d.ts +16 -0
  178. package/esm/src/web_workers/ui/platform_location.js +49 -0
  179. package/esm/src/web_workers/ui/platform_location.js.map +1 -0
  180. package/esm/src/web_workers/ui/platform_location.metadata.json +1 -0
  181. package/esm/src/web_workers/ui/renderer.d.ts +35 -0
  182. package/esm/src/web_workers/ui/renderer.js +122 -0
  183. package/esm/src/web_workers/ui/renderer.js.map +1 -0
  184. package/esm/src/web_workers/ui/renderer.metadata.json +1 -0
  185. package/esm/src/web_workers/worker/event_deserializer.d.ts +5 -0
  186. package/esm/src/web_workers/worker/event_deserializer.js +6 -0
  187. package/esm/src/web_workers/worker/event_deserializer.js.map +1 -0
  188. package/esm/src/web_workers/worker/event_deserializer.metadata.json +1 -0
  189. package/esm/src/web_workers/worker/location_providers.d.ts +17 -0
  190. package/esm/src/web_workers/worker/location_providers.js +20 -0
  191. package/esm/src/web_workers/worker/location_providers.js.map +1 -0
  192. package/esm/src/web_workers/worker/location_providers.metadata.json +1 -0
  193. package/esm/src/web_workers/worker/platform_location.d.ts +23 -0
  194. package/esm/src/web_workers/worker/platform_location.js +111 -0
  195. package/esm/src/web_workers/worker/platform_location.js.map +1 -0
  196. package/esm/src/web_workers/worker/platform_location.metadata.json +1 -0
  197. package/esm/src/web_workers/worker/renderer.d.ts +55 -0
  198. package/esm/src/web_workers/worker/renderer.js +227 -0
  199. package/esm/src/web_workers/worker/renderer.js.map +1 -0
  200. package/esm/src/web_workers/worker/renderer.metadata.json +1 -0
  201. package/esm/src/web_workers/worker/worker_adapter.d.ts +132 -0
  202. package/esm/src/web_workers/worker/worker_adapter.js +192 -0
  203. package/esm/src/web_workers/worker/worker_adapter.js.map +1 -0
  204. package/esm/src/worker_app.d.ts +13 -0
  205. package/esm/src/worker_app.js +68 -0
  206. package/esm/src/worker_app.js.map +1 -0
  207. package/esm/src/worker_app.metadata.json +1 -0
  208. package/esm/src/worker_render.d.ts +35 -0
  209. package/esm/src/worker_render.js +147 -0
  210. package/esm/src/worker_render.js.map +1 -0
  211. package/esm/src/worker_render.metadata.json +1 -0
  212. package/esm/testing/browser.d.ts +8 -0
  213. package/esm/testing/browser.js +38 -0
  214. package/esm/testing/browser.js.map +1 -0
  215. package/esm/testing/browser.metadata.json +1 -0
  216. package/esm/testing/browser_util.d.ts +1 -0
  217. package/esm/testing/browser_util.js +11 -6
  218. package/esm/testing/browser_util.js.map +1 -1
  219. package/esm/testing/browser_util.metadata.json +1 -1
  220. package/esm/testing/e2e_util.d.ts +4 -0
  221. package/esm/testing/e2e_util.js +21 -0
  222. package/esm/testing/e2e_util.js.map +1 -0
  223. package/esm/testing/e2e_util.metadata.json +1 -0
  224. package/esm/testing/matchers.js +24 -22
  225. package/esm/testing/matchers.js.map +1 -1
  226. package/esm/testing/matchers.metadata.json +1 -1
  227. package/esm/testing.d.ts +1 -2
  228. package/esm/testing.js +1 -2
  229. package/esm/testing.js.map +1 -1
  230. package/esm/testing_e2e.d.ts +1 -0
  231. package/esm/testing_e2e.js +2 -0
  232. package/esm/testing_e2e.js.map +1 -0
  233. package/index.d.ts +22 -1
  234. package/index.js +50 -1
  235. package/index.js.map +1 -1
  236. package/index.metadata.json +1 -0
  237. package/package.json +8 -4
  238. package/private_export.d.ts +21 -21
  239. package/private_export.js +11 -21
  240. package/private_export.js.map +1 -1
  241. package/private_export.metadata.json +1 -0
  242. package/src/browser/browser_adapter.d.ts +6 -0
  243. package/src/browser/browser_adapter.js +144 -76
  244. package/src/browser/browser_adapter.js.map +1 -1
  245. package/src/browser/generic_browser_adapter.js +4 -4
  246. package/src/browser/generic_browser_adapter.js.map +1 -1
  247. package/src/browser/location/browser_platform_location.d.ts +1 -5
  248. package/src/browser/location/browser_platform_location.js +16 -3
  249. package/src/browser/location/browser_platform_location.js.map +1 -1
  250. package/src/browser/location/browser_platform_location.metadata.json +1 -1
  251. package/src/browser/location/history.d.ts +1 -0
  252. package/src/browser/location/history.js +6 -0
  253. package/src/browser/location/history.js.map +1 -0
  254. package/src/browser/location/history.metadata.json +1 -0
  255. package/src/browser/testability.d.ts +1 -1
  256. package/src/browser/testability.js +7 -5
  257. package/src/browser/testability.js.map +1 -1
  258. package/src/browser/title.d.ts +2 -0
  259. package/src/browser/title.js +2 -0
  260. package/src/browser/title.js.map +1 -1
  261. package/src/browser/tools/common_tools.js +2 -2
  262. package/src/browser/tools/common_tools.js.map +1 -1
  263. package/src/browser/tools/tools.d.ts +1 -1
  264. package/src/browser/tools/tools.js +2 -1
  265. package/src/browser/tools/tools.js.map +1 -1
  266. package/src/browser.d.ts +15 -0
  267. package/src/browser.js +78 -0
  268. package/src/browser.js.map +1 -0
  269. package/src/browser.metadata.json +1 -0
  270. package/src/dom/debug/by.d.ts +2 -2
  271. package/src/dom/debug/by.js +1 -1
  272. package/src/dom/debug/by.js.map +1 -1
  273. package/src/dom/debug/ng_probe.js +9 -18
  274. package/src/dom/debug/ng_probe.js.map +1 -1
  275. package/src/dom/debug/ng_probe.metadata.json +1 -1
  276. package/src/dom/dom_adapter.d.ts +7 -5
  277. package/src/dom/dom_adapter.js +1 -1
  278. package/src/dom/dom_adapter.js.map +1 -1
  279. package/src/dom/dom_adapter.metadata.json +1 -0
  280. package/src/dom/dom_animate_player.d.ts +9 -0
  281. package/src/dom/dom_animate_player.js +2 -0
  282. package/src/dom/dom_animate_player.js.map +1 -0
  283. package/src/dom/dom_renderer.d.ts +9 -19
  284. package/src/dom/dom_renderer.js +29 -61
  285. package/src/dom/dom_renderer.js.map +1 -1
  286. package/src/dom/dom_renderer.metadata.json +1 -1
  287. package/src/dom/dom_tokens.js.map +1 -1
  288. package/src/dom/dom_tokens.metadata.json +1 -1
  289. package/src/dom/events/dom_events.js +3 -2
  290. package/src/dom/events/dom_events.js.map +1 -1
  291. package/src/dom/events/dom_events.metadata.json +1 -1
  292. package/src/dom/events/event_manager.d.ts +1 -3
  293. package/src/dom/events/event_manager.js +8 -7
  294. package/src/dom/events/event_manager.js.map +1 -1
  295. package/src/dom/events/event_manager.metadata.json +1 -1
  296. package/src/dom/events/hammer_common.js +1 -1
  297. package/src/dom/events/hammer_common.js.map +1 -1
  298. package/src/dom/events/hammer_gestures.js +9 -5
  299. package/src/dom/events/hammer_gestures.js.map +1 -1
  300. package/src/dom/events/hammer_gestures.metadata.json +1 -1
  301. package/src/dom/events/key_events.d.ts +0 -2
  302. package/src/dom/events/key_events.js +5 -3
  303. package/src/dom/events/key_events.js.map +1 -1
  304. package/src/dom/events/key_events.metadata.json +1 -1
  305. package/src/dom/shared_styles_host.d.ts +0 -6
  306. package/src/dom/shared_styles_host.js +5 -1
  307. package/src/dom/shared_styles_host.js.map +1 -1
  308. package/src/dom/shared_styles_host.metadata.json +1 -1
  309. package/src/dom/util.js +3 -3
  310. package/src/dom/util.js.map +1 -1
  311. package/src/dom/util.metadata.json +1 -0
  312. package/src/dom/web_animations_driver.d.ts +4 -0
  313. package/src/dom/web_animations_driver.js +123 -0
  314. package/src/dom/web_animations_driver.js.map +1 -0
  315. package/src/dom/web_animations_player.d.ts +20 -0
  316. package/src/dom/web_animations_player.js +46 -0
  317. package/src/dom/web_animations_player.js.map +1 -0
  318. package/src/facade/async.d.ts +90 -0
  319. package/src/facade/async.js +160 -0
  320. package/src/facade/async.js.map +1 -0
  321. package/src/facade/base_wrapped_exception.js +4 -4
  322. package/src/facade/base_wrapped_exception.js.map +1 -1
  323. package/src/facade/browser.js +2 -2
  324. package/src/facade/browser.js.map +1 -1
  325. package/src/facade/browser.metadata.json +1 -1
  326. package/src/facade/collection.js.map +1 -1
  327. package/src/facade/collection.metadata.json +1 -1
  328. package/src/facade/exception_handler.d.ts +2 -11
  329. package/src/facade/exception_handler.js +8 -7
  330. package/src/facade/exception_handler.js.map +1 -1
  331. package/src/facade/exceptions.d.ts +4 -0
  332. package/src/facade/exceptions.js +6 -2
  333. package/src/facade/exceptions.js.map +1 -1
  334. package/src/facade/exceptions.metadata.json +1 -0
  335. package/src/facade/lang.d.ts +6 -4
  336. package/src/facade/lang.js +12 -11
  337. package/src/facade/lang.js.map +1 -1
  338. package/src/facade/lang.metadata.json +1 -1
  339. package/src/facade/promise.d.ts +17 -0
  340. package/src/facade/promise.js +49 -0
  341. package/src/facade/promise.js.map +1 -0
  342. package/src/security/dom_sanitization_service.d.ts +4 -5
  343. package/src/security/dom_sanitization_service.js +7 -9
  344. package/src/security/dom_sanitization_service.js.map +1 -1
  345. package/src/security/dom_sanitization_service.metadata.json +1 -1
  346. package/src/security/html_sanitizer.d.ts +5 -0
  347. package/src/security/html_sanitizer.js +246 -0
  348. package/src/security/html_sanitizer.js.map +1 -0
  349. package/src/security/style_sanitizer.d.ts +4 -0
  350. package/src/security/style_sanitizer.js +54 -17
  351. package/src/security/style_sanitizer.js.map +1 -1
  352. package/src/security/url_sanitizer.js +33 -26
  353. package/src/security/url_sanitizer.js.map +1 -1
  354. package/src/web_workers/shared/api.d.ts +2 -0
  355. package/src/web_workers/shared/api.js +4 -0
  356. package/src/web_workers/shared/api.js.map +1 -0
  357. package/src/web_workers/shared/api.metadata.json +1 -0
  358. package/src/web_workers/shared/client_message_broker.d.ts +51 -0
  359. package/src/web_workers/shared/client_message_broker.js +184 -0
  360. package/src/web_workers/shared/client_message_broker.js.map +1 -0
  361. package/src/web_workers/shared/client_message_broker.metadata.json +1 -0
  362. package/src/web_workers/shared/message_bus.d.ts +82 -0
  363. package/src/web_workers/shared/message_bus.js +15 -0
  364. package/src/web_workers/shared/message_bus.js.map +1 -0
  365. package/src/web_workers/shared/messaging_api.d.ts +7 -0
  366. package/src/web_workers/shared/messaging_api.js +9 -0
  367. package/src/web_workers/shared/messaging_api.js.map +1 -0
  368. package/src/web_workers/shared/messaging_api.metadata.json +1 -0
  369. package/src/web_workers/shared/post_message_bus.d.ts +41 -0
  370. package/src/web_workers/shared/post_message_bus.js +147 -0
  371. package/src/web_workers/shared/post_message_bus.js.map +1 -0
  372. package/src/web_workers/shared/post_message_bus.metadata.json +1 -0
  373. package/src/web_workers/shared/render_store.d.ts +11 -0
  374. package/src/web_workers/shared/render_store.js +43 -0
  375. package/src/web_workers/shared/render_store.js.map +1 -0
  376. package/src/web_workers/shared/render_store.metadata.json +1 -0
  377. package/src/web_workers/shared/serialized_types.d.ts +12 -0
  378. package/src/web_workers/shared/serialized_types.js +19 -0
  379. package/src/web_workers/shared/serialized_types.js.map +1 -0
  380. package/src/web_workers/shared/serializer.d.ts +18 -0
  381. package/src/web_workers/shared/serializer.js +119 -0
  382. package/src/web_workers/shared/serializer.js.map +1 -0
  383. package/src/web_workers/shared/serializer.metadata.json +1 -0
  384. package/src/web_workers/shared/service_message_broker.d.ts +48 -0
  385. package/src/web_workers/shared/service_message_broker.js +114 -0
  386. package/src/web_workers/shared/service_message_broker.js.map +1 -0
  387. package/src/web_workers/shared/service_message_broker.metadata.json +1 -0
  388. package/src/web_workers/ui/event_dispatcher.d.ts +8 -0
  389. package/src/web_workers/ui/event_dispatcher.js +107 -0
  390. package/src/web_workers/ui/event_dispatcher.js.map +1 -0
  391. package/src/web_workers/ui/event_serializer.d.ts +15 -0
  392. package/src/web_workers/ui/event_serializer.js +59 -0
  393. package/src/web_workers/ui/event_serializer.js.map +1 -0
  394. package/src/web_workers/ui/event_serializer.metadata.json +1 -0
  395. package/src/web_workers/ui/location_providers.d.ts +14 -0
  396. package/src/web_workers/ui/location_providers.js +20 -0
  397. package/src/web_workers/ui/location_providers.js.map +1 -0
  398. package/src/web_workers/ui/location_providers.metadata.json +1 -0
  399. package/src/web_workers/ui/platform_location.d.ts +16 -0
  400. package/src/web_workers/ui/platform_location.js +52 -0
  401. package/src/web_workers/ui/platform_location.js.map +1 -0
  402. package/src/web_workers/ui/platform_location.metadata.json +1 -0
  403. package/src/web_workers/ui/renderer.d.ts +35 -0
  404. package/src/web_workers/ui/renderer.js +131 -0
  405. package/src/web_workers/ui/renderer.js.map +1 -0
  406. package/src/web_workers/ui/renderer.metadata.json +1 -0
  407. package/src/web_workers/worker/event_deserializer.d.ts +5 -0
  408. package/src/web_workers/worker/event_deserializer.js +8 -0
  409. package/src/web_workers/worker/event_deserializer.js.map +1 -0
  410. package/src/web_workers/worker/event_deserializer.metadata.json +1 -0
  411. package/src/web_workers/worker/location_providers.d.ts +17 -0
  412. package/src/web_workers/worker/location_providers.js +21 -0
  413. package/src/web_workers/worker/location_providers.js.map +1 -0
  414. package/src/web_workers/worker/location_providers.metadata.json +1 -0
  415. package/src/web_workers/worker/platform_location.d.ts +23 -0
  416. package/src/web_workers/worker/platform_location.js +134 -0
  417. package/src/web_workers/worker/platform_location.js.map +1 -0
  418. package/src/web_workers/worker/platform_location.metadata.json +1 -0
  419. package/src/web_workers/worker/renderer.d.ts +55 -0
  420. package/src/web_workers/worker/renderer.js +241 -0
  421. package/src/web_workers/worker/renderer.js.map +1 -0
  422. package/src/web_workers/worker/renderer.metadata.json +1 -0
  423. package/src/web_workers/worker/worker_adapter.d.ts +132 -0
  424. package/src/web_workers/worker/worker_adapter.js +208 -0
  425. package/src/web_workers/worker/worker_adapter.js.map +1 -0
  426. package/src/worker_app.d.ts +13 -0
  427. package/src/worker_app.js +71 -0
  428. package/src/worker_app.js.map +1 -0
  429. package/src/worker_app.metadata.json +1 -0
  430. package/src/worker_render.d.ts +35 -0
  431. package/src/worker_render.js +153 -0
  432. package/src/worker_render.js.map +1 -0
  433. package/src/worker_render.metadata.json +1 -0
  434. package/testing/browser.d.ts +8 -0
  435. package/testing/browser.js +39 -0
  436. package/testing/browser.js.map +1 -0
  437. package/testing/browser.metadata.json +1 -0
  438. package/testing/browser_util.d.ts +1 -0
  439. package/testing/browser_util.js +14 -5
  440. package/testing/browser_util.js.map +1 -1
  441. package/testing/browser_util.metadata.json +1 -1
  442. package/testing/e2e_util.d.ts +4 -0
  443. package/testing/e2e_util.js +24 -0
  444. package/testing/e2e_util.js.map +1 -0
  445. package/testing/e2e_util.metadata.json +1 -0
  446. package/testing/matchers.js +24 -22
  447. package/testing/matchers.js.map +1 -1
  448. package/testing/matchers.metadata.json +1 -1
  449. package/testing.d.ts +1 -2
  450. package/testing.js +1 -2
  451. package/testing.js.map +1 -1
  452. package/testing_e2e.d.ts +1 -0
  453. package/testing_e2e.js +6 -0
  454. package/testing_e2e.js.map +1 -0
  455. package/esm/src/animate/animation.d.ts +0 -82
  456. package/esm/src/animate/animation.js +0 -173
  457. package/esm/src/animate/animation.js.map +0 -1
  458. package/esm/src/animate/animation_builder.d.ts +0 -15
  459. package/esm/src/animate/animation_builder.js +0 -24
  460. package/esm/src/animate/animation_builder.js.map +0 -1
  461. package/esm/src/animate/animation_builder.metadata.json +0 -1
  462. package/esm/src/animate/browser_details.d.ts +0 -10
  463. package/esm/src/animate/browser_details.js +0 -60
  464. package/esm/src/animate/browser_details.js.map +0 -1
  465. package/esm/src/animate/browser_details.metadata.json +0 -1
  466. package/esm/src/animate/css_animation_builder.d.ts +0 -66
  467. package/esm/src/animate/css_animation_builder.js +0 -84
  468. package/esm/src/animate/css_animation_builder.js.map +0 -1
  469. package/esm/src/animate/css_animation_options.d.ts +0 -20
  470. package/esm/src/animate/css_animation_options.js +0 -11
  471. package/esm/src/animate/css_animation_options.js.map +0 -1
  472. package/esm/src/browser_common.d.ts +0 -21
  473. package/esm/src/browser_common.js +0 -82
  474. package/esm/src/browser_common.js.map +0 -1
  475. package/esm/src/browser_common.metadata.json +0 -1
  476. package/esm/src/facade/math.d.ts +0 -2
  477. package/esm/src/facade/math.js +0 -4
  478. package/esm/src/facade/math.js.map +0 -1
  479. package/esm/src/facade/math.metadata.json +0 -1
  480. package/esm/src/platform_browser.d.ts +0 -10
  481. package/esm/src/platform_browser.js +0 -18
  482. package/esm/src/platform_browser.js.map +0 -1
  483. package/esm/src/platform_browser_static.d.ts +0 -16
  484. package/esm/src/platform_browser_static.js +0 -32
  485. package/esm/src/platform_browser_static.js.map +0 -1
  486. package/esm/src/platform_browser_static.metadata.json +0 -1
  487. package/esm/testing/animation_builder_mock.d.ts +0 -6
  488. package/esm/testing/animation_builder_mock.js +0 -35
  489. package/esm/testing/animation_builder_mock.js.map +0 -1
  490. package/esm/testing/animation_builder_mock.metadata.json +0 -1
  491. package/esm/testing/browser_static.d.ts +0 -10
  492. package/esm/testing/browser_static.js +0 -53
  493. package/esm/testing/browser_static.js.map +0 -1
  494. package/esm/testing/browser_static.metadata.json +0 -1
  495. package/esm/testing/dom_test_component_renderer.d.ts +0 -9
  496. package/esm/testing/dom_test_component_renderer.js +0 -27
  497. package/esm/testing/dom_test_component_renderer.js.map +0 -1
  498. package/esm/testing/dom_test_component_renderer.metadata.json +0 -1
  499. package/platform-browser.umd.js +0 -2715
  500. package/src/animate/animation.d.ts +0 -82
  501. package/src/animate/animation.js +0 -183
  502. package/src/animate/animation.js.map +0 -1
  503. package/src/animate/animation_builder.d.ts +0 -15
  504. package/src/animate/animation_builder.js +0 -27
  505. package/src/animate/animation_builder.js.map +0 -1
  506. package/src/animate/animation_builder.metadata.json +0 -1
  507. package/src/animate/browser_details.d.ts +0 -10
  508. package/src/animate/browser_details.js +0 -66
  509. package/src/animate/browser_details.js.map +0 -1
  510. package/src/animate/browser_details.metadata.json +0 -1
  511. package/src/animate/css_animation_builder.d.ts +0 -66
  512. package/src/animate/css_animation_builder.js +0 -87
  513. package/src/animate/css_animation_builder.js.map +0 -1
  514. package/src/animate/css_animation_options.d.ts +0 -20
  515. package/src/animate/css_animation_options.js +0 -14
  516. package/src/animate/css_animation_options.js.map +0 -1
  517. package/src/browser_common.d.ts +0 -21
  518. package/src/browser_common.js +0 -91
  519. package/src/browser_common.js.map +0 -1
  520. package/src/browser_common.metadata.json +0 -1
  521. package/src/facade/math.d.ts +0 -2
  522. package/src/facade/math.js +0 -5
  523. package/src/facade/math.js.map +0 -1
  524. package/src/facade/math.metadata.json +0 -1
  525. package/src/platform_browser.d.ts +0 -10
  526. package/src/platform_browser.js +0 -43
  527. package/src/platform_browser.js.map +0 -1
  528. package/src/platform_browser_static.d.ts +0 -16
  529. package/src/platform_browser_static.js +0 -42
  530. package/src/platform_browser_static.js.map +0 -1
  531. package/src/platform_browser_static.metadata.json +0 -1
  532. package/testing/animation_builder_mock.d.ts +0 -6
  533. package/testing/animation_builder_mock.js +0 -53
  534. package/testing/animation_builder_mock.js.map +0 -1
  535. package/testing/animation_builder_mock.metadata.json +0 -1
  536. package/testing/browser_static.d.ts +0 -10
  537. package/testing/browser_static.js +0 -55
  538. package/testing/browser_static.js.map +0 -1
  539. package/testing/browser_static.metadata.json +0 -1
  540. package/testing/dom_test_component_renderer.d.ts +0 -9
  541. package/testing/dom_test_component_renderer.js +0 -36
  542. package/testing/dom_test_component_renderer.js.map +0 -1
  543. package/testing/dom_test_component_renderer.metadata.json +0 -1
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || function (d, b) {
3
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
+ function __() { this.constructor = d; }
5
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
+ };
7
+ var core_1 = require('@angular/core');
8
+ var async_1 = require('../../facade/async');
9
+ var collection_1 = require('../../facade/collection');
10
+ var lang_1 = require('../../facade/lang');
11
+ var message_bus_1 = require('./message_bus');
12
+ var serializer_1 = require('./serializer');
13
+ /**
14
+ * @experimental
15
+ */
16
+ var ClientMessageBrokerFactory = (function () {
17
+ function ClientMessageBrokerFactory() {
18
+ }
19
+ return ClientMessageBrokerFactory;
20
+ }());
21
+ exports.ClientMessageBrokerFactory = ClientMessageBrokerFactory;
22
+ var ClientMessageBrokerFactory_ = (function (_super) {
23
+ __extends(ClientMessageBrokerFactory_, _super);
24
+ function ClientMessageBrokerFactory_(_messageBus, _serializer) {
25
+ _super.call(this);
26
+ this._messageBus = _messageBus;
27
+ this._serializer = _serializer;
28
+ }
29
+ /**
30
+ * Initializes the given channel and attaches a new {@link ClientMessageBroker} to it.
31
+ */
32
+ ClientMessageBrokerFactory_.prototype.createMessageBroker = function (channel, runInZone) {
33
+ if (runInZone === void 0) { runInZone = true; }
34
+ this._messageBus.initChannel(channel, runInZone);
35
+ return new ClientMessageBroker_(this._messageBus, this._serializer, channel);
36
+ };
37
+ /** @nocollapse */
38
+ ClientMessageBrokerFactory_.decorators = [
39
+ { type: core_1.Injectable },
40
+ ];
41
+ /** @nocollapse */
42
+ ClientMessageBrokerFactory_.ctorParameters = [
43
+ { type: message_bus_1.MessageBus, },
44
+ { type: serializer_1.Serializer, },
45
+ ];
46
+ return ClientMessageBrokerFactory_;
47
+ }(ClientMessageBrokerFactory));
48
+ exports.ClientMessageBrokerFactory_ = ClientMessageBrokerFactory_;
49
+ /**
50
+ * @experimental
51
+ */
52
+ var ClientMessageBroker = (function () {
53
+ function ClientMessageBroker() {
54
+ }
55
+ return ClientMessageBroker;
56
+ }());
57
+ exports.ClientMessageBroker = ClientMessageBroker;
58
+ var ClientMessageBroker_ = (function (_super) {
59
+ __extends(ClientMessageBroker_, _super);
60
+ function ClientMessageBroker_(messageBus, _serializer, channel /** TODO #9100 */) {
61
+ var _this = this;
62
+ _super.call(this);
63
+ this.channel = channel;
64
+ this._pending = new Map();
65
+ this._sink = messageBus.to(channel);
66
+ this._serializer = _serializer;
67
+ var source = messageBus.from(channel);
68
+ async_1.ObservableWrapper.subscribe(source, function (message) { return _this._handleMessage(message); });
69
+ }
70
+ ClientMessageBroker_.prototype._generateMessageId = function (name) {
71
+ var time = lang_1.stringify(lang_1.DateWrapper.toMillis(lang_1.DateWrapper.now()));
72
+ var iteration = 0;
73
+ var id = name + time + lang_1.stringify(iteration);
74
+ while (lang_1.isPresent(this._pending[id])) {
75
+ id = "" + name + time + iteration;
76
+ iteration++;
77
+ }
78
+ return id;
79
+ };
80
+ ClientMessageBroker_.prototype.runOnService = function (args, returnType) {
81
+ var _this = this;
82
+ var fnArgs = [];
83
+ if (lang_1.isPresent(args.args)) {
84
+ args.args.forEach(function (argument) {
85
+ if (argument.type != null) {
86
+ fnArgs.push(_this._serializer.serialize(argument.value, argument.type));
87
+ }
88
+ else {
89
+ fnArgs.push(argument.value);
90
+ }
91
+ });
92
+ }
93
+ var promise;
94
+ var id = null;
95
+ if (returnType != null) {
96
+ var completer = async_1.PromiseWrapper.completer();
97
+ id = this._generateMessageId(args.method);
98
+ this._pending.set(id, completer);
99
+ async_1.PromiseWrapper.catchError(completer.promise, function (err, stack) {
100
+ lang_1.print(err);
101
+ completer.reject(err, stack);
102
+ });
103
+ promise = async_1.PromiseWrapper.then(completer.promise, function (value) {
104
+ if (_this._serializer == null) {
105
+ return value;
106
+ }
107
+ else {
108
+ return _this._serializer.deserialize(value, returnType);
109
+ }
110
+ });
111
+ }
112
+ else {
113
+ promise = null;
114
+ }
115
+ // TODO(jteplitz602): Create a class for these messages so we don't keep using StringMap #3685
116
+ var message = { 'method': args.method, 'args': fnArgs };
117
+ if (id != null) {
118
+ message['id'] = id;
119
+ }
120
+ async_1.ObservableWrapper.callEmit(this._sink, message);
121
+ return promise;
122
+ };
123
+ ClientMessageBroker_.prototype._handleMessage = function (message) {
124
+ var data = new MessageData(message);
125
+ // TODO(jteplitz602): replace these strings with messaging constants #3685
126
+ if (lang_1.StringWrapper.equals(data.type, 'result') || lang_1.StringWrapper.equals(data.type, 'error')) {
127
+ var id = data.id;
128
+ if (this._pending.has(id)) {
129
+ if (lang_1.StringWrapper.equals(data.type, 'result')) {
130
+ this._pending.get(id).resolve(data.value);
131
+ }
132
+ else {
133
+ this._pending.get(id).reject(data.value, null);
134
+ }
135
+ this._pending.delete(id);
136
+ }
137
+ }
138
+ };
139
+ return ClientMessageBroker_;
140
+ }(ClientMessageBroker));
141
+ exports.ClientMessageBroker_ = ClientMessageBroker_;
142
+ var MessageData = (function () {
143
+ function MessageData(data) {
144
+ this.type = collection_1.StringMapWrapper.get(data, 'type');
145
+ this.id = this._getValueIfPresent(data, 'id');
146
+ this.value = this._getValueIfPresent(data, 'value');
147
+ }
148
+ /**
149
+ * Returns the value from the StringMap if present. Otherwise returns null
150
+ * @internal
151
+ */
152
+ MessageData.prototype._getValueIfPresent = function (data, key) {
153
+ if (collection_1.StringMapWrapper.contains(data, key)) {
154
+ return collection_1.StringMapWrapper.get(data, key);
155
+ }
156
+ else {
157
+ return null;
158
+ }
159
+ };
160
+ return MessageData;
161
+ }());
162
+ /**
163
+ * @experimental
164
+ */
165
+ var FnArg = (function () {
166
+ function FnArg(value /** TODO #9100 */, type) {
167
+ this.value = value;
168
+ this.type = type;
169
+ }
170
+ return FnArg;
171
+ }());
172
+ exports.FnArg = FnArg;
173
+ /**
174
+ * @experimental
175
+ */
176
+ var UiArguments = (function () {
177
+ function UiArguments(method, args) {
178
+ this.method = method;
179
+ this.args = args;
180
+ }
181
+ return UiArguments;
182
+ }());
183
+ exports.UiArguments = UiArguments;
184
+ //# sourceMappingURL=client_message_broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client_message_broker.js","sourceRoot":"","sources":["../../../../../../modules/@angular/platform-browser/src/web_workers/shared/client_message_broker.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable, Type} from '@angular/core';\n\nimport {EventEmitter, ObservableWrapper, PromiseCompleter, PromiseWrapper} from '../../facade/async';\nimport {StringMapWrapper} from '../../facade/collection';\nimport {DateWrapper, StringWrapper, isPresent, print, stringify} from '../../facade/lang';\n\nimport {MessageBus} from './message_bus';\nimport {Serializer} from './serializer';\n\n/**\n * @experimental\n */\nexport abstract class ClientMessageBrokerFactory {\n /**\n * Initializes the given channel and attaches a new {@link ClientMessageBroker} to it.\n */\n abstract createMessageBroker(channel: string, runInZone?: boolean): ClientMessageBroker;\n}\nexport class ClientMessageBrokerFactory_ extends ClientMessageBrokerFactory {\n /** @internal */\n _serializer: Serializer;\n constructor(private _messageBus: MessageBus, _serializer: Serializer) {\n super();\n this._serializer = _serializer;\n }\n\n /**\n * Initializes the given channel and attaches a new {@link ClientMessageBroker} to it.\n */\n createMessageBroker(channel: string, runInZone: boolean = true): ClientMessageBroker {\n this._messageBus.initChannel(channel, runInZone);\n return new ClientMessageBroker_(this._messageBus, this._serializer, channel);\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: MessageBus, },\n{type: Serializer, },\n];\n}\n\n/**\n * @experimental\n */\nexport abstract class ClientMessageBroker {\n abstract runOnService(args: UiArguments, returnType: Type): Promise<any>;\n}\n\nexport class ClientMessageBroker_ extends ClientMessageBroker {\n private _pending: Map<string, PromiseCompleter<any>> = new Map<string, PromiseCompleter<any>>();\n private _sink: EventEmitter<any>;\n /** @internal */\n public _serializer: Serializer;\n\n constructor(\n messageBus: MessageBus, _serializer: Serializer, public channel: any /** TODO #9100 */) {\n super();\n this._sink = messageBus.to(channel);\n this._serializer = _serializer;\n var source = messageBus.from(channel);\n ObservableWrapper.subscribe(\n source, (message: {[key: string]: any}) => this._handleMessage(message));\n }\n\n private _generateMessageId(name: string): string {\n var time: string = stringify(DateWrapper.toMillis(DateWrapper.now()));\n var iteration: number = 0;\n var id: string = name + time + stringify(iteration);\n while (isPresent((this as any /** TODO #9100 */)._pending[id])) {\n id = `${name}${time}${iteration}`;\n iteration++;\n }\n return id;\n }\n\n runOnService(args: UiArguments, returnType: Type): Promise<any> {\n var fnArgs: any[] /** TODO #9100 */ = [];\n if (isPresent(args.args)) {\n args.args.forEach(argument => {\n if (argument.type != null) {\n fnArgs.push(this._serializer.serialize(argument.value, argument.type));\n } else {\n fnArgs.push(argument.value);\n }\n });\n }\n\n var promise: Promise<any>;\n var id: string = null;\n if (returnType != null) {\n var completer: PromiseCompleter<any> = PromiseWrapper.completer();\n id = this._generateMessageId(args.method);\n this._pending.set(id, completer);\n PromiseWrapper.catchError(completer.promise, (err, stack?) => {\n print(err);\n completer.reject(err, stack);\n });\n\n promise = PromiseWrapper.then(completer.promise, (value: any) => {\n if (this._serializer == null) {\n return value;\n } else {\n return this._serializer.deserialize(value, returnType);\n }\n });\n } else {\n promise = null;\n }\n\n // TODO(jteplitz602): Create a class for these messages so we don't keep using StringMap #3685\n var message = {'method': args.method, 'args': fnArgs};\n if (id != null) {\n (message as any /** TODO #9100 */)['id'] = id;\n }\n ObservableWrapper.callEmit(this._sink, message);\n\n return promise;\n }\n\n private _handleMessage(message: {[key: string]: any}): void {\n var data = new MessageData(message);\n // TODO(jteplitz602): replace these strings with messaging constants #3685\n if (StringWrapper.equals(data.type, 'result') || StringWrapper.equals(data.type, 'error')) {\n var id = data.id;\n if (this._pending.has(id)) {\n if (StringWrapper.equals(data.type, 'result')) {\n this._pending.get(id).resolve(data.value);\n } else {\n this._pending.get(id).reject(data.value, null);\n }\n this._pending.delete(id);\n }\n }\n }\n}\n\nclass MessageData {\n type: string;\n value: any;\n id: string;\n\n constructor(data: {[key: string]: any}) {\n this.type = StringMapWrapper.get(data, 'type');\n this.id = this._getValueIfPresent(data, 'id');\n this.value = this._getValueIfPresent(data, 'value');\n }\n\n /**\n * Returns the value from the StringMap if present. Otherwise returns null\n * @internal\n */\n _getValueIfPresent(data: {[key: string]: any}, key: string) {\n if (StringMapWrapper.contains(data, key)) {\n return StringMapWrapper.get(data, key);\n } else {\n return null;\n }\n }\n}\n\n/**\n * @experimental\n */\nexport class FnArg {\n constructor(public value: any /** TODO #9100 */, public type: Type) {}\n}\n\n/**\n * @experimental\n */\nexport class UiArguments {\n constructor(public method: string, public args?: FnArg[]) {}\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"ClientMessageBrokerFactory_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./message_bus","name":"MessageBus"},{"__symbolic":"reference","module":"./serializer","name":"Serializer"}]}],"createMessageBroker":[{"__symbolic":"method"}]}}}}
@@ -0,0 +1,82 @@
1
+ import { NgZone } from '@angular/core';
2
+ import { EventEmitter } from '../../facade/async';
3
+ /**
4
+ * Message Bus is a low level API used to communicate between the UI and the background.
5
+ * Communication is based on a channel abstraction. Messages published in a
6
+ * given channel to one MessageBusSink are received on the same channel
7
+ * by the corresponding MessageBusSource.
8
+ * @experimental
9
+ */
10
+ export declare abstract class MessageBus implements MessageBusSource, MessageBusSink {
11
+ /**
12
+ * Sets up a new channel on the MessageBus.
13
+ * MUST be called before calling from or to on the channel.
14
+ * If runInZone is true then the source will emit events inside the angular zone
15
+ * and the sink will buffer messages and send only once the zone exits.
16
+ * if runInZone is false then the source will emit events inside the global zone
17
+ * and the sink will send messages immediately.
18
+ */
19
+ abstract initChannel(channel: string, runInZone?: boolean): void;
20
+ /**
21
+ * Assigns this bus to the given zone.
22
+ * Any callbacks attached to channels where runInZone was set to true on initialization
23
+ * will be executed in the given zone.
24
+ */
25
+ abstract attachToZone(zone: NgZone): void;
26
+ /**
27
+ * Returns an {@link EventEmitter} that emits every time a message
28
+ * is received on the given channel.
29
+ */
30
+ abstract from(channel: string): EventEmitter<any>;
31
+ /**
32
+ * Returns an {@link EventEmitter} for the given channel
33
+ * To publish methods to that channel just call next (or add in dart) on the returned emitter
34
+ */
35
+ abstract to(channel: string): EventEmitter<any>;
36
+ }
37
+ /**
38
+ * @experimental
39
+ */
40
+ export interface MessageBusSource {
41
+ /**
42
+ * Sets up a new channel on the MessageBusSource.
43
+ * MUST be called before calling from on the channel.
44
+ * If runInZone is true then the source will emit events inside the angular zone.
45
+ * if runInZone is false then the source will emit events inside the global zone.
46
+ */
47
+ initChannel(channel: string, runInZone: boolean): void;
48
+ /**
49
+ * Assigns this source to the given zone.
50
+ * Any channels which are initialized with runInZone set to true will emit events that will be
51
+ * executed within the given zone.
52
+ */
53
+ attachToZone(zone: NgZone): void;
54
+ /**
55
+ * Returns an {@link EventEmitter} that emits every time a message
56
+ * is received on the given channel.
57
+ */
58
+ from(channel: string): EventEmitter<any>;
59
+ }
60
+ /**
61
+ * @experimental
62
+ */
63
+ export interface MessageBusSink {
64
+ /**
65
+ * Sets up a new channel on the MessageBusSink.
66
+ * MUST be called before calling to on the channel.
67
+ * If runInZone is true the sink will buffer messages and send only once the zone exits.
68
+ * if runInZone is false the sink will send messages immediatly.
69
+ */
70
+ initChannel(channel: string, runInZone: boolean): void;
71
+ /**
72
+ * Assigns this sink to the given zone.
73
+ * Any channels which are initialized with runInZone set to true will wait for the given zone
74
+ * to exit before sending messages.
75
+ */
76
+ attachToZone(zone: NgZone): void;
77
+ /**
78
+ * Returns an {@link EventEmitter} for the given channel
79
+ * To publish methods to that channel just call next (or add in dart) on the returned emitter
80
+ */
81
+ to(channel: string): EventEmitter<any>;
82
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Message Bus is a low level API used to communicate between the UI and the background.
4
+ * Communication is based on a channel abstraction. Messages published in a
5
+ * given channel to one MessageBusSink are received on the same channel
6
+ * by the corresponding MessageBusSource.
7
+ * @experimental
8
+ */
9
+ var MessageBus = (function () {
10
+ function MessageBus() {
11
+ }
12
+ return MessageBus;
13
+ }());
14
+ exports.MessageBus = MessageBus;
15
+ //# sourceMappingURL=message_bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message_bus.js","sourceRoot":"","sources":["../../../../../../modules/@angular/platform-browser/src/web_workers/shared/message_bus.ts"],"names":[],"mappings":";AAKA;;;;;;GAMG;AACH;IAAA;IA8BA,CAAC;IAAD,iBAAC;AAAD,CAAC,AA9BD,IA8BC;AA9BqB,kBAAU,aA8B/B,CAAA","sourcesContent":["import {NgZone} from '@angular/core';\n\nimport {EventEmitter} from '../../facade/async';\n\n\n/**\n * Message Bus is a low level API used to communicate between the UI and the background.\n * Communication is based on a channel abstraction. Messages published in a\n * given channel to one MessageBusSink are received on the same channel\n * by the corresponding MessageBusSource.\n * @experimental\n */\nexport abstract class MessageBus implements MessageBusSource, MessageBusSink {\n /**\n * Sets up a new channel on the MessageBus.\n * MUST be called before calling from or to on the channel.\n * If runInZone is true then the source will emit events inside the angular zone\n * and the sink will buffer messages and send only once the zone exits.\n * if runInZone is false then the source will emit events inside the global zone\n * and the sink will send messages immediately.\n */\n abstract initChannel(channel: string, runInZone?: boolean): void;\n\n /**\n * Assigns this bus to the given zone.\n * Any callbacks attached to channels where runInZone was set to true on initialization\n * will be executed in the given zone.\n */\n abstract attachToZone(zone: NgZone): void;\n\n /**\n * Returns an {@link EventEmitter} that emits every time a message\n * is received on the given channel.\n */\n abstract from(channel: string): EventEmitter<any>;\n\n\n /**\n * Returns an {@link EventEmitter} for the given channel\n * To publish methods to that channel just call next (or add in dart) on the returned emitter\n */\n abstract to(channel: string): EventEmitter<any>;\n}\n\n/**\n * @experimental\n */\nexport interface MessageBusSource {\n /**\n * Sets up a new channel on the MessageBusSource.\n * MUST be called before calling from on the channel.\n * If runInZone is true then the source will emit events inside the angular zone.\n * if runInZone is false then the source will emit events inside the global zone.\n */\n initChannel(channel: string, runInZone: boolean): void;\n\n /**\n * Assigns this source to the given zone.\n * Any channels which are initialized with runInZone set to true will emit events that will be\n * executed within the given zone.\n */\n attachToZone(zone: NgZone): void;\n\n /**\n * Returns an {@link EventEmitter} that emits every time a message\n * is received on the given channel.\n */\n from(channel: string): EventEmitter<any>;\n}\n\n/**\n * @experimental\n */\nexport interface MessageBusSink {\n /**\n * Sets up a new channel on the MessageBusSink.\n * MUST be called before calling to on the channel.\n * If runInZone is true the sink will buffer messages and send only once the zone exits.\n * if runInZone is false the sink will send messages immediatly.\n */\n initChannel(channel: string, runInZone: boolean): void;\n\n /**\n * Assigns this sink to the given zone.\n * Any channels which are initialized with runInZone set to true will wait for the given zone\n * to exit before sending messages.\n */\n attachToZone(zone: NgZone): void;\n\n /**\n * Returns an {@link EventEmitter} for the given channel\n * To publish methods to that channel just call next (or add in dart) on the returned emitter\n */\n to(channel: string): EventEmitter<any>;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * All channels used by angular's WebWorker components are listed here.
3
+ * You should not use these channels in your application code.
4
+ */
5
+ export declare const RENDERER_CHANNEL: string;
6
+ export declare const EVENT_CHANNEL: string;
7
+ export declare const ROUTER_CHANNEL: string;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * All channels used by angular's WebWorker components are listed here.
4
+ * You should not use these channels in your application code.
5
+ */
6
+ exports.RENDERER_CHANNEL = 'ng-Renderer';
7
+ exports.EVENT_CHANNEL = 'ng-Events';
8
+ exports.ROUTER_CHANNEL = 'ng-Router';
9
+ //# sourceMappingURL=messaging_api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging_api.js","sourceRoot":"","sources":["../../../../../../modules/@angular/platform-browser/src/web_workers/shared/messaging_api.ts"],"names":[],"mappings":";AAAA;;;GAGG;AACU,wBAAgB,GAAG,aAAa,CAAC;AACjC,qBAAa,GAAG,WAAW,CAAC;AAC5B,sBAAc,GAAG,WAAW,CAAC","sourcesContent":["/**\n * All channels used by angular's WebWorker components are listed here.\n * You should not use these channels in your application code.\n */\nexport const RENDERER_CHANNEL = 'ng-Renderer';\nexport const EVENT_CHANNEL = 'ng-Events';\nexport const ROUTER_CHANNEL = 'ng-Router';\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"RENDERER_CHANNEL":"ng-Renderer","EVENT_CHANNEL":"ng-Events","ROUTER_CHANNEL":"ng-Router"}}
@@ -0,0 +1,41 @@
1
+ import { NgZone } from '@angular/core';
2
+ import { EventEmitter } from '../../facade/async';
3
+ import { MessageBus, MessageBusSink, MessageBusSource } from './message_bus';
4
+ export interface PostMessageTarget {
5
+ postMessage: (message: any, transfer?: [ArrayBuffer]) => void;
6
+ }
7
+ export declare class PostMessageBusSink implements MessageBusSink {
8
+ private _postMessageTarget;
9
+ private _zone;
10
+ private _channels;
11
+ private _messageBuffer;
12
+ constructor(_postMessageTarget: PostMessageTarget);
13
+ attachToZone(zone: NgZone): void;
14
+ initChannel(channel: string, runInZone?: boolean): void;
15
+ to(channel: string): EventEmitter<any>;
16
+ private _handleOnEventDone();
17
+ private _sendMessages(messages);
18
+ }
19
+ export declare class PostMessageBusSource implements MessageBusSource {
20
+ private _zone;
21
+ private _channels;
22
+ constructor(eventTarget?: EventTarget);
23
+ attachToZone(zone: NgZone): void;
24
+ initChannel(channel: string, runInZone?: boolean): void;
25
+ from(channel: string): EventEmitter<any>;
26
+ private _handleMessages(ev);
27
+ private _handleMessage(data);
28
+ }
29
+ /**
30
+ * A TypeScript implementation of {@link MessageBus} for communicating via JavaScript's
31
+ * postMessage API.
32
+ */
33
+ export declare class PostMessageBus implements MessageBus {
34
+ sink: PostMessageBusSink;
35
+ source: PostMessageBusSource;
36
+ constructor(sink: PostMessageBusSink, source: PostMessageBusSource);
37
+ attachToZone(zone: NgZone): void;
38
+ initChannel(channel: string, runInZone?: boolean): void;
39
+ from(channel: string): EventEmitter<any>;
40
+ to(channel: string): EventEmitter<any>;
41
+ }
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var core_1 = require('@angular/core');
3
+ var async_1 = require('../../facade/async');
4
+ var collection_1 = require('../../facade/collection');
5
+ var exceptions_1 = require('../../facade/exceptions');
6
+ var PostMessageBusSink = (function () {
7
+ function PostMessageBusSink(_postMessageTarget) {
8
+ this._postMessageTarget = _postMessageTarget;
9
+ this._channels = collection_1.StringMapWrapper.create();
10
+ this._messageBuffer = [];
11
+ }
12
+ PostMessageBusSink.prototype.attachToZone = function (zone) {
13
+ var _this = this;
14
+ this._zone = zone;
15
+ this._zone.runOutsideAngular(function () {
16
+ async_1.ObservableWrapper.subscribe(_this._zone.onStable, function (_) { _this._handleOnEventDone(); });
17
+ });
18
+ };
19
+ PostMessageBusSink.prototype.initChannel = function (channel, runInZone) {
20
+ var _this = this;
21
+ if (runInZone === void 0) { runInZone = true; }
22
+ if (collection_1.StringMapWrapper.contains(this._channels, channel)) {
23
+ throw new exceptions_1.BaseException(channel + " has already been initialized");
24
+ }
25
+ var emitter = new async_1.EventEmitter(false);
26
+ var channelInfo = new _Channel(emitter, runInZone);
27
+ this._channels[channel] = channelInfo;
28
+ emitter.subscribe(function (data) {
29
+ var message = { channel: channel, message: data };
30
+ if (runInZone) {
31
+ _this._messageBuffer.push(message);
32
+ }
33
+ else {
34
+ _this._sendMessages([message]);
35
+ }
36
+ });
37
+ };
38
+ PostMessageBusSink.prototype.to = function (channel) {
39
+ if (collection_1.StringMapWrapper.contains(this._channels, channel)) {
40
+ return this._channels[channel].emitter;
41
+ }
42
+ else {
43
+ throw new exceptions_1.BaseException(channel + " is not set up. Did you forget to call initChannel?");
44
+ }
45
+ };
46
+ PostMessageBusSink.prototype._handleOnEventDone = function () {
47
+ if (this._messageBuffer.length > 0) {
48
+ this._sendMessages(this._messageBuffer);
49
+ this._messageBuffer = [];
50
+ }
51
+ };
52
+ PostMessageBusSink.prototype._sendMessages = function (messages) { this._postMessageTarget.postMessage(messages); };
53
+ return PostMessageBusSink;
54
+ }());
55
+ exports.PostMessageBusSink = PostMessageBusSink;
56
+ var PostMessageBusSource = (function () {
57
+ function PostMessageBusSource(eventTarget) {
58
+ var _this = this;
59
+ this._channels = collection_1.StringMapWrapper.create();
60
+ if (eventTarget) {
61
+ eventTarget.addEventListener('message', function (ev) { return _this._handleMessages(ev); });
62
+ }
63
+ else {
64
+ // if no eventTarget is given we assume we're in a WebWorker and listen on the global scope
65
+ var workerScope = self;
66
+ workerScope.addEventListener('message', function (ev) { return _this._handleMessages(ev); });
67
+ }
68
+ }
69
+ PostMessageBusSource.prototype.attachToZone = function (zone) { this._zone = zone; };
70
+ PostMessageBusSource.prototype.initChannel = function (channel, runInZone) {
71
+ if (runInZone === void 0) { runInZone = true; }
72
+ if (collection_1.StringMapWrapper.contains(this._channels, channel)) {
73
+ throw new exceptions_1.BaseException(channel + " has already been initialized");
74
+ }
75
+ var emitter = new async_1.EventEmitter(false);
76
+ var channelInfo = new _Channel(emitter, runInZone);
77
+ this._channels[channel] = channelInfo;
78
+ };
79
+ PostMessageBusSource.prototype.from = function (channel) {
80
+ if (collection_1.StringMapWrapper.contains(this._channels, channel)) {
81
+ return this._channels[channel].emitter;
82
+ }
83
+ else {
84
+ throw new exceptions_1.BaseException(channel + " is not set up. Did you forget to call initChannel?");
85
+ }
86
+ };
87
+ PostMessageBusSource.prototype._handleMessages = function (ev) {
88
+ var messages = ev.data;
89
+ for (var i = 0; i < messages.length; i++) {
90
+ this._handleMessage(messages[i]);
91
+ }
92
+ };
93
+ PostMessageBusSource.prototype._handleMessage = function (data) {
94
+ var channel = data.channel;
95
+ if (collection_1.StringMapWrapper.contains(this._channels, channel)) {
96
+ var channelInfo = this._channels[channel];
97
+ if (channelInfo.runInZone) {
98
+ this._zone.run(function () { channelInfo.emitter.emit(data.message); });
99
+ }
100
+ else {
101
+ channelInfo.emitter.emit(data.message);
102
+ }
103
+ }
104
+ };
105
+ return PostMessageBusSource;
106
+ }());
107
+ exports.PostMessageBusSource = PostMessageBusSource;
108
+ var PostMessageBus = (function () {
109
+ function PostMessageBus(sink, source) {
110
+ this.sink = sink;
111
+ this.source = source;
112
+ }
113
+ PostMessageBus.prototype.attachToZone = function (zone) {
114
+ this.source.attachToZone(zone);
115
+ this.sink.attachToZone(zone);
116
+ };
117
+ PostMessageBus.prototype.initChannel = function (channel, runInZone) {
118
+ if (runInZone === void 0) { runInZone = true; }
119
+ this.source.initChannel(channel, runInZone);
120
+ this.sink.initChannel(channel, runInZone);
121
+ };
122
+ PostMessageBus.prototype.from = function (channel) { return this.source.from(channel); };
123
+ PostMessageBus.prototype.to = function (channel) { return this.sink.to(channel); };
124
+ /** @nocollapse */
125
+ PostMessageBus.decorators = [
126
+ { type: core_1.Injectable },
127
+ ];
128
+ /** @nocollapse */
129
+ PostMessageBus.ctorParameters = [
130
+ { type: PostMessageBusSink, },
131
+ { type: PostMessageBusSource, },
132
+ ];
133
+ return PostMessageBus;
134
+ }());
135
+ exports.PostMessageBus = PostMessageBus;
136
+ /**
137
+ * Helper class that wraps a channel's {@link EventEmitter} and
138
+ * keeps track of if it should run in the zone.
139
+ */
140
+ var _Channel = (function () {
141
+ function _Channel(emitter, runInZone) {
142
+ this.emitter = emitter;
143
+ this.runInZone = runInZone;
144
+ }
145
+ return _Channel;
146
+ }());
147
+ //# sourceMappingURL=post_message_bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post_message_bus.js","sourceRoot":"","sources":["../../../../../../modules/@angular/platform-browser/src/web_workers/shared/post_message_bus.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable, NgZone} from '@angular/core';\n\nimport {EventEmitter, ObservableWrapper} from '../../facade/async';\nimport {StringMapWrapper} from '../../facade/collection';\nimport {BaseException} from '../../facade/exceptions';\n\nimport {MessageBus, MessageBusSink, MessageBusSource} from './message_bus';\n\n\n// TODO(jteplitz602) Replace this with the definition in lib.webworker.d.ts(#3492)\nexport interface PostMessageTarget {\n postMessage: (message: any, transfer?: [ArrayBuffer]) => void;\n}\n\nexport class PostMessageBusSink implements MessageBusSink {\n private _zone: NgZone;\n private _channels: {[key: string]: _Channel} = StringMapWrapper.create();\n private _messageBuffer: Array<Object> = [];\n\n constructor(private _postMessageTarget: PostMessageTarget) {}\n\n attachToZone(zone: NgZone): void {\n this._zone = zone;\n this._zone.runOutsideAngular(() => {\n ObservableWrapper.subscribe(this._zone.onStable, (_) => { this._handleOnEventDone(); });\n });\n }\n\n initChannel(channel: string, runInZone: boolean = true): void {\n if (StringMapWrapper.contains(this._channels, channel)) {\n throw new BaseException(`${channel} has already been initialized`);\n }\n\n var emitter = new EventEmitter(false);\n var channelInfo = new _Channel(emitter, runInZone);\n this._channels[channel] = channelInfo;\n emitter.subscribe((data: Object) => {\n var message = {channel: channel, message: data};\n if (runInZone) {\n this._messageBuffer.push(message);\n } else {\n this._sendMessages([message]);\n }\n });\n }\n\n to(channel: string): EventEmitter<any> {\n if (StringMapWrapper.contains(this._channels, channel)) {\n return this._channels[channel].emitter;\n } else {\n throw new BaseException(`${channel} is not set up. Did you forget to call initChannel?`);\n }\n }\n\n private _handleOnEventDone() {\n if (this._messageBuffer.length > 0) {\n this._sendMessages(this._messageBuffer);\n this._messageBuffer = [];\n }\n }\n\n private _sendMessages(messages: Array<Object>) { this._postMessageTarget.postMessage(messages); }\n}\n\nexport class PostMessageBusSource implements MessageBusSource {\n private _zone: NgZone;\n private _channels: {[key: string]: _Channel} = StringMapWrapper.create();\n\n constructor(eventTarget?: EventTarget) {\n if (eventTarget) {\n eventTarget.addEventListener('message', (ev: MessageEvent) => this._handleMessages(ev));\n } else {\n // if no eventTarget is given we assume we're in a WebWorker and listen on the global scope\n const workerScope = <EventTarget>self;\n workerScope.addEventListener('message', (ev: MessageEvent) => this._handleMessages(ev));\n }\n }\n\n attachToZone(zone: NgZone) { this._zone = zone; }\n\n initChannel(channel: string, runInZone: boolean = true) {\n if (StringMapWrapper.contains(this._channels, channel)) {\n throw new BaseException(`${channel} has already been initialized`);\n }\n\n var emitter = new EventEmitter(false);\n var channelInfo = new _Channel(emitter, runInZone);\n this._channels[channel] = channelInfo;\n }\n\n from(channel: string): EventEmitter<any> {\n if (StringMapWrapper.contains(this._channels, channel)) {\n return this._channels[channel].emitter;\n } else {\n throw new BaseException(`${channel} is not set up. Did you forget to call initChannel?`);\n }\n }\n\n private _handleMessages(ev: MessageEvent): void {\n var messages = ev.data;\n for (var i = 0; i < messages.length; i++) {\n this._handleMessage(messages[i]);\n }\n }\n\n private _handleMessage(data: any): void {\n var channel = data.channel;\n if (StringMapWrapper.contains(this._channels, channel)) {\n var channelInfo = this._channels[channel];\n if (channelInfo.runInZone) {\n this._zone.run(() => { channelInfo.emitter.emit(data.message); });\n } else {\n channelInfo.emitter.emit(data.message);\n }\n }\n }\n}\nexport class PostMessageBus implements MessageBus {\n constructor(public sink: PostMessageBusSink, public source: PostMessageBusSource) {}\n\n attachToZone(zone: NgZone): void {\n this.source.attachToZone(zone);\n this.sink.attachToZone(zone);\n }\n\n initChannel(channel: string, runInZone: boolean = true): void {\n this.source.initChannel(channel, runInZone);\n this.sink.initChannel(channel, runInZone);\n }\n\n from(channel: string): EventEmitter<any> { return this.source.from(channel); }\n\n to(channel: string): EventEmitter<any> { return this.sink.to(channel); }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: PostMessageBusSink, },\n{type: PostMessageBusSource, },\n];\n}\n\n/**\n * Helper class that wraps a channel's {@link EventEmitter} and\n * keeps track of if it should run in the zone.\n */\nclass _Channel {\n constructor(public emitter: EventEmitter<any>, public runInZone: boolean) {}\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"PostMessageBus":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PostMessageBusSink"},{"__symbolic":"reference","name":"PostMessageBusSource"}]}],"attachToZone":[{"__symbolic":"method"}],"initChannel":[{"__symbolic":"method"}],"from":[{"__symbolic":"method"}],"to":[{"__symbolic":"method"}]}}}}
@@ -0,0 +1,11 @@
1
+ export declare class RenderStore {
2
+ private _nextIndex;
3
+ private _lookupById;
4
+ private _lookupByObject;
5
+ constructor();
6
+ allocateId(): number;
7
+ store(obj: any, id: number): void;
8
+ remove(obj: any): void;
9
+ deserialize(id: number): any;
10
+ serialize(obj: any): number;
11
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var core_1 = require('@angular/core');
3
+ var RenderStore = (function () {
4
+ function RenderStore() {
5
+ this._nextIndex = 0;
6
+ this._lookupById = new Map();
7
+ this._lookupByObject = new Map();
8
+ }
9
+ RenderStore.prototype.allocateId = function () { return this._nextIndex++; };
10
+ RenderStore.prototype.store = function (obj, id) {
11
+ this._lookupById.set(id, obj);
12
+ this._lookupByObject.set(obj, id);
13
+ };
14
+ RenderStore.prototype.remove = function (obj) {
15
+ var index = this._lookupByObject.get(obj);
16
+ this._lookupByObject.delete(obj);
17
+ this._lookupById.delete(index);
18
+ };
19
+ RenderStore.prototype.deserialize = function (id) {
20
+ if (id == null) {
21
+ return null;
22
+ }
23
+ if (!this._lookupById.has(id)) {
24
+ return null;
25
+ }
26
+ return this._lookupById.get(id);
27
+ };
28
+ RenderStore.prototype.serialize = function (obj) {
29
+ if (obj == null) {
30
+ return null;
31
+ }
32
+ return this._lookupByObject.get(obj);
33
+ };
34
+ /** @nocollapse */
35
+ RenderStore.decorators = [
36
+ { type: core_1.Injectable },
37
+ ];
38
+ /** @nocollapse */
39
+ RenderStore.ctorParameters = [];
40
+ return RenderStore;
41
+ }());
42
+ exports.RenderStore = RenderStore;
43
+ //# sourceMappingURL=render_store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render_store.js","sourceRoot":"","sources":["../../../../../../modules/@angular/platform-browser/src/web_workers/shared/render_store.ts"],"names":[],"mappings":";AAAA,qBAAyB,eAAe,CAAC,CAAA;AACzC;IAKE;QAJQ,eAAU,GAAW,CAAC,CAAC;QAK7B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAe,CAAC;IAChD,CAAC;IAED,gCAAU,GAAV,cAAuB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAElD,2BAAK,GAAL,UAAM,GAAQ,EAAE,EAAU;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,4BAAM,GAAN,UAAO,GAAQ;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,iCAAW,GAAX,UAAY,EAAU;QACpB,EAAE,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,+BAAS,GAAT,UAAU,GAAQ;QAChB,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IACH,kBAAkB;IACX,sBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,iBAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,0BAAc,GAA2D,EAC/E,CAAC;IACF,kBAAC;AAAD,CAAC,AAhDD,IAgDC;AAhDY,mBAAW,cAgDvB,CAAA","sourcesContent":["import {Injectable} from '@angular/core';\nexport class RenderStore {\n private _nextIndex: number = 0;\n private _lookupById: Map<number, any>;\n private _lookupByObject: Map<any, number>;\n\n constructor() {\n this._lookupById = new Map<number, any>();\n this._lookupByObject = new Map<any, number>();\n }\n\n allocateId(): number { return this._nextIndex++; }\n\n store(obj: any, id: number): void {\n this._lookupById.set(id, obj);\n this._lookupByObject.set(obj, id);\n }\n\n remove(obj: any): void {\n var index = this._lookupByObject.get(obj);\n this._lookupByObject.delete(obj);\n this._lookupById.delete(index);\n }\n\n deserialize(id: number): any {\n if (id == null) {\n return null;\n }\n\n if (!this._lookupById.has(id)) {\n return null;\n }\n\n return this._lookupById.get(id);\n }\n\n serialize(obj: any): number {\n if (obj == null) {\n return null;\n }\n return this._lookupByObject.get(obj);\n }\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"]}
@@ -0,0 +1 @@
1
+ {"__symbolic":"module","version":1,"metadata":{"RenderStore":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"allocateId":[{"__symbolic":"method"}],"store":[{"__symbolic":"method"}],"remove":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"serialize":[{"__symbolic":"method"}]}}}}
@@ -0,0 +1,12 @@
1
+ export declare class LocationType {
2
+ href: string;
3
+ protocol: string;
4
+ host: string;
5
+ hostname: string;
6
+ port: string;
7
+ pathname: string;
8
+ search: string;
9
+ hash: string;
10
+ origin: string;
11
+ constructor(href: string, protocol: string, host: string, hostname: string, port: string, pathname: string, search: string, hash: string, origin: string);
12
+ }