-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstats.js
More file actions
29 lines (26 loc) · 905 Bytes
/
Copy pathstats.js
File metadata and controls
29 lines (26 loc) · 905 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Stats module — computes session statistics
// Exposed as window.AviatorStats
window.AviatorStats = (() => {
function compute(session) {
const results = session.results || [];
const totalRounds = session.roundsPlayed || 0;
const wins = results.filter((r) => r.win).length;
const losses = results.filter((r) => !r.win).length;
const winRate = results.length > 0 ? (wins / results.length * 100).toFixed(1) : "0.0";
const profitLoss = session.currentBankroll - session.startingBankroll;
const profitPercent = session.startingBankroll > 0
? ((profitLoss / session.startingBankroll) * 100).toFixed(1)
: "0.0";
return {
totalRounds,
wins,
losses,
winRate,
profitLoss,
profitPercent,
consecutiveLosses: session.consecutiveLosses,
consecutiveWins: session.consecutiveWins,
};
}
return { compute };
})();