@angular/core 7.2.0-rc.0 → 7.2.3
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/core-testing.umd.js +193 -131
- package/bundles/core-testing.umd.js.map +1 -1
- package/bundles/core-testing.umd.min.js +11 -11
- package/bundles/core-testing.umd.min.js.map +1 -1
- package/bundles/core.umd.js +1777 -1329
- package/bundles/core.umd.js.map +1 -1
- package/bundles/core.umd.min.js +111 -125
- package/bundles/core.umd.min.js.map +1 -1
- package/core.metadata.json +1 -1
- package/esm2015/core.js +1 -1
- package/esm2015/index.js +2 -2
- package/esm2015/public_api.js +2 -2
- package/esm2015/src/application_init.js +1 -1
- package/esm2015/src/application_module.js +1 -1
- package/esm2015/src/application_ref.js +1 -1
- package/esm2015/src/application_tokens.js +1 -1
- package/esm2015/src/change_detection/change_detection.js +1 -1
- package/esm2015/src/change_detection/change_detection_util.js +1 -1
- package/esm2015/src/change_detection/change_detector_ref.js +1 -1
- package/esm2015/src/change_detection/constants.js +3 -3
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +1 -1
- package/esm2015/src/change_detection/differs/default_keyvalue_differ.js +1 -1
- package/esm2015/src/change_detection/differs/iterable_differs.js +1 -1
- package/esm2015/src/change_detection/differs/keyvalue_differs.js +1 -1
- package/esm2015/src/change_detection/pipe_transform.js +1 -1
- package/esm2015/src/change_detection.js +1 -1
- package/esm2015/src/codegen_private_exports.js +1 -1
- package/esm2015/src/console.js +1 -1
- package/esm2015/src/core.js +2 -2
- package/esm2015/src/core_private_export.js +1 -1
- package/esm2015/src/core_render3_private_export.js +2 -2
- package/esm2015/src/debug/debug_node.js +6 -6
- package/esm2015/src/di/defs.js +1 -1
- package/esm2015/src/di/forward_ref.js +1 -1
- package/esm2015/src/di/injectable.js +1 -1
- package/esm2015/src/di/injection_token.js +2 -2
- package/esm2015/src/di/injector.js +1 -1
- package/esm2015/src/di/injector_compatibility.js +1 -1
- package/esm2015/src/di/metadata.js +1 -1
- package/esm2015/src/di/provider.js +1 -1
- package/esm2015/src/di/r3_injector.js +1 -1
- package/esm2015/src/di/reflective_errors.js +1 -1
- package/esm2015/src/di/reflective_injector.js +1 -1
- package/esm2015/src/di/reflective_key.js +1 -1
- package/esm2015/src/di/reflective_provider.js +1 -1
- package/esm2015/src/di/scope.js +1 -1
- package/esm2015/src/di/util.js +1 -1
- package/esm2015/src/di.js +1 -1
- package/esm2015/src/error_handler.js +1 -1
- package/esm2015/src/errors.js +1 -1
- package/esm2015/src/event_emitter.js +1 -1
- package/esm2015/src/i18n/tokens.js +1 -1
- package/esm2015/src/is_dev_mode.js +1 -1
- package/esm2015/src/ivy_switch.js +1 -1
- package/esm2015/src/linker/compiler.js +1 -1
- package/esm2015/src/linker/component_factory.js +1 -1
- package/esm2015/src/linker/component_factory_resolver.js +1 -1
- package/esm2015/src/linker/element_ref.js +1 -1
- package/esm2015/src/linker/ng_module_factory.js +1 -1
- package/esm2015/src/linker/ng_module_factory_loader.js +1 -1
- package/esm2015/src/linker/query_list.js +1 -1
- package/esm2015/src/linker/system_js_ng_module_factory_loader.js +1 -1
- package/esm2015/src/linker/template_ref.js +6 -4
- package/esm2015/src/linker/view_container_ref.js +1 -1
- package/esm2015/src/linker/view_ref.js +1 -1
- package/esm2015/src/linker.js +1 -1
- package/esm2015/src/metadata/di.js +1 -1
- package/esm2015/src/metadata/directives.js +1 -1
- package/esm2015/src/metadata/lifecycle_hooks.js +1 -1
- package/esm2015/src/metadata/ng_module.js +1 -1
- package/esm2015/src/metadata/resource_loading.js +1 -1
- package/esm2015/src/metadata/view.js +1 -1
- package/esm2015/src/metadata.js +1 -1
- package/esm2015/src/platform_core_providers.js +1 -1
- package/esm2015/src/profile/profile.js +1 -1
- package/esm2015/src/profile/wtf_impl.js +1 -1
- package/esm2015/src/r3_symbols.js +1 -1
- package/esm2015/src/reflection/platform_reflection_capabilities.js +1 -1
- package/esm2015/src/reflection/reflection.js +1 -1
- package/esm2015/src/reflection/reflection_capabilities.js +1 -1
- package/esm2015/src/reflection/reflector.js +1 -1
- package/esm2015/src/reflection/types.js +1 -1
- package/esm2015/src/render/api.js +1 -1
- package/esm2015/src/render.js +1 -1
- package/esm2015/src/render3/assert.js +1 -1
- package/esm2015/src/render3/bindings.js +3 -3
- package/esm2015/src/render3/component.js +8 -6
- package/esm2015/src/render3/component_ref.js +5 -5
- package/esm2015/src/render3/context_discovery.js +2 -2
- package/esm2015/src/render3/definition.js +3 -10
- package/esm2015/src/render3/di.js +107 -93
- package/esm2015/src/render3/di_setup.js +1 -1
- package/esm2015/src/render3/discovery_utils.js +5 -5
- package/esm2015/src/render3/empty.js +28 -0
- package/esm2015/src/render3/errors.js +1 -1
- package/esm2015/src/render3/features/inherit_definition_feature.js +3 -3
- package/esm2015/src/render3/features/ng_onchanges_feature.js +1 -1
- package/esm2015/src/render3/features/providers_feature.js +1 -1
- package/esm2015/src/render3/fields.js +1 -1
- package/esm2015/src/render3/global_utils.js +1 -1
- package/esm2015/src/render3/global_utils_api.js +1 -1
- package/esm2015/src/render3/hooks.js +14 -12
- package/esm2015/src/render3/i18n.js +3 -3
- package/esm2015/src/render3/index.js +2 -2
- package/esm2015/src/render3/instructions.js +319 -370
- package/esm2015/src/render3/interfaces/container.js +10 -1
- package/esm2015/src/render3/interfaces/context.js +1 -1
- package/esm2015/src/render3/interfaces/definition.js +1 -6
- package/esm2015/src/render3/interfaces/i18n.js +1 -1
- package/esm2015/src/render3/interfaces/injector.js +1 -2
- package/esm2015/src/render3/interfaces/node.js +37 -2
- package/esm2015/src/render3/interfaces/player.js +1 -1
- package/esm2015/src/render3/interfaces/projection.js +1 -1
- package/esm2015/src/render3/interfaces/query.js +1 -1
- package/esm2015/src/render3/interfaces/renderer.js +1 -1
- package/esm2015/src/render3/interfaces/sanitization.js +1 -1
- package/esm2015/src/render3/interfaces/styling.js +304 -113
- package/esm2015/src/render3/interfaces/view.js +15 -7
- package/esm2015/src/render3/jit/compiler_facade.js +1 -1
- package/esm2015/src/render3/jit/compiler_facade_interface.js +3 -1
- package/esm2015/src/render3/jit/directive.js +6 -7
- package/esm2015/src/render3/jit/environment.js +3 -1
- package/esm2015/src/render3/jit/injectable.js +1 -1
- package/esm2015/src/render3/jit/module.js +11 -9
- package/esm2015/src/render3/jit/pipe.js +1 -1
- package/esm2015/src/render3/jit/util.js +1 -1
- package/esm2015/src/render3/metadata.js +1 -1
- package/esm2015/src/render3/ng_dev_mode.js +1 -1
- package/esm2015/src/render3/ng_module_ref.js +1 -1
- package/esm2015/src/render3/node_assert.js +1 -1
- package/esm2015/src/render3/node_manipulation.js +5 -22
- package/esm2015/src/render3/node_selector_matcher.js +3 -3
- package/esm2015/src/render3/pipe.js +2 -2
- package/esm2015/src/render3/players.js +1 -1
- package/esm2015/src/render3/pure_function.js +3 -3
- package/esm2015/src/render3/query.js +3 -3
- package/esm2015/src/render3/state.js +14 -20
- package/esm2015/src/render3/styling/class_and_style_bindings.js +893 -213
- package/esm2015/src/render3/styling/core_player_handler.js +1 -1
- package/esm2015/src/render3/styling/player_factory.js +1 -1
- package/esm2015/src/render3/styling/util.js +37 -14
- package/esm2015/src/render3/tokens.js +1 -1
- package/esm2015/src/render3/util.js +21 -5
- package/esm2015/src/render3/view_engine_compatibility.js +5 -6
- package/esm2015/src/render3/view_engine_compatibility_prebound.js +1 -1
- package/esm2015/src/render3/view_ref.js +6 -16
- package/esm2015/src/sanitization/bypass.js +1 -1
- package/esm2015/src/sanitization/html_sanitizer.js +2 -2
- package/esm2015/src/sanitization/inert_body.js +4 -4
- package/esm2015/src/sanitization/sanitization.js +1 -1
- package/esm2015/src/sanitization/security.js +1 -1
- package/esm2015/src/sanitization/style_sanitizer.js +1 -1
- package/esm2015/src/sanitization/url_sanitizer.js +1 -1
- package/esm2015/src/testability/testability.js +1 -1
- package/esm2015/src/type.js +1 -1
- package/esm2015/src/util/decorators.js +1 -1
- package/esm2015/src/util/lang.js +1 -1
- package/esm2015/src/util/ng_reflect.js +1 -1
- package/esm2015/src/util/noop.js +1 -1
- package/esm2015/src/util/property.js +1 -1
- package/esm2015/src/util.js +1 -1
- package/esm2015/src/version.js +2 -2
- package/esm2015/src/view/element.js +1 -1
- package/esm2015/src/view/entrypoint.js +1 -1
- package/esm2015/src/view/errors.js +1 -1
- package/esm2015/src/view/index.js +1 -1
- package/esm2015/src/view/ng_content.js +1 -1
- package/esm2015/src/view/ng_module.js +1 -1
- package/esm2015/src/view/provider.js +1 -1
- package/esm2015/src/view/pure_expression.js +1 -1
- package/esm2015/src/view/query.js +1 -1
- package/esm2015/src/view/refs.js +1 -1
- package/esm2015/src/view/services.js +1 -1
- package/esm2015/src/view/text.js +1 -1
- package/esm2015/src/view/types.js +1 -1
- package/esm2015/src/view/util.js +1 -1
- package/esm2015/src/view/view.js +1 -1
- package/esm2015/src/view/view_attach.js +1 -1
- package/esm2015/src/zone/ng_zone.js +1 -1
- package/esm2015/src/zone.js +1 -1
- package/esm2015/testing/index.js +1 -1
- package/esm2015/testing/public_api.js +1 -1
- package/esm2015/testing/src/async.js +1 -1
- package/esm2015/testing/src/async_fallback.js +1 -1
- package/esm2015/testing/src/async_test_completer.js +1 -1
- package/esm2015/testing/src/before_each.js +1 -1
- package/esm2015/testing/src/component_fixture.js +1 -1
- package/esm2015/testing/src/fake_async.js +1 -1
- package/esm2015/testing/src/fake_async_fallback.js +1 -1
- package/esm2015/testing/src/lang_utils.js +1 -1
- package/esm2015/testing/src/logger.js +1 -1
- package/esm2015/testing/src/metadata_override.js +1 -1
- package/esm2015/testing/src/metadata_overrider.js +1 -1
- package/esm2015/testing/src/ng_zone_mock.js +1 -1
- package/esm2015/testing/src/private_export_testing.js +1 -1
- package/esm2015/testing/src/r3_test_bed.js +234 -152
- package/esm2015/testing/src/resolvers.js +12 -5
- package/esm2015/testing/src/test_bed.js +1 -1
- package/esm2015/testing/src/test_bed_common.js +1 -1
- package/esm2015/testing/src/test_compiler.js +1 -1
- package/esm2015/testing/src/testing.js +1 -1
- package/esm2015/testing/src/testing_internal.js +2 -2
- package/esm2015/testing/testing.js +1 -1
- package/esm5/core.js +1 -1
- package/esm5/index.js +1 -1
- package/esm5/public_api.js +1 -1
- package/esm5/src/application_init.js +1 -1
- package/esm5/src/application_module.js +1 -1
- package/esm5/src/application_ref.js +1 -1
- package/esm5/src/application_tokens.js +1 -1
- package/esm5/src/change_detection/change_detection.js +1 -1
- package/esm5/src/change_detection/change_detection_util.js +1 -1
- package/esm5/src/change_detection/change_detector_ref.js +1 -1
- package/esm5/src/change_detection/constants.js +3 -3
- package/esm5/src/change_detection/differs/default_iterable_differ.js +1 -1
- package/esm5/src/change_detection/differs/default_keyvalue_differ.js +1 -1
- package/esm5/src/change_detection/differs/iterable_differs.js +1 -1
- package/esm5/src/change_detection/differs/keyvalue_differs.js +1 -1
- package/esm5/src/change_detection/pipe_transform.js +1 -1
- package/esm5/src/change_detection.js +1 -1
- package/esm5/src/codegen_private_exports.js +1 -1
- package/esm5/src/console.js +1 -1
- package/esm5/src/core.js +1 -1
- package/esm5/src/core_private_export.js +1 -1
- package/esm5/src/core_render3_private_export.js +2 -2
- package/esm5/src/debug/debug_node.js +6 -6
- package/esm5/src/di/defs.js +1 -1
- package/esm5/src/di/forward_ref.js +1 -1
- package/esm5/src/di/injectable.js +1 -1
- package/esm5/src/di/injection_token.js +2 -2
- package/esm5/src/di/injector.js +1 -1
- package/esm5/src/di/injector_compatibility.js +1 -1
- package/esm5/src/di/metadata.js +1 -1
- package/esm5/src/di/provider.js +1 -1
- package/esm5/src/di/r3_injector.js +1 -1
- package/esm5/src/di/reflective_errors.js +1 -1
- package/esm5/src/di/reflective_injector.js +1 -1
- package/esm5/src/di/reflective_key.js +1 -1
- package/esm5/src/di/reflective_provider.js +1 -1
- package/esm5/src/di/scope.js +1 -1
- package/esm5/src/di/util.js +1 -1
- package/esm5/src/di.js +1 -1
- package/esm5/src/error_handler.js +1 -1
- package/esm5/src/errors.js +1 -1
- package/esm5/src/event_emitter.js +1 -1
- package/esm5/src/i18n/tokens.js +1 -1
- package/esm5/src/is_dev_mode.js +1 -1
- package/esm5/src/ivy_switch.js +1 -1
- package/esm5/src/linker/compiler.js +1 -1
- package/esm5/src/linker/component_factory.js +1 -1
- package/esm5/src/linker/component_factory_resolver.js +1 -1
- package/esm5/src/linker/element_ref.js +1 -1
- package/esm5/src/linker/ng_module_factory.js +1 -1
- package/esm5/src/linker/ng_module_factory_loader.js +1 -1
- package/esm5/src/linker/query_list.js +1 -1
- package/esm5/src/linker/system_js_ng_module_factory_loader.js +1 -1
- package/esm5/src/linker/template_ref.js +1 -1
- package/esm5/src/linker/view_container_ref.js +1 -1
- package/esm5/src/linker/view_ref.js +1 -1
- package/esm5/src/linker.js +1 -1
- package/esm5/src/metadata/di.js +1 -1
- package/esm5/src/metadata/directives.js +1 -1
- package/esm5/src/metadata/lifecycle_hooks.js +1 -1
- package/esm5/src/metadata/ng_module.js +1 -1
- package/esm5/src/metadata/resource_loading.js +1 -1
- package/esm5/src/metadata/view.js +1 -1
- package/esm5/src/metadata.js +1 -1
- package/esm5/src/platform_core_providers.js +1 -1
- package/esm5/src/profile/profile.js +1 -1
- package/esm5/src/profile/wtf_impl.js +1 -1
- package/esm5/src/r3_symbols.js +1 -1
- package/esm5/src/reflection/platform_reflection_capabilities.js +1 -1
- package/esm5/src/reflection/reflection.js +1 -1
- package/esm5/src/reflection/reflection_capabilities.js +1 -1
- package/esm5/src/reflection/reflector.js +1 -1
- package/esm5/src/reflection/types.js +1 -1
- package/esm5/src/render/api.js +1 -1
- package/esm5/src/render.js +1 -1
- package/esm5/src/render3/assert.js +1 -1
- package/esm5/src/render3/bindings.js +3 -3
- package/esm5/src/render3/component.js +8 -6
- package/esm5/src/render3/component_ref.js +5 -5
- package/esm5/src/render3/context_discovery.js +2 -2
- package/esm5/src/render3/definition.js +3 -8
- package/esm5/src/render3/di.js +94 -84
- package/esm5/src/render3/di_setup.js +1 -1
- package/esm5/src/render3/discovery_utils.js +5 -5
- package/esm5/src/render3/empty.js +22 -0
- package/esm5/src/render3/errors.js +1 -1
- package/esm5/src/render3/features/inherit_definition_feature.js +3 -3
- package/esm5/src/render3/features/ng_onchanges_feature.js +1 -1
- package/esm5/src/render3/features/providers_feature.js +1 -1
- package/esm5/src/render3/fields.js +1 -1
- package/esm5/src/render3/global_utils.js +1 -1
- package/esm5/src/render3/global_utils_api.js +1 -1
- package/esm5/src/render3/hooks.js +11 -9
- package/esm5/src/render3/i18n.js +3 -3
- package/esm5/src/render3/index.js +2 -2
- package/esm5/src/render3/instructions.js +282 -282
- package/esm5/src/render3/interfaces/container.js +9 -1
- package/esm5/src/render3/interfaces/context.js +1 -1
- package/esm5/src/render3/interfaces/definition.js +1 -1
- package/esm5/src/render3/interfaces/i18n.js +1 -1
- package/esm5/src/render3/interfaces/injector.js +1 -1
- package/esm5/src/render3/interfaces/node.js +1 -1
- package/esm5/src/render3/interfaces/player.js +1 -1
- package/esm5/src/render3/interfaces/projection.js +1 -1
- package/esm5/src/render3/interfaces/query.js +1 -1
- package/esm5/src/render3/interfaces/renderer.js +1 -1
- package/esm5/src/render3/interfaces/sanitization.js +1 -1
- package/esm5/src/render3/interfaces/styling.js +1 -1
- package/esm5/src/render3/interfaces/view.js +1 -1
- package/esm5/src/render3/jit/compiler_facade.js +1 -1
- package/esm5/src/render3/jit/compiler_facade_interface.js +1 -1
- package/esm5/src/render3/jit/directive.js +6 -6
- package/esm5/src/render3/jit/environment.js +3 -1
- package/esm5/src/render3/jit/injectable.js +1 -1
- package/esm5/src/render3/jit/module.js +10 -8
- package/esm5/src/render3/jit/pipe.js +1 -1
- package/esm5/src/render3/jit/util.js +1 -1
- package/esm5/src/render3/metadata.js +1 -1
- package/esm5/src/render3/ng_dev_mode.js +1 -1
- package/esm5/src/render3/ng_module_ref.js +1 -1
- package/esm5/src/render3/node_assert.js +1 -1
- package/esm5/src/render3/node_manipulation.js +5 -21
- package/esm5/src/render3/node_selector_matcher.js +3 -3
- package/esm5/src/render3/pipe.js +2 -2
- package/esm5/src/render3/players.js +1 -1
- package/esm5/src/render3/pure_function.js +3 -3
- package/esm5/src/render3/query.js +3 -3
- package/esm5/src/render3/state.js +14 -19
- package/esm5/src/render3/styling/class_and_style_bindings.js +681 -210
- package/esm5/src/render3/styling/core_player_handler.js +1 -1
- package/esm5/src/render3/styling/player_factory.js +1 -1
- package/esm5/src/render3/styling/util.js +26 -13
- package/esm5/src/render3/tokens.js +1 -1
- package/esm5/src/render3/util.js +20 -5
- package/esm5/src/render3/view_engine_compatibility.js +5 -6
- package/esm5/src/render3/view_engine_compatibility_prebound.js +1 -1
- package/esm5/src/render3/view_ref.js +6 -15
- package/esm5/src/sanitization/bypass.js +1 -1
- package/esm5/src/sanitization/html_sanitizer.js +2 -2
- package/esm5/src/sanitization/inert_body.js +4 -4
- package/esm5/src/sanitization/sanitization.js +1 -1
- package/esm5/src/sanitization/security.js +1 -1
- package/esm5/src/sanitization/style_sanitizer.js +1 -1
- package/esm5/src/sanitization/url_sanitizer.js +1 -1
- package/esm5/src/testability/testability.js +1 -1
- package/esm5/src/type.js +1 -1
- package/esm5/src/util/decorators.js +1 -1
- package/esm5/src/util/lang.js +1 -1
- package/esm5/src/util/ng_reflect.js +1 -1
- package/esm5/src/util/noop.js +1 -1
- package/esm5/src/util/property.js +1 -1
- package/esm5/src/util.js +1 -1
- package/esm5/src/version.js +2 -2
- package/esm5/src/view/element.js +1 -1
- package/esm5/src/view/entrypoint.js +1 -1
- package/esm5/src/view/errors.js +1 -1
- package/esm5/src/view/index.js +1 -1
- package/esm5/src/view/ng_content.js +1 -1
- package/esm5/src/view/ng_module.js +1 -1
- package/esm5/src/view/provider.js +1 -1
- package/esm5/src/view/pure_expression.js +1 -1
- package/esm5/src/view/query.js +1 -1
- package/esm5/src/view/refs.js +1 -1
- package/esm5/src/view/services.js +1 -1
- package/esm5/src/view/text.js +1 -1
- package/esm5/src/view/types.js +1 -1
- package/esm5/src/view/util.js +1 -1
- package/esm5/src/view/view.js +1 -1
- package/esm5/src/view/view_attach.js +1 -1
- package/esm5/src/zone/ng_zone.js +1 -1
- package/esm5/src/zone.js +1 -1
- package/esm5/testing/index.js +1 -1
- package/esm5/testing/public_api.js +1 -1
- package/esm5/testing/src/async.js +1 -1
- package/esm5/testing/src/async_fallback.js +1 -1
- package/esm5/testing/src/async_test_completer.js +1 -1
- package/esm5/testing/src/before_each.js +1 -1
- package/esm5/testing/src/component_fixture.js +1 -1
- package/esm5/testing/src/fake_async.js +1 -1
- package/esm5/testing/src/fake_async_fallback.js +1 -1
- package/esm5/testing/src/lang_utils.js +1 -1
- package/esm5/testing/src/logger.js +1 -1
- package/esm5/testing/src/metadata_override.js +1 -1
- package/esm5/testing/src/metadata_overrider.js +1 -1
- package/esm5/testing/src/ng_zone_mock.js +1 -1
- package/esm5/testing/src/private_export_testing.js +1 -1
- package/esm5/testing/src/r3_test_bed.js +174 -127
- package/esm5/testing/src/resolvers.js +11 -6
- package/esm5/testing/src/test_bed.js +1 -1
- package/esm5/testing/src/test_bed_common.js +1 -1
- package/esm5/testing/src/test_compiler.js +1 -1
- package/esm5/testing/src/testing.js +1 -1
- package/esm5/testing/src/testing_internal.js +2 -2
- package/esm5/testing/testing.js +1 -1
- package/fesm2015/core.js +2306 -1733
- package/fesm2015/core.js.map +1 -1
- package/fesm2015/testing.js +223 -150
- package/fesm2015/testing.js.map +1 -1
- package/fesm5/core.js +1781 -1335
- package/fesm5/core.js.map +1 -1
- package/fesm5/testing.js +181 -130
- package/fesm5/testing.js.map +1 -1
- package/package.json +1 -1
- package/src/change_detection/constants.d.ts +2 -2
- package/src/core_render3_private_export.d.ts +1 -1
- package/src/di/injection_token.d.ts +1 -1
- package/src/event_emitter.d.ts +2 -2
- package/src/linker/template_ref.d.ts +5 -3
- package/src/metadata/di.d.ts +1 -3
- package/src/metadata/directives.d.ts +3 -3
- package/src/render3/definition.d.ts +2 -4
- package/src/render3/di.d.ts +4 -3
- package/src/render3/empty.d.ts +16 -0
- package/src/render3/hooks.d.ts +3 -3
- package/src/render3/index.d.ts +1 -1
- package/src/render3/instructions.d.ts +117 -72
- package/src/render3/interfaces/container.d.ts +1 -0
- package/src/render3/interfaces/definition.d.ts +0 -3
- package/src/render3/interfaces/injector.d.ts +0 -1
- package/src/render3/interfaces/node.d.ts +37 -2
- package/src/render3/interfaces/styling.d.ts +392 -117
- package/src/render3/interfaces/view.d.ts +14 -6
- package/src/render3/jit/compiler_facade_interface.d.ts +2 -0
- package/src/render3/node_manipulation.d.ts +0 -7
- package/src/render3/state.d.ts +3 -4
- package/src/render3/styling/class_and_style_bindings.d.ts +114 -43
- package/src/render3/styling/util.d.ts +5 -2
- package/src/render3/util.d.ts +7 -0
- package/testing/src/r3_test_bed.d.ts +15 -0
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +2 -3
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ export declare enum ChangeDetectionStrategy {
|
|
|
15
15
|
/**
|
|
16
16
|
* Use the `CheckOnce` strategy, meaning that automatic change detection is deactivated
|
|
17
17
|
* until reactivated by setting the strategy to `Default` (`CheckAlways`).
|
|
18
|
-
* Change detection can still be
|
|
18
|
+
* Change detection can still be explicitly invoked.
|
|
19
19
|
*/
|
|
20
20
|
OnPush = 0,
|
|
21
21
|
/**
|
|
@@ -40,7 +40,7 @@ export declare enum ChangeDetectorStatus {
|
|
|
40
40
|
*/
|
|
41
41
|
Checked = 1,
|
|
42
42
|
/**
|
|
43
|
-
* A state in which change detection continues automatically until
|
|
43
|
+
* A state in which change detection continues automatically until explicitly
|
|
44
44
|
* deactivated.
|
|
45
45
|
*/
|
|
46
46
|
CheckAlways = 2,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
export { defineBase as ɵdefineBase, defineComponent as ɵdefineComponent, defineDirective as ɵdefineDirective, definePipe as ɵdefinePipe, defineNgModule as ɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, AttributeMarker as ɵAttributeMarker, ComponentType as ɵComponentType, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, DirectiveType as ɵDirectiveType, RenderFlags as ɵRenderFlags, directiveInject as ɵdirectiveInject, injectAttribute as ɵinjectAttribute, getFactoryOf as ɵgetFactoryOf, getInheritedFactory as ɵgetInheritedFactory, templateRefExtractor as ɵtemplateRefExtractor, ProvidersFeature as ɵProvidersFeature, InheritDefinitionFeature as ɵInheritDefinitionFeature, NgOnChangesFeature as ɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleType as ɵNgModuleType, NgModuleRef as ɵRender3NgModuleRef, CssSelectorList as ɵCssSelectorList, markDirty as ɵmarkDirty, NgModuleFactory as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, container as ɵcontainer, nextContext as ɵnextContext, elementStart as ɵelementStart, namespaceHTML as ɵnamespaceHTML, namespaceMathML as ɵnamespaceMathML, namespaceSVG as ɵnamespaceSVG, element as ɵelement, listener as ɵlistener, text as ɵtext, embeddedViewStart as ɵembeddedViewStart, query as ɵquery, registerContentQuery as ɵregisterContentQuery, projection as ɵprojection, bind as ɵbind, interpolation1 as ɵinterpolation1, interpolation2 as ɵinterpolation2, interpolation3 as ɵinterpolation3, interpolation4 as ɵinterpolation4, interpolation5 as ɵinterpolation5, interpolation6 as ɵinterpolation6, interpolation7 as ɵinterpolation7, interpolation8 as ɵinterpolation8, interpolationV as ɵinterpolationV, pipeBind1 as ɵpipeBind1, pipeBind2 as ɵpipeBind2, pipeBind3 as ɵpipeBind3, pipeBind4 as ɵpipeBind4, pipeBindV as ɵpipeBindV, pureFunction0 as ɵpureFunction0, pureFunction1 as ɵpureFunction1, pureFunction2 as ɵpureFunction2, pureFunction3 as ɵpureFunction3, pureFunction4 as ɵpureFunction4, pureFunction5 as ɵpureFunction5, pureFunction6 as ɵpureFunction6, pureFunction7 as ɵpureFunction7, pureFunction8 as ɵpureFunction8, pureFunctionV as ɵpureFunctionV, getCurrentView as ɵgetCurrentView, getHostElement as ɵgetHostElement, restoreView as ɵrestoreView, containerRefreshStart as ɵcontainerRefreshStart, containerRefreshEnd as ɵcontainerRefreshEnd, queryRefresh as ɵqueryRefresh, loadQueryList as ɵloadQueryList, elementEnd as ɵelementEnd, elementProperty as ɵelementProperty, projectionDef as ɵprojectionDef, reference as ɵreference, enableBindings as ɵenableBindings, disableBindings as ɵdisableBindings, allocHostVars as ɵallocHostVars, elementAttribute as ɵelementAttribute, elementContainerStart as ɵelementContainerStart, elementContainerEnd as ɵelementContainerEnd, elementStyling as ɵelementStyling, elementStylingMap as ɵelementStylingMap, elementStyleProp as ɵelementStyleProp, elementStylingApply as ɵelementStylingApply, elementClassProp as ɵelementClassProp, textBinding as ɵtextBinding, template as ɵtemplate, embeddedViewEnd as ɵembeddedViewEnd, store as ɵstore, load as ɵload, pipe as ɵpipe, BaseDef as ɵBaseDef, ComponentDef as ɵComponentDef, ComponentDefWithMeta as ɵComponentDefWithMeta, DirectiveDef as ɵDirectiveDef, DirectiveDefWithMeta as ɵDirectiveDefWithMeta, PipeDef as ɵPipeDef, PipeDefWithMeta as ɵPipeDefWithMeta, whenRendered as ɵwhenRendered, i18n as ɵi18n, i18nAttributes as ɵi18nAttributes, i18nExp as ɵi18nExp, i18nStart as ɵi18nStart, i18nEnd as ɵi18nEnd, i18nApply as ɵi18nApply, i18nPostprocess as ɵi18nPostprocess, setClassMetadata as ɵsetClassMetadata, } from './render3/index';
|
|
8
|
+
export { defineBase as ɵdefineBase, defineComponent as ɵdefineComponent, defineDirective as ɵdefineDirective, definePipe as ɵdefinePipe, defineNgModule as ɵdefineNgModule, detectChanges as ɵdetectChanges, renderComponent as ɵrenderComponent, AttributeMarker as ɵAttributeMarker, ComponentType as ɵComponentType, ComponentFactory as ɵRender3ComponentFactory, ComponentRef as ɵRender3ComponentRef, DirectiveType as ɵDirectiveType, RenderFlags as ɵRenderFlags, directiveInject as ɵdirectiveInject, injectAttribute as ɵinjectAttribute, getFactoryOf as ɵgetFactoryOf, getInheritedFactory as ɵgetInheritedFactory, templateRefExtractor as ɵtemplateRefExtractor, ProvidersFeature as ɵProvidersFeature, InheritDefinitionFeature as ɵInheritDefinitionFeature, NgOnChangesFeature as ɵNgOnChangesFeature, LifecycleHooksFeature as ɵLifecycleHooksFeature, NgModuleType as ɵNgModuleType, NgModuleRef as ɵRender3NgModuleRef, CssSelectorList as ɵCssSelectorList, markDirty as ɵmarkDirty, NgModuleFactory as ɵNgModuleFactory, NO_CHANGE as ɵNO_CHANGE, container as ɵcontainer, nextContext as ɵnextContext, elementStart as ɵelementStart, namespaceHTML as ɵnamespaceHTML, namespaceMathML as ɵnamespaceMathML, namespaceSVG as ɵnamespaceSVG, element as ɵelement, listener as ɵlistener, text as ɵtext, embeddedViewStart as ɵembeddedViewStart, query as ɵquery, registerContentQuery as ɵregisterContentQuery, projection as ɵprojection, bind as ɵbind, interpolation1 as ɵinterpolation1, interpolation2 as ɵinterpolation2, interpolation3 as ɵinterpolation3, interpolation4 as ɵinterpolation4, interpolation5 as ɵinterpolation5, interpolation6 as ɵinterpolation6, interpolation7 as ɵinterpolation7, interpolation8 as ɵinterpolation8, interpolationV as ɵinterpolationV, pipeBind1 as ɵpipeBind1, pipeBind2 as ɵpipeBind2, pipeBind3 as ɵpipeBind3, pipeBind4 as ɵpipeBind4, pipeBindV as ɵpipeBindV, pureFunction0 as ɵpureFunction0, pureFunction1 as ɵpureFunction1, pureFunction2 as ɵpureFunction2, pureFunction3 as ɵpureFunction3, pureFunction4 as ɵpureFunction4, pureFunction5 as ɵpureFunction5, pureFunction6 as ɵpureFunction6, pureFunction7 as ɵpureFunction7, pureFunction8 as ɵpureFunction8, pureFunctionV as ɵpureFunctionV, getCurrentView as ɵgetCurrentView, getHostElement as ɵgetHostElement, restoreView as ɵrestoreView, containerRefreshStart as ɵcontainerRefreshStart, containerRefreshEnd as ɵcontainerRefreshEnd, queryRefresh as ɵqueryRefresh, loadQueryList as ɵloadQueryList, elementEnd as ɵelementEnd, elementProperty as ɵelementProperty, componentHostSyntheticProperty as ɵcomponentHostSyntheticProperty, projectionDef as ɵprojectionDef, reference as ɵreference, enableBindings as ɵenableBindings, disableBindings as ɵdisableBindings, allocHostVars as ɵallocHostVars, elementAttribute as ɵelementAttribute, elementContainerStart as ɵelementContainerStart, elementContainerEnd as ɵelementContainerEnd, elementStyling as ɵelementStyling, elementHostAttrs as ɵelementHostAttrs, elementStylingMap as ɵelementStylingMap, elementStyleProp as ɵelementStyleProp, elementStylingApply as ɵelementStylingApply, elementClassProp as ɵelementClassProp, textBinding as ɵtextBinding, template as ɵtemplate, embeddedViewEnd as ɵembeddedViewEnd, store as ɵstore, load as ɵload, pipe as ɵpipe, BaseDef as ɵBaseDef, ComponentDef as ɵComponentDef, ComponentDefWithMeta as ɵComponentDefWithMeta, DirectiveDef as ɵDirectiveDef, DirectiveDefWithMeta as ɵDirectiveDefWithMeta, PipeDef as ɵPipeDef, PipeDefWithMeta as ɵPipeDefWithMeta, whenRendered as ɵwhenRendered, i18n as ɵi18n, i18nAttributes as ɵi18nAttributes, i18nExp as ɵi18nExp, i18nStart as ɵi18nStart, i18nEnd as ɵi18nEnd, i18nApply as ɵi18nApply, i18nPostprocess as ɵi18nPostprocess, setClassMetadata as ɵsetClassMetadata, } from './render3/index';
|
|
9
9
|
export { compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, } from './render3/jit/directive';
|
|
10
10
|
export { compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, patchComponentDefWithScope as ɵpatchComponentDefWithScope, resetCompiledComponents as ɵresetCompiledComponents, } from './render3/jit/module';
|
|
11
11
|
export { compilePipe as ɵcompilePipe, } from './render3/jit/pipe';
|
|
@@ -11,7 +11,7 @@ import { Type } from '../type';
|
|
|
11
11
|
*
|
|
12
12
|
* Use an `InjectionToken` whenever the type you are injecting is not reified (does not have a
|
|
13
13
|
* runtime representation) such as when injecting an interface, callable type, array or
|
|
14
|
-
*
|
|
14
|
+
* parameterized type.
|
|
15
15
|
*
|
|
16
16
|
* `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
|
|
17
17
|
* the `Injector`. This provides additional level of type safety.
|
package/src/event_emitter.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://angular.io/license
|
|
7
7
|
*/
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
8
|
+
import { Subject, Subscription } from 'rxjs';
|
|
9
9
|
/**
|
|
10
10
|
* Use in directives and components to emit custom events synchronously
|
|
11
11
|
* or asynchronously, and register handlers for those events by subscribing
|
|
@@ -85,5 +85,5 @@ export declare class EventEmitter<T> extends Subject<T> {
|
|
|
85
85
|
* @param complete When supplied, a custom handler for a completion
|
|
86
86
|
* notification from this emitter.
|
|
87
87
|
*/
|
|
88
|
-
subscribe(generatorOrNext?: any, error?: any, complete?: any):
|
|
88
|
+
subscribe(generatorOrNext?: any, error?: any, complete?: any): Subscription;
|
|
89
89
|
}
|
|
@@ -40,9 +40,11 @@ export declare abstract class TemplateRef<C> {
|
|
|
40
40
|
*/
|
|
41
41
|
abstract readonly elementRef: ElementRef;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* @
|
|
43
|
+
* Instantiates an embedded view based on this template,
|
|
44
|
+
* and attaches it to the view container.
|
|
45
|
+
* @param context The data-binding context of the embedded view, as declared
|
|
46
|
+
* in the `<ng-template>` usage.
|
|
47
|
+
* @returns The new embedded view object.
|
|
46
48
|
*/
|
|
47
49
|
abstract createEmbeddedView(context: C): EmbeddedViewRef<C>;
|
|
48
50
|
}
|
package/src/metadata/di.d.ts
CHANGED
|
@@ -234,8 +234,6 @@ export interface ContentChildDecorator {
|
|
|
234
234
|
/**
|
|
235
235
|
* Type of the ContentChild metadata.
|
|
236
236
|
*
|
|
237
|
-
* @see `ContentChild`.
|
|
238
|
-
*
|
|
239
237
|
* @publicApi
|
|
240
238
|
*/
|
|
241
239
|
export declare type ContentChild = Query;
|
|
@@ -325,7 +323,7 @@ export interface ViewChildDecorator {
|
|
|
325
323
|
*
|
|
326
324
|
* Supported selectors include:
|
|
327
325
|
* * any class with the `@Component` or `@Directive` decorator
|
|
328
|
-
* * a template reference variable as a string (e.g. query `<my-component #cmp></my-component
|
|
326
|
+
* * a template reference variable as a string (e.g. query `<my-component #cmp></my-component>`
|
|
329
327
|
* with `@ViewChild('cmp')`)
|
|
330
328
|
* * any provider defined in the child component tree of the current component (e.g.
|
|
331
329
|
* `@ViewChild(SomeService) someService: SomeService`)
|
|
@@ -461,8 +461,8 @@ export interface Component extends Directive {
|
|
|
461
461
|
*/
|
|
462
462
|
moduleId?: string;
|
|
463
463
|
/**
|
|
464
|
-
* The URL of a template file for an Angular component.
|
|
465
|
-
* do not supply an inline template using `template`.
|
|
464
|
+
* The relative path or absolute URL of a template file for an Angular component.
|
|
465
|
+
* If provided, do not supply an inline template using `template`.
|
|
466
466
|
*
|
|
467
467
|
*/
|
|
468
468
|
templateUrl?: string;
|
|
@@ -473,7 +473,7 @@ export interface Component extends Directive {
|
|
|
473
473
|
*/
|
|
474
474
|
template?: string;
|
|
475
475
|
/**
|
|
476
|
-
* One or more URLs for files containing CSS stylesheets to use
|
|
476
|
+
* One or more relative paths or absolute URLs for files containing CSS stylesheets to use
|
|
477
477
|
* in this component.
|
|
478
478
|
*/
|
|
479
479
|
styleUrls?: string[];
|
|
@@ -11,9 +11,7 @@ import { NgModuleDef } from '../metadata/ng_module';
|
|
|
11
11
|
import { ViewEncapsulation } from '../metadata/view';
|
|
12
12
|
import { Type } from '../type';
|
|
13
13
|
import { BaseDef, ComponentDef, ComponentDefFeature, ComponentQuery, ComponentTemplate, ComponentType, DirectiveDef, DirectiveDefFeature, DirectiveType, DirectiveTypesOrFactory, HostBindingsFunction, PipeDef, PipeType, PipeTypesOrFactory } from './interfaces/definition';
|
|
14
|
-
import { CssSelectorList
|
|
15
|
-
export declare const EMPTY: {};
|
|
16
|
-
export declare const EMPTY_ARRAY: any[];
|
|
14
|
+
import { CssSelectorList } from './interfaces/projection';
|
|
17
15
|
/**
|
|
18
16
|
* Create a component definition object.
|
|
19
17
|
*
|
|
@@ -316,7 +314,7 @@ export declare const defineDirective: <T>(directiveDefinition: {
|
|
|
316
314
|
*/
|
|
317
315
|
type: Type<T>;
|
|
318
316
|
/** The selectors that will be used to match nodes to this directive. */
|
|
319
|
-
selectors: (string | SelectorFlags)[][];
|
|
317
|
+
selectors: (string | import("@angular/core/src/render3/interfaces/projection").SelectorFlags)[][];
|
|
320
318
|
/**
|
|
321
319
|
* Factory method used to create an instance of directive.
|
|
322
320
|
*/
|
package/src/render3/di.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ export declare function injectAttributeImpl(tNode: TNode, attrNameToInject: stri
|
|
|
90
90
|
* @param notFoundValue The value to return when the injection flags is `InjectFlags.Optional`
|
|
91
91
|
* @returns the value from the injector, `null` when not found, or `notFoundValue` if provided
|
|
92
92
|
*/
|
|
93
|
-
export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContainerNode | TElementContainerNode, lView: LView, token: Type<T> | InjectionToken<T>, flags?: InjectFlags, notFoundValue?: any): T | null;
|
|
93
|
+
export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContainerNode | TElementContainerNode | null, lView: LView, token: Type<T> | InjectionToken<T>, flags?: InjectFlags, notFoundValue?: any): T | null;
|
|
94
94
|
/**
|
|
95
95
|
* Searches for the given token among the node's directives and providers.
|
|
96
96
|
*
|
|
@@ -98,9 +98,10 @@ export declare function getOrCreateInjectable<T>(tNode: TElementNode | TContaine
|
|
|
98
98
|
* @param lView The view we are currently processing
|
|
99
99
|
* @param token Provider token or type of a directive to look for.
|
|
100
100
|
* @param canAccessViewProviders Whether view providers should be considered.
|
|
101
|
+
* @param isHostSpecialCase Whether the host special case applies.
|
|
101
102
|
* @returns Index of a found directive or provider, or null when none found.
|
|
102
103
|
*/
|
|
103
|
-
export declare function locateDirectiveOrProvider<T>(tNode: TNode, lView: LView, token: Type<T> | InjectionToken<T>, canAccessViewProviders: boolean): number | null;
|
|
104
|
+
export declare function locateDirectiveOrProvider<T>(tNode: TNode, lView: LView, token: Type<T> | InjectionToken<T>, canAccessViewProviders: boolean, isHostSpecialCase: boolean | number): number | null;
|
|
104
105
|
/**
|
|
105
106
|
* Retrieve or instantiate the injectable from the `lData` at particular `index`.
|
|
106
107
|
*
|
|
@@ -126,7 +127,7 @@ export declare function injectInjector(): NodeInjector;
|
|
|
126
127
|
export declare class NodeInjector implements Injector {
|
|
127
128
|
private _tNode;
|
|
128
129
|
private _lView;
|
|
129
|
-
constructor(_tNode: TElementNode | TContainerNode | TElementContainerNode, _lView: LView);
|
|
130
|
+
constructor(_tNode: TElementNode | TContainerNode | TElementContainerNode | null, _lView: LView);
|
|
130
131
|
get(token: any, notFoundValue?: any): any;
|
|
131
132
|
}
|
|
132
133
|
export declare function getFactoryOf<T>(type: Type<any>): ((type: Type<T> | null) => T) | null;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Google Inc. All Rights Reserved.
|
|
4
|
+
*
|
|
5
|
+
* Use of this source code is governed by an MIT-style license that can be
|
|
6
|
+
* found in the LICENSE file at https://angular.io/license
|
|
7
|
+
*/
|
|
8
|
+
import './ng_dev_mode';
|
|
9
|
+
/**
|
|
10
|
+
* This file contains reuseable "empty" symbols that can be used as default return values
|
|
11
|
+
* in different parts of the rendering code. Because the same symbols are returned, this
|
|
12
|
+
* allows for identity checks against these values to be consistently used by the framework
|
|
13
|
+
* code.
|
|
14
|
+
*/
|
|
15
|
+
export declare const EMPTY_OBJ: {};
|
|
16
|
+
export declare const EMPTY_ARRAY: any[];
|
package/src/render3/hooks.d.ts
CHANGED
|
@@ -30,16 +30,16 @@ export declare function queueLifecycleHooks(tView: TView, tNode: TNode): void;
|
|
|
30
30
|
*
|
|
31
31
|
* @param currentView The current view
|
|
32
32
|
*/
|
|
33
|
-
export declare function executeInitHooks(currentView: LView, tView: TView,
|
|
33
|
+
export declare function executeInitHooks(currentView: LView, tView: TView, checkNoChangesMode: boolean): void;
|
|
34
34
|
/**
|
|
35
35
|
* Iterates over afterViewInit and afterViewChecked functions and calls them.
|
|
36
36
|
*
|
|
37
37
|
* @param currentView The current view
|
|
38
38
|
*/
|
|
39
|
-
export declare function executeHooks(
|
|
39
|
+
export declare function executeHooks(currentView: LView, allHooks: HookData | null, checkHooks: HookData | null, checkNoChangesMode: boolean): void;
|
|
40
40
|
/**
|
|
41
41
|
* Calls lifecycle hooks with their contexts, skipping init hooks if it's not
|
|
42
|
-
*
|
|
42
|
+
* the first LView pass.
|
|
43
43
|
*
|
|
44
44
|
* @param currentView The current view
|
|
45
45
|
* @param arr The array in which the hooks are found
|
package/src/render3/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export { ComponentFactory, ComponentFactoryResolver, ComponentRef, injectCompone
|
|
|
16
16
|
export { getFactoryOf, getInheritedFactory } from './di';
|
|
17
17
|
export { RenderFlags } from './interfaces/definition';
|
|
18
18
|
export { CssSelectorList } from './interfaces/projection';
|
|
19
|
-
export { allocHostVars, bind, interpolation1, interpolation2, interpolation3, interpolation4, interpolation5, interpolation6, interpolation7, interpolation8, interpolationV, container, containerRefreshStart, containerRefreshEnd, nextContext, element, elementAttribute, elementClassProp, elementEnd, elementProperty, elementStart, elementContainerStart, elementContainerEnd, elementStyling, elementStylingMap, elementStyleProp, elementStylingApply, listener, store, load, namespaceHTML, namespaceMathML, namespaceSVG, projection, projectionDef, text, textBinding, template, reference, embeddedViewStart, embeddedViewEnd, detectChanges, markDirty, tick, directiveInject, injectAttribute, getCurrentView } from './instructions';
|
|
19
|
+
export { allocHostVars, bind, interpolation1, interpolation2, interpolation3, interpolation4, interpolation5, interpolation6, interpolation7, interpolation8, interpolationV, container, containerRefreshStart, containerRefreshEnd, nextContext, element, elementAttribute, elementClassProp, elementEnd, elementProperty, componentHostSyntheticProperty, elementStart, elementContainerStart, elementContainerEnd, elementStyling, elementHostAttrs, elementStylingMap, elementStyleProp, elementStylingApply, listener, store, load, namespaceHTML, namespaceMathML, namespaceSVG, projection, projectionDef, text, textBinding, template, reference, embeddedViewStart, embeddedViewEnd, detectChanges, markDirty, tick, directiveInject, injectAttribute, getCurrentView } from './instructions';
|
|
20
20
|
export { restoreView, enableBindings, disableBindings, } from './state';
|
|
21
21
|
export { i18n, i18nAttributes, i18nExp, i18nStart, i18nEnd, i18nApply, i18nPostprocess } from './i18n';
|
|
22
22
|
export { NgModuleFactory, NgModuleRef, NgModuleType } from './ng_module_ref';
|
|
@@ -13,7 +13,7 @@ import { Sanitizer } from '../sanitization/security';
|
|
|
13
13
|
import { StyleSanitizeFn } from '../sanitization/style_sanitizer';
|
|
14
14
|
import { Type } from '../type';
|
|
15
15
|
import { LContainer } from './interfaces/container';
|
|
16
|
-
import { ComponentDef, ComponentQuery, ComponentTemplate, DirectiveDefListOrFactory,
|
|
16
|
+
import { ComponentDef, ComponentQuery, ComponentTemplate, DirectiveDefListOrFactory, PipeDefListOrFactory, RenderFlags } from './interfaces/definition';
|
|
17
17
|
import { LocalRefExtractor, TAttributes, TContainerNode, TElementContainerNode, TElementNode, TNode, TNodeType, TProjectionNode, TViewNode } from './interfaces/node';
|
|
18
18
|
import { PlayerFactory } from './interfaces/player';
|
|
19
19
|
import { CssSelectorList } from './interfaces/projection';
|
|
@@ -28,7 +28,7 @@ import { NO_CHANGE } from './tokens';
|
|
|
28
28
|
* bindings, refreshes child components.
|
|
29
29
|
* Note: view hooks are triggered later when leaving the view.
|
|
30
30
|
*/
|
|
31
|
-
export declare function refreshDescendantViews(lView: LView
|
|
31
|
+
export declare function refreshDescendantViews(lView: LView): void;
|
|
32
32
|
/** Sets the host bindings for the current view. */
|
|
33
33
|
export declare function setHostBindings(tView: TView, viewData: LView): void;
|
|
34
34
|
export declare function createLView<T>(parentLView: LView | null, tView: TView, context: T | null, flags: LViewFlags, rendererFactory?: RendererFactory3 | null, renderer?: Renderer3 | null, sanitizer?: Sanitizer | null, injector?: Injector | null): LView;
|
|
@@ -82,7 +82,7 @@ export declare function createEmbeddedViewAndNode<T>(tView: TView, context: T, d
|
|
|
82
82
|
* can't store TViews in the template function itself (as we do for comps). Instead, we store the
|
|
83
83
|
* TView for dynamically created views on their host TNode, which only has one instance.
|
|
84
84
|
*/
|
|
85
|
-
export declare function renderEmbeddedTemplate<T>(viewToRender: LView, tView: TView, context: T
|
|
85
|
+
export declare function renderEmbeddedTemplate<T>(viewToRender: LView, tView: TView, context: T): void;
|
|
86
86
|
/**
|
|
87
87
|
* Retrieves a context at the level specified and saves it as the global, contextViewData.
|
|
88
88
|
* Will get the next level up if level is not specified.
|
|
@@ -102,7 +102,8 @@ export declare function namespaceHTML(): void;
|
|
|
102
102
|
*
|
|
103
103
|
* @param index Index of the element in the data array
|
|
104
104
|
* @param name Name of the DOM Node
|
|
105
|
-
* @param attrs Statically bound set of attributes to be written into the DOM
|
|
105
|
+
* @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
|
|
106
|
+
* element on creation. Use [AttributeMarker] to denote the meaning of this array.
|
|
106
107
|
* @param localRefs A set of local reference bindings on the element.
|
|
107
108
|
*/
|
|
108
109
|
export declare function element(index: number, name: string, attrs?: TAttributes | null, localRefs?: string[] | null): void;
|
|
@@ -126,7 +127,8 @@ export declare function elementContainerEnd(): void;
|
|
|
126
127
|
*
|
|
127
128
|
* @param index Index of the element in the LView array
|
|
128
129
|
* @param name Name of the DOM Node
|
|
129
|
-
* @param attrs Statically bound set of attributes to be written into the DOM
|
|
130
|
+
* @param attrs Statically bound set of attributes, classes, and styles to be written into the DOM
|
|
131
|
+
* element on creation. Use [AttributeMarker] to denote the meaning of this array.
|
|
130
132
|
* @param localRefs A set of local reference bindings on the element.
|
|
131
133
|
*
|
|
132
134
|
* Attributes and localRefs are passed as an array of strings where elements with an even index
|
|
@@ -226,6 +228,28 @@ export declare function elementAttribute(index: number, name: string, value: any
|
|
|
226
228
|
* (this is necessary for host property bindings)
|
|
227
229
|
*/
|
|
228
230
|
export declare function elementProperty<T>(index: number, propName: string, value: T | NO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
|
|
231
|
+
/**
|
|
232
|
+
* Updates a synthetic host binding (e.g. `[@foo]`) on a component.
|
|
233
|
+
*
|
|
234
|
+
* This instruction is for compatibility purposes and is designed to ensure that a
|
|
235
|
+
* synthetic host binding (e.g. `@HostBinding('@foo')`) properly gets rendered in
|
|
236
|
+
* the component's renderer. Normally all host bindings are evaluated with the parent
|
|
237
|
+
* component's renderer, but, in the case of animation @triggers, they need to be
|
|
238
|
+
* evaluated with the sub components renderer (because that's where the animation
|
|
239
|
+
* triggers are defined).
|
|
240
|
+
*
|
|
241
|
+
* Do not use this instruction as a replacement for `elementProperty`. This instruction
|
|
242
|
+
* only exists to ensure compatibility with the ViewEngine's host binding behavior.
|
|
243
|
+
*
|
|
244
|
+
* @param index The index of the element to update in the data array
|
|
245
|
+
* @param propName Name of property. Because it is going to DOM, this is not subject to
|
|
246
|
+
* renaming as part of minification.
|
|
247
|
+
* @param value New value to write.
|
|
248
|
+
* @param sanitizer An optional function used to sanitize the value.
|
|
249
|
+
* @param nativeOnly Whether or not we should only set native properties and skip input check
|
|
250
|
+
* (this is necessary for host property bindings)
|
|
251
|
+
*/
|
|
252
|
+
export declare function componentHostSyntheticProperty<T>(index: number, propName: string, value: T | NO_CHANGE, sanitizer?: SanitizerFn | null, nativeOnly?: boolean): void;
|
|
229
253
|
/**
|
|
230
254
|
* Constructs a TNode object from the arguments.
|
|
231
255
|
*
|
|
@@ -238,106 +262,128 @@ export declare function elementProperty<T>(index: number, propName: string, valu
|
|
|
238
262
|
*/
|
|
239
263
|
export declare function createTNode(lView: LView, type: TNodeType, adjustedIndex: number, tagName: string | null, attrs: TAttributes | null, tViews: TView[] | null): TNode;
|
|
240
264
|
/**
|
|
241
|
-
*
|
|
265
|
+
* Assign any inline style values to the element during creation mode.
|
|
242
266
|
*
|
|
243
|
-
* This instruction is meant to
|
|
267
|
+
* This instruction is meant to be called during creation mode to register all
|
|
268
|
+
* dynamic style and class bindings on the element. Note for static values (no binding)
|
|
269
|
+
* see `elementStart` and `elementHostAttrs`.
|
|
270
|
+
*
|
|
271
|
+
* @param classBindingNames An array containing bindable class names.
|
|
272
|
+
* The `elementClassProp` refers to the class name by index in this array.
|
|
273
|
+
* (i.e. `['foo', 'bar']` means `foo=0` and `bar=1`).
|
|
274
|
+
* @param styleBindingNames An array containing bindable style properties.
|
|
275
|
+
* The `elementStyleProp` refers to the class name by index in this array.
|
|
276
|
+
* (i.e. `['width', 'height']` means `width=0` and `height=1`).
|
|
277
|
+
* @param styleSanitizer An optional sanitizer function that will be used to sanitize any CSS
|
|
278
|
+
* property values that are applied to the element (during rendering).
|
|
279
|
+
* Note that the sanitizer instance itself is tied to the `directive` (if provided).
|
|
280
|
+
* @param directive A directive instance the styling is associated with. If not provided
|
|
281
|
+
* current view's controller instance is assumed.
|
|
244
282
|
*
|
|
245
|
-
* @
|
|
246
|
-
* @param classIndex Index of class to toggle. Because it is going to DOM, this is not subject to
|
|
247
|
-
* renaming as part of minification.
|
|
248
|
-
* @param value A value indicating if a given class should be added or removed.
|
|
249
|
-
* @param directive the ref to the directive that is attempting to change styling.
|
|
283
|
+
* @publicApi
|
|
250
284
|
*/
|
|
251
|
-
export declare function
|
|
285
|
+
export declare function elementStyling(classBindingNames?: string[] | null, styleBindingNames?: string[] | null, styleSanitizer?: StyleSanitizeFn | null, directive?: {}): void;
|
|
252
286
|
/**
|
|
253
|
-
* Assign
|
|
287
|
+
* Assign static styling values to a host element.
|
|
254
288
|
*
|
|
255
|
-
* This instruction is meant to
|
|
256
|
-
* (e.g. `style="..."`) values to the element. This is also where the provided index
|
|
257
|
-
* value is allocated for the styling details for its corresponding element (the element
|
|
258
|
-
* index is the previous index value from this one).
|
|
289
|
+
* NOTE: This instruction is meant to used from `hostBindings` function only.
|
|
259
290
|
*
|
|
260
|
-
*
|
|
291
|
+
* @param directive A directive instance the styling is associated with.
|
|
292
|
+
* @param attrs An array containing class and styling information. The values must be marked with
|
|
293
|
+
* `AttributeMarker`.
|
|
261
294
|
*
|
|
295
|
+
* ```
|
|
296
|
+
* var attrs = [AttributeMarker.Classes, 'foo', 'bar',
|
|
297
|
+
* AttributeMarker.Styles, 'width', '100px', 'height, '200px']
|
|
298
|
+
* elementHostAttrs(directive, attrs);
|
|
299
|
+
* ```
|
|
262
300
|
*
|
|
263
|
-
* @
|
|
264
|
-
* (Note that this is not the element index, but rather an index value allocated
|
|
265
|
-
* specifically for element styling--the index must be the next index after the element
|
|
266
|
-
* index.)
|
|
267
|
-
* @param classDeclarations A key/value array of CSS classes that will be registered on the element.
|
|
268
|
-
* Each individual style will be used on the element as long as it is not overridden
|
|
269
|
-
* by any classes placed on the element by multiple (`[class]`) or singular (`[class.named]`)
|
|
270
|
-
* bindings. If a class binding changes its value to a falsy value then the matching initial
|
|
271
|
-
* class value that are passed in here will be applied to the element (if matched).
|
|
272
|
-
* @param styleDeclarations A key/value array of CSS styles that will be registered on the element.
|
|
273
|
-
* Each individual style will be used on the element as long as it is not overridden
|
|
274
|
-
* by any styles placed on the element by multiple (`[style]`) or singular (`[style.prop]`)
|
|
275
|
-
* bindings. If a style binding changes its value to null then the initial styling
|
|
276
|
-
* values that are passed in here will be applied to the element (if matched).
|
|
277
|
-
* @param styleSanitizer An optional sanitizer function that will be used (if provided)
|
|
278
|
-
* to sanitize the any CSS property values that are applied to the element (during rendering).
|
|
279
|
-
* @param directive the ref to the directive that is attempting to change styling.
|
|
301
|
+
* @publicApi
|
|
280
302
|
*/
|
|
281
|
-
export declare function
|
|
303
|
+
export declare function elementHostAttrs(directive: any, attrs: TAttributes): void;
|
|
282
304
|
/**
|
|
283
|
-
* Apply
|
|
305
|
+
* Apply styling binding to the element.
|
|
284
306
|
*
|
|
285
|
-
* This instruction is meant to be run
|
|
286
|
-
*
|
|
287
|
-
* changed and will then skip the operation if there is nothing new to render.
|
|
307
|
+
* This instruction is meant to be run after `elementStyle` and/or `elementStyleProp`.
|
|
308
|
+
* if any styling bindings have changed then the changes are flushed to the element.
|
|
288
309
|
*
|
|
289
|
-
* Once called then all queued styles will be flushed.
|
|
290
310
|
*
|
|
291
|
-
* @param index Index of the element's
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
|
|
295
|
-
*
|
|
311
|
+
* @param index Index of the element's with which styling is associated.
|
|
312
|
+
* @param directive Directive instance that is attempting to change styling. (Defaults to the
|
|
313
|
+
* component of the current view).
|
|
314
|
+
components
|
|
315
|
+
*
|
|
316
|
+
* @publicApi
|
|
296
317
|
*/
|
|
297
|
-
export declare function elementStylingApply(index: number, directive?:
|
|
318
|
+
export declare function elementStylingApply(index: number, directive?: any): void;
|
|
298
319
|
/**
|
|
299
|
-
*
|
|
320
|
+
* Update a style bindings value on an element.
|
|
300
321
|
*
|
|
301
322
|
* If the style value is `null` then it will be removed from the element
|
|
302
323
|
* (or assigned a different value depending if there are any styles placed
|
|
303
324
|
* on the element with `elementStyle` or any styles that are present
|
|
304
325
|
* from when the element was created (with `elementStyling`).
|
|
305
326
|
*
|
|
306
|
-
* (Note that the styling
|
|
327
|
+
* (Note that the styling element is updated as part of `elementStylingApply`.)
|
|
307
328
|
*
|
|
308
|
-
* @param index Index of the element's
|
|
309
|
-
*
|
|
310
|
-
*
|
|
311
|
-
*
|
|
312
|
-
* @param
|
|
313
|
-
*
|
|
329
|
+
* @param index Index of the element's with which styling is associated.
|
|
330
|
+
* @param styleIndex Index of style to update. This index value refers to the
|
|
331
|
+
* index of the style in the style bindings array that was passed into
|
|
332
|
+
* `elementStlyingBindings`.
|
|
333
|
+
* @param value New value to write (null to remove). Note that if a directive also
|
|
334
|
+
* attempts to write to the same binding value then it will only be able to
|
|
335
|
+
* do so if the template binding value is `null` (or doesn't exist at all).
|
|
314
336
|
* @param suffix Optional suffix. Used with scalar values to add unit such as `px`.
|
|
315
337
|
* Note that when a suffix is provided then the underlying sanitizer will
|
|
316
338
|
* be ignored.
|
|
317
|
-
* @param directive
|
|
339
|
+
* @param directive Directive instance that is attempting to change styling. (Defaults to the
|
|
340
|
+
* component of the current view).
|
|
341
|
+
components
|
|
342
|
+
*
|
|
343
|
+
* @publicApi
|
|
344
|
+
*/
|
|
345
|
+
export declare function elementStyleProp(index: number, styleIndex: number, value: string | number | String | PlayerFactory | null, suffix?: string | null, directive?: {}): void;
|
|
346
|
+
/**
|
|
347
|
+
* Add or remove a class via a class binding on a DOM element.
|
|
348
|
+
*
|
|
349
|
+
* This instruction is meant to handle the [class.foo]="exp" case and, therefore,
|
|
350
|
+
* the class itself must already be applied using `elementStyling` within
|
|
351
|
+
* the creation block.
|
|
352
|
+
*
|
|
353
|
+
* @param index Index of the element's with which styling is associated.
|
|
354
|
+
* @param classIndex Index of class to toggle. This index value refers to the
|
|
355
|
+
* index of the class in the class bindings array that was passed into
|
|
356
|
+
* `elementStlyingBindings` (which is meant to be called before this
|
|
357
|
+
* function is).
|
|
358
|
+
* @param value A true/false value which will turn the class on or off.
|
|
359
|
+
* @param directive Directive instance that is attempting to change styling. (Defaults to the
|
|
360
|
+
* component of the current view).
|
|
361
|
+
components
|
|
362
|
+
*
|
|
363
|
+
* @publicApi
|
|
318
364
|
*/
|
|
319
|
-
export declare function
|
|
365
|
+
export declare function elementClassProp(index: number, classIndex: number, value: boolean | PlayerFactory, directive?: {}): void;
|
|
320
366
|
/**
|
|
321
|
-
*
|
|
367
|
+
* Update style and/or class bindings using object literal.
|
|
322
368
|
*
|
|
323
|
-
* This instruction is meant
|
|
324
|
-
* the Element they will then be placed with respect to
|
|
325
|
-
* If any styles are set to `null` then they will be
|
|
326
|
-
*
|
|
369
|
+
* This instruction is meant apply styling via the `[style]="exp"` and `[class]="exp"` template
|
|
370
|
+
* bindings. When styles are applied to the Element they will then be placed with respect to
|
|
371
|
+
* any styles set with `elementStyleProp`. If any styles are set to `null` then they will be
|
|
372
|
+
* removed from the element.
|
|
327
373
|
*
|
|
328
374
|
* (Note that the styling instruction will not be applied until `elementStylingApply` is called.)
|
|
329
375
|
*
|
|
330
|
-
* @param index Index of the element's
|
|
331
|
-
* (Note that this is not the element index, but rather an index value allocated
|
|
332
|
-
* specifically for element styling--the index must be the next index after the element
|
|
333
|
-
* index.)
|
|
376
|
+
* @param index Index of the element's with which styling is associated.
|
|
334
377
|
* @param classes A key/value style map of CSS classes that will be added to the given element.
|
|
335
378
|
* Any missing classes (that have already been applied to the element beforehand) will be
|
|
336
379
|
* removed (unset) from the element's list of CSS classes.
|
|
337
380
|
* @param styles A key/value style map of the styles that will be applied to the given element.
|
|
338
381
|
* Any missing styles (that have already been applied to the element beforehand) will be
|
|
339
382
|
* removed (unset) from the element's styling.
|
|
340
|
-
* @param directive
|
|
383
|
+
* @param directive Directive instance that is attempting to change styling. (Defaults to the
|
|
384
|
+
* component of the current view).
|
|
385
|
+
*
|
|
386
|
+
* @publicApi
|
|
341
387
|
*/
|
|
342
388
|
export declare function elementStylingMap<T>(index: number, classes: {
|
|
343
389
|
[key: string]: any;
|
|
@@ -442,9 +488,8 @@ export declare function embeddedViewEnd(): void;
|
|
|
442
488
|
* Refreshes components by entering the component view and processing its bindings, queries, etc.
|
|
443
489
|
*
|
|
444
490
|
* @param adjustedElementIndex Element index in LView[] (adjusted for HEADER_OFFSET)
|
|
445
|
-
* @param rf The render flags that should be used to process this template
|
|
446
491
|
*/
|
|
447
|
-
export declare function componentRefresh<T>(adjustedElementIndex: number
|
|
492
|
+
export declare function componentRefresh<T>(adjustedElementIndex: number): void;
|
|
448
493
|
/** Returns a boolean for whether the view is attached */
|
|
449
494
|
export declare function viewAttached(view: LView): boolean;
|
|
450
495
|
/**
|
|
@@ -532,6 +577,7 @@ export declare function tick<T>(component: T): void;
|
|
|
532
577
|
* @param component The component which the change detection should be performed on.
|
|
533
578
|
*/
|
|
534
579
|
export declare function detectChanges<T>(component: T): void;
|
|
580
|
+
export declare function detectChangesInternal<T>(view: LView, context: T): void;
|
|
535
581
|
/**
|
|
536
582
|
* Synchronously perform change detection on a root view and its components.
|
|
537
583
|
*
|
|
@@ -556,7 +602,7 @@ export declare function checkNoChanges<T>(component: T): void;
|
|
|
556
602
|
*/
|
|
557
603
|
export declare function checkNoChangesInRootView(lView: LView): void;
|
|
558
604
|
/** Checks the view of the component provided. Does not gate on dirty checks or execute doCheck. */
|
|
559
|
-
export declare function
|
|
605
|
+
export declare function checkView<T>(hostView: LView, component: T): void;
|
|
560
606
|
/**
|
|
561
607
|
* Mark the component as dirty (needing change detection).
|
|
562
608
|
*
|
|
@@ -668,7 +714,6 @@ export declare function injectAttribute(attrNameToInject: string): string | null
|
|
|
668
714
|
*/
|
|
669
715
|
export declare function registerContentQuery<Q>(queryList: QueryList<Q>, currentDirectiveIndex: number): void;
|
|
670
716
|
export declare const CLEAN_PROMISE: Promise<null>;
|
|
671
|
-
export declare function delegateToClassInput(tNode: TNode): number;
|
|
672
717
|
/**
|
|
673
718
|
* Returns the current OpaqueViewState instance.
|
|
674
719
|
*
|
|
@@ -299,6 +299,3 @@ export declare type PipeDefList = PipeDef<any>[];
|
|
|
299
299
|
export declare type PipeTypesOrFactory = (() => DirectiveTypeList) | DirectiveTypeList;
|
|
300
300
|
export declare type PipeTypeList = (PipeDef<any> | Type<any>)[];
|
|
301
301
|
export declare const unusedValueExportToPlacateAjd = 1;
|
|
302
|
-
export declare const enum InitialStylingFlags {
|
|
303
|
-
VALUES_MODE = 1
|
|
304
|
-
}
|
|
@@ -45,7 +45,7 @@ export declare const enum TNodeProviderIndexes {
|
|
|
45
45
|
CptViewProvidersCountShifter = 65536
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* A set of marker values to be used in the attributes arrays.
|
|
48
|
+
* A set of marker values to be used in the attributes arrays. These markers indicate that some
|
|
49
49
|
* items are not regular attributes and the processing should be adapted accordingly.
|
|
50
50
|
*/
|
|
51
51
|
export declare const enum AttributeMarker {
|
|
@@ -55,13 +55,48 @@ export declare const enum AttributeMarker {
|
|
|
55
55
|
* in that order.
|
|
56
56
|
*/
|
|
57
57
|
NamespaceURI = 0,
|
|
58
|
+
/**
|
|
59
|
+
* Signals class declaration.
|
|
60
|
+
*
|
|
61
|
+
* Each value following `Classes` designates a class name to include on the element.
|
|
62
|
+
* ## Example:
|
|
63
|
+
*
|
|
64
|
+
* Given:
|
|
65
|
+
* ```
|
|
66
|
+
* <div class="foo bar baz">...<d/vi>
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* the generated code is:
|
|
70
|
+
* ```
|
|
71
|
+
* var _c1 = [AttributeMarker.Classes, 'foo', 'bar', 'baz'];
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
Classes = 1,
|
|
75
|
+
/**
|
|
76
|
+
* Signals style declaration.
|
|
77
|
+
*
|
|
78
|
+
* Each pair of values following `Styles` designates a style name and value to include on the
|
|
79
|
+
* element.
|
|
80
|
+
* ## Example:
|
|
81
|
+
*
|
|
82
|
+
* Given:
|
|
83
|
+
* ```
|
|
84
|
+
* <div style="width:100px; height:200px; color:red">...</div>
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* the generated code is:
|
|
88
|
+
* ```
|
|
89
|
+
* var _c1 = [AttributeMarker.Styles, 'width', '100px', 'height'. '200px', 'color', 'red'];
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
Styles = 2,
|
|
58
93
|
/**
|
|
59
94
|
* This marker indicates that the following attribute names were extracted from bindings (ex.:
|
|
60
95
|
* [foo]="exp") and / or event handlers (ex. (bar)="doSth()").
|
|
61
96
|
* Taking the above bindings and outputs as an example an attributes array could look as follows:
|
|
62
97
|
* ['class', 'fade in', AttributeMarker.SelectOnly, 'foo', 'bar']
|
|
63
98
|
*/
|
|
64
|
-
SelectOnly =
|
|
99
|
+
SelectOnly = 3
|
|
65
100
|
}
|
|
66
101
|
/**
|
|
67
102
|
* A combination of:
|