const sortProxyServers = (proxyList) => { return proxyList.sort((proxyServer1, proxyServer2) => { if (proxyServer1 && proxyServer1.timeToFetch && proxyServer2 && proxyServer2.timeToFetch) { return proxyServer1.timeToFetch > proxyServer2.timeToFetch ? 1 : -1; } }); } const selectBestProxies = (proxyList) => { return proxyList; } const cleanProxyServers = (proxyList) => { return proxyList.filter(proxyServer => proxyServer && proxyServer.timeToFetch); } const convertProxyListToString = (proxyList) => { if (Array.isArray(proxyList)){ let result = ''; proxyList.forEach(proxyServer => { result += `${proxyServer.address}\r\n`; }); return result; } console.log('[ERROR](convertProxyListToString) Proxy list is not an array') console.log(proxyList); return ''; } const timeoutPromise = (timeout) => { return new Promise((resolve, reject) => { setTimeout(() => { reject('Timeout') }, timeout); }); } exports.sortProxyServers = sortProxyServers; exports.selectBestProxies = selectBestProxies; exports.cleanProxyServers = cleanProxyServers; exports.convertProxyListToString = convertProxyListToString; exports.timeoutPromise = timeoutPromise;