Expand description
Remote provider trait and concrete provider implementations.
§Architecture
Provider— the core trait; all providers implement this interfaceFetchPage— the return type for paginated sync operations- Concrete providers:
AniListProvider,JikanProvider,KitsuProvider,TvmazeProvider,ImdbProvider ProviderRegistry— runtime registry mappingSourceNameto concrete instances
§Adding a new provider
- Create
src/provider/myprovider.rsimplementingProvider - Add
pub use myprovider::MyProvider;to this module - Register it in
default_registry
No changes needed to remote.rs, sync/service.rs, or any other module.
Re-exports§
pub use anilist::AniListProvider;pub use imdb::ImdbProvider;pub use jikan::JikanProvider;pub use kitsu::KitsuProvider;pub use registry::ProviderRegistry;pub use registry::default_registry;pub use tvmaze::TvmazeProvider;
Modules§
Structs§
- Fetch
Page - A page of results returned by a paginated provider fetch.
Traits§
- Provider
- Trait every remote metadata provider must implement.
Type Aliases§
- Remote
Page Deprecated - Compatibility alias — existing code that names
RemotePagestill compiles. - Remote
Provider Deprecated