WreckedRadio is a message bus implementation that supports both publish-subscribe and request-reply patterns.
- Written in modern TypeScript
- Fully covered with tests
- As tiny as possible
- Dependency free
Heavily inspired by backbone.radio.
yarn add wrecked-radio
or
npm install --save wrecked-radio
import WreckedRadio from 'wrecked-radio';
const radio = new WreckedRadio();
const firstChannel = radio.channel('first-channel');
const secondChannel = radio.channel('second-channel');
// Add event handler
channel.on('user-login-success', user => console.log(`Oh, hi ${user.name}`));
// Trigger an event
channel.trigger('user-login-success', { name: 'Mark' });
// Add and remove event handler
const unsubscribe = channel.on('user-login-success', () => null);
unsubscribe();
// Add request handler
channel.reply('get-greeting', user => `Oh, hi ${user.name}`);
// Make a request
const greeting = channel.request('get-greeting', { name: 'Mark' });
// Remove request handler
channel.stopReplying('get-greeting');