1*f0df9794SNeil Fullerconst fs = require('fs') 2*f0df9794SNeil Fuller 3*f0df9794SNeil Fullerclass FeatureWriterStream { 4*f0df9794SNeil Fuller constructor (file) { 5*f0df9794SNeil Fuller this.file = file 6*f0df9794SNeil Fuller this.stream = fs.createWriteStream(file) 7*f0df9794SNeil Fuller this.stream.write('{"type":"FeatureCollection","features":[') 8*f0df9794SNeil Fuller this.numFeatures = 0 9*f0df9794SNeil Fuller } 10*f0df9794SNeil Fuller 11*f0df9794SNeil Fuller add (stringifiedFeature) { 12*f0df9794SNeil Fuller if (this.numFeatures > 0) { 13*f0df9794SNeil Fuller this.stream.write(',') 14*f0df9794SNeil Fuller } 15*f0df9794SNeil Fuller this.stream.write(stringifiedFeature) 16*f0df9794SNeil Fuller this.numFeatures++ 17*f0df9794SNeil Fuller } 18*f0df9794SNeil Fuller 19*f0df9794SNeil Fuller end (cb) { 20*f0df9794SNeil Fuller console.log(`Closing out file ${this.file}`) 21*f0df9794SNeil Fuller this.stream.end(']}', cb) 22*f0df9794SNeil Fuller } 23*f0df9794SNeil Fuller} 24*f0df9794SNeil Fuller 25*f0df9794SNeil Fullermodule.exports = FeatureWriterStream 26