@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,156 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ObservableWrapper, PromiseWrapper } from '../../facade/async';
3
+ import { StringMapWrapper } from '../../facade/collection';
4
+ import { DateWrapper, StringWrapper, isPresent, print, stringify } from '../../facade/lang';
5
+ import { MessageBus } from './message_bus';
6
+ import { Serializer } from './serializer';
7
+ /**
8
+ * @experimental
9
+ */
10
+ export class ClientMessageBrokerFactory {
11
+ }
12
+ export class ClientMessageBrokerFactory_ extends ClientMessageBrokerFactory {
13
+ constructor(_messageBus, _serializer) {
14
+ super();
15
+ this._messageBus = _messageBus;
16
+ this._serializer = _serializer;
17
+ }
18
+ /**
19
+ * Initializes the given channel and attaches a new {@link ClientMessageBroker} to it.
20
+ */
21
+ createMessageBroker(channel, runInZone = true) {
22
+ this._messageBus.initChannel(channel, runInZone);
23
+ return new ClientMessageBroker_(this._messageBus, this._serializer, channel);
24
+ }
25
+ }
26
+ /** @nocollapse */
27
+ ClientMessageBrokerFactory_.decorators = [
28
+ { type: Injectable },
29
+ ];
30
+ /** @nocollapse */
31
+ ClientMessageBrokerFactory_.ctorParameters = [
32
+ { type: MessageBus, },
33
+ { type: Serializer, },
34
+ ];
35
+ /**
36
+ * @experimental
37
+ */
38
+ export class ClientMessageBroker {
39
+ }
40
+ export class ClientMessageBroker_ extends ClientMessageBroker {
41
+ constructor(messageBus, _serializer, channel /** TODO #9100 */) {
42
+ super();
43
+ this.channel = channel;
44
+ this._pending = new Map();
45
+ this._sink = messageBus.to(channel);
46
+ this._serializer = _serializer;
47
+ var source = messageBus.from(channel);
48
+ ObservableWrapper.subscribe(source, (message) => this._handleMessage(message));
49
+ }
50
+ _generateMessageId(name) {
51
+ var time = stringify(DateWrapper.toMillis(DateWrapper.now()));
52
+ var iteration = 0;
53
+ var id = name + time + stringify(iteration);
54
+ while (isPresent(this._pending[id])) {
55
+ id = `${name}${time}${iteration}`;
56
+ iteration++;
57
+ }
58
+ return id;
59
+ }
60
+ runOnService(args, returnType) {
61
+ var fnArgs = [];
62
+ if (isPresent(args.args)) {
63
+ args.args.forEach(argument => {
64
+ if (argument.type != null) {
65
+ fnArgs.push(this._serializer.serialize(argument.value, argument.type));
66
+ }
67
+ else {
68
+ fnArgs.push(argument.value);
69
+ }
70
+ });
71
+ }
72
+ var promise;
73
+ var id = null;
74
+ if (returnType != null) {
75
+ var completer = PromiseWrapper.completer();
76
+ id = this._generateMessageId(args.method);
77
+ this._pending.set(id, completer);
78
+ PromiseWrapper.catchError(completer.promise, (err, stack) => {
79
+ print(err);
80
+ completer.reject(err, stack);
81
+ });
82
+ promise = PromiseWrapper.then(completer.promise, (value) => {
83
+ if (this._serializer == null) {
84
+ return value;
85
+ }
86
+ else {
87
+ return this._serializer.deserialize(value, returnType);
88
+ }
89
+ });
90
+ }
91
+ else {
92
+ promise = null;
93
+ }
94
+ // TODO(jteplitz602): Create a class for these messages so we don't keep using StringMap #3685
95
+ var message = { 'method': args.method, 'args': fnArgs };
96
+ if (id != null) {
97
+ message['id'] = id;
98
+ }
99
+ ObservableWrapper.callEmit(this._sink, message);
100
+ return promise;
101
+ }
102
+ _handleMessage(message) {
103
+ var data = new MessageData(message);
104
+ // TODO(jteplitz602): replace these strings with messaging constants #3685
105
+ if (StringWrapper.equals(data.type, 'result') || StringWrapper.equals(data.type, 'error')) {
106
+ var id = data.id;
107
+ if (this._pending.has(id)) {
108
+ if (StringWrapper.equals(data.type, 'result')) {
109
+ this._pending.get(id).resolve(data.value);
110
+ }
111
+ else {
112
+ this._pending.get(id).reject(data.value, null);
113
+ }
114
+ this._pending.delete(id);
115
+ }
116
+ }
117
+ }
118
+ }
119
+ class MessageData {
120
+ constructor(data) {
121
+ this.type = StringMapWrapper.get(data, 'type');
122
+ this.id = this._getValueIfPresent(data, 'id');
123
+ this.value = this._getValueIfPresent(data, 'value');
124
+ }
125
+ /**
126
+ * Returns the value from the StringMap if present. Otherwise returns null
127
+ * @internal
128
+ */
129
+ _getValueIfPresent(data, key) {
130
+ if (StringMapWrapper.contains(data, key)) {
131
+ return StringMapWrapper.get(data, key);
132
+ }
133
+ else {
134
+ return null;
135
+ }
136
+ }
137
+ }
138
+ /**
139
+ * @experimental
140
+ */
141
+ export class FnArg {
142
+ constructor(value /** TODO #9100 */, type) {
143
+ this.value = value;
144
+ this.type = type;
145
+ }
146
+ }
147
+ /**
148
+ * @experimental
149
+ */
150
+ export class UiArguments {
151
+ constructor(method, args) {
152
+ this.method = method;
153
+ this.args = args;
154
+ }
155
+ }
156
+ //# 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,10 @@
1
+ /**
2
+ * Message Bus is a low level API used to communicate between the UI and the background.
3
+ * Communication is based on a channel abstraction. Messages published in a
4
+ * given channel to one MessageBusSink are received on the same channel
5
+ * by the corresponding MessageBusSource.
6
+ * @experimental
7
+ */
8
+ export class MessageBus {
9
+ }
10
+ //# 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;AA8BA,CAAC;AAAA","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,8 @@
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 const RENDERER_CHANNEL = 'ng-Renderer';
6
+ export const EVENT_CHANNEL = 'ng-Events';
7
+ export const ROUTER_CHANNEL = 'ng-Router';
8
+ //# 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;AACH,OAAO,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,OAAO,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,OAAO,MAAM,cAAc,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,133 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EventEmitter, ObservableWrapper } from '../../facade/async';
3
+ import { StringMapWrapper } from '../../facade/collection';
4
+ import { BaseException } from '../../facade/exceptions';
5
+ export class PostMessageBusSink {
6
+ constructor(_postMessageTarget) {
7
+ this._postMessageTarget = _postMessageTarget;
8
+ this._channels = StringMapWrapper.create();
9
+ this._messageBuffer = [];
10
+ }
11
+ attachToZone(zone) {
12
+ this._zone = zone;
13
+ this._zone.runOutsideAngular(() => {
14
+ ObservableWrapper.subscribe(this._zone.onStable, (_) => { this._handleOnEventDone(); });
15
+ });
16
+ }
17
+ initChannel(channel, runInZone = true) {
18
+ if (StringMapWrapper.contains(this._channels, channel)) {
19
+ throw new BaseException(`${channel} has already been initialized`);
20
+ }
21
+ var emitter = new EventEmitter(false);
22
+ var channelInfo = new _Channel(emitter, runInZone);
23
+ this._channels[channel] = channelInfo;
24
+ emitter.subscribe((data) => {
25
+ var message = { channel: channel, message: data };
26
+ if (runInZone) {
27
+ this._messageBuffer.push(message);
28
+ }
29
+ else {
30
+ this._sendMessages([message]);
31
+ }
32
+ });
33
+ }
34
+ to(channel) {
35
+ if (StringMapWrapper.contains(this._channels, channel)) {
36
+ return this._channels[channel].emitter;
37
+ }
38
+ else {
39
+ throw new BaseException(`${channel} is not set up. Did you forget to call initChannel?`);
40
+ }
41
+ }
42
+ _handleOnEventDone() {
43
+ if (this._messageBuffer.length > 0) {
44
+ this._sendMessages(this._messageBuffer);
45
+ this._messageBuffer = [];
46
+ }
47
+ }
48
+ _sendMessages(messages) { this._postMessageTarget.postMessage(messages); }
49
+ }
50
+ export class PostMessageBusSource {
51
+ constructor(eventTarget) {
52
+ this._channels = StringMapWrapper.create();
53
+ if (eventTarget) {
54
+ eventTarget.addEventListener('message', (ev) => this._handleMessages(ev));
55
+ }
56
+ else {
57
+ // if no eventTarget is given we assume we're in a WebWorker and listen on the global scope
58
+ const workerScope = self;
59
+ workerScope.addEventListener('message', (ev) => this._handleMessages(ev));
60
+ }
61
+ }
62
+ attachToZone(zone) { this._zone = zone; }
63
+ initChannel(channel, runInZone = true) {
64
+ if (StringMapWrapper.contains(this._channels, channel)) {
65
+ throw new BaseException(`${channel} has already been initialized`);
66
+ }
67
+ var emitter = new EventEmitter(false);
68
+ var channelInfo = new _Channel(emitter, runInZone);
69
+ this._channels[channel] = channelInfo;
70
+ }
71
+ from(channel) {
72
+ if (StringMapWrapper.contains(this._channels, channel)) {
73
+ return this._channels[channel].emitter;
74
+ }
75
+ else {
76
+ throw new BaseException(`${channel} is not set up. Did you forget to call initChannel?`);
77
+ }
78
+ }
79
+ _handleMessages(ev) {
80
+ var messages = ev.data;
81
+ for (var i = 0; i < messages.length; i++) {
82
+ this._handleMessage(messages[i]);
83
+ }
84
+ }
85
+ _handleMessage(data) {
86
+ var channel = data.channel;
87
+ if (StringMapWrapper.contains(this._channels, channel)) {
88
+ var channelInfo = this._channels[channel];
89
+ if (channelInfo.runInZone) {
90
+ this._zone.run(() => { channelInfo.emitter.emit(data.message); });
91
+ }
92
+ else {
93
+ channelInfo.emitter.emit(data.message);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ export class PostMessageBus {
99
+ constructor(sink, source) {
100
+ this.sink = sink;
101
+ this.source = source;
102
+ }
103
+ attachToZone(zone) {
104
+ this.source.attachToZone(zone);
105
+ this.sink.attachToZone(zone);
106
+ }
107
+ initChannel(channel, runInZone = true) {
108
+ this.source.initChannel(channel, runInZone);
109
+ this.sink.initChannel(channel, runInZone);
110
+ }
111
+ from(channel) { return this.source.from(channel); }
112
+ to(channel) { return this.sink.to(channel); }
113
+ }
114
+ /** @nocollapse */
115
+ PostMessageBus.decorators = [
116
+ { type: Injectable },
117
+ ];
118
+ /** @nocollapse */
119
+ PostMessageBus.ctorParameters = [
120
+ { type: PostMessageBusSink, },
121
+ { type: PostMessageBusSource, },
122
+ ];
123
+ /**
124
+ * Helper class that wraps a channel's {@link EventEmitter} and
125
+ * keeps track of if it should run in the zone.
126
+ */
127
+ class _Channel {
128
+ constructor(emitter, runInZone) {
129
+ this.emitter = emitter;
130
+ this.runInZone = runInZone;
131
+ }
132
+ }
133
+ //# 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,40 @@
1
+ import { Injectable } from '@angular/core';
2
+ export class RenderStore {
3
+ constructor() {
4
+ this._nextIndex = 0;
5
+ this._lookupById = new Map();
6
+ this._lookupByObject = new Map();
7
+ }
8
+ allocateId() { return this._nextIndex++; }
9
+ store(obj, id) {
10
+ this._lookupById.set(id, obj);
11
+ this._lookupByObject.set(obj, id);
12
+ }
13
+ remove(obj) {
14
+ var index = this._lookupByObject.get(obj);
15
+ this._lookupByObject.delete(obj);
16
+ this._lookupById.delete(index);
17
+ }
18
+ deserialize(id) {
19
+ if (id == null) {
20
+ return null;
21
+ }
22
+ if (!this._lookupById.has(id)) {
23
+ return null;
24
+ }
25
+ return this._lookupById.get(id);
26
+ }
27
+ serialize(obj) {
28
+ if (obj == null) {
29
+ return null;
30
+ }
31
+ return this._lookupByObject.get(obj);
32
+ }
33
+ }
34
+ /** @nocollapse */
35
+ RenderStore.decorators = [
36
+ { type: Injectable },
37
+ ];
38
+ /** @nocollapse */
39
+ RenderStore.ctorParameters = [];
40
+ //# 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":"OAAO,EAAC,UAAU,EAAC,MAAM,eAAe;AACxC;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,UAAU,KAAa,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAElD,KAAK,CAAC,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,MAAM,CAAC,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,WAAW,CAAC,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,SAAS,CAAC,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;AAQH,CAAC;AAPD,kBAAkB;AACX,sBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;CACnB,CAAC;AACF,kBAAkB;AACX,0BAAc,GAA2D,EAC/E,CACA","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
+ }
@@ -0,0 +1,16 @@
1
+ // This file contains interface versions of browser types that can be serialized to Plain Old
2
+ // JavaScript Objects
3
+ export class LocationType {
4
+ constructor(href, protocol, host, hostname, port, pathname, search, hash, origin) {
5
+ this.href = href;
6
+ this.protocol = protocol;
7
+ this.host = host;
8
+ this.hostname = hostname;
9
+ this.port = port;
10
+ this.pathname = pathname;
11
+ this.search = search;
12
+ this.hash = hash;
13
+ this.origin = origin;
14
+ }
15
+ }
16
+ //# sourceMappingURL=serialized_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized_types.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/shared/serialized_types.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,qBAAqB;AACrB;IACE,YACW,IAAY,EAAS,QAAgB,EAAS,IAAY,EAAS,QAAgB,EACnF,IAAY,EAAS,QAAgB,EAAS,MAAc,EAAS,IAAY,EACjF,MAAc;QAFd,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QACnF,SAAI,GAAJ,IAAI,CAAQ;QAAS,aAAQ,GAAR,QAAQ,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;QACjF,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;AAC/B,CAAC;AAAA","sourcesContent":["// This file contains interface versions of browser types that can be serialized to Plain Old\n// JavaScript Objects\nexport class LocationType {\n constructor(\n public href: string, public protocol: string, public host: string, public hostname: string,\n public port: string, public pathname: string, public search: string, public hash: string,\n public origin: string) {}\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { Type } from '../../facade/lang';
2
+ import { RenderStore } from './render_store';
3
+ /**
4
+ * @experimental
5
+ */
6
+ export declare const PRIMITIVE: Type;
7
+ export declare class Serializer {
8
+ private _renderStore;
9
+ constructor(_renderStore: RenderStore);
10
+ serialize(obj: any, type: any): Object;
11
+ deserialize(map: any, type: any, data?: any): any;
12
+ private _serializeLocation(loc);
13
+ private _deserializeLocation(loc);
14
+ private _serializeRenderComponentType(obj);
15
+ private _deserializeRenderComponentType(map);
16
+ }
17
+ export declare class RenderStoreObject {
18
+ }