21 lines
518 B
JavaScript
21 lines
518 B
JavaScript
'use strict';
|
|
|
|
const {Transform} = require('stream');
|
|
const {next} = require('./asFun');
|
|
const {sanitize} = require('../index');
|
|
|
|
const comp = (...fns) => {
|
|
fns = fns.filter(fn => fn);
|
|
return fns.length
|
|
? new Transform({
|
|
writableObjectMode: true,
|
|
readableObjectMode: true,
|
|
transform(chunk, encoding, callback) {
|
|
next(chunk, fns, 0, value => sanitize(value, this)).then(() => callback(null), error => callback(error));
|
|
}
|
|
})
|
|
: null;
|
|
};
|
|
|
|
module.exports = comp;
|