@angular/core 7.2.0-beta.0 → 7.2.0

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 (454) hide show
  1. package/bundles/core-testing.umd.js +194 -128
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +10 -10
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +5582 -4512
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +122 -129
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +12 -12
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.externs.js +45 -35
  12. package/esm2015/core.js +12 -13
  13. package/esm2015/index.js +3 -4
  14. package/esm2015/public_api.js +3 -5
  15. package/esm2015/src/application_init.js +22 -10
  16. package/esm2015/src/application_module.js +6 -5
  17. package/esm2015/src/application_ref.js +94 -37
  18. package/esm2015/src/application_tokens.js +21 -16
  19. package/esm2015/src/change_detection/change_detection.js +8 -7
  20. package/esm2015/src/change_detection/change_detection_util.js +2 -4
  21. package/esm2015/src/change_detection/change_detector_ref.js +2 -3
  22. package/esm2015/src/change_detection/constants.js +30 -32
  23. package/esm2015/src/change_detection/differs/default_iterable_differ.js +108 -29
  24. package/esm2015/src/change_detection/differs/default_keyvalue_differ.js +53 -16
  25. package/esm2015/src/change_detection/differs/iterable_differs.js +100 -90
  26. package/esm2015/src/change_detection/differs/keyvalue_differs.js +85 -73
  27. package/esm2015/src/change_detection/pipe_transform.js +10 -5
  28. package/esm2015/src/change_detection.js +7 -3
  29. package/esm2015/src/codegen_private_exports.js +2 -3
  30. package/esm2015/src/console.js +3 -3
  31. package/esm2015/src/core.js +3 -4
  32. package/esm2015/src/core_private_export.js +2 -3
  33. package/esm2015/src/core_render3_private_export.js +13 -7
  34. package/esm2015/src/debug/debug_node.js +132 -90
  35. package/esm2015/src/di/defs.js +59 -50
  36. package/esm2015/src/di/forward_ref.js +5 -6
  37. package/esm2015/src/di/injectable.js +11 -11
  38. package/esm2015/src/di/injection_token.js +10 -6
  39. package/esm2015/src/di/injector.js +53 -43
  40. package/esm2015/src/di/injector_compatibility.js +13 -12
  41. package/esm2015/src/di/metadata.js +22 -13
  42. package/esm2015/src/di/provider.js +137 -120
  43. package/esm2015/src/di/r3_injector.js +127 -57
  44. package/esm2015/src/di/reflective_errors.js +19 -13
  45. package/esm2015/src/di/reflective_injector.js +20 -16
  46. package/esm2015/src/di/reflective_key.js +7 -5
  47. package/esm2015/src/di/reflective_provider.js +21 -20
  48. package/esm2015/src/di/scope.js +5 -5
  49. package/esm2015/src/di/util.js +13 -14
  50. package/esm2015/src/di.js +2 -3
  51. package/esm2015/src/error_handler.js +5 -4
  52. package/esm2015/src/errors.js +7 -8
  53. package/esm2015/src/event_emitter.js +3 -3
  54. package/esm2015/src/i18n/tokens.js +12 -10
  55. package/esm2015/src/is_dev_mode.js +2 -3
  56. package/esm2015/src/ivy_switch.js +2 -3
  57. package/esm2015/src/linker/compiler.js +9 -12
  58. package/esm2015/src/linker/component_factory.js +2 -3
  59. package/esm2015/src/linker/component_factory_resolver.js +24 -10
  60. package/esm2015/src/linker/element_ref.js +5 -3
  61. package/esm2015/src/linker/ng_module_factory.js +6 -5
  62. package/esm2015/src/linker/ng_module_factory_loader.js +63 -16
  63. package/esm2015/src/linker/query_list.js +16 -14
  64. package/esm2015/src/linker/system_js_ng_module_factory_loader.js +12 -5
  65. package/esm2015/src/linker/template_ref.js +2 -3
  66. package/esm2015/src/linker/view_container_ref.js +2 -3
  67. package/esm2015/src/linker/view_ref.js +13 -7
  68. package/esm2015/src/linker.js +3 -3
  69. package/esm2015/src/metadata/di.js +22 -15
  70. package/esm2015/src/metadata/directives.js +33 -19
  71. package/esm2015/src/metadata/lifecycle_hooks.js +81 -66
  72. package/esm2015/src/metadata/ng_module.js +82 -68
  73. package/esm2015/src/metadata/resource_loading.js +4 -3
  74. package/esm2015/src/metadata/view.js +25 -26
  75. package/esm2015/src/metadata.js +6 -3
  76. package/esm2015/src/platform_core_providers.js +5 -5
  77. package/esm2015/src/profile/profile.js +17 -13
  78. package/esm2015/src/profile/wtf_impl.js +36 -16
  79. package/esm2015/src/r3_symbols.js +18 -5
  80. package/esm2015/src/reflection/platform_reflection_capabilities.js +81 -40
  81. package/esm2015/src/reflection/reflection.js +5 -5
  82. package/esm2015/src/reflection/reflection_capabilities.js +38 -27
  83. package/esm2015/src/reflection/reflector.js +2 -3
  84. package/esm2015/src/reflection/types.js +2 -12
  85. package/esm2015/src/render/api.js +67 -47
  86. package/esm2015/src/render.js +3 -3
  87. package/esm2015/src/render3/assert.js +38 -3
  88. package/esm2015/src/render3/bindings.js +111 -0
  89. package/esm2015/src/render3/component.js +88 -77
  90. package/esm2015/src/render3/component_ref.js +86 -56
  91. package/esm2015/src/render3/context_discovery.js +94 -92
  92. package/esm2015/src/render3/definition.js +58 -51
  93. package/esm2015/src/render3/di.js +206 -166
  94. package/esm2015/src/render3/di_setup.js +51 -31
  95. package/esm2015/src/render3/discovery_utils.js +225 -39
  96. package/esm2015/src/render3/empty.js +28 -0
  97. package/esm2015/src/render3/errors.js +11 -15
  98. package/esm2015/src/render3/features/inherit_definition_feature.js +13 -10
  99. package/esm2015/src/render3/features/ng_onchanges_feature.js +15 -12
  100. package/esm2015/src/render3/features/providers_feature.js +2 -3
  101. package/esm2015/src/render3/fields.js +5 -5
  102. package/esm2015/src/render3/global_utils.js +22 -7
  103. package/esm2015/src/render3/global_utils_api.js +13 -7
  104. package/esm2015/src/render3/hooks.js +21 -26
  105. package/esm2015/src/render3/i18n.js +134 -115
  106. package/esm2015/src/render3/index.js +15 -7
  107. package/esm2015/src/render3/instructions.js +938 -813
  108. package/esm2015/src/render3/interfaces/container.js +37 -6
  109. package/esm2015/src/render3/interfaces/context.js +39 -37
  110. package/esm2015/src/render3/interfaces/definition.js +225 -265
  111. package/esm2015/src/render3/interfaces/i18n.js +179 -151
  112. package/esm2015/src/render3/interfaces/injector.js +95 -13
  113. package/esm2015/src/render3/interfaces/node.js +413 -382
  114. package/esm2015/src/render3/interfaces/player.js +78 -37
  115. package/esm2015/src/render3/interfaces/projection.js +5 -10
  116. package/esm2015/src/render3/interfaces/query.js +66 -60
  117. package/esm2015/src/render3/interfaces/renderer.js +292 -117
  118. package/esm2015/src/render3/interfaces/sanitization.js +2 -6
  119. package/esm2015/src/render3/interfaces/styling.js +322 -111
  120. package/esm2015/src/render3/interfaces/view.js +356 -298
  121. package/esm2015/src/render3/jit/compiler_facade.js +10 -4
  122. package/esm2015/src/render3/jit/compiler_facade_interface.js +195 -152
  123. package/esm2015/src/render3/jit/directive.js +26 -16
  124. package/esm2015/src/render3/jit/environment.js +8 -5
  125. package/esm2015/src/render3/jit/injectable.js +7 -10
  126. package/esm2015/src/render3/jit/module.js +309 -25
  127. package/esm2015/src/render3/jit/pipe.js +2 -3
  128. package/esm2015/src/render3/jit/util.js +2 -3
  129. package/esm2015/src/render3/metadata.js +11 -10
  130. package/esm2015/src/render3/ng_dev_mode.js +5 -6
  131. package/esm2015/src/render3/ng_module_ref.js +48 -22
  132. package/esm2015/src/render3/node_assert.js +2 -3
  133. package/esm2015/src/render3/node_manipulation.js +137 -117
  134. package/esm2015/src/render3/node_selector_matcher.js +46 -19
  135. package/esm2015/src/render3/pipe.js +36 -21
  136. package/esm2015/src/render3/players.js +17 -12
  137. package/esm2015/src/render3/pure_function.js +86 -39
  138. package/esm2015/src/render3/query.js +93 -80
  139. package/esm2015/src/render3/state.js +88 -203
  140. package/esm2015/src/render3/styling/class_and_style_bindings.js +963 -249
  141. package/esm2015/src/render3/styling/core_player_handler.js +6 -4
  142. package/esm2015/src/render3/styling/player_factory.js +3 -4
  143. package/esm2015/src/render3/styling/util.js +69 -31
  144. package/esm2015/src/render3/tokens.js +7 -6
  145. package/esm2015/src/render3/util.js +65 -55
  146. package/esm2015/src/render3/view_engine_compatibility.js +36 -59
  147. package/esm2015/src/render3/view_engine_compatibility_prebound.js +2 -3
  148. package/esm2015/src/render3/view_ref.js +58 -44
  149. package/esm2015/src/sanitization/bypass.js +29 -6
  150. package/esm2015/src/sanitization/html_sanitizer.js +48 -16
  151. package/esm2015/src/sanitization/inert_body.js +33 -18
  152. package/esm2015/src/sanitization/sanitization.js +35 -25
  153. package/esm2015/src/sanitization/security.js +3 -4
  154. package/esm2015/src/sanitization/style_sanitizer.js +10 -7
  155. package/esm2015/src/sanitization/url_sanitizer.js +9 -7
  156. package/esm2015/src/testability/testability.js +72 -42
  157. package/esm2015/src/type.js +6 -8
  158. package/esm2015/src/util/decorators.js +19 -14
  159. package/esm2015/src/util/lang.js +2 -3
  160. package/esm2015/src/util/ng_reflect.js +2 -3
  161. package/esm2015/src/util/noop.js +2 -3
  162. package/esm2015/src/util/property.js +3 -4
  163. package/esm2015/src/util.js +12 -4
  164. package/esm2015/src/version.js +6 -6
  165. package/esm2015/src/view/element.js +17 -17
  166. package/esm2015/src/view/entrypoint.js +15 -5
  167. package/esm2015/src/view/errors.js +4 -5
  168. package/esm2015/src/view/index.js +2 -3
  169. package/esm2015/src/view/ng_content.js +3 -4
  170. package/esm2015/src/view/ng_module.js +2 -3
  171. package/esm2015/src/view/provider.js +89 -24
  172. package/esm2015/src/view/pure_expression.js +14 -15
  173. package/esm2015/src/view/query.js +14 -14
  174. package/esm2015/src/view/refs.js +96 -38
  175. package/esm2015/src/view/services.js +64 -37
  176. package/esm2015/src/view/text.js +5 -6
  177. package/esm2015/src/view/types.js +390 -325
  178. package/esm2015/src/view/util.js +29 -24
  179. package/esm2015/src/view/view.js +43 -36
  180. package/esm2015/src/view/view_attach.js +9 -10
  181. package/esm2015/src/zone/ng_zone.js +29 -28
  182. package/esm2015/src/zone.js +3 -3
  183. package/esm2015/testing/index.js +2 -3
  184. package/esm2015/testing/public_api.js +4 -4
  185. package/esm2015/testing/src/async.js +2 -3
  186. package/esm2015/testing/src/async_fallback.js +8 -7
  187. package/esm2015/testing/src/async_test_completer.js +14 -6
  188. package/esm2015/testing/src/before_each.js +10 -4
  189. package/esm2015/testing/src/component_fixture.js +48 -17
  190. package/esm2015/testing/src/fake_async.js +9 -3
  191. package/esm2015/testing/src/fake_async_fallback.js +5 -5
  192. package/esm2015/testing/src/lang_utils.js +3 -4
  193. package/esm2015/testing/src/logger.js +2 -3
  194. package/esm2015/testing/src/metadata_override.js +2 -6
  195. package/esm2015/testing/src/metadata_overrider.js +9 -8
  196. package/esm2015/testing/src/ng_zone_mock.js +2 -3
  197. package/esm2015/testing/src/private_export_testing.js +2 -3
  198. package/esm2015/testing/src/r3_test_bed.js +324 -174
  199. package/esm2015/testing/src/resolvers.js +28 -11
  200. package/esm2015/testing/src/test_bed.js +123 -54
  201. package/esm2015/testing/src/test_bed_common.js +142 -85
  202. package/esm2015/testing/src/test_compiler.js +2 -3
  203. package/esm2015/testing/src/testing.js +3 -3
  204. package/esm2015/testing/src/testing_internal.js +17 -12
  205. package/esm2015/testing/testing.js +1 -2
  206. package/esm5/core.js +12 -13
  207. package/esm5/index.js +1 -2
  208. package/esm5/public_api.js +1 -2
  209. package/esm5/src/application_init.js +1 -2
  210. package/esm5/src/application_module.js +1 -2
  211. package/esm5/src/application_ref.js +1 -2
  212. package/esm5/src/application_tokens.js +1 -2
  213. package/esm5/src/change_detection/change_detection.js +1 -2
  214. package/esm5/src/change_detection/change_detection_util.js +1 -2
  215. package/esm5/src/change_detection/change_detector_ref.js +1 -2
  216. package/esm5/src/change_detection/constants.js +3 -4
  217. package/esm5/src/change_detection/differs/default_iterable_differ.js +1 -2
  218. package/esm5/src/change_detection/differs/default_keyvalue_differ.js +1 -2
  219. package/esm5/src/change_detection/differs/iterable_differs.js +1 -2
  220. package/esm5/src/change_detection/differs/keyvalue_differs.js +1 -2
  221. package/esm5/src/change_detection/pipe_transform.js +1 -2
  222. package/esm5/src/change_detection.js +1 -2
  223. package/esm5/src/codegen_private_exports.js +1 -2
  224. package/esm5/src/console.js +1 -2
  225. package/esm5/src/core.js +1 -2
  226. package/esm5/src/core_private_export.js +1 -2
  227. package/esm5/src/core_render3_private_export.js +7 -5
  228. package/esm5/src/debug/debug_node.js +79 -58
  229. package/esm5/src/di/defs.js +3 -4
  230. package/esm5/src/di/forward_ref.js +1 -2
  231. package/esm5/src/di/injectable.js +1 -2
  232. package/esm5/src/di/injection_token.js +1 -2
  233. package/esm5/src/di/injector.js +1 -2
  234. package/esm5/src/di/injector_compatibility.js +1 -2
  235. package/esm5/src/di/metadata.js +1 -2
  236. package/esm5/src/di/provider.js +1 -2
  237. package/esm5/src/di/r3_injector.js +48 -28
  238. package/esm5/src/di/reflective_errors.js +1 -2
  239. package/esm5/src/di/reflective_injector.js +1 -2
  240. package/esm5/src/di/reflective_key.js +1 -2
  241. package/esm5/src/di/reflective_provider.js +1 -2
  242. package/esm5/src/di/scope.js +1 -2
  243. package/esm5/src/di/util.js +1 -2
  244. package/esm5/src/di.js +1 -2
  245. package/esm5/src/error_handler.js +1 -2
  246. package/esm5/src/errors.js +1 -2
  247. package/esm5/src/event_emitter.js +1 -2
  248. package/esm5/src/i18n/tokens.js +1 -2
  249. package/esm5/src/is_dev_mode.js +1 -2
  250. package/esm5/src/ivy_switch.js +1 -2
  251. package/esm5/src/linker/compiler.js +1 -2
  252. package/esm5/src/linker/component_factory.js +1 -2
  253. package/esm5/src/linker/component_factory_resolver.js +1 -2
  254. package/esm5/src/linker/element_ref.js +1 -2
  255. package/esm5/src/linker/ng_module_factory.js +1 -2
  256. package/esm5/src/linker/ng_module_factory_loader.js +37 -13
  257. package/esm5/src/linker/query_list.js +1 -2
  258. package/esm5/src/linker/system_js_ng_module_factory_loader.js +1 -2
  259. package/esm5/src/linker/template_ref.js +1 -2
  260. package/esm5/src/linker/view_container_ref.js +1 -2
  261. package/esm5/src/linker/view_ref.js +1 -2
  262. package/esm5/src/linker.js +1 -2
  263. package/esm5/src/metadata/di.js +1 -2
  264. package/esm5/src/metadata/directives.js +1 -2
  265. package/esm5/src/metadata/lifecycle_hooks.js +1 -2
  266. package/esm5/src/metadata/ng_module.js +1 -2
  267. package/esm5/src/metadata/resource_loading.js +1 -2
  268. package/esm5/src/metadata/view.js +1 -2
  269. package/esm5/src/metadata.js +1 -2
  270. package/esm5/src/platform_core_providers.js +1 -2
  271. package/esm5/src/profile/profile.js +1 -2
  272. package/esm5/src/profile/wtf_impl.js +1 -2
  273. package/esm5/src/r3_symbols.js +1 -2
  274. package/esm5/src/reflection/platform_reflection_capabilities.js +1 -2
  275. package/esm5/src/reflection/reflection.js +1 -2
  276. package/esm5/src/reflection/reflection_capabilities.js +1 -2
  277. package/esm5/src/reflection/reflector.js +1 -2
  278. package/esm5/src/reflection/types.js +1 -2
  279. package/esm5/src/render/api.js +1 -2
  280. package/esm5/src/render.js +1 -2
  281. package/esm5/src/render3/assert.js +15 -2
  282. package/esm5/src/render3/bindings.js +63 -0
  283. package/esm5/src/render3/component.js +23 -16
  284. package/esm5/src/render3/component_ref.js +43 -36
  285. package/esm5/src/render3/context_discovery.js +68 -77
  286. package/esm5/src/render3/definition.js +30 -24
  287. package/esm5/src/render3/di.js +142 -135
  288. package/esm5/src/render3/di_setup.js +20 -21
  289. package/esm5/src/render3/discovery_utils.js +167 -36
  290. package/esm5/src/render3/empty.js +22 -0
  291. package/esm5/src/render3/errors.js +9 -12
  292. package/esm5/src/render3/features/inherit_definition_feature.js +3 -5
  293. package/esm5/src/render3/features/ng_onchanges_feature.js +11 -10
  294. package/esm5/src/render3/features/providers_feature.js +1 -2
  295. package/esm5/src/render3/fields.js +1 -2
  296. package/esm5/src/render3/global_utils.js +4 -3
  297. package/esm5/src/render3/global_utils_api.js +2 -3
  298. package/esm5/src/render3/hooks.js +14 -16
  299. package/esm5/src/render3/i18n.js +22 -27
  300. package/esm5/src/render3/index.js +5 -6
  301. package/esm5/src/render3/instructions.js +698 -593
  302. package/esm5/src/render3/interfaces/container.js +10 -3
  303. package/esm5/src/render3/interfaces/context.js +1 -2
  304. package/esm5/src/render3/interfaces/definition.js +1 -2
  305. package/esm5/src/render3/interfaces/i18n.js +1 -2
  306. package/esm5/src/render3/interfaces/injector.js +5 -6
  307. package/esm5/src/render3/interfaces/node.js +1 -2
  308. package/esm5/src/render3/interfaces/player.js +1 -2
  309. package/esm5/src/render3/interfaces/projection.js +1 -2
  310. package/esm5/src/render3/interfaces/query.js +1 -2
  311. package/esm5/src/render3/interfaces/renderer.js +1 -2
  312. package/esm5/src/render3/interfaces/sanitization.js +1 -2
  313. package/esm5/src/render3/interfaces/styling.js +1 -2
  314. package/esm5/src/render3/interfaces/view.js +3 -4
  315. package/esm5/src/render3/jit/compiler_facade.js +1 -2
  316. package/esm5/src/render3/jit/compiler_facade_interface.js +1 -2
  317. package/esm5/src/render3/jit/directive.js +19 -10
  318. package/esm5/src/render3/jit/environment.js +4 -2
  319. package/esm5/src/render3/jit/injectable.js +17 -18
  320. package/esm5/src/render3/jit/module.js +207 -13
  321. package/esm5/src/render3/jit/pipe.js +1 -2
  322. package/esm5/src/render3/jit/util.js +1 -2
  323. package/esm5/src/render3/metadata.js +1 -2
  324. package/esm5/src/render3/ng_dev_mode.js +1 -2
  325. package/esm5/src/render3/ng_module_ref.js +29 -11
  326. package/esm5/src/render3/node_assert.js +1 -2
  327. package/esm5/src/render3/node_manipulation.js +54 -50
  328. package/esm5/src/render3/node_selector_matcher.js +28 -9
  329. package/esm5/src/render3/pipe.js +33 -19
  330. package/esm5/src/render3/players.js +7 -9
  331. package/esm5/src/render3/pure_function.js +48 -38
  332. package/esm5/src/render3/query.js +8 -9
  333. package/esm5/src/render3/state.js +50 -135
  334. package/esm5/src/render3/styling/class_and_style_bindings.js +684 -214
  335. package/esm5/src/render3/styling/core_player_handler.js +1 -2
  336. package/esm5/src/render3/styling/player_factory.js +1 -2
  337. package/esm5/src/render3/styling/util.js +39 -22
  338. package/esm5/src/render3/tokens.js +1 -2
  339. package/esm5/src/render3/util.js +49 -37
  340. package/esm5/src/render3/view_engine_compatibility.js +20 -33
  341. package/esm5/src/render3/view_engine_compatibility_prebound.js +1 -2
  342. package/esm5/src/render3/view_ref.js +33 -30
  343. package/esm5/src/sanitization/bypass.js +1 -2
  344. package/esm5/src/sanitization/html_sanitizer.js +1 -2
  345. package/esm5/src/sanitization/inert_body.js +4 -5
  346. package/esm5/src/sanitization/sanitization.js +25 -20
  347. package/esm5/src/sanitization/security.js +1 -2
  348. package/esm5/src/sanitization/style_sanitizer.js +1 -2
  349. package/esm5/src/sanitization/url_sanitizer.js +1 -2
  350. package/esm5/src/testability/testability.js +1 -2
  351. package/esm5/src/type.js +1 -2
  352. package/esm5/src/util/decorators.js +1 -2
  353. package/esm5/src/util/lang.js +1 -2
  354. package/esm5/src/util/ng_reflect.js +1 -2
  355. package/esm5/src/util/noop.js +1 -2
  356. package/esm5/src/util/property.js +1 -2
  357. package/esm5/src/util.js +1 -2
  358. package/esm5/src/version.js +2 -3
  359. package/esm5/src/view/element.js +1 -2
  360. package/esm5/src/view/entrypoint.js +1 -2
  361. package/esm5/src/view/errors.js +1 -2
  362. package/esm5/src/view/index.js +1 -2
  363. package/esm5/src/view/ng_content.js +1 -2
  364. package/esm5/src/view/ng_module.js +1 -2
  365. package/esm5/src/view/provider.js +1 -2
  366. package/esm5/src/view/pure_expression.js +1 -2
  367. package/esm5/src/view/query.js +1 -2
  368. package/esm5/src/view/refs.js +1 -2
  369. package/esm5/src/view/services.js +1 -2
  370. package/esm5/src/view/text.js +1 -2
  371. package/esm5/src/view/types.js +1 -2
  372. package/esm5/src/view/util.js +1 -2
  373. package/esm5/src/view/view.js +1 -2
  374. package/esm5/src/view/view_attach.js +1 -2
  375. package/esm5/src/zone/ng_zone.js +1 -2
  376. package/esm5/src/zone.js +1 -2
  377. package/esm5/testing/index.js +1 -2
  378. package/esm5/testing/public_api.js +1 -2
  379. package/esm5/testing/src/async.js +1 -2
  380. package/esm5/testing/src/async_fallback.js +1 -2
  381. package/esm5/testing/src/async_test_completer.js +1 -2
  382. package/esm5/testing/src/before_each.js +1 -2
  383. package/esm5/testing/src/component_fixture.js +1 -2
  384. package/esm5/testing/src/fake_async.js +1 -2
  385. package/esm5/testing/src/fake_async_fallback.js +1 -2
  386. package/esm5/testing/src/lang_utils.js +1 -2
  387. package/esm5/testing/src/logger.js +1 -2
  388. package/esm5/testing/src/metadata_override.js +1 -2
  389. package/esm5/testing/src/metadata_overrider.js +1 -2
  390. package/esm5/testing/src/ng_zone_mock.js +1 -2
  391. package/esm5/testing/src/private_export_testing.js +1 -2
  392. package/esm5/testing/src/r3_test_bed.js +182 -121
  393. package/esm5/testing/src/resolvers.js +11 -7
  394. package/esm5/testing/src/test_bed.js +1 -2
  395. package/esm5/testing/src/test_bed_common.js +1 -2
  396. package/esm5/testing/src/test_compiler.js +1 -2
  397. package/esm5/testing/src/testing.js +1 -2
  398. package/esm5/testing/src/testing_internal.js +2 -3
  399. package/esm5/testing/testing.js +1 -2
  400. package/fesm2015/core.js +8560 -6153
  401. package/fesm2015/core.js.map +1 -1
  402. package/fesm2015/testing.js +351 -229
  403. package/fesm2015/testing.js.map +1 -1
  404. package/fesm5/core.js +5541 -4482
  405. package/fesm5/core.js.map +1 -1
  406. package/fesm5/testing.js +185 -130
  407. package/fesm5/testing.js.map +1 -1
  408. package/package.json +1 -1
  409. package/src/change_detection/constants.d.ts +2 -2
  410. package/src/core_render3_private_export.d.ts +6 -3
  411. package/src/di/injectable.d.ts +3 -2
  412. package/src/di/r3_injector.d.ts +1 -1
  413. package/src/linker/ng_module_factory_loader.d.ts +5 -1
  414. package/src/render3/assert.d.ts +6 -0
  415. package/src/render3/bindings.d.ts +20 -0
  416. package/src/render3/component.d.ts +3 -3
  417. package/src/render3/component_ref.d.ts +14 -4
  418. package/src/render3/context_discovery.d.ts +9 -9
  419. package/src/render3/definition.d.ts +8 -23
  420. package/src/render3/di.d.ts +19 -17
  421. package/src/render3/discovery_utils.d.ts +66 -8
  422. package/src/render3/empty.d.ts +16 -0
  423. package/src/render3/errors.d.ts +1 -1
  424. package/src/render3/global_utils_api.d.ts +1 -1
  425. package/src/render3/hooks.d.ts +7 -6
  426. package/src/render3/index.d.ts +4 -4
  427. package/src/render3/instructions.d.ts +163 -118
  428. package/src/render3/interfaces/container.d.ts +9 -8
  429. package/src/render3/interfaces/context.d.ts +3 -3
  430. package/src/render3/interfaces/definition.d.ts +2 -12
  431. package/src/render3/interfaces/i18n.d.ts +25 -25
  432. package/src/render3/interfaces/injector.d.ts +8 -9
  433. package/src/render3/interfaces/node.d.ts +56 -23
  434. package/src/render3/interfaces/renderer.d.ts +2 -1
  435. package/src/render3/interfaces/styling.d.ts +392 -117
  436. package/src/render3/interfaces/view.d.ts +49 -35
  437. package/src/render3/jit/compiler_facade_interface.d.ts +10 -3
  438. package/src/render3/jit/module.d.ts +9 -1
  439. package/src/render3/metadata.d.ts +1 -1
  440. package/src/render3/ng_module_ref.d.ts +8 -6
  441. package/src/render3/node_manipulation.d.ts +21 -27
  442. package/src/render3/node_selector_matcher.d.ts +2 -2
  443. package/src/render3/state.d.ts +11 -38
  444. package/src/render3/styling/class_and_style_bindings.d.ts +130 -43
  445. package/src/render3/styling/util.d.ts +9 -4
  446. package/src/render3/util.d.ts +31 -25
  447. package/src/render3/view_engine_compatibility.d.ts +5 -12
  448. package/src/render3/view_engine_compatibility_prebound.d.ts +2 -2
  449. package/src/render3/view_ref.d.ts +2 -2
  450. package/src/sanitization/sanitization.d.ts +3 -2
  451. package/testing/src/r3_test_bed.d.ts +15 -0
  452. package/testing/src/resolvers.d.ts +2 -2
  453. package/testing/testing.metadata.json +1 -1
  454. package/testing.d.ts +5 -0
@@ -8,7 +8,7 @@
8
8
  import { LQueries } from './query';
9
9
  import { RComment, RElement } from './renderer';
10
10
  import { StylingContext } from './styling';
11
- import { HOST, LViewData, NEXT, PARENT, QUERIES } from './view';
11
+ import { HOST, LView, NEXT, PARENT, QUERIES } from './view';
12
12
  /**
13
13
  * Below are constants for LContainer indices to help us look up LContainer members
14
14
  * without having to remember the specific indices.
@@ -18,10 +18,11 @@ export declare const ACTIVE_INDEX = 0;
18
18
  export declare const VIEWS = 1;
19
19
  export declare const NATIVE = 6;
20
20
  export declare const RENDER_PARENT = 7;
21
+ export declare const LCONTAINER_LENGTH = 8;
21
22
  /**
22
23
  * The state associated with a container.
23
24
  *
24
- * This is an array so that its structure is closer to LViewData. This helps
25
+ * This is an array so that its structure is closer to LView. This helps
25
26
  * when traversing the view tree (which is a mix of containers and component
26
27
  * views), so we can jump to viewOrContainer[NEXT] in the same way regardless
27
28
  * of type.
@@ -42,17 +43,17 @@ export interface LContainer extends Array<any> {
42
43
  * (and don't need to be re-added) and so we can remove views from the DOM when they
43
44
  * are no longer required.
44
45
  */
45
- [VIEWS]: LViewData[];
46
+ [VIEWS]: LView[];
46
47
  /**
47
48
  * Access to the parent view is necessary so we can propagate back
48
49
  * up from inside a container to parent[NEXT].
49
50
  */
50
- [PARENT]: LViewData | null;
51
+ [PARENT]: LView | null;
51
52
  /**
52
53
  * This allows us to jump from a container to a sibling container or component
53
54
  * view with the same parent, so we can remove listeners efficiently.
54
55
  */
55
- [NEXT]: LViewData | LContainer | null;
56
+ [NEXT]: LView | LContainer | null;
56
57
  /**
57
58
  * Queries active for this container - all the views inserted to / removed from
58
59
  * this container are reported to queries referenced here.
@@ -61,13 +62,13 @@ export interface LContainer extends Array<any> {
61
62
  /**
62
63
  * The host element of this LContainer.
63
64
  *
64
- * The host could be an LViewData if this container is on a component node.
65
- * In that case, the component LViewData is its HOST.
65
+ * The host could be an LView if this container is on a component node.
66
+ * In that case, the component LView is its HOST.
66
67
  *
67
68
  * It could also be a styling context if this is a node with a style/class
68
69
  * binding.
69
70
  */
70
- [HOST]: RElement | RComment | StylingContext | LViewData;
71
+ [HOST]: RElement | RComment | StylingContext | LView;
71
72
  /** The comment element that serves as an anchor for this LContainer. */
72
73
  [NATIVE]: RComment;
73
74
  /**
@@ -6,14 +6,14 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { RElement } from './renderer';
9
- import { LViewData } from './view';
9
+ import { LView } from './view';
10
10
  /**
11
11
  * This property will be monkey-patched on elements, components and directives
12
12
  */
13
13
  export declare const MONKEY_PATCH_KEY_NAME = "__ngContext__";
14
14
  /**
15
15
  * The internal view context which is specific to a given DOM element, directive or
16
- * component instance. Each value in here (besides the LViewData and element node details)
16
+ * component instance. Each value in here (besides the LView and element node details)
17
17
  * can be present, null or undefined. If undefined then it implies the value has not been
18
18
  * looked up yet, otherwise, if null, then a lookup was executed and nothing was found.
19
19
  *
@@ -25,7 +25,7 @@ export interface LContext {
25
25
  /**
26
26
  * The component's parent view data.
27
27
  */
28
- lViewData: LViewData;
28
+ lView: LView;
29
29
  /**
30
30
  * The index instance of the node.
31
31
  */
@@ -129,13 +129,6 @@ export interface DirectiveDef<T> extends BaseDef<T> {
129
129
  contentQueries: ((directiveIndex: number) => void) | null;
130
130
  /** Refreshes content queries associated with directives in a given view */
131
131
  contentQueriesRefresh: ((directiveIndex: number, queryIndex: number) => void) | null;
132
- /**
133
- * The number of host bindings (including pure fn bindings) in this directive/component.
134
- *
135
- * Used to calculate the length of the LViewData array for the *parent* component
136
- * of this directive/component.
137
- */
138
- readonly hostVars: number;
139
132
  /** Refreshes host bindings on the associated directive. */
140
133
  hostBindings: HostBindingsFunction<T> | null;
141
134
  /**
@@ -190,14 +183,14 @@ export interface ComponentDef<T> extends DirectiveDef<T> {
190
183
  /**
191
184
  * The number of nodes, local refs, and pipes in this component template.
192
185
  *
193
- * Used to calculate the length of the component's LViewData array, so we
186
+ * Used to calculate the length of the component's LView array, so we
194
187
  * can pre-fill the array and set the binding start index.
195
188
  */
196
189
  readonly consts: number;
197
190
  /**
198
191
  * The number of bindings in this component template (including pure fn bindings).
199
192
  *
200
- * Used to calculate the length of the component's LViewData array, so we
193
+ * Used to calculate the length of the component's LView array, so we
201
194
  * can pre-fill the array and set the host binding start index.
202
195
  */
203
196
  readonly vars: number;
@@ -306,6 +299,3 @@ export declare type PipeDefList = PipeDef<any>[];
306
299
  export declare type PipeTypesOrFactory = (() => DirectiveTypeList) | DirectiveTypeList;
307
300
  export declare type PipeTypeList = (PipeDef<any> | Type<any>)[];
308
301
  export declare const unusedValueExportToPlacateAjd = 1;
309
- export declare const enum InitialStylingFlags {
310
- VALUES_MODE = 1
311
- }
@@ -56,60 +56,60 @@ export interface COMMENT_MARKER {
56
56
  * // For adding text nodes
57
57
  * // ---------------------
58
58
  * // Equivalent to:
59
- * // const node = lViewData[index++] = document.createTextNode('abc');
60
- * // lViewData[1].insertBefore(node, lViewData[2]);
59
+ * // const node = lView[index++] = document.createTextNode('abc');
60
+ * // lView[1].insertBefore(node, lView[2]);
61
61
  * 'abc', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
62
62
  *
63
63
  * // Equivalent to:
64
- * // const node = lViewData[index++] = document.createTextNode('xyz');
65
- * // lViewData[1].appendChild(node);
64
+ * // const node = lView[index++] = document.createTextNode('xyz');
65
+ * // lView[1].appendChild(node);
66
66
  * 'xyz', 1 << SHIFT_PARENT | AppendChild,
67
67
  *
68
68
  * // For adding element nodes
69
69
  * // ---------------------
70
70
  * // Equivalent to:
71
- * // const node = lViewData[index++] = document.createElement('div');
72
- * // lViewData[1].insertBefore(node, lViewData[2]);
71
+ * // const node = lView[index++] = document.createElement('div');
72
+ * // lView[1].insertBefore(node, lView[2]);
73
73
  * ELEMENT_MARKER, 'div', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
74
74
  *
75
75
  * // Equivalent to:
76
- * // const node = lViewData[index++] = document.createElement('div');
77
- * // lViewData[1].appendChild(node);
76
+ * // const node = lView[index++] = document.createElement('div');
77
+ * // lView[1].appendChild(node);
78
78
  * ELEMENT_MARKER, 'div', 1 << SHIFT_PARENT | AppendChild,
79
79
  *
80
80
  * // For adding comment nodes
81
81
  * // ---------------------
82
82
  * // Equivalent to:
83
- * // const node = lViewData[index++] = document.createComment('');
84
- * // lViewData[1].insertBefore(node, lViewData[2]);
83
+ * // const node = lView[index++] = document.createComment('');
84
+ * // lView[1].insertBefore(node, lView[2]);
85
85
  * COMMENT_MARKER, '', 1 << SHIFT_PARENT | 2 << SHIFT_REF | InsertBefore,
86
86
  *
87
87
  * // Equivalent to:
88
- * // const node = lViewData[index++] = document.createComment('');
89
- * // lViewData[1].appendChild(node);
88
+ * // const node = lView[index++] = document.createComment('');
89
+ * // lView[1].appendChild(node);
90
90
  * COMMENT_MARKER, '', 1 << SHIFT_PARENT | AppendChild,
91
91
  *
92
92
  * // For moving existing nodes to a different location
93
93
  * // --------------------------------------------------
94
94
  * // Equivalent to:
95
- * // const node = lViewData[1];
96
- * // lViewData[2].insertBefore(node, lViewData[3]);
95
+ * // const node = lView[1];
96
+ * // lView[2].insertBefore(node, lView[3]);
97
97
  * 1 << SHIFT_REF | Select, 2 << SHIFT_PARENT | 3 << SHIFT_REF | InsertBefore,
98
98
  *
99
99
  * // Equivalent to:
100
- * // const node = lViewData[1];
101
- * // lViewData[2].appendChild(node);
100
+ * // const node = lView[1];
101
+ * // lView[2].appendChild(node);
102
102
  * 1 << SHIFT_REF | Select, 2 << SHIFT_PARENT | AppendChild,
103
103
  *
104
104
  * // For removing existing nodes
105
105
  * // --------------------------------------------------
106
- * // const node = lViewData[1];
107
- * // removeChild(tView.data(1), node, lViewData);
106
+ * // const node = lView[1];
107
+ * // removeChild(tView.data(1), node, lView);
108
108
  * 1 << SHIFT_REF | Remove,
109
109
  *
110
110
  * // For writing attributes
111
111
  * // --------------------------------------------------
112
- * // const node = lViewData[1];
112
+ * // const node = lView[1];
113
113
  * // node.setAttribute('attr', 'value');
114
114
  * 1 << SHIFT_REF | Select, 'attr', 'value'
115
115
  * // NOTE: Select followed by two string (vs select followed by OpCode)
@@ -167,7 +167,7 @@ export declare const enum I18nUpdateOpCode {
167
167
  * // has changed then execute update OpCodes.
168
168
  * // has NOT changed then skip `7` values and start processing next OpCodes.
169
169
  * 0b11, 7,
170
- * // Concatenate `newValue = 'pre'+lViewData[bindIndex-4]+'in'+lViewData[bindIndex-3]+'post';`.
170
+ * // Concatenate `newValue = 'pre'+lView[bindIndex-4]+'in'+lView[bindIndex-3]+'post';`.
171
171
  * 'pre', -4, 'in', -3, 'post',
172
172
  * // Update attribute: `elementAttribute(1, 'title', sanitizerFn(newValue));`
173
173
  * 1 << SHIFT_REF | Attr, 'title', sanitizerFn,
@@ -177,9 +177,9 @@ export declare const enum I18nUpdateOpCode {
177
177
  * // has changed then execute update OpCodes.
178
178
  * // has NOT changed then skip `4` values and start processing next OpCodes.
179
179
  * 0b100, 4,
180
- * // Concatenate `newValue = 'Hello ' + lViewData[bindIndex -2] + '!';`.
180
+ * // Concatenate `newValue = 'Hello ' + lView[bindIndex -2] + '!';`.
181
181
  * 'Hello ', -2, '!',
182
- * // Update text: `lViewData[1].textContent = newValue;`
182
+ * // Update text: `lView[1].textContent = newValue;`
183
183
  * 1 << SHIFT_REF | Text,
184
184
  *
185
185
  * // The following OpCodes represent: `<div i18n>{exp4, plural, ... }">`
@@ -187,14 +187,14 @@ export declare const enum I18nUpdateOpCode {
187
187
  * // has changed then execute update OpCodes.
188
188
  * // has NOT changed then skip `4` values and start processing next OpCodes.
189
189
  * 0b1000, 4,
190
- * // Concatenate `newValue = lViewData[bindIndex -1];`.
190
+ * // Concatenate `newValue = lView[bindIndex -1];`.
191
191
  * -1,
192
- * // Switch ICU: `icuSwitchCase(lViewData[1], 0, newValue);`
192
+ * // Switch ICU: `icuSwitchCase(lView[1], 0, newValue);`
193
193
  * 0 << SHIFT_ICU | 1 << SHIFT_REF | IcuSwitch,
194
194
  *
195
195
  * // Note `changeMask & -1` is always true, so the IcuUpdate will always execute.
196
196
  * -1, 1,
197
- * // Update ICU: `icuUpdateCase(lViewData[1], 0);`
197
+ * // Update ICU: `icuUpdateCase(lView[1], 0);`
198
198
  * 0 << SHIFT_ICU | 1 << SHIFT_REF | IcuUpdate,
199
199
  *
200
200
  * ];
@@ -9,14 +9,14 @@ import { InjectionToken } from '../../di/injection_token';
9
9
  import { InjectFlags } from '../../di/injector_compatibility';
10
10
  import { Type } from '../../type';
11
11
  import { TElementNode } from './node';
12
- import { LViewData, TData } from './view';
12
+ import { LView, TData } from './view';
13
13
  export declare const TNODE = 8;
14
14
  export declare const PARENT_INJECTOR = 8;
15
- export declare const INJECTOR_SIZE = 9;
15
+ export declare const INJECTOR_BLOOM_PARENT_SIZE = 9;
16
16
  /**
17
17
  * Represents a relative location of parent injector.
18
18
  *
19
- * The interfaces encodes number of parents `LViewData`s to traverse and index in the `LViewData`
19
+ * The interfaces encodes number of parents `LView`s to traverse and index in the `LView`
20
20
  * pointing to the parent injector.
21
21
  */
22
22
  export interface RelativeInjectorLocation {
@@ -24,16 +24,15 @@ export interface RelativeInjectorLocation {
24
24
  }
25
25
  export declare const enum RelativeInjectorLocationFlags {
26
26
  InjectorIndexMask = 32767,
27
- AcrossHostBoundary = 32768,
28
27
  ViewOffsetShift = 16,
29
28
  NO_PARENT = -1
30
29
  }
31
30
  export declare const NO_PARENT_INJECTOR: RelativeInjectorLocation;
32
31
  /**
33
- * Each injector is saved in 9 contiguous slots in `LViewData` and 9 contiguous slots in
32
+ * Each injector is saved in 9 contiguous slots in `LView` and 9 contiguous slots in
34
33
  * `TView.data`. This allows us to store information about the current node's tokens (which
35
34
  * can be shared in `TView`) as well as the tokens of its ancestor nodes (which cannot be
36
- * shared, so they live in `LViewData`).
35
+ * shared, so they live in `LView`).
37
36
  *
38
37
  * Each of these slots (aside from the last slot) contains a bloom filter. This bloom filter
39
38
  * determines whether a directive is available on the associated node or not. This prevents us
@@ -41,7 +40,7 @@ export declare const NO_PARENT_INJECTOR: RelativeInjectorLocation;
41
40
  *
42
41
  * See: https://en.wikipedia.org/wiki/Bloom_filter for more about bloom filters.
43
42
  *
44
- * Because all injectors have been flattened into `LViewData` and `TViewData`, they cannot typed
43
+ * Because all injectors have been flattened into `LView` and `TViewData`, they cannot typed
45
44
  * using interfaces as they were previously. The start index of each `LInjector` and `TInjector`
46
45
  * will differ based on where it is flattened into the main array, so it's not possible to know
47
46
  * the indices ahead of time and save their types here. The interfaces are still included here
@@ -137,7 +136,7 @@ export declare class NodeInjectorFactory {
137
136
  * array where existing instances of injectables are stored. This is used in case
138
137
  * of multi shadow is needed. See `multi` field documentation.
139
138
  */
140
- lData: LViewData,
139
+ lView: LView,
141
140
  /**
142
141
  * The TNode of the same element injector.
143
142
  */
@@ -230,7 +229,7 @@ export declare class NodeInjectorFactory {
230
229
  * array where existing instances of injectables are stored. This is used in case
231
230
  * of multi shadow is needed. See `multi` field documentation.
232
231
  */
233
- lData: LViewData,
232
+ lView: LView,
234
233
  /**
235
234
  * The TNode of the same element injector.
236
235
  */
@@ -6,7 +6,7 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { StylingContext } from './styling';
9
- import { LViewData, TView } from './view';
9
+ import { LView, TView } from './view';
10
10
  /**
11
11
  * TNodeType corresponds to the TNode.type property. It contains information
12
12
  * on how to map a particular set of bits in TNode.flags to the node type.
@@ -24,18 +24,14 @@ export declare const enum TNodeType {
24
24
  * Corresponds to the TNode.flags property.
25
25
  */
26
26
  export declare const enum TNodeFlags {
27
- /** The number of directives on this node is encoded on the least significant bits */
28
- DirectiveCountMask = 4095,
29
27
  /** This bit is set if the node is a component */
30
- isComponent = 4096,
28
+ isComponent = 1,
31
29
  /** This bit is set if the node has been projected */
32
- isProjected = 8192,
30
+ isProjected = 2,
33
31
  /** This bit is set if the node has any content queries */
34
- hasContentQuery = 16384,
32
+ hasContentQuery = 4,
35
33
  /** This bit is set if the node has any directives that contain [class properties */
36
- hasClassInput = 32768,
37
- /** The index of the first directive on this node is encoded on the most significant bits */
38
- DirectiveStartingIndexShift = 16
34
+ hasClassInput = 8
39
35
  }
40
36
  /**
41
37
  * Corresponds to the TNode.providerIndexes property.
@@ -49,7 +45,7 @@ export declare const enum TNodeProviderIndexes {
49
45
  CptViewProvidersCountShifter = 65536
50
46
  }
51
47
  /**
52
- * A set of marker values to be used in the attributes arrays. Those markers indicate that some
48
+ * A set of marker values to be used in the attributes arrays. These markers indicate that some
53
49
  * items are not regular attributes and the processing should be adapted accordingly.
54
50
  */
55
51
  export declare const enum AttributeMarker {
@@ -59,13 +55,48 @@ export declare const enum AttributeMarker {
59
55
  * in that order.
60
56
  */
61
57
  NamespaceURI = 0,
58
+ /**
59
+ * Signals class declaration.
60
+ *
61
+ * Each value following `Classes` designates a class name to include on the element.
62
+ * ## Example:
63
+ *
64
+ * Given:
65
+ * ```
66
+ * <div class="foo bar baz">...<d/vi>
67
+ * ```
68
+ *
69
+ * the generated code is:
70
+ * ```
71
+ * var _c1 = [AttributeMarker.Classes, 'foo', 'bar', 'baz'];
72
+ * ```
73
+ */
74
+ Classes = 1,
75
+ /**
76
+ * Signals style declaration.
77
+ *
78
+ * Each pair of values following `Styles` designates a style name and value to include on the
79
+ * element.
80
+ * ## Example:
81
+ *
82
+ * Given:
83
+ * ```
84
+ * <div style="width:100px; height:200px; color:red">...</div>
85
+ * ```
86
+ *
87
+ * the generated code is:
88
+ * ```
89
+ * var _c1 = [AttributeMarker.Styles, 'width', '100px', 'height'. '200px', 'color', 'red'];
90
+ * ```
91
+ */
92
+ Styles = 2,
62
93
  /**
63
94
  * This marker indicates that the following attribute names were extracted from bindings (ex.:
64
95
  * [foo]="exp") and / or event handlers (ex. (bar)="doSth()").
65
96
  * Taking the above bindings and outputs as an example an attributes array could look as follows:
66
97
  * ['class', 'fade in', AttributeMarker.SelectOnly, 'foo', 'bar']
67
98
  */
68
- SelectOnly = 1
99
+ SelectOnly = 3
69
100
  }
70
101
  /**
71
102
  * A combination of:
@@ -88,7 +119,7 @@ export interface TNode {
88
119
  /** The type of the TNode. See TNodeType. */
89
120
  type: TNodeType;
90
121
  /**
91
- * Index of the TNode in TView.data and corresponding native element in LViewData.
122
+ * Index of the TNode in TView.data and corresponding native element in LView.
92
123
  *
93
124
  * This is necessary to get from any TNode to its corresponding native element when
94
125
  * traversing the node tree.
@@ -97,7 +128,7 @@ export interface TNode {
97
128
  */
98
129
  index: number;
99
130
  /**
100
- * The index of the closest injector in this node's LViewData.
131
+ * The index of the closest injector in this node's LView.
101
132
  *
102
133
  * If the index === -1, there is no injector on this node or any ancestor node in this view.
103
134
  *
@@ -111,13 +142,15 @@ export interface TNode {
111
142
  */
112
143
  injectorIndex: number;
113
144
  /**
114
- * This number stores two values using its bits:
115
- *
116
- * - the number of directives on that node (first 12 bits)
117
- * - the starting index of the node's directives in the directives array (last 20 bits).
118
- *
119
- * These two values are necessary so DI can effectively search the directives associated
120
- * with a node without searching the whole directives array.
145
+ * Stores starting index of the directives.
146
+ */
147
+ directiveStart: number;
148
+ /**
149
+ * Stores final exclusive index of the directives.
150
+ */
151
+ directiveEnd: number;
152
+ /**
153
+ * Stores if Node isComponent, isProjected, hasContentQuery and hasClassInput
121
154
  */
122
155
  flags: TNodeFlags;
123
156
  /**
@@ -325,7 +358,7 @@ export interface TContainerNode extends TNode {
325
358
  }
326
359
  /** Static data for an <ng-container> */
327
360
  export interface TElementContainerNode extends TNode {
328
- /** Index in the LViewData[] array. */
361
+ /** Index in the LView[] array. */
329
362
  index: number;
330
363
  child: TElementNode | TTextNode | TContainerNode | TElementContainerNode | TProjectionNode | null;
331
364
  parent: TElementNode | TElementContainerNode | null;
@@ -334,7 +367,7 @@ export interface TElementContainerNode extends TNode {
334
367
  }
335
368
  /** Static data for an ICU expression */
336
369
  export interface TIcuContainerNode extends TNode {
337
- /** Index in the LViewData[] array. */
370
+ /** Index in the LView[] array. */
338
371
  index: number;
339
372
  child: TElementNode | TTextNode | null;
340
373
  parent: TElementNode | TElementContainerNode | null;
@@ -430,4 +463,4 @@ export declare type TNodeWithLocalRefs = TContainerNode | TElementNode | TElemen
430
463
  * - `<div #nativeDivEl>` - `nativeDivEl` should point to the native `<div>` element;
431
464
  * - `<ng-template #tplRef>` - `tplRef` should point to the `TemplateRef` instance;
432
465
  */
433
- export declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: LViewData) => any;
466
+ export declare type LocalRefExtractor = (tNode: TNodeWithLocalRefs, currentView: LView) => any;
@@ -66,7 +66,7 @@ export interface ProceduralRenderer3 {
66
66
  setStyle(el: RElement, style: string, value: any, flags?: RendererStyleFlags2 | RendererStyleFlags3): void;
67
67
  removeStyle(el: RElement, style: string, flags?: RendererStyleFlags2 | RendererStyleFlags3): void;
68
68
  setProperty(el: RElement, name: string, value: any): void;
69
- setValue(node: RText, value: string): void;
69
+ setValue(node: RText | RComment, value: string): void;
70
70
  listen(target: RNode, eventName: string, callback: (event: any) => boolean | void): () => void;
71
71
  }
72
72
  export interface RendererFactory3 {
@@ -120,5 +120,6 @@ export interface RText extends RNode {
120
120
  textContent: string | null;
121
121
  }
122
122
  export interface RComment extends RNode {
123
+ textContent: string | null;
123
124
  }
124
125
  export declare const unusedValueExportToPlacateAjd = 1;