You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
700 B

var pull = require('pull-stream/pull')
var Cat = require('pull-cat')
var Once = require('pull-stream/sources/once')
module.exports = function (createSource, createLive) {
return function (opts) {
opts = opts || {}
var isOld = opts.old !== false
var isLive = opts.live === true || opts.old === false
if(!isLive && !isOld)
throw new Error('ls with neither old or new is empty')
if(isLive && isOld)
return Cat([
createSource(opts),
opts.sync === false ? null : Once({sync: true}),
createLive(opts)
])
else if(!isLive)
return createSource(opts)
else
return createLive(opts)
}
}