#pragma once #include #include enum class UrlType { SpotifyTrack, SpotifyPlaylist, SpotifyAlbum, SpotifyArtist, YoutubeVideo, YoutubePlaylist, Unknown }; struct ParsedUrl { UrlType type; std::string id; }; std::ostream &operator<<(std::ostream &os, UrlType type); class UrlParser { public: static std::optional parse(const std::string &url); };