libfmp 1.1.0

Async, typed Rust client for the Financial Modeling Prep API
Documentation
//! Response models returned by company screener endpoints.
//!
//! The Python binding exposes this model under `fmp.screener`.

use serde::{Deserialize, Serialize};

use crate::types::{
    CountryCode, ExchangeCode, Industry, MarketCapitalization, PerShareAmount, Price, Ratio,
    Sector, Ticker, Volume,
};

/// One worldwide company returned by the stock screener.
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct CompanyScreenerResult {
    pub symbol: Ticker,
    pub company_name: String,
    #[serde(serialize_with = "crate::codecs::integral_f64::serialize")]
    pub market_cap: MarketCapitalization,
    pub sector: Sector,
    pub industry: Industry,
    #[serde(serialize_with = "crate::codecs::integral_f64::serialize")]
    pub beta: Ratio,
    pub price: Price,
    #[serde(serialize_with = "crate::codecs::integral_f64::serialize")]
    pub last_annual_dividend: PerShareAmount,
    #[serde(serialize_with = "crate::codecs::integral_f64::serialize")]
    pub volume: Volume,
    /// The provider's full exchange name.
    pub exchange: String,
    /// The provider's abbreviated exchange code.
    pub exchange_short_name: ExchangeCode,
    pub country: CountryCode,
    pub is_etf: bool,
    pub is_fund: bool,
    pub is_actively_trading: bool,
}