UNPKG

@brixtol/country-continent

Version:

Mappings for 2 letter (Alpha 2) country codes to Continent code/name

559 lines (558 loc) 11.6 kB
import { LiteralUnion, AnyCase } from '@brixtol/tsutils'; export interface IContinentNames { EU: 'Europe'; AS: 'Asia'; NA: 'North America'; SA: 'South America'; OC: 'Oceania'; AF: 'Africa'; } export interface IContinents { /** Andorra */ AD: 'EU'; /** United Arab Emirates */ AE: 'AS'; /** Afghanistan */ AF: 'AS'; /** Antigua and Barbuda */ AG: 'NA'; /** Anguilla */ AI: 'NA'; /** Albania */ AL: 'EU'; /** Armenia */ AM: 'AS'; /** Angola */ AO: 'AF'; /** Antarctica */ AQ: 'AN'; /** Argentina */ AR: 'SA'; /** American Samoa */ AS: 'OC'; /** Austria */ AT: 'EU'; /** Australia */ AU: 'OC'; /** Aruba */ AW: 'NA'; /** Åland Islands */ AX: 'EU'; /** Azerbaijan */ AZ: 'AS'; /** Bosnia and Herzegovina */ BA: 'EU'; /** Barbados */ BB: 'NA'; /** Bangladesh */ BD: 'AS'; /** Belgium */ BE: 'EU'; /** Burkina Faso */ BF: 'AF'; /** Bulgaria */ BG: 'EU'; /** Bahrain */ BH: 'AS'; /** Burundi */ BI: 'AF'; /** Benin */ BJ: 'AF'; /** Saint Barthélemy */ BL: 'NA'; /** Bermuda */ BM: 'NA'; /** Brunei Darussalam */ BN: 'AS'; /** Bolivia (Plurinational State of) */ BO: 'SA'; /** Bonaire, Sint Eustatius and Saba */ BQ: 'NA'; /** Brazil */ BR: 'SA'; /** Bahamas */ BS: 'NA'; /** Bhutan */ BT: 'AS'; /** Bouvet Island */ BV: 'AN'; /** Botswana */ BW: 'AF'; /** Belarus */ BY: 'EU'; /** Belize */ BZ: 'NA'; /** Canada */ CA: 'NA'; /** Cocos (Keeling) Islands */ CC: 'AS'; /** Congo, Democratic Republic of the */ CD: 'AF'; /** Central African Republic */ CF: 'AF'; /** Congo, Republic of the */ CG: 'AF'; /** Switzerland */ CH: 'EU'; /** Côte d'Ivoire */ CI: 'AF'; /** Cook Islands */ CK: 'OC'; /** Chile */ CL: 'SA'; /** Cameroon */ CM: 'AF'; /** China */ CN: 'AS'; /** Colombia */ CO: 'SA'; /** Costa Rica */ CR: 'NA'; /** Cuba */ CU: 'NA'; /** Cabo Verde */ CV: 'AF'; /** Curaçao */ CW: 'NA'; /** Christmas Island */ CX: 'AS'; /** Cyprus */ CY: 'EU'; /** Czech Republic */ CZ: 'EU'; /** Germany */ DE: 'EU'; /** Djibouti */ DJ: 'AF'; /** Denmark */ DK: 'EU'; /** Dominica */ DM: 'NA'; /** Dominican Republic */ DO: 'NA'; /** Algeria */ DZ: 'AF'; /** Ecuador */ EC: 'SA'; /** Estonia */ EE: 'EU'; /** Egypt */ EG: 'AF'; /** Western Sahara */ EH: 'AF'; /** Eritrea */ ER: 'AF'; /** Spain */ ES: 'EU'; /** Ethiopia */ ET: 'AF'; /** Finland */ FI: 'EU'; /** Fiji */ FJ: 'OC'; /** Falkland Islands (Malvinas) */ FK: 'SA'; /** Micronesia (Federated States of) */ FM: 'OC'; /** Faroe Islands */ FO: 'EU'; /** France */ FR: 'EU'; /** Gabon */ GA: 'AF'; /** United Kingdom of Great Britain and Northern Ireland */ GB: 'EU'; /** Grenada */ GD: 'NA'; /** Georgia */ GE: 'AS'; /** French Guiana */ GF: 'SA'; /** Guernsey */ GG: 'EU'; /** Ghana */ GH: 'AF'; /** Gibraltar */ GI: 'EU'; /** Greenland */ GL: 'NA'; /** Gambia */ GM: 'AF'; /** Guinea */ GN: 'AF'; /** Guadeloupe */ GP: 'NA'; /** Equatorial Guinea */ GQ: 'AF'; /** Greece */ GR: 'EU'; /** South Georgia and the South Sandwich Islands */ GS: 'AN'; /** Guatemala */ GT: 'NA'; /** Guam */ GU: 'OC'; /** Guinea-Bissau */ GW: 'AF'; /** Guyana */ GY: 'SA'; /** Hong Kong */ HK: 'AS'; /** Heard Island and McDonald Islands */ HM: 'AN'; /** Honduras */ HN: 'NA'; /** Croatia */ HR: 'EU'; /** Haiti */ HT: 'NA'; /** Hungary */ HU: 'EU'; /** Indonesia */ ID: 'AS'; /** Ireland */ IE: 'EU'; /** Israel */ IL: 'AS'; /** Isle Of Man */ IM: 'EU'; /** India (Indian Rupee) */ IN: 'AS'; /** British Indian Ocean Territory */ IO: 'AS'; /** Iraq */ IQ: 'AS'; /** Iran Islamic Republic */ IR: 'AS'; /** Iceland */ IS: 'EU'; /** Italy */ IT: 'EU'; /** Jersey */ JE: 'EU'; /** Jamaica */ JM: 'NA'; /** Jordan */ JO: 'AS'; /** Japan */ JP: 'AS'; /** Kenya */ KE: 'AF'; /** Kyrgyzstan */ KG: 'AS'; /** Cambodia */ KH: 'AS'; /** Kiribati */ KI: 'OC'; /** Comoros */ KM: 'AF'; /** Saint Kitts and Nevis */ KN: 'NA'; /** North Korea */ KP: 'AS'; /** South Korea */ KR: 'AS'; /** Kuwait */ KW: 'AS'; /** Cayman Islands */ KY: 'NA'; /** Kazakhstan */ KZ: 'AS'; /** Laos */ LA: 'AS'; /** Lebanon */ LB: 'AS'; /** Saint Lucia */ LC: 'NA'; /** Liechtenstein */ LI: 'EU'; /** Sri Lanka */ LK: 'AS'; /** Liberia */ LR: 'AF'; /** Lesotho */ LS: 'AF'; /** Lithuania */ LT: 'EU'; /** Luxembourg */ LU: 'EU'; /** Latvia */ LV: 'EU'; /** Libya */ LY: 'AF'; /** Morocco */ MA: 'AF'; /** Monaco */ MC: 'EU'; /** Moldova, Republic of */ MD: 'EU'; /** Montenegro */ ME: 'EU'; /** Saint Martin (French part) */ MF: 'NA'; /** Madagascar */ MG: 'AF'; /** Marshall Islands */ MH: 'OC'; /** Macedonia */ MK: 'EU'; /** Mali */ ML: 'AF'; /** Myanmar */ MM: 'AS'; /** Mongolia */ MN: 'AS'; /** Macao */ MO: 'AS'; /** Northern Mariana Islands */ MP: 'OC'; /** Martinique */ MQ: 'NA'; /** Mauritania */ MR: 'AF'; /** Montserrat */ MS: 'NA'; /** Malta */ MT: 'EU'; /** Mauritius */ MU: 'AF'; /** Maldives */ MV: 'AS'; /** Malawi */ MW: 'AF'; /** Mexico */ MX: 'NA'; /** Malaysia */ MY: 'AS'; /** Mozambique */ MZ: 'AF'; /** Namibia */ NA: 'AF'; /** New Caledonia */ NC: 'OC'; /** Niger */ NE: 'AF'; /** Norfolk Island */ NF: 'OC'; /** Nigeria */ NG: 'AF'; /** Nicaragua */ NI: 'NA'; /** Netherlands */ NL: 'EU'; /** Norway */ NO: 'EU'; /** Nepal */ NP: 'AS'; /** Nauru */ NR: 'OC'; /** Niue */ NU: 'OC'; /** New Zealand */ NZ: 'OC'; /** Oman */ OM: 'AS'; /** Panama */ PA: 'NA'; /** Peru */ PE: 'SA'; /** French Polynesia */ PF: 'OC'; /** Papua New Guinea */ PG: 'OC'; /** Philippines */ PH: 'AS'; /** Pakistan */ PK: 'AS'; /** Poland */ PL: 'EU'; /** Saint Pierre and Miquelon */ PM: 'NA'; /** Pitcairn */ PN: 'OC'; /** Puerto Rico */ PR: 'NA'; /** Palestine */ PS: 'AS'; /** Portugal */ PT: 'EU'; /** Palau */ PW: 'OC'; /** Paraguay */ PY: 'SA'; /** Qatar */ QA: 'AS'; /** Reunion */ RE: 'AF'; /** Romania */ RO: 'EU'; /** Serbia */ RS: 'EU'; /** Russian Federation */ RU: 'EU'; /** Rwanda */ RW: 'AF'; /** Saudi Arabia */ SA: 'AS'; /** Solomon Islands */ SB: 'OC'; /** Seychelles */ SC: 'AF'; /** Sudan */ SD: 'AF'; /** Sweden */ SE: 'EU'; /** Singapore */ SG: 'AS'; /** Saint Helena Ascension And Tristan Da Cunha */ SH: 'AF'; /** Slovenia */ SI: 'EU'; /** Svalbard and Jan Mayen */ SJ: 'EU'; /** Slovakia */ SK: 'EU'; /** Sierra Leone */ SL: 'AF'; /** San Marino */ SM: 'EU'; /** Senegal */ SN: 'AF'; /** Somalia */ SO: 'AF'; /** Suriname */ SR: 'SA'; /** South Sudan */ SS: 'AF'; /** Sao Tome And Principe */ ST: 'AF'; /** El Salvador */ SV: 'NA'; /** Sint Maarten */ SX: 'NA'; /** Syrian Arab Republic */ SY: 'AS'; /** Swaziland */ SZ: 'AF'; /** Turks and Caicos Islands */ TC: 'NA'; /** Chad */ TD: 'AF'; /** French Southern Territories */ TF: 'AN'; /** Togo */ TG: 'AF'; /** Thailand */ TH: 'AS'; /** Tajikistan */ TJ: 'AS'; /** Tokelau */ TK: 'OC'; /** Timor Leste */ TL: 'OC'; /** Turkmenistan */ TM: 'AS'; /** Tunisia */ TN: 'AF'; /** Tonga */ TO: 'OC'; /** Turkey */ TR: 'AS'; /** Trinidad and Tobago */ TT: 'NA'; /** Tuvalu */ TV: 'OC'; /** Taiwan */ TW: 'AS'; /** Tanzania United Republic */ TZ: 'AF'; /** Ukraine */ UA: 'EU'; /** Uganda */ UG: 'AF'; /** United States Minor Outlying Islands */ UM: 'OC'; /** United States Of America */ US: 'NA'; /** Uruguay */ UY: 'SA'; /** Uzbekistan */ UZ: 'AS'; /** Holy See */ VA: 'EU'; /** Saint Vincent And The Grenadines */ VC: 'NA'; /** Venezuela */ VE: 'SA'; /** Virgin Islands (British) */ VG: 'NA'; /** Virgin Islands (U.S.) */ VI: 'NA'; /** Vietnam */ VN: 'AS'; /** Vanuatu */ VU: 'OC'; /** Wallis and Futuna */ WF: 'OC'; /** Samoa */ WS: 'OC'; /** Republic of Kosovo */ XK: 'EU'; /** Yemen */ YE: 'AS'; /** Mayotte */ YT: 'AF'; /** South Africa */ ZA: 'AF'; /** Zambia */ ZM: 'AF'; /** Zimbabwe */ ZW: 'AF'; } /** * Continent Code * * Extracts the countient code from the IContinents interface * which is use as the Return type reference */ export declare type GetContinentCodes<ISO> = (ISO extends keyof IContinents ? IContinents[ISO] : never); /** * Continent Name * * Extracts the countinent name using the continent code */ export declare type ContinentName<Code> = (Code extends keyof IContinentNames ? IContinentNames[Code] : never); /** * Continent Codes Map * * Country code (ISO 3166-1 alpha-2) to continent code * **Readonly** object. */ export declare const ContinentCodes: Readonly<IContinents>; /** * Continent Names Map * * Continent codes to continent name (in English) * **Readonly** object. */ export declare const ContinentNames: Readonly<IContinentNames>; /** * Get Continent Code * * Requires a 2 Letter (ISO 3166-1 alpha-2) country * code to be passed and returns a 2 letter continent code. * * > _Accepts either uppercase, lowercase or * or a combination of either_ */ export declare function getContinentCode<ISO extends AnyCase<keyof IContinents>>(code: LiteralUnion<ISO>): GetContinentCodes<Uppercase<ISO>>; /** * Get Continent Name * * Requires a 2 Letter (ISO 3166-1 alpha-2) country * code to be passed and returns a 2 letter continent code. * * > _Accepts either uppercase, lowercase or * or a combination of either_ */ export declare function getContinentName<ISO extends AnyCase<keyof IContinents>>(code: LiteralUnion<ISO>): ContinentName<GetContinentCodes<Uppercase<ISO>>>;