'use strict'; module.exports = function (cb) { var stdin = process.stdin; var ret = ''; if (stdin.isTTY) { setImmediate(cb, ''); return; } stdin.setEncoding('utf8'); stdin.on('readable', function () { var chunk; while (chunk = stdin.read()) { ret += chunk; } }); stdin.on('end', function () { cb(ret); }); }; module.exports.buffer = function (cb) { var stdin = process.stdin; var ret = []; var len = 0; if (stdin.isTTY) { setImmediate(cb, new Buffer('')); return; } stdin.on('readable', function () { var chunk; while (chunk = stdin.read()) { ret.push(chunk); len += chunk.length; } }); stdin.on('end', function () { cb(Buffer.concat(ret, len)); }); };