rete
rete copied to clipboard
Routing without tasks
I love this library, it has so far proved very effective! However, I have come up against a wall and am hoping to find a solution. I am looking to implement boolean logic gates to pass flow along different channels without triggering the other connections, which all run expensive network requests. I am hoping to do this without using tasks, which has the concept of 'closed' sockets.
Is this possible?
+1 wondering if can make node trigger and send ouput value to next node as default behavior without requiring make and connect "action" socket (if the output action socket never need to be "closed")
@lancety i have been wondering the same thing. Basically bake together task outputs and options into one thing.
Sadly it seems like Rete is not maintained by the original creator any more. None of the issues get responded to and it has been months since any kind of an update.
I have contemplated forking it officially and making heavier modifications and hopefully having others contribute as well.
@michaelsharpe
I have contemplated forking it officially and making heavier modifications and hopefully having others contribute as well.
@Ni55aN is still accepting pull requests and answers to question. So if you have suggestions, open up an issue or a pull request. Especially if you are working with sections that did not become a lot of updates recently. Like the tasks plugin.
@michaelsharpe @lancety I was facing a similar issue and solved it by avoiding task plugin and use RxJs instead. Basically what I did was using observables as node inputs and set a transformed observable by applying some operators to outputs. At the end the result of engine process call was an observable as well, which I had just to subscribe to. If I understood you correctly a boolean logic gate node worker would look like this:
const booleanInput$ : Observable<boolean> = inputs['boolInput'][0] ; outputs['true'] = booleanInput$.pipe(filter((v : boolean) => v), mergeMap(_ => makeReqA$)); outputs['false'] = booleanInput$.pipe(filter((v : boolean) => !v), , mergeMap(_ => makeReqB$));
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days.