utils.js (1713B)
1 const utils = { 2 parseQuery: queryString => { 3 if (queryString.indexOf("?") === -1) return {}; 4 queryString = queryString.split("?")[1]; 5 const query = {}; 6 for (let part of queryString.split("&")) { 7 const keyValue = part.split("="); 8 query[keyValue[0]] = keyValue[1] ? keyValue[1] : null; 9 } 10 return query; 11 }, 12 percent: (count, total) => { 13 const percent = Math.floor((count / total) * 10000) / 100; 14 if (!percent) { 15 return 0; 16 } 17 return percent; 18 }, 19 saveBlobAsFile: (blob, filename) => { 20 const url = URL.createObjectURL(blob); 21 const a = document.createElement("a"); 22 a.style.display = "none"; 23 document.body.appendChild(a); 24 a.href = url; 25 a.download = filename; 26 a.click(); 27 document.body.removeChild(a); 28 }, 29 millisToTimeString(totalMilliseconds) { 30 let milliseconds = (totalMilliseconds % 1000) + ""; 31 milliseconds = milliseconds.padStart(3, "0"); 32 let seconds = (Math.floor(totalMilliseconds / 1000) % 60) + ""; 33 seconds = seconds.padStart(2, "0"); 34 let minutes = (Math.floor(totalMilliseconds / 60000) % 60) + ""; 35 minutes = minutes.padStart(2, "0"); 36 let hours = Math.floor(totalMilliseconds / 3600000) + ""; 37 hours = hours.padStart(2, "0"); 38 return `${hours}:${minutes}:${seconds}`; 39 }, 40 getBrowserIcon(browser) { 41 switch (browser.toLowerCase()) { 42 case "firefox": 43 return "fab fa-firefox"; 44 case "edge": 45 return "fab fa-edge"; 46 case "chrome": 47 case "chromium": 48 return "fab fa-chrome"; 49 case "safari": 50 case "webkit": 51 return "fab fa-safari"; 52 } 53 }, 54 copyObject(object) { 55 return JSON.parse(JSON.stringify(object)); 56 } 57 };