Comment puis-je transformer un tampon node.js en un flux lisible après avoir utilisé l'interface stream2?
J'ai déjà trouvé cela réponse et le module stream-buffers mais ce module est basé sur l'interface stream1.
Avec streamifier , vous pouvez convertir des chaînes et des tampons en flux lisibles avec la nouvelle API de flux.
Le moyen le plus simple consiste probablement à créer une nouvelle instance de flux PassThrough et à simplement y insérer vos données. Lorsque vous le redirigez vers d'autres flux, les données seront extraites du premier flux.
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)
Comme l'a suggéré natevw, il est encore plus idiomatique d'utiliser un stream.PassThrough
, et end
avec le tampon:
var buffer = new Buffer( 'foo' );
var bufferStream = new stream.PassThrough();
bufferStream.end( buffer );
bufferStream.pipe( process.stdout );
C'est aussi ainsi que les tampons sont convertis/canalisés dans vinyl-fs .