vladdress
Version:
Lightweight Street Address Parser Written in TypeScript
27 lines (26 loc) • 1.11 kB
JavaScript
;
exports.__esModule = true;
exports.parsePlaceName = void 0;
var strings_1 = require("../utils/strings");
var allCities = require("../data/cities.json");
var parsePlaceName = function (placeString, stateAbbreviation) {
var citiesForState = allCities[stateAbbreviation || ''];
var lowercasePlaceString = placeString === null || placeString === void 0 ? void 0 : placeString.toLowerCase();
var foundCity = citiesForState.find(function (cityName) {
return lowercasePlaceString === null || lowercasePlaceString === void 0 ? void 0 : lowercasePlaceString.endsWith(cityName.toLowerCase());
});
var resultPlaceName;
if (foundCity) {
placeString = placeString === null || placeString === void 0 ? void 0 : placeString.substring(0, placeString.length - foundCity.length);
resultPlaceName = foundCity;
}
else {
resultPlaceName = (0, strings_1.toTitleCase)(placeString || '');
placeString = '';
}
return {
placeName: resultPlaceName,
placeString: placeString
};
};
exports.parsePlaceName = parsePlaceName;