diff options
-rw-r--r-- | package-lock.json | 40 | ||||
-rw-r--r-- | package.json | 4 | ||||
-rw-r--r-- | src/cleaners/skyblock/slayers.ts | 9 |
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 } |