use super::{ResearchReports, SearchNewsList, SearchQuotes};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[non_exhaustive]
#[serde(rename_all = "camelCase")]
pub struct SearchResults {
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(default)]
pub quotes: SearchQuotes,
#[serde(default)]
pub news: SearchNewsList,
#[serde(default)]
pub research_reports: ResearchReports,
#[serde(skip_serializing_if = "Option::is_none")]
pub total_time: Option<i64>,
}
impl SearchResults {
pub fn from_json(value: serde_json::Value) -> Result<Self, serde_json::Error> {
serde_json::from_value(value)
}
pub fn result_count(&self) -> i32 {
self.count.unwrap_or(0)
}
}