Skip to content

vorillaz/tabsub

Repository files navigation

Tabsub 📻

A tiny (~500B) Pub/Sub library that simply works

Intro

Tabsub is a tiny library with minimal API that allows simple communication between browsing contexts with the same origin. It works with the BroadcastChannel API with a sensible fallback to localStorage, thus it works with all modern browsers.

Installation

Install Tabsub from the NPM registry as:

npm install --save tabsub

Usage

Create a channel and send a message

import tabsub from 'tabsub';

const radio = tabsub('channel-name');
radio.post('One message');
radio.post({msg: 'Another one'});

Create a channel start listening for incoming messages

import tabsub from 'tabsub';

const radio = tabsub('channel-name');
r.on(msg => {
  console.log(`Message received: ${msg} `);
});

Pause and restart a channel

import tabsub from 'tabsub';

const radio = tabsub('channel-name');
// Posting
radio.post('One message');
radio.stop();

radio.post('Ignored');

radio.start();
radio.post('Keep them coming');

Browser support

All modern browsers using the BroadcastChannel API and the localStorage API

About

A tiny Pub/Sub library for modern browsers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published