UNPKG

spawn-streaming

Version:
42 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return prefixTransform; } }); var _colors = /*#__PURE__*/ _interop_require_default(require("colors")); var _readablestream = require("readable-stream"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var REGEX_NEW_LINE = /\r?\n|\r/g; function prefixTransform(prefix, color) { var last = ''; var createLine = function(line) { return "".concat(_colors.default.bold(color(prefix)), ": ").concat(line, "\n"); }; return new _readablestream.Transform({ transform: function transform(chunk, _enc, callback) { var _this = this; var more = last + chunk.toString('utf8'); var lines = more.split(REGEX_NEW_LINE); last = lines.pop(); lines.forEach(function(line) { return _this.push(createLine(line)); }); callback(); }, flush: function flush() { if (last.length) this.push(createLine(last)); last = ''; this.push(null); } }); } /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }