1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { spotifyAddToPlaylist } from "https://esm.town/v/stevekrouse/spotifyAddToPlaylist";
import { spotifyCreatePlaylist } from "https://esm.town/v/stevekrouse/spotifyCreatePlaylist";
import { discoverWeeklyArchiveName } from "https://esm.town/v/stevekrouse/discoverWeeklyArchiveName";
import { spotifyDiscoverWeeklyTracks } from "https://esm.town/v/stevekrouse/spotifyDiscoverWeeklyTracks";
export let spotifyArchiveDiscoverWeekly = async (token) => {
let tracks = await spotifyDiscoverWeeklyTracks(token)
let date = new Date(tracks.items[0].added_at)
let name = await discoverWeeklyArchiveName(date)
let { id } = await spotifyCreatePlaylist({ token, name })
return await spotifyAddToPlaylist({
position: 0,
uris: tracks.items.map(t => t.track.uri),
token,
id
})
}
👆 This is a val. Vals are TypeScript snippets of code, written in the browser and run on our servers. Create scheduled functions, email yourself, and persist small pieces of data — all from the browser.