kenya_administrative_divisions 1.0.3
kenya_administrative_divisions: ^1.0.3 copied to clipboard
The Kenya Administrative Divisions is a package that provides functionality to retrieve administrative divisions data about Kenya. It includes information about counties, constituencies, and wards..
Kenya Administrative Divisions #
The Kenya Administrative Divisions is a package that provides functionality to retrieve administrative divisions data about Kenya. It includes information about counties, constituencies, and wards.
Changelog #
See CHANGELOG.md for all changes.
Table of Contents #
Installation #
To install the package, add it to your pubspeck.yaml
Run
dart pub add kenya_administrative_divisions
Usage #
Getting started #
To use the library, instantiate the KenyaAdministrativeDivisions class:
import 'package:kenya_administrative_divisions/kenya_administrative_divisions.dart';
// We will assign kad to kenya administrative divisions
final kad = KenyaAdministrativeDivisionsBase;
Methods available #
Helper methods #
// Get All the data
final List<County> counties = kad.getAll;
// Get county names
final List<String> countyNames = kad.getCountyNames;
// Get constituency names
final List<String> constituencyNames = kad.getConstituencyNames();
final List<String> constituencyNames = kad.getConstituencyNames(countyName: 'Mombasa');
final List<String> constituencyNames = kad.getConstituencyNames(countyCode: 1);
Get Counties #
// Get county
final List<County> allCounties = kad.getCounties();
final List<County> county = kad.getCounties(countyCode: 1);
final List<County> mombasa = kad.getCounties(countyName: 'Mombasa');
Get Constituencies #
final List<Constituency> constituencies = kad.getConstituencies();
final List<Constituency> mombasaConstituencies = kad.getConstituencies(countyCode: 1);
final List<Constituency> mombasaConstituencies = kad.getConstituencies(countyName: 'mombasa');
Get wards #
final List<Ward> wards = kad.getWards();
final List<Ward> mombasaWards = kad.getWards(countyCode: 1);
final List<Ward> mombasaWards = kad.getWards(countyName: 'mombasa');
List<Ward> changamweWards = kad.getWards(constituencyName: 'changamwe');
API reference #
Data Models #
The package exposes three primary strongly-typed models to represent Kenya's administrative structure:
County
int code: The official ISO/IEBC county code (1–47).String name: The name of the county.List<Constituency> constituencies: Sub-divisions belonging to this county.
Constituency
String name: The name of the constituency.List<Ward> wards: The electoral wards contained within this constituency.
Ward
Wardis a zero-cost Extension Type that wraps a standard DartString. It represents the literal name of the ward directly without any sub-properties or nested fields. It can be treated and evaluated exactly like aString.
KenyaAdministrativeDivisions Class #
This is the main interface interface for retrieving data. Instantiate it to access the following methods:
1. Data Retrieval Methods
| Method | Return Type | Named Parameters | Description |
|---|---|---|---|
getAll |
List<County> |
None (Getter) | Fetches the complete hierarchical dataset of counties, constituencies, and wards. |
getCounties() |
List<County> |
{int? countyCode, String? countyName} |
Filters and returns list of counties matching criteria. Returns all if no params provided. |
getConstituencies() |
List<Constituency> |
{int? countyCode, String? countyName} |
Returns all constituencies, or filters them specifically by county parameters. |
getWards() |
List<Ward> |
{int? countyCode, String? countyName, String? constituencyName} |
Returns all wards, or narrows down by county context or a explicit constituency name. |
2. Utility & Helper Methods
| Method | Return Type | Named Parameters | Description |
|---|---|---|---|
getCountyNames |
List<String> |
None (Getter) | Returns a list of all 47 unique county names. |
getConstituencyNames() |
List<String> |
{int? countyCode, String? countyName} |
Returns names of constituencies across the country or isolated by county constraints. |
Support #
If you like this project, you can support me with starring ⭐ this repository.
License #
Made with 💜