aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsofushn <[email protected]>2024-09-07 21:49:10 +0200
committersofushn <[email protected]>2024-09-07 21:51:35 +0200
commit107464e22244e5f488212269f780675bc1494190 (patch)
tree3919b7bb6435b54b2bc90e6f3669977a4d05c891 /src
parentaf639159d1647ffb7b4c5c5f7ad035fe8766b6dc (diff)
downloadmuse-107464e22244e5f488212269f780675bc1494190.tar.xz
muse-107464e22244e5f488212269f780675bc1494190.zip
chore: make linter parse
Diffstat (limited to 'src')
-rw-r--r--src/services/get-songs.ts8
-rw-r--r--src/utils/get-youtube-and-spotify-suggestions-for.ts23
2 files changed, 13 insertions, 18 deletions
diff --git a/src/services/get-songs.ts b/src/services/get-songs.ts
index dcaec0c..c48d87d 100644
--- a/src/services/get-songs.ts
+++ b/src/services/get-songs.ts
@@ -18,7 +18,7 @@ export default class {
}
async getSongs(query: string, playlistLimit: number, shouldSplitChapters: boolean): Promise<[SongMetadata[], string]> {
- let newSongs: SongMetadata[] = [];
+ const newSongs: SongMetadata[] = [];
let extraMsg = '';
// Test if it's a complete URL
@@ -49,7 +49,7 @@ export default class {
}
} else if (url.protocol === 'spotify:' || url.host === 'open.spotify.com') {
if (this.spotifyAPI === undefined) {
- throw new Error('Spotify is not enabled!')
+ throw new Error('Spotify is not enabled!');
}
const [convertedSongs, nSongsNotFound, totalSongs] = await this.spotifySource(query, playlistLimit, shouldSplitChapters);
@@ -81,7 +81,7 @@ export default class {
}
}
} catch (err: any) {
- if (err = 'spotify not enabled') {
+ if (err instanceof Error && err.message === 'Spotify is not enabled!') {
throw err;
}
@@ -112,7 +112,7 @@ export default class {
private async spotifySource(url: string, playlistLimit: number, shouldSplitChapters: boolean): Promise<[SongMetadata[], number, number]> {
if (this.spotifyAPI === undefined) {
- return [[], 0, 0];
+ return [[], 0, 0];
}
const parsed = spotifyURI.parse(url);
diff --git a/src/utils/get-youtube-and-spotify-suggestions-for.ts b/src/utils/get-youtube-and-spotify-suggestions-for.ts
index c33cbee..bd6f1c8 100644
--- a/src/utils/get-youtube-and-spotify-suggestions-for.ts
+++ b/src/utils/get-youtube-and-spotify-suggestions-for.ts
@@ -15,12 +15,11 @@ const filterDuplicates = <T extends {name: string}>(items: T[]) => {
};
const getYouTubeAndSpotifySuggestionsFor = async (query: string, spotify?: SpotifyWebApi, limit = 10): Promise<APIApplicationCommandOptionChoice[]> => {
-
// Only search Spotify if enabled
- let spotifySuggestionPromise = spotify !== undefined
- ? spotify.search(query, ['album', 'track'], {limit})
- : undefined;
-
+ const spotifySuggestionPromise = spotify === undefined
+ ? undefined
+ : spotify.search(query, ['album', 'track'], {limit});
+
const youtubeSuggestions = await getYouTubeSuggestionsFor(query);
const totalYouTubeResults = youtubeSuggestions.length;
@@ -36,11 +35,9 @@ const getYouTubeAndSpotifySuggestionsFor = async (query: string, spotify?: Spoti
value: suggestion,
}),
));
-
-
+
if (spotify !== undefined && spotifySuggestionPromise !== undefined) {
-
- const spotifyResponse = (await spotifySuggestionPromise).body
+ const spotifyResponse = (await spotifySuggestionPromise).body;
const spotifyAlbums = filterDuplicates(spotifyResponse.albums?.items ?? []);
const spotifyTracks = filterDuplicates(spotifyResponse.tracks?.items ?? []);
@@ -51,14 +48,13 @@ const getYouTubeAndSpotifySuggestionsFor = async (query: string, spotify?: Spoti
const maxSpotifySuggestions = Math.floor(limit / 2);
const numOfSpotifySuggestions = Math.min(maxSpotifySuggestions, totalSpotifyResults);
-
const maxSpotifyAlbums = Math.floor(numOfSpotifySuggestions / 2);
const numOfSpotifyAlbums = Math.min(maxSpotifyAlbums, spotifyResponse.albums?.items.length ?? 0);
const maxSpotifyTracks = numOfSpotifySuggestions - numOfSpotifyAlbums;
- // make room for spotify results
+ // Make room for spotify results
const maxYouTubeSuggestions = limit - numOfSpotifySuggestions;
- suggestions = suggestions.slice(0, maxYouTubeSuggestions)
+ suggestions = suggestions.slice(0, maxYouTubeSuggestions);
suggestions.push(
...spotifyAlbums.slice(0, maxSpotifyAlbums).map(album => ({
@@ -66,14 +62,13 @@ const getYouTubeAndSpotifySuggestionsFor = async (query: string, spotify?: Spoti
value: `spotify:album:${album.id}`,
})),
);
-
+
suggestions.push(
...spotifyTracks.slice(0, maxSpotifyTracks).map(track => ({
name: `Spotify: 🎵 ${track.name}${track.artists.length > 0 ? ` - ${track.artists[0].name}` : ''}`,
value: `spotify:track:${track.id}`,
})),
);
-
}
return suggestions;