HEX
Server: Apache/2.4.61 (Ubuntu)
System: Linux hosting106 7.0.12-1-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.12-1 (2026-06-09T21:07Z) x86_64
User: clinicadentalargarate.com (1193)
PHP: 7.4.33
Disabled: 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,
Upload Files
File: //home/cursos.ril.es/node_modules/laravel-elixir/node_modules/gulp-batch/index.js
'use strict';

var array = require('stream-array');
var asyncDone = require('async-done');

module.exports = function (opts, cb, errorHandler) {
    if (typeof opts === 'function') {
        errorHandler = cb;
        cb = opts;
        opts = {};
    }

    if (typeof cb !== 'function') {
        throw new Error('Provided callback is not a function: ' + cb);
    }

    opts.timeout = opts.timeout || 100;

    var batch = [];
    var holdOn;
    var timeout;

    function setupFlushTimeout() {
        if (!holdOn && batch.length) {
            timeout = setTimeout(flush, opts.timeout);
        }
    }

    function flush() {
        holdOn = true;
        var currentBatch = batch;
        batch = [];
        asyncDone(cb.bind(cb, array(currentBatch)), function (err) {
            holdOn = false;
            if (err && typeof errorHandler === 'function') { errorHandler(err); }
            setupFlushTimeout();
        });
    }

    return function (event) {
        batch.push(event);

        if (timeout) { clearTimeout(timeout); }

        if (opts.limit && batch.length >= opts.limit) {
            flush();
        } else {
            setupFlushTimeout();
        }
    };
};