aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2021-03-01 13:42:56 -0600
committermat <27899617+mat-1@users.noreply.github.com>2021-03-01 13:42:56 -0600
commite7f891c00d25ab81c04d3982661a49fd2e90d913 (patch)
tree924dad4e8e8514368e78f50eb0c5a5946294f58b
parent7786408cc11fdf752fd03339a59a6d7d717d547d (diff)
downloadskyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.tar.gz
skyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.tar.bz2
skyblock-api-e7f891c00d25ab81c04d3982661a49fd2e90d913.zip
reverse leaderboard order for races
-rw-r--r--src/database.ts15
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[]> {