@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.
- package/bundles/platform-browser.umd.js +4685 -0
- package/bundles/platform-browser.umd.min.js +4 -0
- package/core_private.d.ts +23 -1
- package/core_private.js +14 -0
- package/core_private.js.map +1 -1
- package/core_private.metadata.json +1 -1
- package/esm/core_private.d.ts +23 -1
- package/esm/core_private.js +14 -0
- package/esm/core_private.js.map +1 -1
- package/esm/core_private.metadata.json +1 -1
- package/esm/index.d.ts +22 -1
- package/esm/index.js +25 -1
- package/esm/index.js.map +1 -1
- package/esm/index.metadata.json +1 -0
- package/esm/private_export.d.ts +21 -21
- package/esm/private_export.js +11 -21
- package/esm/private_export.js.map +1 -1
- package/esm/private_export.metadata.json +1 -0
- package/esm/src/browser/browser_adapter.d.ts +6 -0
- package/esm/src/browser/browser_adapter.js +146 -76
- package/esm/src/browser/browser_adapter.js.map +1 -1
- package/esm/src/browser/generic_browser_adapter.js +4 -4
- package/esm/src/browser/generic_browser_adapter.js.map +1 -1
- package/esm/src/browser/location/browser_platform_location.d.ts +1 -5
- package/esm/src/browser/location/browser_platform_location.js +16 -3
- package/esm/src/browser/location/browser_platform_location.js.map +1 -1
- package/esm/src/browser/location/browser_platform_location.metadata.json +1 -1
- package/esm/src/browser/location/history.d.ts +1 -0
- package/esm/src/browser/location/history.js +4 -0
- package/esm/src/browser/location/history.js.map +1 -0
- package/esm/src/browser/location/history.metadata.json +1 -0
- package/esm/src/browser/testability.d.ts +1 -1
- package/esm/src/browser/testability.js +7 -5
- package/esm/src/browser/testability.js.map +1 -1
- package/esm/src/browser/title.d.ts +2 -0
- package/esm/src/browser/title.js +2 -0
- package/esm/src/browser/title.js.map +1 -1
- package/esm/src/browser/tools/common_tools.js +2 -2
- package/esm/src/browser/tools/common_tools.js.map +1 -1
- package/esm/src/browser/tools/tools.d.ts +1 -1
- package/esm/src/browser/tools/tools.js +2 -1
- package/esm/src/browser/tools/tools.js.map +1 -1
- package/esm/src/browser.d.ts +15 -0
- package/esm/src/browser.js +76 -0
- package/esm/src/browser.js.map +1 -0
- package/esm/src/browser.metadata.json +1 -0
- package/esm/src/dom/debug/by.d.ts +2 -2
- package/esm/src/dom/debug/by.js +1 -1
- package/esm/src/dom/debug/by.js.map +1 -1
- package/esm/src/dom/debug/ng_probe.js +10 -19
- package/esm/src/dom/debug/ng_probe.js.map +1 -1
- package/esm/src/dom/debug/ng_probe.metadata.json +1 -1
- package/esm/src/dom/dom_adapter.d.ts +7 -5
- package/esm/src/dom/dom_adapter.js +1 -1
- package/esm/src/dom/dom_adapter.js.map +1 -1
- package/esm/src/dom/dom_adapter.metadata.json +1 -0
- package/esm/src/dom/dom_animate_player.d.ts +9 -0
- package/esm/src/dom/dom_animate_player.js +1 -0
- package/esm/src/dom/dom_animate_player.js.map +1 -0
- package/esm/src/dom/dom_renderer.d.ts +9 -19
- package/esm/src/dom/dom_renderer.js +29 -61
- package/esm/src/dom/dom_renderer.js.map +1 -1
- package/esm/src/dom/dom_renderer.metadata.json +1 -1
- package/esm/src/dom/dom_tokens.js.map +1 -1
- package/esm/src/dom/dom_tokens.metadata.json +1 -1
- package/esm/src/dom/events/dom_events.js +3 -2
- package/esm/src/dom/events/dom_events.js.map +1 -1
- package/esm/src/dom/events/dom_events.metadata.json +1 -1
- package/esm/src/dom/events/event_manager.d.ts +1 -3
- package/esm/src/dom/events/event_manager.js +9 -8
- package/esm/src/dom/events/event_manager.js.map +1 -1
- package/esm/src/dom/events/event_manager.metadata.json +1 -1
- package/esm/src/dom/events/hammer_common.js +1 -1
- package/esm/src/dom/events/hammer_common.js.map +1 -1
- package/esm/src/dom/events/hammer_gestures.js +10 -6
- package/esm/src/dom/events/hammer_gestures.js.map +1 -1
- package/esm/src/dom/events/hammer_gestures.metadata.json +1 -1
- package/esm/src/dom/events/key_events.d.ts +0 -2
- package/esm/src/dom/events/key_events.js +5 -3
- package/esm/src/dom/events/key_events.js.map +1 -1
- package/esm/src/dom/events/key_events.metadata.json +1 -1
- package/esm/src/dom/shared_styles_host.d.ts +0 -6
- package/esm/src/dom/shared_styles_host.js +5 -1
- package/esm/src/dom/shared_styles_host.js.map +1 -1
- package/esm/src/dom/shared_styles_host.metadata.json +1 -1
- package/esm/src/dom/util.js +3 -3
- package/esm/src/dom/util.js.map +1 -1
- package/esm/src/dom/util.metadata.json +1 -0
- package/esm/src/dom/web_animations_driver.d.ts +4 -0
- package/esm/src/dom/web_animations_driver.js +118 -0
- package/esm/src/dom/web_animations_driver.js.map +1 -0
- package/esm/src/dom/web_animations_player.d.ts +20 -0
- package/esm/src/dom/web_animations_player.js +42 -0
- package/esm/src/dom/web_animations_player.js.map +1 -0
- package/esm/src/facade/async.d.ts +90 -0
- package/esm/src/facade/async.js +137 -0
- package/esm/src/facade/async.js.map +1 -0
- package/esm/src/facade/base_wrapped_exception.js +4 -4
- package/esm/src/facade/base_wrapped_exception.js.map +1 -1
- package/esm/src/facade/browser.js +2 -2
- package/esm/src/facade/browser.js.map +1 -1
- package/esm/src/facade/browser.metadata.json +1 -1
- package/esm/src/facade/collection.js +1 -1
- package/esm/src/facade/collection.js.map +1 -1
- package/esm/src/facade/collection.metadata.json +1 -1
- package/esm/src/facade/exception_handler.d.ts +2 -11
- package/esm/src/facade/exception_handler.js +8 -7
- package/esm/src/facade/exception_handler.js.map +1 -1
- package/esm/src/facade/exceptions.d.ts +4 -0
- package/esm/src/facade/exceptions.js +6 -2
- package/esm/src/facade/exceptions.js.map +1 -1
- package/esm/src/facade/exceptions.metadata.json +1 -0
- package/esm/src/facade/lang.d.ts +6 -4
- package/esm/src/facade/lang.js +12 -11
- package/esm/src/facade/lang.js.map +1 -1
- package/esm/src/facade/lang.metadata.json +1 -1
- package/esm/src/facade/promise.d.ts +17 -0
- package/esm/src/facade/promise.js +41 -0
- package/esm/src/facade/promise.js.map +1 -0
- package/esm/src/security/dom_sanitization_service.d.ts +4 -5
- package/esm/src/security/dom_sanitization_service.js +7 -9
- package/esm/src/security/dom_sanitization_service.js.map +1 -1
- package/esm/src/security/dom_sanitization_service.metadata.json +1 -1
- package/esm/src/security/html_sanitizer.d.ts +5 -0
- package/esm/src/security/html_sanitizer.js +233 -0
- package/esm/src/security/html_sanitizer.js.map +1 -0
- package/esm/src/security/style_sanitizer.d.ts +4 -0
- package/esm/src/security/style_sanitizer.js +54 -17
- package/esm/src/security/style_sanitizer.js.map +1 -1
- package/esm/src/security/url_sanitizer.js +33 -26
- package/esm/src/security/url_sanitizer.js.map +1 -1
- package/esm/src/web_workers/shared/api.d.ts +2 -0
- package/esm/src/web_workers/shared/api.js +3 -0
- package/esm/src/web_workers/shared/api.js.map +1 -0
- package/esm/src/web_workers/shared/api.metadata.json +1 -0
- package/esm/src/web_workers/shared/client_message_broker.d.ts +51 -0
- package/esm/src/web_workers/shared/client_message_broker.js +156 -0
- package/esm/src/web_workers/shared/client_message_broker.js.map +1 -0
- package/esm/src/web_workers/shared/client_message_broker.metadata.json +1 -0
- package/esm/src/web_workers/shared/message_bus.d.ts +82 -0
- package/esm/src/web_workers/shared/message_bus.js +10 -0
- package/esm/src/web_workers/shared/message_bus.js.map +1 -0
- package/esm/src/web_workers/shared/messaging_api.d.ts +7 -0
- package/esm/src/web_workers/shared/messaging_api.js +8 -0
- package/esm/src/web_workers/shared/messaging_api.js.map +1 -0
- package/esm/src/web_workers/shared/messaging_api.metadata.json +1 -0
- package/esm/src/web_workers/shared/post_message_bus.d.ts +41 -0
- package/esm/src/web_workers/shared/post_message_bus.js +133 -0
- package/esm/src/web_workers/shared/post_message_bus.js.map +1 -0
- package/esm/src/web_workers/shared/post_message_bus.metadata.json +1 -0
- package/esm/src/web_workers/shared/render_store.d.ts +11 -0
- package/esm/src/web_workers/shared/render_store.js +40 -0
- package/esm/src/web_workers/shared/render_store.js.map +1 -0
- package/esm/src/web_workers/shared/render_store.metadata.json +1 -0
- package/esm/src/web_workers/shared/serialized_types.d.ts +12 -0
- package/esm/src/web_workers/shared/serialized_types.js +16 -0
- package/esm/src/web_workers/shared/serialized_types.js.map +1 -0
- package/esm/src/web_workers/shared/serializer.d.ts +18 -0
- package/esm/src/web_workers/shared/serializer.js +110 -0
- package/esm/src/web_workers/shared/serializer.js.map +1 -0
- package/esm/src/web_workers/shared/serializer.metadata.json +1 -0
- package/esm/src/web_workers/shared/service_message_broker.d.ts +48 -0
- package/esm/src/web_workers/shared/service_message_broker.js +88 -0
- package/esm/src/web_workers/shared/service_message_broker.js.map +1 -0
- package/esm/src/web_workers/shared/service_message_broker.metadata.json +1 -0
- package/esm/src/web_workers/ui/event_dispatcher.d.ts +8 -0
- package/esm/src/web_workers/ui/event_dispatcher.js +104 -0
- package/esm/src/web_workers/ui/event_dispatcher.js.map +1 -0
- package/esm/src/web_workers/ui/event_serializer.d.ts +15 -0
- package/esm/src/web_workers/ui/event_serializer.js +53 -0
- package/esm/src/web_workers/ui/event_serializer.js.map +1 -0
- package/esm/src/web_workers/ui/event_serializer.metadata.json +1 -0
- package/esm/src/web_workers/ui/location_providers.d.ts +14 -0
- package/esm/src/web_workers/ui/location_providers.js +19 -0
- package/esm/src/web_workers/ui/location_providers.js.map +1 -0
- package/esm/src/web_workers/ui/location_providers.metadata.json +1 -0
- package/esm/src/web_workers/ui/platform_location.d.ts +16 -0
- package/esm/src/web_workers/ui/platform_location.js +49 -0
- package/esm/src/web_workers/ui/platform_location.js.map +1 -0
- package/esm/src/web_workers/ui/platform_location.metadata.json +1 -0
- package/esm/src/web_workers/ui/renderer.d.ts +35 -0
- package/esm/src/web_workers/ui/renderer.js +122 -0
- package/esm/src/web_workers/ui/renderer.js.map +1 -0
- package/esm/src/web_workers/ui/renderer.metadata.json +1 -0
- package/esm/src/web_workers/worker/event_deserializer.d.ts +5 -0
- package/esm/src/web_workers/worker/event_deserializer.js +6 -0
- package/esm/src/web_workers/worker/event_deserializer.js.map +1 -0
- package/esm/src/web_workers/worker/event_deserializer.metadata.json +1 -0
- package/esm/src/web_workers/worker/location_providers.d.ts +17 -0
- package/esm/src/web_workers/worker/location_providers.js +20 -0
- package/esm/src/web_workers/worker/location_providers.js.map +1 -0
- package/esm/src/web_workers/worker/location_providers.metadata.json +1 -0
- package/esm/src/web_workers/worker/platform_location.d.ts +23 -0
- package/esm/src/web_workers/worker/platform_location.js +111 -0
- package/esm/src/web_workers/worker/platform_location.js.map +1 -0
- package/esm/src/web_workers/worker/platform_location.metadata.json +1 -0
- package/esm/src/web_workers/worker/renderer.d.ts +55 -0
- package/esm/src/web_workers/worker/renderer.js +227 -0
- package/esm/src/web_workers/worker/renderer.js.map +1 -0
- package/esm/src/web_workers/worker/renderer.metadata.json +1 -0
- package/esm/src/web_workers/worker/worker_adapter.d.ts +132 -0
- package/esm/src/web_workers/worker/worker_adapter.js +192 -0
- package/esm/src/web_workers/worker/worker_adapter.js.map +1 -0
- package/esm/src/worker_app.d.ts +13 -0
- package/esm/src/worker_app.js +68 -0
- package/esm/src/worker_app.js.map +1 -0
- package/esm/src/worker_app.metadata.json +1 -0
- package/esm/src/worker_render.d.ts +35 -0
- package/esm/src/worker_render.js +147 -0
- package/esm/src/worker_render.js.map +1 -0
- package/esm/src/worker_render.metadata.json +1 -0
- package/esm/testing/browser.d.ts +8 -0
- package/esm/testing/browser.js +38 -0
- package/esm/testing/browser.js.map +1 -0
- package/esm/testing/browser.metadata.json +1 -0
- package/esm/testing/browser_util.d.ts +1 -0
- package/esm/testing/browser_util.js +11 -6
- package/esm/testing/browser_util.js.map +1 -1
- package/esm/testing/browser_util.metadata.json +1 -1
- package/esm/testing/e2e_util.d.ts +4 -0
- package/esm/testing/e2e_util.js +21 -0
- package/esm/testing/e2e_util.js.map +1 -0
- package/esm/testing/e2e_util.metadata.json +1 -0
- package/esm/testing/matchers.js +24 -22
- package/esm/testing/matchers.js.map +1 -1
- package/esm/testing/matchers.metadata.json +1 -1
- package/esm/testing.d.ts +1 -2
- package/esm/testing.js +1 -2
- package/esm/testing.js.map +1 -1
- package/esm/testing_e2e.d.ts +1 -0
- package/esm/testing_e2e.js +2 -0
- package/esm/testing_e2e.js.map +1 -0
- package/index.d.ts +22 -1
- package/index.js +50 -1
- package/index.js.map +1 -1
- package/index.metadata.json +1 -0
- package/package.json +8 -4
- package/private_export.d.ts +21 -21
- package/private_export.js +11 -21
- package/private_export.js.map +1 -1
- package/private_export.metadata.json +1 -0
- package/src/browser/browser_adapter.d.ts +6 -0
- package/src/browser/browser_adapter.js +144 -76
- package/src/browser/browser_adapter.js.map +1 -1
- package/src/browser/generic_browser_adapter.js +4 -4
- package/src/browser/generic_browser_adapter.js.map +1 -1
- package/src/browser/location/browser_platform_location.d.ts +1 -5
- package/src/browser/location/browser_platform_location.js +16 -3
- package/src/browser/location/browser_platform_location.js.map +1 -1
- package/src/browser/location/browser_platform_location.metadata.json +1 -1
- package/src/browser/location/history.d.ts +1 -0
- package/src/browser/location/history.js +6 -0
- package/src/browser/location/history.js.map +1 -0
- package/src/browser/location/history.metadata.json +1 -0
- package/src/browser/testability.d.ts +1 -1
- package/src/browser/testability.js +7 -5
- package/src/browser/testability.js.map +1 -1
- package/src/browser/title.d.ts +2 -0
- package/src/browser/title.js +2 -0
- package/src/browser/title.js.map +1 -1
- package/src/browser/tools/common_tools.js +2 -2
- package/src/browser/tools/common_tools.js.map +1 -1
- package/src/browser/tools/tools.d.ts +1 -1
- package/src/browser/tools/tools.js +2 -1
- package/src/browser/tools/tools.js.map +1 -1
- package/src/browser.d.ts +15 -0
- package/src/browser.js +78 -0
- package/src/browser.js.map +1 -0
- package/src/browser.metadata.json +1 -0
- package/src/dom/debug/by.d.ts +2 -2
- package/src/dom/debug/by.js +1 -1
- package/src/dom/debug/by.js.map +1 -1
- package/src/dom/debug/ng_probe.js +9 -18
- package/src/dom/debug/ng_probe.js.map +1 -1
- package/src/dom/debug/ng_probe.metadata.json +1 -1
- package/src/dom/dom_adapter.d.ts +7 -5
- package/src/dom/dom_adapter.js +1 -1
- package/src/dom/dom_adapter.js.map +1 -1
- package/src/dom/dom_adapter.metadata.json +1 -0
- package/src/dom/dom_animate_player.d.ts +9 -0
- package/src/dom/dom_animate_player.js +2 -0
- package/src/dom/dom_animate_player.js.map +1 -0
- package/src/dom/dom_renderer.d.ts +9 -19
- package/src/dom/dom_renderer.js +29 -61
- package/src/dom/dom_renderer.js.map +1 -1
- package/src/dom/dom_renderer.metadata.json +1 -1
- package/src/dom/dom_tokens.js.map +1 -1
- package/src/dom/dom_tokens.metadata.json +1 -1
- package/src/dom/events/dom_events.js +3 -2
- package/src/dom/events/dom_events.js.map +1 -1
- package/src/dom/events/dom_events.metadata.json +1 -1
- package/src/dom/events/event_manager.d.ts +1 -3
- package/src/dom/events/event_manager.js +8 -7
- package/src/dom/events/event_manager.js.map +1 -1
- package/src/dom/events/event_manager.metadata.json +1 -1
- package/src/dom/events/hammer_common.js +1 -1
- package/src/dom/events/hammer_common.js.map +1 -1
- package/src/dom/events/hammer_gestures.js +9 -5
- package/src/dom/events/hammer_gestures.js.map +1 -1
- package/src/dom/events/hammer_gestures.metadata.json +1 -1
- package/src/dom/events/key_events.d.ts +0 -2
- package/src/dom/events/key_events.js +5 -3
- package/src/dom/events/key_events.js.map +1 -1
- package/src/dom/events/key_events.metadata.json +1 -1
- package/src/dom/shared_styles_host.d.ts +0 -6
- package/src/dom/shared_styles_host.js +5 -1
- package/src/dom/shared_styles_host.js.map +1 -1
- package/src/dom/shared_styles_host.metadata.json +1 -1
- package/src/dom/util.js +3 -3
- package/src/dom/util.js.map +1 -1
- package/src/dom/util.metadata.json +1 -0
- package/src/dom/web_animations_driver.d.ts +4 -0
- package/src/dom/web_animations_driver.js +123 -0
- package/src/dom/web_animations_driver.js.map +1 -0
- package/src/dom/web_animations_player.d.ts +20 -0
- package/src/dom/web_animations_player.js +46 -0
- package/src/dom/web_animations_player.js.map +1 -0
- package/src/facade/async.d.ts +90 -0
- package/src/facade/async.js +160 -0
- package/src/facade/async.js.map +1 -0
- package/src/facade/base_wrapped_exception.js +4 -4
- package/src/facade/base_wrapped_exception.js.map +1 -1
- package/src/facade/browser.js +2 -2
- package/src/facade/browser.js.map +1 -1
- package/src/facade/browser.metadata.json +1 -1
- package/src/facade/collection.js.map +1 -1
- package/src/facade/collection.metadata.json +1 -1
- package/src/facade/exception_handler.d.ts +2 -11
- package/src/facade/exception_handler.js +8 -7
- package/src/facade/exception_handler.js.map +1 -1
- package/src/facade/exceptions.d.ts +4 -0
- package/src/facade/exceptions.js +6 -2
- package/src/facade/exceptions.js.map +1 -1
- package/src/facade/exceptions.metadata.json +1 -0
- package/src/facade/lang.d.ts +6 -4
- package/src/facade/lang.js +12 -11
- package/src/facade/lang.js.map +1 -1
- package/src/facade/lang.metadata.json +1 -1
- package/src/facade/promise.d.ts +17 -0
- package/src/facade/promise.js +49 -0
- package/src/facade/promise.js.map +1 -0
- package/src/security/dom_sanitization_service.d.ts +4 -5
- package/src/security/dom_sanitization_service.js +7 -9
- package/src/security/dom_sanitization_service.js.map +1 -1
- package/src/security/dom_sanitization_service.metadata.json +1 -1
- package/src/security/html_sanitizer.d.ts +5 -0
- package/src/security/html_sanitizer.js +246 -0
- package/src/security/html_sanitizer.js.map +1 -0
- package/src/security/style_sanitizer.d.ts +4 -0
- package/src/security/style_sanitizer.js +54 -17
- package/src/security/style_sanitizer.js.map +1 -1
- package/src/security/url_sanitizer.js +33 -26
- package/src/security/url_sanitizer.js.map +1 -1
- package/src/web_workers/shared/api.d.ts +2 -0
- package/src/web_workers/shared/api.js +4 -0
- package/src/web_workers/shared/api.js.map +1 -0
- package/src/web_workers/shared/api.metadata.json +1 -0
- package/src/web_workers/shared/client_message_broker.d.ts +51 -0
- package/src/web_workers/shared/client_message_broker.js +184 -0
- package/src/web_workers/shared/client_message_broker.js.map +1 -0
- package/src/web_workers/shared/client_message_broker.metadata.json +1 -0
- package/src/web_workers/shared/message_bus.d.ts +82 -0
- package/src/web_workers/shared/message_bus.js +15 -0
- package/src/web_workers/shared/message_bus.js.map +1 -0
- package/src/web_workers/shared/messaging_api.d.ts +7 -0
- package/src/web_workers/shared/messaging_api.js +9 -0
- package/src/web_workers/shared/messaging_api.js.map +1 -0
- package/src/web_workers/shared/messaging_api.metadata.json +1 -0
- package/src/web_workers/shared/post_message_bus.d.ts +41 -0
- package/src/web_workers/shared/post_message_bus.js +147 -0
- package/src/web_workers/shared/post_message_bus.js.map +1 -0
- package/src/web_workers/shared/post_message_bus.metadata.json +1 -0
- package/src/web_workers/shared/render_store.d.ts +11 -0
- package/src/web_workers/shared/render_store.js +43 -0
- package/src/web_workers/shared/render_store.js.map +1 -0
- package/src/web_workers/shared/render_store.metadata.json +1 -0
- package/src/web_workers/shared/serialized_types.d.ts +12 -0
- package/src/web_workers/shared/serialized_types.js +19 -0
- package/src/web_workers/shared/serialized_types.js.map +1 -0
- package/src/web_workers/shared/serializer.d.ts +18 -0
- package/src/web_workers/shared/serializer.js +119 -0
- package/src/web_workers/shared/serializer.js.map +1 -0
- package/src/web_workers/shared/serializer.metadata.json +1 -0
- package/src/web_workers/shared/service_message_broker.d.ts +48 -0
- package/src/web_workers/shared/service_message_broker.js +114 -0
- package/src/web_workers/shared/service_message_broker.js.map +1 -0
- package/src/web_workers/shared/service_message_broker.metadata.json +1 -0
- package/src/web_workers/ui/event_dispatcher.d.ts +8 -0
- package/src/web_workers/ui/event_dispatcher.js +107 -0
- package/src/web_workers/ui/event_dispatcher.js.map +1 -0
- package/src/web_workers/ui/event_serializer.d.ts +15 -0
- package/src/web_workers/ui/event_serializer.js +59 -0
- package/src/web_workers/ui/event_serializer.js.map +1 -0
- package/src/web_workers/ui/event_serializer.metadata.json +1 -0
- package/src/web_workers/ui/location_providers.d.ts +14 -0
- package/src/web_workers/ui/location_providers.js +20 -0
- package/src/web_workers/ui/location_providers.js.map +1 -0
- package/src/web_workers/ui/location_providers.metadata.json +1 -0
- package/src/web_workers/ui/platform_location.d.ts +16 -0
- package/src/web_workers/ui/platform_location.js +52 -0
- package/src/web_workers/ui/platform_location.js.map +1 -0
- package/src/web_workers/ui/platform_location.metadata.json +1 -0
- package/src/web_workers/ui/renderer.d.ts +35 -0
- package/src/web_workers/ui/renderer.js +131 -0
- package/src/web_workers/ui/renderer.js.map +1 -0
- package/src/web_workers/ui/renderer.metadata.json +1 -0
- package/src/web_workers/worker/event_deserializer.d.ts +5 -0
- package/src/web_workers/worker/event_deserializer.js +8 -0
- package/src/web_workers/worker/event_deserializer.js.map +1 -0
- package/src/web_workers/worker/event_deserializer.metadata.json +1 -0
- package/src/web_workers/worker/location_providers.d.ts +17 -0
- package/src/web_workers/worker/location_providers.js +21 -0
- package/src/web_workers/worker/location_providers.js.map +1 -0
- package/src/web_workers/worker/location_providers.metadata.json +1 -0
- package/src/web_workers/worker/platform_location.d.ts +23 -0
- package/src/web_workers/worker/platform_location.js +134 -0
- package/src/web_workers/worker/platform_location.js.map +1 -0
- package/src/web_workers/worker/platform_location.metadata.json +1 -0
- package/src/web_workers/worker/renderer.d.ts +55 -0
- package/src/web_workers/worker/renderer.js +241 -0
- package/src/web_workers/worker/renderer.js.map +1 -0
- package/src/web_workers/worker/renderer.metadata.json +1 -0
- package/src/web_workers/worker/worker_adapter.d.ts +132 -0
- package/src/web_workers/worker/worker_adapter.js +208 -0
- package/src/web_workers/worker/worker_adapter.js.map +1 -0
- package/src/worker_app.d.ts +13 -0
- package/src/worker_app.js +71 -0
- package/src/worker_app.js.map +1 -0
- package/src/worker_app.metadata.json +1 -0
- package/src/worker_render.d.ts +35 -0
- package/src/worker_render.js +153 -0
- package/src/worker_render.js.map +1 -0
- package/src/worker_render.metadata.json +1 -0
- package/testing/browser.d.ts +8 -0
- package/testing/browser.js +39 -0
- package/testing/browser.js.map +1 -0
- package/testing/browser.metadata.json +1 -0
- package/testing/browser_util.d.ts +1 -0
- package/testing/browser_util.js +14 -5
- package/testing/browser_util.js.map +1 -1
- package/testing/browser_util.metadata.json +1 -1
- package/testing/e2e_util.d.ts +4 -0
- package/testing/e2e_util.js +24 -0
- package/testing/e2e_util.js.map +1 -0
- package/testing/e2e_util.metadata.json +1 -0
- package/testing/matchers.js +24 -22
- package/testing/matchers.js.map +1 -1
- package/testing/matchers.metadata.json +1 -1
- package/testing.d.ts +1 -2
- package/testing.js +1 -2
- package/testing.js.map +1 -1
- package/testing_e2e.d.ts +1 -0
- package/testing_e2e.js +6 -0
- package/testing_e2e.js.map +1 -0
- package/esm/src/animate/animation.d.ts +0 -82
- package/esm/src/animate/animation.js +0 -173
- package/esm/src/animate/animation.js.map +0 -1
- package/esm/src/animate/animation_builder.d.ts +0 -15
- package/esm/src/animate/animation_builder.js +0 -24
- package/esm/src/animate/animation_builder.js.map +0 -1
- package/esm/src/animate/animation_builder.metadata.json +0 -1
- package/esm/src/animate/browser_details.d.ts +0 -10
- package/esm/src/animate/browser_details.js +0 -60
- package/esm/src/animate/browser_details.js.map +0 -1
- package/esm/src/animate/browser_details.metadata.json +0 -1
- package/esm/src/animate/css_animation_builder.d.ts +0 -66
- package/esm/src/animate/css_animation_builder.js +0 -84
- package/esm/src/animate/css_animation_builder.js.map +0 -1
- package/esm/src/animate/css_animation_options.d.ts +0 -20
- package/esm/src/animate/css_animation_options.js +0 -11
- package/esm/src/animate/css_animation_options.js.map +0 -1
- package/esm/src/browser_common.d.ts +0 -21
- package/esm/src/browser_common.js +0 -82
- package/esm/src/browser_common.js.map +0 -1
- package/esm/src/browser_common.metadata.json +0 -1
- package/esm/src/facade/math.d.ts +0 -2
- package/esm/src/facade/math.js +0 -4
- package/esm/src/facade/math.js.map +0 -1
- package/esm/src/facade/math.metadata.json +0 -1
- package/esm/src/platform_browser.d.ts +0 -10
- package/esm/src/platform_browser.js +0 -18
- package/esm/src/platform_browser.js.map +0 -1
- package/esm/src/platform_browser_static.d.ts +0 -16
- package/esm/src/platform_browser_static.js +0 -32
- package/esm/src/platform_browser_static.js.map +0 -1
- package/esm/src/platform_browser_static.metadata.json +0 -1
- package/esm/testing/animation_builder_mock.d.ts +0 -6
- package/esm/testing/animation_builder_mock.js +0 -35
- package/esm/testing/animation_builder_mock.js.map +0 -1
- package/esm/testing/animation_builder_mock.metadata.json +0 -1
- package/esm/testing/browser_static.d.ts +0 -10
- package/esm/testing/browser_static.js +0 -53
- package/esm/testing/browser_static.js.map +0 -1
- package/esm/testing/browser_static.metadata.json +0 -1
- package/esm/testing/dom_test_component_renderer.d.ts +0 -9
- package/esm/testing/dom_test_component_renderer.js +0 -27
- package/esm/testing/dom_test_component_renderer.js.map +0 -1
- package/esm/testing/dom_test_component_renderer.metadata.json +0 -1
- package/platform-browser.umd.js +0 -2715
- package/src/animate/animation.d.ts +0 -82
- package/src/animate/animation.js +0 -183
- package/src/animate/animation.js.map +0 -1
- package/src/animate/animation_builder.d.ts +0 -15
- package/src/animate/animation_builder.js +0 -27
- package/src/animate/animation_builder.js.map +0 -1
- package/src/animate/animation_builder.metadata.json +0 -1
- package/src/animate/browser_details.d.ts +0 -10
- package/src/animate/browser_details.js +0 -66
- package/src/animate/browser_details.js.map +0 -1
- package/src/animate/browser_details.metadata.json +0 -1
- package/src/animate/css_animation_builder.d.ts +0 -66
- package/src/animate/css_animation_builder.js +0 -87
- package/src/animate/css_animation_builder.js.map +0 -1
- package/src/animate/css_animation_options.d.ts +0 -20
- package/src/animate/css_animation_options.js +0 -14
- package/src/animate/css_animation_options.js.map +0 -1
- package/src/browser_common.d.ts +0 -21
- package/src/browser_common.js +0 -91
- package/src/browser_common.js.map +0 -1
- package/src/browser_common.metadata.json +0 -1
- package/src/facade/math.d.ts +0 -2
- package/src/facade/math.js +0 -5
- package/src/facade/math.js.map +0 -1
- package/src/facade/math.metadata.json +0 -1
- package/src/platform_browser.d.ts +0 -10
- package/src/platform_browser.js +0 -43
- package/src/platform_browser.js.map +0 -1
- package/src/platform_browser_static.d.ts +0 -16
- package/src/platform_browser_static.js +0 -42
- package/src/platform_browser_static.js.map +0 -1
- package/src/platform_browser_static.metadata.json +0 -1
- package/testing/animation_builder_mock.d.ts +0 -6
- package/testing/animation_builder_mock.js +0 -53
- package/testing/animation_builder_mock.js.map +0 -1
- package/testing/animation_builder_mock.metadata.json +0 -1
- package/testing/browser_static.d.ts +0 -10
- package/testing/browser_static.js +0 -55
- package/testing/browser_static.js.map +0 -1
- package/testing/browser_static.metadata.json +0 -1
- package/testing/dom_test_component_renderer.d.ts +0 -9
- package/testing/dom_test_component_renderer.js +0 -36
- package/testing/dom_test_component_renderer.js.map +0 -1
- package/testing/dom_test_component_renderer.metadata.json +0 -1
@@ -0,0 +1,110 @@
|
|
1
|
+
import { Injectable, RenderComponentType, ViewEncapsulation } from '@angular/core';
|
2
|
+
import { VIEW_ENCAPSULATION_VALUES } from '../../../core_private';
|
3
|
+
import { BaseException } from '../../facade/exceptions';
|
4
|
+
import { isArray, isPresent, serializeEnum } from '../../facade/lang';
|
5
|
+
import { RenderStore } from './render_store';
|
6
|
+
import { LocationType } from './serialized_types';
|
7
|
+
// PRIMITIVE is any type that does not need to be serialized (string, number, boolean)
|
8
|
+
// We set it to String so that it is considered a Type.
|
9
|
+
/**
|
10
|
+
* @experimental
|
11
|
+
*/
|
12
|
+
export const PRIMITIVE = String;
|
13
|
+
export class Serializer {
|
14
|
+
constructor(_renderStore) {
|
15
|
+
this._renderStore = _renderStore;
|
16
|
+
}
|
17
|
+
serialize(obj, type) {
|
18
|
+
if (!isPresent(obj)) {
|
19
|
+
return null;
|
20
|
+
}
|
21
|
+
if (isArray(obj)) {
|
22
|
+
return obj.map(v => this.serialize(v, type));
|
23
|
+
}
|
24
|
+
if (type == PRIMITIVE) {
|
25
|
+
return obj;
|
26
|
+
}
|
27
|
+
if (type == RenderStoreObject) {
|
28
|
+
return this._renderStore.serialize(obj);
|
29
|
+
}
|
30
|
+
else if (type === RenderComponentType) {
|
31
|
+
return this._serializeRenderComponentType(obj);
|
32
|
+
}
|
33
|
+
else if (type === ViewEncapsulation) {
|
34
|
+
return serializeEnum(obj);
|
35
|
+
}
|
36
|
+
else if (type === LocationType) {
|
37
|
+
return this._serializeLocation(obj);
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
throw new BaseException('No serializer for ' + type.toString());
|
41
|
+
}
|
42
|
+
}
|
43
|
+
deserialize(map, type, data) {
|
44
|
+
if (!isPresent(map)) {
|
45
|
+
return null;
|
46
|
+
}
|
47
|
+
if (isArray(map)) {
|
48
|
+
var obj = [];
|
49
|
+
map.forEach(val => obj.push(this.deserialize(val, type, data)));
|
50
|
+
return obj;
|
51
|
+
}
|
52
|
+
if (type == PRIMITIVE) {
|
53
|
+
return map;
|
54
|
+
}
|
55
|
+
if (type == RenderStoreObject) {
|
56
|
+
return this._renderStore.deserialize(map);
|
57
|
+
}
|
58
|
+
else if (type === RenderComponentType) {
|
59
|
+
return this._deserializeRenderComponentType(map);
|
60
|
+
}
|
61
|
+
else if (type === ViewEncapsulation) {
|
62
|
+
return VIEW_ENCAPSULATION_VALUES[map];
|
63
|
+
}
|
64
|
+
else if (type === LocationType) {
|
65
|
+
return this._deserializeLocation(map);
|
66
|
+
}
|
67
|
+
else {
|
68
|
+
throw new BaseException('No deserializer for ' + type.toString());
|
69
|
+
}
|
70
|
+
}
|
71
|
+
_serializeLocation(loc) {
|
72
|
+
return {
|
73
|
+
'href': loc.href,
|
74
|
+
'protocol': loc.protocol,
|
75
|
+
'host': loc.host,
|
76
|
+
'hostname': loc.hostname,
|
77
|
+
'port': loc.port,
|
78
|
+
'pathname': loc.pathname,
|
79
|
+
'search': loc.search,
|
80
|
+
'hash': loc.hash,
|
81
|
+
'origin': loc.origin
|
82
|
+
};
|
83
|
+
}
|
84
|
+
_deserializeLocation(loc) {
|
85
|
+
return new LocationType(loc['href'], loc['protocol'], loc['host'], loc['hostname'], loc['port'], loc['pathname'], loc['search'], loc['hash'], loc['origin']);
|
86
|
+
}
|
87
|
+
_serializeRenderComponentType(obj) {
|
88
|
+
return {
|
89
|
+
'id': obj.id,
|
90
|
+
'templateUrl': obj.templateUrl,
|
91
|
+
'slotCount': obj.slotCount,
|
92
|
+
'encapsulation': this.serialize(obj.encapsulation, ViewEncapsulation),
|
93
|
+
'styles': this.serialize(obj.styles, PRIMITIVE)
|
94
|
+
};
|
95
|
+
}
|
96
|
+
_deserializeRenderComponentType(map) {
|
97
|
+
return new RenderComponentType(map['id'], map['templateUrl'], map['slotCount'], this.deserialize(map['encapsulation'], ViewEncapsulation), this.deserialize(map['styles'], PRIMITIVE));
|
98
|
+
}
|
99
|
+
}
|
100
|
+
/** @nocollapse */
|
101
|
+
Serializer.decorators = [
|
102
|
+
{ type: Injectable },
|
103
|
+
];
|
104
|
+
/** @nocollapse */
|
105
|
+
Serializer.ctorParameters = [
|
106
|
+
{ type: RenderStore, },
|
107
|
+
];
|
108
|
+
export class RenderStoreObject {
|
109
|
+
}
|
110
|
+
//# sourceMappingURL=serializer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/shared/serializer.ts"],"names":[],"mappings":"OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,eAAe;OAEzE,EAAC,yBAAyB,EAAC,MAAM,uBAAuB;OAExD,EAAC,aAAa,EAAC,MAAM,yBAAyB;OAC9C,EAAO,OAAO,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,mBAAmB;OAElE,EAAC,WAAW,EAAC,MAAM,gBAAgB;OACnC,EAAC,YAAY,EAAC,MAAM,oBAAoB;AAG/C,sFAAsF;AACtF,uDAAuD;AACvD;;GAEG;AACH,OAAO,MAAM,SAAS,GAAS,MAAM,CAAC;AACtC;IACE,YAAoB,YAAyB;QAAzB,iBAAY,GAAZ,YAAY,CAAa;IAAG,CAAC;IAEjD,SAAS,CAAC,GAAQ,EAAE,IAAS;QAC3B,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAS,GAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,WAAW,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAU;QACzC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,GAAG,GAAU,EAAE,CAAC;YACZ,GAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,GAAiB;QAC1C,MAAM,CAAC;YACL,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,QAAQ,EAAE,GAAG,CAAC,MAAM;YACpB,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,QAAQ,EAAE,GAAG,CAAC,MAAM;SACrB,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,GAAyB;QACpD,MAAM,CAAC,IAAI,YAAY,CACnB,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,EACxF,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,CAAC;IAEO,6BAA6B,CAAC,GAAwB;QAC5D,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,CAAC,EAAE;YACZ,aAAa,EAAE,GAAG,CAAC,WAAW;YAC9B,WAAW,EAAE,GAAG,CAAC,SAAS;YAC1B,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,iBAAiB,CAAC;YACrE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,GAAyB;QAC/D,MAAM,CAAC,IAAI,mBAAmB,CAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,EAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,iBAAiB,CAAC,EACzD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAClD,CAAC;AASH,CAAC;AARD,kBAAkB;AACX,qBAAU,GAA0B;IAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;CACnB,CAAC;AACF,kBAAkB;AACX,yBAAc,GAA2D;IAChF,EAAC,IAAI,EAAE,WAAW,GAAG;CACpB,CACA;AAGD;AAAgC,CAAC;AAAA","sourcesContent":["import {Injectable, RenderComponentType, ViewEncapsulation} from '@angular/core';\n\nimport {VIEW_ENCAPSULATION_VALUES} from '../../../core_private';\nimport {Map, MapWrapper, StringMapWrapper} from '../../facade/collection';\nimport {BaseException} from '../../facade/exceptions';\nimport {Type, isArray, isPresent, serializeEnum} from '../../facade/lang';\n\nimport {RenderStore} from './render_store';\nimport {LocationType} from './serialized_types';\n\n\n// PRIMITIVE is any type that does not need to be serialized (string, number, boolean)\n// We set it to String so that it is considered a Type.\n/**\n * @experimental\n */\nexport const PRIMITIVE: Type = String;\nexport class Serializer {\n constructor(private _renderStore: RenderStore) {}\n\n serialize(obj: any, type: any): Object {\n if (!isPresent(obj)) {\n return null;\n }\n if (isArray(obj)) {\n return (<any[]>obj).map(v => this.serialize(v, type));\n }\n if (type == PRIMITIVE) {\n return obj;\n }\n if (type == RenderStoreObject) {\n return this._renderStore.serialize(obj);\n } else if (type === RenderComponentType) {\n return this._serializeRenderComponentType(obj);\n } else if (type === ViewEncapsulation) {\n return serializeEnum(obj);\n } else if (type === LocationType) {\n return this._serializeLocation(obj);\n } else {\n throw new BaseException('No serializer for ' + type.toString());\n }\n }\n\n deserialize(map: any, type: any, data?: any): any {\n if (!isPresent(map)) {\n return null;\n }\n if (isArray(map)) {\n var obj: any[] = [];\n (<any[]>map).forEach(val => obj.push(this.deserialize(val, type, data)));\n return obj;\n }\n if (type == PRIMITIVE) {\n return map;\n }\n\n if (type == RenderStoreObject) {\n return this._renderStore.deserialize(map);\n } else if (type === RenderComponentType) {\n return this._deserializeRenderComponentType(map);\n } else if (type === ViewEncapsulation) {\n return VIEW_ENCAPSULATION_VALUES[map];\n } else if (type === LocationType) {\n return this._deserializeLocation(map);\n } else {\n throw new BaseException('No deserializer for ' + type.toString());\n }\n }\n\n private _serializeLocation(loc: LocationType): Object {\n return {\n 'href': loc.href,\n 'protocol': loc.protocol,\n 'host': loc.host,\n 'hostname': loc.hostname,\n 'port': loc.port,\n 'pathname': loc.pathname,\n 'search': loc.search,\n 'hash': loc.hash,\n 'origin': loc.origin\n };\n }\n\n private _deserializeLocation(loc: {[key: string]: any}): LocationType {\n return new LocationType(\n loc['href'], loc['protocol'], loc['host'], loc['hostname'], loc['port'], loc['pathname'],\n loc['search'], loc['hash'], loc['origin']);\n }\n\n private _serializeRenderComponentType(obj: RenderComponentType): Object {\n return {\n 'id': obj.id,\n 'templateUrl': obj.templateUrl,\n 'slotCount': obj.slotCount,\n 'encapsulation': this.serialize(obj.encapsulation, ViewEncapsulation),\n 'styles': this.serialize(obj.styles, PRIMITIVE)\n };\n }\n\n private _deserializeRenderComponentType(map: {[key: string]: any}): RenderComponentType {\n return new RenderComponentType(\n map['id'], map['templateUrl'], map['slotCount'],\n this.deserialize(map['encapsulation'], ViewEncapsulation),\n this.deserialize(map['styles'], PRIMITIVE));\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n/** @nocollapse */\nstatic ctorParameters: {type: Function, decorators?: DecoratorInvocation[]}[] = [\n{type: RenderStore, },\n];\n}\n\n\nexport class RenderStoreObject {}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"PRIMITIVE":{"__symbolic":"reference","name":"String"},"Serializer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./render_store","name":"RenderStore"}]}],"serialize":[{"__symbolic":"method"}],"deserialize":[{"__symbolic":"method"}],"_serializeLocation":[{"__symbolic":"method"}],"_deserializeLocation":[{"__symbolic":"method"}],"_serializeRenderComponentType":[{"__symbolic":"method"}],"_deserializeRenderComponentType":[{"__symbolic":"method"}]}}}}
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import { Type } from '../../facade/lang';
|
2
|
+
import { MessageBus } from '../shared/message_bus';
|
3
|
+
import { Serializer } from '../shared/serializer';
|
4
|
+
export declare abstract class ServiceMessageBrokerFactory {
|
5
|
+
/**
|
6
|
+
* Initializes the given channel and attaches a new {@link ServiceMessageBroker} to it.
|
7
|
+
*/
|
8
|
+
abstract createMessageBroker(channel: string, runInZone?: boolean): ServiceMessageBroker;
|
9
|
+
}
|
10
|
+
export declare class ServiceMessageBrokerFactory_ extends ServiceMessageBrokerFactory {
|
11
|
+
private _messageBus;
|
12
|
+
constructor(_messageBus: MessageBus, _serializer: Serializer);
|
13
|
+
createMessageBroker(channel: string, runInZone?: boolean): ServiceMessageBroker;
|
14
|
+
}
|
15
|
+
/**
|
16
|
+
* @experimental
|
17
|
+
*/
|
18
|
+
export declare abstract class ServiceMessageBroker {
|
19
|
+
abstract registerMethod(methodName: string, signature: Type[], method: Function, returnType?: Type): void;
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* Helper class for UIComponents that allows components to register methods.
|
23
|
+
* If a registered method message is received from the broker on the worker,
|
24
|
+
* the UIMessageBroker deserializes its arguments and calls the registered method.
|
25
|
+
* If that method returns a promise, the UIMessageBroker returns the result to the worker.
|
26
|
+
*/
|
27
|
+
export declare class ServiceMessageBroker_ extends ServiceMessageBroker {
|
28
|
+
private _serializer;
|
29
|
+
channel: any;
|
30
|
+
private _sink;
|
31
|
+
private _methods;
|
32
|
+
constructor(messageBus: MessageBus, _serializer: Serializer, channel: any);
|
33
|
+
registerMethod(methodName: string, signature: Type[], method: (..._: any[]) => Promise<any> | void, returnType?: Type): void;
|
34
|
+
private _handleMessage(map);
|
35
|
+
private _wrapWebWorkerPromise(id, promise, type);
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* @experimental
|
39
|
+
*/
|
40
|
+
export declare class ReceivedMessage {
|
41
|
+
method: string;
|
42
|
+
args: any[];
|
43
|
+
id: string;
|
44
|
+
type: string;
|
45
|
+
constructor(data: {
|
46
|
+
[key: string]: any;
|
47
|
+
});
|
48
|
+
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { ObservableWrapper, PromiseWrapper } from '../../facade/async';
|
3
|
+
import { ListWrapper, Map } from '../../facade/collection';
|
4
|
+
import { FunctionWrapper, isPresent } from '../../facade/lang';
|
5
|
+
import { MessageBus } from '../shared/message_bus';
|
6
|
+
import { Serializer } from '../shared/serializer';
|
7
|
+
export class ServiceMessageBrokerFactory {
|
8
|
+
}
|
9
|
+
export class ServiceMessageBrokerFactory_ extends ServiceMessageBrokerFactory {
|
10
|
+
constructor(_messageBus, _serializer) {
|
11
|
+
super();
|
12
|
+
this._messageBus = _messageBus;
|
13
|
+
this._serializer = _serializer;
|
14
|
+
}
|
15
|
+
createMessageBroker(channel, runInZone = true) {
|
16
|
+
this._messageBus.initChannel(channel, runInZone);
|
17
|
+
return new ServiceMessageBroker_(this._messageBus, this._serializer, channel);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
/** @nocollapse */
|
21
|
+
ServiceMessageBrokerFactory_.decorators = [
|
22
|
+
{ type: Injectable },
|
23
|
+
];
|
24
|
+
/** @nocollapse */
|
25
|
+
ServiceMessageBrokerFactory_.ctorParameters = [
|
26
|
+
{ type: MessageBus, },
|
27
|
+
{ type: Serializer, },
|
28
|
+
];
|
29
|
+
/**
|
30
|
+
* @experimental
|
31
|
+
*/
|
32
|
+
export class ServiceMessageBroker {
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Helper class for UIComponents that allows components to register methods.
|
36
|
+
* If a registered method message is received from the broker on the worker,
|
37
|
+
* the UIMessageBroker deserializes its arguments and calls the registered method.
|
38
|
+
* If that method returns a promise, the UIMessageBroker returns the result to the worker.
|
39
|
+
*/
|
40
|
+
export class ServiceMessageBroker_ extends ServiceMessageBroker {
|
41
|
+
constructor(messageBus, _serializer, channel /** TODO #9100 */) {
|
42
|
+
super();
|
43
|
+
this._serializer = _serializer;
|
44
|
+
this.channel = channel;
|
45
|
+
this._methods = new Map();
|
46
|
+
this._sink = messageBus.to(channel);
|
47
|
+
var source = messageBus.from(channel);
|
48
|
+
ObservableWrapper.subscribe(source, (message) => this._handleMessage(message));
|
49
|
+
}
|
50
|
+
registerMethod(methodName, signature, method, returnType) {
|
51
|
+
this._methods.set(methodName, (message) => {
|
52
|
+
var serializedArgs = message.args;
|
53
|
+
let numArgs = signature === null ? 0 : signature.length;
|
54
|
+
var deserializedArgs = ListWrapper.createFixedSize(numArgs);
|
55
|
+
for (var i = 0; i < numArgs; i++) {
|
56
|
+
var serializedArg = serializedArgs[i];
|
57
|
+
deserializedArgs[i] = this._serializer.deserialize(serializedArg, signature[i]);
|
58
|
+
}
|
59
|
+
var promise = FunctionWrapper.apply(method, deserializedArgs);
|
60
|
+
if (isPresent(returnType) && isPresent(promise)) {
|
61
|
+
this._wrapWebWorkerPromise(message.id, promise, returnType);
|
62
|
+
}
|
63
|
+
});
|
64
|
+
}
|
65
|
+
_handleMessage(map) {
|
66
|
+
var message = new ReceivedMessage(map);
|
67
|
+
if (this._methods.has(message.method)) {
|
68
|
+
this._methods.get(message.method)(message);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
_wrapWebWorkerPromise(id, promise, type) {
|
72
|
+
PromiseWrapper.then(promise, (result) => {
|
73
|
+
ObservableWrapper.callEmit(this._sink, { 'type': 'result', 'value': this._serializer.serialize(result, type), 'id': id });
|
74
|
+
});
|
75
|
+
}
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* @experimental
|
79
|
+
*/
|
80
|
+
export class ReceivedMessage {
|
81
|
+
constructor(data) {
|
82
|
+
this.method = data['method'];
|
83
|
+
this.args = data['args'];
|
84
|
+
this.id = data['id'];
|
85
|
+
this.type = data['type'];
|
86
|
+
}
|
87
|
+
}
|
88
|
+
//# sourceMappingURL=service_message_broker.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"service_message_broker.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/shared/service_message_broker.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable} from '@angular/core';\n\nimport {EventEmitter, ObservableWrapper, PromiseWrapper} from '../../facade/async';\nimport {ListWrapper, Map} from '../../facade/collection';\nimport {FunctionWrapper, Type, isPresent} from '../../facade/lang';\nimport {MessageBus} from '../shared/message_bus';\nimport {Serializer} from '../shared/serializer';\n\nexport abstract class ServiceMessageBrokerFactory {\n /**\n * Initializes the given channel and attaches a new {@link ServiceMessageBroker} to it.\n */\n abstract createMessageBroker(channel: string, runInZone?: boolean): ServiceMessageBroker;\n}\nexport class ServiceMessageBrokerFactory_ extends ServiceMessageBrokerFactory {\n /** @internal */\n _serializer: Serializer;\n\n constructor(private _messageBus: MessageBus, _serializer: Serializer) {\n super();\n this._serializer = _serializer;\n }\n\n createMessageBroker(channel: string, runInZone: boolean = true): ServiceMessageBroker {\n this._messageBus.initChannel(channel, runInZone);\n return new ServiceMessageBroker_(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 ServiceMessageBroker {\n abstract registerMethod(\n methodName: string, signature: Type[], method: Function, returnType?: Type): void;\n}\n\n/**\n * Helper class for UIComponents that allows components to register methods.\n * If a registered method message is received from the broker on the worker,\n * the UIMessageBroker deserializes its arguments and calls the registered method.\n * If that method returns a promise, the UIMessageBroker returns the result to the worker.\n */\nexport class ServiceMessageBroker_ extends ServiceMessageBroker {\n private _sink: EventEmitter<any>;\n private _methods: Map<string, Function> = new Map<string, Function>();\n\n constructor(\n messageBus: MessageBus, private _serializer: Serializer,\n public channel: any /** TODO #9100 */) {\n super();\n this._sink = messageBus.to(channel);\n var source = messageBus.from(channel);\n ObservableWrapper.subscribe(source, (message) => this._handleMessage(message));\n }\n\n registerMethod(\n methodName: string, signature: Type[], method: (..._: any[]) => Promise<any>| void,\n returnType?: Type): void {\n this._methods.set(methodName, (message: ReceivedMessage) => {\n var serializedArgs = message.args;\n let numArgs = signature === null ? 0 : signature.length;\n var deserializedArgs: any[] = ListWrapper.createFixedSize(numArgs);\n for (var i = 0; i < numArgs; i++) {\n var serializedArg = serializedArgs[i];\n deserializedArgs[i] = this._serializer.deserialize(serializedArg, signature[i]);\n }\n\n var promise = FunctionWrapper.apply(method, deserializedArgs);\n if (isPresent(returnType) && isPresent(promise)) {\n this._wrapWebWorkerPromise(message.id, promise, returnType);\n }\n });\n }\n\n private _handleMessage(map: {[key: string]: any}): void {\n var message = new ReceivedMessage(map);\n if (this._methods.has(message.method)) {\n this._methods.get(message.method)(message);\n }\n }\n\n private _wrapWebWorkerPromise(id: string, promise: Promise<any>, type: Type): void {\n PromiseWrapper.then(promise, (result: any) => {\n ObservableWrapper.callEmit(\n this._sink,\n {'type': 'result', 'value': this._serializer.serialize(result, type), 'id': id});\n });\n }\n}\n\n/**\n * @experimental\n */\nexport class ReceivedMessage {\n method: string;\n args: any[];\n id: string;\n type: string;\n\n constructor(data: {[key: string]: any}) {\n this.method = data['method'];\n this.args = data['args'];\n this.id = data['id'];\n this.type = data['type'];\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"ServiceMessageBrokerFactory_":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../shared/message_bus","name":"MessageBus"},{"__symbolic":"reference","module":"../shared/serializer","name":"Serializer"}]}],"createMessageBroker":[{"__symbolic":"method"}]}}}}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { EventEmitter } from '../../facade/async';
|
2
|
+
import { Serializer } from '../shared/serializer';
|
3
|
+
export declare class EventDispatcher {
|
4
|
+
private _sink;
|
5
|
+
private _serializer;
|
6
|
+
constructor(_sink: EventEmitter<any>, _serializer: Serializer);
|
7
|
+
dispatchRenderEvent(element: any, eventTarget: string, eventName: string, event: any): boolean;
|
8
|
+
}
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import { ObservableWrapper } from '../../facade/async';
|
2
|
+
import { BaseException } from '../../facade/exceptions';
|
3
|
+
import { RenderStoreObject } from '../shared/serializer';
|
4
|
+
import { serializeEventWithTarget, serializeGenericEvent, serializeKeyboardEvent, serializeMouseEvent, serializeTransitionEvent } from './event_serializer';
|
5
|
+
export class EventDispatcher {
|
6
|
+
constructor(_sink, _serializer) {
|
7
|
+
this._sink = _sink;
|
8
|
+
this._serializer = _serializer;
|
9
|
+
}
|
10
|
+
dispatchRenderEvent(element, eventTarget, eventName, event) {
|
11
|
+
var serializedEvent;
|
12
|
+
// TODO (jteplitz602): support custom events #3350
|
13
|
+
switch (event.type) {
|
14
|
+
case 'click':
|
15
|
+
case 'mouseup':
|
16
|
+
case 'mousedown':
|
17
|
+
case 'dblclick':
|
18
|
+
case 'contextmenu':
|
19
|
+
case 'mouseenter':
|
20
|
+
case 'mouseleave':
|
21
|
+
case 'mousemove':
|
22
|
+
case 'mouseout':
|
23
|
+
case 'mouseover':
|
24
|
+
case 'show':
|
25
|
+
serializedEvent = serializeMouseEvent(event);
|
26
|
+
break;
|
27
|
+
case 'keydown':
|
28
|
+
case 'keypress':
|
29
|
+
case 'keyup':
|
30
|
+
serializedEvent = serializeKeyboardEvent(event);
|
31
|
+
break;
|
32
|
+
case 'input':
|
33
|
+
case 'change':
|
34
|
+
case 'blur':
|
35
|
+
serializedEvent = serializeEventWithTarget(event);
|
36
|
+
break;
|
37
|
+
case 'abort':
|
38
|
+
case 'afterprint':
|
39
|
+
case 'beforeprint':
|
40
|
+
case 'cached':
|
41
|
+
case 'canplay':
|
42
|
+
case 'canplaythrough':
|
43
|
+
case 'chargingchange':
|
44
|
+
case 'chargingtimechange':
|
45
|
+
case 'close':
|
46
|
+
case 'dischargingtimechange':
|
47
|
+
case 'DOMContentLoaded':
|
48
|
+
case 'downloading':
|
49
|
+
case 'durationchange':
|
50
|
+
case 'emptied':
|
51
|
+
case 'ended':
|
52
|
+
case 'error':
|
53
|
+
case 'fullscreenchange':
|
54
|
+
case 'fullscreenerror':
|
55
|
+
case 'invalid':
|
56
|
+
case 'languagechange':
|
57
|
+
case 'levelfchange':
|
58
|
+
case 'loadeddata':
|
59
|
+
case 'loadedmetadata':
|
60
|
+
case 'obsolete':
|
61
|
+
case 'offline':
|
62
|
+
case 'online':
|
63
|
+
case 'open':
|
64
|
+
case 'orientatoinchange':
|
65
|
+
case 'pause':
|
66
|
+
case 'pointerlockchange':
|
67
|
+
case 'pointerlockerror':
|
68
|
+
case 'play':
|
69
|
+
case 'playing':
|
70
|
+
case 'ratechange':
|
71
|
+
case 'readystatechange':
|
72
|
+
case 'reset':
|
73
|
+
case 'scroll':
|
74
|
+
case 'seeked':
|
75
|
+
case 'seeking':
|
76
|
+
case 'stalled':
|
77
|
+
case 'submit':
|
78
|
+
case 'success':
|
79
|
+
case 'suspend':
|
80
|
+
case 'timeupdate':
|
81
|
+
case 'updateready':
|
82
|
+
case 'visibilitychange':
|
83
|
+
case 'volumechange':
|
84
|
+
case 'waiting':
|
85
|
+
serializedEvent = serializeGenericEvent(event);
|
86
|
+
break;
|
87
|
+
case 'transitionend':
|
88
|
+
serializedEvent = serializeTransitionEvent(event);
|
89
|
+
break;
|
90
|
+
default:
|
91
|
+
throw new BaseException(eventName + ' not supported on WebWorkers');
|
92
|
+
}
|
93
|
+
ObservableWrapper.callEmit(this._sink, {
|
94
|
+
'element': this._serializer.serialize(element, RenderStoreObject),
|
95
|
+
'eventName': eventName,
|
96
|
+
'eventTarget': eventTarget,
|
97
|
+
'event': serializedEvent
|
98
|
+
});
|
99
|
+
// TODO(kegluneq): Eventually, we want the user to indicate from the UI side whether the event
|
100
|
+
// should be canceled, but for now just call `preventDefault` on the original DOM event.
|
101
|
+
return false;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
//# sourceMappingURL=event_dispatcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"event_dispatcher.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/ui/event_dispatcher.ts"],"names":[],"mappings":"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","sourcesContent":["import {EventEmitter, ObservableWrapper} from '../../facade/async';\nimport {BaseException} from '../../facade/exceptions';\nimport {RenderStoreObject, Serializer} from '../shared/serializer';\n\nimport {serializeEventWithTarget, serializeGenericEvent, serializeKeyboardEvent, serializeMouseEvent, serializeTransitionEvent} from './event_serializer';\n\nexport class EventDispatcher {\n constructor(private _sink: EventEmitter<any>, private _serializer: Serializer) {}\n\n dispatchRenderEvent(element: any, eventTarget: string, eventName: string, event: any): boolean {\n var serializedEvent: any /** TODO #9100 */;\n // TODO (jteplitz602): support custom events #3350\n switch (event.type) {\n case 'click':\n case 'mouseup':\n case 'mousedown':\n case 'dblclick':\n case 'contextmenu':\n case 'mouseenter':\n case 'mouseleave':\n case 'mousemove':\n case 'mouseout':\n case 'mouseover':\n case 'show':\n serializedEvent = serializeMouseEvent(event);\n break;\n case 'keydown':\n case 'keypress':\n case 'keyup':\n serializedEvent = serializeKeyboardEvent(event);\n break;\n case 'input':\n case 'change':\n case 'blur':\n serializedEvent = serializeEventWithTarget(event);\n break;\n case 'abort':\n case 'afterprint':\n case 'beforeprint':\n case 'cached':\n case 'canplay':\n case 'canplaythrough':\n case 'chargingchange':\n case 'chargingtimechange':\n case 'close':\n case 'dischargingtimechange':\n case 'DOMContentLoaded':\n case 'downloading':\n case 'durationchange':\n case 'emptied':\n case 'ended':\n case 'error':\n case 'fullscreenchange':\n case 'fullscreenerror':\n case 'invalid':\n case 'languagechange':\n case 'levelfchange':\n case 'loadeddata':\n case 'loadedmetadata':\n case 'obsolete':\n case 'offline':\n case 'online':\n case 'open':\n case 'orientatoinchange':\n case 'pause':\n case 'pointerlockchange':\n case 'pointerlockerror':\n case 'play':\n case 'playing':\n case 'ratechange':\n case 'readystatechange':\n case 'reset':\n case 'scroll':\n case 'seeked':\n case 'seeking':\n case 'stalled':\n case 'submit':\n case 'success':\n case 'suspend':\n case 'timeupdate':\n case 'updateready':\n case 'visibilitychange':\n case 'volumechange':\n case 'waiting':\n serializedEvent = serializeGenericEvent(event);\n break;\n case 'transitionend':\n serializedEvent = serializeTransitionEvent(event);\n break;\n default:\n throw new BaseException(eventName + ' not supported on WebWorkers');\n }\n ObservableWrapper.callEmit(this._sink, {\n 'element': this._serializer.serialize(element, RenderStoreObject),\n 'eventName': eventName,\n 'eventTarget': eventTarget,\n 'event': serializedEvent\n });\n\n // TODO(kegluneq): Eventually, we want the user to indicate from the UI side whether the event\n // should be canceled, but for now just call `preventDefault` on the original DOM event.\n return false;\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
export declare function serializeGenericEvent(e: Event): {
|
2
|
+
[key: string]: any;
|
3
|
+
};
|
4
|
+
export declare function serializeEventWithTarget(e: Event): {
|
5
|
+
[key: string]: any;
|
6
|
+
};
|
7
|
+
export declare function serializeMouseEvent(e: MouseEvent): {
|
8
|
+
[key: string]: any;
|
9
|
+
};
|
10
|
+
export declare function serializeKeyboardEvent(e: KeyboardEvent): {
|
11
|
+
[key: string]: any;
|
12
|
+
};
|
13
|
+
export declare function serializeTransitionEvent(e: TransitionEvent): {
|
14
|
+
[key: string]: any;
|
15
|
+
};
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { Set } from '../../facade/collection';
|
2
|
+
import { isPresent } from '../../facade/lang';
|
3
|
+
const MOUSE_EVENT_PROPERTIES = [
|
4
|
+
'altKey', 'button', 'clientX', 'clientY', 'metaKey', 'movementX', 'movementY', 'offsetX',
|
5
|
+
'offsetY', 'region', 'screenX', 'screenY', 'shiftKey'
|
6
|
+
];
|
7
|
+
const KEYBOARD_EVENT_PROPERTIES = [
|
8
|
+
'altkey', 'charCode', 'code', 'ctrlKey', 'isComposing', 'key', 'keyCode', 'location', 'metaKey',
|
9
|
+
'repeat', 'shiftKey', 'which'
|
10
|
+
];
|
11
|
+
const TRANSITION_EVENT_PROPERTIES = ['propertyName', 'elapsedTime', 'pseudoElement'];
|
12
|
+
const EVENT_PROPERTIES = ['type', 'bubbles', 'cancelable'];
|
13
|
+
const NODES_WITH_VALUE = new Set(['input', 'select', 'option', 'button', 'li', 'meter', 'progress', 'param', 'textarea']);
|
14
|
+
export function serializeGenericEvent(e) {
|
15
|
+
return serializeEvent(e, EVENT_PROPERTIES);
|
16
|
+
}
|
17
|
+
// TODO(jteplitz602): Allow users to specify the properties they need rather than always
|
18
|
+
// adding value and files #3374
|
19
|
+
export function serializeEventWithTarget(e) {
|
20
|
+
var serializedEvent = serializeEvent(e, EVENT_PROPERTIES);
|
21
|
+
return addTarget(e, serializedEvent);
|
22
|
+
}
|
23
|
+
export function serializeMouseEvent(e) {
|
24
|
+
return serializeEvent(e, MOUSE_EVENT_PROPERTIES);
|
25
|
+
}
|
26
|
+
export function serializeKeyboardEvent(e) {
|
27
|
+
var serializedEvent = serializeEvent(e, KEYBOARD_EVENT_PROPERTIES);
|
28
|
+
return addTarget(e, serializedEvent);
|
29
|
+
}
|
30
|
+
export function serializeTransitionEvent(e) {
|
31
|
+
var serializedEvent = serializeEvent(e, TRANSITION_EVENT_PROPERTIES);
|
32
|
+
return addTarget(e, serializedEvent);
|
33
|
+
}
|
34
|
+
// TODO(jteplitz602): #3374. See above.
|
35
|
+
function addTarget(e, serializedEvent) {
|
36
|
+
if (NODES_WITH_VALUE.has(e.target.tagName.toLowerCase())) {
|
37
|
+
var target = e.target;
|
38
|
+
serializedEvent['target'] = { 'value': target.value };
|
39
|
+
if (isPresent(target.files)) {
|
40
|
+
serializedEvent['target']['files'] = target.files;
|
41
|
+
}
|
42
|
+
}
|
43
|
+
return serializedEvent;
|
44
|
+
}
|
45
|
+
function serializeEvent(e, properties) {
|
46
|
+
var serialized = {};
|
47
|
+
for (var i = 0; i < properties.length; i++) {
|
48
|
+
var prop = properties[i];
|
49
|
+
serialized[prop] = e[prop];
|
50
|
+
}
|
51
|
+
return serialized;
|
52
|
+
}
|
53
|
+
//# sourceMappingURL=event_serializer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"event_serializer.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/ui/event_serializer.ts"],"names":[],"mappings":"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","sourcesContent":["import {Set} from '../../facade/collection';\nimport {isPresent} from '../../facade/lang';\n\nconst MOUSE_EVENT_PROPERTIES = [\n 'altKey', 'button', 'clientX', 'clientY', 'metaKey', 'movementX', 'movementY', 'offsetX',\n 'offsetY', 'region', 'screenX', 'screenY', 'shiftKey'\n];\n\nconst KEYBOARD_EVENT_PROPERTIES = [\n 'altkey', 'charCode', 'code', 'ctrlKey', 'isComposing', 'key', 'keyCode', 'location', 'metaKey',\n 'repeat', 'shiftKey', 'which'\n];\n\nconst TRANSITION_EVENT_PROPERTIES = ['propertyName', 'elapsedTime', 'pseudoElement'];\n\nconst EVENT_PROPERTIES = ['type', 'bubbles', 'cancelable'];\n\nconst NODES_WITH_VALUE = new Set(\n ['input', 'select', 'option', 'button', 'li', 'meter', 'progress', 'param', 'textarea']);\n\nexport function serializeGenericEvent(e: Event): {[key: string]: any} {\n return serializeEvent(e, EVENT_PROPERTIES);\n}\n\n// TODO(jteplitz602): Allow users to specify the properties they need rather than always\n// adding value and files #3374\nexport function serializeEventWithTarget(e: Event): {[key: string]: any} {\n var serializedEvent = serializeEvent(e, EVENT_PROPERTIES);\n return addTarget(e, serializedEvent);\n}\n\nexport function serializeMouseEvent(e: MouseEvent): {[key: string]: any} {\n return serializeEvent(e, MOUSE_EVENT_PROPERTIES);\n}\n\nexport function serializeKeyboardEvent(e: KeyboardEvent): {[key: string]: any} {\n var serializedEvent = serializeEvent(e, KEYBOARD_EVENT_PROPERTIES);\n return addTarget(e, serializedEvent);\n}\n\nexport function serializeTransitionEvent(e: TransitionEvent): {[key: string]: any} {\n var serializedEvent = serializeEvent(e, TRANSITION_EVENT_PROPERTIES);\n return addTarget(e, serializedEvent);\n}\n\n// TODO(jteplitz602): #3374. See above.\nfunction addTarget(e: Event, serializedEvent: {[key: string]: any}): {[key: string]: any} {\n if (NODES_WITH_VALUE.has((<HTMLElement>e.target).tagName.toLowerCase())) {\n var target = <HTMLInputElement>e.target;\n serializedEvent['target'] = {'value': target.value};\n if (isPresent(target.files)) {\n serializedEvent['target']['files'] = target.files;\n }\n }\n return serializedEvent;\n}\n\nfunction serializeEvent(e: any, properties: string[]): {[key: string]: any} {\n var serialized = {};\n for (var i = 0; i < properties.length; i++) {\n var prop = properties[i];\n (serialized as any /** TODO #9100 */)[prop] = e[prop];\n }\n return serialized;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"serializeGenericEvent":{"__symbolic":"function","parameters":["e"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"serializeEvent"},"arguments":[{"__symbolic":"reference","name":"e"},{"__symbolic":"reference","name":"EVENT_PROPERTIES"}]}},"serializeMouseEvent":{"__symbolic":"function","parameters":["e"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"serializeEvent"},"arguments":[{"__symbolic":"reference","name":"e"},{"__symbolic":"reference","name":"MOUSE_EVENT_PROPERTIES"}]}}}}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Injector } from '@angular/core';
|
2
|
+
import { BrowserPlatformLocation } from '../../browser/location/browser_platform_location';
|
3
|
+
import { MessageBasedPlatformLocation } from './platform_location';
|
4
|
+
/**
|
5
|
+
* A list of {@link Provider}s. To use the router in a Worker enabled application you must
|
6
|
+
* include these providers when setting up the render thread.
|
7
|
+
* @experimental
|
8
|
+
*/
|
9
|
+
export declare const WORKER_UI_LOCATION_PROVIDERS: (typeof MessageBasedPlatformLocation | typeof BrowserPlatformLocation | {
|
10
|
+
provide: any;
|
11
|
+
useFactory: (injector: Injector) => () => void;
|
12
|
+
multi: boolean;
|
13
|
+
deps: typeof Injector[];
|
14
|
+
})[];
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { APP_INITIALIZER, Injector, NgZone } from '@angular/core';
|
2
|
+
import { BrowserPlatformLocation } from '../../browser/location/browser_platform_location';
|
3
|
+
import { MessageBasedPlatformLocation } from './platform_location';
|
4
|
+
/**
|
5
|
+
* A list of {@link Provider}s. To use the router in a Worker enabled application you must
|
6
|
+
* include these providers when setting up the render thread.
|
7
|
+
* @experimental
|
8
|
+
*/
|
9
|
+
export const WORKER_UI_LOCATION_PROVIDERS = [
|
10
|
+
MessageBasedPlatformLocation, BrowserPlatformLocation,
|
11
|
+
{ provide: APP_INITIALIZER, useFactory: initUiLocation, multi: true, deps: [Injector] }
|
12
|
+
];
|
13
|
+
function initUiLocation(injector) {
|
14
|
+
return () => {
|
15
|
+
let zone = injector.get(NgZone);
|
16
|
+
zone.runGuarded(() => injector.get(MessageBasedPlatformLocation).start());
|
17
|
+
};
|
18
|
+
}
|
19
|
+
//# sourceMappingURL=location_providers.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"location_providers.js","sourceRoot":"","sources":["../../../../../../../modules/@angular/platform-browser/src/web_workers/ui/location_providers.ts"],"names":[],"mappings":"OAAO,EAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAC,MAAM,eAAe;OAExD,EAAC,uBAAuB,EAAC,MAAM,kDAAkD;OAEjF,EAAC,4BAA4B,EAAC,MAAM,qBAAqB;AAGhE;;;;GAIG;AACH,OAAO,MAAM,4BAA4B,GAAG;IAC1C,4BAA4B,EAAE,uBAAuB;IACrD,EAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAC;CACtF,CAAC;AAEF,wBAAwB,QAAkB;IACxC,MAAM,CAAC;QACL,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,CAAC,UAAU,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {APP_INITIALIZER, Injector, NgZone} from '@angular/core';\n\nimport {BrowserPlatformLocation} from '../../browser/location/browser_platform_location';\n\nimport {MessageBasedPlatformLocation} from './platform_location';\n\n\n/**\n * A list of {@link Provider}s. To use the router in a Worker enabled application you must\n * include these providers when setting up the render thread.\n * @experimental\n */\nexport const WORKER_UI_LOCATION_PROVIDERS = [\n MessageBasedPlatformLocation, BrowserPlatformLocation,\n {provide: APP_INITIALIZER, useFactory: initUiLocation, multi: true, deps: [Injector]}\n];\n\nfunction initUiLocation(injector: Injector): () => void {\n return () => {\n let zone = injector.get(NgZone);\n\n zone.runGuarded(() => injector.get(MessageBasedPlatformLocation).start());\n };\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"WORKER_UI_LOCATION_PROVIDERS":[{"__symbolic":"reference","module":"./platform_location","name":"MessageBasedPlatformLocation"},{"__symbolic":"reference","module":"../../browser/location/browser_platform_location","name":"BrowserPlatformLocation"},{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER"},"useFactory":{"__symbolic":"reference","name":"initUiLocation"},"multi":true,"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}]}}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { BrowserPlatformLocation } from '../../browser/location/browser_platform_location';
|
2
|
+
import { MessageBus } from '../shared/message_bus';
|
3
|
+
import { Serializer } from '../shared/serializer';
|
4
|
+
import { ServiceMessageBrokerFactory } from '../shared/service_message_broker';
|
5
|
+
export declare class MessageBasedPlatformLocation {
|
6
|
+
private _brokerFactory;
|
7
|
+
private _platformLocation;
|
8
|
+
private _serializer;
|
9
|
+
private _channelSink;
|
10
|
+
private _broker;
|
11
|
+
constructor(_brokerFactory: ServiceMessageBrokerFactory, _platformLocation: BrowserPlatformLocation, bus: MessageBus, _serializer: Serializer);
|
12
|
+
start(): void;
|
13
|
+
private _getLocation();
|
14
|
+
private _sendUrlChangeEvent(e);
|
15
|
+
private _setPathname(pathname);
|
16
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { Injectable } from '@angular/core';
|
2
|
+
import { BrowserPlatformLocation } from '../../browser/location/browser_platform_location';
|
3
|
+
import { ObservableWrapper, PromiseWrapper } from '../../facade/async';
|
4
|
+
import { FunctionWrapper } from '../../facade/lang';
|
5
|
+
import { MessageBus } from '../shared/message_bus';
|
6
|
+
import { ROUTER_CHANNEL } from '../shared/messaging_api';
|
7
|
+
import { LocationType } from '../shared/serialized_types';
|
8
|
+
import { PRIMITIVE, Serializer } from '../shared/serializer';
|
9
|
+
import { ServiceMessageBrokerFactory } from '../shared/service_message_broker';
|
10
|
+
export class MessageBasedPlatformLocation {
|
11
|
+
constructor(_brokerFactory, _platformLocation, bus, _serializer) {
|
12
|
+
this._brokerFactory = _brokerFactory;
|
13
|
+
this._platformLocation = _platformLocation;
|
14
|
+
this._serializer = _serializer;
|
15
|
+
this._platformLocation.onPopState(FunctionWrapper.bind(this._sendUrlChangeEvent, this));
|
16
|
+
this._platformLocation.onHashChange(FunctionWrapper.bind(this._sendUrlChangeEvent, this));
|
17
|
+
this._broker = this._brokerFactory.createMessageBroker(ROUTER_CHANNEL);
|
18
|
+
this._channelSink = bus.to(ROUTER_CHANNEL);
|
19
|
+
}
|
20
|
+
start() {
|
21
|
+
this._broker.registerMethod('getLocation', null, FunctionWrapper.bind(this._getLocation, this), LocationType);
|
22
|
+
this._broker.registerMethod('setPathname', [PRIMITIVE], FunctionWrapper.bind(this._setPathname, this));
|
23
|
+
this._broker.registerMethod('pushState', [PRIMITIVE, PRIMITIVE, PRIMITIVE], FunctionWrapper.bind(this._platformLocation.pushState, this._platformLocation));
|
24
|
+
this._broker.registerMethod('replaceState', [PRIMITIVE, PRIMITIVE, PRIMITIVE], FunctionWrapper.bind(this._platformLocation.replaceState, this._platformLocation));
|
25
|
+
this._broker.registerMethod('forward', null, FunctionWrapper.bind(this._platformLocation.forward, this._platformLocation));
|
26
|
+
this._broker.registerMethod('back', null, FunctionWrapper.bind(this._platformLocation.back, this._platformLocation));
|
27
|
+
}
|
28
|
+
_getLocation() {
|
29
|
+
return PromiseWrapper.resolve(this._platformLocation.location);
|
30
|
+
}
|
31
|
+
_sendUrlChangeEvent(e) {
|
32
|
+
let loc = this._serializer.serialize(this._platformLocation.location, LocationType);
|
33
|
+
let serializedEvent = { 'type': e.type };
|
34
|
+
ObservableWrapper.callEmit(this._channelSink, { 'event': serializedEvent, 'location': loc });
|
35
|
+
}
|
36
|
+
_setPathname(pathname) { this._platformLocation.pathname = pathname; }
|
37
|
+
}
|
38
|
+
/** @nocollapse */
|
39
|
+
MessageBasedPlatformLocation.decorators = [
|
40
|
+
{ type: Injectable },
|
41
|
+
];
|
42
|
+
/** @nocollapse */
|
43
|
+
MessageBasedPlatformLocation.ctorParameters = [
|
44
|
+
{ type: ServiceMessageBrokerFactory, },
|
45
|
+
{ type: BrowserPlatformLocation, },
|
46
|
+
{ type: MessageBus, },
|
47
|
+
{ type: Serializer, },
|
48
|
+
];
|
49
|
+
//# sourceMappingURL=platform_location.js.map
|