naija-geo
v1.0.0
Published
Nigeria geographical data - states, cities & LGAs
Maintainers
Readme
# 🇳🇬 Nigeria Geo [](https://www.npmjs.com/package/nigeria-geo)
[](https://npmjs.com/package/nigeria-geo)
A comprehensive Nigeria geographical data package providing states, Local Government Areas (LGAs), and senatorial districts.
## Features
- 📌 All 36 states + Federal Capital Territory (FCT)
- 🏛️ Local Government Areas (LGAs)
- 🗳️ Senatorial Districts
- 🔍 Case-insensitive search
- 🦾 Full TypeScript support
- 📦 Lightweight (~50KB gzipped)
## Installation
```bash
npm install nigeria-geo
# or
yarn add nigeria-geo
# or
pnpm add nigeria-geoUsage
Basic Usage
import { niajaGeo } from 'nigeria-geo';
// Get all states
const allStates = niajaGeo.getStates();
// Get state details
const lagosState = niajaGeo.getState('Lagos');
// Get LGAs with duplicates removed
const riversLgas = niajaGeo.getLgas('Rivers');
// Find state by LGA
const state = niajaGeo.getStateByLga('Agege'); // Returns LagosClass-based Initialization
import NiajaGeo from 'nigeria-geo';
const customGeo = new NiajaGeo();
const kanoDistricts = customGeo.getDistricts('Kano');API Reference
getStates()
Returns: NiajaState[]
Get all Nigerian states with metadata:
interface NiajaState {
state: string;
senatorialDistricts: string[];
lgas: string[];
}getState(stateName: string)
Parameters:
stateName: Case-insensitive state name
Returns: NiajaState | null
const abiaState = niajaGeo.getState('abia'); // Case-insensitivegetDistricts(stateName: string)
Returns: string[] of senatorial districts
const districts = niajaGeo.getDistricts('Oyo');getLgas(stateName: string)
Returns: Unique combination of LGAs and districts (string[])
const lgas = niajaGeo.getLgas('Kano');getStateByLga(lgaName: string)
Parameters:
lgaName: Case-insensitive LGA name
Returns: NiajaState | null
const state = niajaGeo.getStateByLga('IKEJA'); // Returns LagosData Structure Example
{
state: 'Lagos',
senatorialDistricts: ['Lagos West', 'Lagos Central', 'Lagos East'],
lgas: [
'Agege',
'Ajeromi-Ifelodun',
'Alimosho',
'Amuwo-Odofin',
// ... full list
]
}TypeScript Support
The package includes full type definitions:
import type { NiajaState } from 'nigeria-geo';Contributing
- Verify data from official sources
- Update data in
src/config.ts - Add/update tests
- Submit PR with documentation
git clone https://github.com/zuxcode/nigeria-geo.git
cd nigeria-geo
npm install
npm testLicense
MIT © Alfred Nwanowai
Maintainer: @chiTheDev
