Have ideas to improve npm?Join in the discussion! »

    publish-subscribe-js

    1.1.5 • Public • Published

    Publish/Subscribe Twitter URL

    MIT Licence Build Status npm version Known Vulnerabilities

    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 --save publish-subscribe-js

    yarn

    yarn add publish-subscribe-js --save

    Example

    import PublishSubscribe from 'publish-subscribe-js'
    
    // create a function callback to subscribe to topic
    const callback = (data, ...args) => {
        // args will store ['TOPIC', data, data_1, data_2, ...]
        console.log(data, args)
    }
    
    PublishSubscribe.subscribe('TOPIC', callback)
    PublishSubscribe.publish('TOPIC', data, data_1, data_2, ...)

    Add more subscribers to topic

    // There are no limits, one TOPIC may store subscribers how many you needed
    PublishSubscribe.subscribe('TOPIC', callback)
    PublishSubscribe.subscribe('TOPIC', callback_1)
    PublishSubscribe.subscribe('TOPIC', callback_2)
    
    // All subscribers will be called
    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)
    
    // Unsubscribe only callback subscriber
    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

    Install

    npm i publish-subscribe-js

    DownloadsWeekly Downloads

    184

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    8.84 kB

    Total Files

    8

    Last publish

    Collaborators

    • avatar