#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![deny(missing_docs)]
extern crate alloc;
pub mod address;
pub mod coords;
pub mod country;
pub mod error;
pub mod postcode;
pub use address::{Address, AddressBuilder, PostcodeChoice};
pub use coords::{Coords, is_valid_coords};
pub use country::{CountryCode, is_valid_country_code};
pub use error::GeoError;
pub use postcode::{Postcode, UkPostcode, UsZipCode, is_valid_uk_postcode, is_valid_us_zip};
#[cfg(test)]
mod smoke {
use super::*;
#[test]
fn reexports_work() {
let _ = UkPostcode::parse("SW1A 1AA").expect("valid");
let _ = UsZipCode::parse("90210").expect("valid");
let _ = Postcode::parse("SW1A 1AA").expect("valid");
let _ = CountryCode::parse("GB").expect("valid");
let _ = Coords::new(51.5, -0.12).expect("valid");
let _ = Address::new(
"10 Downing St".to_string(),
None,
"London".to_string(),
None,
UkPostcode::parse("SW1A 1AA").expect("valid"),
CountryCode::parse("GB").expect("valid"),
)
.expect("valid");
}
}