Server : nginx/1.18.0 System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64 User : www-data ( 33) PHP Version : 8.0.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /var/www/ecommerce/node_modules/stream-each/ |
var eos = require('end-of-stream')
var shift = require('stream-shift')
module.exports = each
function each (stream, fn, cb) {
var want = true
var error = null
var ended = false
var running = false
var calling = false
stream.on('readable', onreadable)
onreadable()
if (cb) eos(stream, {readable: true, writable: false}, done)
return stream
function done (err) {
if (!error) error = err
ended = true
if (!running) cb(error)
}
function onreadable () {
if (want) read()
}
function afterRead (err) {
running = false
if (err) {
error = err
if (ended) return cb(error)
stream.destroy(err)
return
}
if (ended) return cb(error)
if (!calling) read()
}
function read () {
while (!running && !ended) {
want = false
var data = shift(stream)
if (ended) return
if (data === null) {
want = true
return
}
running = true
calling = true
fn(data, afterRead)
calling = false
}
}
}