3 ms·
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 li
by njiv 8y ago
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.