{"version":3,"sources":["../../js/vcw.js"],"names":["$","VCW","fx","logger","txt","console","error","rates","cryptocurrencies","RATES","Object","keys","forEach","code","rate","base","converter","convert","from","to","value","priceFormat","count","price","Number","isNaN","val_exp","toExponential","parts","split","exp","diff","toFixed","replace","sanitizeNumber","number","parseFloat","convertFormatted","n","sanitized","val","compile","vcwLink","vcwConverter","fn","extend","each","elem","url","data","target","click","window","open","currency_1","find","currency_2","value_1","value_2","on","v","jQuery","VirtualCoinWidgets"],"mappings":"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","file":"vcw.js","sourcesContent":["(($,VCW,fx) => {\n\n function logger(txt) {\n console.error('[VCW] '+txt)\n }\n\n /* Check Data */\n\n if(!VCW || !VCW.rates || !VCW.cryptocurrencies) {\n return logger('Global data is corrupted')\n }\n\n const RATES = {}\n\n Object.keys(VCW.rates).forEach((code) => {\n RATES[code] = VCW.rates[code].rate\n })\n\n\n /* MoneyJS Setup */\n\n fx.rates = RATES\n fx.base = 'BTC'\n\n\n const converter = {\n convert(from, to, value) {\n return fx(value).from(from).to(to)\n },\n\n priceFormat(value, count) {\n let price = null\n value = Number(value)\n\n if(!isNaN(value)){\n let val_exp = value.toExponential(count),\n parts = val_exp.split('e'),\n exp = Number(parts[1]),\n diff = count-exp-1\n\n if(diff <= 0){\n price = value.toFixed(0).replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n }\n else{\n price = value.toFixed(diff)\n }\n }\n\n return price\n },\n\n sanitizeNumber(number) {\n if(typeof number === 'number') {\n return number\n }\n else if(typeof number === 'string') {\n return this.sanitizeNumber(parseFloat(number.replace(/,/g,'')))\n }\n else return 0\n },\n\n convertFormatted(from, to, value, n) {\n const sanitized = this.sanitizeNumber(value)\n const val = this.convert(from, to, sanitized)\n\n return this.priceFormat(val, n || 5)\n }\n }\n\n VCW.compile = () => {\n $('.vcw-price-label, .vcw-change-label, .vcw-price-big-label, .vcw-change-big-label, .vcw-price-card, .vcw-change-card, .vcw-full-card').vcwLink();\n $('.vcw-converter').vcwConverter()\n }\n\n\n $.fn.extend({\n vcwLink() {\n this.each(function () {\n let elem = $(this),\n url = elem.data('url'),\n target = elem.data('target')\n\n elem.click(() => window.open(url, target))\n })\n },\n vcwConverter() {\n this.each(function () {\n let elem = $(this),\n currency_1 = elem.find('.vcw-currency-1'),\n currency_2 = elem.find('.vcw-currency-2'),\n value_1 = elem.find('.vcw-value-1'),\n value_2 = elem.find('.vcw-value-2')\n\n currency_1.on(\"change paste keyup\", function() {\n let v = converter.convertFormatted(currency_2.val(), currency_1.val(), value_2.val())\n value_1.val(v)\n })\n\n value_1.on(\"change paste keyup\", function() {\n let v = converter.convertFormatted(currency_1.val(), currency_2.val(), value_1.val())\n value_2.val(v)\n })\n\n currency_2.on(\"change paste keyup\", function() {\n let v = converter.convertFormatted(currency_1.val(), currency_2.val(), value_1.val())\n value_2.val(v)\n })\n\n value_2.on(\"change paste keyup\", function() {\n let v = converter.convertFormatted(currency_2.val(), currency_1.val(), value_2.val())\n value_1.val(v)\n })\n\n value_2.val(converter.convertFormatted(currency_1.val(), currency_2.val(), value_1.val()))\n })\n }\n })\n\n $(() => VCW.compile())\n\n\n})(jQuery,VirtualCoinWidgets,fx)"]}