diff options
author | mat <27899617+mat-1@users.noreply.github.com> | 2021-03-01 13:42:56 -0600 |
---|---|---|
committer | mat <27899617+mat-1@users.noreply.github.com> | 2021-03-01 13:42:56 -0600 |
commit | e7f891c00d25ab81c04d3982661a49fd2e90d913 (patch) | |
tree | 924dad4e8e8514368e78f50eb0c5a5946294f58b | |
parent | 7786408cc11fdf752fd03339a59a6d7d717d547d (diff) | |
download | skyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.tar.gz skyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.tar.bz2 skyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.zip |
reverse leaderboard order for races
-rw-r--r-- | src/database.ts | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/database.ts b/src/database.ts index d3e2291..2e48dbb 100644 --- a/src/database.ts +++ b/src/database.ts @@ -34,7 +34,8 @@ const cachedRawLeaderboards: Map<string, DatabaseLeaderboardItem[]> = new Map() const leaderboardMax = 100 const reversedStats = [ - 'first_join' + 'first_join', + '_best_time', '_best_time_2' ] let client: MongoClient @@ -114,7 +115,17 @@ export async function fetchAllMemberLeaderboardAttributes(): Promise<string[]> { } function isLeaderboardReversed(name: string): boolean { - return reversedStats.includes(name) + for (const statMatch of reversedStats) { + let trailingEnd = statMatch[0] === '_' + let trailingStart = statMatch.substr(-1) === '_' + if ( + (trailingStart && name.startsWith(statMatch)) + || (trailingEnd && name.endsWith(statMatch)) + || (name == statMatch) + ) + return true + } + return false } async function fetchMemberLeaderboardRaw(name: string): Promise<DatabaseLeaderboardItem[]> { |