@slippi/slippi-js
Version:
Official Project Slippi Javascript SDK
24 lines (21 loc) • 874 B
JavaScript
import { format } from 'date-fns';
import { TimerType } from '../types.esm.js';
import { exists } from './exists.esm.js';
function frameToGameTimer(frame, options) {
const { timerType, startingTimerSeconds } = options;
if (timerType === TimerType.DECREASING) {
if (!exists(startingTimerSeconds)) {
return "Unknown";
}
const centiseconds = Math.ceil((((60 - (frame % 60)) % 60) * 99) / 59);
const date = new Date(0, 0, 0, 0, 0, startingTimerSeconds - frame / 60, centiseconds * 10);
return format(date, "mm:ss.SS");
}
if (timerType === TimerType.INCREASING) {
const centiseconds = Math.floor(((frame % 60) * 99) / 59);
const date = new Date(0, 0, 0, 0, 0, frame / 60, centiseconds * 10);
return format(date, "mm:ss.SS");
}
return "Infinite";
}
export { frameToGameTimer };