From 6508edf82037dc6fbe31c47dde0426426c12932a Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 5 Apr 2019 09:50:22 -0400 Subject: [PATCH] Avoid anonymous functions as validators Givnig them names makes it easier to understand in the profiler --- modules/core/validator.js | 8 ++++---- modules/validations/almost_junction.js | 12 ++++++------ modules/validations/crossing_ways.js | 3 ++- modules/validations/disconnected_way.js | 8 +++----- modules/validations/generic_name.js | 2 +- modules/validations/many_deletions.js | 3 ++- modules/validations/maprules.js | 2 +- modules/validations/missing_role.js | 3 +-- modules/validations/missing_tag.js | 2 +- modules/validations/old_multipolygon.js | 3 +-- modules/validations/outdated_tags.js | 2 +- modules/validations/private_data.js | 4 +--- modules/validations/tag_suggests_area.js | 2 +- modules/validations/unknown_road.js | 4 +--- 14 files changed, 26 insertions(+), 32 deletions(-) diff --git a/modules/core/validator.js b/modules/core/validator.js index 0e105390d..808457608 100644 --- a/modules/core/validator.js +++ b/modules/core/validator.js @@ -13,7 +13,7 @@ export function coreValidator(context) { var _rules = {}; var _disabledRules = {}; var _entityRules = []; - var _changesRules = []; +// var _changesRules = []; // skip for now var _issues = []; var _issuesByEntityID = {}; @@ -29,7 +29,7 @@ export function coreValidator(context) { _rules[key] = fn; if (fn.inputType === 'changes') { // 'many_deletions' is the only one like this - _changesRules.push(key); +// _changesRules.push(key); // skip for now } else { _entityRules.push(key); } @@ -39,8 +39,8 @@ export function coreValidator(context) { validator.reset = function() { // clear caches - var _issues = []; - var _issuesByEntityID = {}; + _issues = []; + _issuesByEntityID = {}; for (var key in _rules) { if (typeof _rules[key].reset === 'function') { _rules[key].reset(); // 'crossing_ways' is the only one like this diff --git a/modules/validations/almost_junction.js b/modules/validations/almost_junction.js index 82443528e..daedb3829 100644 --- a/modules/validations/almost_junction.js +++ b/modules/validations/almost_junction.js @@ -118,15 +118,15 @@ export function validationAlmostJunction() { } - var validation = function(endHighway, context) { - if (!isHighway(endHighway)) return []; - if (endHighway.isDegenerate()) return []; + var validation = function checkAlmostJunction(entity, context) { + if (!isHighway(entity)) return []; + if (entity.isDegenerate()) return []; var graph = context.graph(); var tree = context.history().tree(); var issues = []; - var extendableNodeInfos = findConnectableEndNodesByExtension(endHighway, graph, tree); + var extendableNodeInfos = findConnectableEndNodesByExtension(entity, graph, tree); extendableNodeInfos.forEach(function(extendableNodeInfo) { var node = extendableNodeInfo.node; var edgeHighway = graph.entity(extendableNodeInfo.wid); @@ -177,11 +177,11 @@ export function validationAlmostJunction() { type: type, severity: 'warning', message: t('issues.almost_junction.message', { - feature: utilDisplayLabel(endHighway, context), + feature: utilDisplayLabel(entity, context), feature2: utilDisplayLabel(edgeHighway, context) }), tooltip: t('issues.almost_junction.highway-highway.tip'), - entities: [endHighway, node, edgeHighway], + entities: [entity, node, edgeHighway], loc: extendableNodeInfo.node.loc, info: { edge: extendableNodeInfo.edge, diff --git a/modules/validations/crossing_ways.js b/modules/validations/crossing_ways.js index f044cece3..664d2e6ee 100644 --- a/modules/validations/crossing_ways.js +++ b/modules/validations/crossing_ways.js @@ -344,7 +344,8 @@ export function validationCrossingWays() { return []; } - var validation = function(entity, context) { + + var validation = function checkCrossingWays(entity, context) { var graph = context.graph(); var tree = context.history().tree(); diff --git a/modules/validations/disconnected_way.js b/modules/validations/disconnected_way.js index 1ea6c2a72..23e3c1703 100644 --- a/modules/validations/disconnected_way.js +++ b/modules/validations/disconnected_way.js @@ -21,6 +21,7 @@ export function validationDisconnectedWay() { return highways[entity.tags.highway]; } + function vertexIsDisconnected(way, vertex, graph, relation) { var parents = graph.parentWays(vertex); @@ -45,10 +46,9 @@ export function validationDisconnectedWay() { }); } + function isDisconnectedWay(entity, graph) { - if (entity.type !== 'way') return false; - return graph.childNodes(entity).every(function(vertex) { return vertexIsDisconnected(entity, vertex, graph); }); @@ -71,11 +71,9 @@ export function validationDisconnectedWay() { } - var validation = function(entity, context) { + var validation = function checkDisconnectedWay(entity, context) { var graph = context.graph(); - if (!isTaggedAsHighway(entity)) return []; - if (!isDisconnectedWay(entity, graph) && !isDisconnectedMultipolygon(entity, graph)) return []; var entityLabel = utilDisplayLabel(entity, context); diff --git a/modules/validations/generic_name.js b/modules/validations/generic_name.js index 57dca2a79..536b1027d 100644 --- a/modules/validations/generic_name.js +++ b/modules/validations/generic_name.js @@ -49,7 +49,7 @@ export function validationGenericName() { } - var validation = function(entity, context) { + var validation = function checkGenericName(entity, context) { var generic = isGenericName(entity); if (!generic) return []; diff --git a/modules/validations/many_deletions.js b/modules/validations/many_deletions.js index e934e0d5c..a42f3521b 100644 --- a/modules/validations/many_deletions.js +++ b/modules/validations/many_deletions.js @@ -8,7 +8,8 @@ export function validationManyDeletions() { var type = 'many_deletions'; - var validation = function(changes, context) { + + var validation = function checkManyDeletions(changes, context) { var points = 0, lines = 0, areas = 0, relations = 0; var base = context.history().base(); var geometry; diff --git a/modules/validations/maprules.js b/modules/validations/maprules.js index 23f8d43f4..e2a876713 100644 --- a/modules/validations/maprules.js +++ b/modules/validations/maprules.js @@ -5,7 +5,7 @@ export function validationMaprules() { var type = 'maprules'; - var validation = function(entity, context) { + var validation = function checkMaprules(entity, context) { if (!services.maprules) return []; var graph = context.graph(); diff --git a/modules/validations/missing_role.js b/modules/validations/missing_role.js index 58571ba06..c3fbeda47 100644 --- a/modules/validations/missing_role.js +++ b/modules/validations/missing_role.js @@ -7,8 +7,7 @@ import { validationIssue, validationIssueFix } from '../core/validator'; export function validationMissingRole() { var type = 'missing_role'; - var validation = function(entity, context) { - + var validation = function checkMissingRole(entity, context) { var issues = []; if (entity.type === 'way') { context.graph().parentRelations(entity).forEach(function(relation) { diff --git a/modules/validations/missing_tag.js b/modules/validations/missing_tag.js index 7dcaf02e0..6fb23602d 100644 --- a/modules/validations/missing_tag.js +++ b/modules/validations/missing_tag.js @@ -26,7 +26,7 @@ export function validationMissingTag() { } - var validation = function(entity, context) { + var validation = function checkMissingTag(entity, context) { var graph = context.graph(); // ignore vertex features and relation members diff --git a/modules/validations/old_multipolygon.js b/modules/validations/old_multipolygon.js index 670777025..7e3bd1f7f 100644 --- a/modules/validations/old_multipolygon.js +++ b/modules/validations/old_multipolygon.js @@ -1,5 +1,4 @@ import { t } from '../util/locale'; - import { actionChangeTags } from '../actions'; import { osmIsOldMultipolygonOuterMember, osmOldMultipolygonOuterMemberOfRelation } from '../osm'; import { utilDisplayLabel } from '../util'; @@ -10,7 +9,7 @@ export function validationOldMultipolygon() { var type = 'old_multipolygon'; - var validation = function(entity, context) { + var validation = function checkOldMultipolygon(entity, context) { var graph = context.graph(); var multipolygon, outerWay; diff --git a/modules/validations/outdated_tags.js b/modules/validations/outdated_tags.js index bf2d66f53..8d79c7e07 100644 --- a/modules/validations/outdated_tags.js +++ b/modules/validations/outdated_tags.js @@ -22,7 +22,7 @@ export function validationOutdatedTags() { } - var validation = function(entity, context) { + var validation = function checkOutdatedTags(entity, context) { var replacementPresetID = context.presets().match(entity, context.graph()).replacement; var deprecatedTagsArray = entity.deprecatedTags(); var missingTags = missingRecommendedTags(entity, context, context.graph()); diff --git a/modules/validations/private_data.js b/modules/validations/private_data.js index 5fee06bb8..eb151f914 100644 --- a/modules/validations/private_data.js +++ b/modules/validations/private_data.js @@ -50,10 +50,8 @@ export function validationPrivateData() { return privateKeys; } - var validation = function(entity, context) { - + var validation = function checkPrivateData(entity, context) { var privateKeys = privateDataKeys(entity); - if (privateKeys.length === 0) return []; var fixID = privateKeys.length === 1 ? 'remove_tag' : 'remove_tags'; diff --git a/modules/validations/tag_suggests_area.js b/modules/validations/tag_suggests_area.js index 26ac15cc0..6ed0378f6 100644 --- a/modules/validations/tag_suggests_area.js +++ b/modules/validations/tag_suggests_area.js @@ -9,7 +9,7 @@ export function validationTagSuggestsArea() { var type = 'tag_suggests_area'; - var validation = function(entity, context) { + var validation = function checkTagSuggestsArea(entity, context) { if (entity.type !== 'way' || entity.isClosed()) return []; var tagSuggestingArea = entity.tagSuggestingArea(); diff --git a/modules/validations/unknown_road.js b/modules/validations/unknown_road.js index 77a67feb8..dde687159 100644 --- a/modules/validations/unknown_road.js +++ b/modules/validations/unknown_road.js @@ -1,4 +1,3 @@ - import { operationDelete } from '../operations/index'; import { t } from '../util/locale'; import { utilDisplayLabel } from '../util'; @@ -8,8 +7,7 @@ import { validationIssue, validationIssueFix } from '../core/validator'; export function validationUnknownRoad() { var type = 'unknown_road'; - var validation = function(entity, context) { - + var validation = function checkUnknownRoad(entity, context) { if (entity.type !== 'way' || entity.tags.highway !== 'road') return []; var fixes = [