From 3c51c3be85bb0d1bdb87ea0d6632f1c256912f27 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 6 Oct 2019 21:37:45 +0200 Subject: build: Add some required modules for node --- node_modules/get-stdin/index.js | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 node_modules/get-stdin/index.js (limited to 'node_modules/get-stdin/index.js') diff --git a/node_modules/get-stdin/index.js b/node_modules/get-stdin/index.js new file mode 100644 index 0000000..b7483e4 --- /dev/null +++ b/node_modules/get-stdin/index.js @@ -0,0 +1,52 @@ +'use strict'; +const stdin = process.stdin; + +module.exports = () => { + let ret = ''; + + return new Promise(resolve => { + if (stdin.isTTY) { + resolve(ret); + return; + } + + stdin.setEncoding('utf8'); + + stdin.on('readable', () => { + let chunk; + + while ((chunk = stdin.read())) { + ret += chunk; + } + }); + + stdin.on('end', () => { + resolve(ret); + }); + }); +}; + +module.exports.buffer = () => { + const ret = []; + let len = 0; + + return new Promise(resolve => { + if (stdin.isTTY) { + resolve(Buffer.concat([])); + return; + } + + stdin.on('readable', () => { + let chunk; + + while ((chunk = stdin.read())) { + ret.push(chunk); + len += chunk.length; + } + }); + + stdin.on('end', () => { + resolve(Buffer.concat(ret, len)); + }); + }); +}; -- cgit v1.2.3