????JFIF??x?x????'
| Server IP : 172.67.174.47  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/./root/usr/lib/node_modules/npm/node_modules/stream-iterate/ | 
| Upload File : | 
var tape = require('tape')
var from = require('from2')
var iterate = require('./')
tape('merge sort', function (t) {
  var a = from.obj(['a', 'b', 'd', 'e', 'g', 'h'])
  var b = from.obj(['b', 'c', 'f'])
  var output = []
  var readA = iterate(a)
  var readB = iterate(b)
  var loop = function () {
    readA(function (err, dataA, nextA) {
      if (err) throw err
      readB(function (err, dataB, nextB) {
        if (err) throw err
        if (!dataA && !dataB) {
          t.same(output, ['a', 'b', 'b', 'c', 'd', 'e', 'f', 'g', 'h'], 'sorts list')
          t.end()
          return
        }
        if (!dataB || dataA < dataB) {
          output.push(dataA)
          nextA()
          return loop()
        }
        if (!dataA || dataA > dataB) {
          output.push(dataB)
          nextB()
          return loop()
        }
        output.push(dataA)
        output.push(dataB)
        nextA()
        nextB()
        loop()
      })
    })
  }
  loop()
})
tape('error handling', function (t) {
  var a = from.obj(['a', 'b', 'd', 'e', 'g', 'h'])
  var read = iterate(a)
  a.destroy(new Error('oh no'))
  read(function (err) {
    t.ok(err, 'had error')
    t.same(err.message, 'oh no')
    t.end()
  })
})