Skip to main content

lastfm_client/api/user/recent_tracks/
mod.rs

1//! Recent tracks API: client, request builder, and response types.
2
3mod builder;
4mod extended;
5
6pub use builder::RecentTracksRequestBuilder;
7
8use crate::api::fetch_utils::ResourceContainer;
9use crate::types::{RecentTrack, RecentTrackExtended, UserRecentTracks, UserRecentTracksExtended};
10
11impl ResourceContainer for UserRecentTracks {
12    type ItemType = RecentTrack;
13
14    fn total(&self) -> u32 {
15        self.recenttracks.attr.total
16    }
17
18    fn items(self) -> Vec<Self::ItemType> {
19        self.recenttracks.track
20    }
21}
22
23impl ResourceContainer for UserRecentTracksExtended {
24    type ItemType = RecentTrackExtended;
25
26    fn total(&self) -> u32 {
27        self.recenttracks.attr.total
28    }
29
30    fn items(self) -> Vec<Self::ItemType> {
31        self.recenttracks.track
32    }
33}