From e195080cca2c7491951ce71e7af601ead7b02896 Mon Sep 17 00:00:00 2001 From: Dipanshu Rawat Date: Sat, 28 Feb 2026 11:31:48 +0530 Subject: [PATCH 1/2] refactor: simplify node occurrence check in validationImpossibleOneway --- modules/validations/impossible_oneway.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/modules/validations/impossible_oneway.js b/modules/validations/impossible_oneway.js index fe2ad610650..6bcb675aee4 100644 --- a/modules/validations/impossible_oneway.js +++ b/modules/validations/impossible_oneway.js @@ -29,14 +29,7 @@ export function validationImpossibleOneway() { } function nodeOccursMoreThanOnce(way, nodeID) { - let occurrences = 0; - for (const index in way.nodes) { - if (way.nodes[index] === nodeID) { - occurrences++; - if (occurrences > 1) return true; - } - } - return false; + return way.nodes.indexOf(nodeID) !== way.nodes.lastIndexOf(nodeID); } function isConnectedViaOtherTypes(way, node) { From c3c0cdd601c3aff31ed4d3e8bf5148a9a7791fb2 Mon Sep 17 00:00:00 2001 From: Dipanshu Rawat Date: Tue, 3 Mar 2026 20:53:04 +0530 Subject: [PATCH 2/2] refactor: enhance node occurrence check in validationImpossibleOneway --- modules/validations/impossible_oneway.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/validations/impossible_oneway.js b/modules/validations/impossible_oneway.js index 6bcb675aee4..57b6faf8c66 100644 --- a/modules/validations/impossible_oneway.js +++ b/modules/validations/impossible_oneway.js @@ -29,7 +29,8 @@ export function validationImpossibleOneway() { } function nodeOccursMoreThanOnce(way, nodeID) { - return way.nodes.indexOf(nodeID) !== way.nodes.lastIndexOf(nodeID); + const firstIndex = way.nodes.indexOf(nodeID); + return firstIndex !== -1 && firstIndex !== way.nodes.lastIndexOf(nodeID); } function isConnectedViaOtherTypes(way, node) {