UNPKG

cl-cricket-utils

Version:

A utility package for cricket match calculations

37 lines (31 loc) 1.28 kB
const calculateTargetRunsAndBallsLeft = (match) => { if (!match?.status?.id || match?.status?.id > 3) return {}; let targetRuns = 0; let ballsLeft = 0; let ballText = "Balls"; if (match?.currentInning?.targetRuns > 0) { targetRuns = match.currentInning.targetRuns - match.currentInning.totalRuns; ballsLeft = match.currentInning.ballsLeft; } else { ballText = match.currentInning.overs ? "Overs" : "Balls"; targetRuns = match.currentInning.totalRuns + 1; ballsLeft = match?.currentInning?.overs || match?.currentInning?.ballsLeft; } return { targetRuns, ballsLeft, ballText }; }; // Additional function to calculate Required Run Rate const calculateRequiredRunRate = (targetRuns, ballsLeft) => { if (ballsLeft === 0) return 0; return (targetRuns / (ballsLeft / 6)).toFixed(2); }; // Function to calculate projected score based on current run rate const calculateProjectedScore = (currentRuns, currentOvers, totalOvers) => { if (currentOvers === 0) return 0; let runRate = currentRuns / currentOvers; return Math.round(runRate * totalOvers); }; module.exports = { calculateTargetRunsAndBallsLeft, calculateRequiredRunRate, calculateProjectedScore, };