node package manager

pubsub

PubSub for Node and the Browser.

Install and save the pubsub module. npm i --save pubsub

Or use with script tag <script type="text/javascript" src="https://gitlab.me/wski/pubsub/raw/master/dist.js"></script>

Then simply require it at the root level of your project.

require('pubsub');

Join a channel

PubSub.join('general', (message, uuid) => {
  // Upon joining you will receive a uuid without a message. 
  // Other times, you will be sent a message, and a uuid. 
  if (message)
    console.log(`${uuid} recived message`, message);
});

Leave a channel

// You can leave the channel by passing the uuid provided in join. 
PubSub
  .leave('general', uuid)
  .then(() => {
    // successfully left channel 
  });

Publish to a channel

PubSub
  .publish('general', {test: 'passed'})
  .then(() => {
    // message sent to all subscribers 
  });

Enable cross tab communication (for web applications)

PubSub.setFlag('crossTabEnabled', true);

Enable history

PubSub.setFlag('historyEnabled', true);

Increase history limit (default 15)

PubSub.setFlag('historyLength', 30);

Get history

PubSub.history('general', 15); // Returns 15 messages from history 

JSFiddle.net example