libgn
Version:
Manipulate geographical and administrative data about Guinea.
101 lines (97 loc) • 3.13 kB
TypeScript
/**
* @package libgn
* @version 0.0.2
*
* @license MIT
*
* @copyright 2025 Lucien Loua
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @see : https://lucien-loua.github.io/libgn
*/
interface Currency {
name: string;
code: string;
symbol: string;
}
interface Region {
name: string;
code: string;
population: number;
area: number;
prefectures: Prefecture[];
}
interface Prefecture {
name: string;
region: string;
subPrefectures: SubPrefecture[];
}
interface SubPrefecture {
name: string;
neighborhoods?: string[];
}
/**
* Throws when a region is not found
*/
declare class RegionReferenceError extends Error {
constructor(name?: string);
}
/**
* Throws when a prefecture is not found
*/
declare class PrefectureReferenceError extends Error {
constructor(name?: string);
}
/**
* Throws when a sub-prefecture is not found
*/
declare class SubPrefectureReferenceError extends Error {
constructor(name?: string);
}
declare const libgn: {
readonly allRegions: Region[];
readonly allRegionNames: string[];
readonly allRegionCodes: string[];
getPrefecturesByRegion(regionName: string): string[];
getRegionPopulation(regionName: string): number;
getRegionArea(regionName: string): number;
readonly allPrefectureNames: string[];
getSubPrefecturesByPrefecture(prefectureName: string): string[];
getRegionOfPrefecture(prefectureName: string): string;
readonly capital: string;
readonly languages: {
official: string;
national: string[];
};
readonly basicInfo: {
name: string;
capital: string;
motto: string;
flag: string;
isoCode: string;
callingCode: number;
population: number;
area: number;
currency: Currency;
};
getNeighborhoodsBySubPrefecture(subPrefectureName: string): string[];
readonly allNeighborhoods: string[];
};
export { type Prefecture, PrefectureReferenceError, type Region, RegionReferenceError, type SubPrefecture, SubPrefectureReferenceError, libgn as default };