Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix TransformMany #174

Merged
merged 7 commits into from
Nov 5, 2018
Merged

Conversation

Liklainy
Copy link
Contributor

@Liklainy Liklainy commented Nov 1, 2018

Fixes #173
Added Transform interface with transformOnRefresh to cache extensions (similar to list)
Changed TransformMany in SourceCache:

  • enable transformOnRefresh if without childChanges
  • added ToList() to force calculate Select, else Previous items and Current items will be equal
  • in case when there is childChanges there was strange applying of lock - Select was iterated outside locked area

Do I need to make transformOnRefresh optional for TransformMany and add it to interface?
Probably similar stuff must be done for SourceList.

I think, that I have messed up with lock

@Liklainy
Copy link
Contributor Author

Liklainy commented Nov 2, 2018

Added fix for list's TransformMany

For SourceList:
Does list's ManyContainer need the same logic by wrapping destination in Func?
For now iterating IEnumerable is done without lock.

@RolandPheasant
Copy link
Collaborator

Super awesome effort. Much appreciated. I will be back from vacation soon and will take a very detailed look at this.

@RolandPheasant RolandPheasant merged commit eb3e6bf into reactivemarbles:master Nov 5, 2018
@Liklainy Liklainy deleted the fix-transformmany branch November 6, 2018 08:13
@lock lock bot locked and limited conversation to collaborators Jul 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

TransformMany with Refresh
2 participants