![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 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 : /usr/local/n/versions/node/14.15.4/lib/node_modules/npm/node_modules/stream-iterate/ |
Upload File : |
var Readable = require('readable-stream').Readable var shift = require('stream-shift') var stream2 = function (stream) { if (stream._readableState) return stream return new Readable({objectMode: true, highWaterMark: 16}).wrap(stream) } module.exports = function (stream) { stream = stream2(stream) var ended = false var data = null var err = null var destroyed = false var fn = null var consume = function (e) { if (e) { destroyed = true if (stream.destroy) stream.destroy(e) return } data = null err = null } var onresult = function () { if (!fn) return var tmp = fn fn = undefined tmp(err, data, consume) } var update = function () { if (!fn) return data = shift(stream) if (data === null && !ended) return onresult() } var onend = function () { ended = true onresult() } stream.on('readable', update) stream.on('error', function (e) { err = e onresult() }) stream.on('close', function () { if (stream._readableState.ended) return onend() }) stream.on('end', onend) return function (callback) { if (destroyed) return if (err) return callback(err, null, consume) if (data) return callback(null, data, consume) if (ended) return callback(null, null, consume) fn = callback update() } }