part of '../spotify.dart'; typedef GeneratePlaylistProviderInput = ({ Iterable? seedArtists, Iterable? seedGenres, Iterable? seedTracks, int limit, RecommendationSeeds? max, RecommendationSeeds? min, RecommendationSeeds? target, }); final generatePlaylistProvider = FutureProvider.family, GeneratePlaylistProviderInput>( (ref, input) async { final spotify = ref.watch(spotifyProvider); final market = ref.watch( userPreferencesProvider.select((s) => s.recommendationMarket), ); final recommendation = await spotify.recommendations.get( limit: input.limit, seedArtists: input.seedArtists?.toList(), seedGenres: input.seedGenres?.toList(), seedTracks: input.seedTracks?.toList(), market: market, max: input.max?.toJson().cast(), min: input.min?.toJson().cast(), target: input.target?.toJson().cast(), ); return recommendation.tracks?.toList() ?? []; }, );