3 ms·
Very neat. Looks like something similar to a lightweight Onyx. Can it handle async event handlers in this version?
by sundbry 7y ago
Very neat. Looks like something similar to a lightweight Onyx. Can it handle async event handlers in this version?
- yogthos 7y agoThe event handlers are expected to be synchronous at the moment to ensure that they are executed in their desired order. The event execution is also handled transactionally so each run through the engine will block until it's complete. The goal for the library is primarily to provide a way to organized the business logic. One example use would be hooking it up to re-frame. Re-frame events can feed inputs into Domino, and it will run through the event graph and produce a new state for the re-frame db. Another use case is to use Domino as a state machine on a server. You can hook up HTTP endpoints as inputs, run through the events to decide what actions need to be performed, and then dispatch effects to handle HTTP responses, and so on.
- yogthos 7y agoadded an example using Domino with re-frame https://github.com/domino-clj/examples/blob/master/domino-re-frame-example/src/domino_re_frame_example/core.cljs https://github.com/domino-clj/examples/blob/master/domino-re...
- notduncansmith 7y agoI had a similar vision for this project: https://github.com/notduncansmith/factfold https://github.com/notduncansmith/factfold I mostly focus on building simpler things than this needs in my spare time, but I've worked on projects where a good dataflow library would have spared quite the headache.