/** * City Enum * Syrian cities used in property locations * Used in: Property search filters, location display */ const City = Object.freeze({ DAMASCUS: 'دمشق', ALEPPO: 'حلب', HOMS: 'حمص', LATAKIA: 'اللاذقية', DARAA: 'درعا', TARTOUS: 'طرطوس', SUWEIDA: 'السويداء', DEIR_EZZOR: 'دير الزور', RAQQA: 'الرقة', IDLIB: 'إدلب', HASAKAH: 'الحسكة', QAMISHLI: 'القامشلي', RURAL_DAMASCUS: 'ريف دمشق', }); // All cities as a flat array const CitiesList = Object.freeze(Object.values(City)); /** * Extract city name from a full address string * @param {string} address * @returns {string} */ function extractCity(address) { if (!address) return ''; for (const city of CitiesList) { if (address.includes(city)) return city; } return ''; } const CityTranslationKeys = Object.freeze({ [City.DAMASCUS]: 'city.damascus', [City.ALEPPO]: 'city.aleppo', [City.HOMS]: 'city.homs', [City.LATAKIA]: 'city.latakia', [City.DARAA]: 'city.daraa', [City.TARTOUS]: 'city.tartous', [City.SUWEIDA]: 'city.suweida', [City.DEIR_EZZOR]: 'city.deirEzzor', [City.RAQQA]: 'city.raqqa', [City.IDLIB]: 'city.idlib', [City.HASAKAH]: 'city.hasakah', [City.QAMISHLI]: 'city.qamishli', [City.RURAL_DAMASCUS]: 'city.ruralDamascus', }); export { City, CitiesList, extractCity, CityTranslationKeys };