Adjust generic name validation to better check tag values

e.g. "name=Fast Food" should match "amenity=fast_food"
This commit is contained in:
Bryan Housel
2019-01-08 13:43:40 -05:00
parent d9ee93e578
commit 6c5ea96ab6
+12 -8
View File
@@ -7,16 +7,20 @@ export function validationGenericName() {
var name = entity.tags.name;
if (!name) return false;
if (entity.tags.amenity === name ||
entity.tags.leisure === name ||
entity.tags.shop === name ||
entity.tags.man_made === name ||
entity.tags.tourism === name) {
return name;
var i, re;
// test if the name is just the tag value (e.g. "park")
var keys = ['amenity', 'leisure', 'shop', 'man_made', 'tourism'];
for (i = 0; i < keys.length; i++) {
var val = entity.tags[keys[i]];
if (val && val.replace(/\_/g, ' ').toLowerCase() === name.toLowerCase()) {
return name;
}
}
for (var i = 0; i < discardNames.length; i++) {
var re = new RegExp(discardNames[i], 'i');
// test if the name is a generic name (e.g. "pizzaria")
for (i = 0; i < discardNames.length; i++) {
re = new RegExp(discardNames[i], 'i');
if (re.test(name)) {
return name;
}