mikebaum / RxUI

A toolkit for reactive (event/stream) based UI development on the JVM
Apache License 2.0
0 stars 0 forks source link

Ensure updates atomic and add merge operator #23

Closed mikebaum closed 8 years ago

mikebaum commented 8 years ago

This PR implements the fix for adding a merge operator as per Issue #19. It also naively addresses issue #22.

Atomic changes are handled by the following:

  1. The PropertyDispatcher has been updated to sort all subscriptions to ensure that binding subscriptions are first. This guarantees that all property values are updated before any lifting. Since all lift operators use the get() method which directly calls backwards through the property chain eventually stopping at a Property, the values returned from get() will always be correct since all properties have updated their value first.
  2. The combine operator has been updated to not emit duplicate values in a row.