#![cfg_attr(docsrs, feature(doc_cfg))]
#[macro_use]
mod macros;
mod append;
mod client;
mod common;
mod credentials;
mod endpoints;
mod image;
mod param;
#[cfg(feature = "stream")]
pub mod stream;
#[cfg(feature = "v4")]
mod v4;
pub use append::Append;
pub use client::Client;
pub use common::*;
#[cfg(feature = "v4")]
pub use credentials::AccessToken;
pub use credentials::{GuestSessionId, SessionId};
pub use endpoints::account::*;
pub use endpoints::authentication::*;
pub use endpoints::certification::*;
pub use endpoints::collection::*;
pub use endpoints::company::*;
pub use endpoints::configuration::*;
pub use endpoints::credit::*;
pub use endpoints::discover::*;
pub use endpoints::find::*;
pub use endpoints::genre::*;
pub use endpoints::keyword::*;
pub use endpoints::list::*;
pub use endpoints::movie::*;
pub use endpoints::network::*;
pub use endpoints::person::*;
pub use endpoints::review::*;
pub use endpoints::search::*;
pub use endpoints::trending::*;
pub use endpoints::tv::*;
pub use endpoints::watch_provider::*;
pub use image::{Backdrop, Logo, Poster, Profile, Still};
pub use isocountry::CountryCode;
pub use isolang::Language;
pub use param::ToParam;
pub use time::Date;
#[cfg(feature = "v4")]
pub use v4::*;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("transport: {0}")]
Transport(#[from] reqwest::Error),
#[error("tmdb error {code}: {message}")]
Tmdb { code: i32, message: String },
#[error("not found")]
NotFound,
#[error("rate limited; retry after {retry_after:?}")]
RateLimited {
retry_after: Option<std::time::Duration>,
},
#[error("requested append `{0}` missing from the response")]
MissingAppend(&'static str),
#[error("decode: {0}")]
Decode(#[from] serde_json::Error),
}
pub type Result<T> = std::result::Result<T, Error>;