From b9e9331064b074abb23f5ef1be6e7ea61602ba05 Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Thu, 1 Nov 2012 17:38:47 -0400 Subject: [PATCH] Make style code faster --- js/iD/renderer/style.js | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/js/iD/renderer/style.js b/js/iD/renderer/style.js index d6f6420d6..1999ba232 100644 --- a/js/iD/renderer/style.js +++ b/js/iD/renderer/style.js @@ -1,18 +1,18 @@ iD.Style = {}; -iD.Style.highway_stack = [ - 'motorway', - 'motorway_link', - 'trunk', - 'trunk_link', - 'primary', - 'primary_link', - 'secondary', - 'tertiary', - 'unclassified', - 'residential', - 'service', - 'footway' -]; +iD.Style.highway_stack = { + motorway: 0, + motorway_link: 1, + trunk: 2, + trunk_link: 3, + primary: 4, + primary_link: 5, + secondary: 6, + tertiary: 7, + unclassified: 8, + residential: 9, + service: 10, + footway: 11 +}; iD.Style.waystack = function(a, b) { if (!a || !b) return 0; @@ -23,8 +23,8 @@ iD.Style.waystack = function(a, b) { if (b.tags.bridge) return -1; var as = 0, bs = 0; if (a.tags.highway && b.tags.highway) { - as -= iD.Style.highway_stack.indexOf(a.tags.highway); - bs -= iD.Style.highway_stack.indexOf(b.tags.highway); + as -= iD.Style.highway_stack[a.tags.highway]; + bs -= iD.Style.highway_stack[b.tags.highway]; } return as - bs; }; @@ -44,11 +44,8 @@ iD.Style.styleClasses = function(pre) { return function(d) { var tags = d.tags; var c = [pre]; - function clean(x) { - return iD.Style.TAG_CLASSES[x]; - } for (var k in tags) { - if (!clean(k)) continue; + if (!iD.Style.TAG_CLASSES[k]) continue; c.push(k + '-' + tags[k]); c.push(k); }