UNPKG

@graffy/stream

Version:

Utility for creating AsyncIterables (streams) from any callback-based

31 lines (25 loc) 771 B
"use strict"; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = mapStream; var _makeStream = _interopRequireDefault(require("./makeStream")); function mapStream(stream, fn) { return (0, _makeStream.default)(function (push, end) { var next = function next() { stream.next().then(function (_ref) { var value = _ref.value, done = _ref.done; if (done) return end(); push(fn(value)); next(); }).catch(function (error) { return end(error); }); }; next(); return function (error, value) { error ? stream.throw(error) : stream.return(value); }; }); } module.exports = exports.default;