Socket
Socket
Sign inDemoInstall

nest-csv-parser

Package Overview
Dependencies
64
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nest-csv-parser

CSV parser for NestJS framework


Version published
Weekly downloads
9.8K
increased by2.46%
Maintainers
1
Install size
8.90 MB
Created
Weekly downloads
 

Readme

Source

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.

NPM Version Package License NPM Downloads CircleCI Builds Coverage Status

CSV Parser for NestJS

Nest framework TypeScript starter repository.

Wrapper for csv-parser library

Installation

$ npm install nest-csv-parser
# or if you using Yarn
$ yarn add nest-csv-parser

Add nest-csv-parser as a dependency.

import { Module } from '@nestjs/common'
import { CsvModule } from 'nest-csv-parser'
// ...imports of your app dependecies

@Module({
  imports: [
    CsvModule, // <-- add into imports
    ...
  ],
  controllers: [ ... ],
  providers: [ ... ]
})
export class AppModule {}

Usage

Parser will create instance of entity for each line in CSV stream.

// app.parser.ts
import { Injectable } from '@nestjs/common'
import { CsvParser } from 'nest-csv-parser'

class Entity {
  foo: string
  bar: string
}

@Injectable()
export class AppService {
  constructor(
    private readonly csvParser: CsvParser
  ) {}

  async parse() {
    // Create stream from file (or get it from S3)
    const stream = fs.createReadStream(__dirname + '/some.csv')
    const entities: Entity[] = await csvParser.parse(stream, Entity)

    return entities
  }
}

API

csvParser.parse(stream, Entity, count, offset, csvConfig) has 5 parameters.

stream

required

First parameter has to be the stream of the CSV file. NodeJS Reference

Entity

required

Has to be object from which will parser create instance.

count (optional)

default: null

How many lines you want to parse.

offset (optional)

default: null

Offset is similar to SQL databases. Skips the N lines from the beginning of the file.

csvConfig (optional)

default

{ strict: true, separator: ';' }

Just a configuration object for csv-parser library options you can find here

Development

# clone repository
$ git clone git@github.com:mCzolko/nest-csv-parser.git
$ cd nest-csv-parser

# install dependencies
$ yarn install

# watch mode
$ yarn test:watch

Test

# unit tests
$ yarn test

Author

Michael Czolko

ko-fi

FAQs

Last updated on 22 Jul 2020

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