@vandeurenglenn/little-pubsub v1.4.9
little-pubsub
Small publish & subscribe class
INSTALL
npm
npm i --save @vandeurenglenn/little-pubsubUSAGE
import PubSub from '@vandeurenglenn/little-pubsub'
const pubsub = new PubSub()Breaking Changes
v1.5.0
subscribe[context] & unsubscribe[context] -> subscribe[options({keepValue, context})]
// before
pusbub.subscribe(topic, handler, context)
// now
pusbub.subscribe(topic, handler, { context })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
options: { context, keepValue }
subscribing to an event will also return it's initial value
pubsub.subscribe('event-name', (data) => {
console.log(data)
})unsubscribe
name: name of the channel to unsubscribe
handler: method
options: { context, keepValue }
pubsub.unsubscribe(
'event-name',
(data) => {
console.log(data)
},
{ keepValue: false } // default
)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 get the value from
pubsub.getValue('event-name')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')1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago