reduceScorecardsToFOWs = (scorecardArray, inningFilterFn) => {
const fowArray = scorecardArray.reduce((accumulator, card, index, array) => {
const desc = card.description.split(',');
const result = card.result.toLowerCase().indexOf("india won") !== -1 ? "India won" : card.result;
const test = isNaN(desc[0].trim()[0]) ? 1 : parseInt(desc[0].trim()[0]);
const series_name = desc[desc.length - 1].trim();
let reduceResult = Array.from(accumulator)
for (let idx = 0; idx < card.innings.length; ++idx) {
const inning = card.innings[idx];
const inningDesc = inning.description;
if (inningFilterFn(inning)) {
const inningCount = Math.floor(idx/2) + 1;
const inningData = {fow: inning.fow, series_name: `${series_name}`, innings: inningCount, test: test, result: result};
reduceResult.push(inningData);
}
}
return reduceResult;
}, []);
return fowArray
}