npm.io
1.0.3 • Published 3 years ago

scoped-pubsub

Licence
MIT
Version
1.0.3
Deps
1
Size
4 kB
Vulns
0
Weekly
0

scoped-pubsub

Small publish & subscribe class

INSTALL

npm

npm i --save scoped-pubsub

USAGE

import PubSub from 'scoped-pubsub';
const pubsub = new PubSub();

Example

import PubSub from 'scoped-pubsub';
const pubsub = new PubSub();

pubsub.subscribe('event', value => { console.log(value) })

pubsub.publish('event', 'hello')

pubsub.unsubscribe('event', value => { console.log(value) })

pubsub.hasSubscribers('event')

await pubsub.once('event')

API

pubsub([options])

verbose: when false only fires after value change

pubsub = new PubSub({
  verbose: false // default: true
})
subscribe

name: name of the channel to subscribe to
handler: method
context: context

pubsub.subscribe('event-name', data => {
  console.log(data);
})
unsubscribe

name: name of the channel to unsubscribe
handler: method
context: context

pubsub.unsubscribe('event-name', data => {
  console.log(data);
})
publish

name: name of the channel to publish to
handler: method
context: context

pubsub.publish('event-name', 'data')
once

name: name of the channel to publish to

await pubsub.once('event-name')
hasSubscribers

name: name of the channel to publish to

pubsub.hasSubscribers('event-name')