Created
September 12, 2018 19:00
-
-
Save gate5th/205b176b6580e135f3e092fc2e430ee9 to your computer and use it in GitHub Desktop.
oldschoolshuffle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export async function byAlbumWithDiscography(state){ | |
//receives this.state from playlistChooser and extract what you need | |
const {chosenPlaylistId: playlistId, chosenPlaylistName:playlistName} = state; | |
try { | |
let tracks = await getSimplePlaylistTracks(playlistId); | |
const albumIds = identifyAlbumsInPlaylist(tracks, false); | |
const shuffledAlbums = shuffleArray(albumIds); | |
//forget the playlist now that we know the albums - start fresh | |
const promiseArrayOfTracksFromAlbum = shuffledAlbums.map(async (albumObject) => { | |
const response = await getSimpleAlbumTracks(albumObject.albumId, albumObject.albumName, albumObject.albumUri) | |
return response | |
}) | |
const tracksByAlbum = await Promise.all(promiseArrayOfTracksFromAlbum); | |
const sortedByAlbumAndTrack = flatten(tracksByAlbum); | |
await createPlaylist(sortedByAlbumAndTrack, playlistName, true); | |
} | |
catch(err) { | |
console.error('Error: in byAlbumWithDiscography in spotifyFunctions', err); | |
console.error(err.stack); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment