"use strict"; import {RouteModel} from "../Models/RouteModel.ecma.js"; export const RoutesManager = (function(){ const RoutesManager = function(routes_maker){ const routes = {}; this.get = key => routes[key = RouteModel.to_key(key)] ? routes[key] : null; this.add = (name, key = null) => { let route = null; (key || (key = RouteModel.to_key(name))) && !routes[key] && (route = routes[key] = new RouteModel(routes_maker, name, key)); return route; }; this.remove = key => { if(routes[key = RouteModel.to_key(key)]) delete routes[key]; }; this.get_data = () => Object.keys(routes).reduce((dictionary, key) => { dictionary[key] = [routes[key].name, routes[key].dots.map(dot => [dot.longitude, dot.latitude])]; return dictionary; }, {}); }; return RoutesManager; })();