use super::{Operation, Provider};
use crate::error::FinanceError;
pub trait ProviderCore: Send + Sync {
fn id(&self) -> Provider;
fn not_supported(&self, operation: Operation) -> FinanceError {
operation.not_supported(self.id())
}
}
mod dispatch;
mod equity;
mod markets;
pub use dispatch::ProviderAdapter;
pub use equity::{
ChartProvider, CorporateProvider, FilingsProvider, FundamentalsProvider, OptionsProvider,
QuoteProvider,
};
pub use markets::CryptoProvider;
pub use markets::EconomicProvider;
pub use markets::ForexProvider;
pub use markets::{
CalendarProvider, CommoditiesProvider, DiscoveryProvider, FuturesProvider, IndicesProvider,
MarketProvider,
};