
Show HN: Persistent async/await state – use JavaScript as a lean workflow tool - njiv
https://github.com/awto/effectfuljs/tree/master/packages/es-persist
======
njiv
It is a transpiler and runtime library, it offers writing workflow process
descriptions in plain JavaScript, using all modern JS features and any third
party library.

When the process is suspended (in `await` or `yield`), its whole state can be
saved to DB. It is resumed after some external action, e.g. e-mail
confirmation, or some date, or some ticket in issue tracking system changes
state etc.

The library doesn't provide DB facilities itself, it gives access to
computation state. And it is fairly trivial to save it in any DB. The same for
actions implementations.

For example:

``` if (tooLateForToday) await tomorrow ```

The whole EffectfulJS tool is not only for workflow definitions though, it is
for embedding abstract effects into JS, there are many more concrete tools can
be done on top on it by just implementing its small abstract API.

