(JSON ドキュメントを含むファイルから) 読み取り可能なストリームの配列を作成しており、それらを別のストリームにパイプしようとしています。
ファイル内のデータは通過していますが、パイプでストリームに受信したすべてのオブジェクトについて、このデータがどのファイルからのものかを知りたいです。
var fs = require('fs');
var path = require('path');
var JSONStream = require('JSONStream');
var tmp1 = path.join(__dirname, 'data', 'tmp1.json');
var tmp2 = path.join(__dirname, 'data', 'tmp2.json');
var jsonStream = JSONStream.parse();
jsonStream.on('data', function (data) {
console.log('---\nFrom which file does this data come from?');
console.log(data);
});
[tmp1, tmp2].map(p => {
return fs.createReadStream(p);
}).forEach(stream => stream.pipe(jsonStream));
出力:
---
From which file does this data come from?
{ a: 1, b: 2 }
---
From which file does this data come from?
{ a: 3, b: 4 }
---
From which file does this data come from?
{ a: 5, b: 6 }
---
From which file does this data come from?
{ a: 100, b: 200 }
---
From which file does this data come from?
{ a: 300, b: 400 }
---
From which file does this data come from?
{ a: 500, b: 600 }
( で) 読み取ったオブジェクトをさらに処理するには、ファイル パスが必要ですが、jsonStream.on('data') callback
この追加データを渡す方法がわかりません。