angular/packages/core/src/render3/interfaces
Pawel Kozlowski 20008a6b56 refactor(core): rework runtime implementation to simplify and fix issues (#54103)
This commit changes the approach to the reactive node representing query
results: instead of creating a custom node type we can use a computed -
the main change to get there is representing dirty change notification as
a signal (a counter updated every time a query changes its dirty status).

This change is dictated by simplification (we can avoid creation of a custom
signal type) as well as fixes to the multiple issues not covered by the
initial implementation:
- assuring referential stability of results (ex.: the same array instance
  returned from child queries until results change);
- per-view results collection to avoid a situation where accessing query
  results during view creation would return partial / inconsistent results;
- proper refresh of query results for both live and non-connected consumers.

All the above cases are covered by the additional tests in this commit.

PR Close #54103
2024-02-06 15:04:36 +00:00
..
container.ts refactor(core): Remove LContainerFlags.HasChildViewsToRefresh (#53715) 2024-01-03 13:01:35 -08:00
context.ts perf(core): avoid storing LView in __ngContext__ (#45051) 2022-02-18 13:32:11 -08:00
definition.ts refactor(core): move input signals into own directory (#54200) 2024-02-01 15:58:50 +00:00
document.ts refactor(core): Throw an error when the document is not initialized. (#50143) 2023-05-08 14:35:38 -07:00
i18n.ts refactor(core): remove hack on render3 (#51238) 2023-10-16 17:43:36 +02:00
injector.ts refactor(core): remove hack on render3 (#51238) 2023-10-16 17:43:36 +02:00
lview_tracking.ts perf(core): only track LViews that are referenced in __ngContext__ (#45172) 2022-02-24 23:51:38 +00:00
node.ts refactor(core): detect signal inputs at runtime using input flags (#53571) 2024-01-04 12:07:13 -08:00
projection.ts refactor(core): remove hack on render3 (#51238) 2023-10-16 17:43:36 +02:00
public_definitions.ts refactor(compiler): emit signal input info in d.ts and generate partial compilation output (#53521) 2023-12-13 15:44:00 -08:00
query.ts refactor(core): rework runtime implementation to simplify and fix issues (#54103) 2024-02-06 15:04:36 +00:00
renderer.ts refactor(core): remove hack on render3 (#51238) 2023-10-16 17:43:36 +02:00
renderer_dom.ts refactor(core): remove hack on render3 (#51238) 2023-10-16 17:43:36 +02:00
sanitization.ts feat(core): allow returning Trusted Types from SanitizerFn (#39218) 2020-10-16 08:13:52 -07:00
styling.ts refactor(core): Use intersections on branded types. (#49702) 2023-08-31 20:22:12 +00:00
type_checks.ts refactor(core): initial implementation of {#defer} block runtime (#51347) 2023-08-28 17:09:52 +00:00
view.ts fix(core): TestBed should still use the microtask queue to schedule effects (#53843) 2024-01-11 12:05:57 -08:00