UNPKG

stream-limit-throughput

Version:
29 lines (22 loc) 911 B
'use strict'; exports.__esModule = true; exports.createTf = exports.drainTransform = undefined; var _through = require('through2'); var _through2 = _interopRequireDefault(_through); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } const drainTransform = exports.drainTransform = (ts, context, chunk, cb) => { ts.push(chunk); const items = context.items -= 1; // eslint-disable-line if (items === 0 || items <= Math.floor(context.max / 2)) { if (items === 0) context.emit('drained'); if (context.input.isPaused()) { context.input.resume(); context.emit('filling'); } } cb(); }; const createTf = exports.createTf = context => function tf(chunk, enc, cb) { return drainTransform(this, context, chunk, cb); }; exports['default'] = context => (0, _through2['default'])({ objectMode: context.objectMode }, createTf(context));