cwb (pronounced wub) is a JavaScript library for cross-window broadcasting and locking.
npm add cwb
import { Channel } from 'cwb'
const chan = new Channel('foo')
chan.on('bar', b => console.log('Got bar:', b))
/* In another tab */
const chan = new Channel('foo')
chan.send('bar', 'Porter and Sons')
chan.send('bar', 'Porter and Sons', { toSelf: true })
import { lock } from 'cwb'
lock('foo', () => {
/* Critical section. This function can be async. */
})
1.0.0
Migrate to TypeScript
0.0.3
New method: Channel#dispose
0.0.2
New method: Channel#update
MIT
The ObjectId type (a vendored dependency) comes from bson, which is licensed under the Apache License 2.0