Sindre Sorhus
9 years ago
7 changed files with 62 additions and 57 deletions
@ -1,49 +1,52 @@ |
|||
'use strict'; |
|||
var stdin = process.stdin; |
|||
|
|||
module.exports = function (cb) { |
|||
var stdin = process.stdin; |
|||
module.exports = function () { |
|||
var ret = ''; |
|||
|
|||
if (stdin.isTTY) { |
|||
setImmediate(cb, ret); |
|||
return; |
|||
} |
|||
return new Promise(function (resolve) { |
|||
if (stdin.isTTY) { |
|||
resolve(ret); |
|||
return; |
|||
} |
|||
|
|||
stdin.setEncoding('utf8'); |
|||
stdin.setEncoding('utf8'); |
|||
|
|||
stdin.on('readable', function () { |
|||
var chunk; |
|||
stdin.on('readable', function () { |
|||
var chunk; |
|||
|
|||
while (chunk = stdin.read()) { |
|||
ret += chunk; |
|||
} |
|||
}); |
|||
while ((chunk = stdin.read())) { |
|||
ret += chunk; |
|||
} |
|||
}); |
|||
|
|||
stdin.on('end', function () { |
|||
cb(ret); |
|||
stdin.on('end', function () { |
|||
resolve(ret); |
|||
}); |
|||
}); |
|||
}; |
|||
|
|||
module.exports.buffer = function (cb) { |
|||
var stdin = process.stdin; |
|||
module.exports.buffer = function () { |
|||
var ret = []; |
|||
var len = 0; |
|||
|
|||
if (stdin.isTTY) { |
|||
setImmediate(cb, new Buffer('')); |
|||
return; |
|||
} |
|||
return new Promise(function (resolve) { |
|||
if (stdin.isTTY) { |
|||
resolve(new Buffer('')); |
|||
return; |
|||
} |
|||
|
|||
stdin.on('readable', function () { |
|||
var chunk; |
|||
stdin.on('readable', function () { |
|||
var chunk; |
|||
|
|||
while (chunk = stdin.read()) { |
|||
ret.push(chunk); |
|||
len += chunk.length; |
|||
} |
|||
}); |
|||
while ((chunk = stdin.read())) { |
|||
ret.push(chunk); |
|||
len += chunk.length; |
|||
} |
|||
}); |
|||
|
|||
stdin.on('end', function () { |
|||
cb(Buffer.concat(ret, len)); |
|||
stdin.on('end', function () { |
|||
resolve(Buffer.concat(ret, len)); |
|||
}); |
|||
}); |
|||
}; |
|||
|
@ -1,6 +1,6 @@ |
|||
'use strict'; |
|||
var stdin = require('./'); |
|||
|
|||
stdin(function (data) { |
|||
stdin().then(function (data) { |
|||
process.exit(data ? 0 : 1); |
|||
}); |
|||
|
Loading…
Reference in new issue