diff options
Diffstat (limited to 'util/featureWriterStream.js')
-rw-r--r-- | util/featureWriterStream.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/util/featureWriterStream.js b/util/featureWriterStream.js new file mode 100644 index 0000000..7f0e7b8 --- /dev/null +++ b/util/featureWriterStream.js @@ -0,0 +1,25 @@ +const fs = require('fs') + +class FeatureWriterStream { + constructor (file) { + this.file = file + this.stream = fs.createWriteStream(file) + this.stream.write('{"type":"FeatureCollection","features":[') + this.numFeatures = 0 + } + + add (stringifiedFeature) { + if (this.numFeatures > 0) { + this.stream.write(',') + } + this.stream.write(stringifiedFeature) + this.numFeatures++ + } + + end (cb) { + console.log(`Closing out file ${this.file}`) + this.stream.end(']}', cb) + } +} + +module.exports = FeatureWriterStream |