ipdb 0.1.4

ipip ipdb rust library.
Documentation
use serde::Serialize;
#[derive(Debug, Serialize)]
pub struct  CityInfo<'a>{
    pub country_name:&'a str,
    pub region_name:&'a str,
    pub city_name:&'a str,
    pub owner_domain:&'a str,
    pub isp_domain:&'a str,
    pub latitude:&'a str,
    pub longitude:&'a str,
    pub timezone:&'a str,
    pub utcoffset:&'a str,
    pub china_admin_code:&'a str,
    pub idd_code:&'a str,
    pub country_code:&'a str,
    pub continent_code:&'a str,
    pub idc:&'a str,
    pub base_station:&'a str,
    pub country_code3:&'a str,
    pub european_union:&'a str,
    pub currency_code:&'a str,
    pub currency_name:&'a str,
    pub any_cast:&'a str,
}

impl<'a> From<Vec<&'a str>> for  CityInfo<'a>{
    fn from(buff: Vec<&'a str>) -> Self {
        CityInfo {
            country_name: if buff.len() > 0 { buff[0] } else { "" },
            region_name: if buff.len() > 1 { buff[1] } else { "" },
            city_name: if buff.len() > 2 { buff[2] } else { "" },
            owner_domain: if buff.len() > 3 { buff[3] } else { "" },
            isp_domain: if buff.len() > 4 { buff[4] } else { "" },
            latitude: if buff.len() > 5 { buff[5] } else { "" },
            longitude: if buff.len() > 6 { buff[6] } else { "" },
            timezone: if buff.len() > 7 { buff[7] } else { "" },
            utcoffset: if buff.len() > 8 { buff[8] } else { "" },
            china_admin_code: if buff.len() > 9 { buff[9] } else { "" },
            idd_code: if buff.len() > 10 { buff[10] } else { "" },
            country_code: if buff.len() > 11 { buff[11] } else { "" },
            continent_code: if buff.len() > 12 { buff[12] } else { "" },
            idc: if buff.len() > 13 { buff[13] } else { "" },
            base_station: if buff.len() > 14 { buff[14] } else { "" },
            country_code3: if buff.len() > 15 { buff[15] } else { "" },
            european_union: if buff.len() > 16 { buff[16] } else { "" },
            currency_code: if buff.len() > 17 { buff[17] } else { "" },
            currency_name: if buff.len() > 18 { buff[18] } else { "" },
            any_cast: if buff.len() > 19 { buff[19] } else { "" }
        }
    }
}

// impl<'a> ToString for CityInfo<'a>{
//     fn to_string(&self) -> String {
//         format!("{:?}",self)
//     }
// }