var projs = [ require('./projections/merc'), require('./projections/longlat') ]; var names = {}; var projStore = []; function add(proj, i) { var len = projStore.length; if (!proj.names) { console.log(i); return true; } projStore[len] = proj; proj.names.forEach(function(n) { names[n.toLowerCase()] = len; }); return this; } exports.add = add; exports.get = function(name) { if (!name) { return false; } var n = name.toLowerCase(); if (typeof names[n] !== 'undefined' && projStore[names[n]]) { return projStore[names[n]]; } }; exports.start = function() { projs.forEach(add); };