mirror of
https://codeberg.org/Kankys/NewLukasBlog.git
synced 2026-11-11 06:14:36 +01:00
refactor
This commit is contained in:
1 parent
fc2547bd59
commit
231006e61d
2143 files changed
No files matched your search
-41
@@ -1,41 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const { PassThrough } = require('stream');
|
||||
|
||||
module.exports = function (/*streams...*/) {
|
||||
var sources = []
|
||||
var output = new PassThrough({objectMode: true})
|
||||
|
||||
output.setMaxListeners(0)
|
||||
|
||||
output.add = add
|
||||
output.isEmpty = isEmpty
|
||||
|
||||
output.on('unpipe', remove)
|
||||
|
||||
Array.prototype.slice.call(arguments).forEach(add)
|
||||
|
||||
return output
|
||||
|
||||
function add (source) {
|
||||
if (Array.isArray(source)) {
|
||||
source.forEach(add)
|
||||
return this
|
||||
}
|
||||
|
||||
sources.push(source);
|
||||
source.once('end', remove.bind(null, source))
|
||||
source.once('error', output.emit.bind(output, 'error'))
|
||||
source.pipe(output, {end: false})
|
||||
return this
|
||||
}
|
||||
|
||||
function isEmpty () {
|
||||
return sources.length == 0;
|
||||
}
|
||||
|
||||
function remove (source) {
|
||||
sources = sources.filter(function (it) { return it !== source })
|
||||
if (!sources.length && output.readable) { output.end() }
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user