@irfanshadikrishad/anilist 1.0.0-forbidden.4 → 1.0.0-forbidden.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,7 @@ import { Auth } from "./auth.js";
16
16
  import { fetcher } from "./fetcher.js";
17
17
  import { addAnimeToListMutation, addMangaToListMutation, saveAnimeWithProgressMutation, saveMangaWithProgressMutation, } from "./mutations.js";
18
18
  import { animeDetailsQuery, animeSearchQuery, currentUserAnimeList, currentUserMangaList, malIdToAnilistAnimeId, malIdToAnilistMangaId, mangaDetailsQuery, mangaSearchQuery, popularQuery, trendingQuery, upcomingAnimesQuery, userActivityQuery, userFollowersQuery, userFollowingQuery, userQuery, } from "./queries.js";
19
+ import { responsiveOutput } from "./truncate.js";
19
20
  import { AniListMediaStatus, } from "./types.js";
20
21
  import { Validate } from "./validation.js";
21
22
  import { anidbToanilistMapper, formatDateObject, getDownloadFolderPath, getNextSeasonAndYear, getTitle, removeHtmlAndMarkdown, saveJSONasCSV, saveJSONasJSON, saveJSONasXML, selectFile, simpleDateFormat, timestampToTimeAgo, } from "./workers.js";
@@ -661,7 +662,7 @@ class AniList {
661
662
  if (activities.length > 0) {
662
663
  console.log(`\nRecent Activities:`);
663
664
  activities.forEach(({ status, progress, media, createdAt }) => {
664
- console.log(`${timestampToTimeAgo(createdAt)}\t${status} ${progress ? `${progress} of ` : ""}${getTitle(media === null || media === void 0 ? void 0 : media.title)}`);
665
+ responsiveOutput(`${timestampToTimeAgo(createdAt)}\t${status} ${progress ? `${progress} of ` : ""}${getTitle(media === null || media === void 0 ? void 0 : media.title)}`);
665
666
  });
666
667
  }
667
668
  else {
@@ -1119,7 +1120,7 @@ class AniDB {
1119
1120
  const entryId = (_b = (_a = saveResponse === null || saveResponse === void 0 ? void 0 : saveResponse.data) === null || _a === void 0 ? void 0 : _a.SaveMediaListEntry) === null || _b === void 0 ? void 0 : _b.id;
1120
1121
  if (entryId) {
1121
1122
  count++;
1122
- console.log(`[${count}]\t${entryId} ✅\t${anidbId}\t${anilistId}\t(${ownEpisodes}/${totalEpisodes})\t${status}–>${getStatus(status, ownEpisodes)}`);
1123
+ responsiveOutput(`[${count}]\t${entryId} ✅\t${anidbId}\t${anilistId}\t(${ownEpisodes}/${totalEpisodes})\t${status}–>${getStatus(status, ownEpisodes)}`);
1123
1124
  }
1124
1125
  // Rate limit each API call to avoid server overload
1125
1126
  // await new Promise((resolve) => setTimeout(resolve, 1100))
@@ -1136,9 +1137,9 @@ class AniDB {
1136
1137
  });
1137
1138
  }
1138
1139
  }
1139
- console.log(`\nAccuracy: ${(((animeList.length - missed.length) / animeList.length) * 100).toFixed(2)}%\tTotal Processed: ${iteration}\tMissed: ${missed.length}`);
1140
+ responsiveOutput(`\nAccuracy: ${(((animeList.length - missed.length) / animeList.length) * 100).toFixed(2)}%\tTotal Processed: ${iteration}\tMissed: ${missed.length}`);
1140
1141
  if (missed.length > 0) {
1141
- console.log(`Exporting missed entries to JSON file, Please add them manually.`);
1142
+ responsiveOutput(`Exporting missed entries to JSON file, Please add them manually.`);
1142
1143
  yield saveJSONasJSON(missed, "anidb-missed");
1143
1144
  }
1144
1145
  }
@@ -1,43 +1,43 @@
1
- const addAnimeToListMutation = `
2
- mutation($mediaId: Int, $status: MediaListStatus) {
3
- SaveMediaListEntry(mediaId: $mediaId, status: $status) { id status }
4
- }
1
+ const addAnimeToListMutation = `
2
+ mutation($mediaId: Int, $status: MediaListStatus) {
3
+ SaveMediaListEntry(mediaId: $mediaId, status: $status) { id status }
4
+ }
5
5
  `;
6
- const addMangaToListMutation = `
7
- mutation($mediaId: Int, $status: MediaListStatus) {
8
- SaveMediaListEntry(mediaId: $mediaId, status: $status) {
9
- id
10
- status
11
- media { id title { romaji english } }
12
- }
13
- }
6
+ const addMangaToListMutation = `
7
+ mutation($mediaId: Int, $status: MediaListStatus) {
8
+ SaveMediaListEntry(mediaId: $mediaId, status: $status) {
9
+ id
10
+ status
11
+ media { id title { romaji english } }
12
+ }
13
+ }
14
14
  `;
15
- const deleteActivityMutation = `
16
- mutation($id: Int!) {
17
- DeleteActivity(id: $id) { deleted }
18
- }
15
+ const deleteActivityMutation = `
16
+ mutation($id: Int!) {
17
+ DeleteActivity(id: $id) { deleted }
18
+ }
19
19
  `;
20
- const saveTextActivityMutation = `
21
- mutation SaveTextActivity($status: String!) {
22
- SaveTextActivity(text: $status) { id text userId createdAt }
23
- }
20
+ const saveTextActivityMutation = `
21
+ mutation SaveTextActivity($status: String!) {
22
+ SaveTextActivity(text: $status) { id text userId createdAt }
23
+ }
24
24
  `;
25
- const saveAnimeWithProgressMutation = `
26
- mutation ($mediaId: Int, $progress: Int, $status: MediaListStatus, $hiddenFromStatusLists: Boolean) {
27
- SaveMediaListEntry(mediaId: $mediaId, progress: $progress, status: $status, hiddenFromStatusLists: $hiddenFromStatusLists) {
28
- id progress hiddenFromStatusLists
29
- }
30
- }
25
+ const saveAnimeWithProgressMutation = `
26
+ mutation ($mediaId: Int, $progress: Int, $status: MediaListStatus, $hiddenFromStatusLists: Boolean) {
27
+ SaveMediaListEntry(mediaId: $mediaId, progress: $progress, status: $status, hiddenFromStatusLists: $hiddenFromStatusLists) {
28
+ id progress hiddenFromStatusLists
29
+ }
30
+ }
31
31
  `;
32
- const saveMangaWithProgressMutation = `
33
- mutation ($mediaId: Int, $progress: Int, $status: MediaListStatus, $hiddenFromStatusLists: Boolean, $private: Boolean) {
34
- SaveMediaListEntry( mediaId: $mediaId, progress: $progress, status: $status, hiddenFromStatusLists: $hiddenFromStatusLists, private: $private
35
- ) { id progress hiddenFromStatusLists private }
36
- }
32
+ const saveMangaWithProgressMutation = `
33
+ mutation ($mediaId: Int, $progress: Int, $status: MediaListStatus, $hiddenFromStatusLists: Boolean, $private: Boolean) {
34
+ SaveMediaListEntry( mediaId: $mediaId, progress: $progress, status: $status, hiddenFromStatusLists: $hiddenFromStatusLists, private: $private
35
+ ) { id progress hiddenFromStatusLists private }
36
+ }
37
37
  `;
38
- const likeActivityMutation = `
39
- mutation($activityId: Int!) {
40
- ToggleLike(id: $activityId, type: ACTIVITY) { id }
41
- }
38
+ const likeActivityMutation = `
39
+ mutation($activityId: Int!) {
40
+ ToggleLike(id: $activityId, type: ACTIVITY) { id }
41
+ }
42
42
  `;
43
43
  export { addAnimeToListMutation, addMangaToListMutation, deleteActivityMutation, likeActivityMutation, saveAnimeWithProgressMutation, saveMangaWithProgressMutation, saveTextActivityMutation, };
@@ -1,188 +1,188 @@
1
- const currentUserQuery = `{
2
- Viewer {
3
- id name about bans siteUrl options { profileColor timezone activityMergeTime }
4
- donatorTier donatorBadge createdAt updatedAt unreadNotificationCount previousNames { name createdAt updatedAt }
5
- moderatorRoles favourites { anime { nodes { id title { romaji english } } } manga { nodes { id title { romaji english } } } }
6
- statistics { anime { count meanScore minutesWatched episodesWatched } manga { count chaptersRead volumesRead meanScore } }
7
- mediaListOptions { scoreFormat rowOrder animeList { sectionOrder } mangaList { sectionOrder } }
8
- }
9
- }`;
10
- const trendingQuery = `query ($page: Int, $perPage: Int) {
11
- Page(page: $page, perPage: $perPage) {
12
- media(sort: TRENDING_DESC, type: ANIME) { id title { romaji english } }
13
- }
14
- }`;
15
- const popularQuery = `query ($page: Int, $perPage: Int) {
16
- Page(page: $page, perPage: $perPage) {
17
- media(sort: POPULARITY_DESC, type: ANIME) { id title { romaji english } }
18
- }
19
- }`;
20
- const userQuery = `query ($username: String) {
21
- User(name: $username) {
22
- id name siteUrl donatorTier donatorBadge createdAt updatedAt previousNames { name createdAt updatedAt }
23
- isBlocked isFollower isFollowing options { profileColor timezone activityMergeTime }
24
- statistics { anime { count episodesWatched minutesWatched } manga { count chaptersRead volumesRead } }
25
- }
26
- }`;
27
- const currentUserAnimeList = `query ($id: Int) {
28
- MediaListCollection(userId: $id, type: ANIME) {
29
- lists { name entries { id progress hiddenFromStatusLists status media { id idMal title { romaji english } status episodes siteUrl } } }
30
- }
31
- }
1
+ const currentUserQuery = `{
2
+ Viewer {
3
+ id name about bans siteUrl options { profileColor timezone activityMergeTime }
4
+ donatorTier donatorBadge createdAt updatedAt unreadNotificationCount previousNames { name createdAt updatedAt }
5
+ moderatorRoles favourites { anime { nodes { id title { romaji english } } } manga { nodes { id title { romaji english } } } }
6
+ statistics { anime { count meanScore minutesWatched episodesWatched } manga { count chaptersRead volumesRead meanScore } }
7
+ mediaListOptions { scoreFormat rowOrder animeList { sectionOrder } mangaList { sectionOrder } }
8
+ }
9
+ }`;
10
+ const trendingQuery = `query ($page: Int, $perPage: Int) {
11
+ Page(page: $page, perPage: $perPage) {
12
+ media(sort: TRENDING_DESC, type: ANIME) { id title { romaji english } }
13
+ }
14
+ }`;
15
+ const popularQuery = `query ($page: Int, $perPage: Int) {
16
+ Page(page: $page, perPage: $perPage) {
17
+ media(sort: POPULARITY_DESC, type: ANIME) { id title { romaji english } }
18
+ }
19
+ }`;
20
+ const userQuery = `query ($username: String) {
21
+ User(name: $username) {
22
+ id name siteUrl donatorTier donatorBadge createdAt updatedAt previousNames { name createdAt updatedAt }
23
+ isBlocked isFollower isFollowing options { profileColor timezone activityMergeTime }
24
+ statistics { anime { count episodesWatched minutesWatched } manga { count chaptersRead volumesRead } }
25
+ }
26
+ }`;
27
+ const currentUserAnimeList = `query ($id: Int) {
28
+ MediaListCollection(userId: $id, type: ANIME) {
29
+ lists { name entries { id progress hiddenFromStatusLists status media { id idMal title { romaji english } status episodes siteUrl } } }
30
+ }
31
+ }
32
32
  `;
33
- const currentUserMangaList = `query ($id: Int) {
34
- MediaListCollection(userId: $id, type: MANGA) {
35
- lists { name entries { id progress hiddenFromStatusLists private status media { id idMal title { romaji english } status chapters } } }
36
- }
37
- }
33
+ const currentUserMangaList = `query ($id: Int) {
34
+ MediaListCollection(userId: $id, type: MANGA) {
35
+ lists { name entries { id progress hiddenFromStatusLists private status media { id idMal title { romaji english } status chapters } } }
36
+ }
37
+ }
38
38
  `;
39
- const deleteMediaEntryMutation = `mutation($id: Int!) {
40
- DeleteMediaListEntry(id: $id) { deleted }
41
- }`;
42
- const deleteMangaEntryMutation = `mutation($id: Int) {
43
- DeleteMediaListEntry(id: $id) { deleted }
44
- }`;
45
- const upcomingAnimesQuery = `query GetNextSeasonAnime($nextSeason: MediaSeason, $nextYear: Int, $perPage: Int) {
46
- Page(perPage: $perPage) {
47
- media(season: $nextSeason, seasonYear: $nextYear, type: ANIME, sort: POPULARITY_DESC) {
48
- id title { romaji english native userPreferred } season seasonYear startDate { year month day }
49
- episodes description genres
50
- }
51
- }
52
- }`;
53
- const animeDetailsQuery = `query ($id: Int) {
54
- Media(id: $id) {
55
- id idMal title { romaji english native userPreferred } episodes nextAiringEpisode { id }
56
- duration startDate { year month day } endDate { year month day } countryOfOrigin description isAdult status season format genres siteUrl
57
- stats { scoreDistribution { score amount } statusDistribution { status amount } }
58
- }
59
- }`;
60
- const userActivityQuery = `query ($id: Int, $page: Int, $perPage: Int) {
61
- Page(page: $page, perPage: $perPage) {
62
- activities(userId: $id, type_in: [ANIME_LIST, MANGA_LIST], sort: ID_DESC) {
63
- ... on ListActivity { id status progress createdAt media { id title { romaji english } } }
64
- }
65
- }
66
- }`;
67
- const animeSearchQuery = `query ($search: String, $perPage: Int) {
68
- Page(perPage: $perPage) {
69
- media(search: $search, type: ANIME) { id title { romaji english native userPreferred } startDate { day month year } episodes status description }
70
- }
71
- }`;
72
- const mangaSearchQuery = `query ($search: String, $perPage: Int) {
73
- Page(perPage: $perPage) {
74
- media(search: $search, type: MANGA) { id title { romaji english native userPreferred } chapters status description }
75
- }
76
- }`;
77
- const activityTextQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
78
- Page(page: $page, perPage: $perPage) {
79
- activities(userId: $userId, type: TEXT, sort: ID_DESC) {
80
- ... on TextActivity { id type text createdAt user { id name } }
81
- }
82
- }
83
- }`;
84
- const activityAnimeListQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
85
- Page(page: $page, perPage: $perPage) {
86
- activities(userId: $userId, type: ANIME_LIST, sort: ID_DESC) {
87
- ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
88
- }
89
- }
90
- }`;
91
- const activityMangaListQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
92
- Page(page: $page, perPage: $perPage) {
93
- activities(userId: $userId, type: MANGA_LIST, sort: ID_DESC) {
94
- ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
95
- }
96
- }
97
- }`;
98
- const activityMessageQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
99
- Page(page: $page, perPage: $perPage) {
100
- activities(userId: $userId, type: MESSAGE, sort: ID_DESC) {
101
- ... on MessageActivity { id type message recipient { id name } createdAt }
102
- }
103
- }
104
- }`;
105
- const activityAllQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
106
- Page(page: $page, perPage: $perPage) {
107
- activities(userId: $userId, sort: ID_DESC) {
108
- ... on TextActivity { id type text createdAt user { id name } }
109
- ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
110
- ... on MessageActivity { id type message recipient { id name } createdAt }
111
- }
112
- }
113
- }`;
114
- const activityMediaList = `query ($userId: Int, $page: Int, $perPage: Int, $type: ActivityType) {
115
- Page(page: $page, perPage: $perPage) {
116
- pageInfo { total currentPage lastPage hasNextPage perPage }
117
- activities(userId: $userId, type: $type, sort: ID_DESC) {
118
- ... on ListActivity { id type status progress media { id title { romaji english native } format } createdAt }
119
- }
120
- }
121
- }`;
122
- const malIdToAnilistAnimeId = `query ($malId: Int) {
123
- Media(idMal: $malId, type: ANIME) { id title { romaji english } } }
39
+ const deleteMediaEntryMutation = `mutation($id: Int!) {
40
+ DeleteMediaListEntry(id: $id) { deleted }
41
+ }`;
42
+ const deleteMangaEntryMutation = `mutation($id: Int) {
43
+ DeleteMediaListEntry(id: $id) { deleted }
44
+ }`;
45
+ const upcomingAnimesQuery = `query GetNextSeasonAnime($nextSeason: MediaSeason, $nextYear: Int, $perPage: Int) {
46
+ Page(perPage: $perPage) {
47
+ media(season: $nextSeason, seasonYear: $nextYear, type: ANIME, sort: POPULARITY_DESC) {
48
+ id title { romaji english native userPreferred } season seasonYear startDate { year month day }
49
+ episodes description genres
50
+ }
51
+ }
52
+ }`;
53
+ const animeDetailsQuery = `query ($id: Int) {
54
+ Media(id: $id) {
55
+ id idMal title { romaji english native userPreferred } episodes nextAiringEpisode { id }
56
+ duration startDate { year month day } endDate { year month day } countryOfOrigin description isAdult status season format genres siteUrl
57
+ stats { scoreDistribution { score amount } statusDistribution { status amount } }
58
+ }
59
+ }`;
60
+ const userActivityQuery = `query ($id: Int, $page: Int, $perPage: Int) {
61
+ Page(page: $page, perPage: $perPage) {
62
+ activities(userId: $id, type_in: [ANIME_LIST, MANGA_LIST], sort: ID_DESC) {
63
+ ... on ListActivity { id status progress createdAt media { id title { romaji english } } }
64
+ }
65
+ }
66
+ }`;
67
+ const animeSearchQuery = `query ($search: String, $perPage: Int) {
68
+ Page(perPage: $perPage) {
69
+ media(search: $search, type: ANIME) { id title { romaji english native userPreferred } startDate { day month year } episodes status description }
70
+ }
71
+ }`;
72
+ const mangaSearchQuery = `query ($search: String, $perPage: Int) {
73
+ Page(perPage: $perPage) {
74
+ media(search: $search, type: MANGA) { id title { romaji english native userPreferred } chapters status description }
75
+ }
76
+ }`;
77
+ const activityTextQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
78
+ Page(page: $page, perPage: $perPage) {
79
+ activities(userId: $userId, type: TEXT, sort: ID_DESC) {
80
+ ... on TextActivity { id type text createdAt user { id name } }
81
+ }
82
+ }
83
+ }`;
84
+ const activityAnimeListQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
85
+ Page(page: $page, perPage: $perPage) {
86
+ activities(userId: $userId, type: ANIME_LIST, sort: ID_DESC) {
87
+ ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
88
+ }
89
+ }
90
+ }`;
91
+ const activityMangaListQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
92
+ Page(page: $page, perPage: $perPage) {
93
+ activities(userId: $userId, type: MANGA_LIST, sort: ID_DESC) {
94
+ ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
95
+ }
96
+ }
97
+ }`;
98
+ const activityMessageQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
99
+ Page(page: $page, perPage: $perPage) {
100
+ activities(userId: $userId, type: MESSAGE, sort: ID_DESC) {
101
+ ... on MessageActivity { id type message recipient { id name } createdAt }
102
+ }
103
+ }
104
+ }`;
105
+ const activityAllQuery = `query ($userId: Int, $page: Int, $perPage: Int) {
106
+ Page(page: $page, perPage: $perPage) {
107
+ activities(userId: $userId, sort: ID_DESC) {
108
+ ... on TextActivity { id type text createdAt user { id name } }
109
+ ... on ListActivity { id type status progress createdAt media { id title { romaji english native } } }
110
+ ... on MessageActivity { id type message recipient { id name } createdAt }
111
+ }
112
+ }
113
+ }`;
114
+ const activityMediaList = `query ($userId: Int, $page: Int, $perPage: Int, $type: ActivityType) {
115
+ Page(page: $page, perPage: $perPage) {
116
+ pageInfo { total currentPage lastPage hasNextPage perPage }
117
+ activities(userId: $userId, type: $type, sort: ID_DESC) {
118
+ ... on ListActivity { id type status progress media { id title { romaji english native } format } createdAt }
119
+ }
120
+ }
121
+ }`;
122
+ const malIdToAnilistAnimeId = `query ($malId: Int) {
123
+ Media(idMal: $malId, type: ANIME) { id title { romaji english } } }
124
124
  `;
125
- const malIdToAnilistMangaId = `query ($malId: Int) {
126
- Media(idMal: $malId, type: MANGA) { id title { romaji english } } }
125
+ const malIdToAnilistMangaId = `query ($malId: Int) {
126
+ Media(idMal: $malId, type: MANGA) { id title { romaji english } } }
127
127
  `;
128
- const followingActivitiesQuery = `
129
- query ($page: Int, $perPage: Int) {
130
- Page(page: $page, perPage: $perPage) {
131
- activities(isFollowing: true, sort: ID_DESC) {
132
- ... on TextActivity { id type isLiked createdAt user { id name } }
133
- ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
134
- ... on MessageActivity { id type isLiked message createdAt recipient { id name } }
135
- }
136
- }
137
- }
128
+ const followingActivitiesQuery = `
129
+ query ($page: Int, $perPage: Int) {
130
+ Page(page: $page, perPage: $perPage) {
131
+ activities(isFollowing: true, sort: ID_DESC) {
132
+ ... on TextActivity { id type isLiked createdAt user { id name } }
133
+ ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
134
+ ... on MessageActivity { id type isLiked message createdAt recipient { id name } }
135
+ }
136
+ }
137
+ }
138
138
  `;
139
- const globalActivitiesQuery = `
140
- query ($page: Int, $perPage: Int) {
141
- Page(page: $page, perPage: $perPage) {
142
- activities(sort: ID_DESC) {
143
- ... on TextActivity { id type isLiked createdAt user { id name } }
144
- ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
145
- ... on MessageActivity { id type isLiked message createdAt recipient { id name } }
146
- }
147
- }
148
- }
139
+ const globalActivitiesQuery = `
140
+ query ($page: Int, $perPage: Int) {
141
+ Page(page: $page, perPage: $perPage) {
142
+ activities(sort: ID_DESC) {
143
+ ... on TextActivity { id type isLiked createdAt user { id name } }
144
+ ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
145
+ ... on MessageActivity { id type isLiked message createdAt recipient { id name } }
146
+ }
147
+ }
148
+ }
149
149
  `;
150
- const specificUserActivitiesQuery = `
151
- query ($page: Int, $perPage: Int, $userId: Int) {
152
- Page(page: $page, perPage: $perPage) {
153
- pageInfo { total perPage currentPage lastPage hasNextPage }
154
- activities(userId: $userId, sort: ID_DESC) {
155
- ... on TextActivity { id type isLiked createdAt user { id name } }
156
- ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
157
- ... on MessageActivity { messenger { name } id type isLiked message createdAt recipient { id name } }
158
- }
159
- }
160
- }
150
+ const specificUserActivitiesQuery = `
151
+ query ($page: Int, $perPage: Int, $userId: Int) {
152
+ Page(page: $page, perPage: $perPage) {
153
+ pageInfo { total perPage currentPage lastPage hasNextPage }
154
+ activities(userId: $userId, sort: ID_DESC) {
155
+ ... on TextActivity { id type isLiked createdAt user { id name } }
156
+ ... on ListActivity { id type isLiked status progress media { title { userPreferred } } createdAt user { id name } }
157
+ ... on MessageActivity { messenger { name } id type isLiked message createdAt recipient { id name } }
158
+ }
159
+ }
160
+ }
161
161
  `;
162
- const userFollowingQuery = `query ($userId: Int!, $page: Int) {
163
- Page (page: $page) {
164
- pageInfo { total perPage currentPage lastPage hasNextPage }
165
- following(userId: $userId, sort: [USERNAME]) { id name avatar { large medium } bannerImage isFollowing isFollower }
166
- }
167
- }
162
+ const userFollowingQuery = `query ($userId: Int!, $page: Int) {
163
+ Page (page: $page) {
164
+ pageInfo { total perPage currentPage lastPage hasNextPage }
165
+ following(userId: $userId, sort: [USERNAME]) { id name avatar { large medium } bannerImage isFollowing isFollower }
166
+ }
167
+ }
168
168
  `;
169
- const userFollowersQuery = `query ($userId: Int!, $page: Int) {
170
- Page (page: $page) {
171
- pageInfo { total perPage currentPage lastPage hasNextPage }
172
- followers(userId: $userId, sort: [USERNAME]) { id name avatar { large medium } bannerImage isFollowing isFollower }
173
- }
174
- }
169
+ const userFollowersQuery = `query ($userId: Int!, $page: Int) {
170
+ Page (page: $page) {
171
+ pageInfo { total perPage currentPage lastPage hasNextPage }
172
+ followers(userId: $userId, sort: [USERNAME]) { id name avatar { large medium } bannerImage isFollowing isFollower }
173
+ }
174
+ }
175
175
  `;
176
- const toggleFollowMutation = `mutation ($userId: Int!) {
177
- ToggleFollow(userId: $userId) { id name isFollower isFollowing }
178
- }
176
+ const toggleFollowMutation = `mutation ($userId: Int!) {
177
+ ToggleFollow(userId: $userId) { id name isFollower isFollowing }
178
+ }
179
179
  `;
180
- const mangaDetailsQuery = `query ($id: Int) {
181
- Media(id: $id, type: MANGA) {
182
- id title { romaji english native userPreferred } coverImage { color medium large extraLarge }
183
- bannerImage description chapters volumes status genres
184
- startDate { year month day } endDate { year month day }
185
- }
186
- }
180
+ const mangaDetailsQuery = `query ($id: Int) {
181
+ Media(id: $id, type: MANGA) {
182
+ id title { romaji english native userPreferred } coverImage { color medium large extraLarge }
183
+ bannerImage description chapters volumes status genres
184
+ startDate { year month day } endDate { year month day }
185
+ }
186
+ }
187
187
  `;
188
188
  export { activityAllQuery, activityAnimeListQuery, activityMangaListQuery, activityMediaList, activityMessageQuery, activityTextQuery, animeDetailsQuery, animeSearchQuery, currentUserAnimeList, currentUserMangaList, currentUserQuery, deleteMangaEntryMutation, deleteMediaEntryMutation, followingActivitiesQuery, globalActivitiesQuery, malIdToAnilistAnimeId, malIdToAnilistMangaId, mangaDetailsQuery, mangaSearchQuery, popularQuery, specificUserActivitiesQuery, toggleFollowMutation, trendingQuery, upcomingAnimesQuery, userActivityQuery, userFollowersQuery, userFollowingQuery, userQuery, };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Truncate text (No line break)
3
+ * @param str - Long text to trancate
4
+ */
5
+ declare function responsiveOutput(str: string): void;
6
+ export { responsiveOutput };
@@ -0,0 +1,10 @@
1
+ import cliTruncate from "cli-truncate";
2
+ import process from "process";
3
+ /**
4
+ * Truncate text (No line break)
5
+ * @param str - Long text to trancate
6
+ */
7
+ function responsiveOutput(str) {
8
+ console.log(cliTruncate(str, process.stdout.columns - 5));
9
+ }
10
+ export { responsiveOutput };
@@ -382,22 +382,23 @@ const anidbToanilistMapper = (romanjiName, year, englishName) => __awaiter(void
382
382
  });
383
383
  function activityBy(activity, count) {
384
384
  var _a, _b, _c, _d;
385
+ const countStr = `[${count ? count : "?"}]`.padEnd(6);
385
386
  if ((_a = activity === null || activity === void 0 ? void 0 : activity.messenger) === null || _a === void 0 ? void 0 : _a.name) {
386
- return `[${count ? `${count}/` : ""}${activity.id}]\t${activity.messenger.name} messaged ${activity.recipient.name}`;
387
+ return `${countStr}${activity.messenger.name} >> messaged ${activity.recipient.name}`;
387
388
  }
388
389
  else if ((_c = (_b = activity === null || activity === void 0 ? void 0 : activity.media) === null || _b === void 0 ? void 0 : _b.title) === null || _c === void 0 ? void 0 : _c.userPreferred) {
389
390
  if (activity.progress) {
390
- return `[${count ? `${count}/` : ""}${activity.id}]\t${activity.user.name} ${activity.status} ${activity.progress} of ${activity.media.title.userPreferred}`;
391
+ return `${countStr}${activity.user.name} >> ${activity.status} ${activity.progress} of ${activity.media.title.userPreferred}`;
391
392
  }
392
393
  else {
393
- return `[${count ? `${count}/` : ""}${activity.id}]\t${activity.user.name} ${activity.status} ${activity.media.title.userPreferred}`;
394
+ return `${countStr}${activity.user.name} >> ${activity.status} ${activity.media.title.userPreferred}`;
394
395
  }
395
396
  }
396
397
  else if ((_d = activity === null || activity === void 0 ? void 0 : activity.user) === null || _d === void 0 ? void 0 : _d.name) {
397
- return `[${count ? `${count}/` : ""}${activity.id}]\t${activity.user.name}`;
398
+ return `${countStr}${activity.user.name}`;
398
399
  }
399
400
  else {
400
- return `[${count ? `${count}/` : ""}${activity === null || activity === void 0 ? void 0 : activity.id}] ???`;
401
+ return `${countStr}???`;
401
402
  }
402
403
  }
403
404
  /**