Skip to main content

finance_query/domains/
futures.rs

1//! Futures contract quote handle.
2//!
3//! Created via [`Providers::futures`](crate::Providers::futures).
4
5use crate::error::Result;
6
7domain_handle! {
8    /// A futures contract backed by configured data providers.
9    ///
10    /// Created via [`Providers::futures`](crate::Providers::futures).
11    pub struct FuturesContract { symbol, symbol }
12}
13
14impl FuturesContract {
15    /// Fetch the current quote for this futures contract.
16    pub async fn quote(&self) -> Result<crate::models::futures::FuturesQuote> {
17        fetch_via!(
18            self,
19            symbol,
20            FUTURES,
21            fetch_futures_quote,
22            crate::models::futures::FuturesQuote
23        )
24    }
25}