aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Data/AniList
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Data/AniList')
-rw-r--r--src/lib/Data/AniList/activity.ts12
-rw-r--r--src/lib/Data/AniList/cacheHydration.ts2
-rw-r--r--src/lib/Data/AniList/character.ts32
-rw-r--r--src/lib/Data/AniList/follow.ts2
-rw-r--r--src/lib/Data/AniList/following.ts4
-rw-r--r--src/lib/Data/AniList/forum.ts2
-rw-r--r--src/lib/Data/AniList/identity.ts6
-rw-r--r--src/lib/Data/AniList/media.ts51
-rw-r--r--src/lib/Data/AniList/notifications.ts6
-rw-r--r--src/lib/Data/AniList/prequels.ts2
-rw-r--r--src/lib/Data/AniList/user.ts4
-rw-r--r--src/lib/Data/AniList/wrapped.ts15
12 files changed, 67 insertions, 71 deletions
diff --git a/src/lib/Data/AniList/activity.ts b/src/lib/Data/AniList/activity.ts
index 11466cc5..07dbeff7 100644
--- a/src/lib/Data/AniList/activity.ts
+++ b/src/lib/Data/AniList/activity.ts
@@ -115,7 +115,7 @@ export const activityHistoryOptions = async (
}),
})
).json()
- )["data"]["User"];
+ ).data.User;
};
const convertToTimezoneOffset = (timeStr: string) => {
@@ -228,7 +228,7 @@ export const fullActivityHistory = async (
for (const activity of currentPage.data.Page.activities)
activities.push(activity);
- while (currentPage["data"]["Page"]["pageInfo"]["hasNextPage"]) {
+ while (currentPage.data.Page.pageInfo.hasNextPage) {
if (disableLoopingActivityCounter) break;
for (const activity of currentPage.data.Page.activities)
@@ -276,7 +276,7 @@ export const fullActivityHistory = async (
}
fullLocalActivityHistory = fullLocalActivityHistory.filter(
- (a) => !isNaN(a.date),
+ (a) => !Number.isNaN(a.date),
);
if (new Date().getMonth() > 6)
@@ -320,7 +320,7 @@ export const activityLikes = async (id: number): Promise<Partial<User>[]> => {
})
).json();
- return activityResponse["data"]["Activity"]["likes"];
+ return activityResponse.data.Activity.likes;
};
export const activityText = async (
@@ -343,10 +343,10 @@ export const activityText = async (
}),
})
).json();
- let text = activityResponse["data"]["Activity"]["text"];
+ let text = activityResponse.data.Activity.text;
if (replies)
- for (const reply of activityResponse["data"]["Activity"]["replies"])
+ for (const reply of activityResponse.data.Activity.replies)
text += reply.text;
return text;
diff --git a/src/lib/Data/AniList/cacheHydration.ts b/src/lib/Data/AniList/cacheHydration.ts
index 61cb1e60..ee5ba2f1 100644
--- a/src/lib/Data/AniList/cacheHydration.ts
+++ b/src/lib/Data/AniList/cacheHydration.ts
@@ -1,8 +1,8 @@
+import localforage from "localforage";
import { browser } from "$app/environment";
import anime from "$stores/anime";
import lastPruneTimes from "$stores/lastPruneTimes";
import manga from "$stores/manga";
-import localforage from "localforage";
type MediaCacheKind = "anime" | "manga";
const cacheStorageKey = (kind: MediaCacheKind) => `${kind}:v3`;
diff --git a/src/lib/Data/AniList/character.ts b/src/lib/Data/AniList/character.ts
index 3c53b91b..e694edc7 100644
--- a/src/lib/Data/AniList/character.ts
+++ b/src/lib/Data/AniList/character.ts
@@ -43,28 +43,28 @@ export const todaysCharacterBirthdays = async (): Promise<Character[]> => {
let page = 1;
let currentPage = await charactersPage(page);
- for (const character of currentPage["data"]["Page"]["characters"])
+ for (const character of currentPage.data.Page.characters)
characters.push({
- id: character["id"],
+ id: character.id,
name: {
- full: character["name"]["full"],
+ full: character.name.full,
},
image: {
- large: character["image"]["large"],
- medium: character["image"]["medium"],
+ large: character.image.large,
+ medium: character.image.medium,
},
});
- while (currentPage["data"]["Page"]["pageInfo"]["hasNextPage"]) {
- for (const character of currentPage["data"]["Page"]["characters"])
+ while (currentPage.data.Page.pageInfo.hasNextPage) {
+ for (const character of currentPage.data.Page.characters)
characters.push({
- id: character["id"],
+ id: character.id,
name: {
- full: character["name"]["full"],
+ full: character.name.full,
},
image: {
- large: character["image"]["large"],
- medium: character["image"]["medium"],
+ large: character.image.large,
+ medium: character.image.medium,
},
});
@@ -72,15 +72,15 @@ export const todaysCharacterBirthdays = async (): Promise<Character[]> => {
currentPage = await charactersPage(page);
}
- for (const character of currentPage["data"]["Page"]["characters"])
+ for (const character of currentPage.data.Page.characters)
characters.push({
- id: character["id"],
+ id: character.id,
name: {
- full: character["name"]["full"],
+ full: character.name.full,
},
image: {
- large: character["image"]["large"],
- medium: character["image"]["medium"],
+ large: character.image.large,
+ medium: character.image.medium,
},
});
diff --git a/src/lib/Data/AniList/follow.ts b/src/lib/Data/AniList/follow.ts
index 6aec8b9a..daafc8f6 100644
--- a/src/lib/Data/AniList/follow.ts
+++ b/src/lib/Data/AniList/follow.ts
@@ -45,5 +45,5 @@ export const toggleFollow = async (
}),
})
).json()
- )["data"]["ToggleFollow"];
+ ).data.ToggleFollow;
};
diff --git a/src/lib/Data/AniList/following.ts b/src/lib/Data/AniList/following.ts
index 60bb3ccc..b8184e53 100644
--- a/src/lib/Data/AniList/following.ts
+++ b/src/lib/Data/AniList/following.ts
@@ -1,4 +1,4 @@
-import { user, type User } from "./user";
+import { type User, user } from "./user";
export interface FollowingPage {
data: {
@@ -46,7 +46,7 @@ export const followers = async (name: string): Promise<Partial<User>[]> => {
for (const activity of currentPage.data.Page.following)
activities.push(activity);
- while (currentPage["data"]["Page"]["pageInfo"]["hasNextPage"]) {
+ while (currentPage.data.Page.pageInfo.hasNextPage) {
for (const activity of currentPage.data.Page.following)
activities.push(activity);
diff --git a/src/lib/Data/AniList/forum.ts b/src/lib/Data/AniList/forum.ts
index 05cb508c..b69e86ff 100644
--- a/src/lib/Data/AniList/forum.ts
+++ b/src/lib/Data/AniList/forum.ts
@@ -81,5 +81,5 @@ export const threadLikes = async (id: number): Promise<Partial<User>[]> => {
})
).json();
- return activityResponse["data"]["Thread"]["likes"];
+ return activityResponse.data.Thread.likes;
};
diff --git a/src/lib/Data/AniList/identity.ts b/src/lib/Data/AniList/identity.ts
index 973e1184..073df29b 100644
--- a/src/lib/Data/AniList/identity.ts
+++ b/src/lib/Data/AniList/identity.ts
@@ -29,9 +29,9 @@ export const userIdentity = async (
).json();
return {
- id: userIdResponse["data"]["Viewer"]["id"],
- name: userIdResponse["data"]["Viewer"]["name"],
- avatar: userIdResponse["data"]["Viewer"]["avatar"]["large"],
+ id: userIdResponse.data.Viewer.id,
+ name: userIdResponse.data.Viewer.name,
+ avatar: userIdResponse.data.Viewer.avatar.large,
};
};
diff --git a/src/lib/Data/AniList/media.ts b/src/lib/Data/AniList/media.ts
index 0a83dda6..d38d073e 100644
--- a/src/lib/Data/AniList/media.ts
+++ b/src/lib/Data/AniList/media.ts
@@ -1,16 +1,16 @@
+import localforage from "localforage";
+import { get } from "svelte/store";
import { browser } from "$app/environment";
import type { AniListAuthorisation } from "$lib/Data/AniList/identity";
import { parseJsonStringOrDefault } from "$lib/Effect/json";
-import type { UserIdentity } from "./identity";
+import { options as getOptions, type Options } from "$lib/Notification/options";
import anime from "$stores/anime";
+import lastPruneTimes from "$stores/lastPruneTimes";
+import locale from "$stores/locale";
import manga from "$stores/manga";
import settings from "$stores/settings";
-import lastPruneTimes from "$stores/lastPruneTimes";
-import { options as getOptions, type Options } from "$lib/Notification/options";
+import type { UserIdentity } from "./identity";
import type { PrequelRelation, PrequelRelations } from "./prequels";
-import localforage from "localforage";
-import locale from "$stores/locale";
-import { get } from "svelte/store";
export enum Type {
Anime,
@@ -340,21 +340,20 @@ export const mediaListCollection = async (
currentLastPruneAt = hydratedInputs.currentLastPruneAt;
if (String(currentLastPruneAt) === "") {
- if (type === Type.Anime)
- lastPruneTimes.setKey("anime", new Date().getTime());
- else lastPruneTimes.setKey("manga", new Date().getTime());
+ if (type === Type.Anime) lastPruneTimes.setKey("anime", Date.now());
+ else lastPruneTimes.setKey("manga", Date.now());
} else {
if (
- (new Date().getTime() - Number(currentLastPruneAt)) / 1000 / 60 >
+ (Date.now() - Number(currentLastPruneAt)) / 1000 / 60 >
Number(currentCacheMinutes) ||
options.forcePrune
) {
if (type === Type.Anime) {
- lastPruneTimes.setKey("anime", new Date().getTime());
+ lastPruneTimes.setKey("anime", Date.now());
if (usesSharedMediaStore(options)) anime.set("");
} else {
- lastPruneTimes.setKey("manga", new Date().getTime());
+ lastPruneTimes.setKey("manga", Date.now());
if (usesSharedMediaStore(options)) manga.set("");
}
@@ -387,14 +386,14 @@ export const mediaListCollection = async (
).json();
if (
- !userIdResponse["data"] ||
- !userIdResponse["data"]["MediaListCollection"] ||
- !userIdResponse["data"]["MediaListCollection"]["lists"]
+ !userIdResponse.data ||
+ !userIdResponse.data.MediaListCollection ||
+ !userIdResponse.data.MediaListCollection.lists
)
return [];
const flattened = flattenLists(
- userIdResponse["data"]["MediaListCollection"]["lists"],
+ userIdResponse.data.MediaListCollection.lists,
options.all,
);
@@ -518,15 +517,13 @@ export const recentMediaActivities = async (
).json();
const guesses: number[] = [];
- activities["data"]["Page"]["activities"].forEach(
- (activity: { progress: string }) => {
- if (activity.progress !== null) {
- const progress = Number((activity.progress.match(/\d+$/) || [0])[0]);
+ activities.data.Page.activities.forEach((activity: { progress: string }) => {
+ if (activity.progress !== null) {
+ const progress = Number((activity.progress.match(/\d+$/) || [0])[0]);
- if (progress !== 65535) guesses.push(progress);
- }
- },
- );
+ if (progress !== 65535) guesses.push(progress);
+ }
+ });
guesses.sort((a, b) => b - a);
if (guesses.length) {
@@ -588,8 +585,8 @@ export const recentMediaActivities = async (
// }
// if (activities['data']['MediaList']['progress'] !== null) {
- if (activities["data"]["MediaList"]["progress"] > bestGuess)
- bestGuess = activities["data"]["MediaList"]["progress"];
+ if (activities.data.MediaList.progress > bestGuess)
+ bestGuess = activities.data.MediaList.progress;
// }
return Math.round(bestGuess);
@@ -614,7 +611,7 @@ export const mediaCover = async (id: number) =>
}),
})
).json()
- )["data"]["Media"]["coverImage"]["extraLarge"];
+ ).data.Media.coverImage.extraLarge;
export interface UnwatchedRelationMap {
media: Media;
diff --git a/src/lib/Data/AniList/notifications.ts b/src/lib/Data/AniList/notifications.ts
index a12fd402..587486c7 100644
--- a/src/lib/Data/AniList/notifications.ts
+++ b/src/lib/Data/AniList/notifications.ts
@@ -76,9 +76,9 @@ export const notifications = async (
})
).json();
- if (data["errors"]) return null;
+ if (data.errors) return null;
- return data["data"]["Page"]["notifications"];
+ return data.data.Page.notifications;
};
export const isNotificationQueued = (
@@ -89,7 +89,7 @@ export const isNotificationQueued = (
recentNotifications.length > 0 &&
(recentNotifications[0].id > (lastNotificationID as number) ||
new Date(recentNotifications[0].createdAt * 1000).getTime() + 30000 >
- new Date().getTime());
+ Date.now());
export const updateLastNotificationID = async (
userID: number,
diff --git a/src/lib/Data/AniList/prequels.ts b/src/lib/Data/AniList/prequels.ts
index b521616f..9d5f39f0 100644
--- a/src/lib/Data/AniList/prequels.ts
+++ b/src/lib/Data/AniList/prequels.ts
@@ -151,7 +151,7 @@ export const prequels = async (
for (const candidate of currentPage.data.Page.media)
candidates.push(candidate);
- while (currentPage["data"]["Page"]["pageInfo"]["hasNextPage"]) {
+ while (currentPage.data.Page.pageInfo.hasNextPage) {
for (const candidate of currentPage.data.Page.media)
candidates.push(candidate);
diff --git a/src/lib/Data/AniList/user.ts b/src/lib/Data/AniList/user.ts
index d16b8612..e6e37ac7 100644
--- a/src/lib/Data/AniList/user.ts
+++ b/src/lib/Data/AniList/user.ts
@@ -71,7 +71,7 @@ export const user = async (
})
).json();
- return response["data"]["User"] === null ? null : response["data"]["User"];
+ return response.data.User === null ? null : response.data.User;
};
export const dumpUser = async (username: string): Promise<FullUser> =>
@@ -94,4 +94,4 @@ export const dumpUser = async (username: string): Promise<FullUser> =>
}),
})
).json()
- )["data"]["User"];
+ ).data.User;
diff --git a/src/lib/Data/AniList/wrapped.ts b/src/lib/Data/AniList/wrapped.ts
index a7b4f829..130c57d3 100644
--- a/src/lib/Data/AniList/wrapped.ts
+++ b/src/lib/Data/AniList/wrapped.ts
@@ -89,15 +89,15 @@ const profileActivities = async (
let response = await get(page);
const beginningOfYear = new Date(now).setMonth(0, 1) / 1000;
- pages.push(response["data"]["Page"]["activities"]);
+ pages.push(response.data.Page.activities);
- while (response["data"]["Page"]["pageInfo"]["hasNextPage"]) {
+ while (response.data.Page.pageInfo.hasNextPage) {
if (disableLoopingActivityCounter) break;
page += 1;
response = await get(page);
- pages.push(response["data"]["Page"]["activities"]);
+ pages.push(response.data.Page.activities);
}
return {
@@ -133,8 +133,7 @@ export const wrapped = async (
};
if (anilistAuthorisation) {
- headers["Authorization"] =
- `${anilistAuthorisation.tokenType} ${anilistAuthorisation.accessToken}`;
+ headers.Authorization = `${anilistAuthorisation.tokenType} ${anilistAuthorisation.accessToken}`;
}
const wrappedResponse = await (
@@ -178,12 +177,12 @@ export const wrapped = async (
}
return {
- statistics: wrappedResponse["data"]["User"]["statistics"],
+ statistics: wrappedResponse.data.User.statistics,
activities: {
statusCount: statusCountActivities,
messageCount: messageCountActivities,
},
- avatar: wrappedResponse["data"]["User"]["avatar"],
+ avatar: wrappedResponse.data.User.avatar,
};
};
@@ -222,7 +221,7 @@ export const tops = (
} = {};
media.forEach((m) => {
- if (m.mediaListEntry && m.mediaListEntry.score) {
+ if (m.mediaListEntry?.score) {
m.genres.forEach((genre) => {
if (!genresMap[genre])
genresMap[genre] = { totalScore: 0, count: 0, minutesWatched: 0 };