Publish/Subscribe 

Publish/Subscribe UMD package
The Publish/Subscribe pattern encourage us to think hard about the relationships between different parts of our application. They also help us identify what layers containing direct relationships which could instead be replaced with sets of subjects and observers. This effectively could be used to break down an application into smaller, more loosely coupled blocks to improve code management and potentials for re-use. ~ Addy Osmani
Getting Publish/Subscribe
npm
npm install publish-subscribe-js
yarn
yarn add publish-subscribe-js
Example
import PublishSubscribe from 'publish-subscribe-js'
const callback = (data, ...args) => {
console.log(data, args)
}
PublishSubscribe.subscribe('TOPIC', callback)
PublishSubscribe.publish('TOPIC', data, data_1, data_2, ...)
Add more subscribers to topic
PublishSubscribe.subscribe('TOPIC', callback)
PublishSubscribe.subscribe('TOPIC', callback_1)
PublishSubscribe.subscribe('TOPIC', callback_2)
PublishSubscribe.publish('TOPIC')
Unsubscribe specific topic
PublishSubscribe.subscribe('TOPIC', callback)
PublishSubscribe.unsubscribe('TOPIC')
Unsubscribe specific subscriber in topic
const callbackKey = PublishSubscribe.subscribe('TOPIC', callback)
const callback_1Key = PublishSubscribe.subscribe('TOPIC', callback_1)
PublishSubscribe.unsubscribe('TOPIC', callbackKey)
Unsubscribe all topics
PublishSubscribe.unsubscribeAll()
Contributing
Any contributions you make are greatly appreciated.
Please read the Contributions Guidelines before submitting a PR.
License
MIT © Vasyl Stokolosa