@angular/core 13.0.0-next.9 → 13.0.0-rc.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/core.d.ts +791 -1180
- package/esm2020/core.mjs +5 -0
- package/esm2020/index.mjs +14 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/esm2020/src/application_init.mjs +140 -0
- package/esm2020/src/application_module.mjs +130 -0
- package/esm2020/src/application_ref.mjs +738 -0
- package/{esm2015/src/application_tokens.js → esm2020/src/application_tokens.mjs} +0 -0
- package/esm2020/src/change_detection/change_detection.mjs +31 -0
- package/esm2020/src/change_detection/change_detection_util.mjs +64 -0
- package/esm2020/src/change_detection/change_detector_ref.mjs +89 -0
- package/{esm2015/src/change_detection/constants.js → esm2020/src/change_detection/constants.mjs} +0 -0
- package/esm2020/src/change_detection/differs/default_iterable_differ.mjs +666 -0
- package/{esm2015/src/change_detection/differs/default_keyvalue_differ.js → esm2020/src/change_detection/differs/default_keyvalue_differ.mjs} +0 -0
- package/{esm2015/src/change_detection/differs/iterable_differs.js → esm2020/src/change_detection/differs/iterable_differs.mjs} +0 -0
- package/{esm2015/src/change_detection/differs/keyvalue_differs.js → esm2020/src/change_detection/differs/keyvalue_differs.mjs} +0 -0
- package/{esm2015/src/change_detection/pipe_transform.js → esm2020/src/change_detection/pipe_transform.mjs} +0 -0
- package/esm2020/src/change_detection.mjs +14 -0
- package/esm2020/src/codegen_private_exports.mjs +11 -0
- package/{esm2015/src/compiler/compiler_facade.js → esm2020/src/compiler/compiler_facade.mjs} +0 -0
- package/{esm2015/src/compiler/compiler_facade_interface.js → esm2020/src/compiler/compiler_facade_interface.mjs} +1 -1
- package/esm2020/src/console.mjs +26 -0
- package/esm2020/src/core.mjs +52 -0
- package/esm2020/src/core_private_export.mjs +34 -0
- package/esm2020/src/core_render3_private_export.mjs +47 -0
- package/esm2020/src/debug/debug_node.mjs +625 -0
- package/{esm2015/src/debug/proxy.js → esm2020/src/debug/proxy.mjs} +0 -0
- package/{esm2015/src/di/forward_ref.js → esm2020/src/di/forward_ref.mjs} +0 -0
- package/{esm2015/src/di/index.js → esm2020/src/di/index.mjs} +0 -0
- package/{esm2015/src/di/inject_switch.js → esm2020/src/di/inject_switch.mjs} +0 -0
- package/esm2020/src/di/injectable.mjs +27 -0
- package/esm2020/src/di/injection_token.mjs +82 -0
- package/esm2020/src/di/injector.mjs +323 -0
- package/esm2020/src/di/injector_compatibility.mjs +185 -0
- package/{esm2015/src/di/injector_marker.js → esm2020/src/di/injector_marker.mjs} +0 -0
- package/{esm2015/src/di/injector_token.js → esm2020/src/di/injector_token.mjs} +0 -0
- package/{esm2015/src/di/interface/defs.js → esm2020/src/di/interface/defs.mjs} +0 -0
- package/{esm2015/src/di/interface/injector.js → esm2020/src/di/interface/injector.mjs} +0 -0
- package/{esm2015/src/di/interface/provider.js → esm2020/src/di/interface/provider.mjs} +0 -0
- package/{esm2015/src/di/jit/environment.js → esm2020/src/di/jit/environment.mjs} +0 -0
- package/esm2020/src/di/jit/injectable.mjs +94 -0
- package/{esm2015/src/di/jit/util.js → esm2020/src/di/jit/util.mjs} +0 -0
- package/esm2020/src/di/metadata.mjs +60 -0
- package/esm2020/src/di/metadata_attr.mjs +24 -0
- package/{esm2015/src/di/null_injector.js → esm2020/src/di/null_injector.mjs} +0 -0
- package/{esm2015/src/di/provider_token.js → esm2020/src/di/provider_token.mjs} +0 -0
- package/{esm2015/src/di/r3_injector.js → esm2020/src/di/r3_injector.mjs} +0 -0
- package/{esm2015/src/di/reflective_errors.js → esm2020/src/di/reflective_errors.mjs} +0 -0
- package/{esm2015/src/di/reflective_injector.js → esm2020/src/di/reflective_injector.mjs} +0 -0
- package/{esm2015/src/di/reflective_key.js → esm2020/src/di/reflective_key.mjs} +0 -0
- package/{esm2015/src/di/reflective_provider.js → esm2020/src/di/reflective_provider.mjs} +0 -0
- package/{esm2015/src/di/scope.js → esm2020/src/di/scope.mjs} +0 -0
- package/esm2020/src/di/util.mjs +51 -0
- package/{esm2015/src/di.js → esm2020/src/di.mjs} +0 -0
- package/{esm2015/src/error_handler.js → esm2020/src/error_handler.mjs} +0 -0
- package/{esm2015/src/errors.js → esm2020/src/errors.mjs} +0 -0
- package/esm2020/src/event_emitter.mjs +53 -0
- package/{esm2015/src/i18n/locale_data_api.js → esm2020/src/i18n/locale_data_api.mjs} +0 -0
- package/esm2020/src/i18n/locale_en.mjs +17 -0
- package/{esm2015/src/i18n/localization.js → esm2020/src/i18n/localization.mjs} +0 -0
- package/{esm2015/src/i18n/tokens.js → esm2020/src/i18n/tokens.mjs} +0 -0
- package/{esm2015/src/interface/lifecycle_hooks.js → esm2020/src/interface/lifecycle_hooks.mjs} +0 -0
- package/{esm2015/src/interface/simple_change.js → esm2020/src/interface/simple_change.mjs} +0 -0
- package/{esm2015/src/interface/type.js → esm2020/src/interface/type.mjs} +0 -0
- package/{esm2015/src/ivy_switch.js → esm2020/src/ivy_switch.mjs} +2 -2
- package/esm2020/src/linker/compiler.mjs +136 -0
- package/{esm2015/src/linker/component_factory.js → esm2020/src/linker/component_factory.mjs} +0 -0
- package/{esm2015/src/linker/component_factory_resolver.js → esm2020/src/linker/component_factory_resolver.mjs} +5 -5
- package/esm2020/src/linker/element_ref.mjs +59 -0
- package/esm2020/src/linker/ng_module_factory.mjs +29 -0
- package/esm2020/src/linker/ng_module_factory_loader.mjs +42 -0
- package/esm2020/src/linker/ng_module_factory_loader_impl.mjs +10 -0
- package/{esm2015/src/linker/ng_module_factory_registration.js → esm2020/src/linker/ng_module_factory_registration.mjs} +2 -2
- package/{esm2015/src/linker/query_list.js → esm2020/src/linker/query_list.mjs} +0 -0
- package/{esm2015/src/linker/template_ref.js → esm2020/src/linker/template_ref.mjs} +2 -2
- package/esm2020/src/linker/view_container_ref.mjs +283 -0
- package/{esm2015/src/linker/view_ref.js → esm2020/src/linker/view_ref.mjs} +0 -0
- package/esm2020/src/linker.mjs +19 -0
- package/esm2020/src/metadata/di.mjs +108 -0
- package/esm2020/src/metadata/directives.mjs +112 -0
- package/{esm2015/src/metadata/do_boostrap.js → esm2020/src/metadata/do_boostrap.mjs} +0 -0
- package/esm2020/src/metadata/ng_module.mjs +42 -0
- package/{esm2015/src/metadata/ng_module_def.js → esm2020/src/metadata/ng_module_def.mjs} +0 -0
- package/{esm2015/src/metadata/resource_loading.js → esm2020/src/metadata/resource_loading.mjs} +0 -0
- package/{esm2015/src/metadata/schema.js → esm2020/src/metadata/schema.mjs} +0 -0
- package/{esm2015/src/metadata/view.js → esm2020/src/metadata/view.mjs} +0 -0
- package/{esm2015/src/metadata.js → esm2020/src/metadata.mjs} +0 -0
- package/{esm2015/src/platform_core_providers.js → esm2020/src/platform_core_providers.mjs} +0 -0
- package/{esm2015/src/r3_symbols.js → esm2020/src/r3_symbols.mjs} +0 -0
- package/{esm2015/src/reflection/platform_reflection_capabilities.js → esm2020/src/reflection/platform_reflection_capabilities.mjs} +0 -0
- package/{esm2015/src/reflection/reflection.js → esm2020/src/reflection/reflection.mjs} +0 -0
- package/{esm2015/src/reflection/reflection_capabilities.js → esm2020/src/reflection/reflection_capabilities.mjs} +0 -0
- package/{esm2015/src/reflection/reflector.js → esm2020/src/reflection/reflector.mjs} +0 -0
- package/{esm2015/src/reflection/types.js → esm2020/src/reflection/types.mjs} +0 -0
- package/{esm2015/src/render/api.js → esm2020/src/render/api.mjs} +2 -2
- package/{esm2015/src/render/api_flags.js → esm2020/src/render/api_flags.mjs} +0 -0
- package/{esm2015/src/render.js → esm2020/src/render.mjs} +0 -0
- package/{esm2015/src/render3/assert.js → esm2020/src/render3/assert.mjs} +0 -0
- package/{esm2015/src/render3/bindings.js → esm2020/src/render3/bindings.mjs} +0 -0
- package/{esm2015/src/render3/collect_native_nodes.js → esm2020/src/render3/collect_native_nodes.mjs} +0 -0
- package/esm2020/src/render3/component.mjs +204 -0
- package/{esm2015/src/render3/component_ref.js → esm2020/src/render3/component_ref.mjs} +0 -0
- package/{esm2015/src/render3/context_discovery.js → esm2020/src/render3/context_discovery.mjs} +0 -0
- package/esm2020/src/render3/definition.mjs +296 -0
- package/{esm2015/src/render3/definition_factory.js → esm2020/src/render3/definition_factory.mjs} +0 -0
- package/{esm2015/src/render3/di.js → esm2020/src/render3/di.mjs} +3 -3
- package/{esm2015/src/render3/di_setup.js → esm2020/src/render3/di_setup.mjs} +0 -0
- package/esm2020/src/render3/error_code.mjs +42 -0
- package/esm2020/src/render3/error_details_base_url.mjs +16 -0
- package/{esm2015/src/render3/errors.js → esm2020/src/render3/errors.mjs} +0 -0
- package/{esm2015/src/render3/errors_di.js → esm2020/src/render3/errors_di.mjs} +0 -0
- package/{esm2015/src/render3/features/copy_definition_feature.js → esm2020/src/render3/features/copy_definition_feature.mjs} +0 -0
- package/{esm2015/src/render3/features/inherit_definition_feature.js → esm2020/src/render3/features/inherit_definition_feature.mjs} +0 -0
- package/esm2020/src/render3/features/ng_onchanges_feature.mjs +92 -0
- package/{esm2015/src/render3/features/providers_feature.js → esm2020/src/render3/features/providers_feature.mjs} +0 -0
- package/esm2020/src/render3/fields.mjs +21 -0
- package/{esm2015/src/render3/global_utils_api.js → esm2020/src/render3/global_utils_api.mjs} +0 -0
- package/{esm2015/src/render3/hooks.js → esm2020/src/render3/hooks.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_apply.js → esm2020/src/render3/i18n/i18n_apply.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_debug.js → esm2020/src/render3/i18n/i18n_debug.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_insert_before_index.js → esm2020/src/render3/i18n/i18n_insert_before_index.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_locale_id.js → esm2020/src/render3/i18n/i18n_locale_id.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_parse.js → esm2020/src/render3/i18n/i18n_parse.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_postprocess.js → esm2020/src/render3/i18n/i18n_postprocess.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_tree_shaking.js → esm2020/src/render3/i18n/i18n_tree_shaking.mjs} +0 -0
- package/{esm2015/src/render3/i18n/i18n_util.js → esm2020/src/render3/i18n/i18n_util.mjs} +0 -0
- package/{esm2015/src/render3/index.js → esm2020/src/render3/index.mjs} +0 -0
- package/{esm2015/src/render3/instructions/advance.js → esm2020/src/render3/instructions/advance.mjs} +0 -0
- package/{esm2015/src/render3/instructions/all.js → esm2020/src/render3/instructions/all.mjs} +0 -0
- package/{esm2015/src/render3/instructions/attribute.js → esm2020/src/render3/instructions/attribute.mjs} +0 -0
- package/{esm2015/src/render3/instructions/attribute_interpolation.js → esm2020/src/render3/instructions/attribute_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/change_detection.js → esm2020/src/render3/instructions/change_detection.mjs} +0 -0
- package/{esm2015/src/render3/instructions/class_map_interpolation.js → esm2020/src/render3/instructions/class_map_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/di.js → esm2020/src/render3/instructions/di.mjs} +0 -0
- package/{esm2015/src/render3/instructions/di_attr.js → esm2020/src/render3/instructions/di_attr.mjs} +0 -0
- package/{esm2015/src/render3/instructions/element.js → esm2020/src/render3/instructions/element.mjs} +0 -0
- package/{esm2015/src/render3/instructions/element_container.js → esm2020/src/render3/instructions/element_container.mjs} +0 -0
- package/{esm2015/src/render3/instructions/get_current_view.js → esm2020/src/render3/instructions/get_current_view.mjs} +0 -0
- package/{esm2015/src/render3/instructions/host_property.js → esm2020/src/render3/instructions/host_property.mjs} +0 -0
- package/{esm2015/src/render3/instructions/i18n.js → esm2020/src/render3/instructions/i18n.mjs} +0 -0
- package/{esm2015/src/render3/instructions/i18n_icu_container_visitor.js → esm2020/src/render3/instructions/i18n_icu_container_visitor.mjs} +0 -0
- package/{esm2015/src/render3/instructions/interpolation.js → esm2020/src/render3/instructions/interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/listener.js → esm2020/src/render3/instructions/listener.mjs} +0 -0
- package/{esm2015/src/render3/instructions/lview_debug.js → esm2020/src/render3/instructions/lview_debug.mjs} +0 -0
- package/{esm2015/src/render3/instructions/namespace.js → esm2020/src/render3/instructions/namespace.mjs} +0 -0
- package/{esm2015/src/render3/instructions/next_context.js → esm2020/src/render3/instructions/next_context.mjs} +0 -0
- package/{esm2015/src/render3/instructions/projection.js → esm2020/src/render3/instructions/projection.mjs} +0 -0
- package/{esm2015/src/render3/instructions/property.js → esm2020/src/render3/instructions/property.mjs} +0 -0
- package/{esm2015/src/render3/instructions/property_interpolation.js → esm2020/src/render3/instructions/property_interpolation.mjs} +0 -0
- package/esm2020/src/render3/instructions/shared.mjs +1811 -0
- package/{esm2015/src/render3/instructions/storage.js → esm2020/src/render3/instructions/storage.mjs} +0 -0
- package/{esm2015/src/render3/instructions/style_map_interpolation.js → esm2020/src/render3/instructions/style_map_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/style_prop_interpolation.js → esm2020/src/render3/instructions/style_prop_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/instructions/styling.js → esm2020/src/render3/instructions/styling.mjs} +0 -0
- package/{esm2015/src/render3/instructions/template.js → esm2020/src/render3/instructions/template.mjs} +0 -0
- package/{esm2015/src/render3/instructions/text.js → esm2020/src/render3/instructions/text.mjs} +0 -0
- package/{esm2015/src/render3/instructions/text_interpolation.js → esm2020/src/render3/instructions/text_interpolation.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/container.js → esm2020/src/render3/interfaces/container.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/context.js → esm2020/src/render3/interfaces/context.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/definition.js → esm2020/src/render3/interfaces/definition.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/document.js → esm2020/src/render3/interfaces/document.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/i18n.js → esm2020/src/render3/interfaces/i18n.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/injector.js → esm2020/src/render3/interfaces/injector.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/node.js → esm2020/src/render3/interfaces/node.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/player.js → esm2020/src/render3/interfaces/player.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/projection.js → esm2020/src/render3/interfaces/projection.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/public_definitions.js → esm2020/src/render3/interfaces/public_definitions.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/query.js → esm2020/src/render3/interfaces/query.mjs} +0 -0
- package/esm2020/src/render3/interfaces/renderer.mjs +27 -0
- package/{esm2015/src/render3/interfaces/renderer_dom.js → esm2020/src/render3/interfaces/renderer_dom.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/sanitization.js → esm2020/src/render3/interfaces/sanitization.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/styling.js → esm2020/src/render3/interfaces/styling.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/type_checks.js → esm2020/src/render3/interfaces/type_checks.mjs} +0 -0
- package/{esm2015/src/render3/interfaces/view.js → esm2020/src/render3/interfaces/view.mjs} +0 -0
- package/esm2020/src/render3/jit/directive.mjs +325 -0
- package/esm2020/src/render3/jit/environment.mjs +165 -0
- package/{esm2015/src/render3/jit/jit_options.js → esm2020/src/render3/jit/jit_options.mjs} +0 -0
- package/{esm2015/src/render3/jit/module.js → esm2020/src/render3/jit/module.mjs} +0 -0
- package/esm2020/src/render3/jit/partial.mjs +104 -0
- package/{esm2015/src/render3/jit/pipe.js → esm2020/src/render3/jit/pipe.mjs} +0 -0
- package/esm2020/src/render3/metadata.mjs +49 -0
- package/{esm2015/src/render3/namespaces.js → esm2020/src/render3/namespaces.mjs} +0 -0
- package/esm2020/src/render3/ng_module_ref.mjs +119 -0
- package/{esm2015/src/render3/node_assert.js → esm2020/src/render3/node_assert.mjs} +0 -0
- package/{esm2015/src/render3/node_manipulation.js → esm2020/src/render3/node_manipulation.mjs} +0 -0
- package/{esm2015/src/render3/node_manipulation_i18n.js → esm2020/src/render3/node_manipulation_i18n.mjs} +0 -0
- package/{esm2015/src/render3/node_selector_matcher.js → esm2020/src/render3/node_selector_matcher.mjs} +0 -0
- package/esm2020/src/render3/pipe.mjs +184 -0
- package/{esm2015/src/render3/profiler.js → esm2020/src/render3/profiler.mjs} +0 -0
- package/{esm2015/src/render3/pure_function.js → esm2020/src/render3/pure_function.mjs} +0 -0
- package/{esm2015/src/render3/query.js → esm2020/src/render3/query.mjs} +0 -0
- package/{esm2015/src/render3/state.js → esm2020/src/render3/state.mjs} +0 -0
- package/{esm2015/src/render3/styling/class_differ.js → esm2020/src/render3/styling/class_differ.mjs} +0 -0
- package/{esm2015/src/render3/styling/static_styling.js → esm2020/src/render3/styling/static_styling.mjs} +0 -0
- package/{esm2015/src/render3/styling/style_binding_list.js → esm2020/src/render3/styling/style_binding_list.mjs} +0 -0
- package/{esm2015/src/render3/styling/styling_parser.js → esm2020/src/render3/styling/styling_parser.mjs} +0 -0
- package/{esm2015/src/render3/tokens.js → esm2020/src/render3/tokens.mjs} +0 -0
- package/{esm2015/src/render3/util/attrs_utils.js → esm2020/src/render3/util/attrs_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/change_detection_utils.js → esm2020/src/render3/util/change_detection_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/debug_utils.js → esm2020/src/render3/util/debug_utils.mjs} +0 -0
- package/esm2020/src/render3/util/discovery_utils.mjs +411 -0
- package/esm2020/src/render3/util/global_utils.mjs +77 -0
- package/{esm2015/src/render3/util/injector_utils.js → esm2020/src/render3/util/injector_utils.mjs} +0 -0
- package/esm2020/src/render3/util/misc_utils.mjs +61 -0
- package/{esm2015/src/render3/util/stringify_utils.js → esm2020/src/render3/util/stringify_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/view_traversal_utils.js → esm2020/src/render3/util/view_traversal_utils.mjs} +0 -0
- package/{esm2015/src/render3/util/view_utils.js → esm2020/src/render3/util/view_utils.mjs} +0 -0
- package/{esm2015/src/render3/view_engine_compatibility_prebound.js → esm2020/src/render3/view_engine_compatibility_prebound.mjs} +0 -0
- package/{esm2015/src/render3/view_ref.js → esm2020/src/render3/view_ref.mjs} +0 -0
- package/{esm2015/src/sanitization/bypass.js → esm2020/src/sanitization/bypass.mjs} +0 -0
- package/{esm2015/src/sanitization/html_sanitizer.js → esm2020/src/sanitization/html_sanitizer.mjs} +0 -0
- package/{esm2015/src/sanitization/inert_body.js → esm2020/src/sanitization/inert_body.mjs} +3 -3
- package/{esm2015/src/sanitization/sanitization.js → esm2020/src/sanitization/sanitization.mjs} +0 -0
- package/{esm2015/src/sanitization/sanitizer.js → esm2020/src/sanitization/sanitizer.mjs} +0 -0
- package/{esm2015/src/sanitization/security.js → esm2020/src/sanitization/security.mjs} +0 -0
- package/{esm2015/src/sanitization/url_sanitizer.js → esm2020/src/sanitization/url_sanitizer.mjs} +0 -0
- package/esm2020/src/testability/testability.mjs +258 -0
- package/{esm2015/src/util/array_utils.js → esm2020/src/util/array_utils.mjs} +0 -0
- package/{esm2015/src/util/assert.js → esm2020/src/util/assert.mjs} +0 -0
- package/{esm2015/src/util/char_code.js → esm2020/src/util/char_code.mjs} +0 -0
- package/{esm2015/src/util/closure.js → esm2020/src/util/closure.mjs} +0 -0
- package/{esm2015/src/util/comparison.js → esm2020/src/util/comparison.mjs} +0 -0
- package/{esm2015/src/util/decorators.js → esm2020/src/util/decorators.mjs} +0 -0
- package/{esm2015/src/util/dom.js → esm2020/src/util/dom.mjs} +0 -0
- package/{esm2015/src/util/empty.js → esm2020/src/util/empty.mjs} +0 -0
- package/{esm2015/src/util/errors.js → esm2020/src/util/errors.mjs} +0 -0
- package/{esm2015/src/util/global.js → esm2020/src/util/global.mjs} +0 -0
- package/{esm2015/src/util/is_dev_mode.js → esm2020/src/util/is_dev_mode.mjs} +0 -0
- package/{esm2015/src/util/iterable.js → esm2020/src/util/iterable.mjs} +0 -0
- package/{esm2015/src/util/lang.js → esm2020/src/util/lang.mjs} +0 -0
- package/{esm2015/src/util/microtask.js → esm2020/src/util/microtask.mjs} +0 -0
- package/{esm2015/src/util/named_array_type.js → esm2020/src/util/named_array_type.mjs} +0 -0
- package/{esm2015/src/util/ng_dev_mode.js → esm2020/src/util/ng_dev_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_i18n_closure_mode.js → esm2020/src/util/ng_i18n_closure_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_jit_mode.js → esm2020/src/util/ng_jit_mode.mjs} +0 -0
- package/{esm2015/src/util/ng_reflect.js → esm2020/src/util/ng_reflect.mjs} +0 -0
- package/{esm2015/src/util/noop.js → esm2020/src/util/noop.mjs} +0 -0
- package/{esm2015/src/util/property.js → esm2020/src/util/property.mjs} +0 -0
- package/{esm2015/src/util/raf.js → esm2020/src/util/raf.mjs} +0 -0
- package/{esm2015/src/util/security/trusted_type_defs.js → esm2020/src/util/security/trusted_type_defs.mjs} +0 -0
- package/esm2020/src/util/security/trusted_types.mjs +130 -0
- package/esm2020/src/util/security/trusted_types_bypass.mjs +83 -0
- package/{esm2015/src/util/stringify.js → esm2020/src/util/stringify.mjs} +0 -0
- package/{esm2015/src/util/symbol.js → esm2020/src/util/symbol.mjs} +0 -0
- package/{esm2015/src/version.js → esm2020/src/version.mjs} +1 -1
- package/{esm2015/src/view/element.js → esm2020/src/view/element.mjs} +0 -0
- package/{esm2015/src/view/entrypoint.js → esm2020/src/view/entrypoint.mjs} +0 -0
- package/{esm2015/src/view/errors.js → esm2020/src/view/errors.mjs} +0 -0
- package/{esm2015/src/view/index.js → esm2020/src/view/index.mjs} +2 -2
- package/{esm2015/src/view/ng_content.js → esm2020/src/view/ng_content.mjs} +0 -0
- package/{esm2015/src/view/ng_module.js → esm2020/src/view/ng_module.mjs} +0 -0
- package/esm2020/src/view/provider.mjs +490 -0
- package/{esm2015/src/view/provider_flags.js → esm2020/src/view/provider_flags.mjs} +0 -0
- package/{esm2015/src/view/pure_expression.js → esm2020/src/view/pure_expression.mjs} +0 -0
- package/{esm2015/src/view/query.js → esm2020/src/view/query.mjs} +0 -0
- package/{esm2015/src/view/refs.js → esm2020/src/view/refs.mjs} +0 -0
- package/{esm2015/src/view/services.js → esm2020/src/view/services.mjs} +0 -0
- package/{esm2015/src/view/text.js → esm2020/src/view/text.mjs} +0 -0
- package/{esm2015/src/view/types.js → esm2020/src/view/types.mjs} +0 -0
- package/esm2020/src/view/util.mjs +369 -0
- package/{esm2015/src/view/view.js → esm2020/src/view/view.mjs} +0 -0
- package/{esm2015/src/view/view_attach.js → esm2020/src/view/view_attach.mjs} +0 -0
- package/{esm2015/src/zone/ng_zone.js → esm2020/src/zone/ng_zone.mjs} +0 -0
- package/{esm2015/src/zone.js → esm2020/src/zone.mjs} +0 -0
- package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
- package/{esm2015/testing/public_api.js → esm2020/testing/public_api.mjs} +0 -0
- package/{esm2015/testing/src/async.js → esm2020/testing/src/async.mjs} +0 -0
- package/{esm2015/testing/src/component_fixture.js → esm2020/testing/src/component_fixture.mjs} +0 -0
- package/{esm2015/testing/src/fake_async.js → esm2020/testing/src/fake_async.mjs} +0 -0
- package/{esm2015/testing/src/lang_utils.js → esm2020/testing/src/lang_utils.mjs} +0 -0
- package/esm2020/testing/src/logger.mjs +34 -0
- package/{esm2015/testing/src/metadata_override.js → esm2020/testing/src/metadata_override.mjs} +0 -0
- package/{esm2015/testing/src/metadata_overrider.js → esm2020/testing/src/metadata_overrider.mjs} +0 -0
- package/esm2020/testing/src/ng_zone_mock.mjs +33 -0
- package/{esm2015/testing/src/private_export_testing.js → esm2020/testing/src/private_export_testing.mjs} +0 -0
- package/esm2020/testing/src/r3_test_bed.mjs +397 -0
- package/esm2020/testing/src/r3_test_bed_compiler.mjs +735 -0
- package/{esm2015/testing/src/resolvers.js → esm2020/testing/src/resolvers.mjs} +0 -0
- package/{esm2015/testing/src/styling.js → esm2020/testing/src/styling.mjs} +0 -0
- package/esm2020/testing/src/test_bed.mjs +614 -0
- package/esm2020/testing/src/test_bed_common.mjs +28 -0
- package/esm2020/testing/src/test_compiler.mjs +69 -0
- package/{esm2015/testing/src/test_hooks.js → esm2020/testing/src/test_hooks.mjs} +0 -0
- package/{esm2015/testing/src/testing.js → esm2020/testing/src/testing.mjs} +0 -0
- package/{esm2015/testing/src/testing_internal.js → esm2020/testing/src/testing_internal.mjs} +0 -0
- package/esm2020/testing/testing.mjs +5 -0
- package/fesm2015/{core.js → core.mjs} +496 -546
- package/fesm2015/core.mjs.map +1 -0
- package/fesm2015/{testing.js → testing.mjs} +50 -61
- package/fesm2015/testing.mjs.map +1 -0
- package/fesm2020/core.mjs +33109 -0
- package/fesm2020/core.mjs.map +1 -0
- package/fesm2020/testing.mjs +2635 -0
- package/fesm2020/testing.mjs.map +1 -0
- package/package.json +33 -8
- package/schematics/migrations/{move-document → testbed-teardown}/index.d.ts +2 -2
- package/schematics/migrations/testbed-teardown/index.js +92 -0
- package/schematics/migrations/testbed-teardown/util.d.ts +35 -0
- package/schematics/migrations/testbed-teardown/util.js +188 -0
- package/schematics/migrations.json +6 -101
- package/schematics/package.json +3 -0
- package/schematics/utils/import_manager.d.ts +1 -1
- package/schematics/utils/import_manager.js +22 -19
- package/schematics/utils/load_esm.d.ts +8 -0
- package/schematics/utils/load_esm.js +24 -2
- package/schematics/utils/ng_component_template.d.ts +1 -1
- package/schematics/utils/ng_component_template.js +12 -9
- package/schematics/utils/ng_decorators.d.ts +1 -1
- package/schematics/utils/ng_decorators.js +1 -1
- package/schematics/utils/typescript/class_declaration.d.ts +1 -1
- package/schematics/utils/typescript/class_declaration.js +10 -7
- package/schematics/utils/typescript/compiler_host.d.ts +1 -1
- package/schematics/utils/typescript/compiler_host.js +7 -4
- package/schematics/utils/typescript/decorators.d.ts +1 -1
- package/schematics/utils/typescript/decorators.js +7 -4
- package/schematics/utils/typescript/find_base_classes.d.ts +1 -1
- package/schematics/utils/typescript/find_base_classes.js +6 -3
- package/schematics/utils/typescript/functions.d.ts +1 -1
- package/schematics/utils/typescript/functions.js +9 -6
- package/schematics/utils/typescript/imports.d.ts +1 -1
- package/schematics/utils/typescript/imports.js +12 -9
- package/schematics/utils/typescript/nodes.d.ts +1 -1
- package/schematics/utils/typescript/nodes.js +11 -8
- package/schematics/utils/typescript/parse_tsconfig.d.ts +1 -1
- package/schematics/utils/typescript/parse_tsconfig.js +31 -9
- package/schematics/utils/typescript/property_name.d.ts +1 -1
- package/schematics/utils/typescript/property_name.js +7 -4
- package/schematics/utils/typescript/symbol.d.ts +1 -1
- package/schematics/utils/typescript/symbol.js +15 -12
- package/testing/package.json +5 -5
- package/testing/testing.d.ts +4 -333
- package/bundles/core-testing.umd.js +0 -3179
- package/bundles/core-testing.umd.js.map +0 -1
- package/bundles/core.umd.js +0 -34454
- package/bundles/core.umd.js.map +0 -1
- package/core.metadata.json +0 -1
- package/esm2015/core.externs.js +0 -6
- package/esm2015/core.js +0 -38
- package/esm2015/index.js +0 -13
- package/esm2015/src/application_init.js +0 -142
- package/esm2015/src/application_module.js +0 -134
- package/esm2015/src/application_ref.js +0 -738
- package/esm2015/src/change_detection/change_detection.js +0 -31
- package/esm2015/src/change_detection/change_detection_util.js +0 -105
- package/esm2015/src/change_detection/change_detector_ref.js +0 -96
- package/esm2015/src/change_detection/differs/default_iterable_differ.js +0 -668
- package/esm2015/src/change_detection.js +0 -14
- package/esm2015/src/codegen_private_exports.js +0 -11
- package/esm2015/src/compiler/compiler.externs.js +0 -0
- package/esm2015/src/console.js +0 -23
- package/esm2015/src/core.js +0 -50
- package/esm2015/src/core_private_export.js +0 -35
- package/esm2015/src/core_render3_private_export.js +0 -45
- package/esm2015/src/debug/debug_node.js +0 -632
- package/esm2015/src/di/injectable.js +0 -36
- package/esm2015/src/di/injection_token.js +0 -75
- package/esm2015/src/di/injector.js +0 -326
- package/esm2015/src/di/injector_compatibility.js +0 -187
- package/esm2015/src/di/interface/interface.externs.js +0 -0
- package/esm2015/src/di/jit/injectable.js +0 -96
- package/esm2015/src/di/metadata.js +0 -62
- package/esm2015/src/di/metadata_attr.js +0 -24
- package/esm2015/src/di/util.js +0 -53
- package/esm2015/src/event_emitter.js +0 -54
- package/esm2015/src/i18n/locale_en.js +0 -17
- package/esm2015/src/interface/interface.externs.js +0 -0
- package/esm2015/src/linker/compiler.js +0 -118
- package/esm2015/src/linker/element_ref.js +0 -66
- package/esm2015/src/linker/ng_module_factory.js +0 -21
- package/esm2015/src/linker/ng_module_factory_loader.js +0 -32
- package/esm2015/src/linker/view_container_ref.js +0 -290
- package/esm2015/src/linker.js +0 -19
- package/esm2015/src/metadata/di.js +0 -99
- package/esm2015/src/metadata/directives.js +0 -120
- package/esm2015/src/metadata/ng_module.js +0 -44
- package/esm2015/src/reflection/reflection.externs.js +0 -0
- package/esm2015/src/render3/component.js +0 -206
- package/esm2015/src/render3/definition.js +0 -299
- package/esm2015/src/render3/error_code.js +0 -45
- package/esm2015/src/render3/features/ng_onchanges_feature.js +0 -92
- package/esm2015/src/render3/fields.js +0 -22
- package/esm2015/src/render3/instructions/shared.js +0 -1813
- package/esm2015/src/render3/interfaces/renderer.js +0 -29
- package/esm2015/src/render3/jit/directive.js +0 -312
- package/esm2015/src/render3/jit/environment.js +0 -167
- package/esm2015/src/render3/jit/partial.js +0 -105
- package/esm2015/src/render3/metadata.js +0 -49
- package/esm2015/src/render3/ng_module_ref.js +0 -108
- package/esm2015/src/render3/pipe.js +0 -202
- package/esm2015/src/render3/util/discovery_utils.js +0 -411
- package/esm2015/src/render3/util/global_utils.js +0 -78
- package/esm2015/src/render3/util/misc_utils.js +0 -63
- package/esm2015/src/testability/testability.js +0 -256
- package/esm2015/src/util/security/trusted_types.js +0 -133
- package/esm2015/src/util/security/trusted_types_bypass.js +0 -86
- package/esm2015/src/util/util.externs.js +0 -0
- package/esm2015/src/view/provider.js +0 -490
- package/esm2015/src/view/util.js +0 -378
- package/esm2015/testing/src/logger.js +0 -32
- package/esm2015/testing/src/ng_zone_mock.js +0 -31
- package/esm2015/testing/src/r3_test_bed.js +0 -397
- package/esm2015/testing/src/r3_test_bed_compiler.js +0 -744
- package/esm2015/testing/src/test_bed.js +0 -608
- package/esm2015/testing/src/test_bed_common.js +0 -31
- package/esm2015/testing/src/test_compiler.js +0 -66
- package/esm2015/testing/testing.externs.js +0 -6
- package/esm2015/testing/testing.js +0 -7
- package/fesm2015/core.js.map +0 -1
- package/fesm2015/testing.js.map +0 -1
- package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
- package/schematics/migrations/abstract-control-parent/index.js +0 -69
- package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
- package/schematics/migrations/abstract-control-parent/util.js +0 -64
- package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
- package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -70
- package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
- package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -48
- package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
- package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -66
- package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
- package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -70
- package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
- package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
- package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
- package/schematics/migrations/dynamic-queries/index.js +0 -73
- package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
- package/schematics/migrations/dynamic-queries/util.js +0 -81
- package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
- package/schematics/migrations/initial-navigation/collector.js +0 -119
- package/schematics/migrations/initial-navigation/index.d.ts +0 -11
- package/schematics/migrations/initial-navigation/index.js +0 -83
- package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
- package/schematics/migrations/initial-navigation/transform.js +0 -68
- package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
- package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
- package/schematics/migrations/initial-navigation/util.d.ts +0 -12
- package/schematics/migrations/initial-navigation/util.js +0 -43
- package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
- package/schematics/migrations/missing-injectable/definition_collector.js +0 -89
- package/schematics/migrations/missing-injectable/index.d.ts +0 -11
- package/schematics/migrations/missing-injectable/index.js +0 -122
- package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -36
- package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -64
- package/schematics/migrations/missing-injectable/transform.d.ts +0 -69
- package/schematics/migrations/missing-injectable/transform.js +0 -201
- package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
- package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
- package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
- package/schematics/migrations/module-with-providers/collector.js +0 -73
- package/schematics/migrations/module-with-providers/index.d.ts +0 -13
- package/schematics/migrations/module-with-providers/index.js +0 -93
- package/schematics/migrations/module-with-providers/transform.d.ts +0 -49
- package/schematics/migrations/module-with-providers/transform.js +0 -148
- package/schematics/migrations/module-with-providers/util.d.ts +0 -13
- package/schematics/migrations/module-with-providers/util.js +0 -40
- package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
- package/schematics/migrations/move-document/document_import_visitor.js +0 -74
- package/schematics/migrations/move-document/index.js +0 -93
- package/schematics/migrations/move-document/move-import.d.ts +0 -12
- package/schematics/migrations/move-document/move-import.js +0 -61
- package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
- package/schematics/migrations/native-view-encapsulation/index.js +0 -63
- package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
- package/schematics/migrations/native-view-encapsulation/util.js +0 -48
- package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
- package/schematics/migrations/navigation-extras-omissions/index.js +0 -69
- package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
- package/schematics/migrations/navigation-extras-omissions/util.js +0 -126
- package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
- package/schematics/migrations/relative-link-resolution/collector.js +0 -95
- package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
- package/schematics/migrations/relative-link-resolution/index.js +0 -84
- package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
- package/schematics/migrations/relative-link-resolution/transform.js +0 -65
- package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
- package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
- package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
- package/schematics/migrations/relative-link-resolution/util.js +0 -43
- package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
- package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -238
- package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
- package/schematics/migrations/renderer-to-renderer2/index.js +0 -135
- package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
- package/schematics/migrations/renderer-to-renderer2/migration.js +0 -225
- package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
- package/schematics/migrations/renderer-to-renderer2/util.js +0 -83
- package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
- package/schematics/migrations/router-preserve-query-params/index.js +0 -72
- package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
- package/schematics/migrations/router-preserve-query-params/util.js +0 -103
- package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
- package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -84
- package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
- package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -127
- package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
- package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
- package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
- package/schematics/migrations/static-queries/angular/super_class.js +0 -35
- package/schematics/migrations/static-queries/index.d.ts +0 -11
- package/schematics/migrations/static-queries/index.js +0 -230
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
- package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -214
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
- package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
- package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
- package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
- package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -369
- package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
- package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -52
- package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
- package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
- package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -169
- package/schematics/migrations/static-queries/transform.d.ts +0 -21
- package/schematics/migrations/static-queries/transform.js +0 -102
- package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
- package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
- package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
- package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
- package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
- package/schematics/migrations/template-var-assignment/index.js +0 -101
- package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
- package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -114
- package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -63
- package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -300
- package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
- package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
- package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
- package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -57
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -96
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -39
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -116
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -126
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
- package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -65
- package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
- package/schematics/migrations/undecorated-classes-with-di/index.js +0 -195
- package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
- package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -142
- package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -98
- package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -371
- package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
- package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
- package/schematics/migrations/wait-for-async/index.d.ts +0 -11
- package/schematics/migrations/wait-for-async/index.js +0 -98
- package/schematics/migrations/wait-for-async/util.d.ts +0 -11
- package/schematics/migrations/wait-for-async/util.js +0 -37
- package/schematics/migrations/xhr-factory/index.d.ts +0 -10
- package/schematics/migrations/xhr-factory/index.js +0 -104
- package/src/r3_symbols.d.ts +0 -1025
- package/testing/testing.metadata.json +0 -1
- package/testing.d.ts +0 -7
- package/testing.metadata.json +0 -1
package/core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v13.0.0-
|
|
2
|
+
* @license Angular v13.0.0-rc.3
|
|
3
3
|
* (c) 2010-2021 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -263,6 +263,8 @@ export declare const APP_ID: InjectionToken<string>;
|
|
|
263
263
|
*/
|
|
264
264
|
export declare const APP_INITIALIZER: InjectionToken<readonly (() => Observable<unknown> | Promise<unknown> | void)[]>;
|
|
265
265
|
|
|
266
|
+
declare function _appIdRandomProviderFactory(): string;
|
|
267
|
+
|
|
266
268
|
/**
|
|
267
269
|
* A class that reflects the state of running {@link APP_INITIALIZER} functions.
|
|
268
270
|
*
|
|
@@ -276,6 +278,8 @@ export declare class ApplicationInitStatus {
|
|
|
276
278
|
readonly donePromise: Promise<any>;
|
|
277
279
|
readonly done = false;
|
|
278
280
|
constructor(appInits: ReadonlyArray<() => Observable<unknown> | Promise<unknown> | void>);
|
|
281
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationInitStatus, [{ optional: true; }]>;
|
|
282
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationInitStatus>;
|
|
279
283
|
}
|
|
280
284
|
|
|
281
285
|
/**
|
|
@@ -290,6 +294,9 @@ export declare class ApplicationInitStatus {
|
|
|
290
294
|
*/
|
|
291
295
|
export declare class ApplicationModule {
|
|
292
296
|
constructor(appRef: ApplicationRef);
|
|
297
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationModule, never>;
|
|
298
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ApplicationModule, never, never, never>;
|
|
299
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ApplicationModule>;
|
|
293
300
|
}
|
|
294
301
|
|
|
295
302
|
/**
|
|
@@ -515,6 +522,8 @@ export declare class ApplicationRef {
|
|
|
515
522
|
* Returns the number of attached views.
|
|
516
523
|
*/
|
|
517
524
|
get viewCount(): number;
|
|
525
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ApplicationRef, never>;
|
|
526
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ApplicationRef>;
|
|
518
527
|
}
|
|
519
528
|
|
|
520
529
|
/**
|
|
@@ -836,6 +845,11 @@ declare function compileInjectable(type: Type<any>, meta?: Injectable): void;
|
|
|
836
845
|
* of components.
|
|
837
846
|
*
|
|
838
847
|
* @publicApi
|
|
848
|
+
*
|
|
849
|
+
* @deprecated
|
|
850
|
+
* Ivy JIT mode doesn't require accessing this symbol.
|
|
851
|
+
* See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
|
|
852
|
+
* additional context.
|
|
839
853
|
*/
|
|
840
854
|
export declare class Compiler {
|
|
841
855
|
/**
|
|
@@ -867,6 +881,8 @@ export declare class Compiler {
|
|
|
867
881
|
* Returns the id for a given NgModule, if one is defined and known to the compiler.
|
|
868
882
|
*/
|
|
869
883
|
getModuleId(moduleType: Type<any>): string | undefined;
|
|
884
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Compiler, never>;
|
|
885
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Compiler>;
|
|
870
886
|
}
|
|
871
887
|
|
|
872
888
|
/**
|
|
@@ -880,6 +896,11 @@ export declare const COMPILER_OPTIONS: InjectionToken<CompilerOptions[]>;
|
|
|
880
896
|
* A factory for creating a Compiler
|
|
881
897
|
*
|
|
882
898
|
* @publicApi
|
|
899
|
+
*
|
|
900
|
+
* @deprecated
|
|
901
|
+
* Ivy JIT mode doesn't require accessing this symbol.
|
|
902
|
+
* See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
|
|
903
|
+
* additional context.
|
|
883
904
|
*/
|
|
884
905
|
export declare abstract class CompilerFactory {
|
|
885
906
|
abstract createCompiler(options?: CompilerOptions[]): Compiler;
|
|
@@ -1214,10 +1235,10 @@ export { ComponentFactory as ɵComponentFactory }
|
|
|
1214
1235
|
* Use to obtain the factory for a given component type,
|
|
1215
1236
|
* then use the factory's `create()` method to create a component of that type.
|
|
1216
1237
|
*
|
|
1217
|
-
*
|
|
1218
|
-
*
|
|
1219
|
-
*
|
|
1220
|
-
|
|
1238
|
+
* Note: since v13, dynamic component creation via
|
|
1239
|
+
* [`ViewContainerRef.createComponent`](api/core/ViewContainerRef#createComponent)
|
|
1240
|
+
* does **not** require resolving component factory: component class can be used directly.
|
|
1241
|
+
*
|
|
1221
1242
|
* @publicApi
|
|
1222
1243
|
*/
|
|
1223
1244
|
export declare abstract class ComponentFactoryResolver {
|
|
@@ -1570,6 +1591,15 @@ declare interface CreateComponentOptions {
|
|
|
1570
1591
|
scheduler?: (work: () => void) => void;
|
|
1571
1592
|
}
|
|
1572
1593
|
|
|
1594
|
+
/**
|
|
1595
|
+
* Returns a new NgModuleRef instance based on the NgModule class and parent injector provided.
|
|
1596
|
+
* @param ngModule NgModule class.
|
|
1597
|
+
* @param parentInjector Optional injector instance to use as a parent for the module injector. If
|
|
1598
|
+
* not provided, `NullInjector` will be used instead.
|
|
1599
|
+
* @publicApi
|
|
1600
|
+
*/
|
|
1601
|
+
export declare const createNgModuleRef: <T>(ngModule: Type<T>, parentInjector?: Injector) => NgModuleRef<T>;
|
|
1602
|
+
|
|
1573
1603
|
/**
|
|
1574
1604
|
* Creates a platform.
|
|
1575
1605
|
* Platforms must be created on launch using this function.
|
|
@@ -2855,13 +2885,22 @@ export declare interface ForwardRefFn {
|
|
|
2855
2885
|
export declare const getDebugNode: (nativeNode: any) => DebugNode | null;
|
|
2856
2886
|
|
|
2857
2887
|
/**
|
|
2858
|
-
* Returns the NgModuleFactory with the given id
|
|
2859
|
-
*
|
|
2860
|
-
* cannot be found.
|
|
2888
|
+
* Returns the NgModuleFactory with the given id (specified using [@NgModule.id
|
|
2889
|
+
* field](api/core/NgModule#id)), if it exists and has been loaded. Factories for NgModules that do
|
|
2890
|
+
* not specify an `id` cannot be retrieved. Throws if an NgModule cannot be found.
|
|
2861
2891
|
* @publicApi
|
|
2892
|
+
* @deprecated Use `getNgModuleById` instead.
|
|
2862
2893
|
*/
|
|
2863
2894
|
export declare const getModuleFactory: (id: string) => NgModuleFactory<any>;
|
|
2864
2895
|
|
|
2896
|
+
/**
|
|
2897
|
+
* Returns the NgModule class with the given id (specified using [@NgModule.id
|
|
2898
|
+
* field](api/core/NgModule#id)), if it exists and has been loaded. Classes for NgModules that do
|
|
2899
|
+
* not specify an `id` cannot be retrieved. Throws if an NgModule cannot be found.
|
|
2900
|
+
* @publicApi
|
|
2901
|
+
*/
|
|
2902
|
+
export declare const getNgModuleById: <T>(id: string) => Type<T>;
|
|
2903
|
+
|
|
2865
2904
|
/**
|
|
2866
2905
|
* Returns the current platform.
|
|
2867
2906
|
*
|
|
@@ -3180,6 +3219,24 @@ export declare interface HostListenerDecorator {
|
|
|
3180
3219
|
new (eventName: string, args?: string[]): any;
|
|
3181
3220
|
}
|
|
3182
3221
|
|
|
3222
|
+
declare namespace i0 {
|
|
3223
|
+
export {
|
|
3224
|
+
ɵɵinject,
|
|
3225
|
+
ɵɵdefineInjectable,
|
|
3226
|
+
ɵɵdefineInjector,
|
|
3227
|
+
ɵɵInjectableDeclaration,
|
|
3228
|
+
ɵNgModuleDef as NgModuleDef,
|
|
3229
|
+
ɵɵdefineNgModule,
|
|
3230
|
+
ɵɵFactoryDeclaration,
|
|
3231
|
+
ɵɵInjectorDeclaration,
|
|
3232
|
+
ɵɵNgModuleDeclaration,
|
|
3233
|
+
ɵsetClassMetadata as setClassMetadata,
|
|
3234
|
+
ɵNgModuleFactory as NgModuleFactory,
|
|
3235
|
+
ɵnoSideEffects,
|
|
3236
|
+
ITS_JUST_ANGULAR
|
|
3237
|
+
}
|
|
3238
|
+
}
|
|
3239
|
+
|
|
3183
3240
|
/**
|
|
3184
3241
|
* Array storing OpCode for dynamically creating `i18n` translation DOM elements.
|
|
3185
3242
|
*
|
|
@@ -3552,6 +3609,9 @@ export declare interface InjectableType<T> extends Type<T> {
|
|
|
3552
3609
|
ɵprov: unknown;
|
|
3553
3610
|
}
|
|
3554
3611
|
|
|
3612
|
+
/** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
|
|
3613
|
+
declare function injectChangeDetectorRef(flags: InjectFlags): ChangeDetectorRef;
|
|
3614
|
+
|
|
3555
3615
|
|
|
3556
3616
|
/**
|
|
3557
3617
|
* Type of the Inject decorator / constructor function.
|
|
@@ -3580,6 +3640,13 @@ export declare interface InjectDecorator {
|
|
|
3580
3640
|
new (token: any): Inject;
|
|
3581
3641
|
}
|
|
3582
3642
|
|
|
3643
|
+
/**
|
|
3644
|
+
* Creates an ElementRef from the most recent node.
|
|
3645
|
+
*
|
|
3646
|
+
* @returns The ElementRef instance to use
|
|
3647
|
+
*/
|
|
3648
|
+
declare function injectElementRef(): ElementRef;
|
|
3649
|
+
|
|
3583
3650
|
/**
|
|
3584
3651
|
* Injection flags for DI.
|
|
3585
3652
|
*
|
|
@@ -3609,11 +3676,11 @@ export declare enum InjectFlags {
|
|
|
3609
3676
|
* parameterized type.
|
|
3610
3677
|
*
|
|
3611
3678
|
* `InjectionToken` is parameterized on `T` which is the type of object which will be returned by
|
|
3612
|
-
* the `Injector`. This provides additional level of type safety.
|
|
3679
|
+
* the `Injector`. This provides an additional level of type safety.
|
|
3613
3680
|
*
|
|
3614
3681
|
* ```
|
|
3615
3682
|
* interface MyInterface {...}
|
|
3616
|
-
*
|
|
3683
|
+
* const myInterface = injector.get(new InjectionToken<MyInterface>('SomeToken'));
|
|
3617
3684
|
* // myInterface is inferred to be MyInterface.
|
|
3618
3685
|
* ```
|
|
3619
3686
|
*
|
|
@@ -3621,14 +3688,15 @@ export declare enum InjectFlags {
|
|
|
3621
3688
|
* (possibly by creating) a default value of the parameterized type `T`. This sets up the
|
|
3622
3689
|
* `InjectionToken` using this factory as a provider as if it was defined explicitly in the
|
|
3623
3690
|
* application's root injector. If the factory function, which takes zero arguments, needs to inject
|
|
3624
|
-
* dependencies, it can do so using the `inject` function.
|
|
3691
|
+
* dependencies, it can do so using the `inject` function.
|
|
3692
|
+
* As you can see in the Tree-shakable InjectionToken example below.
|
|
3625
3693
|
*
|
|
3626
3694
|
* Additionally, if a `factory` is specified you can also specify the `providedIn` option, which
|
|
3627
3695
|
* overrides the above behavior and marks the token as belonging to a particular `@NgModule`. As
|
|
3628
3696
|
* mentioned above, `'root'` is the default value for `providedIn`.
|
|
3629
3697
|
*
|
|
3630
3698
|
* @usageNotes
|
|
3631
|
-
* ### Basic
|
|
3699
|
+
* ### Basic Examples
|
|
3632
3700
|
*
|
|
3633
3701
|
* ### Plain InjectionToken
|
|
3634
3702
|
*
|
|
@@ -3644,6 +3712,12 @@ export declare enum InjectFlags {
|
|
|
3644
3712
|
export declare class InjectionToken<T> {
|
|
3645
3713
|
protected _desc: string;
|
|
3646
3714
|
readonly ɵprov: unknown;
|
|
3715
|
+
/**
|
|
3716
|
+
* @param _desc Description for the token,
|
|
3717
|
+
* used only for debugging purposes,
|
|
3718
|
+
* it should but does not need to be unique
|
|
3719
|
+
* @param options Options for the token's usage, as described above
|
|
3720
|
+
*/
|
|
3647
3721
|
constructor(_desc: string, options?: {
|
|
3648
3722
|
providedIn?: Type<any> | 'root' | 'platform' | 'any' | null;
|
|
3649
3723
|
factory: () => T;
|
|
@@ -3754,6 +3828,24 @@ declare interface InjectorTypeWithProviders<T> {
|
|
|
3754
3828
|
providers?: (Type<any> | ValueProvider | ExistingProvider | FactoryProvider | ConstructorProvider | StaticClassProvider | ClassProvider | any[])[];
|
|
3755
3829
|
}
|
|
3756
3830
|
|
|
3831
|
+
/** Injects a Renderer2 for the current component. */
|
|
3832
|
+
declare function injectRenderer2(): Renderer2;
|
|
3833
|
+
|
|
3834
|
+
/**
|
|
3835
|
+
* Creates a TemplateRef given a node.
|
|
3836
|
+
*
|
|
3837
|
+
* @returns The TemplateRef instance to use
|
|
3838
|
+
*/
|
|
3839
|
+
declare function injectTemplateRef<T>(): TemplateRef<T> | null;
|
|
3840
|
+
|
|
3841
|
+
/**
|
|
3842
|
+
* Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef
|
|
3843
|
+
* already exists, retrieves the existing ViewContainerRef.
|
|
3844
|
+
*
|
|
3845
|
+
* @returns The ViewContainerRef instance to use
|
|
3846
|
+
*/
|
|
3847
|
+
declare function injectViewContainerRef(): ViewContainerRef;
|
|
3848
|
+
|
|
3757
3849
|
/**
|
|
3758
3850
|
* Type of metadata for an `Input` property.
|
|
3759
3851
|
*
|
|
@@ -3986,6 +4078,12 @@ export declare class IterableDiffers {
|
|
|
3986
4078
|
find(iterable: any): IterableDifferFactory;
|
|
3987
4079
|
}
|
|
3988
4080
|
|
|
4081
|
+
/**
|
|
4082
|
+
* The existence of this constant (in this particular file) informs the Angular compiler that the
|
|
4083
|
+
* current program is actually @angular/core, which needs to be compiled specially.
|
|
4084
|
+
*/
|
|
4085
|
+
declare const ITS_JUST_ANGULAR = true;
|
|
4086
|
+
|
|
3989
4087
|
/**
|
|
3990
4088
|
* `KeyValueArray` is an array where even positions contain keys and odd positions contain values.
|
|
3991
4089
|
*
|
|
@@ -4148,7 +4246,7 @@ declare interface LContainer extends Array<any> {
|
|
|
4148
4246
|
* The host could be an LView if this container is on a component node.
|
|
4149
4247
|
* In that case, the component LView is its HOST.
|
|
4150
4248
|
*/
|
|
4151
|
-
readonly [HOST]: RElement | RComment |
|
|
4249
|
+
readonly [HOST]: RElement | RComment | LView;
|
|
4152
4250
|
/**
|
|
4153
4251
|
* This is a type field which allows us to differentiate `LContainer` from `StylingContext` in an
|
|
4154
4252
|
* efficient way. The value is always set to `true`
|
|
@@ -4165,12 +4263,12 @@ declare interface LContainer extends Array<any> {
|
|
|
4165
4263
|
* Access to the parent view is necessary so we can propagate back
|
|
4166
4264
|
* up from inside a container to parent[NEXT].
|
|
4167
4265
|
*/
|
|
4168
|
-
[PARENT]:
|
|
4266
|
+
[PARENT]: LView;
|
|
4169
4267
|
/**
|
|
4170
4268
|
* This allows us to jump from a container to a sibling container or component
|
|
4171
4269
|
* view with the same parent, so we can remove listeners efficiently.
|
|
4172
4270
|
*/
|
|
4173
|
-
[NEXT]:
|
|
4271
|
+
[NEXT]: LView | LContainer | null;
|
|
4174
4272
|
/**
|
|
4175
4273
|
* The number of direct transplanted views which need a refresh or have descendants themselves
|
|
4176
4274
|
* that need a refresh but have not marked their ancestors as Dirty. This tells us that during
|
|
@@ -4183,7 +4281,7 @@ declare interface LContainer extends Array<any> {
|
|
|
4183
4281
|
* a different `LContainer`. We need to track views created from a given declaration point since
|
|
4184
4282
|
* queries collect matches from the embedded view declaration point and _not_ the insertion point.
|
|
4185
4283
|
*/
|
|
4186
|
-
[MOVED_VIEWS]:
|
|
4284
|
+
[MOVED_VIEWS]: LView[] | null;
|
|
4187
4285
|
/**
|
|
4188
4286
|
* Pointer to the `TNode` which represents the host of the container.
|
|
4189
4287
|
*/
|
|
@@ -4217,8 +4315,8 @@ declare interface LContainerDebug {
|
|
|
4217
4315
|
*/
|
|
4218
4316
|
readonly views: LViewDebug[];
|
|
4219
4317
|
readonly parent: LViewDebug | null;
|
|
4220
|
-
readonly movedViews:
|
|
4221
|
-
readonly host: RElement | RComment |
|
|
4318
|
+
readonly movedViews: LView[] | null;
|
|
4319
|
+
readonly host: RElement | RComment | LView;
|
|
4222
4320
|
readonly next: LViewDebug | LContainerDebug | null;
|
|
4223
4321
|
readonly hasTransplantedViews: boolean;
|
|
4224
4322
|
}
|
|
@@ -4253,7 +4351,7 @@ export declare const LOCALE_ID: InjectionToken<string>;
|
|
|
4253
4351
|
* - `<div #nativeDivEl>` - `nativeDivEl` should point to the native `<div>` element;
|
|
4254
4352
|
* - `<ng-template #tplRef>` - `tplRef` should point to the `TemplateRef` instance;
|
|
4255
4353
|
*/
|
|
4256
|
-
declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView:
|
|
4354
|
+
declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: LView) => any;
|
|
4257
4355
|
|
|
4258
4356
|
/**
|
|
4259
4357
|
* lQueries represent a collection of individual LQuery objects tracked in a given view.
|
|
@@ -4311,151 +4409,393 @@ declare interface LQuery<T> {
|
|
|
4311
4409
|
}
|
|
4312
4410
|
|
|
4313
4411
|
/**
|
|
4314
|
-
*
|
|
4412
|
+
* `LView` stores all of the information needed to process the instructions as
|
|
4413
|
+
* they are invoked from the template. Each embedded view and component view has its
|
|
4414
|
+
* own `LView`. When processing a particular view, we set the `viewData` to that
|
|
4415
|
+
* `LView`. When that view is done processing, the `viewData` is set back to
|
|
4416
|
+
* whatever the original `viewData` was before (the parent `LView`).
|
|
4315
4417
|
*
|
|
4316
|
-
*
|
|
4317
|
-
*
|
|
4318
|
-
* this reason when `ngDevMode` is true we patch a `LView.debug` property which points to
|
|
4319
|
-
* `LViewDebug` for easier debugging and test writing. It is the intent of `LViewDebug` to be used
|
|
4320
|
-
* in tests.
|
|
4418
|
+
* Keeping separate state for each view facilities view insertion / deletion, so we
|
|
4419
|
+
* don't have to edit the data array based on which views are present.
|
|
4321
4420
|
*/
|
|
4322
|
-
declare interface
|
|
4421
|
+
declare interface LView extends Array<any> {
|
|
4323
4422
|
/**
|
|
4324
|
-
*
|
|
4423
|
+
* Human readable representation of the `LView`.
|
|
4325
4424
|
*
|
|
4326
|
-
*
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
initPhaseState: number;
|
|
4330
|
-
creationMode: boolean;
|
|
4331
|
-
firstViewPass: boolean;
|
|
4332
|
-
checkAlways: boolean;
|
|
4333
|
-
dirty: boolean;
|
|
4334
|
-
attached: boolean;
|
|
4335
|
-
destroyed: boolean;
|
|
4336
|
-
isRoot: boolean;
|
|
4337
|
-
indexWithinInitPhase: number;
|
|
4338
|
-
};
|
|
4339
|
-
/**
|
|
4340
|
-
* Associated TView
|
|
4425
|
+
* NOTE: This property only exists if `ngDevMode` is set to `true` and it is not present in
|
|
4426
|
+
* production. Its presence is purely to help debug issue in development, and should not be relied
|
|
4427
|
+
* on in production application.
|
|
4341
4428
|
*/
|
|
4342
|
-
|
|
4429
|
+
debug?: LViewDebug;
|
|
4343
4430
|
/**
|
|
4344
|
-
*
|
|
4431
|
+
* The node into which this `LView` is inserted.
|
|
4345
4432
|
*/
|
|
4346
|
-
|
|
4433
|
+
[HOST]: RElement | null;
|
|
4347
4434
|
/**
|
|
4348
|
-
*
|
|
4435
|
+
* The static data for this view. We need a reference to this so we can easily walk up the
|
|
4436
|
+
* node tree in DI and get the TView.data array associated with a node (where the
|
|
4437
|
+
* directive defs are stored).
|
|
4349
4438
|
*/
|
|
4350
|
-
readonly
|
|
4439
|
+
readonly [TVIEW]: TView;
|
|
4440
|
+
/** Flags for this view. See LViewFlags for more info. */
|
|
4441
|
+
[FLAGS]: LViewFlags;
|
|
4351
4442
|
/**
|
|
4352
|
-
*
|
|
4443
|
+
* This may store an {@link LView} or {@link LContainer}.
|
|
4353
4444
|
*
|
|
4354
|
-
*
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
/**
|
|
4358
|
-
* Hierarchical tree of nodes.
|
|
4359
|
-
*/
|
|
4360
|
-
readonly nodes: DebugNode_2[];
|
|
4361
|
-
/**
|
|
4362
|
-
* Template structure (no instance data).
|
|
4363
|
-
* (Shows how TNodes are connected)
|
|
4364
|
-
*/
|
|
4365
|
-
readonly template: string;
|
|
4366
|
-
/**
|
|
4367
|
-
* HTML representation of the `LView`.
|
|
4445
|
+
* `LView` - The parent view. This is needed when we exit the view and must restore the previous
|
|
4446
|
+
* LView. Without this, the render method would have to keep a stack of
|
|
4447
|
+
* views as it is recursively rendering templates.
|
|
4368
4448
|
*
|
|
4369
|
-
*
|
|
4370
|
-
*/
|
|
4371
|
-
readonly html: string;
|
|
4372
|
-
/**
|
|
4373
|
-
* The host element to which this `LView` is attached.
|
|
4374
|
-
*/
|
|
4375
|
-
readonly hostHTML: string | null;
|
|
4376
|
-
/**
|
|
4377
|
-
* Child `LView`s
|
|
4378
|
-
*/
|
|
4379
|
-
readonly childViews: Array<LViewDebug | LContainerDebug>;
|
|
4380
|
-
/**
|
|
4381
|
-
* Sub range of `LView` containing decls (DOM elements).
|
|
4382
|
-
*/
|
|
4383
|
-
readonly decls: LViewDebugRange;
|
|
4384
|
-
/**
|
|
4385
|
-
* Sub range of `LView` containing vars (bindings).
|
|
4386
|
-
*/
|
|
4387
|
-
readonly vars: LViewDebugRange;
|
|
4388
|
-
/**
|
|
4389
|
-
* Sub range of `LView` containing expando (used by DI).
|
|
4390
|
-
*/
|
|
4391
|
-
readonly expando: LViewDebugRange;
|
|
4392
|
-
}
|
|
4393
|
-
|
|
4394
|
-
/**
|
|
4395
|
-
* `LView` is subdivided to ranges where the actual data is stored. Some of these ranges such as
|
|
4396
|
-
* `decls` and `vars` are known at compile time. Other such as `i18n` and `expando` are runtime only
|
|
4397
|
-
* concepts.
|
|
4398
|
-
*/
|
|
4399
|
-
declare interface LViewDebugRange {
|
|
4400
|
-
/**
|
|
4401
|
-
* The starting index in `LView` where the range begins. (Inclusive)
|
|
4402
|
-
*/
|
|
4403
|
-
start: number;
|
|
4404
|
-
/**
|
|
4405
|
-
* The ending index in `LView` where the range ends. (Exclusive)
|
|
4449
|
+
* `LContainer` - The current view is part of a container, and is an embedded view.
|
|
4406
4450
|
*/
|
|
4407
|
-
|
|
4451
|
+
[PARENT]: LView | LContainer | null;
|
|
4408
4452
|
/**
|
|
4409
|
-
*
|
|
4453
|
+
*
|
|
4454
|
+
* The next sibling LView or LContainer.
|
|
4455
|
+
*
|
|
4456
|
+
* Allows us to propagate between sibling view states that aren't in the same
|
|
4457
|
+
* container. Embedded views already have a node.next, but it is only set for
|
|
4458
|
+
* views in the same container. We need a way to link component views and views
|
|
4459
|
+
* across containers as well.
|
|
4410
4460
|
*/
|
|
4411
|
-
|
|
4461
|
+
[NEXT]: LView | LContainer | null;
|
|
4462
|
+
/** Queries active for this view - nodes from a view are reported to those queries. */
|
|
4463
|
+
[QUERIES]: LQueries | null;
|
|
4412
4464
|
/**
|
|
4413
|
-
*
|
|
4414
|
-
*
|
|
4465
|
+
* Store the `TNode` of the location where the current `LView` is inserted into.
|
|
4466
|
+
*
|
|
4467
|
+
* Given:
|
|
4468
|
+
* ```
|
|
4469
|
+
* <div>
|
|
4470
|
+
* <ng-template><span></span></ng-template>
|
|
4471
|
+
* </div>
|
|
4472
|
+
* ```
|
|
4473
|
+
*
|
|
4474
|
+
* We end up with two `TView`s.
|
|
4475
|
+
* - `parent` `TView` which contains `<div><!-- anchor --></div>`
|
|
4476
|
+
* - `child` `TView` which contains `<span></span>`
|
|
4477
|
+
*
|
|
4478
|
+
* Typically the `child` is inserted into the declaration location of the `parent`, but it can be
|
|
4479
|
+
* inserted anywhere. Because it can be inserted anywhere it is not possible to store the
|
|
4480
|
+
* insertion information in the `TView` and instead we must store it in the `LView[T_HOST]`.
|
|
4481
|
+
*
|
|
4482
|
+
* So to determine where is our insertion parent we would execute:
|
|
4483
|
+
* ```
|
|
4484
|
+
* const parentLView = lView[PARENT];
|
|
4485
|
+
* const parentTNode = lView[T_HOST];
|
|
4486
|
+
* const insertionParent = parentLView[parentTNode.index];
|
|
4487
|
+
* ```
|
|
4488
|
+
*
|
|
4489
|
+
*
|
|
4490
|
+
* If `null`, this is the root view of an application (root component is in this view) and it has
|
|
4491
|
+
* no parents.
|
|
4415
4492
|
*/
|
|
4416
|
-
|
|
4417
|
-
}
|
|
4418
|
-
|
|
4419
|
-
/**
|
|
4420
|
-
* For convenience the static and instance portions of `TView` and `LView` are merged into a single
|
|
4421
|
-
* object in `LViewRange`.
|
|
4422
|
-
*/
|
|
4423
|
-
declare interface LViewDebugRangeContent {
|
|
4493
|
+
[T_HOST]: TNode | null;
|
|
4424
4494
|
/**
|
|
4425
|
-
*
|
|
4495
|
+
* When a view is destroyed, listeners need to be released and outputs need to be
|
|
4496
|
+
* unsubscribed. This context array stores both listener functions wrapped with
|
|
4497
|
+
* their context and output subscription instances for a particular view.
|
|
4498
|
+
*
|
|
4499
|
+
* These change per LView instance, so they cannot be stored on TView. Instead,
|
|
4500
|
+
* TView.cleanup saves an index to the necessary context in this array.
|
|
4501
|
+
*
|
|
4502
|
+
* After `LView` is created it is possible to attach additional instance specific functions at the
|
|
4503
|
+
* end of the `lView[CLENUP]` because we know that no more `T` level cleanup functions will be
|
|
4504
|
+
* addeded here.
|
|
4426
4505
|
*/
|
|
4427
|
-
|
|
4506
|
+
[CLEANUP]: any[] | null;
|
|
4428
4507
|
/**
|
|
4429
|
-
*
|
|
4508
|
+
* - For dynamic views, this is the context with which to render the template (e.g.
|
|
4509
|
+
* `NgForContext`), or `{}` if not defined explicitly.
|
|
4510
|
+
* - For root view of the root component the context contains change detection data.
|
|
4511
|
+
* - For non-root components, the context is the component instance,
|
|
4512
|
+
* - For inline views, the context is null.
|
|
4430
4513
|
*/
|
|
4431
|
-
|
|
4514
|
+
[CONTEXT]: {} | RootContext | null;
|
|
4515
|
+
/** An optional Module Injector to be used as fall back after Element Injectors are consulted. */
|
|
4516
|
+
readonly [INJECTOR_2]: Injector | null;
|
|
4517
|
+
/** Factory to be used for creating Renderer. */
|
|
4518
|
+
[RENDERER_FACTORY]: RendererFactory3;
|
|
4519
|
+
/** Renderer to be used for this view. */
|
|
4520
|
+
[RENDERER]: Renderer3;
|
|
4521
|
+
/** An optional custom sanitizer. */
|
|
4522
|
+
[SANITIZER]: Sanitizer | null;
|
|
4432
4523
|
/**
|
|
4433
|
-
*
|
|
4524
|
+
* Reference to the first LView or LContainer beneath this LView in
|
|
4525
|
+
* the hierarchy.
|
|
4526
|
+
*
|
|
4527
|
+
* Necessary to store this so views can traverse through their nested views
|
|
4528
|
+
* to remove listeners and call onDestroy callbacks.
|
|
4434
4529
|
*/
|
|
4435
|
-
|
|
4436
|
-
}
|
|
4437
|
-
|
|
4438
|
-
/** Flags associated with an LView (saved in LView[FLAGS]) */
|
|
4439
|
-
declare const enum LViewFlags {
|
|
4440
|
-
/** The state of the init phase on the first 2 bits */
|
|
4441
|
-
InitPhaseStateIncrementer = 1,
|
|
4442
|
-
InitPhaseStateMask = 3,
|
|
4530
|
+
[CHILD_HEAD]: LView | LContainer | null;
|
|
4443
4531
|
/**
|
|
4444
|
-
*
|
|
4532
|
+
* The last LView or LContainer beneath this LView in the hierarchy.
|
|
4445
4533
|
*
|
|
4446
|
-
*
|
|
4447
|
-
*
|
|
4448
|
-
* back into the parent view, `data` will be defined and `creationMode` will be
|
|
4449
|
-
* improperly reported as false.
|
|
4534
|
+
* The tail allows us to quickly add a new state to the end of the view list
|
|
4535
|
+
* without having to propagate starting from the first child.
|
|
4450
4536
|
*/
|
|
4451
|
-
|
|
4537
|
+
[CHILD_TAIL]: LView | LContainer | null;
|
|
4452
4538
|
/**
|
|
4453
|
-
*
|
|
4539
|
+
* View where this view's template was declared.
|
|
4454
4540
|
*
|
|
4455
|
-
*
|
|
4456
|
-
*
|
|
4457
|
-
*
|
|
4458
|
-
|
|
4541
|
+
* The template for a dynamically created view may be declared in a different view than
|
|
4542
|
+
* it is inserted. We already track the "insertion view" (view where the template was
|
|
4543
|
+
* inserted) in LView[PARENT], but we also need access to the "declaration view"
|
|
4544
|
+
* (view where the template was declared). Otherwise, we wouldn't be able to call the
|
|
4545
|
+
* view's template function with the proper contexts. Context should be inherited from
|
|
4546
|
+
* the declaration view tree, not the insertion view tree.
|
|
4547
|
+
*
|
|
4548
|
+
* Example (AppComponent template):
|
|
4549
|
+
*
|
|
4550
|
+
* <ng-template #foo></ng-template> <-- declared here -->
|
|
4551
|
+
* <some-comp [tpl]="foo"></some-comp> <-- inserted inside this component -->
|
|
4552
|
+
*
|
|
4553
|
+
* The <ng-template> above is declared in the AppComponent template, but it will be passed into
|
|
4554
|
+
* SomeComp and inserted there. In this case, the declaration view would be the AppComponent,
|
|
4555
|
+
* but the insertion view would be SomeComp. When we are removing views, we would want to
|
|
4556
|
+
* traverse through the insertion view to clean up listeners. When we are calling the
|
|
4557
|
+
* template function during change detection, we need the declaration view to get inherited
|
|
4558
|
+
* context.
|
|
4559
|
+
*/
|
|
4560
|
+
[DECLARATION_VIEW]: LView | null;
|
|
4561
|
+
/**
|
|
4562
|
+
* Points to the declaration component view, used to track transplanted `LView`s.
|
|
4563
|
+
*
|
|
4564
|
+
* See: `DECLARATION_VIEW` which points to the actual `LView` where it was declared, whereas
|
|
4565
|
+
* `DECLARATION_COMPONENT_VIEW` points to the component which may not be same as
|
|
4566
|
+
* `DECLARATION_VIEW`.
|
|
4567
|
+
*
|
|
4568
|
+
* Example:
|
|
4569
|
+
* ```
|
|
4570
|
+
* <#VIEW #myComp>
|
|
4571
|
+
* <div *ngIf="true">
|
|
4572
|
+
* <ng-template #myTmpl>...</ng-template>
|
|
4573
|
+
* </div>
|
|
4574
|
+
* </#VIEW>
|
|
4575
|
+
* ```
|
|
4576
|
+
* In the above case `DECLARATION_VIEW` for `myTmpl` points to the `LView` of `ngIf` whereas
|
|
4577
|
+
* `DECLARATION_COMPONENT_VIEW` points to `LView` of the `myComp` which owns the template.
|
|
4578
|
+
*
|
|
4579
|
+
* The reason for this is that all embedded views are always check-always whereas the component
|
|
4580
|
+
* view can be check-always or on-push. When we have a transplanted view it is important to
|
|
4581
|
+
* determine if we have transplanted a view from check-always declaration to on-push insertion
|
|
4582
|
+
* point. In such a case the transplanted view needs to be added to the `LContainer` in the
|
|
4583
|
+
* declared `LView` and CD during the declared view CD (in addition to the CD at the insertion
|
|
4584
|
+
* point.) (Any transplanted views which are intra Component are of no interest because the CD
|
|
4585
|
+
* strategy of declaration and insertion will always be the same, because it is the same
|
|
4586
|
+
* component.)
|
|
4587
|
+
*
|
|
4588
|
+
* Queries already track moved views in `LView[DECLARATION_LCONTAINER]` and
|
|
4589
|
+
* `LContainer[MOVED_VIEWS]`. However the queries also track `LView`s which moved within the same
|
|
4590
|
+
* component `LView`. Transplanted views are a subset of moved views, and we use
|
|
4591
|
+
* `DECLARATION_COMPONENT_VIEW` to differentiate them. As in this example.
|
|
4592
|
+
*
|
|
4593
|
+
* Example showing intra component `LView` movement.
|
|
4594
|
+
* ```
|
|
4595
|
+
* <#VIEW #myComp>
|
|
4596
|
+
* <div *ngIf="condition; then thenBlock else elseBlock"></div>
|
|
4597
|
+
* <ng-template #thenBlock>Content to render when condition is true.</ng-template>
|
|
4598
|
+
* <ng-template #elseBlock>Content to render when condition is false.</ng-template>
|
|
4599
|
+
* </#VIEW>
|
|
4600
|
+
* ```
|
|
4601
|
+
* The `thenBlock` and `elseBlock` is moved but not transplanted.
|
|
4602
|
+
*
|
|
4603
|
+
* Example showing inter component `LView` movement (transplanted view).
|
|
4604
|
+
* ```
|
|
4605
|
+
* <#VIEW #myComp>
|
|
4606
|
+
* <ng-template #myTmpl>...</ng-template>
|
|
4607
|
+
* <insertion-component [template]="myTmpl"></insertion-component>
|
|
4608
|
+
* </#VIEW>
|
|
4609
|
+
* ```
|
|
4610
|
+
* In the above example `myTmpl` is passed into a different component. If `insertion-component`
|
|
4611
|
+
* instantiates `myTmpl` and `insertion-component` is on-push then the `LContainer` needs to be
|
|
4612
|
+
* marked as containing transplanted views and those views need to be CD as part of the
|
|
4613
|
+
* declaration CD.
|
|
4614
|
+
*
|
|
4615
|
+
*
|
|
4616
|
+
* When change detection runs, it iterates over `[MOVED_VIEWS]` and CDs any child `LView`s where
|
|
4617
|
+
* the `DECLARATION_COMPONENT_VIEW` of the current component and the child `LView` does not match
|
|
4618
|
+
* (it has been transplanted across components.)
|
|
4619
|
+
*
|
|
4620
|
+
* Note: `[DECLARATION_COMPONENT_VIEW]` points to itself if the LView is a component view (the
|
|
4621
|
+
* simplest / most common case).
|
|
4622
|
+
*
|
|
4623
|
+
* see also:
|
|
4624
|
+
* - https://hackmd.io/@mhevery/rJUJsvv9H write up of the problem
|
|
4625
|
+
* - `LContainer[HAS_TRANSPLANTED_VIEWS]` which marks which `LContainer` has transplanted views.
|
|
4626
|
+
* - `LContainer[TRANSPLANT_HEAD]` and `LContainer[TRANSPLANT_TAIL]` storage for transplanted
|
|
4627
|
+
* - `LView[DECLARATION_LCONTAINER]` similar problem for queries
|
|
4628
|
+
* - `LContainer[MOVED_VIEWS]` similar problem for queries
|
|
4629
|
+
*/
|
|
4630
|
+
[DECLARATION_COMPONENT_VIEW]: LView;
|
|
4631
|
+
/**
|
|
4632
|
+
* A declaration point of embedded views (ones instantiated based on the content of a
|
|
4633
|
+
* <ng-template>), null for other types of views.
|
|
4634
|
+
*
|
|
4635
|
+
* We need to track all embedded views created from a given declaration point so we can prepare
|
|
4636
|
+
* query matches in a proper order (query matches are ordered based on their declaration point and
|
|
4637
|
+
* _not_ the insertion point).
|
|
4638
|
+
*/
|
|
4639
|
+
[DECLARATION_LCONTAINER]: LContainer | null;
|
|
4640
|
+
/**
|
|
4641
|
+
* More flags for this view. See PreOrderHookFlags for more info.
|
|
4642
|
+
*/
|
|
4643
|
+
[PREORDER_HOOK_FLAGS]: PreOrderHookFlags;
|
|
4644
|
+
/**
|
|
4645
|
+
* The number of direct transplanted views which need a refresh or have descendants themselves
|
|
4646
|
+
* that need a refresh but have not marked their ancestors as Dirty. This tells us that during
|
|
4647
|
+
* change detection we should still descend to find those children to refresh, even if the parents
|
|
4648
|
+
* are not `Dirty`/`CheckAlways`.
|
|
4649
|
+
*/
|
|
4650
|
+
[TRANSPLANTED_VIEWS_TO_REFRESH]: number;
|
|
4651
|
+
}
|
|
4652
|
+
|
|
4653
|
+
/**
|
|
4654
|
+
* Human readable version of the `LView`.
|
|
4655
|
+
*
|
|
4656
|
+
* `LView` is a data structure used internally to keep track of views. The `LView` is designed for
|
|
4657
|
+
* efficiency and so at times it is difficult to read or write tests which assert on its values. For
|
|
4658
|
+
* this reason when `ngDevMode` is true we patch a `LView.debug` property which points to
|
|
4659
|
+
* `LViewDebug` for easier debugging and test writing. It is the intent of `LViewDebug` to be used
|
|
4660
|
+
* in tests.
|
|
4661
|
+
*/
|
|
4662
|
+
declare interface LViewDebug {
|
|
4663
|
+
/**
|
|
4664
|
+
* Flags associated with the `LView` unpacked into a more readable state.
|
|
4665
|
+
*
|
|
4666
|
+
* See `LViewFlags` for the flag meanings.
|
|
4667
|
+
*/
|
|
4668
|
+
readonly flags: {
|
|
4669
|
+
initPhaseState: number;
|
|
4670
|
+
creationMode: boolean;
|
|
4671
|
+
firstViewPass: boolean;
|
|
4672
|
+
checkAlways: boolean;
|
|
4673
|
+
dirty: boolean;
|
|
4674
|
+
attached: boolean;
|
|
4675
|
+
destroyed: boolean;
|
|
4676
|
+
isRoot: boolean;
|
|
4677
|
+
indexWithinInitPhase: number;
|
|
4678
|
+
};
|
|
4679
|
+
/**
|
|
4680
|
+
* Associated TView
|
|
4681
|
+
*/
|
|
4682
|
+
readonly tView: TView;
|
|
4683
|
+
/**
|
|
4684
|
+
* Parent view (or container)
|
|
4685
|
+
*/
|
|
4686
|
+
readonly parent: LViewDebug | LContainerDebug | null;
|
|
4687
|
+
/**
|
|
4688
|
+
* Next sibling to the `LView`.
|
|
4689
|
+
*/
|
|
4690
|
+
readonly next: LViewDebug | LContainerDebug | null;
|
|
4691
|
+
/**
|
|
4692
|
+
* The context used for evaluation of the `LView`
|
|
4693
|
+
*
|
|
4694
|
+
* (Usually the component)
|
|
4695
|
+
*/
|
|
4696
|
+
readonly context: {} | null;
|
|
4697
|
+
/**
|
|
4698
|
+
* Hierarchical tree of nodes.
|
|
4699
|
+
*/
|
|
4700
|
+
readonly nodes: DebugNode_2[];
|
|
4701
|
+
/**
|
|
4702
|
+
* Template structure (no instance data).
|
|
4703
|
+
* (Shows how TNodes are connected)
|
|
4704
|
+
*/
|
|
4705
|
+
readonly template: string;
|
|
4706
|
+
/**
|
|
4707
|
+
* HTML representation of the `LView`.
|
|
4708
|
+
*
|
|
4709
|
+
* This is only approximate to actual HTML as child `LView`s are removed.
|
|
4710
|
+
*/
|
|
4711
|
+
readonly html: string;
|
|
4712
|
+
/**
|
|
4713
|
+
* The host element to which this `LView` is attached.
|
|
4714
|
+
*/
|
|
4715
|
+
readonly hostHTML: string | null;
|
|
4716
|
+
/**
|
|
4717
|
+
* Child `LView`s
|
|
4718
|
+
*/
|
|
4719
|
+
readonly childViews: Array<LViewDebug | LContainerDebug>;
|
|
4720
|
+
/**
|
|
4721
|
+
* Sub range of `LView` containing decls (DOM elements).
|
|
4722
|
+
*/
|
|
4723
|
+
readonly decls: LViewDebugRange;
|
|
4724
|
+
/**
|
|
4725
|
+
* Sub range of `LView` containing vars (bindings).
|
|
4726
|
+
*/
|
|
4727
|
+
readonly vars: LViewDebugRange;
|
|
4728
|
+
/**
|
|
4729
|
+
* Sub range of `LView` containing expando (used by DI).
|
|
4730
|
+
*/
|
|
4731
|
+
readonly expando: LViewDebugRange;
|
|
4732
|
+
}
|
|
4733
|
+
|
|
4734
|
+
/**
|
|
4735
|
+
* `LView` is subdivided to ranges where the actual data is stored. Some of these ranges such as
|
|
4736
|
+
* `decls` and `vars` are known at compile time. Other such as `i18n` and `expando` are runtime only
|
|
4737
|
+
* concepts.
|
|
4738
|
+
*/
|
|
4739
|
+
declare interface LViewDebugRange {
|
|
4740
|
+
/**
|
|
4741
|
+
* The starting index in `LView` where the range begins. (Inclusive)
|
|
4742
|
+
*/
|
|
4743
|
+
start: number;
|
|
4744
|
+
/**
|
|
4745
|
+
* The ending index in `LView` where the range ends. (Exclusive)
|
|
4746
|
+
*/
|
|
4747
|
+
end: number;
|
|
4748
|
+
/**
|
|
4749
|
+
* The length of the range
|
|
4750
|
+
*/
|
|
4751
|
+
length: number;
|
|
4752
|
+
/**
|
|
4753
|
+
* The merged content of the range. `t` contains data from `TView.data` and `l` contains `LView`
|
|
4754
|
+
* data at an index.
|
|
4755
|
+
*/
|
|
4756
|
+
content: LViewDebugRangeContent[];
|
|
4757
|
+
}
|
|
4758
|
+
|
|
4759
|
+
/**
|
|
4760
|
+
* For convenience the static and instance portions of `TView` and `LView` are merged into a single
|
|
4761
|
+
* object in `LViewRange`.
|
|
4762
|
+
*/
|
|
4763
|
+
declare interface LViewDebugRangeContent {
|
|
4764
|
+
/**
|
|
4765
|
+
* Index into original `LView` or `TView.data`.
|
|
4766
|
+
*/
|
|
4767
|
+
index: number;
|
|
4768
|
+
/**
|
|
4769
|
+
* Value from the `TView.data[index]` location.
|
|
4770
|
+
*/
|
|
4771
|
+
t: any;
|
|
4772
|
+
/**
|
|
4773
|
+
* Value from the `LView[index]` location.
|
|
4774
|
+
*/
|
|
4775
|
+
l: any;
|
|
4776
|
+
}
|
|
4777
|
+
|
|
4778
|
+
/** Flags associated with an LView (saved in LView[FLAGS]) */
|
|
4779
|
+
declare const enum LViewFlags {
|
|
4780
|
+
/** The state of the init phase on the first 2 bits */
|
|
4781
|
+
InitPhaseStateIncrementer = 1,
|
|
4782
|
+
InitPhaseStateMask = 3,
|
|
4783
|
+
/**
|
|
4784
|
+
* Whether or not the view is in creationMode.
|
|
4785
|
+
*
|
|
4786
|
+
* This must be stored in the view rather than using `data` as a marker so that
|
|
4787
|
+
* we can properly support embedded views. Otherwise, when exiting a child view
|
|
4788
|
+
* back into the parent view, `data` will be defined and `creationMode` will be
|
|
4789
|
+
* improperly reported as false.
|
|
4790
|
+
*/
|
|
4791
|
+
CreationMode = 4,
|
|
4792
|
+
/**
|
|
4793
|
+
* Whether or not this LView instance is on its first processing pass.
|
|
4794
|
+
*
|
|
4795
|
+
* An LView instance is considered to be on its "first pass" until it
|
|
4796
|
+
* has completed one creation mode run and one update mode run. At this
|
|
4797
|
+
* time, the flag is turned off.
|
|
4798
|
+
*/
|
|
4459
4799
|
FirstLViewPass = 8,
|
|
4460
4800
|
/** Whether this view has default change detection strategy (checks always) or onPush */
|
|
4461
4801
|
CheckAlways = 16,
|
|
@@ -4529,6 +4869,11 @@ export declare enum MissingTranslationStrategy {
|
|
|
4529
4869
|
* Combination of NgModuleFactory and ComponentFactories.
|
|
4530
4870
|
*
|
|
4531
4871
|
* @publicApi
|
|
4872
|
+
*
|
|
4873
|
+
* @deprecated
|
|
4874
|
+
* Ivy JIT mode doesn't require accessing this symbol.
|
|
4875
|
+
* See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes) for
|
|
4876
|
+
* additional context.
|
|
4532
4877
|
*/
|
|
4533
4878
|
export declare class ModuleWithComponentFactories<T> {
|
|
4534
4879
|
ngModuleFactory: NgModuleFactory<T>;
|
|
@@ -4749,9 +5094,8 @@ export declare interface NgModule {
|
|
|
4749
5094
|
*/
|
|
4750
5095
|
schemas?: Array<SchemaMetadata | any[]>;
|
|
4751
5096
|
/**
|
|
4752
|
-
* A name or path that uniquely identifies this NgModule in `
|
|
4753
|
-
* If left `undefined`, the NgModule is not registered with
|
|
4754
|
-
* `getModuleFactory`.
|
|
5097
|
+
* A name or path that uniquely identifies this NgModule in `getNgModuleById`.
|
|
5098
|
+
* If left `undefined`, the NgModule is not registered with `getNgModuleById`.
|
|
4755
5099
|
*/
|
|
4756
5100
|
id?: string;
|
|
4757
5101
|
/**
|
|
@@ -4796,6 +5140,14 @@ declare interface NgModuleDefinitionFactory extends DefinitionFactory<NgModuleDe
|
|
|
4796
5140
|
|
|
4797
5141
|
/**
|
|
4798
5142
|
* @publicApi
|
|
5143
|
+
*
|
|
5144
|
+
* @deprecated
|
|
5145
|
+
* This class was mostly used as a part of ViewEngine-based JIT API and is no longer needed in Ivy
|
|
5146
|
+
* JIT mode. See [JIT API changes due to ViewEngine deprecation](guide/deprecations#jit-api-changes)
|
|
5147
|
+
* for additional context. Angular provides APIs that accept NgModule classes directly (such as
|
|
5148
|
+
* [PlatformRef.bootstrapModule](api/core/PlatformRef#bootstrapModule) and
|
|
5149
|
+
* [createNgModuleRef](api/core/createNgModuleRef)), consider switching to those APIs instead of
|
|
5150
|
+
* using factory-based ones.
|
|
4799
5151
|
*/
|
|
4800
5152
|
export declare abstract class NgModuleFactory<T> {
|
|
4801
5153
|
abstract get moduleType(): Type<T>;
|
|
@@ -4822,8 +5174,11 @@ export declare abstract class NgModuleRef<T> {
|
|
|
4822
5174
|
*/
|
|
4823
5175
|
abstract get injector(): Injector;
|
|
4824
5176
|
/**
|
|
4825
|
-
* The resolver that can retrieve
|
|
4826
|
-
*
|
|
5177
|
+
* The resolver that can retrieve component factories in a context of this module.
|
|
5178
|
+
*
|
|
5179
|
+
* Note: since v13, dynamic component creation via
|
|
5180
|
+
* [`ViewContainerRef.createComponent`](api/core/ViewContainerRef#createComponent)
|
|
5181
|
+
* does **not** require resolving component factory: component class can be used directly.
|
|
4827
5182
|
*/
|
|
4828
5183
|
abstract get componentFactoryResolver(): ComponentFactoryResolver;
|
|
4829
5184
|
/**
|
|
@@ -5535,6 +5890,8 @@ export declare class PlatformRef {
|
|
|
5535
5890
|
*/
|
|
5536
5891
|
destroy(): void;
|
|
5537
5892
|
get destroyed(): boolean;
|
|
5893
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlatformRef, never>;
|
|
5894
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<PlatformRef>;
|
|
5538
5895
|
}
|
|
5539
5896
|
|
|
5540
5897
|
declare interface PlatformReflectionCapabilities {
|
|
@@ -5949,7 +6306,7 @@ declare interface R3DeclareDirectiveFacade {
|
|
|
5949
6306
|
|
|
5950
6307
|
declare interface R3DeclareFactoryFacade {
|
|
5951
6308
|
type: Type_2;
|
|
5952
|
-
deps: R3DeclareDependencyMetadataFacade[] | null;
|
|
6309
|
+
deps: R3DeclareDependencyMetadataFacade[] | 'invalid' | null;
|
|
5953
6310
|
target: ɵɵFactoryTarget;
|
|
5954
6311
|
}
|
|
5955
6312
|
|
|
@@ -6073,6 +6430,18 @@ declare interface RDomTokenList {
|
|
|
6073
6430
|
remove(token: string): void;
|
|
6074
6431
|
}
|
|
6075
6432
|
|
|
6433
|
+
/**
|
|
6434
|
+
* `Dependency` is used by the framework to extend DI.
|
|
6435
|
+
* This is internal to Angular and should not be used directly.
|
|
6436
|
+
*/
|
|
6437
|
+
declare class ReflectiveDependency {
|
|
6438
|
+
key: ReflectiveKey;
|
|
6439
|
+
optional: boolean;
|
|
6440
|
+
visibility: Self | SkipSelf | null;
|
|
6441
|
+
constructor(key: ReflectiveKey, optional: boolean, visibility: Self | SkipSelf | null);
|
|
6442
|
+
static fromKey(key: ReflectiveKey): ReflectiveDependency;
|
|
6443
|
+
}
|
|
6444
|
+
|
|
6076
6445
|
/**
|
|
6077
6446
|
* A ReflectiveDependency injection container used for instantiating objects and resolving
|
|
6078
6447
|
* dependencies.
|
|
@@ -6361,18 +6730,6 @@ declare interface RElement extends RNode {
|
|
|
6361
6730
|
setProperty?(name: string, value: any): void;
|
|
6362
6731
|
}
|
|
6363
6732
|
|
|
6364
|
-
/**
|
|
6365
|
-
* This is a synthetic lifecycle hook which gets inserted into `TView.preOrderHooks` to simulate
|
|
6366
|
-
* `ngOnChanges`.
|
|
6367
|
-
*
|
|
6368
|
-
* The hook reads the `NgSimpleChangesStore` data from the component instance and if changes are
|
|
6369
|
-
* found it invokes `ngOnChanges` on the component instance.
|
|
6370
|
-
*
|
|
6371
|
-
* @param this Component instance. Because this function gets inserted into `TView.preOrderHooks`,
|
|
6372
|
-
* it is guaranteed to be called with component instance.
|
|
6373
|
-
*/
|
|
6374
|
-
declare function rememberChangeHistoryAndInvokeOnChangesHook(this: OnChanges): void;
|
|
6375
|
-
|
|
6376
6733
|
declare const RENDERER = 11;
|
|
6377
6734
|
|
|
6378
6735
|
/**
|
|
@@ -6656,7 +7013,7 @@ export declare class ResolvedReflectiveFactory {
|
|
|
6656
7013
|
/**
|
|
6657
7014
|
* Arguments (dependencies) to the `factory` function.
|
|
6658
7015
|
*/
|
|
6659
|
-
dependencies:
|
|
7016
|
+
dependencies: ReflectiveDependency[];
|
|
6660
7017
|
constructor(
|
|
6661
7018
|
/**
|
|
6662
7019
|
* Factory function which can return an instance of an object represented by a key.
|
|
@@ -6665,7 +7022,7 @@ export declare class ResolvedReflectiveFactory {
|
|
|
6665
7022
|
/**
|
|
6666
7023
|
* Arguments (dependencies) to the `factory` function.
|
|
6667
7024
|
*/
|
|
6668
|
-
dependencies:
|
|
7025
|
+
dependencies: ReflectiveDependency[]);
|
|
6669
7026
|
}
|
|
6670
7027
|
|
|
6671
7028
|
/**
|
|
@@ -7112,7 +7469,7 @@ declare interface TContainerNode extends TNode {
|
|
|
7112
7469
|
* - They are the first node of a component or embedded view
|
|
7113
7470
|
* - They are dynamically created
|
|
7114
7471
|
*/
|
|
7115
|
-
parent:
|
|
7472
|
+
parent: TElementNode | TElementContainerNode | null;
|
|
7116
7473
|
tViews: TView | TView[] | null;
|
|
7117
7474
|
projection: null;
|
|
7118
7475
|
value: null;
|
|
@@ -7151,12 +7508,36 @@ declare type TData = (TNode | ɵPipeDef<any> | ɵDirectiveDef<any> | ɵComponent
|
|
|
7151
7508
|
declare interface TElementContainerNode extends TNode {
|
|
7152
7509
|
/** Index in the LView[] array. */
|
|
7153
7510
|
index: number;
|
|
7154
|
-
child:
|
|
7155
|
-
parent:
|
|
7511
|
+
child: TElementNode | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
|
|
7512
|
+
parent: TElementNode | TElementContainerNode | null;
|
|
7156
7513
|
tViews: null;
|
|
7157
7514
|
projection: null;
|
|
7158
7515
|
}
|
|
7159
7516
|
|
|
7517
|
+
/** Static data for an element */
|
|
7518
|
+
declare interface TElementNode extends TNode {
|
|
7519
|
+
/** Index in the data[] array */
|
|
7520
|
+
index: number;
|
|
7521
|
+
child: TElementNode | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
|
|
7522
|
+
/**
|
|
7523
|
+
* Element nodes will have parents unless they are the first node of a component or
|
|
7524
|
+
* embedded view (which means their parent is in a different view and must be
|
|
7525
|
+
* retrieved using viewData[HOST_NODE]).
|
|
7526
|
+
*/
|
|
7527
|
+
parent: TElementNode | TElementContainerNode | null;
|
|
7528
|
+
tViews: null;
|
|
7529
|
+
/**
|
|
7530
|
+
* If this is a component TNode with projection, this will be an array of projected
|
|
7531
|
+
* TNodes or native nodes (see TNode.projection for more info). If it's a regular element node
|
|
7532
|
+
* or a component without projection, it will be null.
|
|
7533
|
+
*/
|
|
7534
|
+
projection: (TNode | RNode[])[] | null;
|
|
7535
|
+
/**
|
|
7536
|
+
* Stores TagName
|
|
7537
|
+
*/
|
|
7538
|
+
value: string;
|
|
7539
|
+
}
|
|
7540
|
+
|
|
7160
7541
|
/**
|
|
7161
7542
|
* Represents an embedded template that can be used to instantiate embedded views.
|
|
7162
7543
|
* To instantiate embedded views based on a template, use the `ViewContainerRef`
|
|
@@ -7254,6 +7635,8 @@ export declare class Testability implements PublicTestability {
|
|
|
7254
7635
|
* @param exactMatch Whether using exactMatch
|
|
7255
7636
|
*/
|
|
7256
7637
|
findProviders(using: any, provider: string, exactMatch: boolean): any[];
|
|
7638
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<Testability, never>;
|
|
7639
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<Testability>;
|
|
7257
7640
|
}
|
|
7258
7641
|
|
|
7259
7642
|
/**
|
|
@@ -7297,6 +7680,8 @@ export declare class TestabilityRegistry {
|
|
|
7297
7680
|
* current node
|
|
7298
7681
|
*/
|
|
7299
7682
|
findTestabilityInTree(elem: Node, findInAncestors?: boolean): Testability | null;
|
|
7683
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TestabilityRegistry, never>;
|
|
7684
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TestabilityRegistry>;
|
|
7300
7685
|
}
|
|
7301
7686
|
|
|
7302
7687
|
declare interface TextDef {
|
|
@@ -7619,7 +8004,7 @@ declare interface TNode {
|
|
|
7619
8004
|
*
|
|
7620
8005
|
* If this is an inline view node (V), the parent will be its container.
|
|
7621
8006
|
*/
|
|
7622
|
-
parent:
|
|
8007
|
+
parent: TElementNode | TContainerNode | null;
|
|
7623
8008
|
/**
|
|
7624
8009
|
* List of projected TNodes for a given component host element OR index into the said nodes.
|
|
7625
8010
|
*
|
|
@@ -7875,7 +8260,7 @@ declare const enum TNodeType {
|
|
|
7875
8260
|
/**
|
|
7876
8261
|
* Type representing a set of TNodes that can have local refs (`#foo`) placed on them.
|
|
7877
8262
|
*/
|
|
7878
|
-
declare type TNodeWithLocalRefs = TContainerNode |
|
|
8263
|
+
declare type TNodeWithLocalRefs = TContainerNode | TElementNode | TElementContainerNode;
|
|
7879
8264
|
|
|
7880
8265
|
/** Static data for an LProjectionNode */
|
|
7881
8266
|
declare interface TProjectionNode extends TNode {
|
|
@@ -7886,7 +8271,7 @@ declare interface TProjectionNode extends TNode {
|
|
|
7886
8271
|
* or embedded view (which means their parent is in a different view and must be
|
|
7887
8272
|
* retrieved using LView.node).
|
|
7888
8273
|
*/
|
|
7889
|
-
parent:
|
|
8274
|
+
parent: TElementNode | TElementContainerNode | null;
|
|
7890
8275
|
tViews: null;
|
|
7891
8276
|
/** Index of the projection node. (See TNode.projection for more info.) */
|
|
7892
8277
|
projection: number;
|
|
@@ -8277,7 +8662,7 @@ declare interface TTextNode extends TNode {
|
|
|
8277
8662
|
* embedded view (which means their parent is in a different view and must be
|
|
8278
8663
|
* retrieved using LView.node).
|
|
8279
8664
|
*/
|
|
8280
|
-
parent:
|
|
8665
|
+
parent: TElementNode | TElementContainerNode | null;
|
|
8281
8666
|
tViews: null;
|
|
8282
8667
|
projection: null;
|
|
8283
8668
|
}
|
|
@@ -8299,7 +8684,7 @@ declare interface TView {
|
|
|
8299
8684
|
* This is a blueprint used to generate LView instances for this TView. Copying this
|
|
8300
8685
|
* blueprint is faster than creating a new LView from scratch.
|
|
8301
8686
|
*/
|
|
8302
|
-
blueprint:
|
|
8687
|
+
blueprint: LView;
|
|
8303
8688
|
/**
|
|
8304
8689
|
* The template function used to refresh the view of dynamically created views
|
|
8305
8690
|
* and components. Will be null for inline views.
|
|
@@ -9070,219 +9455,6 @@ export declare abstract class ViewRef extends ChangeDetectorRef {
|
|
|
9070
9455
|
abstract onDestroy(callback: Function): any /** TODO #9100 */;
|
|
9071
9456
|
}
|
|
9072
9457
|
|
|
9073
|
-
declare class ViewRef_2<T> implements EmbeddedViewRef<T>, InternalViewRef, viewEngine_ChangeDetectorRef_interface {
|
|
9074
|
-
/**
|
|
9075
|
-
* This represents the `LView` associated with the point where `ChangeDetectorRef` was
|
|
9076
|
-
* requested.
|
|
9077
|
-
*
|
|
9078
|
-
* This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
|
|
9079
|
-
*/
|
|
9080
|
-
private _cdRefInjectingView?;
|
|
9081
|
-
private _appRef;
|
|
9082
|
-
private _attachedToViewContainer;
|
|
9083
|
-
get rootNodes(): any[];
|
|
9084
|
-
constructor(
|
|
9085
|
-
/**
|
|
9086
|
-
* This represents `LView` associated with the component when ViewRef is a ChangeDetectorRef.
|
|
9087
|
-
*
|
|
9088
|
-
* When ViewRef is created for a dynamic component, this also represents the `LView` for the
|
|
9089
|
-
* component.
|
|
9090
|
-
*
|
|
9091
|
-
* For a "regular" ViewRef created for an embedded view, this is the `LView` for the embedded
|
|
9092
|
-
* view.
|
|
9093
|
-
*
|
|
9094
|
-
* @internal
|
|
9095
|
-
*/
|
|
9096
|
-
_lView: ɵangular_packages_core_core_ca,
|
|
9097
|
-
/**
|
|
9098
|
-
* This represents the `LView` associated with the point where `ChangeDetectorRef` was
|
|
9099
|
-
* requested.
|
|
9100
|
-
*
|
|
9101
|
-
* This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
|
|
9102
|
-
*/
|
|
9103
|
-
_cdRefInjectingView?: ɵangular_packages_core_core_ca | undefined);
|
|
9104
|
-
get context(): T;
|
|
9105
|
-
set context(value: T);
|
|
9106
|
-
get destroyed(): boolean;
|
|
9107
|
-
destroy(): void;
|
|
9108
|
-
onDestroy(callback: Function): void;
|
|
9109
|
-
/**
|
|
9110
|
-
* Marks a view and all of its ancestors dirty.
|
|
9111
|
-
*
|
|
9112
|
-
* This can be used to ensure an {@link ChangeDetectionStrategy#OnPush OnPush} component is
|
|
9113
|
-
* checked when it needs to be re-rendered but the two normal triggers haven't marked it
|
|
9114
|
-
* dirty (i.e. inputs haven't changed and events haven't fired in the view).
|
|
9115
|
-
*
|
|
9116
|
-
* <!-- TODO: Add a link to a chapter on OnPush components -->
|
|
9117
|
-
*
|
|
9118
|
-
* @usageNotes
|
|
9119
|
-
* ### Example
|
|
9120
|
-
*
|
|
9121
|
-
* ```typescript
|
|
9122
|
-
* @Component({
|
|
9123
|
-
* selector: 'app-root',
|
|
9124
|
-
* template: `Number of ticks: {{numberOfTicks}}`
|
|
9125
|
-
* changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9126
|
-
* })
|
|
9127
|
-
* class AppComponent {
|
|
9128
|
-
* numberOfTicks = 0;
|
|
9129
|
-
*
|
|
9130
|
-
* constructor(private ref: ChangeDetectorRef) {
|
|
9131
|
-
* setInterval(() => {
|
|
9132
|
-
* this.numberOfTicks++;
|
|
9133
|
-
* // the following is required, otherwise the view will not be updated
|
|
9134
|
-
* this.ref.markForCheck();
|
|
9135
|
-
* }, 1000);
|
|
9136
|
-
* }
|
|
9137
|
-
* }
|
|
9138
|
-
* ```
|
|
9139
|
-
*/
|
|
9140
|
-
markForCheck(): void;
|
|
9141
|
-
/**
|
|
9142
|
-
* Detaches the view from the change detection tree.
|
|
9143
|
-
*
|
|
9144
|
-
* Detached views will not be checked during change detection runs until they are
|
|
9145
|
-
* re-attached, even if they are dirty. `detach` can be used in combination with
|
|
9146
|
-
* {@link ChangeDetectorRef#detectChanges detectChanges} to implement local change
|
|
9147
|
-
* detection checks.
|
|
9148
|
-
*
|
|
9149
|
-
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
9150
|
-
* <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
|
|
9151
|
-
*
|
|
9152
|
-
* @usageNotes
|
|
9153
|
-
* ### Example
|
|
9154
|
-
*
|
|
9155
|
-
* The following example defines a component with a large list of readonly data.
|
|
9156
|
-
* Imagine the data changes constantly, many times per second. For performance reasons,
|
|
9157
|
-
* we want to check and update the list every five seconds. We can do that by detaching
|
|
9158
|
-
* the component's change detector and doing a local check every five seconds.
|
|
9159
|
-
*
|
|
9160
|
-
* ```typescript
|
|
9161
|
-
* class DataProvider {
|
|
9162
|
-
* // in a real application the returned data will be different every time
|
|
9163
|
-
* get data() {
|
|
9164
|
-
* return [1,2,3,4,5];
|
|
9165
|
-
* }
|
|
9166
|
-
* }
|
|
9167
|
-
*
|
|
9168
|
-
* @Component({
|
|
9169
|
-
* selector: 'giant-list',
|
|
9170
|
-
* template: `
|
|
9171
|
-
* <li *ngFor="let d of dataProvider.data">Data {{d}}</li>
|
|
9172
|
-
* `,
|
|
9173
|
-
* })
|
|
9174
|
-
* class GiantList {
|
|
9175
|
-
* constructor(private ref: ChangeDetectorRef, private dataProvider: DataProvider) {
|
|
9176
|
-
* ref.detach();
|
|
9177
|
-
* setInterval(() => {
|
|
9178
|
-
* this.ref.detectChanges();
|
|
9179
|
-
* }, 5000);
|
|
9180
|
-
* }
|
|
9181
|
-
* }
|
|
9182
|
-
*
|
|
9183
|
-
* @Component({
|
|
9184
|
-
* selector: 'app',
|
|
9185
|
-
* providers: [DataProvider],
|
|
9186
|
-
* template: `
|
|
9187
|
-
* <giant-list><giant-list>
|
|
9188
|
-
* `,
|
|
9189
|
-
* })
|
|
9190
|
-
* class App {
|
|
9191
|
-
* }
|
|
9192
|
-
* ```
|
|
9193
|
-
*/
|
|
9194
|
-
detach(): void;
|
|
9195
|
-
/**
|
|
9196
|
-
* Re-attaches a view to the change detection tree.
|
|
9197
|
-
*
|
|
9198
|
-
* This can be used to re-attach views that were previously detached from the tree
|
|
9199
|
-
* using {@link ChangeDetectorRef#detach detach}. Views are attached to the tree by default.
|
|
9200
|
-
*
|
|
9201
|
-
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
9202
|
-
*
|
|
9203
|
-
* @usageNotes
|
|
9204
|
-
* ### Example
|
|
9205
|
-
*
|
|
9206
|
-
* The following example creates a component displaying `live` data. The component will detach
|
|
9207
|
-
* its change detector from the main change detector tree when the component's live property
|
|
9208
|
-
* is set to false.
|
|
9209
|
-
*
|
|
9210
|
-
* ```typescript
|
|
9211
|
-
* class DataProvider {
|
|
9212
|
-
* data = 1;
|
|
9213
|
-
*
|
|
9214
|
-
* constructor() {
|
|
9215
|
-
* setInterval(() => {
|
|
9216
|
-
* this.data = this.data * 2;
|
|
9217
|
-
* }, 500);
|
|
9218
|
-
* }
|
|
9219
|
-
* }
|
|
9220
|
-
*
|
|
9221
|
-
* @Component({
|
|
9222
|
-
* selector: 'live-data',
|
|
9223
|
-
* inputs: ['live'],
|
|
9224
|
-
* template: 'Data: {{dataProvider.data}}'
|
|
9225
|
-
* })
|
|
9226
|
-
* class LiveData {
|
|
9227
|
-
* constructor(private ref: ChangeDetectorRef, private dataProvider: DataProvider) {}
|
|
9228
|
-
*
|
|
9229
|
-
* set live(value) {
|
|
9230
|
-
* if (value) {
|
|
9231
|
-
* this.ref.reattach();
|
|
9232
|
-
* } else {
|
|
9233
|
-
* this.ref.detach();
|
|
9234
|
-
* }
|
|
9235
|
-
* }
|
|
9236
|
-
* }
|
|
9237
|
-
*
|
|
9238
|
-
* @Component({
|
|
9239
|
-
* selector: 'app-root',
|
|
9240
|
-
* providers: [DataProvider],
|
|
9241
|
-
* template: `
|
|
9242
|
-
* Live Update: <input type="checkbox" [(ngModel)]="live">
|
|
9243
|
-
* <live-data [live]="live"><live-data>
|
|
9244
|
-
* `,
|
|
9245
|
-
* })
|
|
9246
|
-
* class AppComponent {
|
|
9247
|
-
* live = true;
|
|
9248
|
-
* }
|
|
9249
|
-
* ```
|
|
9250
|
-
*/
|
|
9251
|
-
reattach(): void;
|
|
9252
|
-
/**
|
|
9253
|
-
* Checks the view and its children.
|
|
9254
|
-
*
|
|
9255
|
-
* This can also be used in combination with {@link ChangeDetectorRef#detach detach} to implement
|
|
9256
|
-
* local change detection checks.
|
|
9257
|
-
*
|
|
9258
|
-
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
9259
|
-
* <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
|
|
9260
|
-
*
|
|
9261
|
-
* @usageNotes
|
|
9262
|
-
* ### Example
|
|
9263
|
-
*
|
|
9264
|
-
* The following example defines a component with a large list of readonly data.
|
|
9265
|
-
* Imagine, the data changes constantly, many times per second. For performance reasons,
|
|
9266
|
-
* we want to check and update the list every five seconds.
|
|
9267
|
-
*
|
|
9268
|
-
* We can do that by detaching the component's change detector and doing a local change detection
|
|
9269
|
-
* check every five seconds.
|
|
9270
|
-
*
|
|
9271
|
-
* See {@link ChangeDetectorRef#detach detach} for more information.
|
|
9272
|
-
*/
|
|
9273
|
-
detectChanges(): void;
|
|
9274
|
-
/**
|
|
9275
|
-
* Checks the change detector and its children, and throws if any changes are detected.
|
|
9276
|
-
*
|
|
9277
|
-
* This is used in development mode to verify that running change detection doesn't
|
|
9278
|
-
* introduce other changes.
|
|
9279
|
-
*/
|
|
9280
|
-
checkNoChanges(): void;
|
|
9281
|
-
attachToViewContainerRef(): void;
|
|
9282
|
-
detachFromAppRef(): void;
|
|
9283
|
-
attachToAppRef(appRef: ViewRefTracker): void;
|
|
9284
|
-
}
|
|
9285
|
-
|
|
9286
9458
|
/**
|
|
9287
9459
|
* Interface for tracking root `ViewRef`s in `ApplicationRef`.
|
|
9288
9460
|
*
|
|
@@ -9319,805 +9491,30 @@ declare interface ViewUpdateFn {
|
|
|
9319
9491
|
(check: NodeCheckFn, view: ViewData): void;
|
|
9320
9492
|
}
|
|
9321
9493
|
|
|
9322
|
-
/**
|
|
9323
|
-
*
|
|
9324
|
-
*
|
|
9325
|
-
|
|
9326
|
-
|
|
9327
|
-
* is stored.
|
|
9328
|
-
*
|
|
9329
|
-
* Example:
|
|
9330
|
-
*
|
|
9331
|
-
* ```
|
|
9332
|
-
* if (this._latestValue === this._latestReturnedValue) {
|
|
9333
|
-
* return this._latestReturnedValue;
|
|
9334
|
-
* } else {
|
|
9335
|
-
* this._latestReturnedValue = this._latestValue;
|
|
9336
|
-
* return WrappedValue.wrap(this._latestValue); // this will force update
|
|
9337
|
-
* }
|
|
9338
|
-
* ```
|
|
9339
|
-
*
|
|
9340
|
-
* @publicApi
|
|
9341
|
-
* @deprecated from v10 stop using. (No replacement, deemed unnecessary.)
|
|
9342
|
-
*/
|
|
9343
|
-
export declare class WrappedValue {
|
|
9344
|
-
/** @deprecated from 5.3, use `unwrap()` instead - will switch to protected */
|
|
9345
|
-
wrapped: any;
|
|
9346
|
-
constructor(value: any);
|
|
9347
|
-
/** Creates a wrapped value. */
|
|
9348
|
-
static wrap(value: any): WrappedValue;
|
|
9349
|
-
/**
|
|
9350
|
-
* Returns the underlying value of a wrapped value.
|
|
9351
|
-
* Returns the given `value` when it is not wrapped.
|
|
9352
|
-
**/
|
|
9353
|
-
static unwrap(value: any): any;
|
|
9354
|
-
/** Returns true if `value` is a wrapped value. */
|
|
9355
|
-
static isWrapped(value: any): value is WrappedValue;
|
|
9356
|
-
}
|
|
9357
|
-
|
|
9358
|
-
/**
|
|
9359
|
-
* Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to
|
|
9360
|
-
* the DOM in a browser environment.
|
|
9361
|
-
*/
|
|
9362
|
-
export declare function ɵ_sanitizeHtml(defaultDoc: any, unsafeHtmlInput: string): TrustedHTML | string;
|
|
9363
|
-
|
|
9364
|
-
|
|
9365
|
-
export declare function ɵ_sanitizeUrl(url: string): string;
|
|
9366
|
-
|
|
9367
|
-
export declare const ɵALLOW_MULTIPLE_PLATFORMS: InjectionToken<boolean>;
|
|
9368
|
-
|
|
9369
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Html): value is ɵSafeHtml;
|
|
9370
|
-
|
|
9371
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.ResourceUrl): value is ɵSafeResourceUrl;
|
|
9372
|
-
|
|
9373
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Script): value is ɵSafeScript;
|
|
9374
|
-
|
|
9375
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Style): value is ɵSafeStyle;
|
|
9376
|
-
|
|
9377
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Url): value is ɵSafeUrl;
|
|
9378
|
-
|
|
9379
|
-
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType): boolean;
|
|
9380
|
-
|
|
9381
|
-
export declare function ɵand(flags: ɵNodeFlags, matchedQueriesDsl: null | [string | number, ɵQueryValueType][], ngContentIndex: null | number, childCount: number, handleEvent?: null | ElementHandleEventFn, templateFactory?: ViewDefinitionFactory): NodeDef;
|
|
9382
|
-
|
|
9383
|
-
/** Checks whether a function is wrapped by a `forwardRef`. */
|
|
9384
|
-
export declare function ɵangular_packages_core_core_a(fn: any): fn is () => any;
|
|
9385
|
-
|
|
9386
|
-
export declare function ɵangular_packages_core_core_b<T>(token: ProviderToken<T>): T;
|
|
9387
|
-
|
|
9388
|
-
export declare function ɵangular_packages_core_core_b<T>(token: ProviderToken<T>, flags?: InjectFlags): T | null;
|
|
9389
|
-
|
|
9390
|
-
/**
|
|
9391
|
-
* Schedule work at next available slot.
|
|
9392
|
-
*
|
|
9393
|
-
* In Ivy this is just `requestAnimationFrame`. For compatibility reasons when bootstrapped
|
|
9394
|
-
* using `platformRef.bootstrap` we need to use `NgZone.onStable` as the scheduling mechanism.
|
|
9395
|
-
* This overrides the scheduling mechanism in Ivy to `NgZone.onStable`.
|
|
9396
|
-
*
|
|
9397
|
-
* @param ngZone NgZone to use for scheduling.
|
|
9398
|
-
*/
|
|
9399
|
-
export declare function ɵangular_packages_core_core_ba(ngZone: NgZone): (fn: () => void) => void;
|
|
9400
|
-
|
|
9401
|
-
/**
|
|
9402
|
-
* USD currency code that the application uses by default for CurrencyPipe when no
|
|
9403
|
-
* DEFAULT_CURRENCY_CODE is provided.
|
|
9404
|
-
*/
|
|
9405
|
-
export declare const ɵangular_packages_core_core_bb = "USD";
|
|
9406
|
-
|
|
9407
|
-
export declare function ɵangular_packages_core_core_bc(checkIndex: number, flags: ɵNodeFlags, matchedQueriesDsl: [string | number, ɵQueryValueType][] | null, childCount: number, token: any, value: any, deps: ([ɵDepFlags, any] | any)[], bindings?: BindingDef[], outputs?: OutputDef[]): NodeDef;
|
|
9408
|
-
|
|
9409
|
-
export declare abstract class ɵangular_packages_core_core_bd {
|
|
9410
|
-
abstract get view(): ViewData;
|
|
9411
|
-
abstract get nodeIndex(): number | null;
|
|
9412
|
-
abstract get injector(): Injector;
|
|
9413
|
-
abstract get component(): any;
|
|
9414
|
-
abstract get providerTokens(): any[];
|
|
9415
|
-
abstract get references(): {
|
|
9416
|
-
[key: string]: any;
|
|
9417
|
-
};
|
|
9418
|
-
abstract get context(): any;
|
|
9419
|
-
abstract get componentRenderElement(): any;
|
|
9420
|
-
abstract get renderNode(): any;
|
|
9421
|
-
abstract logError(console: Console, ...values: any[]): void;
|
|
9422
|
-
}
|
|
9423
|
-
|
|
9424
|
-
export declare function ɵangular_packages_core_core_be<T>(definition: ɵDirectiveDef<T>): typeof rememberChangeHistoryAndInvokeOnChangesHook;
|
|
9425
|
-
|
|
9426
|
-
/**
|
|
9427
|
-
* A change detection scheduler token for {@link RootContext}. This token is the default value used
|
|
9428
|
-
* for the default `RootContext` found in the {@link ROOT_CONTEXT} token.
|
|
9429
|
-
*/
|
|
9430
|
-
export declare const ɵangular_packages_core_core_bf: InjectionToken<(fn: () => void) => void>;
|
|
9431
|
-
|
|
9432
|
-
/**
|
|
9433
|
-
* Inject static attribute value into directive constructor.
|
|
9434
|
-
*
|
|
9435
|
-
* This method is used with `factory` functions which are generated as part of
|
|
9436
|
-
* `defineDirective` or `defineComponent`. The method retrieves the static value
|
|
9437
|
-
* of an attribute. (Dynamic attributes are not supported since they are not resolved
|
|
9438
|
-
* at the time of injection and can change over time.)
|
|
9439
|
-
*
|
|
9440
|
-
* # Example
|
|
9441
|
-
* Given:
|
|
9442
|
-
* ```
|
|
9443
|
-
* @Component(...)
|
|
9444
|
-
* class MyComponent {
|
|
9445
|
-
* constructor(@Attribute('title') title: string) { ... }
|
|
9446
|
-
* }
|
|
9447
|
-
* ```
|
|
9448
|
-
* When instantiated with
|
|
9449
|
-
* ```
|
|
9450
|
-
* <my-component title="Hello"></my-component>
|
|
9451
|
-
* ```
|
|
9452
|
-
*
|
|
9453
|
-
* Then factory method generated is:
|
|
9454
|
-
* ```
|
|
9455
|
-
* MyComponent.ɵcmp = defineComponent({
|
|
9456
|
-
* factory: () => new MyComponent(injectAttribute('title'))
|
|
9457
|
-
* ...
|
|
9458
|
-
* })
|
|
9459
|
-
* ```
|
|
9460
|
-
*
|
|
9461
|
-
* @publicApi
|
|
9462
|
-
*/
|
|
9463
|
-
export declare function ɵangular_packages_core_core_bg(tNode: TNode, attrNameToInject: string): string | null;
|
|
9464
|
-
|
|
9465
|
-
/**
|
|
9466
|
-
* Return the current `LView`.
|
|
9467
|
-
*/
|
|
9468
|
-
export declare function ɵangular_packages_core_core_bh(): ɵangular_packages_core_core_ca;
|
|
9469
|
-
|
|
9470
|
-
export declare function ɵangular_packages_core_core_bi(): number;
|
|
9471
|
-
|
|
9472
|
-
export declare function ɵangular_packages_core_core_bj<T = any>(level: number): T;
|
|
9473
|
-
|
|
9474
|
-
/** Static data for an element */
|
|
9475
|
-
export declare interface ɵangular_packages_core_core_bk extends TNode {
|
|
9476
|
-
/** Index in the data[] array */
|
|
9477
|
-
index: number;
|
|
9478
|
-
child: ɵangular_packages_core_core_bk | TTextNode | TElementContainerNode | TContainerNode | TProjectionNode | null;
|
|
9479
|
-
/**
|
|
9480
|
-
* Element nodes will have parents unless they are the first node of a component or
|
|
9481
|
-
* embedded view (which means their parent is in a different view and must be
|
|
9482
|
-
* retrieved using viewData[HOST_NODE]).
|
|
9483
|
-
*/
|
|
9484
|
-
parent: ɵangular_packages_core_core_bk | TElementContainerNode | null;
|
|
9485
|
-
tViews: null;
|
|
9486
|
-
/**
|
|
9487
|
-
* If this is a component TNode with projection, this will be an array of projected
|
|
9488
|
-
* TNodes or native nodes (see TNode.projection for more info). If it's a regular element node
|
|
9489
|
-
* or a component without projection, it will be null.
|
|
9490
|
-
*/
|
|
9491
|
-
projection: (TNode | RNode[])[] | null;
|
|
9492
|
-
/**
|
|
9493
|
-
* Stores TagName
|
|
9494
|
-
*/
|
|
9495
|
-
value: string;
|
|
9496
|
-
}
|
|
9497
|
-
|
|
9498
|
-
/**
|
|
9499
|
-
* If the value of the provided exp has changed, calls the pure function to return
|
|
9500
|
-
* an updated value. Or if the value has not changed, returns cached value.
|
|
9501
|
-
*
|
|
9502
|
-
* @param lView LView in which the function is being executed.
|
|
9503
|
-
* @param bindingRoot Binding root index.
|
|
9504
|
-
* @param slotOffset the offset from binding root to the reserved slot
|
|
9505
|
-
* @param pureFn Function that returns an updated value
|
|
9506
|
-
* @param exp Updated expression value
|
|
9507
|
-
* @param thisArg Optional calling context of pureFn
|
|
9508
|
-
* @returns Updated or cached value
|
|
9509
|
-
*/
|
|
9510
|
-
export declare function ɵangular_packages_core_core_bl(lView: ɵangular_packages_core_core_ca, bindingRoot: number, slotOffset: number, pureFn: (v: any) => any, exp: any, thisArg?: any): any;
|
|
9511
|
-
|
|
9512
|
-
/**
|
|
9513
|
-
* If the value of any provided exp has changed, calls the pure function to return
|
|
9514
|
-
* an updated value. Or if no values have changed, returns cached value.
|
|
9515
|
-
*
|
|
9516
|
-
* @param lView LView in which the function is being executed.
|
|
9517
|
-
* @param bindingRoot Binding root index.
|
|
9518
|
-
* @param slotOffset the offset from binding root to the reserved slot
|
|
9519
|
-
* @param pureFn
|
|
9520
|
-
* @param exp1
|
|
9521
|
-
* @param exp2
|
|
9522
|
-
* @param thisArg Optional calling context of pureFn
|
|
9523
|
-
* @returns Updated or cached value
|
|
9524
|
-
*/
|
|
9525
|
-
export declare function ɵangular_packages_core_core_bm(lView: ɵangular_packages_core_core_ca, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any) => any, exp1: any, exp2: any, thisArg?: any): any;
|
|
9526
|
-
|
|
9527
|
-
/**
|
|
9528
|
-
* If the value of any provided exp has changed, calls the pure function to return
|
|
9529
|
-
* an updated value. Or if no values have changed, returns cached value.
|
|
9530
|
-
*
|
|
9531
|
-
* @param lView LView in which the function is being executed.
|
|
9532
|
-
* @param bindingRoot Binding root index.
|
|
9533
|
-
* @param slotOffset the offset from binding root to the reserved slot
|
|
9534
|
-
* @param pureFn
|
|
9535
|
-
* @param exp1
|
|
9536
|
-
* @param exp2
|
|
9537
|
-
* @param exp3
|
|
9538
|
-
* @param thisArg Optional calling context of pureFn
|
|
9539
|
-
* @returns Updated or cached value
|
|
9540
|
-
*/
|
|
9541
|
-
export declare function ɵangular_packages_core_core_bn(lView: ɵangular_packages_core_core_ca, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any) => any, exp1: any, exp2: any, exp3: any, thisArg?: any): any;
|
|
9542
|
-
|
|
9543
|
-
/**
|
|
9544
|
-
* If the value of any provided exp has changed, calls the pure function to return
|
|
9545
|
-
* an updated value. Or if no values have changed, returns cached value.
|
|
9546
|
-
*
|
|
9547
|
-
* @param lView LView in which the function is being executed.
|
|
9548
|
-
* @param bindingRoot Binding root index.
|
|
9549
|
-
* @param slotOffset the offset from binding root to the reserved slot
|
|
9550
|
-
* @param pureFn
|
|
9551
|
-
* @param exp1
|
|
9552
|
-
* @param exp2
|
|
9553
|
-
* @param exp3
|
|
9554
|
-
* @param exp4
|
|
9555
|
-
* @param thisArg Optional calling context of pureFn
|
|
9556
|
-
* @returns Updated or cached value
|
|
9557
|
-
*
|
|
9558
|
-
*/
|
|
9559
|
-
export declare function ɵangular_packages_core_core_bo(lView: ɵangular_packages_core_core_ca, bindingRoot: number, slotOffset: number, pureFn: (v1: any, v2: any, v3: any, v4: any) => any, exp1: any, exp2: any, exp3: any, exp4: any, thisArg?: any): any;
|
|
9560
|
-
|
|
9561
|
-
/**
|
|
9562
|
-
* pureFunction instruction that can support any number of bindings.
|
|
9563
|
-
*
|
|
9564
|
-
* If the value of any provided exp has changed, calls the pure function to return
|
|
9565
|
-
* an updated value. Or if no values have changed, returns cached value.
|
|
9566
|
-
*
|
|
9567
|
-
* @param lView LView in which the function is being executed.
|
|
9568
|
-
* @param bindingRoot Binding root index.
|
|
9569
|
-
* @param slotOffset the offset from binding root to the reserved slot
|
|
9570
|
-
* @param pureFn A pure function that takes binding values and builds an object or array
|
|
9571
|
-
* containing those values.
|
|
9572
|
-
* @param exps An array of binding values
|
|
9573
|
-
* @param thisArg Optional calling context of pureFn
|
|
9574
|
-
* @returns Updated or cached value
|
|
9575
|
-
*/
|
|
9576
|
-
export declare function ɵangular_packages_core_core_bp(lView: ɵangular_packages_core_core_ca, bindingRoot: number, slotOffset: number, pureFn: (...v: any[]) => any, exps: any[], thisArg?: any): any;
|
|
9577
|
-
|
|
9578
|
-
/**
|
|
9579
|
-
* Detects which sanitizer to use for URL property, based on tag name and prop name.
|
|
9580
|
-
*
|
|
9581
|
-
* The rules are based on the RESOURCE_URL context config from
|
|
9582
|
-
* `packages/compiler/src/schema/dom_security_schema.ts`.
|
|
9583
|
-
* If tag and prop names don't match Resource URL schema, use URL sanitizer.
|
|
9584
|
-
*/
|
|
9585
|
-
export declare function ɵangular_packages_core_core_bq(tag: string, prop: string): typeof ɵɵsanitizeResourceUrl;
|
|
9586
|
-
|
|
9587
|
-
export declare function ɵangular_packages_core_core_br(name: string, props?: (...args: any[]) => any, parentClass?: any, additionalProcessing?: (target: any, name: string, ...args: any[]) => void): any;
|
|
9588
|
-
|
|
9589
|
-
export declare function ɵangular_packages_core_core_bs(name: string, props?: (...args: any[]) => any, parentClass?: any): any;
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
/**
|
|
9593
|
-
* Special flag indicating that a decorator is of type `Inject`. It's used to make `Inject`
|
|
9594
|
-
* decorator tree-shakable (so we don't have to rely on the `instanceof` checks).
|
|
9595
|
-
* Note: this flag is not included into the `InjectFlags` since it's an internal-only API.
|
|
9596
|
-
*/
|
|
9597
|
-
export declare const enum ɵangular_packages_core_core_bt {
|
|
9598
|
-
Inject = -1
|
|
9599
|
-
}
|
|
9600
|
-
|
|
9601
|
-
/**
|
|
9602
|
-
* This enum is an exact copy of the `InjectFlags` enum above, but the difference is that this is a
|
|
9603
|
-
* const enum, so actual enum values would be inlined in generated code. The `InjectFlags` enum can
|
|
9604
|
-
* be turned into a const enum when ViewEngine is removed (see TODO at the `InjectFlags` enum
|
|
9605
|
-
* above). The benefit of inlining is that we can use these flags at the top level without affecting
|
|
9606
|
-
* tree-shaking (see "no-toplevel-property-access" tslint rule for more info).
|
|
9607
|
-
* Keep this enum in sync with `InjectFlags` enum above.
|
|
9608
|
-
*/
|
|
9609
|
-
export declare const enum ɵangular_packages_core_core_bu {
|
|
9610
|
-
/** Check self and check parent injector if needed */
|
|
9611
|
-
Default = 0,
|
|
9612
|
-
/**
|
|
9613
|
-
* Specifies that an injector should retrieve a dependency from any injector until reaching the
|
|
9614
|
-
* host element of the current component. (Only used with Element Injector)
|
|
9615
|
-
*/
|
|
9616
|
-
Host = 1,
|
|
9617
|
-
/** Don't ascend to ancestors of the node requesting injection. */
|
|
9618
|
-
Self = 2,
|
|
9619
|
-
/** Skip the node that is requesting injection. */
|
|
9620
|
-
SkipSelf = 4,
|
|
9621
|
-
/** Inject `defaultValue` instead if token not found. */
|
|
9622
|
-
Optional = 8,
|
|
9623
|
-
/**
|
|
9624
|
-
* This token is being injected into a pipe.
|
|
9625
|
-
*
|
|
9626
|
-
* This flag is intentionally not in the public facing `InjectFlags` because it is only added by
|
|
9627
|
-
* the compiler and is not a developer applicable flag.
|
|
9628
|
-
*/
|
|
9629
|
-
ForPipe = 16
|
|
9630
|
-
}
|
|
9631
|
-
|
|
9632
|
-
|
|
9633
|
-
export declare function ɵangular_packages_core_core_bv<T>(objWithPropertyToExtract: T): string;
|
|
9634
|
-
|
|
9635
|
-
export declare class ɵangular_packages_core_core_bw implements Injector {
|
|
9636
|
-
get(token: any, notFoundValue?: any): any;
|
|
9637
|
-
}
|
|
9638
|
-
|
|
9639
|
-
export declare function ɵangular_packages_core_core_bx(): (<T>(token: ProviderToken<T>, flags?: InjectFlags | undefined) => T | null) | undefined;
|
|
9640
|
-
|
|
9641
|
-
|
|
9642
|
-
/**
|
|
9643
|
-
* Special markers which can be left on `Type.__NG_ELEMENT_ID__` which are used by the Ivy's
|
|
9644
|
-
* `NodeInjector`. Usually these markers contain factory functions. But in case of this special
|
|
9645
|
-
* marker we can't leave behind a function because it would create tree shaking problem.
|
|
9646
|
-
*
|
|
9647
|
-
* Currently only `Injector` is special.
|
|
9648
|
-
*
|
|
9649
|
-
* NOTE: the numbers here must be negative, because positive numbers are used as IDs for bloom
|
|
9650
|
-
* filter.
|
|
9651
|
-
*/
|
|
9652
|
-
export declare const enum ɵangular_packages_core_core_by {
|
|
9653
|
-
/**
|
|
9654
|
-
* Marks that the current type is `Injector`
|
|
9655
|
-
*/
|
|
9656
|
-
Injector = -1
|
|
9657
|
-
}
|
|
9658
|
-
|
|
9659
|
-
/**
|
|
9660
|
-
* Retrieve an `RNode` for a given `TNode` and `LView`.
|
|
9661
|
-
*
|
|
9662
|
-
* This function guarantees in dev mode to retrieve a non-null `RNode`.
|
|
9663
|
-
*
|
|
9664
|
-
* @param tNode
|
|
9665
|
-
* @param lView
|
|
9666
|
-
*/
|
|
9667
|
-
export declare function ɵangular_packages_core_core_bz(tNode: TNode, lView: ɵangular_packages_core_core_ca): RNode;
|
|
9668
|
-
|
|
9669
|
-
/**
|
|
9670
|
-
* Attaches a given InjectFlag to a given decorator using monkey-patching.
|
|
9671
|
-
* Since DI decorators can be used in providers `deps` array (when provider is configured using
|
|
9672
|
-
* `useFactory`) without initialization (e.g. `Host`) and as an instance (e.g. `new Host()`), we
|
|
9673
|
-
* attach the flag to make it available both as a static property and as a field on decorator
|
|
9674
|
-
* instance.
|
|
9675
|
-
*
|
|
9676
|
-
* @param decorator Provided DI decorator.
|
|
9677
|
-
* @param flag InjectFlag that should be applied.
|
|
9678
|
-
*/
|
|
9679
|
-
export declare function ɵangular_packages_core_core_c(decorator: any, flag: ɵangular_packages_core_core_bu | ɵangular_packages_core_core_bt): any;
|
|
9680
|
-
|
|
9681
|
-
/**
|
|
9682
|
-
* `LView` stores all of the information needed to process the instructions as
|
|
9683
|
-
* they are invoked from the template. Each embedded view and component view has its
|
|
9684
|
-
* own `LView`. When processing a particular view, we set the `viewData` to that
|
|
9685
|
-
* `LView`. When that view is done processing, the `viewData` is set back to
|
|
9686
|
-
* whatever the original `viewData` was before (the parent `LView`).
|
|
9687
|
-
*
|
|
9688
|
-
* Keeping separate state for each view facilities view insertion / deletion, so we
|
|
9689
|
-
* don't have to edit the data array based on which views are present.
|
|
9690
|
-
*/
|
|
9691
|
-
export declare interface ɵangular_packages_core_core_ca extends Array<any> {
|
|
9692
|
-
/**
|
|
9693
|
-
* Human readable representation of the `LView`.
|
|
9694
|
-
*
|
|
9695
|
-
* NOTE: This property only exists if `ngDevMode` is set to `true` and it is not present in
|
|
9696
|
-
* production. Its presence is purely to help debug issue in development, and should not be relied
|
|
9697
|
-
* on in production application.
|
|
9698
|
-
*/
|
|
9699
|
-
debug?: LViewDebug;
|
|
9700
|
-
/**
|
|
9701
|
-
* The node into which this `LView` is inserted.
|
|
9702
|
-
*/
|
|
9703
|
-
[HOST]: RElement | null;
|
|
9704
|
-
/**
|
|
9705
|
-
* The static data for this view. We need a reference to this so we can easily walk up the
|
|
9706
|
-
* node tree in DI and get the TView.data array associated with a node (where the
|
|
9707
|
-
* directive defs are stored).
|
|
9708
|
-
*/
|
|
9709
|
-
readonly [TVIEW]: TView;
|
|
9710
|
-
/** Flags for this view. See LViewFlags for more info. */
|
|
9711
|
-
[FLAGS]: LViewFlags;
|
|
9712
|
-
/**
|
|
9713
|
-
* This may store an {@link LView} or {@link LContainer}.
|
|
9714
|
-
*
|
|
9715
|
-
* `LView` - The parent view. This is needed when we exit the view and must restore the previous
|
|
9716
|
-
* LView. Without this, the render method would have to keep a stack of
|
|
9717
|
-
* views as it is recursively rendering templates.
|
|
9718
|
-
*
|
|
9719
|
-
* `LContainer` - The current view is part of a container, and is an embedded view.
|
|
9720
|
-
*/
|
|
9721
|
-
[PARENT]: ɵangular_packages_core_core_ca | LContainer | null;
|
|
9722
|
-
/**
|
|
9723
|
-
*
|
|
9724
|
-
* The next sibling LView or LContainer.
|
|
9725
|
-
*
|
|
9726
|
-
* Allows us to propagate between sibling view states that aren't in the same
|
|
9727
|
-
* container. Embedded views already have a node.next, but it is only set for
|
|
9728
|
-
* views in the same container. We need a way to link component views and views
|
|
9729
|
-
* across containers as well.
|
|
9730
|
-
*/
|
|
9731
|
-
[NEXT]: ɵangular_packages_core_core_ca | LContainer | null;
|
|
9732
|
-
/** Queries active for this view - nodes from a view are reported to those queries. */
|
|
9733
|
-
[QUERIES]: LQueries | null;
|
|
9734
|
-
/**
|
|
9735
|
-
* Store the `TNode` of the location where the current `LView` is inserted into.
|
|
9736
|
-
*
|
|
9737
|
-
* Given:
|
|
9738
|
-
* ```
|
|
9739
|
-
* <div>
|
|
9740
|
-
* <ng-template><span></span></ng-template>
|
|
9741
|
-
* </div>
|
|
9742
|
-
* ```
|
|
9743
|
-
*
|
|
9744
|
-
* We end up with two `TView`s.
|
|
9745
|
-
* - `parent` `TView` which contains `<div><!-- anchor --></div>`
|
|
9746
|
-
* - `child` `TView` which contains `<span></span>`
|
|
9747
|
-
*
|
|
9748
|
-
* Typically the `child` is inserted into the declaration location of the `parent`, but it can be
|
|
9749
|
-
* inserted anywhere. Because it can be inserted anywhere it is not possible to store the
|
|
9750
|
-
* insertion information in the `TView` and instead we must store it in the `LView[T_HOST]`.
|
|
9751
|
-
*
|
|
9752
|
-
* So to determine where is our insertion parent we would execute:
|
|
9753
|
-
* ```
|
|
9754
|
-
* const parentLView = lView[PARENT];
|
|
9755
|
-
* const parentTNode = lView[T_HOST];
|
|
9756
|
-
* const insertionParent = parentLView[parentTNode.index];
|
|
9757
|
-
* ```
|
|
9758
|
-
*
|
|
9759
|
-
*
|
|
9760
|
-
* If `null`, this is the root view of an application (root component is in this view) and it has
|
|
9761
|
-
* no parents.
|
|
9762
|
-
*/
|
|
9763
|
-
[T_HOST]: TNode | null;
|
|
9764
|
-
/**
|
|
9765
|
-
* When a view is destroyed, listeners need to be released and outputs need to be
|
|
9766
|
-
* unsubscribed. This context array stores both listener functions wrapped with
|
|
9767
|
-
* their context and output subscription instances for a particular view.
|
|
9768
|
-
*
|
|
9769
|
-
* These change per LView instance, so they cannot be stored on TView. Instead,
|
|
9770
|
-
* TView.cleanup saves an index to the necessary context in this array.
|
|
9771
|
-
*
|
|
9772
|
-
* After `LView` is created it is possible to attach additional instance specific functions at the
|
|
9773
|
-
* end of the `lView[CLENUP]` because we know that no more `T` level cleanup functions will be
|
|
9774
|
-
* addeded here.
|
|
9775
|
-
*/
|
|
9776
|
-
[CLEANUP]: any[] | null;
|
|
9777
|
-
/**
|
|
9778
|
-
* - For dynamic views, this is the context with which to render the template (e.g.
|
|
9779
|
-
* `NgForContext`), or `{}` if not defined explicitly.
|
|
9780
|
-
* - For root view of the root component the context contains change detection data.
|
|
9781
|
-
* - For non-root components, the context is the component instance,
|
|
9782
|
-
* - For inline views, the context is null.
|
|
9783
|
-
*/
|
|
9784
|
-
[CONTEXT]: {} | RootContext | null;
|
|
9785
|
-
/** An optional Module Injector to be used as fall back after Element Injectors are consulted. */
|
|
9786
|
-
readonly [INJECTOR_2]: Injector | null;
|
|
9787
|
-
/** Factory to be used for creating Renderer. */
|
|
9788
|
-
[RENDERER_FACTORY]: RendererFactory3;
|
|
9789
|
-
/** Renderer to be used for this view. */
|
|
9790
|
-
[RENDERER]: Renderer3;
|
|
9791
|
-
/** An optional custom sanitizer. */
|
|
9792
|
-
[SANITIZER]: Sanitizer | null;
|
|
9793
|
-
/**
|
|
9794
|
-
* Reference to the first LView or LContainer beneath this LView in
|
|
9795
|
-
* the hierarchy.
|
|
9796
|
-
*
|
|
9797
|
-
* Necessary to store this so views can traverse through their nested views
|
|
9798
|
-
* to remove listeners and call onDestroy callbacks.
|
|
9799
|
-
*/
|
|
9800
|
-
[CHILD_HEAD]: ɵangular_packages_core_core_ca | LContainer | null;
|
|
9801
|
-
/**
|
|
9802
|
-
* The last LView or LContainer beneath this LView in the hierarchy.
|
|
9803
|
-
*
|
|
9804
|
-
* The tail allows us to quickly add a new state to the end of the view list
|
|
9805
|
-
* without having to propagate starting from the first child.
|
|
9806
|
-
*/
|
|
9807
|
-
[CHILD_TAIL]: ɵangular_packages_core_core_ca | LContainer | null;
|
|
9808
|
-
/**
|
|
9809
|
-
* View where this view's template was declared.
|
|
9810
|
-
*
|
|
9811
|
-
* The template for a dynamically created view may be declared in a different view than
|
|
9812
|
-
* it is inserted. We already track the "insertion view" (view where the template was
|
|
9813
|
-
* inserted) in LView[PARENT], but we also need access to the "declaration view"
|
|
9814
|
-
* (view where the template was declared). Otherwise, we wouldn't be able to call the
|
|
9815
|
-
* view's template function with the proper contexts. Context should be inherited from
|
|
9816
|
-
* the declaration view tree, not the insertion view tree.
|
|
9817
|
-
*
|
|
9818
|
-
* Example (AppComponent template):
|
|
9819
|
-
*
|
|
9820
|
-
* <ng-template #foo></ng-template> <-- declared here -->
|
|
9821
|
-
* <some-comp [tpl]="foo"></some-comp> <-- inserted inside this component -->
|
|
9822
|
-
*
|
|
9823
|
-
* The <ng-template> above is declared in the AppComponent template, but it will be passed into
|
|
9824
|
-
* SomeComp and inserted there. In this case, the declaration view would be the AppComponent,
|
|
9825
|
-
* but the insertion view would be SomeComp. When we are removing views, we would want to
|
|
9826
|
-
* traverse through the insertion view to clean up listeners. When we are calling the
|
|
9827
|
-
* template function during change detection, we need the declaration view to get inherited
|
|
9828
|
-
* context.
|
|
9829
|
-
*/
|
|
9830
|
-
[DECLARATION_VIEW]: ɵangular_packages_core_core_ca | null;
|
|
9831
|
-
/**
|
|
9832
|
-
* Points to the declaration component view, used to track transplanted `LView`s.
|
|
9833
|
-
*
|
|
9834
|
-
* See: `DECLARATION_VIEW` which points to the actual `LView` where it was declared, whereas
|
|
9835
|
-
* `DECLARATION_COMPONENT_VIEW` points to the component which may not be same as
|
|
9836
|
-
* `DECLARATION_VIEW`.
|
|
9837
|
-
*
|
|
9838
|
-
* Example:
|
|
9839
|
-
* ```
|
|
9840
|
-
* <#VIEW #myComp>
|
|
9841
|
-
* <div *ngIf="true">
|
|
9842
|
-
* <ng-template #myTmpl>...</ng-template>
|
|
9843
|
-
* </div>
|
|
9844
|
-
* </#VIEW>
|
|
9845
|
-
* ```
|
|
9846
|
-
* In the above case `DECLARATION_VIEW` for `myTmpl` points to the `LView` of `ngIf` whereas
|
|
9847
|
-
* `DECLARATION_COMPONENT_VIEW` points to `LView` of the `myComp` which owns the template.
|
|
9848
|
-
*
|
|
9849
|
-
* The reason for this is that all embedded views are always check-always whereas the component
|
|
9850
|
-
* view can be check-always or on-push. When we have a transplanted view it is important to
|
|
9851
|
-
* determine if we have transplanted a view from check-always declaration to on-push insertion
|
|
9852
|
-
* point. In such a case the transplanted view needs to be added to the `LContainer` in the
|
|
9853
|
-
* declared `LView` and CD during the declared view CD (in addition to the CD at the insertion
|
|
9854
|
-
* point.) (Any transplanted views which are intra Component are of no interest because the CD
|
|
9855
|
-
* strategy of declaration and insertion will always be the same, because it is the same
|
|
9856
|
-
* component.)
|
|
9857
|
-
*
|
|
9858
|
-
* Queries already track moved views in `LView[DECLARATION_LCONTAINER]` and
|
|
9859
|
-
* `LContainer[MOVED_VIEWS]`. However the queries also track `LView`s which moved within the same
|
|
9860
|
-
* component `LView`. Transplanted views are a subset of moved views, and we use
|
|
9861
|
-
* `DECLARATION_COMPONENT_VIEW` to differentiate them. As in this example.
|
|
9862
|
-
*
|
|
9863
|
-
* Example showing intra component `LView` movement.
|
|
9864
|
-
* ```
|
|
9865
|
-
* <#VIEW #myComp>
|
|
9866
|
-
* <div *ngIf="condition; then thenBlock else elseBlock"></div>
|
|
9867
|
-
* <ng-template #thenBlock>Content to render when condition is true.</ng-template>
|
|
9868
|
-
* <ng-template #elseBlock>Content to render when condition is false.</ng-template>
|
|
9869
|
-
* </#VIEW>
|
|
9870
|
-
* ```
|
|
9871
|
-
* The `thenBlock` and `elseBlock` is moved but not transplanted.
|
|
9872
|
-
*
|
|
9873
|
-
* Example showing inter component `LView` movement (transplanted view).
|
|
9874
|
-
* ```
|
|
9875
|
-
* <#VIEW #myComp>
|
|
9876
|
-
* <ng-template #myTmpl>...</ng-template>
|
|
9877
|
-
* <insertion-component [template]="myTmpl"></insertion-component>
|
|
9878
|
-
* </#VIEW>
|
|
9879
|
-
* ```
|
|
9880
|
-
* In the above example `myTmpl` is passed into a different component. If `insertion-component`
|
|
9881
|
-
* instantiates `myTmpl` and `insertion-component` is on-push then the `LContainer` needs to be
|
|
9882
|
-
* marked as containing transplanted views and those views need to be CD as part of the
|
|
9883
|
-
* declaration CD.
|
|
9884
|
-
*
|
|
9885
|
-
*
|
|
9886
|
-
* When change detection runs, it iterates over `[MOVED_VIEWS]` and CDs any child `LView`s where
|
|
9887
|
-
* the `DECLARATION_COMPONENT_VIEW` of the current component and the child `LView` does not match
|
|
9888
|
-
* (it has been transplanted across components.)
|
|
9889
|
-
*
|
|
9890
|
-
* Note: `[DECLARATION_COMPONENT_VIEW]` points to itself if the LView is a component view (the
|
|
9891
|
-
* simplest / most common case).
|
|
9892
|
-
*
|
|
9893
|
-
* see also:
|
|
9894
|
-
* - https://hackmd.io/@mhevery/rJUJsvv9H write up of the problem
|
|
9895
|
-
* - `LContainer[HAS_TRANSPLANTED_VIEWS]` which marks which `LContainer` has transplanted views.
|
|
9896
|
-
* - `LContainer[TRANSPLANT_HEAD]` and `LContainer[TRANSPLANT_TAIL]` storage for transplanted
|
|
9897
|
-
* - `LView[DECLARATION_LCONTAINER]` similar problem for queries
|
|
9898
|
-
* - `LContainer[MOVED_VIEWS]` similar problem for queries
|
|
9899
|
-
*/
|
|
9900
|
-
[DECLARATION_COMPONENT_VIEW]: ɵangular_packages_core_core_ca;
|
|
9901
|
-
/**
|
|
9902
|
-
* A declaration point of embedded views (ones instantiated based on the content of a
|
|
9903
|
-
* <ng-template>), null for other types of views.
|
|
9904
|
-
*
|
|
9905
|
-
* We need to track all embedded views created from a given declaration point so we can prepare
|
|
9906
|
-
* query matches in a proper order (query matches are ordered based on their declaration point and
|
|
9907
|
-
* _not_ the insertion point).
|
|
9908
|
-
*/
|
|
9909
|
-
[DECLARATION_LCONTAINER]: LContainer | null;
|
|
9910
|
-
/**
|
|
9911
|
-
* More flags for this view. See PreOrderHookFlags for more info.
|
|
9912
|
-
*/
|
|
9913
|
-
[PREORDER_HOOK_FLAGS]: PreOrderHookFlags;
|
|
9914
|
-
/**
|
|
9915
|
-
* The number of direct transplanted views which need a refresh or have descendants themselves
|
|
9916
|
-
* that need a refresh but have not marked their ancestors as Dirty. This tells us that during
|
|
9917
|
-
* change detection we should still descend to find those children to refresh, even if the parents
|
|
9918
|
-
* are not `Dirty`/`CheckAlways`.
|
|
9919
|
-
*/
|
|
9920
|
-
[TRANSPLANTED_VIEWS_TO_REFRESH]: number;
|
|
9921
|
-
}
|
|
9922
|
-
|
|
9923
|
-
/**
|
|
9924
|
-
* Returns the `RootContext` instance that is associated with
|
|
9925
|
-
* the application where the target is situated. It does this by walking the parent views until it
|
|
9926
|
-
* gets to the root view, then getting the context off of that.
|
|
9927
|
-
*
|
|
9928
|
-
* @param viewOrComponent the `LView` or component to get the root context for.
|
|
9929
|
-
*/
|
|
9930
|
-
export declare function ɵangular_packages_core_core_cb(viewOrComponent: ɵangular_packages_core_core_ca | {}): RootContext;
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
/**
|
|
9934
|
-
* Handles message string post-processing for internationalization.
|
|
9935
|
-
*
|
|
9936
|
-
* Handles message string post-processing by transforming it from intermediate
|
|
9937
|
-
* format (that might contain some markers that we need to replace) to the final
|
|
9938
|
-
* form, consumable by i18nStart instruction. Post processing steps include:
|
|
9939
|
-
*
|
|
9940
|
-
* 1. Resolve all multi-value cases (like [�*1:1��#2:1�|�#4:1�|�5�])
|
|
9941
|
-
* 2. Replace all ICU vars (like "VAR_PLURAL")
|
|
9942
|
-
* 3. Replace all placeholders used inside ICUs in a form of {PLACEHOLDER}
|
|
9943
|
-
* 4. Replace all ICU references with corresponding values (like �ICU_EXP_ICU_1�)
|
|
9944
|
-
* in case multiple ICUs have the same placeholder name
|
|
9945
|
-
*
|
|
9946
|
-
* @param message Raw translation string for post processing
|
|
9947
|
-
* @param replacements Set of replacements that should be applied
|
|
9948
|
-
*
|
|
9949
|
-
* @returns Transformed string that can be consumed by i18nStart instruction
|
|
9950
|
-
*
|
|
9951
|
-
* @codeGenApi
|
|
9952
|
-
*/
|
|
9953
|
-
export declare function ɵangular_packages_core_core_cc(message: string, replacements?: {
|
|
9954
|
-
[key: string]: (string | string[]);
|
|
9955
|
-
}): string;
|
|
9956
|
-
|
|
9957
|
-
export declare class ɵangular_packages_core_core_d implements ReflectiveInjector {
|
|
9958
|
-
private static INJECTOR_KEY;
|
|
9959
|
-
readonly parent: Injector | null;
|
|
9960
|
-
keyIds: number[];
|
|
9961
|
-
objs: any[];
|
|
9962
|
-
/**
|
|
9963
|
-
* Private
|
|
9964
|
-
*/
|
|
9965
|
-
constructor(_providers: ResolvedReflectiveProvider[], _parent?: Injector);
|
|
9966
|
-
get(token: any, notFoundValue?: any): any;
|
|
9967
|
-
resolveAndCreateChild(providers: Provider[]): ReflectiveInjector;
|
|
9968
|
-
createChildFromResolved(providers: ResolvedReflectiveProvider[]): ReflectiveInjector;
|
|
9969
|
-
resolveAndInstantiate(provider: Provider): any;
|
|
9970
|
-
instantiateResolved(provider: ResolvedReflectiveProvider): any;
|
|
9971
|
-
getProviderAtIndex(index: number): ResolvedReflectiveProvider;
|
|
9972
|
-
private _getMaxNumberOfObjects;
|
|
9973
|
-
private _instantiateProvider;
|
|
9974
|
-
private _instantiate;
|
|
9975
|
-
private _getByReflectiveDependency;
|
|
9976
|
-
private _getByKey;
|
|
9977
|
-
private _getObjByKeyId;
|
|
9978
|
-
get displayName(): string;
|
|
9979
|
-
toString(): string;
|
|
9980
|
-
}
|
|
9981
|
-
|
|
9982
|
-
/**
|
|
9983
|
-
* `Dependency` is used by the framework to extend DI.
|
|
9984
|
-
* This is internal to Angular and should not be used directly.
|
|
9985
|
-
*/
|
|
9986
|
-
export declare class ɵangular_packages_core_core_e {
|
|
9987
|
-
key: ReflectiveKey;
|
|
9988
|
-
optional: boolean;
|
|
9989
|
-
visibility: Self | SkipSelf | null;
|
|
9990
|
-
constructor(key: ReflectiveKey, optional: boolean, visibility: Self | SkipSelf | null);
|
|
9991
|
-
static fromKey(key: ReflectiveKey): ɵangular_packages_core_core_e;
|
|
9992
|
-
}
|
|
9993
|
-
|
|
9994
|
-
/**
|
|
9995
|
-
* Resolve a list of Providers.
|
|
9996
|
-
*/
|
|
9997
|
-
export declare function ɵangular_packages_core_core_f(providers: Provider[]): ResolvedReflectiveProvider[];
|
|
9998
|
-
|
|
9999
|
-
export declare function ɵangular_packages_core_core_g(): string;
|
|
10000
|
-
|
|
10001
|
-
/** Injects a Renderer2 for the current component. */
|
|
10002
|
-
export declare function ɵangular_packages_core_core_h(): Renderer2;
|
|
10003
|
-
|
|
10004
|
-
/**
|
|
10005
|
-
* Creates an ElementRef from the most recent node.
|
|
10006
|
-
*
|
|
10007
|
-
* @returns The ElementRef instance to use
|
|
10008
|
-
*/
|
|
10009
|
-
export declare function ɵangular_packages_core_core_i(): ElementRef;
|
|
10010
|
-
|
|
10011
|
-
/**
|
|
10012
|
-
* Creates an ElementRef given a node.
|
|
10013
|
-
*
|
|
10014
|
-
* @param tNode The node for which you'd like an ElementRef
|
|
10015
|
-
* @param lView The view to which the node belongs
|
|
10016
|
-
* @returns The ElementRef instance to use
|
|
10017
|
-
*/
|
|
10018
|
-
export declare function ɵangular_packages_core_core_j(tNode: TNode, lView: ɵangular_packages_core_core_ca): ElementRef;
|
|
10019
|
-
|
|
10020
|
-
export declare function ɵangular_packages_core_core_k(id: string): NgModuleFactory<any>;
|
|
10021
|
-
|
|
10022
|
-
/**
|
|
10023
|
-
* Creates a TemplateRef given a node.
|
|
10024
|
-
*
|
|
10025
|
-
* @returns The TemplateRef instance to use
|
|
10026
|
-
*/
|
|
10027
|
-
export declare function ɵangular_packages_core_core_l<T>(): TemplateRef<T> | null;
|
|
10028
|
-
|
|
10029
|
-
/**
|
|
10030
|
-
* Creates a TemplateRef and stores it on the injector.
|
|
10031
|
-
*
|
|
10032
|
-
* @param hostTNode The node on which a TemplateRef is requested
|
|
10033
|
-
* @param hostLView The `LView` to which the node belongs
|
|
10034
|
-
* @returns The TemplateRef instance or null if we can't create a TemplateRef on a given node type
|
|
10035
|
-
*/
|
|
10036
|
-
export declare function ɵangular_packages_core_core_m<T>(hostTNode: TNode, hostLView: ɵangular_packages_core_core_ca): TemplateRef<T> | null;
|
|
10037
|
-
|
|
10038
|
-
/**
|
|
10039
|
-
* Creates a ViewContainerRef and stores it on the injector. Or, if the ViewContainerRef
|
|
10040
|
-
* already exists, retrieves the existing ViewContainerRef.
|
|
10041
|
-
*
|
|
10042
|
-
* @returns The ViewContainerRef instance to use
|
|
10043
|
-
*/
|
|
10044
|
-
export declare function ɵangular_packages_core_core_n(): ViewContainerRef;
|
|
10045
|
-
|
|
10046
|
-
export declare class ɵangular_packages_core_core_o {
|
|
10047
|
-
readonly listeners: DebugEventListener[];
|
|
10048
|
-
readonly parent: DebugElement | null;
|
|
10049
|
-
readonly nativeNode: any;
|
|
10050
|
-
private readonly _debugContext;
|
|
10051
|
-
constructor(nativeNode: any, parent: DebugNode | null, _debugContext: ɵangular_packages_core_core_bd);
|
|
10052
|
-
get injector(): Injector;
|
|
10053
|
-
get componentInstance(): any;
|
|
10054
|
-
get context(): any;
|
|
10055
|
-
get references(): {
|
|
10056
|
-
[key: string]: any;
|
|
10057
|
-
};
|
|
10058
|
-
get providerTokens(): any[];
|
|
10059
|
-
}
|
|
10060
|
-
|
|
10061
|
-
export declare class ɵangular_packages_core_core_p extends ɵangular_packages_core_core_o implements DebugElement {
|
|
10062
|
-
readonly name: string;
|
|
10063
|
-
readonly properties: {
|
|
10064
|
-
[key: string]: any;
|
|
10065
|
-
};
|
|
10066
|
-
readonly attributes: {
|
|
10067
|
-
[key: string]: string | null;
|
|
10068
|
-
};
|
|
10069
|
-
readonly classes: {
|
|
10070
|
-
[key: string]: boolean;
|
|
10071
|
-
};
|
|
10072
|
-
readonly styles: {
|
|
10073
|
-
[key: string]: string | null;
|
|
10074
|
-
};
|
|
10075
|
-
readonly childNodes: DebugNode[];
|
|
10076
|
-
readonly nativeElement: any;
|
|
10077
|
-
constructor(nativeNode: any, parent: any, _debugContext: ɵangular_packages_core_core_bd);
|
|
10078
|
-
addChild(child: DebugNode): void;
|
|
10079
|
-
removeChild(child: DebugNode): void;
|
|
10080
|
-
insertChildrenAfter(child: DebugNode, newChildren: DebugNode[]): void;
|
|
10081
|
-
insertBefore(refChild: DebugNode, newChild: DebugNode): void;
|
|
10082
|
-
query(predicate: Predicate<DebugElement>): DebugElement;
|
|
10083
|
-
queryAll(predicate: Predicate<DebugElement>): DebugElement[];
|
|
10084
|
-
queryAllNodes(predicate: Predicate<DebugNode>): DebugNode[];
|
|
10085
|
-
get children(): DebugElement[];
|
|
10086
|
-
triggerEventHandler(eventName: string, eventObj: any): void;
|
|
10087
|
-
}
|
|
9494
|
+
/**
|
|
9495
|
+
* Sanitizes the given unsafe, untrusted HTML fragment, and returns HTML text that is safe to add to
|
|
9496
|
+
* the DOM in a browser environment.
|
|
9497
|
+
*/
|
|
9498
|
+
export declare function ɵ_sanitizeHtml(defaultDoc: any, unsafeHtmlInput: string): TrustedHTML | string;
|
|
10088
9499
|
|
|
10089
|
-
export declare function ɵangular_packages_core_core_q(nativeNode: any): DebugNode | null;
|
|
10090
9500
|
|
|
10091
|
-
|
|
10092
|
-
export declare function ɵangular_packages_core_core_r(flags: InjectFlags): ChangeDetectorRef;
|
|
9501
|
+
export declare function ɵ_sanitizeUrl(url: string): string;
|
|
10093
9502
|
|
|
10094
|
-
export declare
|
|
10095
|
-
constructor();
|
|
10096
|
-
supports(obj: Object | null | undefined): boolean;
|
|
10097
|
-
create<V>(trackByFn?: TrackByFunction<V>): DefaultIterableDiffer<V>;
|
|
10098
|
-
}
|
|
9503
|
+
export declare const ɵALLOW_MULTIPLE_PLATFORMS: InjectionToken<boolean>;
|
|
10099
9504
|
|
|
10100
|
-
export declare
|
|
10101
|
-
constructor();
|
|
10102
|
-
supports(obj: any): boolean;
|
|
10103
|
-
create<K, V>(): KeyValueDiffer<K, V>;
|
|
10104
|
-
}
|
|
9505
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Html): value is ɵSafeHtml;
|
|
10105
9506
|
|
|
10106
|
-
export declare function
|
|
9507
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.ResourceUrl): value is ɵSafeResourceUrl;
|
|
10107
9508
|
|
|
10108
|
-
export declare function
|
|
9509
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Script): value is ɵSafeScript;
|
|
10109
9510
|
|
|
10110
|
-
export declare function
|
|
9511
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Style): value is ɵSafeStyle;
|
|
10111
9512
|
|
|
10112
|
-
export declare function
|
|
9513
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Url): value is ɵSafeUrl;
|
|
10113
9514
|
|
|
10114
|
-
export declare function
|
|
9515
|
+
export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType): boolean;
|
|
10115
9516
|
|
|
10116
|
-
|
|
10117
|
-
* A built-in [dependency injection token](guide/glossary#di-token)
|
|
10118
|
-
* that is used to configure the root injector for bootstrapping.
|
|
10119
|
-
*/
|
|
10120
|
-
export declare const ɵangular_packages_core_core_z: StaticProvider[];
|
|
9517
|
+
export declare function ɵand(flags: ɵNodeFlags, matchedQueriesDsl: null | [string | number, ɵQueryValueType][], ngContentIndex: null | number, childCount: number, handleEvent?: null | ElementHandleEventFn, templateFactory?: ViewDefinitionFactory): NodeDef;
|
|
10121
9518
|
|
|
10122
9519
|
/**
|
|
10123
9520
|
* Providers that generate a random `APP_ID_TOKEN`.
|
|
@@ -10125,7 +9522,7 @@ export declare const ɵangular_packages_core_core_z: StaticProvider[];
|
|
|
10125
9522
|
*/
|
|
10126
9523
|
export declare const ɵAPP_ID_RANDOM_PROVIDER: {
|
|
10127
9524
|
provide: InjectionToken<string>;
|
|
10128
|
-
useFactory: typeof
|
|
9525
|
+
useFactory: typeof _appIdRandomProviderFactory;
|
|
10129
9526
|
deps: any[];
|
|
10130
9527
|
};
|
|
10131
9528
|
|
|
@@ -10549,10 +9946,11 @@ export declare interface ɵComponentType<T> extends Type<T> {
|
|
|
10549
9946
|
ɵcmp: unknown;
|
|
10550
9947
|
}
|
|
10551
9948
|
|
|
10552
|
-
|
|
10553
9949
|
export declare class ɵConsole {
|
|
10554
9950
|
log(message: string): void;
|
|
10555
9951
|
warn(message: string): void;
|
|
9952
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ɵConsole, never>;
|
|
9953
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ɵConsole>;
|
|
10556
9954
|
}
|
|
10557
9955
|
|
|
10558
9956
|
export declare function ɵCREATE_ATTRIBUTE_DECORATOR__POST_R3__(): AttributeDecorator;
|
|
@@ -10888,6 +10286,8 @@ export declare function ɵgetLocalePluralCase(locale: string): (value: number) =
|
|
|
10888
10286
|
|
|
10889
10287
|
export declare function ɵgetModuleFactory__POST_R3__(id: string): NgModuleFactory<any>;
|
|
10890
10288
|
|
|
10289
|
+
export declare function ɵgetNgModuleById__POST_R3__(id: string): ɵNgModuleType;
|
|
10290
|
+
|
|
10891
10291
|
export declare function ɵgetSanitizationBypassType(value: any): ɵBypassType | null;
|
|
10892
10292
|
|
|
10893
10293
|
export declare type ɵGetterFn = (obj: any) => any;
|
|
@@ -10960,7 +10360,7 @@ export declare interface ɵLContext {
|
|
|
10960
10360
|
/**
|
|
10961
10361
|
* The component's parent view data.
|
|
10962
10362
|
*/
|
|
10963
|
-
lView:
|
|
10363
|
+
lView: LView;
|
|
10964
10364
|
/**
|
|
10965
10365
|
* The index instance of the node.
|
|
10966
10366
|
*/
|
|
@@ -11527,10 +10927,10 @@ export declare class ɵRender3ComponentRef<T> extends ComponentRef<T> {
|
|
|
11527
10927
|
private _rootLView;
|
|
11528
10928
|
private _tNode;
|
|
11529
10929
|
instance: T;
|
|
11530
|
-
hostView:
|
|
10930
|
+
hostView: ɵViewRef<T>;
|
|
11531
10931
|
changeDetectorRef: ChangeDetectorRef;
|
|
11532
10932
|
componentType: Type<T>;
|
|
11533
|
-
constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView:
|
|
10933
|
+
constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: LView, _tNode: TElementNode | TContainerNode | TElementContainerNode);
|
|
11534
10934
|
get injector(): Injector;
|
|
11535
10935
|
destroy(): void;
|
|
11536
10936
|
onDestroy(callback: () => void): void;
|
|
@@ -11723,12 +11123,12 @@ export declare function ɵsetLocaleId(localeId: string): void;
|
|
|
11723
11123
|
export declare type ɵSetterFn = (obj: any, value: any) => void;
|
|
11724
11124
|
|
|
11725
11125
|
/** Store a value in the `data` at a given `index`. */
|
|
11726
|
-
export declare function ɵstore<T>(tView: TView, lView:
|
|
11126
|
+
export declare function ɵstore<T>(tView: TView, lView: LView, index: number, value: T): void;
|
|
11727
11127
|
|
|
11728
11128
|
|
|
11729
11129
|
export declare function ɵstringify(token: any): string;
|
|
11730
11130
|
|
|
11731
|
-
export declare const ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__: typeof
|
|
11131
|
+
export declare const ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__: typeof injectChangeDetectorRef;
|
|
11732
11132
|
|
|
11733
11133
|
export declare const ɵSWITCH_COMPILE_COMPONENT__POST_R3__: typeof ɵcompileComponent;
|
|
11734
11134
|
|
|
@@ -11740,16 +11140,16 @@ export declare const ɵSWITCH_COMPILE_NGMODULE__POST_R3__: typeof ɵcompileNgMod
|
|
|
11740
11140
|
|
|
11741
11141
|
export declare const ɵSWITCH_COMPILE_PIPE__POST_R3__: typeof ɵcompilePipe;
|
|
11742
11142
|
|
|
11743
|
-
export declare const ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__: typeof
|
|
11143
|
+
export declare const ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__: typeof injectElementRef;
|
|
11744
11144
|
|
|
11745
11145
|
|
|
11746
11146
|
export declare const ɵSWITCH_IVY_ENABLED__POST_R3__ = true;
|
|
11747
11147
|
|
|
11748
|
-
export declare const ɵSWITCH_RENDERER2_FACTORY__POST_R3__: typeof
|
|
11148
|
+
export declare const ɵSWITCH_RENDERER2_FACTORY__POST_R3__: typeof injectRenderer2;
|
|
11749
11149
|
|
|
11750
|
-
export declare const ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__: typeof
|
|
11150
|
+
export declare const ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__: typeof injectTemplateRef;
|
|
11751
11151
|
|
|
11752
|
-
export declare const ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__: typeof
|
|
11152
|
+
export declare const ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__: typeof injectViewContainerRef;
|
|
11753
11153
|
|
|
11754
11154
|
export declare function ɵted(checkIndex: number, ngContentIndex: number | null, staticText: string[]): NodeDef;
|
|
11755
11155
|
|
|
@@ -11769,8 +11169,6 @@ export declare function ɵtransitiveScopesFor<T>(moduleType: Type<T>): ɵNgModul
|
|
|
11769
11169
|
*/
|
|
11770
11170
|
export declare function ɵunregisterLocaleData(): void;
|
|
11771
11171
|
|
|
11772
|
-
export declare function ɵunv(view: ViewData, nodeIdx: number, bindingIdx: number, value: any): any;
|
|
11773
|
-
|
|
11774
11172
|
export declare function ɵunwrapSafeValue(value: ɵSafeValue): string;
|
|
11775
11173
|
|
|
11776
11174
|
export declare function ɵunwrapSafeValue<T>(value: T): T;
|
|
@@ -11809,6 +11207,219 @@ export declare const enum ɵViewFlags {
|
|
|
11809
11207
|
OnPush = 2
|
|
11810
11208
|
}
|
|
11811
11209
|
|
|
11210
|
+
export declare class ɵViewRef<T> implements EmbeddedViewRef<T>, InternalViewRef, viewEngine_ChangeDetectorRef_interface {
|
|
11211
|
+
/**
|
|
11212
|
+
* This represents the `LView` associated with the point where `ChangeDetectorRef` was
|
|
11213
|
+
* requested.
|
|
11214
|
+
*
|
|
11215
|
+
* This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
|
|
11216
|
+
*/
|
|
11217
|
+
private _cdRefInjectingView?;
|
|
11218
|
+
private _appRef;
|
|
11219
|
+
private _attachedToViewContainer;
|
|
11220
|
+
get rootNodes(): any[];
|
|
11221
|
+
constructor(
|
|
11222
|
+
/**
|
|
11223
|
+
* This represents `LView` associated with the component when ViewRef is a ChangeDetectorRef.
|
|
11224
|
+
*
|
|
11225
|
+
* When ViewRef is created for a dynamic component, this also represents the `LView` for the
|
|
11226
|
+
* component.
|
|
11227
|
+
*
|
|
11228
|
+
* For a "regular" ViewRef created for an embedded view, this is the `LView` for the embedded
|
|
11229
|
+
* view.
|
|
11230
|
+
*
|
|
11231
|
+
* @internal
|
|
11232
|
+
*/
|
|
11233
|
+
_lView: LView,
|
|
11234
|
+
/**
|
|
11235
|
+
* This represents the `LView` associated with the point where `ChangeDetectorRef` was
|
|
11236
|
+
* requested.
|
|
11237
|
+
*
|
|
11238
|
+
* This may be different from `_lView` if the `_cdRefInjectingView` is an embedded view.
|
|
11239
|
+
*/
|
|
11240
|
+
_cdRefInjectingView?: LView | undefined);
|
|
11241
|
+
get context(): T;
|
|
11242
|
+
set context(value: T);
|
|
11243
|
+
get destroyed(): boolean;
|
|
11244
|
+
destroy(): void;
|
|
11245
|
+
onDestroy(callback: Function): void;
|
|
11246
|
+
/**
|
|
11247
|
+
* Marks a view and all of its ancestors dirty.
|
|
11248
|
+
*
|
|
11249
|
+
* This can be used to ensure an {@link ChangeDetectionStrategy#OnPush OnPush} component is
|
|
11250
|
+
* checked when it needs to be re-rendered but the two normal triggers haven't marked it
|
|
11251
|
+
* dirty (i.e. inputs haven't changed and events haven't fired in the view).
|
|
11252
|
+
*
|
|
11253
|
+
* <!-- TODO: Add a link to a chapter on OnPush components -->
|
|
11254
|
+
*
|
|
11255
|
+
* @usageNotes
|
|
11256
|
+
* ### Example
|
|
11257
|
+
*
|
|
11258
|
+
* ```typescript
|
|
11259
|
+
* @Component({
|
|
11260
|
+
* selector: 'app-root',
|
|
11261
|
+
* template: `Number of ticks: {{numberOfTicks}}`
|
|
11262
|
+
* changeDetection: ChangeDetectionStrategy.OnPush,
|
|
11263
|
+
* })
|
|
11264
|
+
* class AppComponent {
|
|
11265
|
+
* numberOfTicks = 0;
|
|
11266
|
+
*
|
|
11267
|
+
* constructor(private ref: ChangeDetectorRef) {
|
|
11268
|
+
* setInterval(() => {
|
|
11269
|
+
* this.numberOfTicks++;
|
|
11270
|
+
* // the following is required, otherwise the view will not be updated
|
|
11271
|
+
* this.ref.markForCheck();
|
|
11272
|
+
* }, 1000);
|
|
11273
|
+
* }
|
|
11274
|
+
* }
|
|
11275
|
+
* ```
|
|
11276
|
+
*/
|
|
11277
|
+
markForCheck(): void;
|
|
11278
|
+
/**
|
|
11279
|
+
* Detaches the view from the change detection tree.
|
|
11280
|
+
*
|
|
11281
|
+
* Detached views will not be checked during change detection runs until they are
|
|
11282
|
+
* re-attached, even if they are dirty. `detach` can be used in combination with
|
|
11283
|
+
* {@link ChangeDetectorRef#detectChanges detectChanges} to implement local change
|
|
11284
|
+
* detection checks.
|
|
11285
|
+
*
|
|
11286
|
+
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
11287
|
+
* <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
|
|
11288
|
+
*
|
|
11289
|
+
* @usageNotes
|
|
11290
|
+
* ### Example
|
|
11291
|
+
*
|
|
11292
|
+
* The following example defines a component with a large list of readonly data.
|
|
11293
|
+
* Imagine the data changes constantly, many times per second. For performance reasons,
|
|
11294
|
+
* we want to check and update the list every five seconds. We can do that by detaching
|
|
11295
|
+
* the component's change detector and doing a local check every five seconds.
|
|
11296
|
+
*
|
|
11297
|
+
* ```typescript
|
|
11298
|
+
* class DataProvider {
|
|
11299
|
+
* // in a real application the returned data will be different every time
|
|
11300
|
+
* get data() {
|
|
11301
|
+
* return [1,2,3,4,5];
|
|
11302
|
+
* }
|
|
11303
|
+
* }
|
|
11304
|
+
*
|
|
11305
|
+
* @Component({
|
|
11306
|
+
* selector: 'giant-list',
|
|
11307
|
+
* template: `
|
|
11308
|
+
* <li *ngFor="let d of dataProvider.data">Data {{d}}</li>
|
|
11309
|
+
* `,
|
|
11310
|
+
* })
|
|
11311
|
+
* class GiantList {
|
|
11312
|
+
* constructor(private ref: ChangeDetectorRef, private dataProvider: DataProvider) {
|
|
11313
|
+
* ref.detach();
|
|
11314
|
+
* setInterval(() => {
|
|
11315
|
+
* this.ref.detectChanges();
|
|
11316
|
+
* }, 5000);
|
|
11317
|
+
* }
|
|
11318
|
+
* }
|
|
11319
|
+
*
|
|
11320
|
+
* @Component({
|
|
11321
|
+
* selector: 'app',
|
|
11322
|
+
* providers: [DataProvider],
|
|
11323
|
+
* template: `
|
|
11324
|
+
* <giant-list><giant-list>
|
|
11325
|
+
* `,
|
|
11326
|
+
* })
|
|
11327
|
+
* class App {
|
|
11328
|
+
* }
|
|
11329
|
+
* ```
|
|
11330
|
+
*/
|
|
11331
|
+
detach(): void;
|
|
11332
|
+
/**
|
|
11333
|
+
* Re-attaches a view to the change detection tree.
|
|
11334
|
+
*
|
|
11335
|
+
* This can be used to re-attach views that were previously detached from the tree
|
|
11336
|
+
* using {@link ChangeDetectorRef#detach detach}. Views are attached to the tree by default.
|
|
11337
|
+
*
|
|
11338
|
+
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
11339
|
+
*
|
|
11340
|
+
* @usageNotes
|
|
11341
|
+
* ### Example
|
|
11342
|
+
*
|
|
11343
|
+
* The following example creates a component displaying `live` data. The component will detach
|
|
11344
|
+
* its change detector from the main change detector tree when the component's live property
|
|
11345
|
+
* is set to false.
|
|
11346
|
+
*
|
|
11347
|
+
* ```typescript
|
|
11348
|
+
* class DataProvider {
|
|
11349
|
+
* data = 1;
|
|
11350
|
+
*
|
|
11351
|
+
* constructor() {
|
|
11352
|
+
* setInterval(() => {
|
|
11353
|
+
* this.data = this.data * 2;
|
|
11354
|
+
* }, 500);
|
|
11355
|
+
* }
|
|
11356
|
+
* }
|
|
11357
|
+
*
|
|
11358
|
+
* @Component({
|
|
11359
|
+
* selector: 'live-data',
|
|
11360
|
+
* inputs: ['live'],
|
|
11361
|
+
* template: 'Data: {{dataProvider.data}}'
|
|
11362
|
+
* })
|
|
11363
|
+
* class LiveData {
|
|
11364
|
+
* constructor(private ref: ChangeDetectorRef, private dataProvider: DataProvider) {}
|
|
11365
|
+
*
|
|
11366
|
+
* set live(value) {
|
|
11367
|
+
* if (value) {
|
|
11368
|
+
* this.ref.reattach();
|
|
11369
|
+
* } else {
|
|
11370
|
+
* this.ref.detach();
|
|
11371
|
+
* }
|
|
11372
|
+
* }
|
|
11373
|
+
* }
|
|
11374
|
+
*
|
|
11375
|
+
* @Component({
|
|
11376
|
+
* selector: 'app-root',
|
|
11377
|
+
* providers: [DataProvider],
|
|
11378
|
+
* template: `
|
|
11379
|
+
* Live Update: <input type="checkbox" [(ngModel)]="live">
|
|
11380
|
+
* <live-data [live]="live"><live-data>
|
|
11381
|
+
* `,
|
|
11382
|
+
* })
|
|
11383
|
+
* class AppComponent {
|
|
11384
|
+
* live = true;
|
|
11385
|
+
* }
|
|
11386
|
+
* ```
|
|
11387
|
+
*/
|
|
11388
|
+
reattach(): void;
|
|
11389
|
+
/**
|
|
11390
|
+
* Checks the view and its children.
|
|
11391
|
+
*
|
|
11392
|
+
* This can also be used in combination with {@link ChangeDetectorRef#detach detach} to implement
|
|
11393
|
+
* local change detection checks.
|
|
11394
|
+
*
|
|
11395
|
+
* <!-- TODO: Add a link to a chapter on detach/reattach/local digest -->
|
|
11396
|
+
* <!-- TODO: Add a live demo once ref.detectChanges is merged into master -->
|
|
11397
|
+
*
|
|
11398
|
+
* @usageNotes
|
|
11399
|
+
* ### Example
|
|
11400
|
+
*
|
|
11401
|
+
* The following example defines a component with a large list of readonly data.
|
|
11402
|
+
* Imagine, the data changes constantly, many times per second. For performance reasons,
|
|
11403
|
+
* we want to check and update the list every five seconds.
|
|
11404
|
+
*
|
|
11405
|
+
* We can do that by detaching the component's change detector and doing a local change detection
|
|
11406
|
+
* check every five seconds.
|
|
11407
|
+
*
|
|
11408
|
+
* See {@link ChangeDetectorRef#detach detach} for more information.
|
|
11409
|
+
*/
|
|
11410
|
+
detectChanges(): void;
|
|
11411
|
+
/**
|
|
11412
|
+
* Checks the change detector and its children, and throws if any changes are detected.
|
|
11413
|
+
*
|
|
11414
|
+
* This is used in development mode to verify that running change detection doesn't
|
|
11415
|
+
* introduce other changes.
|
|
11416
|
+
*/
|
|
11417
|
+
checkNoChanges(): void;
|
|
11418
|
+
attachToViewContainerRef(): void;
|
|
11419
|
+
detachFromAppRef(): void;
|
|
11420
|
+
attachToAppRef(appRef: ViewRefTracker): void;
|
|
11421
|
+
}
|
|
11422
|
+
|
|
11812
11423
|
/**
|
|
11813
11424
|
* Wait on component until it is rendered.
|
|
11814
11425
|
*
|
|
@@ -15222,7 +14833,7 @@ export declare function ɵɵtemplate(index: number, templateFn: ComponentTemplat
|
|
|
15222
14833
|
*
|
|
15223
14834
|
* @codeGenApi
|
|
15224
14835
|
*/
|
|
15225
|
-
export declare function ɵɵtemplateRefExtractor(tNode: TNode, lView:
|
|
14836
|
+
export declare function ɵɵtemplateRefExtractor(tNode: TNode, lView: LView): TemplateRef<any> | null;
|
|
15226
14837
|
|
|
15227
14838
|
/**
|
|
15228
14839
|
* Create static text node
|