Usage

Factory

Create a new bus instance via the factory.

Default instance

Zero-config and simplest use-case.

import beam from '@crishellco/beam';

const bus = beam();

bus.emit('submitted');

Named instance

Useful if you need multiple, isolated busses.

import beam from '@crishellco/beam';

const productsBus = beam('products');
const usersBus = beam('users');

productsBus.emit('add-to-cart');
usersBus.emit('register');

productsBus.on('add-to-cart', handleAddToCart);
productsBus.on('register', handleRegister); // <-- will this handler will never be called

usersBus.on('register', handleRegister);
usersBus.on('add-to-cart', handleAddToCart); // <-- will this handler will never be called

Class

You can also create a new bus instance via the Beam class.

import { Beam } from '@crishellco/beam';

const bus = new Beam();

bus.emit('submitted');