PHP 8.1.33
Preview: inflight.js Size: 1.33 KB
//lib/node_modules/npm/node_modules/inflight/inflight.js

var wrappy = require('wrappy')
var reqs = Object.create(null)
var once = require('once')

module.exports = wrappy(inflight)

function inflight (key, cb) {
  if (reqs[key]) {
    reqs[key].push(cb)
    return null
  } else {
    reqs[key] = [cb]
    return makeres(key)
  }
}

function makeres (key) {
  return once(function RES () {
    var cbs = reqs[key]
    var len = cbs.length
    var args = slice(arguments)

    // XXX It's somewhat ambiguous whether a new callback added in this
    // pass should be queued for later execution if something in the
    // list of callbacks throws, or if it should just be discarded.
    // However, it's such an edge case that it hardly matters, and either
    // choice is likely as surprising as the other.
    // As it happens, we do go ahead and schedule it for later execution.
    try {
      for (var i = 0; i < len; i++) {
        cbs[i].apply(null, args)
      }
    } finally {
      if (cbs.length > len) {
        // added more in the interim.
        // de-zalgo, just in case, but don't call again.
        cbs.splice(0, len)
        process.nextTick(function () {
          RES.apply(null, args)
        })
      } else {
        delete reqs[key]
      }
    }
  })
}

function slice (args) {
  var length = args.length
  var array = []

  for (var i = 0; i < length; i++) array[i] = args[i]
  return array
}

Directory Contents

Dirs: 0 × Files: 4

Name Size Perms Modified Actions
1.33 KB lrw-r--r-- 2021-03-10 14:36:39
Edit Download
748 B lrw-r--r-- 2021-03-10 14:36:39
Edit Download
1.35 KB lrw-r--r-- 2021-03-10 14:36:39
Edit Download
991 B lrw-r--r-- 2021-03-10 14:36:39
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).