我有一系列的变换流实现的CSV解析器变换流:如何谱写出的node.js
process.stdin
.pipe(iconv.decodeStream('win1252'))
.pipe(csv.parse())
.pipe(buildObject())
.pipe(process.stdout);
我想抽象语法分析器(它自己的模块),并能够做:
process.stdin.
.pipe(parser)
.pipe(process.stdout);
其中parser
只是以前使用的转换流的组成。
如果我
var parser = iconv.decodeStream('win1252')
.pipe(csv.parse())
.pipe(buildObject());
然后parser
被设置为buildObject()流和仅该变换流接收数据。
如果我做
var parser = iconv.decodeStream('win1252');
parser
.pipe(csv.parse())
.pipe(buildObject());
它也不起作用,因为.pipe(process.stdout)
将被称为1号变换流和2人将被绕过。
用于流的优雅组成的任何建议?
正是我需要的。谢谢。不敢相信这个模块不是更受欢迎... –
一样。这太棒了。此外,multipipe的源代码非常短,因此值得查看实施情况,以便让任何看重引擎盖的人都了解。 – Owen