comp.js 518 B

1234567891011121314151617181920
  1. 'use strict';
  2. const {Transform} = require('stream');
  3. const {next} = require('./asFun');
  4. const {sanitize} = require('../index');
  5. const comp = (...fns) => {
  6. fns = fns.filter(fn => fn);
  7. return fns.length
  8. ? new Transform({
  9. writableObjectMode: true,
  10. readableObjectMode: true,
  11. transform(chunk, encoding, callback) {
  12. next(chunk, fns, 0, value => sanitize(value, this)).then(() => callback(null), error => callback(error));
  13. }
  14. })
  15. : null;
  16. };
  17. module.exports = comp;