smarty_rust_sdk/international_postal_code_api/
lookup.rs

1use crate::international_postal_code_api::candidate::Candidate;
2use crate::sdk::has_param;
3
4#[derive(Clone, Debug, PartialEq, Default)]
5pub struct Lookup {
6    pub input_id: String,
7    pub country: String,
8    pub locality: String,
9    pub administrative_area: String,
10    pub postal_code: String,
11
12    pub results: Vec<Candidate>,
13}
14
15impl Lookup {
16    pub(crate) fn into_param_array(self) -> Vec<(String, String)> {
17        vec![
18            has_param("input_id".to_string(), self.input_id),
19            has_param("country".to_string(), self.country),
20            has_param("locality".to_string(), self.locality),
21            has_param("administrative_area".to_string(), self.administrative_area),
22            has_param("postal_code".to_string(), self.postal_code),
23        ]
24        .into_iter()
25        .filter_map(std::convert::identity)
26        .collect()
27    }
28}