HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
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: //opt/open-webui/node_modules/teex/test.js
const tape = require('tape')
const tee = require('./')
const { Readable } = require('streamx')

tape('throttled by eachother', function (t) {
  const r = new Readable()

  for (let i = 0; i < 1000; i++) {
    r.push(Buffer.alloc(1000))
  }

  const [a, b] = tee(r)

  let aTicks = 0

  a.on('data', function (data) {
    aTicks++
  })

  setTimeout(() => b.read(), 100)

  setTimeout(() => {
    t.same(aTicks, 18)
    t.end()
  }, 200)
})

tape('does not premature destroy', function (t) {
  const r = new Readable()

  const [a, b] = tee(r)

  r.push('a')
  r.push('b')
  r.push('c')
  r.push(null)

  setTimeout(() => {
    const aSeen = []
    const bSeen = []

    a.on('data', function (data) {
      aSeen.push(data)
    })
    a.on('end', function () {
      aSeen.push(null)
    })

    b.on('data', function (data) {
      bSeen.push(data)
    })
    b.on('end', function () {
      bSeen.push(null)
    })

    let missing = 2
    a.on('close', onclose)
    b.on('close', onclose)

    function onclose () {
      if (--missing === 0) {
        t.same(aSeen, ['a', 'b', 'c', null])
        t.same(bSeen, ['a', 'b', 'c', null])
        t.end()
      }
    }
  }, 200)
})