aboutsummaryrefslogtreecommitdiff
path: root/src/cleaners/skyblock/zones.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/cleaners/skyblock/zones.ts')
-rw-r--r--src/cleaners/skyblock/zones.ts22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/cleaners/skyblock/zones.ts b/src/cleaners/skyblock/zones.ts
index 87d008d..b07c542 100644
--- a/src/cleaners/skyblock/zones.ts
+++ b/src/cleaners/skyblock/zones.ts
@@ -1,18 +1,34 @@
+import * as constants from '../../constants.js'
+
export interface Zone {
name: string
visited: boolean
}
-export function cleanVisitedZones(data: any): Zone[] {
+export async function cleanVisitedZones(data: any): Promise<Zone[]> {
const rawZones = data?.visited_zones || []
// TODO: store all the zones that exist in SkyBlock, add add those to the array with visited being false
const zones: Zone[] = []
- for (const rawZoneName of rawZones) {
+
+ const knownZones = await constants.fetchZones()
+
+ for (const rawZoneName of knownZones) {
zones.push({
name: rawZoneName,
- visited: true
+ visited: rawZones.includes(rawZoneName)
})
}
+
+ // if this user somehow has a zone that we don't know about, just add it to zones
+ for (const rawZoneName of rawZones) {
+ if (!knownZones.includes(rawZoneName)) {
+ zones.push({
+ name: rawZoneName,
+ visited: true
+ })
+ }
+ }
+
return zones
}