
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
csv-builder-m
Advanced tools
Create csv formated streams from Arrays of Objects. CsvBuilder is one of many Csv stream/generator implementations on npm. The goal of CsvBuilder is to create Schema's for csv output and let the consumer spawn as many streams as needed from a single instance to maintain a specific format. This means the user gets control of the headers, the order of the headers, how the headers correspond to consumed objects, virtual properties, value delimiters, and line terminators.
var CsvBuilder = require('csv-builder');
// assuming we have an array of objects that's
// in the format of {fullname: String, email: String, zip: Number}
// but we need csv formated as such: Firstname, Lastname, Email
var usersBuilder = new CsvBuilder({
// define headers and order of headers
headers: 'Firstname Lastname Email',
// define object to header correspondance
constraints: {
// Header: property
'Email': 'email'
// correspond with a virtual property
'Lastname': 'lastname'
}
})
// create virtual 'Firstname'
.virtual('Firstname', function(obj) {
return obj.name.split(' ')[0];
})
// virtual properties are treated like any propery,
// if it is not defined in the headers, it still needs a constraint
.virtual('lastname', function(obj) {
return obj.name.split(' ')[1];
});
// From the `usersBuilder` instance we can now spawn readable or tranform streams.
// pipe into a newly created duplex
Model.find().stream()
.pipe(usersBuilder.createTransformStream())
.pipe(fs.createWriteStream('output.csv'));
// Create a readable stream from an Array<Object> payload
usersBuilder.createReadStream(payload)
.pipe(fs.createWriteStream('output.csv'));
$ npm install csv-builder
Set single or multiple contraints. If header
is an object, it will extend any existing constraints, not replace.
Create a virtual property. Virtual properties are treated the same as normal properties, so if no header matches the virtual property name, or no constraint is set the virtual property will be omitted.
Create's a readable stream and consumes the payload.
Create's a transform stream. The stream expects either Objects or JSON.
FAQs
Create csv formated streams from Arrays of Objects.
The npm package csv-builder-m receives a total of 0 weekly downloads. As such, csv-builder-m popularity was classified as not popular.
We found that csv-builder-m demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.