1use super::Screener;
9use crate::field::{coin_market_cap, default_coin_fields};
10use serde_json::json;
11
12#[derive(Debug, Clone)]
14pub struct CoinScreener {
15 inner: Screener,
16}
17
18impl CoinScreener {
19 pub fn new() -> Self {
21 let mut inner = Screener::new("coin");
22 inner.set_url(crate::util::get_url("coin"));
23 inner.set_all_fields_fn(default_coin_fields);
24 inner.select(default_coin_fields());
25 inner.sort_by(coin_market_cap().field_name, false);
26 inner.add_misc("price_conversion", json!({ "to_symbol": false }));
27 Self { inner }
28 }
29}
30
31impl_typed_screener_common!(CoinScreener);