web-dev-qa-db-ja.com

バッファをstream2読み取り可能ストリームとしてラップする方法は?

Stream2インターフェイスを使用して、node.jsバッファーを読み取り可能なストリームに変換するにはどうすればよいですか?

私はすでにこれを見つけました answer とstream-buffersモジュールですが、このモジュールはstream1インターフェイスに基づいています。

59
Jerome WAGNER

streamifier を使用すると、新しいストリームAPIで文字列とバッファーを読み取り可能なストリームに変換できます。

15
Gabriel Llamas

最も簡単な方法は、おそらく新しいPassThroughストリームインスタンスを作成し、そこにデータをプッシュすることです。それを他のストリームにパイプすると、データは最初のストリームから引き出されます。

var stream = require('stream');

// Initiate the source
var bufferStream = new stream.PassThrough();

// Write your buffer
bufferStream.end(new Buffer('Test data.'));

// Pipe it to something else  (i.e. stdout)
bufferStream.pipe(process.stdout)
154
zjonsson

Natevwが示唆したように、stream.PassThrough、およびend it with the buffer:

var buffer = new Buffer( 'foo' );
var bufferStream = new stream.PassThrough();
bufferStream.end( buffer );
bufferStream.pipe( process.stdout );

これは、バッファが vinyl-fs で変換/パイピングされる方法でもあります。

32
morris4