Socket
Socket
Sign inDemoInstall

knex-to-csv

Package Overview
Dependencies
56
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    knex-to-csv

Adds the .toStreamCSV() function to Knex's query builder to stream rows from Knex in CSV format to a writable stream.


Version published
Maintainers
1
Install size
1.30 MB
Created

Readme

Source

knex-to-csv

npm

Adds the .toStreamCSV() function to Knex's query builder to stream rows from Knex in CSV format to a writable stream.

Install

$ npm i knex-to-csv --save

Setup

Import and call the attachToStreamCSV() function after importing Knex:

const knex = require('knex');
const {attachToStreamCSV} = require('knex-to-csv');
attachToStreamCSV();

Usage

Export Knex rows to a CSV file:

const fs = require('fs')

csvWriter = fs.createWriteStream('/tmp/export.csv');

await knex.select().from('users').toStreamCSV(csvWriter)

// or with promise
knex.select().from('users').toStreamCSV(csvWriter)
    .then(() => {
        console.log('CSV exported successfully!');
    })
    .catch(e => {
        console.log(e);
    })

Specify CSV options and export Knex result rows to a CSV file:

const fs = require('fs')

csvWriter = fs.createWriteStream('/tmp/export.csv');

await knex.select().from('users').toStreamCSV(csvWriter, {csv: {separator: '|', newline: '\n'}})

Note

From Knex.js documentation:

If you wish to use streams with PostgreSQL, you must also install the pg-query-stream module. If you wish to use streams with the pgnative dialect, please be aware that the results will not be streamed as they are received, but rather streamed after the entire result set has returned. On an HTTP server, make sure to manually close your streams if a request is aborted.

API

toStreamCSV(writableStream, options?): Promise<number>
writableStream

Any writable stream or Duplex stream that implements the stream.Writable class such as fs write streams, http ServerResponse, TCP sockets, Zlib streams, etc.

options

Type: object

Default: {}

Keys: path, csv

  • path

    Type: any

    Default: undefined

    A path for JSONStream.parse

  • csv

    Type: object

    Default: {separator: ',', newline: '\n', headers: undefined, sendHeaders: true}

    Options to pass to csv-write-stream

License

MIT

Acknowledgements

This library was inspired from the following libraries:

Keywords

FAQs

Last updated on 03 Jul 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc