libgn
v0.0.2
Published
Manipulate geographical and administrative data about Guinea.
Maintainers
Readme
libgn
libgn is a TypeScript/JavaScript library that makes it easy to access and manipulate geographical and administrative data about Guinea.
Installation
npm install libgnor with pnpm:
pnpm add libgnUsage
import libgn from "libgn";
// Get all regions of Guinea
console.log(libgn.allRegionNames);
// Result: ["Boké", "Conakry", "Faranah", "Kankan", "Kindia", "Labé", "Mamou", "N'Zérékoré"]
// Get basic information about Guinea
console.log(libgn.basicInfo);
// Result: { name: "Guinée", capital: "Conakry", motto: "Travail, Justice, Solidarité", ... }API Reference
General Information
// Basic information about Guinea
libgn.basicInfo
// Returns: { name, capital, motto, flag, isoCode, callingCode, population, area, currency }
// Capital
libgn.capital
// Returns: "Conakry"
// Languages
libgn.languages
// Returns: { official: "Français", national: ["Pular", "Maninka", "Susu", ...] }Regions
// All regions with their complete data
libgn.allRegions
// Returns: Array<Region>
// Names of all regions
libgn.allRegionNames
// Returns: ["Boké", "Conakry", "Faranah", "Kankan", "Kindia", "Labé", "Mamou", "N'Zérékoré"]
// Codes of all regions
libgn.allRegionCodes
// Returns: ["BK", "CK", "FR", "KK", "KD", "LB", "MM", "NZ"]
// Prefectures of a specific region
libgn.getPrefecturesByRegion("Conakry")
// Returns: ["Conakry"]
// Population of a region
libgn.getRegionPopulation("Conakry")
// Returns: 1667864
// Area of a region (in km²)
libgn.getRegionArea("Conakry")
// Returns: 450Prefectures
// All prefectures
libgn.allPrefectureNames
// Returns: ["Boké", "Boffa", "Fria", "Gaoual", "Koundara", "Conakry", ...]
// Sub-prefectures of a prefecture
libgn.getSubPrefecturesByPrefecture("Conakry")
// Returns: ["Kaloum", "Dixinn", "Matam", "Ratoma", "Matoto"]
// Region of a prefecture
libgn.getRegionOfPrefecture("Conakry")
// Returns: "Conakry"Neighborhoods (Conakry only)
// All neighborhoods of Conakry
libgn.allNeighborhoods
// Returns: ["Miniere Cité Secteur 2", "KASSA", "BOULBINET", ...]
// Neighborhoods of a specific sub-prefecture
libgn.getNeighborhoodsBySubPrefecture("Dixinn")
// Returns: ["Miniere Cité Secteur 2", "Cameroun Secteur 1", ...]Error Handling
The library includes specific error classes for better error handling:
import {
RegionReferenceError,
PrefectureReferenceError,
SubPrefectureReferenceError
} from "libgn";
try {
libgn.getPrefecturesByRegion("Non-existent region");
} catch (error) {
if (error instanceof RegionReferenceError) {
console.log("Region not found");
}
}Development
# Install dependencies
pnpm install
# Compile TypeScript
pnpm build:pkg
# Development mode (watch)
pnpm dev
# Run tests
pnpm test
# Run tests once
pnpm test:run
# Generate coverage report
pnpm test:coverage
# Linting
pnpm lint
# Linting with auto-fix
pnpm lint:fixIncluded Data
- 8 administrative regions
- 34 prefectures (official administrative divisions)
- 8 urban communes (including Conakry's 5 communes)
- Sub-prefectures for each prefecture
- Detailed neighborhoods (Conakry only)
- Demographic information (population, area)
- Geographical and administrative data
- Cultural information (languages, currency, etc.)
License
This package is published under MIT License
Support
If you have questions or need help regarding this package, don't hesitate to open an issue on GitHub.
