UNPKG

country-info-data

Version:

This library helps manage and retrieve continent and country information. It provides methods to fetch details about continents, find countries by continent, and get detailed information about specific countries.

2 lines 13.7 kB
var te={CN:{name:"China"},JP:{name:"Japan"},KR:{name:"South Korea"},MN:{name:"Mongolia"},HK:{name:"Hong Kong"},TW:{name:"Taiwan"},MO:{name:"Macau"}},l=te;var oe={KZ:{name:"Kazakhstan"},KG:{name:"Kyrgyzstan"},TJ:{name:"Tajikistan"},TM:{name:"Turkmenistan"},UZ:{name:"Uzbekistan"}},h=oe;var ae={IN:{name:"India"},PK:{name:"Pakistan"},BD:{name:"Bangladesh"},LK:{name:"Sri Lanka"},NP:{name:"Nepal"},MV:{name:"Maldives"},BT:{name:"Bhutan"},AF:{name:"Afghanistan"}},p=ae;var re={KH:{name:"Cambodia"},LA:{name:"Laos"},VN:{name:"Vietnam"},MY:{name:"Malaysia"},SG:{name:"Singapore"},TH:{name:"Thailand"},PH:{name:"Philippines"},ID:{name:"Indonesia"},TL:{name:"Timor-Leste"},MM:{name:"Myanmar"}},f=re;var ie={IR:{name:"Iran"},IQ:{name:"Iraq"},SY:{name:"Syria"},SA:{name:"Saudi Arabia"},JO:{name:"Jordan"},LB:{name:"Lebanon"},KW:{name:"Kuwait"},OM:{name:"Oman"},YE:{name:"Yemen"},AE:{name:"United Arab Emirates"},BH:{name:"Bahrain"},TR:{name:"Turkey"},CY:{name:"Cyprus"},AM:{name:"Armenia"},AZ:{name:"Azerbaijan"},GE:{name:"Georgia"}},g=ie;var se={...l,...h,...p,...f,...g};var z=se;var Z=z;var me={CM:{name:"Cameroon"},CG:{name:"Congo"},GA:{name:"Gabon"},AO:{name:"Angola"},GAB:{name:"Gabon"},SSD:{name:"South Sudan"},STP:{name:"Sao Tome and Principe"}},m=me;var Ce={KE:{name:"Kenya"},TZ:{name:"Tanzania"},UG:{name:"Uganda"},ET:{name:"Ethiopia"},MW:{name:"Malawi"},DJ:{name:"Djibouti"},RW:{name:"Rwanda"},SO:{name:"Somalia"},AO:{name:"Angola"},KM:{name:"Comoros"},SC:{name:"Seychelles"},SS:{name:"South Sudan"},ER:{name:"Eritrea"},ZA:{name:"South Africa"}},C=Ce;var ue={DZ:{name:"Algeria"},EG:{name:"Egypt"},LY:{name:"Libya"},MA:{name:"Morocco"},SD:{name:"Sudan"},TN:{name:"Tunisia"},EH:{name:"Western Sahara"}},A=ue;var ce={ZA:{name:"South Africa"},ZM:{name:"Zambia"},ZW:{name:"Zimbabwe"},BW:{name:"Botswana"},NA:{name:"Namibia"},LS:{name:"Lesotho"},SZ:{name:"Eswatini"}},u=ce;var de={NG:{name:"Nigeria"},GH:{name:"Ghana"},CI:{name:"Ivory Coast"},SN:{name:"Senegal"},NE:{name:"Niger"},BF:{name:"Burkina Faso"},ML:{name:"Mali"},MR:{name:"Mauritania"},GW:{name:"Guinea-Bissau"},SL:{name:"Sierra Leone"},LR:{name:"Liberia"},GM:{name:"Gambia"},BJ:{name:"Benin"},TG:{name:"Togo"},CV:{name:"Cape Verde"}},c=de;var ye=[...Object.keys(c),...Object.keys(C),...Object.keys(m),...Object.keys(u)],v=ye;var le={...m,...C,...A,...u,...c};var H=le;var W=H;var he={BR:{name:"Brazil"},PE:{name:"Peru"},CO:{name:"Colombia"},BO:{name:"Bolivia"},EC:{name:"Ecuador"},GF:{name:"French Guiana"},SR:{name:"Suriname"},GU:{name:"Guyana"},VE:{name:"Venezuela"}},S=he;var pe={BO:{name:"Bolivia"},CO:{name:"Colombia"},EC:{name:"Ecuador"},PE:{name:"Peru"},VE:{name:"Venezuela"}},N=pe;var fe={AR:{name:"Argentina"},CL:{name:"Chile"},PY:{name:"Paraguay"},UY:{name:"Uruguay"}},B=fe;var ge={...S,...N,...B};var V=ge;var J=V;var Ae={AQ:{name:"Antarctica"}},Y=Ae;var Se={HU:{name:"Hungary"},PL:{name:"Poland"},SK:{name:"Slovakia"},CZ:{name:"Czech Republic"},AT:{name:"Austria"},CH:{name:"Switzerland"},DE:{name:"Germany"},LI:{name:"Liechtenstein"}},R=Se;var Ne={BG:{name:"Bulgaria"},CZ:{name:"Czech Republic"},HU:{name:"Hungary"},PL:{name:"Poland"},MD:{name:"Moldova"},RO:{name:"Romania"},RU:{name:"Russia"},SK:{name:"Slovakia"},UA:{name:"Ukraine"}},b=Ne;var Be={DK:{name:"Denmark"},EE:{name:"Estonia"},FI:{name:"Finland"},IS:{name:"Iceland"},IE:{name:"Ireland"},LV:{name:"Latvia"},LT:{name:"Lithuania"},NO:{name:"Norway"},SE:{name:"Sweden"},UK:{name:"United Kingdom"}},E=Be;var Re={AL:{name:"Albania"},AD:{name:"Andorra"},BA:{name:"Bosnia and Herzegovina"},HR:{name:"Croatia"},GR:{name:"Greece"},IT:{name:"Italy"},MT:{name:"Malta"},ME:{name:"Montenegro"},PT:{name:"Portugal"},SM:{name:"San Marino"},RS:{name:"Serbia"},SI:{name:"Slovenia"},ES:{name:"Spain"}},x=Re;var be={AT:{name:"Austria"},BE:{name:"Belgium"},FR:{name:"France"},DE:{name:"Germany"},LI:{name:"Liechtenstein"},LU:{name:"Luxembourg"},MC:{name:"Monaco"},NL:{name:"Netherlands"},CH:{name:"Switzerland"}},O=be;var Ee={...R,...b,...E,...x,...O};var Q=Ee;var q=Q;var xe={BS:{name:"Bahamas"},BB:{name:"Barbados"},CU:{name:"Cuba"},DO:{name:"Dominican Republic"},HT:{name:"Haiti"},JM:{name:"Jamaica"},PR:{name:"Puerto Rico"},TT:{name:"Trinidad and Tobago"}},M=xe;var Oe={BZ:{name:"Belize"},CR:{name:"Costa Rica"},SV:{name:"El Salvador"},GT:{name:"Guatemala"},HN:{name:"Honduras"},NI:{name:"Nicaragua"},PA:{name:"Panama"}},w=Oe;var Me={CA:{name:"Canada"},US:{name:"United States"},MX:{name:"Mexico"}},k=Me;var we={...M,...w,...k};var X=we;var $=X;var ke={AU:{name:"Australia"},NZ:{name:"New Zealand"}},j=ke;var je={PG:{name:"Papua New Guinea"},FJ:{name:"Fiji"},SB:{name:"Solomon Islands"},VU:{name:"Vanuatu"},NC:{name:"New Caledonia"}},L=je;var Le={FM:{name:"Federated States of Micronesia"},MH:{name:"Marshall Islands"},PW:{name:"Palau"},KI:{name:"Kiribati"},MP:{name:"Northern Mariana Islands"}},T=Le;var Te={PF:{name:"French Polynesia"},WS:{name:"Samoa"},TO:{name:"Tonga"},CK:{name:"Cook Islands"},NU:{name:"Niue"},TK:{name:"Tokelau"},KI:{name:"Kiribati"},FM:{name:"Federated States of Micronesia"}},F=Te;var Fe={...L,...F,...T,...j};var _=Fe;var ee=_;var ve={AF:W,AN:Y,AS:Z,EU:q,NA:$,OC:ee,SA:J},D=ve;var ne={CentralAfrica:"AF",EasternAfrica:"AF",NorthernAfrica:"AF",SouthernAfrica:"AF",WesternAfrica:"AF",NorthernEurope:"EU",WesternEurope:"EU",SouthernEurope:"EU",EasternEurope:"EU",CentralEurope:"EU",EastAsia:"AS",SouthAsia:"AS",SoutheastAsia:"AS",CentralAsia:"AS",WesternAsia:"AS",AustraliaAndNewZealand:"OC",Melanesia:"OC",Micronesia:"OC",Polynesia:"OC",SouthernCone:"SA",AndeanStates:"SA",AmazonBasin:"SA",SubSaharanAfrica:"AF",Caribbean:"NA",CentralAmerica:"NA",NorthAmericaMainland:"NA"};var d=class{constructor(){this.continentCodes=new Set;this.regionCodes=new Set;this.countryCodes=new Set;this.excludeContinents=new Set;this.excludeRegions=new Set;this.excludeCountryCodes=new Set;this.excludeCountryNames=new Set;this.countryNameFilter=null;this.sortBy=null;this.limitResults=null;this.includeDetails=!1;this.fields=[]}continent(e){return this.continentCodes=new Set(e),this}region(e){if(Array.isArray(e)?this.regionCodes=new Set(e):this.regionCodes=new Set([e]),this.continentCodes.size>0){let n=new Set;for(let t of this.regionCodes){let o=ne[t];o&&n.add(o)}this.continentCodes=new Set([...this.continentCodes].filter(t=>!n.has(t)))}return this}country(e){return e.forEach(n=>this.countryCodes.add(n)),this}excludeContinent(e){return e.forEach(n=>this.excludeContinents.add(n)),this}excludeRegion(e){return e.forEach(n=>this.excludeRegions.add(n)),this}countryName(e){return this.countryNameFilter=e.toLowerCase(),this}excludeCountryCode(e){return e.forEach(n=>this.excludeCountryCodes.add(n)),this}excludeCountryName(e){return e.forEach(n=>this.excludeCountryNames.add(n.toLowerCase())),this}sortByName(){return this.sortBy="name",this}sortByContinent(){return this.sortBy="continent",this}sortByRegion(){return this.sortBy="region",this}limit(e){return this.limitResults=e,this}selectFields(e){return this.fields=e,this}withDetails(){return this.includeDetails=!0,this}execute(){if(this.continentCodes.size===0&&this.regionCodes.size===0&&this.countryCodes.size===0)return;let e=i.getCountriesFromMultipleContinentsOrRegions([...this.continentCodes],[...this.regionCodes]);e=e.filter(t=>{let o=i.getContinentCodeByCountryCode(t),a=i.getRegionByCountryCode(t);return!this.excludeContinents.has(o)&&!this.excludeRegions.has(a)&&!this.excludeCountryCodes.has(t)}),this.countryNameFilter&&(e=e.filter(t=>{var a,r;return((r=(a=i.getCountryNameByCode(t))==null?void 0:a.toLowerCase())!=null?r:"").includes(this.countryNameFilter)})),e=e.filter(t=>{var a,r;let o=(r=(a=i.getCountryNameByCode(t))==null?void 0:a.toLowerCase())!=null?r:"";return!this.excludeCountryNames.has(o)});let n=e.map(t=>{var o;if(this.includeDetails){let a=(o=i.getCountryNameByCode(t))!=null?o:"",r=i.getContinentCodeByCountryCode(t),y=i.getRegionByCountryCode(t);return{code:t,name:a,continent:r?{name:i.getContinentNameByCode(r),code:r}:void 0,region:y}}else return i.getCountryNameByCode(t)});return this.includeDetails&&this.fields.length>0&&(n=n.map(t=>{if(typeof t=="string")return t;let o={};return this.fields.forEach(a=>{a==="name"&&t.name===void 0?o[a]="":a==="continent"&&t.continent===void 0?o[a]=void 0:o[a]=t[a]}),o})),this.sortBy&&n.sort((t,o)=>{var a,r,y,I,P,U,G,K;if(typeof t=="string"||typeof o=="string")return 0;switch(this.sortBy){case"name":return((a=t.name)!=null?a:"").localeCompare((r=o.name)!=null?r:"");case"continent":return((I=(y=t.continent)==null?void 0:y.name)!=null?I:"").localeCompare((U=(P=o.continent)==null?void 0:P.name)!=null?U:"");case"region":return((G=t.region)!=null?G:"").localeCompare((K=o.region)!=null?K:"");default:return 0}}),this.limitResults&&(n=n.slice(0,this.limitResults)),n}};var s=class s{static query(){return new d}static updateCountryData(e){e.forEach(n=>{this.countryNames[n.code]={name:n.name}})}static getCountryNameByCode(e){var n;return(n=this.countryNames[e.toUpperCase()])==null?void 0:n.name}static getCountryCodeByName(e){return Object.keys(this.countryNames).find(n=>this.countryNames[n].name.toLowerCase()===e.toLowerCase())}static getAllCountryNames(){return Object.values(this.countryNames).map(e=>e.name)}static getAllCountryCodes(){return Object.keys(this.countryNames)}static getAllCountryDetails(){return Object.entries(this.countryNames).map(([e,{name:n}])=>{let t=this.getContinentCodeByCountryCode(e),o=this.getRegionByCountryName(n);return{code:e,name:n,continent:t?{name:this.continents[t],code:t}:void 0,region:o}})}static getContinentNameByCode(e){return this.continents[e]}static getAllContinentCodes(){return Object.keys(this.continents)}static getCountryCodesByContinent(e){return this.continentCountries[e]||[]}static getContinentCodeByCountryCode(e){return this.countryToContinent[e.toUpperCase()]}static getCountryCodesByContinentName(e){let n=this.getContinentCodeByName(e);return n?this.getCountryCodesByContinent(n):[]}static getCountryNamesByContinentName(e){return this.getCountryCodesByContinentName(e).map(n=>this.countryNames[n].name)}static getContinentCodeByName(e){var n;return(n=Object.entries(this.continents).find(([,t])=>t.toLowerCase()===e.toLowerCase()))==null?void 0:n[0]}static getCountryCodesByRegion(e){return this.regionCountries[e]||[]}static getCountryNamesByRegion(e){return this.getCountryCodesByRegion(e).map(n=>this.countryNames[n].name)}static getRegionByCountryName(e){let n=this.getCountryCodeByName(e);if(n)return this.getRegionByCountryCode(n)}static isCountryInContinent(e,n){return this.getContinentCodeByCountryCode(e)===n}static isRegionInContinent(e,n){let t=this.getCountryCodesByRegion(e);for(let o of t)if(this.getContinentCodeByCountryCode(o)===n)return!0;return!1}static getRegionByContinent(e){let n=[];for(let[t,o]of Object.entries(this.regionCountries))this.isRegionInContinent(t,e)&&n.push(t);return n}static searchCountriesByName(e){return Object.values(this.countryNames).filter(n=>n.name.toLowerCase().includes(e.toLowerCase())).map(n=>n.name)}static getCountriesFromMultipleContinentsOrRegions(e=[],n=[]){let t=e.flatMap(a=>this.getCountryCodesByContinent(a)),o=n.flatMap(a=>this.getCountryCodesByRegion(a));return[...new Set([...t,...o])]}static getAllContinentData(){return Object.entries(this.continents).reduce((e,[n,t])=>(e[t]=this.getCountryNamesByContinentName(t),e),{})}static getRegionByCountryCode(e){var t;return(t=Object.entries(this.regionCountries).find(([,o])=>o.includes(e)))==null?void 0:t[0]}static findCountryDetailsByLocation(e){let n=this.getContinentCodeByName(e);if(n)return this.getCountryCodesByContinent(n).map(r=>({code:r,name:this.getCountryNameByCode(r),continent:{name:this.continents[n],code:n},region:this.getRegionByCountryCode(r)}));let t=e;if(t in this.regionCountries)return this.getCountryCodesByRegion(t).map(r=>({code:r,name:this.getCountryNameByCode(r),continent:{name:this.continents[this.getContinentCodeByCountryCode(r)],code:this.getContinentCodeByCountryCode(r)},region:t}));let o=e;if(o in this.countryNames)return[{code:o,name:this.getCountryNameByCode(o),continent:{name:this.continents[this.getContinentCodeByCountryCode(o)],code:this.getContinentCodeByCountryCode(o)},region:this.getRegionByCountryCode(o)}];let a=this.getCountryCodeByName(e);return a?[{code:a,name:e,continent:{name:this.continents[this.getContinentCodeByCountryCode(a)],code:this.getContinentCodeByCountryCode(a)},region:this.getRegionByCountryCode(a)}]:[]}};s.continents={AF:"Africa",AN:"Antarctica",AS:"Asia",EU:"Europe",NA:"North America",OC:"Oceania",SA:"South America"},s.continentCountries=Object.fromEntries(Object.entries(D).map(([e,n])=>[e,Object.keys(n)])),s.countryNames=Object.assign({},...Object.values(D)),s.countryToContinent={},s.regionCountries={NorthernAfrica:Object.keys(A),SouthernAfrica:Object.keys(u),CentralAfrica:Object.keys(m),SoutheastAsia:Object.keys(f),CentralAsia:Object.keys(h),WesternAsia:Object.keys(g),AustraliaAndNewZealand:Object.keys(j),Melanesia:Object.keys(L),Micronesia:Object.keys(T),Polynesia:Object.keys(F),SouthernCone:Object.keys(B),AndeanStates:Object.keys(N),WesternAfrica:Object.keys(c),EasternAfrica:Object.keys(C),EastAsia:Object.keys(l),SouthAsia:Object.keys(p),AmazonBasin:Object.keys(S),SubSaharanAfrica:v,NorthernEurope:Object.keys(E),WesternEurope:Object.keys(O),SouthernEurope:Object.keys(x),EasternEurope:Object.keys(b),CentralEurope:Object.keys(R),Caribbean:Object.keys(M),CentralAmerica:Object.keys(w),NorthAmericaMainland:Object.keys(k)},(()=>{for(let[e,n]of Object.entries(s.continentCountries))n.forEach(t=>{s.countryToContinent[t]=e})})();var i=s;var It=i;export{d as CountryInfoQuery,It as default}; //# sourceMappingURL=index.js.map