26 lines
642 B
TypeScript
26 lines
642 B
TypeScript
import { Stats, Round, AccelerationSettings } from '../types';
|
|
|
|
export const calculateAverageTime = (times: number[]): number => {
|
|
return times.length
|
|
? Math.round(times.reduce((a, b) => a + b) / times.length)
|
|
: 0;
|
|
};
|
|
|
|
export const createNewRound = (
|
|
time: number,
|
|
misclicks: number,
|
|
settings: AccelerationSettings
|
|
): Round => ({
|
|
timeSpent: time,
|
|
misclicks,
|
|
accelerationEnabled: settings.enabled,
|
|
accelerationCurve: settings.enabled ? [...settings.accelerationCurve] : undefined,
|
|
timestamp: Date.now(),
|
|
});
|
|
|
|
export const createInitialStats = (): Stats => ({
|
|
startTime: Date.now(),
|
|
misclicks: 0,
|
|
targetsHit: 0,
|
|
times: [],
|
|
});
|