1#![doc = include_str!("../README.md")]
2
3pub mod client;
4pub mod discovery;
5pub mod edit_analysis;
6pub mod headers;
7pub mod iterator;
8pub mod login;
9pub mod parsing;
10pub mod retry;
11pub mod session_persistence;
12pub mod r#trait;
13pub mod types;
14pub mod vcr_form_data;
15pub mod vcr_matcher;
16pub mod vcr_test_utils;
17
18pub use client::LastFmEditClientImpl;
19pub use discovery::{
20 AlbumTracksDiscovery, ArtistTracksDiscovery, AsyncDiscoveryIterator, ExactMatchDiscovery,
21 TrackVariationsDiscovery,
22};
23pub use login::LoginManager;
24pub use r#trait::LastFmEditClient;
25
26pub use iterator::AsyncPaginatedIterator;
28pub use types::{
29 Album, AlbumPage, Artist, ArtistPage, ClientConfig, ClientEvent, ClientEventReceiver,
30 ClientEventWatcher, EditResponse, ExactScrobbleEdit, LastFmEditSession, LastFmError,
31 OperationalDelayConfig, RateLimitConfig, RateLimitType, RequestInfo, RetryConfig, RetryResult,
32 ScrobbleEdit, SharedEventBroadcaster, SingleEditResponse, Track, TrackPage,
33};
34
35pub type ArtistsIterator = iterator::ArtistsIterator<LastFmEditClientImpl>;
37pub type ArtistTracksIterator = iterator::ArtistTracksIterator<LastFmEditClientImpl>;
38pub type ArtistTracksDirectIterator = iterator::ArtistTracksDirectIterator<LastFmEditClientImpl>;
39pub type ArtistAlbumsIterator = iterator::ArtistAlbumsIterator<LastFmEditClientImpl>;
40pub type AlbumTracksIterator = iterator::AlbumTracksIterator<LastFmEditClientImpl>;
41pub type RecentTracksIterator = iterator::RecentTracksIterator<LastFmEditClientImpl>;
42pub type SearchTracksIterator = iterator::SearchTracksIterator<LastFmEditClientImpl>;
43pub type SearchAlbumsIterator = iterator::SearchAlbumsIterator<LastFmEditClientImpl>;
44pub type SearchArtistsIterator = iterator::SearchArtistsIterator<LastFmEditClientImpl>;
45#[cfg(feature = "mock")]
46pub use r#trait::MockLastFmEditClient;
47
48#[cfg(feature = "mock")]
50pub use iterator::MockAsyncPaginatedIterator;
51pub use session_persistence::{SessionManager, SessionPersistence};
52
53pub use scraper::Html;
55
56pub type Result<T> = std::result::Result<T, LastFmError>;