X7ROOT File Manager
Current Path:
/lib/node_modules/npm/node_modules/sorted-union-stream
lib
/
node_modules
/
npm
/
node_modules
/
sorted-union-stream
/
ðŸ“
..
📄
.npmignore
(13 B)
📄
.travis.yml
(58 B)
📄
LICENSE
(1.05 KB)
📄
README.md
(1.39 KB)
📄
example.js
(313 B)
📄
index.js
(1.14 KB)
ðŸ“
node_modules
📄
package.json
(1.54 KB)
📄
test.js
(2.99 KB)
Editing: index.js
var iterate = require('stream-iterate') var from = require('from2') var defaultKey = function (val) { return val.key || val } var union = function (streamA, streamB, toKey) { var readA = iterate(streamA) var readB = iterate(streamB) if (!toKey) toKey = defaultKey var stream = from.obj(function loop (size, cb) { readA(function (err, dataA, nextA) { if (err) return cb(err) readB(function (err, dataB, nextB) { if (err) return cb(err) if (!dataA && !dataB) return cb(null, null) if (!dataA) { nextB() return cb(null, dataB) } if (!dataB) { nextA() return cb(null, dataA) } var keyA = toKey(dataA) var keyB = toKey(dataB) if (keyA === keyB) { nextB() return loop(size, cb) } if (keyA < keyB) { nextA() return cb(null, dataA) } nextB() cb(null, dataB) }) }) }) stream.on('close', function () { if (streamA.destroy) streamA.destroy() if (streamB.destroy) streamB.destroy() }) return stream } module.exports = union
Upload File
Create Folder