The other feature is that this is all in node core. Isaacs 0.9 streams will have the notion of a transform stream.
, Transform = require("stream").Transform
d.run(function () {
var onlyJsFiles = new Transform()
, mapToFiles = new Transform()
, addNewLine = new Transform()
onlyJsFiles._transform = function(fileName, output, end) {
if (fileName.slice(-3) === ".js" && (fileName !== "lib.js")) {
output(fileName)
}
end()
}
mapToFiles._transform = function(fileName, output, end) {
fs.readFile(fileName, end)
}
addNewLine._transform = function (file, output, end) {
end(null, file + "\n")
}
fs.createReadStream(__dirname)
.pipe(onlyJsFiles)
.pipe(mapToFiles)
.pipe(addNewLine)