Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.32 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 18.226.185.23
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : index.js
const db = require('./lib/compiledCities.json')
const TrieSearch = require('trie-search')

const trie = new TrieSearch([],
  {
    min: 2,
    splitOnRegEx: false,
  }
)


for (let countryName in db) {
  for (let state in db[countryName].states) {
    for (let idx in db[countryName].states[state]) {
      const toSave = {
        city: db[countryName].states[state][idx],
        state: state,
        country: db[countryName],
      }
//      const key = db[countryName].states[state][idx].name.toLowerCase().replace(/\s/g,'')
      const key = db[countryName].states[state][idx].name
      trie.map(key, toSave)
    }
  }
}

var compCities = {

  getAll: () => { return db },
  getCountriesShort: () => {
    let res = []
    for (var key in db) {
      res.push(key)
    }
    return res
  },
  getCountryByShort: (shortName) => {
    if (typeof db[shortName] !== 'undefined') {
      return db[shortName]
    } else {
      return null
    }
  },
  getCountryInfoByShort: (shortName) => {
    if (typeof db[shortName] !== 'undefined') {
      let res = {}
      for (var key in db[shortName]) {
        if (key !== 'states') {
          res[key] = db[shortName][key]
        }
      }
      return res
    } else {
      return null
    }
  },
  getStatesByShort: (shortName) => {
    if (typeof db[shortName] !== 'undefined') {
      let res = []
      if (typeof db[shortName].states !== 'undefined') {
        res = Object.keys(db[shortName].states)
        return res
      } else {
        return null
      }
    } else {
      return null
    }
  },
  getCities: (shortName, state) => {
    if (typeof db[shortName] !== 'undefined') {
      if (typeof db[shortName].states != 'undefined') {
        let res=[]
        for (let idx in  db[shortName].states[state]) {
          res.push(db[shortName].states[state][idx].name)
        }
        return res
      } else {
        return null
      }
    } else {
      return null
    }
  },
  getCountries: () => {
    let res = []
    for (var shortName in db) {
      let obj = {}
      for (var key in db[shortName]) {
        if (key !== 'states') {
          obj.shortName = shortName
          obj[key] = db[shortName][key]
        }
      }
      res.push(obj)
    }
    return res
  },
  getCitiesByName: name => {
    const res = trie.search(name)
    return res
  },
}

module.exports = compCities
© 2025 GrazzMean-Shell