HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/1991109/cwd/usr/share/node_modules/events-to-array/
Upload File :
Current File : //proc/1991109/cwd/usr/share/node_modules/events-to-array/etoa.js
module.exports = eventsToArray

var EE = require('events').EventEmitter
function eventsToArray (ee, ignore, map) {
  ignore = ignore || []
  map = map || function (x) { return x }
  var array = []

  ee.emit = (function (orig) {
    return function etoaWrap (ev) {
      if (ignore.indexOf(ev) === -1) {
        var l = arguments.length
        var args = new Array(l)
        // intentionally sparse array
        var swap = []
        for (var i = 0; i < l; i++) {
          var arg = arguments[i]
          args[i] = arguments[i]
          if (arg instanceof EE)
            swap[i] = eventsToArray(arg, ignore, map)
        }
        args = args.map(map)
        args = args.map(function (arg, index) {
          return swap[index] || arg
        })
        array.push(args)
      }

      return orig.apply(this, arguments)
    }
  })(ee.emit)

  return array
}