dataMap = {
const dayOfMonthPivot = new Map()
const changePivot = new Map()
const changePctPivot = new Map()
const dates = []
const numbers = []
const change = []
const pctChange = []
data[currency].data
.filter(d => {
if (d.Open === 'null') return false
const yearInt = parseInt(d.Date.split('-')[0])
return yearInt >= slider[0] && yearInt <= slider[1]
})
.map(d => ({
Date: d.Date,
Open: parseFloat(d.Open),
Close: parseFloat(d.Close),
Low: parseFloat(d.Low),
High: parseFloat(d.High),
}))
.forEach((d, i, a) => {
dates.push(d.Date)
numbers.push([d.Open, d.Close, d.Low, d.High])
change.push(getChange(d, a[i - 1]))
pctChange.push(getPctChange(d, a[i - 1]))
populatePivot(new Date(d.Date).getDate(), dayOfMonthPivot, d)
const c = getChange(d, a[i - 1])
populatePivot(new Date(d.Date).getDate(), changePivot, { Low: c[0], High: c[1] })
const cpct = getPctChange(d, a[i - 1])
populatePivot(new Date(d.Date).getDate(), changePctPivot, { Low: cpct[0], High: cpct[1] })
})
return {
dates,
numbers,
change,
pctChange,
changePivot: new Map([...changePivot.entries()].sort((a, b) => a[0] - b[0])),
changePctPivot: new Map([...changePctPivot.entries()].sort((a, b) => a[0] - b[0])),
dayOfMonthPivot: new Map([...dayOfMonthPivot.entries()].sort((a, b) => a[0] - b[0]))
};
}