nodejsでstdinから同期的に全部読み込む
fs.readFileSync() のようなものがあるのかと期待したら、read(2)相当のものしかなくて困惑した。
#!/usr/bin/env node "use strict"; var fs = require("fs"); var fd = process.stdin.fd; var content = ""; var BUFFER_SIZE = 4096; var buffer = new Buffer(BUFFER_SIZE); var n; while( (n = fs.readSync(fd, buffer, 0, BUFFER_SIZE)) > 0) { content += buffer.slice(0, n).toString(); } process.stdout.write(content);
イケてないが仕方がない。