@vandeurenglenn/little-pubsub
TypeScript icon, indicating that this package has built-in type declarations

1.4.7 • Public • Published

little-pubsub

Small publish & subscribe class

INSTALL

npm

npm i --save @vandeurenglenn/little-pubsub

USAGE

import PubSub from '@vandeurenglenn/little-pubsub'
const pubsub = new PubSub()

Example

import PubSub from '@vandeurenglenn/little-pubsub'
const pubsub = new PubSub()

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

pubsub.publish('event', 'hello')
// always runs handler
// (can use to overide littlePubsub.verbose setting without changing the behavior of the rest)
pubsub.publishVerbose('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
verbose: boolean

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

publish

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

pubsub.publishVerbose('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')

Package Sidebar

Install

npm i @vandeurenglenn/little-pubsub

Weekly Downloads

46

Version

1.4.7

License

MIT

Unpacked Size

9.42 kB

Total Files

9

Last publish

Collaborators

  • vandeurenglenn