Skip to content
This repository has been archived by the owner on Apr 11, 2018. It is now read-only.
/ pigeon.js Public archive

This is an in-memory message bus. Very slim and fast.

License

Notifications You must be signed in to change notification settings

w3tecch/pigeon.js

Repository files navigation

npm version Build Status Dependency Status devDependency Status MIT License

#Pigeon.js The idea of pigeon.js is to have a light and fast event-bus service. Moreover, to be able to remove your subscriber.

#Installation Install via NPM

npm install pigeonjs

and include the library into your application

<script src="https://github.com/w3tecch/pigeon.js/blob/master/dist/pigeon.min.js"></script>

#Usage

// Register a new channel
pigeon.channel('my-channel');

// Verify if my channel was created
pigeon.has('my-channel'); // returns a boolean

// Get a list of all subscribers of my channel
pigeon.channel('my-channel').subscribers;

// Get a list of all subscribers of my channel
pigeon.channel('my-channel').subscribe('item:updated', () => {
  // Callback function
});

// Removes my subscriber
let disposer = pigeon.channel('my-channel').subscribe('item:updated', () => {...});
disposer();

// Publish an event
pigeon.channel('my-channel').publish('item:updated', data);

// Create a new channel
let channel = pigeon.channel();

#License

MIT