#[cfg(feature = "bloomberg")]
pub mod bloomberg;
#[cfg(feature = "coupang")]
pub mod coupang;
#[cfg(feature = "gen")]
pub mod gen;
#[cfg(feature = "grok")]
pub mod grok;
#[cfg(feature = "instagram")]
pub mod instagram;
#[cfg(feature = "nansen")]
pub mod nansen;
#[cfg(feature = "pcc")]
pub mod pcc;
#[cfg(feature = "reddit")]
pub mod reddit;
#[cfg(feature = "s591")]
pub mod s591;
#[cfg(feature = "sa")]
pub mod sa;
#[cfg(feature = "spotify")]
pub mod spotify;
#[cfg(feature = "tradingview")]
pub mod tradingview;
#[cfg(feature = "twitter")]
pub mod twitter;
#[cfg(feature = "xhs")]
pub mod xhs;
#[cfg(feature = "youtube")]
pub mod youtube;
use crate::adapter::CliAdapter;
#[allow(clippy::vec_init_then_push)]
pub fn adapters() -> Vec<Box<dyn CliAdapter>> {
let mut adapters: Vec<Box<dyn CliAdapter>> = Vec::new();
#[cfg(feature = "twitter")]
adapters.push(Box::new(twitter::Adapter));
#[cfg(feature = "grok")]
adapters.push(Box::new(grok::Adapter));
#[cfg(feature = "xhs")]
adapters.push(Box::new(xhs::Adapter));
#[cfg(feature = "instagram")]
adapters.push(Box::new(instagram::Adapter));
#[cfg(feature = "bloomberg")]
adapters.push(Box::new(bloomberg::Adapter));
#[cfg(feature = "coupang")]
adapters.push(Box::new(coupang::Adapter));
#[cfg(feature = "reddit")]
adapters.push(Box::new(reddit::Adapter));
#[cfg(feature = "youtube")]
adapters.push(Box::new(youtube::Adapter));
#[cfg(feature = "s591")]
adapters.push(Box::new(s591::Adapter));
#[cfg(feature = "sa")]
adapters.push(Box::new(sa::Adapter));
#[cfg(feature = "gen")]
adapters.push(Box::new(gen::Adapter));
#[cfg(feature = "nansen")]
adapters.push(Box::new(nansen::Adapter));
#[cfg(feature = "spotify")]
adapters.push(Box::new(spotify::Adapter));
#[cfg(feature = "pcc")]
adapters.push(Box::new(pcc::Adapter));
#[cfg(feature = "tradingview")]
adapters.push(Box::new(tradingview::Adapter));
adapters
}