1
0
Fork 0
mirror of https://github.com/actions/setup-python.git synced 2024-11-23 17:17:36 +00:00
setup-python/node_modules/get-stdin/index.js

53 lines
780 B
JavaScript
Raw Normal View History

2019-06-27 01:12:00 +00:00
'use strict';
const {stdin} = process;
module.exports = () => {
let result = '';
return new Promise(resolve => {
if (stdin.isTTY) {
resolve(result);
return;
}
stdin.setEncoding('utf8');
stdin.on('readable', () => {
let chunk;
while ((chunk = stdin.read())) {
result += chunk;
}
});
stdin.on('end', () => {
resolve(result);
});
});
};
module.exports.buffer = () => {
const result = [];
let length = 0;
return new Promise(resolve => {
if (stdin.isTTY) {
resolve(Buffer.concat([]));
return;
}
stdin.on('readable', () => {
let chunk;
while ((chunk = stdin.read())) {
result.push(chunk);
length += chunk.length;
}
});
stdin.on('end', () => {
resolve(Buffer.concat(result, length));
});
});
};