[Feature]: TransformOnRefresh parameter for TransformAsync()
Describe the functionality desired 🐞
The Transform() method has a transformOnRefresh parameter that is very handy. It would be nice to have the same parameter available for TransformAsync()
The steps the functionality will provide
You can call TransformAsync(.., transformOnRefresh: true). My scenario is that I am using FilterOnObservable(..).TransformAsync(), and I want the transform to be re-applied when the filtered items change.
Considerations
I have created a RewriteRefreshToAddRemove() extension method, but it is not as elegant as simply having the transformOnRefresh parameter.
Mind providing a comment to your RewriteRefreshToAddRemove() extension method code to assist?
@glennawatson Sure, it's a fairly naive piece of code though:
public static IObservable<IChangeSet<T>> RewriteRefreshToAddRemove<T>(this IObservable<IChangeSet<T>> changSetObs)
{
return changSetObs.Select(v =>
{
var changes = new List<Change<T>>();
foreach (Change<T> change in v)
{
if (change.Reason == ListChangeReason.Refresh)
{
changes.Add(new Change<T>(ListChangeReason.Remove, change.Item.Current));
changes.Add(new Change<T>(ListChangeReason.Add, change.Item.Current));
}
else
{
changes.Add(v);
}
}
return new ChangeSet<T>(changes);
});
}
}
Fixed by #625
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.