aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package-lock.json40
-rw-r--r--package.json4
-rw-r--r--src/cleaners/skyblock/slayers.ts9
3 files changed, 10 insertions, 43 deletions
diff --git a/package-lock.json b/package-lock.json
index 2a22d1e..301a9ef 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -22,10 +22,8 @@
},
"devDependencies": {
"@types/express": "^4.17.13",
- "@types/express-rate-limit": "^6.0.0",
"@types/lru-cache": "^5.1.1",
"@types/mocha": "^9.1.0",
- "@types/mongodb": "^4.0.7",
"@types/node": "^17.0.21",
"dotenv": "^16.0.0",
"mocha": "^9.2.1",
@@ -112,16 +110,6 @@
"@types/serve-static": "*"
}
},
- "node_modules/@types/express-rate-limit": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@types/express-rate-limit/-/express-rate-limit-6.0.0.tgz",
- "integrity": "sha512-nZxo3nwU20EkTl/f2eGdndQkDIJYwkXIX4S3Vrp2jMdSdFJ6AWtIda8gOz0wiMuOFoeH/UUlCAiacz3x3eWNFA==",
- "deprecated": "This is a stub types definition. express-rate-limit provides its own type definitions, so you do not need this installed.",
- "dev": true,
- "dependencies": {
- "express-rate-limit": "*"
- }
- },
"node_modules/@types/express-serve-static-core": {
"version": "4.17.23",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.23.tgz",
@@ -151,16 +139,6 @@
"integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==",
"dev": true
},
- "node_modules/@types/mongodb": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-4.0.7.tgz",
- "integrity": "sha512-lPUYPpzA43baXqnd36cZ9xxorprybxXDzteVKCPAdp14ppHtFJHnXYvNpmBvtMUTb5fKXVv6sVbzo1LHkWhJlw==",
- "deprecated": "mongodb provides its own types. @types/mongodb is no longer needed.",
- "dev": true,
- "dependencies": {
- "mongodb": "*"
- }
- },
"node_modules/@types/node": {
"version": "17.0.21",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz",
@@ -2306,15 +2284,6 @@
"@types/serve-static": "*"
}
},
- "@types/express-rate-limit": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/@types/express-rate-limit/-/express-rate-limit-6.0.0.tgz",
- "integrity": "sha512-nZxo3nwU20EkTl/f2eGdndQkDIJYwkXIX4S3Vrp2jMdSdFJ6AWtIda8gOz0wiMuOFoeH/UUlCAiacz3x3eWNFA==",
- "dev": true,
- "requires": {
- "express-rate-limit": "*"
- }
- },
"@types/express-serve-static-core": {
"version": "4.17.23",
"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.23.tgz",
@@ -2344,15 +2313,6 @@
"integrity": "sha512-QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==",
"dev": true
},
- "@types/mongodb": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-4.0.7.tgz",
- "integrity": "sha512-lPUYPpzA43baXqnd36cZ9xxorprybxXDzteVKCPAdp14ppHtFJHnXYvNpmBvtMUTb5fKXVv6sVbzo1LHkWhJlw==",
- "dev": true,
- "requires": {
- "mongodb": "*"
- }
- },
"@types/node": {
"version": "17.0.21",
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz",
diff --git a/package.json b/package.json
index 36553af..102759b 100644
--- a/package.json
+++ b/package.json
@@ -7,7 +7,7 @@
"test": "mocha",
"compile": "tsc",
"watch": "tsc -w",
- "start": "npm i --only=prod; node --trace-warnings build/index.js"
+ "start": "npm i --only=prod && node --trace-warnings build/index.js"
},
"engines": {
"node": ">=16.0.0"
@@ -42,10 +42,8 @@
},
"devDependencies": {
"@types/express": "^4.17.13",
- "@types/express-rate-limit": "^6.0.0",
"@types/lru-cache": "^5.1.1",
"@types/mocha": "^9.1.0",
- "@types/mongodb": "^4.0.7",
"@types/node": "^17.0.21",
"dotenv": "^16.0.0",
"mocha": "^9.2.1",
diff --git a/src/cleaners/skyblock/slayers.ts b/src/cleaners/skyblock/slayers.ts
index f051852..a47829a 100644
--- a/src/cleaners/skyblock/slayers.ts
+++ b/src/cleaners/skyblock/slayers.ts
@@ -18,6 +18,7 @@ export interface Slayer {
name?: SlayerName
raw_name: string
xp: number
+ level: number
kills: number
tiers: SlayerTier[]
}
@@ -46,6 +47,13 @@ export function cleanSlayers(data: any): SlayerData {
let slayerKills: number = 0
const slayerTiers: SlayerTier[] = []
+ // we get the level by finding the biggest number in "level_<number>"
+ let slayerLevel = Object.keys(slayerDataRaw.claimed_levels)
+ .filter(k => slayerDataRaw.claimed_levels[k])
+ .map(n => parseInt(n.replace(/^level_/, '')))
+ .sort((a, b) => b - a)[0] ?? 0
+
+
for (const slayerDataKey in slayerDataRaw) {
// if a key starts with boss_kills_tier_ (boss_kills_tier_1), get the last number
if (slayerDataKey.startsWith('boss_kills_tier_')) {
@@ -76,6 +84,7 @@ export function cleanSlayers(data: any): SlayerData {
raw_name: slayerNameRaw,
tiers: slayerTiers,
xp: slayerXp ?? 0,
+ level: slayerLevel,
kills: slayerKills
}