【发布时间】:2015-02-27 13:14:35
【问题描述】:
我有来自readdirp 模块的目录流。
我想:-
- 在每个目录中使用正则表达式(例如
README.*)搜索文件 - 读取该文件的第一行不以
#开头 - 打印出每个目录和目录中自述文件的第一个非标题行。
我正在尝试使用流和highland.js 来做到这一点。
我一直在尝试处理每个目录中的所有文件流。
h = require 'highland'
dirStream = readdirp root: root, depth: 0, entryType: 'directories'
dirStream = h(dirStream)
.filter (entry) -> entry.stat.isDirectory()
.map (entry) ->
# Search all files in the directory for README.
fileStream = readdirp root: entry.fullPath, depth: 0, entryType: 'files', fileFilter: '!.DS_Store'
fileStream = h(fileStream).filter (entry) -> /README\..*/.test entry.name
fileStream.each (file) ->
readmeStream = fs.createReadStream file
_(readmeStream)
.split()
.takeUntil (line) -> not line.startsWith '#' and line isnt ''
.last(1)
.toArray (comment) ->
# TODO: How do I access `comment` asynchronously to include in the return value of the map?
return {name: entry.name, comment: comment}
【问题讨论】:
标签: node.js stream highland.js