|
|
|
|
|
by comma_at
1208 days ago
|
|
Instead of doing the side effect you return a description and let the framework handle it. E.g. you don't call `transact(db, data)` but return `["transact", db, data]`. Now your function is pure. The framework will expect you to provide the transact handler, e.g. as `register_handler("transact", (db, data) => {..})`. Personally I'm not a fan of this abstraction (another layer of indirection). I'd rather take a `transact` function as an argument. |
|