Skip to main content

Crate naija_geo

Crate naija_geo 

Source
Expand description

§naija-geo

Nigerian geopolitical zones, states and local government areas (LGAs).

Covers all 6 zones, 37 states (36 states + FCT) and all 774 LGAs with full bi-directional navigation helpers.

§Quick start

use naija_geo::{Zone, State, Lga};

// All zones
for z in Zone::all() {
    println!("{} — {} states", z.name, z.state_count());
}

// Lookup by code (case-insensitive)
let lagos = State::find("LA").unwrap();
assert_eq!(lagos.capital, "Ikeja");
assert_eq!(lagos.lga_count(), 20);

// Navigate upward from an LGA
let lga   = Lga::find("LA020").unwrap();      // Surulere
let state = lga.state().unwrap();             // Lagos
let zone  = lga.zone().unwrap();              // South West
println!("{} → {} → {}", lga.name, state.name, zone.name);

// Navigate downward from a zone
let sw_lgas = Zone::find("SW").unwrap().lgas();
println!("South West has {} LGAs", sw_lgas.len());

§Feature flags

FeatureWhat it adds
serdeSerialize / Deserialize on all public structs
fuzzyfind_fuzzy(name) on Zone, State, Lga

Re-exports§

pub use error::NaijaGeoError;
pub use lga::Lga;
pub use state::State;
pub use zone::Zone;

Modules§

error
lga
state
zone