ho un parser CSV implementato come una serie di flussi di trasformare:Come comporre trasformare gli stream in node.js
process.stdin
.pipe(iconv.decodeStream('win1252'))
.pipe(csv.parse())
.pipe(buildObject())
.pipe(process.stdout);
mi piacerebbe astrarre il parser (nel suo modulo) ed essere in grado di fare:
process.stdin.
.pipe(parser)
.pipe(process.stdout);
dove parser
è solo la composizione dei flussi utilizzati in precedenza trasformare.
Se faccio
var parser = iconv.decodeStream('win1252')
.pipe(csv.parse())
.pipe(buildObject());
poi parser
è impostato al flusso buildObject() e solo questo flusso trasformazione riceve i dati.
Se faccio
var parser = iconv.decodeStream('win1252');
parser
.pipe(csv.parse())
.pipe(buildObject());
non funziona o, come .pipe(process.stdout)
saranno chiamati al 1 ° trasformare torrente e gli altri 2 saranno bypassati.
Qualche raccomandazione per un'elegante composizione di flussi?
Esattamente quello che ho bisogno. Grazie. Non posso credere che questo modulo non sia più popolare ... –
Same. È brillante. Inoltre, il codice sorgente di multipipe è molto breve, quindi vale la pena verificare l'implementazione per chiunque apprezzi un look sotto il cofano. – Owen