aboutsummaryrefslogtreecommitdiff
path: root/util/featureWriterStream.js
diff options
context:
space:
mode:
authorevansiroky <evan.siroky@yahoo.com>2020-10-25 14:27:29 -0700
committerevansiroky <evan.siroky@yahoo.com>2020-10-25 14:27:29 -0700
commit62278f0d8361650f683f16a1204c3fc10cd29fab (patch)
treeff3356b82c93ae405e3931113fd865fed41c7e02 /util/featureWriterStream.js
parentb0442caf358d2a813d8ae3bd2db8b5a99f2dadf8 (diff)
downloadtimezone-boundary-builder-62278f0d8361650f683f16a1204c3fc10cd29fab.tar.gz
Add ability to diff zones generated from current config against latest release
Fixes #83
Diffstat (limited to 'util/featureWriterStream.js')
-rw-r--r--util/featureWriterStream.js25
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