Untitled
unknown
plain_text
10 months ago
1.3 kB
6
Indexable
function calculateTime(code: number, startTimestamp: number): string {
const currentDate = getCurrentDateTimestamp();
const { minutes } = timestampToMinutesSeconds(currentDate - startTimestamp);
const minutesApp = minutes + 1; // renamed to camelCase
// Extract match status codes to enum/constants for better maintainability
const MatchStatusCode = {
FIRST_HALF: 5,
HALF_TIME: 6,
SECOND_HALF: 7,
PENALTIES: 13,
EXTRA_TIME: 14,
INTERRUPTED: 15,
POSTPONED: 60,
CANCELLED: 70,
CANCELLED_ALT: 90,
FULL_TIME: 100,
AFTER_EXTRA_TIME: 110,
AFTER_PENALTIES: 120,
} as const;
const codeMappings: Record<number, string | number> = {
[MatchStatusCode.FIRST_HALF]: minutesApp > 45 ? '45+' : minutesApp,
[MatchStatusCode.HALF_TIME]: 'HT',
[MatchStatusCode.SECOND_HALF]: minutesApp + 45 > 90 ? '90+' : 45 + minutesApp,
[MatchStatusCode.PENALTIES]: 'Penalties',
[MatchStatusCode.EXTRA_TIME]: 'ET',
[MatchStatusCode.INTERRUPTED]: 'interrupted',
[MatchStatusCode.POSTPONED]: 'postponed',
[MatchStatusCode.CANCELLED]: 'cancelled',
[MatchStatusCode.CANCELLED_ALT]: 'cancelled',
[MatchStatusCode.FULL_TIME]: 'FT',
[MatchStatusCode.AFTER_EXTRA_TIME]: 'AET',
[MatchStatusCode.AFTER_PENALTIES]: 'AP'
};
return codeMappings[code]?.toString() || '';
}Editor is loading...
Leave a Comment