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() }) })
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
node_modules | Folder | 0755 |
|
|
.npmignore | File | 13 B | 0644 |
|
.travis.yml | File | 60 B | 0644 |
|
LICENSE | File | 1.05 KB | 0644 |
|
README.md | File | 834 B | 0644 |
|
index.js | File | 1.33 KB | 0644 |
|
package.json | File | 1.49 KB | 0644 |
|
test.js | File | 1.2 KB | 0644 |
|