uno.extensions
uno.extensions copied to clipboard
[MVUX] Builder pattern for Feeds
We should introduce a fluent builder pattern for creating/observing/manipulating Feeds/States on a model.
So Instead of needing to define the model and then subscribe to changes separately:
public record MyModel
{
public IFeed<Something> MyFeed => Feed.Async(.....);
public MyModel()
{
MyFeed.ForEach(.....)
}
}
We should have it all defined as part of a builder flow, something like:
public IFeed<Something> MyFeed => Feed.Async(.....).ForEach(.....);
We could even include add usage for subscribing to reactive messaging:
public record MyModel(IMessenger Messenger)
{
public IFeed<Something> MyFeed => Feed
.Async(.....)
.ForEach(.....)
.Observe(Messenger, something => something.Id);
}