Skip to content

0.0.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 29 Jul 11:00
b1f641c

Summary of changes

This new version brings many changes (and improvements) to the API. We are confident this is getting closer to what a first stable release will be like!

Main changes:

  • Dropped all observer methods (observe(Actions|Mutations|State)() in favour of a single new concept of external Effect (a generic class). As a replacement, now you can call mvflow.observeExternalEffects() from a new interface MVFlowWithEffects.

This is an improvement because it makes it explicit what things might be exposed externally from one MVFlow object. Making this explicit will make it obvious if something external is relying on implementation details (and turn it to an explicit dependency).

  • Related with the change above, now you can write a HandlerWithEffects which is similar to the old Handler except it receives one additional lambda that you can call when you want to emit one effect.

  • Another big change is changing the way you call takeView. Now this method is a suspend function and additionally you need to pass a scope. Internally this scope is used to launch some internal coroutines (one for pushing updates to the view and another to get actions from the view).

  • MVFlow is now just an interface instead of being a class. But you can still call MVFlow(...) and you get one instance of it although the actual class returned is a private detail and can be different depending on the parameters you send.

Download

Full list of commits

  • 2085072 - Documentation updates (#7)
  • 2402e20 - Add android sample project (#8)
  • df6822d - Rework takeView API to differentiate between view scope and handler scope (#9)
  • d234c52 - Add external effects to the API (#10)
  • ef78495 - Move view interface into MVFlow (#11)
  • b1f641c - Fix CI scripts (#12)