1async function loadSupportedCurrencies(displayFlag){ 2 let fiatCurrencies = []; 3 let cryptoCurrencies = []; 4 let metalCurrencies = []; 5 let depreciatedCurrencies = []; 6 let getObjFromSession = JSON.parse(sessionStorage.getItem("currenciesObject")); 7 if (getObjFromSession !== null) { 8 if (displayFlag) { 9 await displayCurrenciesOnTable("fiat_currency_table",getObjFromSession.fiatCurrencies); 10 await displayCurrenciesOnTable("crypto_currency_table",getObjFromSession.cryptoCurrencies); 11 await displayCurrenciesOnTable("metal_currency_table", getObjFromSession.metalCurrencies); 12 await displayCurrenciesOnTable("depreciated_currency_table",getObjFromSession.depreciatedCurrencies); 13 } else { 14 await displayCount(getObjFromSession.fiatCurrencies.length ,getObjFromSession.metalCurrencies.length,getObjFromSession.cryptoCurrencies.length ); 15 } 16 }else { 17 var xmlhttp = new XMLHttpRequest; 18 xmlhttp.onreadystatechange = function () { 19 if (4 === this.readyState && 200 === this.status) { 20 let response = JSON.parse(this.responseText); 21 let currencyObj = response.map((currency) => { 22 if ((currency.countryCode === "Crypto" && currency.status === "Available") || (currency.countryCode == null && currency.status === "Available")) { 23 cryptoCurrencies.push(currency); 24 } else if (currency.countryCode === "Metal" && currency.status === "Available") { 25 metalCurrencies.push(currency); 26 }else if(currency.status === "Depreciated"){ 27 depreciatedCurrencies.push(currency) 28 }else { 29 fiatCurrencies.push(currency); 30 } 31 32 var currenciesObject = {fiatCurrencies:fiatCurrencies,cryptoCurrencies:cryptoCurrencies,metalCurrencies:metalCurrencies,depreciatedCurrencies:depreciatedCurrencies}; 33 34 sessionStorage.setItem("currenciesObject", JSON.stringify(currenciesObject)); 35 } 36 ); 37 if (displayFlag) { 38 displayCurrenciesOnTable("fiat_currency_table",fiatCurrencies); 39 displayCurrenciesOnTable("crypto_currency_table",cryptoCurrencies); 40 displayCurrenciesOnTable("metal_currency_table",metalCurrencies); 41 displayCurrenciesOnTable("depreciated_currency_table",depreciatedCurrencies); 42 } else { 43 displayCount(fiatCurrencies.length ,metalCurrencies.length,cryptoCurrencies.length ) 44 } 45 } 46 }; 47 xmlhttp.open("GET", "https://billing.currencyfreaks.com/currency-details", !1); 48 xmlhttp.send(); 49 } 50} 51 52async function displayCurrenciesOnTable(tableId,currencies) { 53 let i; 54 let x = document.getElementsByClassName("loadingRow"); 55 for (i = 0; i < x.length; i++) { 56 x[i].style.display = "none"; 57 } 58 let table = document.getElementById(tableId); 59 let row; 60 for (i = currencies.length-1; i>=0; i--) { 61 row = table.insertRow(1); 62 let icon = row.insertCell(0); 63 let code = row.insertCell(1); 64 let name = row.insertCell(2); 65 let availableFrom = row.insertCell(3); 66 let availableTill = row.insertCell(4); 67 68 code.innerHTML = currencies[i].currencyCode; 69 if (tableId === "depreciated_currency_table") { 70 name.innerHTML = currencies[i].currencyName; 71 } else { 72 name.innerHTML = "<a href='/available-rates/" + currencies[i].currencyCode + "'>" + currencies[i].currencyName + "</a>"; 73 } 74 availableFrom.innerHTML = currencies[i].availableFrom; 75 if (currencies[i].availableUntil) { 76 availableTill.innerHTML = currencies[i].availableUntil; 77 } else { 78 availableTill.innerHTML = new Date().toLocaleDateString("en-CA",{timeZone:"UTC"}); 79 } 80 81 var iconImg = document.createElement("img"); 82 iconImg.src = currencies[i].icon; 83 iconImg.alt = "flag"; 84 iconImg.height = "50"; 85 iconImg.width = "50"; 86 icon.appendChild(iconImg); 87 } 88} 89 90async function displayCount(fiatCount, metalCount, cryptoCount) { 91 let totalCount = fiatCount + metalCount + cryptoCount; 92 93 document.querySelectorAll(".total-count").forEach(element => { 94 element.innerHTML = totalCount; 95 }); 96 if (document.querySelector(".fiat-count")!= null) { 97 document.querySelector(".fiat-count").innerHTML = fiatCount; 98 document.querySelector(".metals-count").innerHTML = metalCount; 99 document.querySelector(".crypto-count").innerHTML = cryptoCount; 100 } 101}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.