mwc-browser
Manager-Workers communication between browser tabs.
Features
✅ No dependencies
✅ Browser support
✅ Manager-Workers communication
✅ Can be used also for just messaging between tabs
Demo
Demo page
Installation
npm i mwc-browser
Usage
Create channel connection with mwcBrowser
.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name');
Create channel connection with Channel
constructor.
import { Channel } from 'mwc-browser';
const channelConnection = new Channel<string>('my-channel-name');
You can also pass optional options
.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name', {
pingTimer: 500,
zombiesTimer: 500,
managerTimer: 1000,
maxLife: 3000,
isEmitMessageToSelf: false,
});
Channel connection properties
.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name');
channelConnection.id;
channelConnection.isManager;
channelConnection.numberOfConnections;
Send message to other channel connections or to your self.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name');
channelConnection.emitMessage('hi all :)');
Listen to channel connection events
.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name');
channelConnection.onManager = (isManager: boolean): void => {
};
channelConnection.onMessage = (message: string): void => {
};
Remove the channel connection if you don't need it anymore.
import { mwcBrowser } from 'mwc-browser';
const channelConnection = mwcBrowser<string>('my-channel-name');
channelConnection.destroy();
License
MIT