@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
package/src/facade/exceptions.js
CHANGED
@@ -8,10 +8,13 @@ var base_wrapped_exception_1 = require('./base_wrapped_exception');
|
|
8
8
|
var exception_handler_1 = require('./exception_handler');
|
9
9
|
var exception_handler_2 = require('./exception_handler');
|
10
10
|
exports.ExceptionHandler = exception_handler_2.ExceptionHandler;
|
11
|
+
/**
|
12
|
+
* @stable
|
13
|
+
*/
|
11
14
|
var BaseException = (function (_super) {
|
12
15
|
__extends(BaseException, _super);
|
13
16
|
function BaseException(message) {
|
14
|
-
if (message === void 0) { message =
|
17
|
+
if (message === void 0) { message = '--'; }
|
15
18
|
_super.call(this, message);
|
16
19
|
this.message = message;
|
17
20
|
this.stack = (new Error(message)).stack;
|
@@ -22,10 +25,11 @@ var BaseException = (function (_super) {
|
|
22
25
|
exports.BaseException = BaseException;
|
23
26
|
/**
|
24
27
|
* Wraps an exception and provides additional context or information.
|
28
|
+
* @stable
|
25
29
|
*/
|
26
30
|
var WrappedException = (function (_super) {
|
27
31
|
__extends(WrappedException, _super);
|
28
|
-
function WrappedException(_wrapperMessage, _originalException
|
32
|
+
function WrappedException(_wrapperMessage, _originalException /** TODO #9100 */, _originalStack /** TODO #9100 */, _context /** TODO #9100 */) {
|
29
33
|
_super.call(this, _wrapperMessage);
|
30
34
|
this._wrapperMessage = _wrapperMessage;
|
31
35
|
this._originalException = _originalException;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/facade/exceptions.ts"],"names":[],"mappings":";;;;;;
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/facade/exceptions.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAmC,0BAA0B,CAAC,CAAA;AAC9D,kCAA+B,qBAAqB,CAAC,CAAA;AAErD,kCAA+B,qBAAqB,CAAC;AAA7C,gEAA6C;AAErD;;GAEG;AACH;IAAmC,iCAAK;IAEtC,uBAAmB,OAAsB;QAA7B,uBAA6B,GAA7B,cAA6B;QACvC,kBAAM,OAAO,CAAC,CAAC;QADE,YAAO,GAAP,OAAO,CAAe;QAEvC,IAAI,CAAC,KAAK,GAAG,CAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IAED,gCAAQ,GAAR,cAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,oBAAC;AAAD,CAAC,AARD,CAAmC,KAAK,GAQvC;AARY,qBAAa,gBAQzB,CAAA;AAED;;;GAGG;AACH;IAAsC,oCAAoB;IAGxD,0BACY,eAAuB,EAAU,kBAAuB,CAAC,iBAAiB,EAC1E,cAAoB,CAAC,iBAAiB,EAAU,QAAc,CAAC,iBAAiB;QAC1F,kBAAM,eAAe,CAAC,CAAC;QAFb,oBAAe,GAAf,eAAe,CAAQ;QAAU,uBAAkB,GAAlB,kBAAkB,CAAK;QACxD,mBAAc,GAAd,cAAc,CAAM;QAA4B,aAAQ,GAAR,QAAQ,CAAM;QAExE,IAAI,CAAC,aAAa,GAAG,CAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,CAAC;IAED,sBAAI,4CAAc;aAAlB,cAA+B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;;;OAAA;IAE7D,sBAAI,0CAAY;aAAhB,cAA0B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;;;OAAA;IAGtD,sBAAI,+CAAiB;aAArB,cAA+B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;OAAA;IAEhE,sBAAI,2CAAa;aAAjB,cAA2B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;;;OAAA;IAGxD,sBAAI,qCAAO;aAAX,cAAqB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;;;OAAA;IAE5C,sBAAI,qCAAO;aAAX,cAAwB,MAAM,CAAC,oCAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;;OAAA;IAE1E,mCAAQ,GAAR,cAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,uBAAC;AAAD,CAAC,AAzBD,CAAsC,6CAAoB,GAyBzD;AAzBY,wBAAgB,mBAyB5B,CAAA;AAED,uBAA8B,OAAgB;IAC5C,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFe,qBAAa,gBAE5B,CAAA;AAED;IACE,MAAM,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAFe,qBAAa,gBAE5B,CAAA","sourcesContent":["import {BaseWrappedException} from './base_wrapped_exception';\nimport {ExceptionHandler} from './exception_handler';\n\nexport {ExceptionHandler} from './exception_handler';\n\n/**\n * @stable\n */\nexport class BaseException extends Error {\n public stack: any;\n constructor(public message: string = '--') {\n super(message);\n this.stack = (<any>new Error(message)).stack;\n }\n\n toString(): string { return this.message; }\n}\n\n/**\n * Wraps an exception and provides additional context or information.\n * @stable\n */\nexport class WrappedException extends BaseWrappedException {\n private _wrapperStack: any;\n\n constructor(\n private _wrapperMessage: string, private _originalException: any /** TODO #9100 */,\n private _originalStack?: any /** TODO #9100 */, private _context?: any /** TODO #9100 */) {\n super(_wrapperMessage);\n this._wrapperStack = (<any>new Error(_wrapperMessage)).stack;\n }\n\n get wrapperMessage(): string { return this._wrapperMessage; }\n\n get wrapperStack(): any { return this._wrapperStack; }\n\n\n get originalException(): any { return this._originalException; }\n\n get originalStack(): any { return this._originalStack; }\n\n\n get context(): any { return this._context; }\n\n get message(): string { return ExceptionHandler.exceptionToString(this); }\n\n toString(): string { return this.message; }\n}\n\nexport function makeTypeError(message?: string): Error {\n return new TypeError(message);\n}\n\nexport function unimplemented(): any {\n throw new BaseException('unimplemented');\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"makeTypeError":{"__symbolic":"function","parameters":["message"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"TypeError"},"arguments":[{"__symbolic":"reference","name":"message"}]}}}}
|
package/src/facade/lang.d.ts
CHANGED
@@ -49,6 +49,7 @@ export declare function lockMode(): void;
|
|
49
49
|
* One important assertion this disables verifies that a change detection pass
|
50
50
|
* does not result in additional changes to any bindings (also known as
|
51
51
|
* unidirectional data flow).
|
52
|
+
* @stable
|
52
53
|
*/
|
53
54
|
export declare function enableProdMode(): void;
|
54
55
|
export declare function assertionsEnabled(): boolean;
|
@@ -56,14 +57,14 @@ export declare function isPresent(obj: any): boolean;
|
|
56
57
|
export declare function isBlank(obj: any): boolean;
|
57
58
|
export declare function isBoolean(obj: any): boolean;
|
58
59
|
export declare function isNumber(obj: any): boolean;
|
59
|
-
export declare function isString(obj: any):
|
60
|
+
export declare function isString(obj: any): obj is String;
|
60
61
|
export declare function isFunction(obj: any): boolean;
|
61
62
|
export declare function isType(obj: any): boolean;
|
62
63
|
export declare function isStringMap(obj: any): boolean;
|
63
64
|
export declare function isStrictStringMap(obj: any): boolean;
|
64
65
|
export declare function isPromise(obj: any): boolean;
|
65
66
|
export declare function isArray(obj: any): boolean;
|
66
|
-
export declare function isDate(obj: any):
|
67
|
+
export declare function isDate(obj: any): obj is Date;
|
67
68
|
export declare function noop(): void;
|
68
69
|
export declare function stringify(token: any): string;
|
69
70
|
export declare function serializeEnum(val: any): number;
|
@@ -84,8 +85,8 @@ export declare class StringWrapper {
|
|
84
85
|
static compare(a: string, b: string): number;
|
85
86
|
}
|
86
87
|
export declare class StringJoiner {
|
87
|
-
parts:
|
88
|
-
constructor(parts?:
|
88
|
+
parts: string[];
|
89
|
+
constructor(parts?: string[]);
|
89
90
|
add(part: string): void;
|
90
91
|
toString(): string;
|
91
92
|
}
|
@@ -124,6 +125,7 @@ export declare class RegExpMatcherWrapper {
|
|
124
125
|
}
|
125
126
|
export declare class FunctionWrapper {
|
126
127
|
static apply(fn: Function, posArgs: any): any;
|
128
|
+
static bind(fn: Function, scope: any): Function;
|
127
129
|
}
|
128
130
|
export declare function looseIdentical(a: any, b: any): boolean;
|
129
131
|
export declare function getMapKey<T>(value: T): T;
|
package/src/facade/lang.js
CHANGED
@@ -49,6 +49,7 @@ exports.lockMode = lockMode;
|
|
49
49
|
* One important assertion this disables verifies that a change detection pass
|
50
50
|
* does not result in additional changes to any bindings (also known as
|
51
51
|
* unidirectional data flow).
|
52
|
+
* @stable
|
52
53
|
*/
|
53
54
|
function enableProdMode() {
|
54
55
|
if (_modeLocked) {
|
@@ -77,19 +78,19 @@ function isBlank(obj) {
|
|
77
78
|
}
|
78
79
|
exports.isBlank = isBlank;
|
79
80
|
function isBoolean(obj) {
|
80
|
-
return typeof obj ===
|
81
|
+
return typeof obj === 'boolean';
|
81
82
|
}
|
82
83
|
exports.isBoolean = isBoolean;
|
83
84
|
function isNumber(obj) {
|
84
|
-
return typeof obj ===
|
85
|
+
return typeof obj === 'number';
|
85
86
|
}
|
86
87
|
exports.isNumber = isNumber;
|
87
88
|
function isString(obj) {
|
88
|
-
return typeof obj ===
|
89
|
+
return typeof obj === 'string';
|
89
90
|
}
|
90
91
|
exports.isString = isString;
|
91
92
|
function isFunction(obj) {
|
92
|
-
return typeof obj ===
|
93
|
+
return typeof obj === 'function';
|
93
94
|
}
|
94
95
|
exports.isFunction = isFunction;
|
95
96
|
function isType(obj) {
|
@@ -133,7 +134,7 @@ function stringify(token) {
|
|
133
134
|
return token.overriddenName;
|
134
135
|
}
|
135
136
|
var res = token.toString();
|
136
|
-
var newLineIndex = res.indexOf(
|
137
|
+
var newLineIndex = res.indexOf('\n');
|
137
138
|
return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);
|
138
139
|
}
|
139
140
|
exports.stringify = stringify;
|
@@ -226,7 +227,7 @@ var StringJoiner = (function () {
|
|
226
227
|
this.parts = parts;
|
227
228
|
}
|
228
229
|
StringJoiner.prototype.add = function (part) { this.parts.push(part); };
|
229
|
-
StringJoiner.prototype.toString = function () { return this.parts.join(
|
230
|
+
StringJoiner.prototype.toString = function () { return this.parts.join(''); };
|
230
231
|
return StringJoiner;
|
231
232
|
}());
|
232
233
|
exports.StringJoiner = StringJoiner;
|
@@ -248,7 +249,7 @@ var NumberWrapper = (function () {
|
|
248
249
|
NumberWrapper.parseIntAutoRadix = function (text) {
|
249
250
|
var result = parseInt(text);
|
250
251
|
if (isNaN(result)) {
|
251
|
-
throw new NumberParseError(
|
252
|
+
throw new NumberParseError('Invalid integer literal when parsing ' + text);
|
252
253
|
}
|
253
254
|
return result;
|
254
255
|
};
|
@@ -269,8 +270,7 @@ var NumberWrapper = (function () {
|
|
269
270
|
return result;
|
270
271
|
}
|
271
272
|
}
|
272
|
-
throw new NumberParseError(
|
273
|
-
radix);
|
273
|
+
throw new NumberParseError('Invalid integer literal when parsing ' + text + ' in base ' + radix);
|
274
274
|
};
|
275
275
|
// TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.
|
276
276
|
NumberWrapper.parseFloat = function (text) { return parseFloat(text); };
|
@@ -340,12 +340,13 @@ var FunctionWrapper = (function () {
|
|
340
340
|
function FunctionWrapper() {
|
341
341
|
}
|
342
342
|
FunctionWrapper.apply = function (fn, posArgs) { return fn.apply(null, posArgs); };
|
343
|
+
FunctionWrapper.bind = function (fn, scope) { return fn.bind(scope); };
|
343
344
|
return FunctionWrapper;
|
344
345
|
}());
|
345
346
|
exports.FunctionWrapper = FunctionWrapper;
|
346
347
|
// JS has NaN !== NaN
|
347
348
|
function looseIdentical(a, b) {
|
348
|
-
return a === b || typeof a ===
|
349
|
+
return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
|
349
350
|
}
|
350
351
|
exports.looseIdentical = looseIdentical;
|
351
352
|
// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
|
@@ -363,7 +364,7 @@ function normalizeBool(obj) {
|
|
363
364
|
}
|
364
365
|
exports.normalizeBool = normalizeBool;
|
365
366
|
function isJsObject(o) {
|
366
|
-
return o !== null && (typeof o ===
|
367
|
+
return o !== null && (typeof o === 'function' || typeof o === 'object');
|
367
368
|
}
|
368
369
|
exports.isJsObject = isJsObject;
|
369
370
|
function print(obj) {
|
package/src/facade/lang.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n export interface BrowserNodeGlobal {\n Object: typeof Object;\n Array: typeof Array;\n Map: typeof Map;\n Set: typeof Set;\n Date: DateConstructor;\n RegExp: RegExpConstructor;\n JSON: typeof JSON;\n Math: any; // typeof Math;\n assert(condition: any): void;\n Reflect: any;\n getAngularTestability: Function;\n getAllAngularTestabilities: Function;\n getAllAngularRootElements: Function;\n frameworkStabilizers: Array<Function>;\n setTimeout: Function;\n clearTimeout: Function;\n setInterval: Function;\n clearInterval: Function;\n encodeURI: Function;\n}\n\n// TODO(jteplitz602): Load WorkerGlobalScope from lib.webworker.d.ts file #3492\ndeclare var WorkerGlobalScope;\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\ndeclare var global;\n\nvar globalScope: BrowserNodeGlobal;\nif (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = <any>self;\n } else {\n globalScope = <any>global;\n }\n} else {\n globalScope = <any>window;\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n\nexport const IS_DART = false;\n\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport var Type = Function;\n\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n */\nexport interface Type extends Function {}\n\n/**\n * Runtime representation of a type that is constructable (non-abstract).\n */\nexport interface ConcreteType extends Type { new (...args): any; }\n\nexport function getTypeNameForDebugging(type: Type): string {\n if (type['name']) {\n return type['name'];\n }\n return typeof type;\n}\n\n\nexport var Math = _global.Math;\nexport var Date = _global.Date;\n\nvar _devMode: boolean = true;\nvar _modeLocked: boolean = false;\n\nexport function lockMode() {\n _modeLocked = true;\n}\n\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n */\nexport function enableProdMode() {\n if (_modeLocked) {\n // Cannot use BaseException as that ends up importing from facade/lang.\n throw 'Cannot enable prod mode after platform setup.';\n }\n _devMode = false;\n}\n\nexport function assertionsEnabled(): boolean {\n return _devMode;\n}\n\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n};\n\nexport function isPresent(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isBoolean(obj: any): boolean {\n return typeof obj === \"boolean\";\n}\n\nexport function isNumber(obj: any): boolean {\n return typeof obj === \"number\";\n}\n\nexport function isString(obj: any): boolean {\n return typeof obj === \"string\";\n}\n\nexport function isFunction(obj: any): boolean {\n return typeof obj === \"function\";\n}\n\nexport function isType(obj: any): boolean {\n return isFunction(obj);\n}\n\nexport function isStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isPromise(obj: any): boolean {\n return obj instanceof (<any>_global).Promise;\n}\n\nexport function isArray(obj: any): boolean {\n return Array.isArray(obj);\n}\n\nexport function isDate(obj): boolean {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\n\nexport function noop() {}\n\nexport function stringify(token): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token === undefined || token === null) {\n return '' + token;\n }\n\n if (token.name) {\n return token.name;\n }\n if (token.overriddenName) {\n return token.overriddenName;\n }\n\n var res = token.toString();\n var newLineIndex = res.indexOf(\"\\n\");\n return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);\n}\n\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\n\nexport function serializeEnum(val): number {\n return val;\n}\n\nexport function deserializeEnum(val, values: Map<number, any>): any {\n return val;\n}\n\nexport function resolveEnumToken(enumValue, val): string {\n return enumValue[val];\n}\n\nexport class StringWrapper {\n static fromCharCode(code: number): string { return String.fromCharCode(code); }\n\n static charCodeAt(s: string, index: number): number { return s.charCodeAt(index); }\n\n static split(s: string, regExp: RegExp): string[] { return s.split(regExp); }\n\n static equals(s: string, s2: string): boolean { return s === s2; }\n\n static stripLeft(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n if (s[i] != charVal) break;\n pos++;\n }\n s = s.substring(pos);\n }\n return s;\n }\n\n static stripRight(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = s.length;\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] != charVal) break;\n pos--;\n }\n s = s.substring(0, pos);\n }\n return s;\n }\n\n static replace(s: string, from: string, replace: string): string {\n return s.replace(from, replace);\n }\n\n static replaceAll(s: string, from: RegExp, replace: string): string {\n return s.replace(from, replace);\n }\n\n static slice<T>(s: string, from: number = 0, to: number = null): string {\n return s.slice(from, to === null ? undefined : to);\n }\n\n static replaceAllMapped(s: string, from: RegExp, cb: Function): string {\n return s.replace(from, function(...matches) {\n // Remove offset & string from the result array\n matches.splice(-2, 2);\n // The callback receives match, p1, ..., pn\n return cb(matches);\n });\n }\n\n static contains(s: string, substr: string): boolean { return s.indexOf(substr) != -1; }\n\n static compare(a: string, b: string): number {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n}\n\nexport class StringJoiner {\n constructor(public parts = []) {}\n\n add(part: string): void { this.parts.push(part); }\n\n toString(): string { return this.parts.join(\"\"); }\n}\n\nexport class NumberParseError extends Error {\n name: string;\n\n constructor(public message: string) { super(); }\n\n toString(): string { return this.message; }\n}\n\n\nexport class NumberWrapper {\n static toFixed(n: number, fractionDigits: number): string { return n.toFixed(fractionDigits); }\n\n static equal(a: number, b: number): boolean { return a === b; }\n\n static parseIntAutoRadix(text: string): number {\n var result: number = parseInt(text);\n if (isNaN(result)) {\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text);\n }\n return result;\n }\n\n static parseInt(text: string, radix: number): number {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else {\n var result: number = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new NumberParseError(\"Invalid integer literal when parsing \" + text + \" in base \" +\n radix);\n }\n\n // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n static parseFloat(text: string): number { return parseFloat(text); }\n\n static get NaN(): number { return NaN; }\n\n static isNaN(value: any): boolean { return isNaN(value); }\n\n static isInteger(value: any): boolean { return Number.isInteger(value); }\n}\n\nexport var RegExp = _global.RegExp;\n\nexport class RegExpWrapper {\n static create(regExpStr: string, flags: string = ''): RegExp {\n flags = flags.replace(/g/g, '');\n return new _global.RegExp(regExpStr, flags + 'g');\n }\n static firstMatch(regExp: RegExp, input: string): RegExpExecArray {\n // Reset multimatch regex state\n regExp.lastIndex = 0;\n return regExp.exec(input);\n }\n static test(regExp: RegExp, input: string): boolean {\n regExp.lastIndex = 0;\n return regExp.test(input);\n }\n static matcher(regExp: RegExp, input: string): {\n re: RegExp;\n input: string\n }\n {\n // Reset regex state for the case\n // someone did not loop over all matches\n // last time.\n regExp.lastIndex = 0;\n return {re: regExp, input: input};\n }\n static replaceAll(regExp: RegExp, input: string, replace: Function): string {\n let c = regExp.exec(input);\n let res = '';\n regExp.lastIndex = 0;\n let prev = 0;\n while (c) {\n res += input.substring(prev, c.index);\n res += replace(c);\n prev = c.index + c[0].length;\n regExp.lastIndex = prev;\n c = regExp.exec(input);\n }\n res += input.substring(prev);\n return res;\n }\n}\n\nexport class RegExpMatcherWrapper {\n static next(matcher: {\n re: RegExp;\n input: string\n }): RegExpExecArray {\n return matcher.re.exec(matcher.input);\n }\n}\n\nexport class FunctionWrapper {\n static apply(fn: Function, posArgs: any): any { return fn.apply(null, posArgs); }\n}\n\n// JS has NaN !== NaN\nexport function looseIdentical(a, b): boolean {\n return a === b || typeof a === \"number\" && typeof b === \"number\" && isNaN(a) && isNaN(b);\n}\n\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nexport function getMapKey<T>(value: T): T {\n return value;\n}\n\nexport function normalizeBlank(obj: Object): any {\n return isBlank(obj) ? null : obj;\n}\n\nexport function normalizeBool(obj: boolean): boolean {\n return isBlank(obj) ? false : obj;\n}\n\nexport function isJsObject(o: any): boolean {\n return o !== null && (typeof o === \"function\" || typeof o === \"object\");\n}\n\nexport function print(obj: Error | Object) {\n console.log(obj);\n}\n\nexport function warn(obj: Error | Object) {\n console.warn(obj);\n}\n\n// Can't be all uppercase as our transpiler would think it is a special directive...\nexport class Json {\n static parse(s: string): Object { return _global.JSON.parse(s); }\n static stringify(data: Object): string {\n // Dart doesn't take 3 arguments\n return _global.JSON.stringify(data, null, 2);\n }\n}\n\nexport class DateWrapper {\n static create(year: number, month: number = 1, day: number = 1, hour: number = 0,\n minutes: number = 0, seconds: number = 0, milliseconds: number = 0): Date {\n return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n }\n static fromISOString(str: string): Date { return new Date(str); }\n static fromMillis(ms: number): Date { return new Date(ms); }\n static toMillis(date: Date): number { return date.getTime(); }\n static now(): Date { return new Date(); }\n static toJson(date: Date): string { return date.toJSON(); }\n}\n\nexport function setValueOnPath(global: any, path: string, value: any) {\n var parts = path.split('.');\n var obj: any = global;\n while (parts.length > 1) {\n var name = parts.shift();\n if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n obj = obj[name];\n } else {\n obj = obj[name] = {};\n }\n }\n if (obj === undefined || obj === null) {\n obj = {};\n }\n obj[parts.shift()] = value;\n}\n\n// When Symbol.iterator doesn't exist, retrieves the key used in es6-shim\ndeclare var Symbol;\nvar _symbolIterator = null;\nexport function getSymbolIterator(): string | symbol {\n if (isBlank(_symbolIterator)) {\n if (isPresent((<any>globalScope).Symbol) && isPresent(Symbol.iterator)) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n var keys = Object.getOwnPropertyNames(Map.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (key !== 'entries' && key !== 'size' &&\n Map.prototype[key] === Map.prototype['entries']) {\n _symbolIterator = key;\n }\n }\n }\n }\n return _symbolIterator;\n}\n\nexport function evalExpression(sourceUrl: string, expr: string, declarations: string,\n vars: {[key: string]: any}): any {\n var fnBody = `${declarations}\\nreturn ${expr}\\n//# sourceURL=${sourceUrl}`;\n var fnArgNames = [];\n var fnArgValues = [];\n for (var argName in vars) {\n fnArgNames.push(argName);\n fnArgValues.push(vars[argName]);\n }\n return new Function(...fnArgNames.concat(fnBody))(...fnArgValues);\n}\n\nexport function isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function hasConstructor(value: Object, type: Type): boolean {\n return value.constructor === type;\n}\n\nexport function bitWiseOr(values: number[]): number {\n return values.reduce((a, b) => { return a | b; });\n}\n\nexport function bitWiseAnd(values: number[]): number {\n return values.reduce((a, b) => { return a & b; });\n}\n\nexport function escape(s: string): string {\n return _global.encodeURI(s);\n}\n"]}
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/facade/lang.ts"],"names":[],"mappings":"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","sourcesContent":["export interface BrowserNodeGlobal {\n Object: typeof Object;\n Array: typeof Array;\n Map: typeof Map;\n Set: typeof Set;\n Date: DateConstructor;\n RegExp: RegExpConstructor;\n JSON: typeof JSON;\n Math: any; // typeof Math;\n assert(condition: any): void;\n Reflect: any;\n getAngularTestability: Function;\n getAllAngularTestabilities: Function;\n getAllAngularRootElements: Function;\n frameworkStabilizers: Array<Function>;\n setTimeout: Function;\n clearTimeout: Function;\n setInterval: Function;\n clearInterval: Function;\n encodeURI: Function;\n}\n\n// TODO(jteplitz602): Load WorkerGlobalScope from lib.webworker.d.ts file #3492\ndeclare var WorkerGlobalScope: any /** TODO #9100 */;\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\ndeclare var global: any /** TODO #9100 */;\n\nvar globalScope: BrowserNodeGlobal;\nif (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = <any>self;\n } else {\n globalScope = <any>global;\n }\n} else {\n globalScope = <any>window;\n}\n\nexport function scheduleMicroTask(fn: Function) {\n Zone.current.scheduleMicroTask('scheduleMicrotask', fn);\n}\n\nexport const IS_DART = false;\n\n// Need to declare a new variable for global here since TypeScript\n// exports the original value of the symbol.\nvar _global: BrowserNodeGlobal = globalScope;\n\nexport {_global as global};\n\nexport var Type = Function;\n\n/**\n * Runtime representation a type that a Component or other object is instances of.\n *\n * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by\n * the `MyCustomComponent` constructor function.\n */\nexport interface Type extends Function {}\n\n/**\n * Runtime representation of a type that is constructable (non-abstract).\n */\nexport interface ConcreteType extends Type { new (...args: any[] /** TODO #9100 */): any; }\n\nexport function getTypeNameForDebugging(type: Type): string {\n if (type['name']) {\n return type['name'];\n }\n return typeof type;\n}\n\n\nexport var Math = _global.Math;\nexport var Date = _global.Date;\n\nvar _devMode: boolean = true;\nvar _modeLocked: boolean = false;\n\nexport function lockMode() {\n _modeLocked = true;\n}\n\n/**\n * Disable Angular's development mode, which turns off assertions and other\n * checks within the framework.\n *\n * One important assertion this disables verifies that a change detection pass\n * does not result in additional changes to any bindings (also known as\n * unidirectional data flow).\n * @stable\n */\nexport function enableProdMode() {\n if (_modeLocked) {\n // Cannot use BaseException as that ends up importing from facade/lang.\n throw 'Cannot enable prod mode after platform setup.';\n }\n _devMode = false;\n}\n\nexport function assertionsEnabled(): boolean {\n return _devMode;\n}\n\n// TODO: remove calls to assert in production environment\n// Note: Can't just export this and import in in other files\n// as `assert` is a reserved keyword in Dart\n_global.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n};\n\nexport function isPresent(obj: any): boolean {\n return obj !== undefined && obj !== null;\n}\n\nexport function isBlank(obj: any): boolean {\n return obj === undefined || obj === null;\n}\n\nexport function isBoolean(obj: any): boolean {\n return typeof obj === 'boolean';\n}\n\nexport function isNumber(obj: any): boolean {\n return typeof obj === 'number';\n}\n\nexport function isString(obj: any): obj is String {\n return typeof obj === 'string';\n}\n\nexport function isFunction(obj: any): boolean {\n return typeof obj === 'function';\n}\n\nexport function isType(obj: any): boolean {\n return isFunction(obj);\n}\n\nexport function isStringMap(obj: any): boolean {\n return typeof obj === 'object' && obj !== null;\n}\n\nconst STRING_MAP_PROTO = Object.getPrototypeOf({});\nexport function isStrictStringMap(obj: any): boolean {\n return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n}\n\nexport function isPromise(obj: any): boolean {\n return obj instanceof (<any>_global).Promise;\n}\n\nexport function isArray(obj: any): boolean {\n return Array.isArray(obj);\n}\n\nexport function isDate(obj: any): obj is Date {\n return obj instanceof Date && !isNaN(obj.valueOf());\n}\n\nexport function noop() {}\n\nexport function stringify(token: any): string {\n if (typeof token === 'string') {\n return token;\n }\n\n if (token === undefined || token === null) {\n return '' + token;\n }\n\n if (token.name) {\n return token.name;\n }\n if (token.overriddenName) {\n return token.overriddenName;\n }\n\n var res = token.toString();\n var newLineIndex = res.indexOf('\\n');\n return (newLineIndex === -1) ? res : res.substring(0, newLineIndex);\n}\n\n// serialize / deserialize enum exist only for consistency with dart API\n// enums in typescript don't need to be serialized\n\nexport function serializeEnum(val: any): number {\n return val;\n}\n\nexport function deserializeEnum(val: any, values: Map<number, any>): any {\n return val;\n}\n\nexport function resolveEnumToken(enumValue: any, val: any): string {\n return enumValue[val];\n}\n\nexport class StringWrapper {\n static fromCharCode(code: number): string { return String.fromCharCode(code); }\n\n static charCodeAt(s: string, index: number): number { return s.charCodeAt(index); }\n\n static split(s: string, regExp: RegExp): string[] { return s.split(regExp); }\n\n static equals(s: string, s2: string): boolean { return s === s2; }\n\n static stripLeft(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = 0;\n for (var i = 0; i < s.length; i++) {\n if (s[i] != charVal) break;\n pos++;\n }\n s = s.substring(pos);\n }\n return s;\n }\n\n static stripRight(s: string, charVal: string): string {\n if (s && s.length) {\n var pos = s.length;\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] != charVal) break;\n pos--;\n }\n s = s.substring(0, pos);\n }\n return s;\n }\n\n static replace(s: string, from: string, replace: string): string {\n return s.replace(from, replace);\n }\n\n static replaceAll(s: string, from: RegExp, replace: string): string {\n return s.replace(from, replace);\n }\n\n static slice<T>(s: string, from: number = 0, to: number = null): string {\n return s.slice(from, to === null ? undefined : to);\n }\n\n static replaceAllMapped(s: string, from: RegExp, cb: Function): string {\n return s.replace(from, function(...matches: any[]) {\n // Remove offset & string from the result array\n matches.splice(-2, 2);\n // The callback receives match, p1, ..., pn\n return cb(matches);\n });\n }\n\n static contains(s: string, substr: string): boolean { return s.indexOf(substr) != -1; }\n\n static compare(a: string, b: string): number {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n }\n}\n\nexport class StringJoiner {\n constructor(public parts: string[] = []) {}\n\n add(part: string): void { this.parts.push(part); }\n\n toString(): string { return this.parts.join(''); }\n}\n\nexport class NumberParseError extends Error {\n name: string;\n\n constructor(public message: string) { super(); }\n\n toString(): string { return this.message; }\n}\n\n\nexport class NumberWrapper {\n static toFixed(n: number, fractionDigits: number): string { return n.toFixed(fractionDigits); }\n\n static equal(a: number, b: number): boolean { return a === b; }\n\n static parseIntAutoRadix(text: string): number {\n var result: number = parseInt(text);\n if (isNaN(result)) {\n throw new NumberParseError('Invalid integer literal when parsing ' + text);\n }\n return result;\n }\n\n static parseInt(text: string, radix: number): number {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n } else {\n var result: number = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new NumberParseError(\n 'Invalid integer literal when parsing ' + text + ' in base ' + radix);\n }\n\n // TODO: NaN is a valid literal but is returned by parseFloat to indicate an error.\n static parseFloat(text: string): number { return parseFloat(text); }\n\n static get NaN(): number { return NaN; }\n\n static isNaN(value: any): boolean { return isNaN(value); }\n\n static isInteger(value: any): boolean { return Number.isInteger(value); }\n}\n\nexport var RegExp = _global.RegExp;\n\nexport class RegExpWrapper {\n static create(regExpStr: string, flags: string = ''): RegExp {\n flags = flags.replace(/g/g, '');\n return new _global.RegExp(regExpStr, flags + 'g');\n }\n static firstMatch(regExp: RegExp, input: string): RegExpExecArray {\n // Reset multimatch regex state\n regExp.lastIndex = 0;\n return regExp.exec(input);\n }\n static test(regExp: RegExp, input: string): boolean {\n regExp.lastIndex = 0;\n return regExp.test(input);\n }\n static matcher(regExp: RegExp, input: string): {re: RegExp; input: string} {\n // Reset regex state for the case\n // someone did not loop over all matches\n // last time.\n regExp.lastIndex = 0;\n return {re: regExp, input: input};\n }\n static replaceAll(regExp: RegExp, input: string, replace: Function): string {\n let c = regExp.exec(input);\n let res = '';\n regExp.lastIndex = 0;\n let prev = 0;\n while (c) {\n res += input.substring(prev, c.index);\n res += replace(c);\n prev = c.index + c[0].length;\n regExp.lastIndex = prev;\n c = regExp.exec(input);\n }\n res += input.substring(prev);\n return res;\n }\n}\n\nexport class RegExpMatcherWrapper {\n static next(matcher: {re: RegExp; input: string}): RegExpExecArray {\n return matcher.re.exec(matcher.input);\n }\n}\n\nexport class FunctionWrapper {\n static apply(fn: Function, posArgs: any): any { return fn.apply(null, posArgs); }\n\n static bind(fn: Function, scope: any): Function { return fn.bind(scope); }\n}\n\n// JS has NaN !== NaN\nexport function looseIdentical(a: any, b: any): boolean {\n return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);\n}\n\n// JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)\n// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\nexport function getMapKey<T>(value: T): T {\n return value;\n}\n\nexport function normalizeBlank(obj: Object): any {\n return isBlank(obj) ? null : obj;\n}\n\nexport function normalizeBool(obj: boolean): boolean {\n return isBlank(obj) ? false : obj;\n}\n\nexport function isJsObject(o: any): boolean {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n}\n\nexport function print(obj: Error | Object) {\n console.log(obj);\n}\n\nexport function warn(obj: Error | Object) {\n console.warn(obj);\n}\n\n// Can't be all uppercase as our transpiler would think it is a special directive...\nexport class Json {\n static parse(s: string): Object { return _global.JSON.parse(s); }\n static stringify(data: Object): string {\n // Dart doesn't take 3 arguments\n return _global.JSON.stringify(data, null, 2);\n }\n}\n\nexport class DateWrapper {\n static create(\n year: number, month: number = 1, day: number = 1, hour: number = 0, minutes: number = 0,\n seconds: number = 0, milliseconds: number = 0): Date {\n return new Date(year, month - 1, day, hour, minutes, seconds, milliseconds);\n }\n static fromISOString(str: string): Date { return new Date(str); }\n static fromMillis(ms: number): Date { return new Date(ms); }\n static toMillis(date: Date): number { return date.getTime(); }\n static now(): Date { return new Date(); }\n static toJson(date: Date): string { return date.toJSON(); }\n}\n\nexport function setValueOnPath(global: any, path: string, value: any) {\n var parts = path.split('.');\n var obj: any = global;\n while (parts.length > 1) {\n var name = parts.shift();\n if (obj.hasOwnProperty(name) && isPresent(obj[name])) {\n obj = obj[name];\n } else {\n obj = obj[name] = {};\n }\n }\n if (obj === undefined || obj === null) {\n obj = {};\n }\n obj[parts.shift()] = value;\n}\n\n// When Symbol.iterator doesn't exist, retrieves the key used in es6-shim\ndeclare var Symbol: any;\nvar _symbolIterator: any = null;\nexport function getSymbolIterator(): string|symbol {\n if (isBlank(_symbolIterator)) {\n if (isPresent((<any>globalScope).Symbol) && isPresent(Symbol.iterator)) {\n _symbolIterator = Symbol.iterator;\n } else {\n // es6-shim specific logic\n var keys = Object.getOwnPropertyNames(Map.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (key !== 'entries' && key !== 'size' &&\n (Map as any).prototype[key] === Map.prototype['entries']) {\n _symbolIterator = key;\n }\n }\n }\n }\n return _symbolIterator;\n}\n\nexport function evalExpression(\n sourceUrl: string, expr: string, declarations: string, vars: {[key: string]: any}): any {\n var fnBody = `${declarations}\\nreturn ${expr}\\n//# sourceURL=${sourceUrl}`;\n var fnArgNames: string[] = [];\n var fnArgValues: any[] = [];\n for (var argName in vars) {\n fnArgNames.push(argName);\n fnArgValues.push(vars[argName]);\n }\n return new Function(...fnArgNames.concat(fnBody))(...fnArgValues);\n}\n\nexport function isPrimitive(obj: any): boolean {\n return !isJsObject(obj);\n}\n\nexport function hasConstructor(value: Object, type: Type): boolean {\n return value.constructor === type;\n}\n\nexport function bitWiseOr(values: number[]): number {\n return values.reduce((a, b) => { return a | b; });\n}\n\nexport function bitWiseAnd(values: number[]): number {\n return values.reduce((a, b) => { return a & b; });\n}\n\nexport function escape(s: string): string {\n return _global.encodeURI(s);\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"__symbolic":"module","metadata":{"IS_DART":false,"Type":{"__symbolic":"reference","name":"Function"},"Math":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Math"},"Date":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Date"},"RegExp":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"RegExp"}}}
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"IS_DART":false,"Type":{"__symbolic":"reference","name":"Function"},"Math":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Math"},"Date":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Date"},"assertionsEnabled":{"__symbolic":"function","parameters":[],"value":true},"isPresent":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"undefined"}},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"undefined"}},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isBoolean":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":123,"character":8},"right":"boolean"}},"isNumber":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":127,"character":8},"right":"number"}},"isString":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":131,"character":8},"right":"string"}},"isFunction":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":135,"character":8},"right":"function"}},"isType":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFunction"},"arguments":[{"__symbolic":"reference","name":"obj"}]}},"isStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":143,"character":8},"right":"object"},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"obj"},"right":null}}},"isStrictStringMap":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isStringMap"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Object"},"member":"getPrototypeOf"},"arguments":[{"__symbolic":"reference","name":"obj"}]},"right":{"__symbolic":"reference","name":"STRING_MAP_PROTO"}}}},"isPromise":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"Promise"}}},"isArray":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Array"},"member":"isArray"},"arguments":[{"__symbolic":"reference","name":"obj"}]}},"isDate":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"instanceof","left":{"__symbolic":"reference","name":"obj"},"right":{"__symbolic":"reference","name":"Date"}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"obj"},"member":"valueOf"}}]}}}},"serializeEnum":{"__symbolic":"function","parameters":["val"],"value":{"__symbolic":"reference","name":"val"}},"deserializeEnum":{"__symbolic":"function","parameters":["val","values"],"value":{"__symbolic":"reference","name":"val"}},"resolveEnumToken":{"__symbolic":"function","parameters":["enumValue","val"],"value":{"__symbolic":"index","expression":{"__symbolic":"reference","name":"enumValue"},"index":{"__symbolic":"reference","name":"val"}}},"RegExp":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"RegExp"},"looseIdentical":{"__symbolic":"function","parameters":["a","b"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"reference","name":"a"},"right":{"__symbolic":"reference","name":"b"}},"right":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":381,"character":19},"right":"number"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":381,"character":44},"right":"number"}},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"reference","name":"a"}]}},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"reference","name":"b"}]}}}},"getMapKey":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"reference","name":"value"}},"normalizeBlank":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"error","message":"Expression form not supported","line":391,"character":8}},"normalizeBool":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"error","message":"Expression form not supported","line":395,"character":8}},"isJsObject":{"__symbolic":"function","parameters":["o"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"o"},"right":null},"right":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":399,"character":24},"right":"function"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":399,"character":50},"right":"object"}}}},"isPrimitive":{"__symbolic":"function","parameters":["obj"],"value":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isJsObject"},"arguments":[{"__symbolic":"reference","name":"obj"}]}}},"hasConstructor":{"__symbolic":"function","parameters":["value","type"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"constructor"},"right":{"__symbolic":"reference","name":"type"}}},"bitWiseOr":{"__symbolic":"function","parameters":["values"],"value":{"__symbolic":"error","message":"Function call not supported","line":492,"character":23}},"bitWiseAnd":{"__symbolic":"function","parameters":["values"],"value":{"__symbolic":"error","message":"Function call not supported","line":496,"character":23}},"escape":{"__symbolic":"function","parameters":["s"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"_global"},"member":"encodeURI"},"arguments":[{"__symbolic":"reference","name":"s"}]}}}}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
export declare class PromiseCompleter<R> {
|
2
|
+
promise: Promise<R>;
|
3
|
+
resolve: (value?: R | PromiseLike<R>) => void;
|
4
|
+
reject: (error?: any, stackTrace?: string) => void;
|
5
|
+
constructor();
|
6
|
+
}
|
7
|
+
export declare class PromiseWrapper {
|
8
|
+
static resolve<T>(obj: T): Promise<T>;
|
9
|
+
static reject(obj: any, _: any): Promise<any>;
|
10
|
+
static catchError<T>(promise: Promise<T>, onError: (error: any) => T | PromiseLike<T>): Promise<T>;
|
11
|
+
static all<T>(promises: (T | Promise<T>)[]): Promise<T[]>;
|
12
|
+
static then<T, U>(promise: Promise<T>, success: (value: T) => U | PromiseLike<U>, rejection?: (error: any, stack?: any) => U | PromiseLike<U>): Promise<U>;
|
13
|
+
static wrap<T>(computation: () => T): Promise<T>;
|
14
|
+
static scheduleMicrotask(computation: () => any): void;
|
15
|
+
static isPromise(obj: any): boolean;
|
16
|
+
static completer<T>(): PromiseCompleter<T>;
|
17
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
"use strict";
|
2
|
+
var PromiseCompleter = (function () {
|
3
|
+
function PromiseCompleter() {
|
4
|
+
var _this = this;
|
5
|
+
this.promise = new Promise(function (res, rej) {
|
6
|
+
_this.resolve = res;
|
7
|
+
_this.reject = rej;
|
8
|
+
});
|
9
|
+
}
|
10
|
+
return PromiseCompleter;
|
11
|
+
}());
|
12
|
+
exports.PromiseCompleter = PromiseCompleter;
|
13
|
+
var PromiseWrapper = (function () {
|
14
|
+
function PromiseWrapper() {
|
15
|
+
}
|
16
|
+
PromiseWrapper.resolve = function (obj) { return Promise.resolve(obj); };
|
17
|
+
PromiseWrapper.reject = function (obj, _) { return Promise.reject(obj); };
|
18
|
+
// Note: We can't rename this method into `catch`, as this is not a valid
|
19
|
+
// method name in Dart.
|
20
|
+
PromiseWrapper.catchError = function (promise, onError) {
|
21
|
+
return promise.catch(onError);
|
22
|
+
};
|
23
|
+
PromiseWrapper.all = function (promises) {
|
24
|
+
if (promises.length == 0)
|
25
|
+
return Promise.resolve([]);
|
26
|
+
return Promise.all(promises);
|
27
|
+
};
|
28
|
+
PromiseWrapper.then = function (promise, success, rejection) {
|
29
|
+
return promise.then(success, rejection);
|
30
|
+
};
|
31
|
+
PromiseWrapper.wrap = function (computation) {
|
32
|
+
return new Promise(function (res, rej) {
|
33
|
+
try {
|
34
|
+
res(computation());
|
35
|
+
}
|
36
|
+
catch (e) {
|
37
|
+
rej(e);
|
38
|
+
}
|
39
|
+
});
|
40
|
+
};
|
41
|
+
PromiseWrapper.scheduleMicrotask = function (computation) {
|
42
|
+
PromiseWrapper.then(PromiseWrapper.resolve(null), computation, function (_) { });
|
43
|
+
};
|
44
|
+
PromiseWrapper.isPromise = function (obj) { return obj instanceof Promise; };
|
45
|
+
PromiseWrapper.completer = function () { return new PromiseCompleter(); };
|
46
|
+
return PromiseWrapper;
|
47
|
+
}());
|
48
|
+
exports.PromiseWrapper = PromiseWrapper;
|
49
|
+
//# sourceMappingURL=promise.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"promise.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/facade/promise.ts"],"names":[],"mappings":";AACA;IAKE;QALF,iBAWC;QALG,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YAClC,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACH,uBAAC;AAAD,CAAC,AAXD,IAWC;AAXY,wBAAgB,mBAW5B,CAAA;AAED;IAAA;IAwCA,CAAC;IAvCQ,sBAAO,GAAd,UAAkB,GAAM,IAAgB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,qBAAM,GAAb,UAAc,GAAQ,EAAE,CAAM,IAAkB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE7E,yEAAyE;IACzE,uBAAuB;IAChB,yBAAU,GAAjB,UAAqB,OAAmB,EAAE,OAA2C;QAEnF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEM,kBAAG,GAAV,UAAc,QAA0B;QACtC,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEM,mBAAI,GAAX,UACI,OAAmB,EAAE,OAAyC,EAC9D,SAA2D;QAC7D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAEM,mBAAI,GAAX,UAAe,WAAoB;QACjC,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;YAC1B,IAAI,CAAC;gBACH,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACrB,CAAE;YAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACX,GAAG,CAAC,CAAC,CAAC,CAAC;YACT,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAiB,GAAxB,UAAyB,WAAsB;QAC7C,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAC,CAAC,IAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAEM,wBAAS,GAAhB,UAAiB,GAAQ,IAAa,MAAM,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC;IAE/D,wBAAS,GAAhB,cAA6C,MAAM,CAAC,IAAI,gBAAgB,EAAK,CAAC,CAAC,CAAC;IAClF,qBAAC;AAAD,CAAC,AAxCD,IAwCC;AAxCY,sBAAc,iBAwC1B,CAAA","sourcesContent":["\nexport class PromiseCompleter<R> {\n promise: Promise<R>;\n resolve: (value?: R|PromiseLike<R>) => void;\n reject: (error?: any, stackTrace?: string) => void;\n\n constructor() {\n this.promise = new Promise((res, rej) => {\n this.resolve = res;\n this.reject = rej;\n });\n }\n}\n\nexport class PromiseWrapper {\n static resolve<T>(obj: T): Promise<T> { return Promise.resolve(obj); }\n\n static reject(obj: any, _: any): Promise<any> { return Promise.reject(obj); }\n\n // Note: We can't rename this method into `catch`, as this is not a valid\n // method name in Dart.\n static catchError<T>(promise: Promise<T>, onError: (error: any) => T | PromiseLike<T>):\n Promise<T> {\n return promise.catch(onError);\n }\n\n static all<T>(promises: (T|Promise<T>)[]): Promise<T[]> {\n if (promises.length == 0) return Promise.resolve([]);\n return Promise.all(promises);\n }\n\n static then<T, U>(\n promise: Promise<T>, success: (value: T) => U | PromiseLike<U>,\n rejection?: (error: any, stack?: any) => U | PromiseLike<U>): Promise<U> {\n return promise.then(success, rejection);\n }\n\n static wrap<T>(computation: () => T): Promise<T> {\n return new Promise((res, rej) => {\n try {\n res(computation());\n } catch (e) {\n rej(e);\n }\n });\n }\n\n static scheduleMicrotask(computation: () => any): void {\n PromiseWrapper.then(PromiseWrapper.resolve(null), computation, (_) => {});\n }\n\n static isPromise(obj: any): boolean { return obj instanceof Promise; }\n\n static completer<T>(): PromiseCompleter<T> { return new PromiseCompleter<T>(); }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { SanitizationService, SecurityContext } from '../../core_private';
|
2
2
|
export { SecurityContext };
|
3
3
|
/** Marker interface for a value that's safe to use in a particular context. */
|
4
4
|
export interface SafeValue {
|
@@ -74,23 +74,22 @@ export declare abstract class DomSanitizationService implements SanitizationServ
|
|
74
74
|
abstract bypassSecurityTrustScript(value: string): SafeScript;
|
75
75
|
/**
|
76
76
|
* Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used
|
77
|
-
* in hyperlinks or `<
|
77
|
+
* in hyperlinks or `<img src>`.
|
78
78
|
*
|
79
79
|
* WARNING: calling this method with untrusted user data will cause severe security bugs!
|
80
80
|
*/
|
81
81
|
abstract bypassSecurityTrustUrl(value: string): SafeUrl;
|
82
82
|
/**
|
83
83
|
* Bypass security and trust the given value to be a safe resource URL, i.e. a location that may
|
84
|
-
* be used to load executable code from, like `<script src>`.
|
84
|
+
* be used to load executable code from, like `<script src>`, or `<iframe src>`.
|
85
85
|
*
|
86
86
|
* WARNING: calling this method with untrusted user data will cause severe security bugs!
|
87
87
|
*/
|
88
|
-
abstract bypassSecurityTrustResourceUrl(value: string):
|
88
|
+
abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;
|
89
89
|
}
|
90
90
|
export declare class DomSanitizationServiceImpl extends DomSanitizationService {
|
91
91
|
sanitize(ctx: SecurityContext, value: any): string;
|
92
92
|
private checkNotSafeValue(value, expectedType);
|
93
|
-
private sanitizeHtml(value);
|
94
93
|
bypassSecurityTrustHtml(value: string): SafeHtml;
|
95
94
|
bypassSecurityTrustStyle(value: string): SafeStyle;
|
96
95
|
bypassSecurityTrustScript(value: string): SafeScript;
|
@@ -4,11 +4,12 @@ var __extends = (this && this.__extends) || function (d, b) {
|
|
4
4
|
function __() { this.constructor = d; }
|
5
5
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
6
6
|
};
|
7
|
-
var
|
8
|
-
var style_sanitizer_1 = require('./style_sanitizer');
|
7
|
+
var core_1 = require('@angular/core');
|
9
8
|
var core_private_1 = require('../../core_private');
|
10
9
|
exports.SecurityContext = core_private_1.SecurityContext;
|
11
|
-
var
|
10
|
+
var html_sanitizer_1 = require('./html_sanitizer');
|
11
|
+
var style_sanitizer_1 = require('./style_sanitizer');
|
12
|
+
var url_sanitizer_1 = require('./url_sanitizer');
|
12
13
|
/**
|
13
14
|
* DomSanitizationService helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing
|
14
15
|
* values to be safe to use in the different DOM contexts.
|
@@ -54,7 +55,7 @@ var DomSanitizationServiceImpl = (function (_super) {
|
|
54
55
|
if (value instanceof SafeHtmlImpl)
|
55
56
|
return value.changingThisBreaksApplicationSecurity;
|
56
57
|
this.checkNotSafeValue(value, 'HTML');
|
57
|
-
return
|
58
|
+
return html_sanitizer_1.sanitizeHtml(String(value));
|
58
59
|
case core_private_1.SecurityContext.STYLE:
|
59
60
|
if (value instanceof SafeStyleImpl)
|
60
61
|
return value.changingThisBreaksApplicationSecurity;
|
@@ -82,13 +83,9 @@ var DomSanitizationServiceImpl = (function (_super) {
|
|
82
83
|
};
|
83
84
|
DomSanitizationServiceImpl.prototype.checkNotSafeValue = function (value, expectedType) {
|
84
85
|
if (value instanceof SafeValueImpl) {
|
85
|
-
throw new Error(
|
86
|
+
throw new Error("Required a safe " + expectedType + ", got a " + value.getTypeName());
|
86
87
|
}
|
87
88
|
};
|
88
|
-
DomSanitizationServiceImpl.prototype.sanitizeHtml = function (value) {
|
89
|
-
// TODO(martinprobst): implement.
|
90
|
-
return value;
|
91
|
-
};
|
92
89
|
DomSanitizationServiceImpl.prototype.bypassSecurityTrustHtml = function (value) { return new SafeHtmlImpl(value); };
|
93
90
|
DomSanitizationServiceImpl.prototype.bypassSecurityTrustStyle = function (value) { return new SafeStyleImpl(value); };
|
94
91
|
DomSanitizationServiceImpl.prototype.bypassSecurityTrustScript = function (value) { return new SafeScriptImpl(value); };
|
@@ -96,6 +93,7 @@ var DomSanitizationServiceImpl = (function (_super) {
|
|
96
93
|
DomSanitizationServiceImpl.prototype.bypassSecurityTrustResourceUrl = function (value) {
|
97
94
|
return new SafeResourceUrlImpl(value);
|
98
95
|
};
|
96
|
+
/** @nocollapse */
|
99
97
|
DomSanitizationServiceImpl.decorators = [
|
100
98
|
{ type: core_1.Injectable },
|
101
99
|
];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dom_sanitization_service.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/security/dom_sanitization_service.ts"],"names":[],"mappings":"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","sourcesContent":["interface DecoratorInvocation {\n type: Function;\n args?: any[];\n }\n import {sanitizeUrl} from './url_sanitizer';\nimport {sanitizeStyle} from './style_sanitizer';\nimport {SecurityContext, SanitizationService} from '../../core_private';\nimport {Injectable} from '@angular/core';\nexport {SecurityContext};\n\n/** Marker interface for a value that's safe to use in a particular context. */\nexport interface SafeValue {}\n/** Marker interface for a value that's safe to use as HTML. */\nexport interface SafeHtml extends SafeValue {}\n/** Marker interface for a value that's safe to use as style (CSS). */\nexport interface SafeStyle extends SafeValue {}\n/** Marker interface for a value that's safe to use as JavaScript. */\nexport interface SafeScript extends SafeValue {}\n/** Marker interface for a value that's safe to use as a URL linking to a document. */\nexport interface SafeUrl extends SafeValue {}\n/** Marker interface for a value that's safe to use as a URL to load executable code from. */\nexport interface SafeResourceUrl extends SafeValue {}\n\n/**\n * DomSanitizationService helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n */\nexport abstract class DomSanitizationService implements SanitizationService {\n /**\n * Sanitizes a value for use in the given SecurityContext.\n *\n * If value is trusted for the context, this method will unwrap the contained safe value and use\n * it directly. Otherwise, value will be sanitized to be safe in the given context, for example\n * by replacing URLs that have an unsafe protocol part (such as `javascript:`). The implementation\n * is responsible to make sure that the value can definitely be safely used in the given context.\n */\n abstract sanitize(context: SecurityContext, value: any): string;\n\n /**\n * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML\n * is unsafe (e.g. contains `<script>` tags) and the code should be executed. The sanitizer will\n * leave safe HTML intact, so in most situations this method should not be used.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustHtml(value: string): SafeHtml;\n\n /**\n * Bypass security and trust the given value to be safe style value (CSS).\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustStyle(value: string): SafeStyle;\n\n /**\n * Bypass security and trust the given value to be safe JavaScript.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustScript(value: string): SafeScript;\n\n /**\n * Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used\n * in hyperlinks or `<iframe src>`.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustUrl(value: string): SafeUrl;\n\n /**\n * Bypass security and trust the given value to be a safe resource URL, i.e. a location that may\n * be used to load executable code from, like `<script src>`.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustResourceUrl(value: string);\n}\nexport class DomSanitizationServiceImpl extends DomSanitizationService {\n sanitize(ctx: SecurityContext, value: any): string {\n if (value == null) return null;\n switch (ctx) {\n case SecurityContext.NONE:\n return value;\n case SecurityContext.HTML:\n if (value instanceof SafeHtmlImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'HTML');\n return this.sanitizeHtml(String(value));\n case SecurityContext.STYLE:\n if (value instanceof SafeStyleImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'Style');\n return sanitizeStyle(value);\n case SecurityContext.SCRIPT:\n if (value instanceof SafeScriptImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'Script');\n throw new Error('unsafe value used in a script context');\n case SecurityContext.URL:\n if (value instanceof SafeUrlImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'URL');\n return sanitizeUrl(String(value));\n case SecurityContext.RESOURCE_URL:\n if (value instanceof SafeResourceUrlImpl) {\n return value.changingThisBreaksApplicationSecurity;\n }\n this.checkNotSafeValue(value, 'ResourceURL');\n throw new Error('unsafe value used in a resource URL context');\n default:\n throw new Error(`Unexpected SecurityContext ${ctx}`);\n }\n }\n\n private checkNotSafeValue(value: any, expectedType: string) {\n if (value instanceof SafeValueImpl) {\n throw new Error('Required a safe ' + expectedType + ', got a ' + value.getTypeName());\n }\n }\n\n private sanitizeHtml(value: string): string {\n // TODO(martinprobst): implement.\n return value;\n }\n\n bypassSecurityTrustHtml(value: string): SafeHtml { return new SafeHtmlImpl(value); }\n bypassSecurityTrustStyle(value: string): SafeStyle { return new SafeStyleImpl(value); }\n bypassSecurityTrustScript(value: string): SafeScript { return new SafeScriptImpl(value); }\n bypassSecurityTrustUrl(value: string): SafeUrl { return new SafeUrlImpl(value); }\n bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl {\n return new SafeResourceUrlImpl(value);\n }\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n}\n\nabstract class SafeValueImpl implements SafeValue {\n constructor(public changingThisBreaksApplicationSecurity: string) {\n // empty\n }\n abstract getTypeName(): string;\n}\n\nclass SafeHtmlImpl extends SafeValueImpl implements SafeHtml {\n getTypeName() { return 'HTML'; }\n}\nclass SafeStyleImpl extends SafeValueImpl implements SafeStyle {\n getTypeName() { return 'Style'; }\n}\nclass SafeScriptImpl extends SafeValueImpl implements SafeScript {\n getTypeName() { return 'Script'; }\n}\nclass SafeUrlImpl extends SafeValueImpl implements SafeUrl {\n getTypeName() { return 'URL'; }\n}\nclass SafeResourceUrlImpl extends SafeValueImpl implements SafeResourceUrl {\n getTypeName() { return 'ResourceURL'; }\n}\n"]}
|
1
|
+
{"version":3,"file":"dom_sanitization_service.js","sourceRoot":"","sources":["../../../../../modules/@angular/platform-browser/src/security/dom_sanitization_service.ts"],"names":[],"mappings":"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","sourcesContent":["import {Injectable} from '@angular/core';\n\nimport {SanitizationService, SecurityContext} from '../../core_private';\n\nimport {sanitizeHtml} from './html_sanitizer';\nimport {sanitizeStyle} from './style_sanitizer';\nimport {sanitizeUrl} from './url_sanitizer';\n\nexport {SecurityContext};\n\n\n/** Marker interface for a value that's safe to use in a particular context. */\nexport interface SafeValue {}\n/** Marker interface for a value that's safe to use as HTML. */\nexport interface SafeHtml extends SafeValue {}\n/** Marker interface for a value that's safe to use as style (CSS). */\nexport interface SafeStyle extends SafeValue {}\n/** Marker interface for a value that's safe to use as JavaScript. */\nexport interface SafeScript extends SafeValue {}\n/** Marker interface for a value that's safe to use as a URL linking to a document. */\nexport interface SafeUrl extends SafeValue {}\n/** Marker interface for a value that's safe to use as a URL to load executable code from. */\nexport interface SafeResourceUrl extends SafeValue {}\n\n/**\n * DomSanitizationService helps preventing Cross Site Scripting Security bugs (XSS) by sanitizing\n * values to be safe to use in the different DOM contexts.\n *\n * For example, when binding a URL in an `<a [href]=\"someValue\">` hyperlink, `someValue` will be\n * sanitized so that an attacker cannot inject e.g. a `javascript:` URL that would execute code on\n * the website.\n *\n * In specific situations, it might be necessary to disable sanitization, for example if the\n * application genuinely needs to produce a `javascript:` style link with a dynamic value in it.\n * Users can bypass security by constructing a value with one of the `bypassSecurityTrust...`\n * methods, and then binding to that value from the template.\n *\n * These situations should be very rare, and extraordinary care must be taken to avoid creating a\n * Cross Site Scripting (XSS) security bug!\n *\n * When using `bypassSecurityTrust...`, make sure to call the method as early as possible and as\n * close as possible to the source of the value, to make it easy to verify no security bug is\n * created by its use.\n *\n * It is not required (and not recommended) to bypass security if the value is safe, e.g. a URL that\n * does not start with a suspicious protocol, or an HTML snippet that does not contain dangerous\n * code. The sanitizer leaves safe values intact.\n */\nexport abstract class DomSanitizationService implements SanitizationService {\n /**\n * Sanitizes a value for use in the given SecurityContext.\n *\n * If value is trusted for the context, this method will unwrap the contained safe value and use\n * it directly. Otherwise, value will be sanitized to be safe in the given context, for example\n * by replacing URLs that have an unsafe protocol part (such as `javascript:`). The implementation\n * is responsible to make sure that the value can definitely be safely used in the given context.\n */\n abstract sanitize(context: SecurityContext, value: any): string;\n\n /**\n * Bypass security and trust the given value to be safe HTML. Only use this when the bound HTML\n * is unsafe (e.g. contains `<script>` tags) and the code should be executed. The sanitizer will\n * leave safe HTML intact, so in most situations this method should not be used.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustHtml(value: string): SafeHtml;\n\n /**\n * Bypass security and trust the given value to be safe style value (CSS).\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustStyle(value: string): SafeStyle;\n\n /**\n * Bypass security and trust the given value to be safe JavaScript.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustScript(value: string): SafeScript;\n\n /**\n * Bypass security and trust the given value to be a safe style URL, i.e. a value that can be used\n * in hyperlinks or `<img src>`.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustUrl(value: string): SafeUrl;\n\n /**\n * Bypass security and trust the given value to be a safe resource URL, i.e. a location that may\n * be used to load executable code from, like `<script src>`, or `<iframe src>`.\n *\n * WARNING: calling this method with untrusted user data will cause severe security bugs!\n */\n abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl;\n}\nexport class DomSanitizationServiceImpl extends DomSanitizationService {\n sanitize(ctx: SecurityContext, value: any): string {\n if (value == null) return null;\n switch (ctx) {\n case SecurityContext.NONE:\n return value;\n case SecurityContext.HTML:\n if (value instanceof SafeHtmlImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'HTML');\n return sanitizeHtml(String(value));\n case SecurityContext.STYLE:\n if (value instanceof SafeStyleImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'Style');\n return sanitizeStyle(value);\n case SecurityContext.SCRIPT:\n if (value instanceof SafeScriptImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'Script');\n throw new Error('unsafe value used in a script context');\n case SecurityContext.URL:\n if (value instanceof SafeUrlImpl) return value.changingThisBreaksApplicationSecurity;\n this.checkNotSafeValue(value, 'URL');\n return sanitizeUrl(String(value));\n case SecurityContext.RESOURCE_URL:\n if (value instanceof SafeResourceUrlImpl) {\n return value.changingThisBreaksApplicationSecurity;\n }\n this.checkNotSafeValue(value, 'ResourceURL');\n throw new Error('unsafe value used in a resource URL context');\n default:\n throw new Error(`Unexpected SecurityContext ${ctx}`);\n }\n }\n\n private checkNotSafeValue(value: any, expectedType: string) {\n if (value instanceof SafeValueImpl) {\n throw new Error(`Required a safe ${expectedType}, got a ${value.getTypeName()}`);\n }\n }\n\n bypassSecurityTrustHtml(value: string): SafeHtml { return new SafeHtmlImpl(value); }\n bypassSecurityTrustStyle(value: string): SafeStyle { return new SafeStyleImpl(value); }\n bypassSecurityTrustScript(value: string): SafeScript { return new SafeScriptImpl(value); }\n bypassSecurityTrustUrl(value: string): SafeUrl { return new SafeUrlImpl(value); }\n bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl {\n return new SafeResourceUrlImpl(value);\n }\n/** @nocollapse */\nstatic decorators: DecoratorInvocation[] = [\n{ type: Injectable },\n];\n}\n\nabstract class SafeValueImpl implements SafeValue {\n constructor(public changingThisBreaksApplicationSecurity: string) {\n // empty\n }\n abstract getTypeName(): string;\n}\n\nclass SafeHtmlImpl extends SafeValueImpl implements SafeHtml {\n getTypeName() { return 'HTML'; }\n}\nclass SafeStyleImpl extends SafeValueImpl implements SafeStyle {\n getTypeName() { return 'Style'; }\n}\nclass SafeScriptImpl extends SafeValueImpl implements SafeScript {\n getTypeName() { return 'Script'; }\n}\nclass SafeUrlImpl extends SafeValueImpl implements SafeUrl {\n getTypeName() { return 'URL'; }\n}\nclass SafeResourceUrlImpl extends SafeValueImpl implements SafeResourceUrl {\n getTypeName() { return 'ResourceURL'; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"__symbolic":"module","metadata":{"DomSanitizationServiceImpl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Injectable","
|
1
|
+
{"__symbolic":"module","version":1,"metadata":{"DomSanitizationServiceImpl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable"}}],"members":{"sanitize":[{"__symbolic":"method"}],"checkNotSafeValue":[{"__symbolic":"method"}],"bypassSecurityTrustHtml":[{"__symbolic":"method"}],"bypassSecurityTrustStyle":[{"__symbolic":"method"}],"bypassSecurityTrustScript":[{"__symbolic":"method"}],"bypassSecurityTrustUrl":[{"__symbolic":"method"}],"bypassSecurityTrustResourceUrl":[{"__symbolic":"method"}]}}}}
|