#![doc(hidden)]
#[macro_export]
macro_rules! impl_filter_builder {
() => {
#[must_use]
pub fn exch_code(mut self, exch_code: ExchCode) -> Self {
self.filters_mut().exch_code = Some(exch_code);
self
}
#[must_use]
pub fn mic_code(mut self, mic_code: MicCode) -> Self {
self.filters_mut().mic_code = Some(mic_code);
self
}
#[must_use]
pub fn currency(mut self, currency: Currency) -> Self {
self.filters_mut().currency = Some(currency);
self
}
#[must_use]
pub fn market_sec_des(mut self, market_sec_des: MarketSecDesc) -> Self {
self.filters_mut().market_sec_des = Some(market_sec_des);
self
}
#[must_use]
pub fn security_type(mut self, security_type: SecurityType) -> Self {
self.filters_mut().security_type = Some(security_type);
self
}
#[must_use]
pub fn security_type2(mut self, security_type2: SecurityType2) -> Self {
self.filters_mut().security_type2 = Some(security_type2);
self
}
#[must_use]
pub fn include_unlisted_equities(mut self, val: bool) -> Self {
self.filters_mut().include_unlisted_equities = Some(val);
self
}
#[must_use]
pub fn option_type(mut self, option_type: OptionType) -> Self {
self.filters_mut().option_type = Some(option_type);
self
}
#[must_use]
pub fn strike(mut self, strike: [Option<f64>; 2]) -> Self {
self.filters_mut().strike = Some(strike);
self
}
#[must_use]
pub fn contract_size(mut self, contract_size: [Option<f64>; 2]) -> Self {
self.filters_mut().contract_size = Some(contract_size);
self
}
#[must_use]
pub fn coupon(mut self, coupon: [Option<f64>; 2]) -> Self {
self.filters_mut().coupon = Some(coupon);
self
}
#[must_use]
pub fn expiration(mut self, expiration: [Option<NaiveDate>; 2]) -> Self {
self.filters_mut().expiration = Some(expiration);
self
}
#[must_use]
pub fn maturity(mut self, maturity: [Option<NaiveDate>; 2]) -> Self {
self.filters_mut().maturity = Some(maturity);
self
}
#[must_use]
pub fn state_code(mut self, state_code: StateCode) -> Self {
self.filters_mut().state_code = Some(state_code);
self
}
};
}