UNPKG

nyc-bytes

Version:

A node.js module for working with NYC's BYTES of the BIG APPLE datasets.

33 lines (30 loc) 891 B
const dataset = require('../datasets.json').Pluto; const fs = require('fs'); const path = require('path'); const Dataset = require('./Dataset.js'); const parse = require('csv-parse'); const Transform = require('stream').Transform; class Pluto extends Dataset { constructor() { super(dataset); } stream() { super.stream(); const bblTransform = new Transform({ objectMode: true, transform(chunk, encoding, done) { chunk.BBL = parseInt(chunk.BBL || chunk.bbl).toString(); this.push(chunk); done(); } }); const filePath = path.resolve(this.path, this.dataset.files[0]); const file = fs.createReadStream(filePath); const parser = parse({ columns: (r) => { return r; }, cast: false }); return file.pipe(parser).pipe(bblTransform); } } module.exports = new Pluto();