From 3413ee0ff55f6ee9af7fe78817cd550a816f7f70 Mon Sep 17 00:00:00 2001 From: Adewale Abdulrazaq Date: Sat, 27 Apr 2024 08:51:01 +0100 Subject: [PATCH] Restore stable version with nuxt 3 --- src/countries.ts | 508 ++++++++++++++++++++++++++++++++++ src/helpers/CountriesAtlas.ts | 15 +- 2 files changed, 514 insertions(+), 9 deletions(-) create mode 100644 src/countries.ts diff --git a/src/countries.ts b/src/countries.ts new file mode 100644 index 0000000..d2c54b2 --- /dev/null +++ b/src/countries.ts @@ -0,0 +1,508 @@ +import DO from './data/countries/do.json' +import TG from './data/countries/tg.json' +import SY from './data/countries/sy.json' +import BW from './data/countries/bw.json' +import NA from './data/countries/na.json' +import PF from './data/countries/pf.json' +import GP from './data/countries/gp.json' +import UA from './data/countries/ua.json' +import BB from './data/countries/bb.json' +import PS from './data/countries/ps.json' +import GE from './data/countries/ge.json' +import DZ from './data/countries/dz.json' +import TR from './data/countries/tr.json' +import MK from './data/countries/mk.json' +import CD from './data/countries/cd.json' +import SL from './data/countries/sl.json' +import TK from './data/countries/tk.json' +import HU from './data/countries/hu.json' +import AD from './data/countries/ad.json' +import MR from './data/countries/mr.json' +import RS from './data/countries/rs.json' +import LT from './data/countries/lt.json' +import UM from './data/countries/um.json' +import EE from './data/countries/ee.json' +import IS from './data/countries/is.json' +import LA from './data/countries/la.json' +import BN from './data/countries/bn.json' +import GI from './data/countries/gi.json' +import VG from './data/countries/vg.json' +import FO from './data/countries/fo.json' +import MG from './data/countries/mg.json' +import AQ from './data/countries/aq.json' +import CH from './data/countries/ch.json' +import MF from './data/countries/mf.json' +import CI from './data/countries/ci.json' +import SA from './data/countries/sa.json' +import GH from './data/countries/gh.json' +import UY from './data/countries/uy.json' +import BO from './data/countries/bo.json' +import IR from './data/countries/ir.json' +import BZ from './data/countries/bz.json' +import NL from './data/countries/nl.json' +import LU from './data/countries/lu.json' +import PK from './data/countries/pk.json' +import AE from './data/countries/ae.json' +import MS from './data/countries/ms.json' +import ST from './data/countries/st.json' +import JM from './data/countries/jm.json' +import HT from './data/countries/ht.json' +import TJ from './data/countries/tj.json' +import SM from './data/countries/sm.json' +import HM from './data/countries/hm.json' +import KR from './data/countries/kr.json' +import GD from './data/countries/gd.json' +import PR from './data/countries/pr.json' +import NU from './data/countries/nu.json' +import GQ from './data/countries/gq.json' +import EH from './data/countries/eh.json' +import KG from './data/countries/kg.json' +import PG from './data/countries/pg.json' +import BV from './data/countries/bv.json' +import LY from './data/countries/ly.json' +import QA from './data/countries/qa.json' +import SX from './data/countries/sx.json' +import AI from './data/countries/ai.json' +import TF from './data/countries/tf.json' +import TM from './data/countries/tm.json' +import DE from './data/countries/de.json' +import SS from './data/countries/ss.json' +import OM from './data/countries/om.json' +import MT from './data/countries/mt.json' +import RU from './data/countries/ru.json' +import PL from './data/countries/pl.json' +import LR from './data/countries/lr.json' +import EC from './data/countries/ec.json' +import PY from './data/countries/py.json' +import BH from './data/countries/bh.json' +import KY from './data/countries/ky.json' +import ZW from './data/countries/zw.json' +import VA from './data/countries/va.json' +import FI from './data/countries/fi.json' +import MA from './data/countries/ma.json' +import CN from './data/countries/cn.json' +import AW from './data/countries/aw.json' +import CW from './data/countries/cw.json' +import MX from './data/countries/mx.json' +import BQ from './data/countries/bq.json' +import NG from './data/countries/ng.json' +import UG from './data/countries/ug.json' +import NR from './data/countries/nr.json' +import LK from './data/countries/lk.json' +import BD from './data/countries/bd.json' +import IL from './data/countries/il.json' +import TT from './data/countries/tt.json' +import MM from './data/countries/mm.json' +import SJ from './data/countries/sj.json' +import SK from './data/countries/sk.json' +import ML from './data/countries/ml.json' +import AZ from './data/countries/az.json' +import CC from './data/countries/cc.json' +import HK from './data/countries/hk.json' +import YE from './data/countries/ye.json' +import US from './data/countries/us.json' +import IM from './data/countries/im.json' +import GB from './data/countries/gb.json' +import PT from './data/countries/pt.json' +import BE from './data/countries/be.json' +import GW from './data/countries/gw.json' +import PA from './data/countries/pa.json' +import NF from './data/countries/nf.json' +import AO from './data/countries/ao.json' +import CV from './data/countries/cv.json' +import MY from './data/countries/my.json' +import CO from './data/countries/co.json' +import SG from './data/countries/sg.json' +import GN from './data/countries/gn.json' +import WF from './data/countries/wf.json' +import BI from './data/countries/bi.json' +import KM from './data/countries/km.json' +import IT from './data/countries/it.json' +import WS from './data/countries/ws.json' +import LS from './data/countries/ls.json' +import PM from './data/countries/pm.json' +import CZ from './data/countries/cz.json' +import MU from './data/countries/mu.json' +import SR from './data/countries/sr.json' +import HR from './data/countries/hr.json' +import VU from './data/countries/vu.json' +import TL from './data/countries/tl.json' +import AU from './data/countries/au.json' +import CL from './data/countries/cl.json' +import MC from './data/countries/mc.json' +import SD from './data/countries/sd.json' +import FK from './data/countries/fk.json' +import TZ from './data/countries/tz.json' +import VC from './data/countries/vc.json' +import ET from './data/countries/et.json' +import GM from './data/countries/gm.json' +import BJ from './data/countries/bj.json' +import KN from './data/countries/kn.json' +import NI from './data/countries/ni.json' +import PN from './data/countries/pn.json' +import RW from './data/countries/rw.json' +import MV from './data/countries/mv.json' +import CY from './data/countries/cy.json' +import TO from './data/countries/to.json' +import SH from './data/countries/sh.json' +import MO from './data/countries/mo.json' +import TV from './data/countries/tv.json' +import GA from './data/countries/ga.json' +import KW from './data/countries/kw.json' +import IN from './data/countries/in.json' +import PW from './data/countries/pw.json' +import BF from './data/countries/bf.json' +import LI from './data/countries/li.json' +import NP from './data/countries/np.json' +import GT from './data/countries/gt.json' +import NE from './data/countries/ne.json' +import BS from './data/countries/bs.json' +import MZ from './data/countries/mz.json' +import CU from './data/countries/cu.json' +import AL from './data/countries/al.json' +import TC from './data/countries/tc.json' +import DK from './data/countries/dk.json' +import FR from './data/countries/fr.json' +import JE from './data/countries/je.json' +import DJ from './data/countries/dj.json' +import ZM from './data/countries/zm.json' +import AM from './data/countries/am.json' +import BR from './data/countries/br.json' +import GU from './data/countries/gu.json' +import BG from './data/countries/bg.json' +import RO from './data/countries/ro.json' +import IO from './data/countries/io.json' +import JP from './data/countries/jp.json' +import VN from './data/countries/vn.json' +import TW from './data/countries/tw.json' +import CA from './data/countries/ca.json' +import AX from './data/countries/ax.json' +import MN from './data/countries/mn.json' +import SI from './data/countries/si.json' +import ZA from './data/countries/za.json' +import TN from './data/countries/tn.json' +import MW from './data/countries/mw.json' +import CX from './data/countries/cx.json' +import GY from './data/countries/gy.json' +import GL from './data/countries/gl.json' +import KZ from './data/countries/kz.json' +import FJ from './data/countries/fj.json' +import SE from './data/countries/se.json' +import AT from './data/countries/at.json' +import CM from './data/countries/cm.json' +import SN from './data/countries/sn.json' +import CF from './data/countries/cf.json' +import VI from './data/countries/vi.json' +import HN from './data/countries/hn.json' +import GG from './data/countries/gg.json' +import GR from './data/countries/gr.json' +import NC from './data/countries/nc.json' +import DM from './data/countries/dm.json' +import AS from './data/countries/as.json' +import ME from './data/countries/me.json' +import SB from './data/countries/sb.json' +import FM from './data/countries/fm.json' +import VE from './data/countries/ve.json' +import ER from './data/countries/er.json' +import ID from './data/countries/id.json' +import UZ from './data/countries/uz.json' +import BL from './data/countries/bl.json' +import LC from './data/countries/lc.json' +import NZ from './data/countries/nz.json' +import KH from './data/countries/kh.json' +import IQ from './data/countries/iq.json' +import EG from './data/countries/eg.json' +import LV from './data/countries/lv.json' +import NO from './data/countries/no.json' +import BY from './data/countries/by.json' +import PH from './data/countries/ph.json' +import MP from './data/countries/mp.json' +import AF from './data/countries/af.json' +import TH from './data/countries/th.json' +import JO from './data/countries/jo.json' +import SV from './data/countries/sv.json' +import MQ from './data/countries/mq.json' +import AG from './data/countries/ag.json' +import KI from './data/countries/ki.json' +import RE from './data/countries/re.json' +import BM from './data/countries/bm.json' +import LB from './data/countries/lb.json' +import ES from './data/countries/es.json' +import IE from './data/countries/ie.json' +import XK from './data/countries/xk.json' +import SC from './data/countries/sc.json' +import CK from './data/countries/ck.json' +import AR from './data/countries/ar.json' +import MD from './data/countries/md.json' +import TD from './data/countries/td.json' +import CR from './data/countries/cr.json' +import SZ from './data/countries/sz.json' +import BT from './data/countries/bt.json' +import PE from './data/countries/pe.json' +import KE from './data/countries/ke.json' +import GS from './data/countries/gs.json' +import YT from './data/countries/yt.json' +import BA from './data/countries/ba.json' +import GF from './data/countries/gf.json' +import KP from './data/countries/kp.json' +import CG from './data/countries/cg.json' +import MH from './data/countries/mh.json' +import SO from './data/countries/so.json' +interface CountriesJson { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + [key: string]: any +} +const countriesJson : CountriesJson = { + DO, + TG, + SY, + BW, + NA, + PF, + GP, + UA, + BB, + PS, + GE, + DZ, + TR, + MK, + CD, + SL, + TK, + HU, + AD, + MR, + RS, + LT, + UM, + EE, + IS, + LA, + BN, + GI, + VG, + FO, + MG, + AQ, + CH, + MF, + CI, + SA, + GH, + UY, + BO, + IR, + BZ, + NL, + LU, + PK, + AE, + MS, + ST, + JM, + HT, + TJ, + SM, + HM, + KR, + GD, + PR, + NU, + GQ, + EH, + KG, + PG, + BV, + LY, + QA, + SX, + AI, + TF, + TM, + DE, + SS, + OM, + MT, + RU, + PL, + LR, + EC, + PY, + BH, + KY, + ZW, + VA, + FI, + MA, + CN, + AW, + CW, + MX, + BQ, + NG, + UG, + NR, + LK, + BD, + IL, + TT, + MM, + SJ, + SK, + ML, + AZ, + CC, + HK, + YE, + US, + IM, + GB, + PT, + BE, + GW, + PA, + NF, + AO, + CV, + MY, + CO, + SG, + GN, + WF, + BI, + KM, + IT, + WS, + LS, + PM, + CZ, + MU, + SR, + HR, + VU, + TL, + AU, + CL, + MC, + SD, + FK, + TZ, + VC, + ET, + GM, + BJ, + KN, + NI, + PN, + RW, + MV, + CY, + TO, + SH, + MO, + TV, + GA, + KW, + IN, + PW, + BF, + LI, + NP, + GT, + NE, + BS, + MZ, + CU, + AL, + TC, + DK, + FR, + JE, + DJ, + ZM, + AM, + BR, + GU, + BG, + RO, + IO, + JP, + VN, + TW, + CA, + AX, + MN, + SI, + ZA, + TN, + MW, + CX, + GY, + GL, + KZ, + FJ, + SE, + AT, + CM, + SN, + CF, + VI, + HN, + GG, + GR, + NC, + DM, + AS, + ME, + SB, + FM, + VE, + ER, + ID, + UZ, + BL, + LC, + NZ, + KH, + IQ, + EG, + LV, + NO, + BY, + PH, + MP, + AF, + TH, + JO, + SV, + MQ, + AG, + KI, + RE, + BM, + LB, + ES, + IE, + XK, + SC, + CK, + AR, + MD, + TD, + CR, + SZ, + BT, + PE, + KE, + GS, + YT, + BA, + GF, + KP, + CG, + MH, + SO +} + +export default countriesJson; \ No newline at end of file diff --git a/src/helpers/CountriesAtlas.ts b/src/helpers/CountriesAtlas.ts index 52ac02f..76d8a4e 100644 --- a/src/helpers/CountriesAtlas.ts +++ b/src/helpers/CountriesAtlas.ts @@ -1,4 +1,5 @@ import countriesData from '../data/atlas.json'; +import countriesJson from '../countries' import { Country } from '../types/country.interface'; import { Currency } from '../types/currency.type'; import { PhoneCode } from '../types/phone-code.interface'; @@ -56,19 +57,15 @@ export class CountriesAtlas { * Retrieve all states of a country by its ISO2 code. * * @param {string} iso2 - ISO2 code of the country. - * @returns {Promise} - Array of state objects or undefined if not found. + * @returns {State[] | undefined} - Array of state objects or undefined if not found. */ - async getStates(iso2: string): Promise { + getStates(iso2: string): State[] | undefined { const country = this.find(iso2) if (country) { - try { - const statesData = await import(`../data/countries/${country.iso2?.toLowerCase()}.json`); - return statesData.states as State[]; - } catch (err) { - return undefined; - } + const statesData = countriesJson[iso2.toUpperCase()]; + return statesData ? statesData.states : undefined } - return undefined; + return undefined } /**