mod builder;
pub mod fields;
mod predefined;
pub mod query;
mod response;
pub use builder::ScreenerBuilder;
pub use fields::{equity_fields, etf_fields, fund_fields};
pub use predefined::PredefinedScreener;
pub use query::{
Equity, EquityQuery, EquitySector, Etf, EtfCategory, EtfQuery, Fund, FundCategory, FundQuery,
PercentPoints, Predefined, Rating, Region, ResultOffset, ScreenerCount, ScreenerNumber,
ScreenerQuery, ScreenerValue, SortDirection, YahooExchangeCode, YahooQuoteType,
};
pub use response::{ScreenerResponse, ScreenerResult};
use crate::{YfClient, YfError, YfResponse};
pub async fn screen(
client: &YfClient,
screener: PredefinedScreener,
) -> Result<ScreenerResponse, YfError> {
ScreenerBuilder::predefined(client, screener).fetch().await
}
pub async fn screen_with_diagnostics(
client: &YfClient,
screener: PredefinedScreener,
) -> Result<YfResponse<ScreenerResponse>, YfError> {
ScreenerBuilder::predefined(client, screener)
.fetch_with_diagnostics()
.await
}