Nomadic People Migration

    event-emitter-grouped

    4.19.0 • Public • Published

    Event Emitter Grouped

    Status of the GitHub Workflow: bevry NPM version NPM downloads Dependency Status Dev Dependency Status
    GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

    Emit events in serial or parallel with support for synchronous and asynchronous listeners

    Usage

    Complete API Documentation.

    // Importer
    var EventEmitterGrouped = require('event-emitter-grouped')
    
    // Instantiate a new instance
    var emitter = new EventEmitterGrouped()
    
    // Bind an asynchronous event
    emitter.on('hello', function (next) {
        console.log('\tasync started')
        setTimeout(function () {
            console.log('\tasync finished')
            next()
        }, 1000)
    })
    
    // Bind a synchronous event
    emitter.on('hello', function () {
        console.log('\tsync started and finished')
    })
    
    // Bind a prioritized event
    function vipListener() {
        console.log('\tvip started and finished')
    }
    vipListener.priority = 1
    emitter.on('hello', vipListener)
    
    // Emit the events in serial (one after the other in a waiting fashion)
    console.log('hello in serial started')
    emitter.emitSerial('hello', function (err) {
        console.log('hello in serial finished')
    
        // Emit the events in parallel (all at once)
        console.log('hello in parallel started')
        emitter.emitParallel('hello', function (err) {
            console.log('hello in parallel finished')
        })
    })
    
    /* Outputs:
    hello in serial started
    	vip started and finished
    	async started
    	async finished
    	sync started and finished
    hello in serial finished
    hello in parallel started
    	vip started and finished
    	async started
    	sync started and finished
    	async finished
    hello in parallel finished
    */

    Install

    npm

    • Install: npm install --save event-emitter-grouped
    • Import: import * as pkg from ('event-emitter-grouped')
    • Require: const pkg = require('event-emitter-grouped')

    jspm

    <script type="module">
        import * as pkg from '//dev.jspm.io/event-emitter-grouped@4.19.0'
    </script>

    Editions

    This package is published with the following editions:

    • event-emitter-grouped aliases event-emitter-grouped/source/index.js
    • event-emitter-grouped/source/index.js is ESNext source code for Node.js 10 || 12 || 14 || 16 with Require for modules
    • event-emitter-grouped/edition-browsers/index.js is ESNext compiled for web browsers with Require for modules

    TypeScript

    This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth compiler option to 5 or thereabouts. You can accomlish this via your tsconfig.json file like so:

    {
      "compilerOptions": {
        "maxNodeModuleJsDepth": 5
      }
    }

    History

    Discover the release history by heading on over to the HISTORY.md file.

    Contribute

    Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

    Backers

    Maintainers

    These amazing people are maintaining this project:

    Sponsors

    No sponsors yet! Will you be the first?

    GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

    Contributors

    These amazing people have contributed code to this project:

    Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

    License

    Unless stated otherwise all works are:

    and licensed under:

    Install

    npm i event-emitter-grouped

    DownloadsWeekly Downloads

    782

    Version

    4.19.0

    License

    MIT

    Unpacked Size

    38.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • balupton
    • bevryme