aboutsummaryrefslogtreecommitdiff
path: root/src/lib/AniList
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-11-07 14:24:34 -0800
committerFuwn <[email protected]>2023-11-07 14:24:34 -0800
commitcb32a92846150c4fd1fa1f4f33b22a6da9028c10 (patch)
tree73f4849590e646155adb5a92d16843c87cfcb008 /src/lib/AniList
parentfeat(manga): ignored list (diff)
downloaddue.moe-cb32a92846150c4fd1fa1f4f33b22a6da9028c10.tar.xz
due.moe-cb32a92846150c4fd1fa1f4f33b22a6da9028c10.zip
refactor(media): simplify flatten
Diffstat (limited to 'src/lib/AniList')
-rw-r--r--src/lib/AniList/media.ts21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts
index 3b413e16..e0a127aa 100644
--- a/src/lib/AniList/media.ts
+++ b/src/lib/AniList/media.ts
@@ -49,31 +49,26 @@ export const flattenLists = (lists: { name: string; entries: { media: Media }[]
return [];
}
- let flattenedList: { media: Media }[] = [];
- const minimisedList: Media[] = [];
- const ignoredMedia: Media[] = [];
+ const flattenedList: Media[] = [];
+ const ignoredMediaIds: number[] = [];
for (const list of lists) {
if (list.name.toLowerCase().includes('#dueignore')) {
- ignoredMedia.push(...list.entries.map((entry) => entry.media));
+ ignoredMediaIds.push(...list.entries.map((entry) => entry.media.id));
} else {
- flattenedList = flattenedList.concat(list.entries);
+ flattenedList.push(...list.entries.map((entry) => entry.media));
}
}
- for (const [position, entry] of flattenedList.entries()) {
- minimisedList[position] = entry.media;
- }
-
- for (const ignored of ignoredMedia) {
- const index = minimisedList.findIndex((item) => item.id === ignored.id);
+ for (const ignored of ignoredMediaIds) {
+ const index = flattenedList.findIndex((item) => item.id === ignored);
if (index !== -1) {
- minimisedList.splice(index, 1);
+ flattenedList.splice(index, 1);
}
}
- return minimisedList.filter((item, index, array) => {
+ return flattenedList.filter((item, index, array) => {
return (
array.findIndex((i) => {
return i.id === item.id;