Adonis PapaParse Provider
A AdonisJS service Provider which wraps Papa Parse, a powerful CSV parser .
installation
Install via npm:
npm i --save adonis-papaparse-provider
Register the provider inside start/app.js
file :
const providers = 'adonis-papaparse-provider/providers/PapaParseProvider'
After register, import the parser as below :
const Papa =
Provider Config
The config file config/papaParse.js
contains Papa Parse
configuration options :
- parse : configuration for converting CSV to JSON
- unparse : configuration for converting JSON to CSV
Features
The provider exposes base functions of Papa Parse
.
Parse CSV to JSON
CSV string :
const Papa = const csv = `name,age\n\nTom,12\nAmy,9`let result = Papa/*result.data === [['name', 'age'], [''], ['Tom', '12'], ['Amy', '9']]*/
Local csv file (fs.readFileSync) :
const Papa = const csv = pathconst csvString = fslet result = Papa
Local CSV file (fs.createReadStream)
const Papa = const csv = pathconst stream = fs // in async functionconst result = await { Papa}
Local CSV file (stream.pipe()) :
const Papa = const csv = pathconst stream = fsconst csvStream = stream // in async functionlet result = await { const data = csvStream csvStream csvStream}
JSON to Parse CSV
const Papa = /* Array<Object> */let json = name: 'Tom' age: '12' name: 'Amy' age: '9' /* Array<Array<any>> */json = 'name' 'age' '' 'Tom' '12' 'Amy' '9' /* Papa.UnparseObject */json = fields: 'name' 'age' data: 'Tom' '12' 'Amy' '9' Papa