@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.
Files changed (558) hide show
  1. package/core.d.ts +791 -1180
  2. package/esm2020/core.mjs +5 -0
  3. package/esm2020/index.mjs +14 -0
  4. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  5. package/esm2020/src/application_init.mjs +140 -0
  6. package/esm2020/src/application_module.mjs +130 -0
  7. package/esm2020/src/application_ref.mjs +738 -0
  8. package/{esm2015/src/application_tokens.js → esm2020/src/application_tokens.mjs} +0 -0
  9. package/esm2020/src/change_detection/change_detection.mjs +31 -0
  10. package/esm2020/src/change_detection/change_detection_util.mjs +64 -0
  11. package/esm2020/src/change_detection/change_detector_ref.mjs +89 -0
  12. package/{esm2015/src/change_detection/constants.js → esm2020/src/change_detection/constants.mjs} +0 -0
  13. package/esm2020/src/change_detection/differs/default_iterable_differ.mjs +666 -0
  14. package/{esm2015/src/change_detection/differs/default_keyvalue_differ.js → esm2020/src/change_detection/differs/default_keyvalue_differ.mjs} +0 -0
  15. package/{esm2015/src/change_detection/differs/iterable_differs.js → esm2020/src/change_detection/differs/iterable_differs.mjs} +0 -0
  16. package/{esm2015/src/change_detection/differs/keyvalue_differs.js → esm2020/src/change_detection/differs/keyvalue_differs.mjs} +0 -0
  17. package/{esm2015/src/change_detection/pipe_transform.js → esm2020/src/change_detection/pipe_transform.mjs} +0 -0
  18. package/esm2020/src/change_detection.mjs +14 -0
  19. package/esm2020/src/codegen_private_exports.mjs +11 -0
  20. package/{esm2015/src/compiler/compiler_facade.js → esm2020/src/compiler/compiler_facade.mjs} +0 -0
  21. package/{esm2015/src/compiler/compiler_facade_interface.js → esm2020/src/compiler/compiler_facade_interface.mjs} +1 -1
  22. package/esm2020/src/console.mjs +26 -0
  23. package/esm2020/src/core.mjs +52 -0
  24. package/esm2020/src/core_private_export.mjs +34 -0
  25. package/esm2020/src/core_render3_private_export.mjs +47 -0
  26. package/esm2020/src/debug/debug_node.mjs +625 -0
  27. package/{esm2015/src/debug/proxy.js → esm2020/src/debug/proxy.mjs} +0 -0
  28. package/{esm2015/src/di/forward_ref.js → esm2020/src/di/forward_ref.mjs} +0 -0
  29. package/{esm2015/src/di/index.js → esm2020/src/di/index.mjs} +0 -0
  30. package/{esm2015/src/di/inject_switch.js → esm2020/src/di/inject_switch.mjs} +0 -0
  31. package/esm2020/src/di/injectable.mjs +27 -0
  32. package/esm2020/src/di/injection_token.mjs +82 -0
  33. package/esm2020/src/di/injector.mjs +323 -0
  34. package/esm2020/src/di/injector_compatibility.mjs +185 -0
  35. package/{esm2015/src/di/injector_marker.js → esm2020/src/di/injector_marker.mjs} +0 -0
  36. package/{esm2015/src/di/injector_token.js → esm2020/src/di/injector_token.mjs} +0 -0
  37. package/{esm2015/src/di/interface/defs.js → esm2020/src/di/interface/defs.mjs} +0 -0
  38. package/{esm2015/src/di/interface/injector.js → esm2020/src/di/interface/injector.mjs} +0 -0
  39. package/{esm2015/src/di/interface/provider.js → esm2020/src/di/interface/provider.mjs} +0 -0
  40. package/{esm2015/src/di/jit/environment.js → esm2020/src/di/jit/environment.mjs} +0 -0
  41. package/esm2020/src/di/jit/injectable.mjs +94 -0
  42. package/{esm2015/src/di/jit/util.js → esm2020/src/di/jit/util.mjs} +0 -0
  43. package/esm2020/src/di/metadata.mjs +60 -0
  44. package/esm2020/src/di/metadata_attr.mjs +24 -0
  45. package/{esm2015/src/di/null_injector.js → esm2020/src/di/null_injector.mjs} +0 -0
  46. package/{esm2015/src/di/provider_token.js → esm2020/src/di/provider_token.mjs} +0 -0
  47. package/{esm2015/src/di/r3_injector.js → esm2020/src/di/r3_injector.mjs} +0 -0
  48. package/{esm2015/src/di/reflective_errors.js → esm2020/src/di/reflective_errors.mjs} +0 -0
  49. package/{esm2015/src/di/reflective_injector.js → esm2020/src/di/reflective_injector.mjs} +0 -0
  50. package/{esm2015/src/di/reflective_key.js → esm2020/src/di/reflective_key.mjs} +0 -0
  51. package/{esm2015/src/di/reflective_provider.js → esm2020/src/di/reflective_provider.mjs} +0 -0
  52. package/{esm2015/src/di/scope.js → esm2020/src/di/scope.mjs} +0 -0
  53. package/esm2020/src/di/util.mjs +51 -0
  54. package/{esm2015/src/di.js → esm2020/src/di.mjs} +0 -0
  55. package/{esm2015/src/error_handler.js → esm2020/src/error_handler.mjs} +0 -0
  56. package/{esm2015/src/errors.js → esm2020/src/errors.mjs} +0 -0
  57. package/esm2020/src/event_emitter.mjs +53 -0
  58. package/{esm2015/src/i18n/locale_data_api.js → esm2020/src/i18n/locale_data_api.mjs} +0 -0
  59. package/esm2020/src/i18n/locale_en.mjs +17 -0
  60. package/{esm2015/src/i18n/localization.js → esm2020/src/i18n/localization.mjs} +0 -0
  61. package/{esm2015/src/i18n/tokens.js → esm2020/src/i18n/tokens.mjs} +0 -0
  62. package/{esm2015/src/interface/lifecycle_hooks.js → esm2020/src/interface/lifecycle_hooks.mjs} +0 -0
  63. package/{esm2015/src/interface/simple_change.js → esm2020/src/interface/simple_change.mjs} +0 -0
  64. package/{esm2015/src/interface/type.js → esm2020/src/interface/type.mjs} +0 -0
  65. package/{esm2015/src/ivy_switch.js → esm2020/src/ivy_switch.mjs} +2 -2
  66. package/esm2020/src/linker/compiler.mjs +136 -0
  67. package/{esm2015/src/linker/component_factory.js → esm2020/src/linker/component_factory.mjs} +0 -0
  68. package/{esm2015/src/linker/component_factory_resolver.js → esm2020/src/linker/component_factory_resolver.mjs} +5 -5
  69. package/esm2020/src/linker/element_ref.mjs +59 -0
  70. package/esm2020/src/linker/ng_module_factory.mjs +29 -0
  71. package/esm2020/src/linker/ng_module_factory_loader.mjs +42 -0
  72. package/esm2020/src/linker/ng_module_factory_loader_impl.mjs +10 -0
  73. package/{esm2015/src/linker/ng_module_factory_registration.js → esm2020/src/linker/ng_module_factory_registration.mjs} +2 -2
  74. package/{esm2015/src/linker/query_list.js → esm2020/src/linker/query_list.mjs} +0 -0
  75. package/{esm2015/src/linker/template_ref.js → esm2020/src/linker/template_ref.mjs} +2 -2
  76. package/esm2020/src/linker/view_container_ref.mjs +283 -0
  77. package/{esm2015/src/linker/view_ref.js → esm2020/src/linker/view_ref.mjs} +0 -0
  78. package/esm2020/src/linker.mjs +19 -0
  79. package/esm2020/src/metadata/di.mjs +108 -0
  80. package/esm2020/src/metadata/directives.mjs +112 -0
  81. package/{esm2015/src/metadata/do_boostrap.js → esm2020/src/metadata/do_boostrap.mjs} +0 -0
  82. package/esm2020/src/metadata/ng_module.mjs +42 -0
  83. package/{esm2015/src/metadata/ng_module_def.js → esm2020/src/metadata/ng_module_def.mjs} +0 -0
  84. package/{esm2015/src/metadata/resource_loading.js → esm2020/src/metadata/resource_loading.mjs} +0 -0
  85. package/{esm2015/src/metadata/schema.js → esm2020/src/metadata/schema.mjs} +0 -0
  86. package/{esm2015/src/metadata/view.js → esm2020/src/metadata/view.mjs} +0 -0
  87. package/{esm2015/src/metadata.js → esm2020/src/metadata.mjs} +0 -0
  88. package/{esm2015/src/platform_core_providers.js → esm2020/src/platform_core_providers.mjs} +0 -0
  89. package/{esm2015/src/r3_symbols.js → esm2020/src/r3_symbols.mjs} +0 -0
  90. package/{esm2015/src/reflection/platform_reflection_capabilities.js → esm2020/src/reflection/platform_reflection_capabilities.mjs} +0 -0
  91. package/{esm2015/src/reflection/reflection.js → esm2020/src/reflection/reflection.mjs} +0 -0
  92. package/{esm2015/src/reflection/reflection_capabilities.js → esm2020/src/reflection/reflection_capabilities.mjs} +0 -0
  93. package/{esm2015/src/reflection/reflector.js → esm2020/src/reflection/reflector.mjs} +0 -0
  94. package/{esm2015/src/reflection/types.js → esm2020/src/reflection/types.mjs} +0 -0
  95. package/{esm2015/src/render/api.js → esm2020/src/render/api.mjs} +2 -2
  96. package/{esm2015/src/render/api_flags.js → esm2020/src/render/api_flags.mjs} +0 -0
  97. package/{esm2015/src/render.js → esm2020/src/render.mjs} +0 -0
  98. package/{esm2015/src/render3/assert.js → esm2020/src/render3/assert.mjs} +0 -0
  99. package/{esm2015/src/render3/bindings.js → esm2020/src/render3/bindings.mjs} +0 -0
  100. package/{esm2015/src/render3/collect_native_nodes.js → esm2020/src/render3/collect_native_nodes.mjs} +0 -0
  101. package/esm2020/src/render3/component.mjs +204 -0
  102. package/{esm2015/src/render3/component_ref.js → esm2020/src/render3/component_ref.mjs} +0 -0
  103. package/{esm2015/src/render3/context_discovery.js → esm2020/src/render3/context_discovery.mjs} +0 -0
  104. package/esm2020/src/render3/definition.mjs +296 -0
  105. package/{esm2015/src/render3/definition_factory.js → esm2020/src/render3/definition_factory.mjs} +0 -0
  106. package/{esm2015/src/render3/di.js → esm2020/src/render3/di.mjs} +3 -3
  107. package/{esm2015/src/render3/di_setup.js → esm2020/src/render3/di_setup.mjs} +0 -0
  108. package/esm2020/src/render3/error_code.mjs +42 -0
  109. package/esm2020/src/render3/error_details_base_url.mjs +16 -0
  110. package/{esm2015/src/render3/errors.js → esm2020/src/render3/errors.mjs} +0 -0
  111. package/{esm2015/src/render3/errors_di.js → esm2020/src/render3/errors_di.mjs} +0 -0
  112. package/{esm2015/src/render3/features/copy_definition_feature.js → esm2020/src/render3/features/copy_definition_feature.mjs} +0 -0
  113. package/{esm2015/src/render3/features/inherit_definition_feature.js → esm2020/src/render3/features/inherit_definition_feature.mjs} +0 -0
  114. package/esm2020/src/render3/features/ng_onchanges_feature.mjs +92 -0
  115. package/{esm2015/src/render3/features/providers_feature.js → esm2020/src/render3/features/providers_feature.mjs} +0 -0
  116. package/esm2020/src/render3/fields.mjs +21 -0
  117. package/{esm2015/src/render3/global_utils_api.js → esm2020/src/render3/global_utils_api.mjs} +0 -0
  118. package/{esm2015/src/render3/hooks.js → esm2020/src/render3/hooks.mjs} +0 -0
  119. package/{esm2015/src/render3/i18n/i18n_apply.js → esm2020/src/render3/i18n/i18n_apply.mjs} +0 -0
  120. package/{esm2015/src/render3/i18n/i18n_debug.js → esm2020/src/render3/i18n/i18n_debug.mjs} +0 -0
  121. package/{esm2015/src/render3/i18n/i18n_insert_before_index.js → esm2020/src/render3/i18n/i18n_insert_before_index.mjs} +0 -0
  122. package/{esm2015/src/render3/i18n/i18n_locale_id.js → esm2020/src/render3/i18n/i18n_locale_id.mjs} +0 -0
  123. package/{esm2015/src/render3/i18n/i18n_parse.js → esm2020/src/render3/i18n/i18n_parse.mjs} +0 -0
  124. package/{esm2015/src/render3/i18n/i18n_postprocess.js → esm2020/src/render3/i18n/i18n_postprocess.mjs} +0 -0
  125. package/{esm2015/src/render3/i18n/i18n_tree_shaking.js → esm2020/src/render3/i18n/i18n_tree_shaking.mjs} +0 -0
  126. package/{esm2015/src/render3/i18n/i18n_util.js → esm2020/src/render3/i18n/i18n_util.mjs} +0 -0
  127. package/{esm2015/src/render3/index.js → esm2020/src/render3/index.mjs} +0 -0
  128. package/{esm2015/src/render3/instructions/advance.js → esm2020/src/render3/instructions/advance.mjs} +0 -0
  129. package/{esm2015/src/render3/instructions/all.js → esm2020/src/render3/instructions/all.mjs} +0 -0
  130. package/{esm2015/src/render3/instructions/attribute.js → esm2020/src/render3/instructions/attribute.mjs} +0 -0
  131. package/{esm2015/src/render3/instructions/attribute_interpolation.js → esm2020/src/render3/instructions/attribute_interpolation.mjs} +0 -0
  132. package/{esm2015/src/render3/instructions/change_detection.js → esm2020/src/render3/instructions/change_detection.mjs} +0 -0
  133. package/{esm2015/src/render3/instructions/class_map_interpolation.js → esm2020/src/render3/instructions/class_map_interpolation.mjs} +0 -0
  134. package/{esm2015/src/render3/instructions/di.js → esm2020/src/render3/instructions/di.mjs} +0 -0
  135. package/{esm2015/src/render3/instructions/di_attr.js → esm2020/src/render3/instructions/di_attr.mjs} +0 -0
  136. package/{esm2015/src/render3/instructions/element.js → esm2020/src/render3/instructions/element.mjs} +0 -0
  137. package/{esm2015/src/render3/instructions/element_container.js → esm2020/src/render3/instructions/element_container.mjs} +0 -0
  138. package/{esm2015/src/render3/instructions/get_current_view.js → esm2020/src/render3/instructions/get_current_view.mjs} +0 -0
  139. package/{esm2015/src/render3/instructions/host_property.js → esm2020/src/render3/instructions/host_property.mjs} +0 -0
  140. package/{esm2015/src/render3/instructions/i18n.js → esm2020/src/render3/instructions/i18n.mjs} +0 -0
  141. package/{esm2015/src/render3/instructions/i18n_icu_container_visitor.js → esm2020/src/render3/instructions/i18n_icu_container_visitor.mjs} +0 -0
  142. package/{esm2015/src/render3/instructions/interpolation.js → esm2020/src/render3/instructions/interpolation.mjs} +0 -0
  143. package/{esm2015/src/render3/instructions/listener.js → esm2020/src/render3/instructions/listener.mjs} +0 -0
  144. package/{esm2015/src/render3/instructions/lview_debug.js → esm2020/src/render3/instructions/lview_debug.mjs} +0 -0
  145. package/{esm2015/src/render3/instructions/namespace.js → esm2020/src/render3/instructions/namespace.mjs} +0 -0
  146. package/{esm2015/src/render3/instructions/next_context.js → esm2020/src/render3/instructions/next_context.mjs} +0 -0
  147. package/{esm2015/src/render3/instructions/projection.js → esm2020/src/render3/instructions/projection.mjs} +0 -0
  148. package/{esm2015/src/render3/instructions/property.js → esm2020/src/render3/instructions/property.mjs} +0 -0
  149. package/{esm2015/src/render3/instructions/property_interpolation.js → esm2020/src/render3/instructions/property_interpolation.mjs} +0 -0
  150. package/esm2020/src/render3/instructions/shared.mjs +1811 -0
  151. package/{esm2015/src/render3/instructions/storage.js → esm2020/src/render3/instructions/storage.mjs} +0 -0
  152. package/{esm2015/src/render3/instructions/style_map_interpolation.js → esm2020/src/render3/instructions/style_map_interpolation.mjs} +0 -0
  153. package/{esm2015/src/render3/instructions/style_prop_interpolation.js → esm2020/src/render3/instructions/style_prop_interpolation.mjs} +0 -0
  154. package/{esm2015/src/render3/instructions/styling.js → esm2020/src/render3/instructions/styling.mjs} +0 -0
  155. package/{esm2015/src/render3/instructions/template.js → esm2020/src/render3/instructions/template.mjs} +0 -0
  156. package/{esm2015/src/render3/instructions/text.js → esm2020/src/render3/instructions/text.mjs} +0 -0
  157. package/{esm2015/src/render3/instructions/text_interpolation.js → esm2020/src/render3/instructions/text_interpolation.mjs} +0 -0
  158. package/{esm2015/src/render3/interfaces/container.js → esm2020/src/render3/interfaces/container.mjs} +0 -0
  159. package/{esm2015/src/render3/interfaces/context.js → esm2020/src/render3/interfaces/context.mjs} +0 -0
  160. package/{esm2015/src/render3/interfaces/definition.js → esm2020/src/render3/interfaces/definition.mjs} +0 -0
  161. package/{esm2015/src/render3/interfaces/document.js → esm2020/src/render3/interfaces/document.mjs} +0 -0
  162. package/{esm2015/src/render3/interfaces/i18n.js → esm2020/src/render3/interfaces/i18n.mjs} +0 -0
  163. package/{esm2015/src/render3/interfaces/injector.js → esm2020/src/render3/interfaces/injector.mjs} +0 -0
  164. package/{esm2015/src/render3/interfaces/node.js → esm2020/src/render3/interfaces/node.mjs} +0 -0
  165. package/{esm2015/src/render3/interfaces/player.js → esm2020/src/render3/interfaces/player.mjs} +0 -0
  166. package/{esm2015/src/render3/interfaces/projection.js → esm2020/src/render3/interfaces/projection.mjs} +0 -0
  167. package/{esm2015/src/render3/interfaces/public_definitions.js → esm2020/src/render3/interfaces/public_definitions.mjs} +0 -0
  168. package/{esm2015/src/render3/interfaces/query.js → esm2020/src/render3/interfaces/query.mjs} +0 -0
  169. package/esm2020/src/render3/interfaces/renderer.mjs +27 -0
  170. package/{esm2015/src/render3/interfaces/renderer_dom.js → esm2020/src/render3/interfaces/renderer_dom.mjs} +0 -0
  171. package/{esm2015/src/render3/interfaces/sanitization.js → esm2020/src/render3/interfaces/sanitization.mjs} +0 -0
  172. package/{esm2015/src/render3/interfaces/styling.js → esm2020/src/render3/interfaces/styling.mjs} +0 -0
  173. package/{esm2015/src/render3/interfaces/type_checks.js → esm2020/src/render3/interfaces/type_checks.mjs} +0 -0
  174. package/{esm2015/src/render3/interfaces/view.js → esm2020/src/render3/interfaces/view.mjs} +0 -0
  175. package/esm2020/src/render3/jit/directive.mjs +325 -0
  176. package/esm2020/src/render3/jit/environment.mjs +165 -0
  177. package/{esm2015/src/render3/jit/jit_options.js → esm2020/src/render3/jit/jit_options.mjs} +0 -0
  178. package/{esm2015/src/render3/jit/module.js → esm2020/src/render3/jit/module.mjs} +0 -0
  179. package/esm2020/src/render3/jit/partial.mjs +104 -0
  180. package/{esm2015/src/render3/jit/pipe.js → esm2020/src/render3/jit/pipe.mjs} +0 -0
  181. package/esm2020/src/render3/metadata.mjs +49 -0
  182. package/{esm2015/src/render3/namespaces.js → esm2020/src/render3/namespaces.mjs} +0 -0
  183. package/esm2020/src/render3/ng_module_ref.mjs +119 -0
  184. package/{esm2015/src/render3/node_assert.js → esm2020/src/render3/node_assert.mjs} +0 -0
  185. package/{esm2015/src/render3/node_manipulation.js → esm2020/src/render3/node_manipulation.mjs} +0 -0
  186. package/{esm2015/src/render3/node_manipulation_i18n.js → esm2020/src/render3/node_manipulation_i18n.mjs} +0 -0
  187. package/{esm2015/src/render3/node_selector_matcher.js → esm2020/src/render3/node_selector_matcher.mjs} +0 -0
  188. package/esm2020/src/render3/pipe.mjs +184 -0
  189. package/{esm2015/src/render3/profiler.js → esm2020/src/render3/profiler.mjs} +0 -0
  190. package/{esm2015/src/render3/pure_function.js → esm2020/src/render3/pure_function.mjs} +0 -0
  191. package/{esm2015/src/render3/query.js → esm2020/src/render3/query.mjs} +0 -0
  192. package/{esm2015/src/render3/state.js → esm2020/src/render3/state.mjs} +0 -0
  193. package/{esm2015/src/render3/styling/class_differ.js → esm2020/src/render3/styling/class_differ.mjs} +0 -0
  194. package/{esm2015/src/render3/styling/static_styling.js → esm2020/src/render3/styling/static_styling.mjs} +0 -0
  195. package/{esm2015/src/render3/styling/style_binding_list.js → esm2020/src/render3/styling/style_binding_list.mjs} +0 -0
  196. package/{esm2015/src/render3/styling/styling_parser.js → esm2020/src/render3/styling/styling_parser.mjs} +0 -0
  197. package/{esm2015/src/render3/tokens.js → esm2020/src/render3/tokens.mjs} +0 -0
  198. package/{esm2015/src/render3/util/attrs_utils.js → esm2020/src/render3/util/attrs_utils.mjs} +0 -0
  199. package/{esm2015/src/render3/util/change_detection_utils.js → esm2020/src/render3/util/change_detection_utils.mjs} +0 -0
  200. package/{esm2015/src/render3/util/debug_utils.js → esm2020/src/render3/util/debug_utils.mjs} +0 -0
  201. package/esm2020/src/render3/util/discovery_utils.mjs +411 -0
  202. package/esm2020/src/render3/util/global_utils.mjs +77 -0
  203. package/{esm2015/src/render3/util/injector_utils.js → esm2020/src/render3/util/injector_utils.mjs} +0 -0
  204. package/esm2020/src/render3/util/misc_utils.mjs +61 -0
  205. package/{esm2015/src/render3/util/stringify_utils.js → esm2020/src/render3/util/stringify_utils.mjs} +0 -0
  206. package/{esm2015/src/render3/util/view_traversal_utils.js → esm2020/src/render3/util/view_traversal_utils.mjs} +0 -0
  207. package/{esm2015/src/render3/util/view_utils.js → esm2020/src/render3/util/view_utils.mjs} +0 -0
  208. package/{esm2015/src/render3/view_engine_compatibility_prebound.js → esm2020/src/render3/view_engine_compatibility_prebound.mjs} +0 -0
  209. package/{esm2015/src/render3/view_ref.js → esm2020/src/render3/view_ref.mjs} +0 -0
  210. package/{esm2015/src/sanitization/bypass.js → esm2020/src/sanitization/bypass.mjs} +0 -0
  211. package/{esm2015/src/sanitization/html_sanitizer.js → esm2020/src/sanitization/html_sanitizer.mjs} +0 -0
  212. package/{esm2015/src/sanitization/inert_body.js → esm2020/src/sanitization/inert_body.mjs} +3 -3
  213. package/{esm2015/src/sanitization/sanitization.js → esm2020/src/sanitization/sanitization.mjs} +0 -0
  214. package/{esm2015/src/sanitization/sanitizer.js → esm2020/src/sanitization/sanitizer.mjs} +0 -0
  215. package/{esm2015/src/sanitization/security.js → esm2020/src/sanitization/security.mjs} +0 -0
  216. package/{esm2015/src/sanitization/url_sanitizer.js → esm2020/src/sanitization/url_sanitizer.mjs} +0 -0
  217. package/esm2020/src/testability/testability.mjs +258 -0
  218. package/{esm2015/src/util/array_utils.js → esm2020/src/util/array_utils.mjs} +0 -0
  219. package/{esm2015/src/util/assert.js → esm2020/src/util/assert.mjs} +0 -0
  220. package/{esm2015/src/util/char_code.js → esm2020/src/util/char_code.mjs} +0 -0
  221. package/{esm2015/src/util/closure.js → esm2020/src/util/closure.mjs} +0 -0
  222. package/{esm2015/src/util/comparison.js → esm2020/src/util/comparison.mjs} +0 -0
  223. package/{esm2015/src/util/decorators.js → esm2020/src/util/decorators.mjs} +0 -0
  224. package/{esm2015/src/util/dom.js → esm2020/src/util/dom.mjs} +0 -0
  225. package/{esm2015/src/util/empty.js → esm2020/src/util/empty.mjs} +0 -0
  226. package/{esm2015/src/util/errors.js → esm2020/src/util/errors.mjs} +0 -0
  227. package/{esm2015/src/util/global.js → esm2020/src/util/global.mjs} +0 -0
  228. package/{esm2015/src/util/is_dev_mode.js → esm2020/src/util/is_dev_mode.mjs} +0 -0
  229. package/{esm2015/src/util/iterable.js → esm2020/src/util/iterable.mjs} +0 -0
  230. package/{esm2015/src/util/lang.js → esm2020/src/util/lang.mjs} +0 -0
  231. package/{esm2015/src/util/microtask.js → esm2020/src/util/microtask.mjs} +0 -0
  232. package/{esm2015/src/util/named_array_type.js → esm2020/src/util/named_array_type.mjs} +0 -0
  233. package/{esm2015/src/util/ng_dev_mode.js → esm2020/src/util/ng_dev_mode.mjs} +0 -0
  234. package/{esm2015/src/util/ng_i18n_closure_mode.js → esm2020/src/util/ng_i18n_closure_mode.mjs} +0 -0
  235. package/{esm2015/src/util/ng_jit_mode.js → esm2020/src/util/ng_jit_mode.mjs} +0 -0
  236. package/{esm2015/src/util/ng_reflect.js → esm2020/src/util/ng_reflect.mjs} +0 -0
  237. package/{esm2015/src/util/noop.js → esm2020/src/util/noop.mjs} +0 -0
  238. package/{esm2015/src/util/property.js → esm2020/src/util/property.mjs} +0 -0
  239. package/{esm2015/src/util/raf.js → esm2020/src/util/raf.mjs} +0 -0
  240. package/{esm2015/src/util/security/trusted_type_defs.js → esm2020/src/util/security/trusted_type_defs.mjs} +0 -0
  241. package/esm2020/src/util/security/trusted_types.mjs +130 -0
  242. package/esm2020/src/util/security/trusted_types_bypass.mjs +83 -0
  243. package/{esm2015/src/util/stringify.js → esm2020/src/util/stringify.mjs} +0 -0
  244. package/{esm2015/src/util/symbol.js → esm2020/src/util/symbol.mjs} +0 -0
  245. package/{esm2015/src/version.js → esm2020/src/version.mjs} +1 -1
  246. package/{esm2015/src/view/element.js → esm2020/src/view/element.mjs} +0 -0
  247. package/{esm2015/src/view/entrypoint.js → esm2020/src/view/entrypoint.mjs} +0 -0
  248. package/{esm2015/src/view/errors.js → esm2020/src/view/errors.mjs} +0 -0
  249. package/{esm2015/src/view/index.js → esm2020/src/view/index.mjs} +2 -2
  250. package/{esm2015/src/view/ng_content.js → esm2020/src/view/ng_content.mjs} +0 -0
  251. package/{esm2015/src/view/ng_module.js → esm2020/src/view/ng_module.mjs} +0 -0
  252. package/esm2020/src/view/provider.mjs +490 -0
  253. package/{esm2015/src/view/provider_flags.js → esm2020/src/view/provider_flags.mjs} +0 -0
  254. package/{esm2015/src/view/pure_expression.js → esm2020/src/view/pure_expression.mjs} +0 -0
  255. package/{esm2015/src/view/query.js → esm2020/src/view/query.mjs} +0 -0
  256. package/{esm2015/src/view/refs.js → esm2020/src/view/refs.mjs} +0 -0
  257. package/{esm2015/src/view/services.js → esm2020/src/view/services.mjs} +0 -0
  258. package/{esm2015/src/view/text.js → esm2020/src/view/text.mjs} +0 -0
  259. package/{esm2015/src/view/types.js → esm2020/src/view/types.mjs} +0 -0
  260. package/esm2020/src/view/util.mjs +369 -0
  261. package/{esm2015/src/view/view.js → esm2020/src/view/view.mjs} +0 -0
  262. package/{esm2015/src/view/view_attach.js → esm2020/src/view/view_attach.mjs} +0 -0
  263. package/{esm2015/src/zone/ng_zone.js → esm2020/src/zone/ng_zone.mjs} +0 -0
  264. package/{esm2015/src/zone.js → esm2020/src/zone.mjs} +0 -0
  265. package/{esm2015/testing/index.js → esm2020/testing/index.mjs} +0 -0
  266. package/{esm2015/testing/public_api.js → esm2020/testing/public_api.mjs} +0 -0
  267. package/{esm2015/testing/src/async.js → esm2020/testing/src/async.mjs} +0 -0
  268. package/{esm2015/testing/src/component_fixture.js → esm2020/testing/src/component_fixture.mjs} +0 -0
  269. package/{esm2015/testing/src/fake_async.js → esm2020/testing/src/fake_async.mjs} +0 -0
  270. package/{esm2015/testing/src/lang_utils.js → esm2020/testing/src/lang_utils.mjs} +0 -0
  271. package/esm2020/testing/src/logger.mjs +34 -0
  272. package/{esm2015/testing/src/metadata_override.js → esm2020/testing/src/metadata_override.mjs} +0 -0
  273. package/{esm2015/testing/src/metadata_overrider.js → esm2020/testing/src/metadata_overrider.mjs} +0 -0
  274. package/esm2020/testing/src/ng_zone_mock.mjs +33 -0
  275. package/{esm2015/testing/src/private_export_testing.js → esm2020/testing/src/private_export_testing.mjs} +0 -0
  276. package/esm2020/testing/src/r3_test_bed.mjs +397 -0
  277. package/esm2020/testing/src/r3_test_bed_compiler.mjs +735 -0
  278. package/{esm2015/testing/src/resolvers.js → esm2020/testing/src/resolvers.mjs} +0 -0
  279. package/{esm2015/testing/src/styling.js → esm2020/testing/src/styling.mjs} +0 -0
  280. package/esm2020/testing/src/test_bed.mjs +614 -0
  281. package/esm2020/testing/src/test_bed_common.mjs +28 -0
  282. package/esm2020/testing/src/test_compiler.mjs +69 -0
  283. package/{esm2015/testing/src/test_hooks.js → esm2020/testing/src/test_hooks.mjs} +0 -0
  284. package/{esm2015/testing/src/testing.js → esm2020/testing/src/testing.mjs} +0 -0
  285. package/{esm2015/testing/src/testing_internal.js → esm2020/testing/src/testing_internal.mjs} +0 -0
  286. package/esm2020/testing/testing.mjs +5 -0
  287. package/fesm2015/{core.js → core.mjs} +496 -546
  288. package/fesm2015/core.mjs.map +1 -0
  289. package/fesm2015/{testing.js → testing.mjs} +50 -61
  290. package/fesm2015/testing.mjs.map +1 -0
  291. package/fesm2020/core.mjs +33109 -0
  292. package/fesm2020/core.mjs.map +1 -0
  293. package/fesm2020/testing.mjs +2635 -0
  294. package/fesm2020/testing.mjs.map +1 -0
  295. package/package.json +33 -8
  296. package/schematics/migrations/{move-document → testbed-teardown}/index.d.ts +2 -2
  297. package/schematics/migrations/testbed-teardown/index.js +92 -0
  298. package/schematics/migrations/testbed-teardown/util.d.ts +35 -0
  299. package/schematics/migrations/testbed-teardown/util.js +188 -0
  300. package/schematics/migrations.json +6 -101
  301. package/schematics/package.json +3 -0
  302. package/schematics/utils/import_manager.d.ts +1 -1
  303. package/schematics/utils/import_manager.js +22 -19
  304. package/schematics/utils/load_esm.d.ts +8 -0
  305. package/schematics/utils/load_esm.js +24 -2
  306. package/schematics/utils/ng_component_template.d.ts +1 -1
  307. package/schematics/utils/ng_component_template.js +12 -9
  308. package/schematics/utils/ng_decorators.d.ts +1 -1
  309. package/schematics/utils/ng_decorators.js +1 -1
  310. package/schematics/utils/typescript/class_declaration.d.ts +1 -1
  311. package/schematics/utils/typescript/class_declaration.js +10 -7
  312. package/schematics/utils/typescript/compiler_host.d.ts +1 -1
  313. package/schematics/utils/typescript/compiler_host.js +7 -4
  314. package/schematics/utils/typescript/decorators.d.ts +1 -1
  315. package/schematics/utils/typescript/decorators.js +7 -4
  316. package/schematics/utils/typescript/find_base_classes.d.ts +1 -1
  317. package/schematics/utils/typescript/find_base_classes.js +6 -3
  318. package/schematics/utils/typescript/functions.d.ts +1 -1
  319. package/schematics/utils/typescript/functions.js +9 -6
  320. package/schematics/utils/typescript/imports.d.ts +1 -1
  321. package/schematics/utils/typescript/imports.js +12 -9
  322. package/schematics/utils/typescript/nodes.d.ts +1 -1
  323. package/schematics/utils/typescript/nodes.js +11 -8
  324. package/schematics/utils/typescript/parse_tsconfig.d.ts +1 -1
  325. package/schematics/utils/typescript/parse_tsconfig.js +31 -9
  326. package/schematics/utils/typescript/property_name.d.ts +1 -1
  327. package/schematics/utils/typescript/property_name.js +7 -4
  328. package/schematics/utils/typescript/symbol.d.ts +1 -1
  329. package/schematics/utils/typescript/symbol.js +15 -12
  330. package/testing/package.json +5 -5
  331. package/testing/testing.d.ts +4 -333
  332. package/bundles/core-testing.umd.js +0 -3179
  333. package/bundles/core-testing.umd.js.map +0 -1
  334. package/bundles/core.umd.js +0 -34454
  335. package/bundles/core.umd.js.map +0 -1
  336. package/core.metadata.json +0 -1
  337. package/esm2015/core.externs.js +0 -6
  338. package/esm2015/core.js +0 -38
  339. package/esm2015/index.js +0 -13
  340. package/esm2015/src/application_init.js +0 -142
  341. package/esm2015/src/application_module.js +0 -134
  342. package/esm2015/src/application_ref.js +0 -738
  343. package/esm2015/src/change_detection/change_detection.js +0 -31
  344. package/esm2015/src/change_detection/change_detection_util.js +0 -105
  345. package/esm2015/src/change_detection/change_detector_ref.js +0 -96
  346. package/esm2015/src/change_detection/differs/default_iterable_differ.js +0 -668
  347. package/esm2015/src/change_detection.js +0 -14
  348. package/esm2015/src/codegen_private_exports.js +0 -11
  349. package/esm2015/src/compiler/compiler.externs.js +0 -0
  350. package/esm2015/src/console.js +0 -23
  351. package/esm2015/src/core.js +0 -50
  352. package/esm2015/src/core_private_export.js +0 -35
  353. package/esm2015/src/core_render3_private_export.js +0 -45
  354. package/esm2015/src/debug/debug_node.js +0 -632
  355. package/esm2015/src/di/injectable.js +0 -36
  356. package/esm2015/src/di/injection_token.js +0 -75
  357. package/esm2015/src/di/injector.js +0 -326
  358. package/esm2015/src/di/injector_compatibility.js +0 -187
  359. package/esm2015/src/di/interface/interface.externs.js +0 -0
  360. package/esm2015/src/di/jit/injectable.js +0 -96
  361. package/esm2015/src/di/metadata.js +0 -62
  362. package/esm2015/src/di/metadata_attr.js +0 -24
  363. package/esm2015/src/di/util.js +0 -53
  364. package/esm2015/src/event_emitter.js +0 -54
  365. package/esm2015/src/i18n/locale_en.js +0 -17
  366. package/esm2015/src/interface/interface.externs.js +0 -0
  367. package/esm2015/src/linker/compiler.js +0 -118
  368. package/esm2015/src/linker/element_ref.js +0 -66
  369. package/esm2015/src/linker/ng_module_factory.js +0 -21
  370. package/esm2015/src/linker/ng_module_factory_loader.js +0 -32
  371. package/esm2015/src/linker/view_container_ref.js +0 -290
  372. package/esm2015/src/linker.js +0 -19
  373. package/esm2015/src/metadata/di.js +0 -99
  374. package/esm2015/src/metadata/directives.js +0 -120
  375. package/esm2015/src/metadata/ng_module.js +0 -44
  376. package/esm2015/src/reflection/reflection.externs.js +0 -0
  377. package/esm2015/src/render3/component.js +0 -206
  378. package/esm2015/src/render3/definition.js +0 -299
  379. package/esm2015/src/render3/error_code.js +0 -45
  380. package/esm2015/src/render3/features/ng_onchanges_feature.js +0 -92
  381. package/esm2015/src/render3/fields.js +0 -22
  382. package/esm2015/src/render3/instructions/shared.js +0 -1813
  383. package/esm2015/src/render3/interfaces/renderer.js +0 -29
  384. package/esm2015/src/render3/jit/directive.js +0 -312
  385. package/esm2015/src/render3/jit/environment.js +0 -167
  386. package/esm2015/src/render3/jit/partial.js +0 -105
  387. package/esm2015/src/render3/metadata.js +0 -49
  388. package/esm2015/src/render3/ng_module_ref.js +0 -108
  389. package/esm2015/src/render3/pipe.js +0 -202
  390. package/esm2015/src/render3/util/discovery_utils.js +0 -411
  391. package/esm2015/src/render3/util/global_utils.js +0 -78
  392. package/esm2015/src/render3/util/misc_utils.js +0 -63
  393. package/esm2015/src/testability/testability.js +0 -256
  394. package/esm2015/src/util/security/trusted_types.js +0 -133
  395. package/esm2015/src/util/security/trusted_types_bypass.js +0 -86
  396. package/esm2015/src/util/util.externs.js +0 -0
  397. package/esm2015/src/view/provider.js +0 -490
  398. package/esm2015/src/view/util.js +0 -378
  399. package/esm2015/testing/src/logger.js +0 -32
  400. package/esm2015/testing/src/ng_zone_mock.js +0 -31
  401. package/esm2015/testing/src/r3_test_bed.js +0 -397
  402. package/esm2015/testing/src/r3_test_bed_compiler.js +0 -744
  403. package/esm2015/testing/src/test_bed.js +0 -608
  404. package/esm2015/testing/src/test_bed_common.js +0 -31
  405. package/esm2015/testing/src/test_compiler.js +0 -66
  406. package/esm2015/testing/testing.externs.js +0 -6
  407. package/esm2015/testing/testing.js +0 -7
  408. package/fesm2015/core.js.map +0 -1
  409. package/fesm2015/testing.js.map +0 -1
  410. package/schematics/migrations/abstract-control-parent/index.d.ts +0 -11
  411. package/schematics/migrations/abstract-control-parent/index.js +0 -69
  412. package/schematics/migrations/abstract-control-parent/util.d.ts +0 -14
  413. package/schematics/migrations/abstract-control-parent/util.js +0 -64
  414. package/schematics/migrations/activated-route-snapshot-fragment/index.d.ts +0 -13
  415. package/schematics/migrations/activated-route-snapshot-fragment/index.js +0 -70
  416. package/schematics/migrations/activated-route-snapshot-fragment/util.d.ts +0 -16
  417. package/schematics/migrations/activated-route-snapshot-fragment/util.js +0 -48
  418. package/schematics/migrations/can-activate-with-redirect-to/index.d.ts +0 -11
  419. package/schematics/migrations/can-activate-with-redirect-to/index.js +0 -66
  420. package/schematics/migrations/can-activate-with-redirect-to/util.d.ts +0 -11
  421. package/schematics/migrations/can-activate-with-redirect-to/util.js +0 -70
  422. package/schematics/migrations/deep-shadow-piercing-selector/index.d.ts +0 -10
  423. package/schematics/migrations/deep-shadow-piercing-selector/index.js +0 -49
  424. package/schematics/migrations/dynamic-queries/index.d.ts +0 -13
  425. package/schematics/migrations/dynamic-queries/index.js +0 -73
  426. package/schematics/migrations/dynamic-queries/util.d.ts +0 -25
  427. package/schematics/migrations/dynamic-queries/util.js +0 -81
  428. package/schematics/migrations/initial-navigation/collector.d.ts +0 -22
  429. package/schematics/migrations/initial-navigation/collector.js +0 -119
  430. package/schematics/migrations/initial-navigation/index.d.ts +0 -11
  431. package/schematics/migrations/initial-navigation/index.js +0 -83
  432. package/schematics/migrations/initial-navigation/transform.d.ts +0 -20
  433. package/schematics/migrations/initial-navigation/transform.js +0 -68
  434. package/schematics/migrations/initial-navigation/update_recorder.d.ts +0 -18
  435. package/schematics/migrations/initial-navigation/update_recorder.js +0 -20
  436. package/schematics/migrations/initial-navigation/util.d.ts +0 -12
  437. package/schematics/migrations/initial-navigation/util.js +0 -43
  438. package/schematics/migrations/missing-injectable/definition_collector.d.ts +0 -37
  439. package/schematics/migrations/missing-injectable/definition_collector.js +0 -89
  440. package/schematics/migrations/missing-injectable/index.d.ts +0 -11
  441. package/schematics/migrations/missing-injectable/index.js +0 -122
  442. package/schematics/migrations/missing-injectable/providers_evaluator.d.ts +0 -36
  443. package/schematics/migrations/missing-injectable/providers_evaluator.js +0 -64
  444. package/schematics/migrations/missing-injectable/transform.d.ts +0 -69
  445. package/schematics/migrations/missing-injectable/transform.js +0 -201
  446. package/schematics/migrations/missing-injectable/update_recorder.d.ts +0 -21
  447. package/schematics/migrations/missing-injectable/update_recorder.js +0 -20
  448. package/schematics/migrations/module-with-providers/collector.d.ts +0 -34
  449. package/schematics/migrations/module-with-providers/collector.js +0 -73
  450. package/schematics/migrations/module-with-providers/index.d.ts +0 -13
  451. package/schematics/migrations/module-with-providers/index.js +0 -93
  452. package/schematics/migrations/module-with-providers/transform.d.ts +0 -49
  453. package/schematics/migrations/module-with-providers/transform.js +0 -148
  454. package/schematics/migrations/module-with-providers/util.d.ts +0 -13
  455. package/schematics/migrations/module-with-providers/util.js +0 -40
  456. package/schematics/migrations/move-document/document_import_visitor.d.ts +0 -27
  457. package/schematics/migrations/move-document/document_import_visitor.js +0 -74
  458. package/schematics/migrations/move-document/index.js +0 -93
  459. package/schematics/migrations/move-document/move-import.d.ts +0 -12
  460. package/schematics/migrations/move-document/move-import.js +0 -61
  461. package/schematics/migrations/native-view-encapsulation/index.d.ts +0 -11
  462. package/schematics/migrations/native-view-encapsulation/index.js +0 -63
  463. package/schematics/migrations/native-view-encapsulation/util.d.ts +0 -11
  464. package/schematics/migrations/native-view-encapsulation/util.js +0 -48
  465. package/schematics/migrations/navigation-extras-omissions/index.d.ts +0 -11
  466. package/schematics/migrations/navigation-extras-omissions/index.js +0 -69
  467. package/schematics/migrations/navigation-extras-omissions/util.d.ts +0 -11
  468. package/schematics/migrations/navigation-extras-omissions/util.js +0 -126
  469. package/schematics/migrations/relative-link-resolution/collector.d.ts +0 -22
  470. package/schematics/migrations/relative-link-resolution/collector.js +0 -95
  471. package/schematics/migrations/relative-link-resolution/index.d.ts +0 -11
  472. package/schematics/migrations/relative-link-resolution/index.js +0 -84
  473. package/schematics/migrations/relative-link-resolution/transform.d.ts +0 -22
  474. package/schematics/migrations/relative-link-resolution/transform.js +0 -65
  475. package/schematics/migrations/relative-link-resolution/update_recorder.d.ts +0 -18
  476. package/schematics/migrations/relative-link-resolution/update_recorder.js +0 -20
  477. package/schematics/migrations/relative-link-resolution/util.d.ts +0 -12
  478. package/schematics/migrations/relative-link-resolution/util.js +0 -43
  479. package/schematics/migrations/renderer-to-renderer2/helpers.d.ts +0 -25
  480. package/schematics/migrations/renderer-to-renderer2/helpers.js +0 -238
  481. package/schematics/migrations/renderer-to-renderer2/index.d.ts +0 -14
  482. package/schematics/migrations/renderer-to-renderer2/index.js +0 -135
  483. package/schematics/migrations/renderer-to-renderer2/migration.d.ts +0 -18
  484. package/schematics/migrations/renderer-to-renderer2/migration.js +0 -225
  485. package/schematics/migrations/renderer-to-renderer2/util.d.ts +0 -18
  486. package/schematics/migrations/renderer-to-renderer2/util.js +0 -83
  487. package/schematics/migrations/router-preserve-query-params/index.d.ts +0 -14
  488. package/schematics/migrations/router-preserve-query-params/index.js +0 -72
  489. package/schematics/migrations/router-preserve-query-params/util.d.ts +0 -11
  490. package/schematics/migrations/router-preserve-query-params/util.js +0 -103
  491. package/schematics/migrations/static-queries/angular/directive_inputs.d.ts +0 -11
  492. package/schematics/migrations/static-queries/angular/directive_inputs.js +0 -84
  493. package/schematics/migrations/static-queries/angular/ng_query_visitor.d.ts +0 -45
  494. package/schematics/migrations/static-queries/angular/ng_query_visitor.js +0 -127
  495. package/schematics/migrations/static-queries/angular/query-definition.d.ts +0 -37
  496. package/schematics/migrations/static-queries/angular/query-definition.js +0 -33
  497. package/schematics/migrations/static-queries/angular/super_class.d.ts +0 -15
  498. package/schematics/migrations/static-queries/angular/super_class.js +0 -35
  499. package/schematics/migrations/static-queries/index.d.ts +0 -11
  500. package/schematics/migrations/static-queries/index.js +0 -230
  501. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.d.ts +0 -41
  502. package/schematics/migrations/static-queries/strategies/template_strategy/template_strategy.js +0 -214
  503. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.d.ts +0 -24
  504. package/schematics/migrations/static-queries/strategies/test_strategy/test_strategy.js +0 -38
  505. package/schematics/migrations/static-queries/strategies/timing-strategy.d.ts +0 -19
  506. package/schematics/migrations/static-queries/strategies/timing-strategy.js +0 -20
  507. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.d.ts +0 -82
  508. package/schematics/migrations/static-queries/strategies/usage_strategy/declaration_usage_visitor.js +0 -369
  509. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.d.ts +0 -18
  510. package/schematics/migrations/static-queries/strategies/usage_strategy/super_class_context.js +0 -52
  511. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.d.ts +0 -27
  512. package/schematics/migrations/static-queries/strategies/usage_strategy/template_usage_visitor.js +0 -93
  513. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.d.ts +0 -34
  514. package/schematics/migrations/static-queries/strategies/usage_strategy/usage_strategy.js +0 -169
  515. package/schematics/migrations/static-queries/transform.d.ts +0 -21
  516. package/schematics/migrations/static-queries/transform.js +0 -102
  517. package/schematics/migrations/template-var-assignment/analyze_template.d.ts +0 -20
  518. package/schematics/migrations/template-var-assignment/analyze_template.js +0 -38
  519. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.d.ts +0 -28
  520. package/schematics/migrations/template-var-assignment/angular/html_variable_assignment_visitor.js +0 -80
  521. package/schematics/migrations/template-var-assignment/index.d.ts +0 -11
  522. package/schematics/migrations/template-var-assignment/index.js +0 -101
  523. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.d.ts +0 -14
  524. package/schematics/migrations/undecorated-classes-with-decorated-fields/index.js +0 -114
  525. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.d.ts +0 -63
  526. package/schematics/migrations/undecorated-classes-with-decorated-fields/transform.js +0 -300
  527. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.d.ts +0 -19
  528. package/schematics/migrations/undecorated-classes-with-decorated-fields/update_recorder.js +0 -20
  529. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.d.ts +0 -18
  530. package/schematics/migrations/undecorated-classes-with-di/create_ngc_program.js +0 -57
  531. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.d.ts +0 -18
  532. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/convert_directive_metadata.js +0 -96
  533. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.d.ts +0 -39
  534. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/decorator_rewriter.js +0 -116
  535. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.d.ts +0 -37
  536. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/import_rewrite_visitor.js +0 -126
  537. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.d.ts +0 -10
  538. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/path_format.js +0 -31
  539. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.d.ts +0 -16
  540. package/schematics/migrations/undecorated-classes-with-di/decorator_rewrite/source_file_exports.js +0 -65
  541. package/schematics/migrations/undecorated-classes-with-di/index.d.ts +0 -11
  542. package/schematics/migrations/undecorated-classes-with-di/index.js +0 -195
  543. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.d.ts +0 -38
  544. package/schematics/migrations/undecorated-classes-with-di/ng_declaration_collector.js +0 -142
  545. package/schematics/migrations/undecorated-classes-with-di/transform.d.ts +0 -98
  546. package/schematics/migrations/undecorated-classes-with-di/transform.js +0 -371
  547. package/schematics/migrations/undecorated-classes-with-di/update_recorder.d.ts +0 -20
  548. package/schematics/migrations/undecorated-classes-with-di/update_recorder.js +0 -20
  549. package/schematics/migrations/wait-for-async/index.d.ts +0 -11
  550. package/schematics/migrations/wait-for-async/index.js +0 -98
  551. package/schematics/migrations/wait-for-async/util.d.ts +0 -11
  552. package/schematics/migrations/wait-for-async/util.js +0 -37
  553. package/schematics/migrations/xhr-factory/index.d.ts +0 -10
  554. package/schematics/migrations/xhr-factory/index.js +0 -104
  555. package/src/r3_symbols.d.ts +0 -1025
  556. package/testing/testing.metadata.json +0 -1
  557. package/testing.d.ts +0 -7
  558. package/testing.metadata.json +0 -1
package/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v13.0.0-next.9
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
- * @see [Dynamic Components](guide/dynamic-component-loader)
1218
- * @see [Usage Example](guide/dynamic-component-loader#resolving-components)
1219
- * @see <live-example name="dynamic-component-loader" noDownload></live-example>
1220
- of the code in this cookbook
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, if it exists and has been loaded.
2859
- * Factories for modules that do not specify an `id` cannot be retrieved. Throws if the module
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
- * var myInterface = injector.get(new InjectionToken<MyInterface>('SomeToken'));
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. See below for an example.
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 Example
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 | ɵangular_packages_core_core_ca;
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]: ɵangular_packages_core_core_ca;
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]: ɵangular_packages_core_core_ca | LContainer | null;
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]: ɵangular_packages_core_core_ca[] | null;
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: ɵangular_packages_core_core_ca[] | null;
4221
- readonly host: RElement | RComment | ɵangular_packages_core_core_ca;
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: ɵangular_packages_core_core_ca) => any;
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
- * Human readable version of the `LView`.
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
- * `LView` is a data structure used internally to keep track of views. The `LView` is designed for
4317
- * efficiency and so at times it is difficult to read or write tests which assert on its values. For
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 LViewDebug {
4421
+ declare interface LView extends Array<any> {
4323
4422
  /**
4324
- * Flags associated with the `LView` unpacked into a more readable state.
4423
+ * Human readable representation of the `LView`.
4325
4424
  *
4326
- * See `LViewFlags` for the flag meanings.
4327
- */
4328
- readonly flags: {
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
- readonly tView: TView;
4429
+ debug?: LViewDebug;
4343
4430
  /**
4344
- * Parent view (or container)
4431
+ * The node into which this `LView` is inserted.
4345
4432
  */
4346
- readonly parent: LViewDebug | LContainerDebug | null;
4433
+ [HOST]: RElement | null;
4347
4434
  /**
4348
- * Next sibling to the `LView`.
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 next: LViewDebug | LContainerDebug | null;
4439
+ readonly [TVIEW]: TView;
4440
+ /** Flags for this view. See LViewFlags for more info. */
4441
+ [FLAGS]: LViewFlags;
4351
4442
  /**
4352
- * The context used for evaluation of the `LView`
4443
+ * This may store an {@link LView} or {@link LContainer}.
4353
4444
  *
4354
- * (Usually the component)
4355
- */
4356
- readonly context: {} | null;
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
- * This is only approximate to actual HTML as child `LView`s are removed.
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
- end: number;
4451
+ [PARENT]: LView | LContainer | null;
4408
4452
  /**
4409
- * The length of the range
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
- length: number;
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
- * The merged content of the range. `t` contains data from `TView.data` and `l` contains `LView`
4414
- * data at an index.
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
- content: LViewDebugRangeContent[];
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
- * Index into original `LView` or `TView.data`.
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
- index: number;
4506
+ [CLEANUP]: any[] | null;
4428
4507
  /**
4429
- * Value from the `TView.data[index]` location.
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
- t: any;
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
- * Value from the `LView[index]` location.
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
- l: any;
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
- * Whether or not the view is in creationMode.
4532
+ * The last LView or LContainer beneath this LView in the hierarchy.
4445
4533
  *
4446
- * This must be stored in the view rather than using `data` as a marker so that
4447
- * we can properly support embedded views. Otherwise, when exiting a child view
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
- CreationMode = 4,
4537
+ [CHILD_TAIL]: LView | LContainer | null;
4452
4538
  /**
4453
- * Whether or not this LView instance is on its first processing pass.
4539
+ * View where this view's template was declared.
4454
4540
  *
4455
- * An LView instance is considered to be on its "first pass" until it
4456
- * has completed one creation mode run and one update mode run. At this
4457
- * time, the flag is turned off.
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 `getModuleFactory`.
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 the component factories
4826
- * declared in the `entryComponents` property of the module.
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: ɵangular_packages_core_core_e[];
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: ɵangular_packages_core_core_e[]);
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: ɵangular_packages_core_core_bk | TElementContainerNode | null;
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: ɵangular_packages_core_core_bk | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
7155
- parent: ɵangular_packages_core_core_bk | TElementContainerNode | null;
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: ɵangular_packages_core_core_bk | TContainerNode | null;
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 | ɵangular_packages_core_core_bk | TElementContainerNode;
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: ɵangular_packages_core_core_bk | TElementContainerNode | null;
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: ɵangular_packages_core_core_bk | TElementContainerNode | null;
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: ɵangular_packages_core_core_ca;
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
- * Indicates that the result of a {@link Pipe} transformation has changed even though the
9324
- * reference has not changed.
9325
- *
9326
- * Wrapped values are unwrapped automatically during the change detection, and the unwrapped value
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
- /** Returns a ChangeDetectorRef (a.k.a. a ViewRef) */
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 class ɵangular_packages_core_core_s implements IterableDifferFactory {
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 class ɵangular_packages_core_core_t<K, V> implements KeyValueDifferFactory {
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 ɵangular_packages_core_core_u(): IterableDiffers;
9507
+ export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.ResourceUrl): value is ɵSafeResourceUrl;
10107
9508
 
10108
- export declare function ɵangular_packages_core_core_v(): KeyValueDiffers;
9509
+ export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Script): value is ɵSafeScript;
10109
9510
 
10110
- export declare function ɵangular_packages_core_core_w(): IterableDiffers;
9511
+ export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Style): value is ɵSafeStyle;
10111
9512
 
10112
- export declare function ɵangular_packages_core_core_x(): KeyValueDiffers;
9513
+ export declare function ɵallowSanitizationBypassAndThrow(value: any, type: ɵBypassType.Url): value is ɵSafeUrl;
10113
9514
 
10114
- export declare function ɵangular_packages_core_core_y(locale?: string): string;
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 ɵangular_packages_core_core_g;
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: ɵangular_packages_core_core_ca;
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: ViewRef_2<T>;
10930
+ hostView: ɵViewRef<T>;
11531
10931
  changeDetectorRef: ChangeDetectorRef;
11532
10932
  componentType: Type<T>;
11533
- constructor(componentType: Type<T>, instance: T, location: ElementRef, _rootLView: ɵangular_packages_core_core_ca, _tNode: ɵangular_packages_core_core_bk | TContainerNode | TElementContainerNode);
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: ɵangular_packages_core_core_ca, index: number, value: T): void;
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 ɵangular_packages_core_core_r;
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 ɵangular_packages_core_core_i;
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 ɵangular_packages_core_core_h;
11148
+ export declare const ɵSWITCH_RENDERER2_FACTORY__POST_R3__: typeof injectRenderer2;
11749
11149
 
11750
- export declare const ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__: typeof ɵangular_packages_core_core_l;
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 ɵangular_packages_core_core_n;
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: ɵangular_packages_core_core_ca): TemplateRef<any> | null;
14836
+ export declare function ɵɵtemplateRefExtractor(tNode: TNode, lView: LView): TemplateRef<any> | null;
15226
14837
 
15227
14838
  /**
15228
14839
  * Create static text node