1.0.3 • Published 4 years ago

godkimchi-read-line v1.0.3

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

godkimchi-read-line

Build Status

kimchi style's read line moudle.

Example

const readline = require('godkimchi-read-line')

readline('your file path', { encoding: 'utf8', type: 'file' }, (err, response) => {
    if (err) {
        throw err
    } else {
        const { line, lineCount } = response
        consoel.log(`${lineCount} - ${line}`)
        return false
    }
})

readline(path, options, callback)

path string
options object

  • skipHeader boolean default false
  • encoding string default utf8 check iconv-lite
  • type string option file, csv default file
  • quote string default empty string
  • delimiter string default ,

callback function

  • err Error
  • response object

    • line string
    • lineCount number
    • fields array only type is csv

Handle readline 'finish' event

readline function is AsyncFunction. so you can handle readline finish event.

const readline = require('godkimchi-read-line')

readline('your file path', { encoding: 'utf8', type: 'file' }, (err, response) => {
    if (err) {
        throw err
    } else {
        ...
    }
})
    .then(response => console.log(response))
    .catch(error => console.error(error)
    .finally(() => {
        process.exit()
    })

Continue read line or not

const readline = require('godkimchi-read-line')

readline('your file path', { encoding: 'utf8', type: 'file' }, (err, response) => {
    if (err) {
        throw err
    } else {
        ...
        // return false // stop read line
        return true // continue
    }

})

Wait until readline function read whole file

const readline = require('godkimchi-read-line')

async function readWholeFile () {
    const { lineCount } = await readline('your file path', { encoding: 'utf8', type: 'file' }, (err, response) => {
        if (err) {
            throw err
        } else {
            ...
            // return false // stop read line
            return true // continue
        }
    })

    console.log('@@DONE@@ - file line count is ' + lineCount)
}

Read csv file

const readline = require('godkimchi-read-line')

readline('your file path', { encoding: 'utf8', type: 'csv', quote: '', delimiter: '|' }, (err, response) => {
    if (err) {
        throw err
    } else {
        const { line, lineCount, fields } = response
        console.log(fields)
        return false
    }
})

License

MIT