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