UNPKG

babel-backwards

Version:

Upgrade ES5 to newer language features; lebab but with babel

45 lines (38 loc) 1.42 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = readStdin; var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Taken from http://stackoverflow.com/questions/3430939/node-js-readsync-from-stdin/16048083#16048083 function readStdin() { var BUFSIZE = 256; var buf = 'alloc' in Buffer ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); var bytesRead = void 0; var out = ''; do { try { bytesRead = _fs2.default.readSync(process.stdin.fd, buf, 0, BUFSIZE); } catch (e) { if (e.code === 'EAGAIN') { // 'resource temporarily unavailable' // Happens on OS X 10.8.3 (not Windows 7!), if there's no // stdin input - typically when invoking a script without any // input (for interactive stdin input). // If you were to just continue, you'd create a tight loop. throw e; } else if (e.code === 'EOF') { // Happens on Windows 7, but not OS X 10.8.3: // simply signals the end of *piped* stdin input. break; } throw e; // unexpected exception } // Process the chunk read. out += buf.toString('utf8', 0, bytesRead); } while (bytesRead !== 0); // Loop as long as stdin input is available. return out; } module.exports = exports['default'];