At Connext, we are building complex, distributed systems that rely heavily on event-driven processes.
We eventually found that the capabilities of the Node.js EventEmitter could not handle some of our more complex event-based needs
such as attaching an event based on a filter.
We are grateful to have found EVT as a suitable replacement which gives us strong typing and a powerful API for all of our eventing needs.
We were able to eliminate a lot of boilerplate and complicated code around resolving promises and detaching listeners by using waitFor.
We have also exposed the EVT interface through our API so our users can make use of these powerful features.
It's been a great experience so far.
Tried EventEmitter3 before but it's such a hassle to define event types cleanly.
Now with EVT, all of our interfaces have an events member that has foo: Evt<FooEvent> members for all event types.
Jannis Pohlmann, Tech Lead & Co-Founder at The Graph
EVT catches at compile time countless errors that other event management libraries would have let slip through.
It forces you to write code in ways TypeScript can understand so you always know what is what.
At Connext, we are building complex, distributed systems that rely heavily on event-driven processes. We eventually found that the capabilities of the Node.js EventEmitter could not handle some of our more complex event-based needs such as attaching an event based on a filter. We are grateful to have found EVT as a suitable replacement which gives us strong typing and a powerful API for all of our eventing needs. We were able to eliminate a lot of boilerplate and complicated code around resolving promises and detaching listeners by using waitFor. We have also exposed the EVT interface through our API so our users can make use of these powerful features.
Rahul Sethuram, CTO at Connext