![]() 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 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() }) })