Blazing fast event aggregator for JavaScript & TypeScript
A lightweight, flexible, and type-safe alternative to traditional event emitters.
- 🚀 Blazing fast: optimized for performance.
- 🛠️ Middleware & interceptors: intercept events before/after firing.
- 🎯 Strategies: run handlers in parallel or serial.
- ⏱️ Timeouts & error handling: stop long-running handlers.
- 🧹 Release: remove specific handlers or all at once.
- ✅ Type-safe: written in TypeScript, works seamlessly in JS & TS projects.
npm install flare
# or
yarn add flare
# or
pnpm add flareimport { flare } from "flare";
// Register a handler
flare.catch("userLogin", (user) => {
console.log(`User logged in: ${user.name}`);
});
// Fire an event
flare.fire("userLogin", { id: "123", name: "Alice" });- fire(event, payload, options?)
- catch(event, handler, options?)
- release(event, handler)
- releaseAll()
- use(middleware)
- in(interceptor)
Clone and build locally:
git clone https://github.com/xafans/flare.git
cd flare
npm install
npm run build
npm test