sharewatch
Version:
Fetch Real-time Indian stock market data from NSE (National Stock Exchange) and BSE (Bombay Stock Exchange)
45 lines (38 loc) • 873 B
JavaScript
/*!
* sharewatch
* Copyright(c) 2019 Anjul Garg <anjulgarg@live.com>
* MIT Licensed
*/
/**
* Service object
* @public
*/
const CSV = Object.create(null)
/**
* Module exports
* @public
*/
module.exports = CSV
CSV.parse_columns = function (data, delimeter=',') {
let lines = data.split(/[\r\n]+/)
let columns = lines[0].split(delimeter).map((el) => {
return el.trim().toLowerCase().replace(/ /g, '_')
})
return columns
}
CSV.parse_data = function (data, delimeter=',') {
let results = []
let columns = CSV.parse_columns(data, delimeter)
let lines = data.split(/[\r\n]+/)
lines.forEach((line, index) => {
if (index == 0) return
let data = {}
let values = line.split(delimeter)
columns.forEach((el, idx) => {
if (el && el != '') data[el] = values[idx]
})
results.push(data)
})
return results
}