gumil / Kaskade

[INACTIVE] Simplifying state management
Apache License 2.0
224 stars 6 forks source link

Add replay functionality #47

Open gumil opened 5 years ago

gumil commented 5 years ago

Ability for Kaskade to save states and replay them later.

Replay action/states could be:

  1. replay(Map<Action, State>)

Optional:

  1. replay(String) string json map of action and states
  2. replay(File) file json of actions and states

We considered JSON as the format since it's more universal than other string markdown formats.

Number 2 and 3 might be implemented later or might be in a separate module to make the main module as lightweight as possible. This also means adding a json parser library and we don't want to add dependencies into the main module. A good idea would be to add an adapter to handle the parsing part.

It's also possible to make replay extensible as possible to be able to create user defined ways in replaying.

This should be started when #24 is done

P1NG2WIN commented 3 years ago

Any progress on it?

gumil commented 3 years ago

Any progress on it?

Hey! Unfortunately this library is inactive as of the moment. I need to rethink the whole thing, if it's still useful to continue developing it. Such as: coroutines native multi threading, which doesn't work well right now. I also noticed in some of projects that I have where I have to implement this library it seems to further complicate the architecture as we have already have StateFlow, LiveData, etc. alternatives that exists in the community. The only use of this library now is to facilitate or enforce the unidirectional data flow but can be easily achieved with other tools.