Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
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 1 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
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.