You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
715 B
49 lines
715 B
'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)); |
|
}); |
|
};
|
|
|