Sha256: 71d0eb35920929d71375029af69c1a3363d860cea6ae2e16fc56159731ff56f5

Contents?: true

Size: 981 Bytes

Versions: 33

Compression:

Stored size: 981 Bytes

Contents

var fs = require('fs');
var Writable = require('readable-stream/writable');

var exists = function(path) {
	try {
		return fs.existsSync(path);
	} catch (err) {
		return false;
	}
};

module.exports = function() {
	var s = new Writable({highWaterMark:0});

	var cb;
	var data;
	var tries = 0;
	var offset = 0;

	var write = function() {
		fs.write(1, data, offset, data.length - offset, null, onwrite);
	};

	var onwrite = function(err, written) {
		if (err && err.code === 'EPIPE') return cb()
		if (err && err.code === 'EAGAIN' && tries++ < 30) return setTimeout(write, 10);
		if (err) return cb(err);

		tries = 0;
		if (offset + written >= data.length) return cb();

		offset += written;
		write();
	};

	s._write = function(_data, enc, _cb) {
		offset = 0;
		cb = _cb;
		data = _data;
		write();
	};

	s._isStdio = true;
	s.isTTY = process.stdout.isTTY;

	s.on('finish', function() {
		fs.close(1, function(err) {
			if (err) s.emit('error', err);
		});
	});

	return s;
}();

Version data entries

33 entries across 32 versions & 13 rubygems

Version Path
optimacms-0.1.61 spec/dummy/node_modules/stdout-stream/index.js
disco_app-0.18.0 test/dummy/node_modules/stdout-stream/index.js
disco_app-0.18.2 test/dummy/node_modules/stdout-stream/index.js
tang-0.2.1 spec/tang_app/node_modules/stdout-stream/index.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/stdout-stream/index.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/stdout-stream/index.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/stdout-stream/index.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/stdout-stream/index.js
tang-0.2.0 spec/tang_app/node_modules/stdout-stream/index.js
tang-0.1.0 spec/tang_app/node_modules/stdout-stream/index.js
tang-0.0.9 spec/tang_app/node_modules/stdout-stream/index.js
enju_library-0.3.8 spec/dummy/node_modules/stdout-stream/index.js
ilog-0.4.1 node_modules/stdout-stream/index.js
ilog-0.4.0 node_modules/stdout-stream/index.js
ilog-0.3.3 node_modules/stdout-stream/index.js
jester-data-8.0.0 node_modules/stdout-stream/index.js
ezii-os-5.2.1 node_modules/stdout-stream/index.js
ezii-os-2.0.1 node_modules/stdout-stream/index.js
ezii-os-1.1.0 node_modules/stdout-stream/index.js
ezii-os-1.0.0 node_modules/stdout-stream/index.js