mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
9e40250d27
Previously the signals implementation maintained separate interfaces for `Producer` and `Consumer` nodes, with implementers choosing to implement one or both interfaces. Operations defined against those interfaces were exposed as importable functions to be called with the object implementing the relevant contract as the first argument. This commit refactors the implementation to merge both abstractions into a single `ReactiveNode` base class, which represents both producers and consumers in the graph. Implementers choose to interact with a subset of the `ReactiveNode` API depending on their role in the graph. Operations are now available as protected methods on the base class, instead of separate functions. PR Close #49529