{"version":3,"file":"jquery.value_converters.min.js","sources":["jquery.value_converters.js"],"sourcesContent":["/* Safely parsing of numbers */\r\n(function ($) {\r\n $.mw_tryParseFloatStrict = function (value) {\r\n if (typeof value === 'undefined') {\r\n return NaN;\r\n }\r\n var ret = value.replace(',', '.');\r\n return $.isNumeric(ret) ? parseFloat(ret) : NaN;\r\n };\r\n $.mw_tryParseIntStrict = function (value) {\r\n if (typeof value === 'undefined') {\r\n return NaN;\r\n }\r\n var ret = value.replace(',', '.');\r\n return $.isNumeric(ret) ? parseInt(ret) : NaN;\r\n };\r\n})(jQuery);\r\n\r\n/* To currency formatter */\r\n(function ($) {\r\n $.mw_toCurrency = function (prices, currencyCode) {\r\n prices = $.isArray(prices) ? prices : [prices];\r\n // If prices are passed as strings, ensure the decimal separator will be '.' and not ','\r\n var processedPrices = $.map(prices,\r\n function (price) {\r\n if (typeof (price) === 'string') {\r\n return price.replace(',', '.');\r\n } else {\r\n return price;\r\n }\r\n });\r\n\r\n var params = { prices: JSON.stringify(processedPrices) };\r\n if (currencyCode) {\r\n params.currency = currencyCode;\r\n }\r\n\r\n return $.get(window.R + 'handlers/public/currencyformatter.ashx', params);\r\n };\r\n})(jQuery);\r\n\r\n/* String helpers */\r\n(function ($) {\r\n $.isNullOrWhiteSpace = function (str) {\r\n return !str || /^\\s*$/.test(str);\r\n };\r\n\r\n $.isNullOrEmpty = function (str) {\r\n return (!str || 0 === str.length);\r\n };\r\n})(jQuery);\r\n\r\n/* Convertors */\r\n(function ($) {\r\n $.base64ToBlob = function base64ToBlob(base64, mime) {\r\n mime = mime || '';\r\n var sliceSize = 1024;\r\n var byteChars = window.atob(base64);\r\n var byteArrays = [];\r\n\r\n for (var offset = 0, len = byteChars.length; offset < len; offset += sliceSize) {\r\n var slice = byteChars.slice(offset, offset + sliceSize);\r\n\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n var byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n return new Blob(byteArrays, { type: mime });\r\n }\r\n})(jQuery);"],"names":["$","mw_tryParseFloatStrict","value","NaN","ret","replace","isNumeric","parseFloat","mw_tryParseIntStrict","parseInt","jQuery","mw_toCurrency","prices","currencyCode","isArray","processedPrices","map","price","params","JSON","stringify","currency","get","window","R","isNullOrWhiteSpace","str","test","isNullOrEmpty","length","base64ToBlob","base64","mime","byteChars","atob","byteArrays","offset","len","slice","byteNumbers","Array","i","charCodeAt","byteArray","Uint8Array","push","Blob","type"],"mappings":"CACA,SAAWA,GACPA,EAAEC,uBAAyB,SAAUC,GACjC,QAAqB,IAAVA,EACP,OAAOC,IAEPC,EAAMF,EAAMG,QAAQ,IAAK,KAC7B,OAAOL,EAAEM,UAAUF,GAAOG,WAAWH,GAAOD,KAEhDH,EAAEQ,qBAAuB,SAAUN,GAC/B,QAAqB,IAAVA,EACP,OAAOC,IAEPC,EAAMF,EAAMG,QAAQ,IAAK,KAC7B,OAAOL,EAAEM,UAAUF,GAAOK,SAASL,GAAOD,KAblD,CAeGO,QAGH,SAAWV,GACPA,EAAEW,cAAgB,SAAUC,EAAQC,GAChCD,EAASZ,EAAEc,QAAQF,GAAUA,EAAS,CAACA,GAEnCG,EAAkBf,EAAEgB,IAAIJ,EACxB,SAAUK,GACN,MAAuB,iBAAZ,EACAA,EAAMZ,QAAQ,IAAK,KAEnBY,IAIfC,EAAS,CAAEN,OAAQO,KAAKC,UAAUL,IAKtC,OAJIF,IACAK,EAAOG,SAAWR,GAGfb,EAAEsB,IAAIC,OAAOC,EAAI,yCAA0CN,IAlB1E,CAoBGR,QAGH,SAAWV,GACPA,EAAEyB,mBAAqB,SAAUC,GAC7B,OAAQA,GAAO,QAAQC,KAAKD,IAGhC1B,EAAE4B,cAAgB,SAAUF,GACxB,OAASA,GAAO,IAAMA,EAAIG,QANlC,CAQGnB,QAyBAA,OArBGoB,aAAe,SAAsBC,EAAQC,GAC3CA,EAAOA,GAAQ,GAKf,IAJA,IACIC,EAAYV,OAAOW,KAAKH,GACxBI,EAAa,GAERC,EAAS,EAAGC,EAAMJ,EAAUJ,OAAQO,EAASC,EAAKD,GAJ3C,KAIgE,CAI5E,IAHA,IAAIE,EAAQL,EAAUK,MAAMF,EAAQA,EALxB,MAORG,EAAc,IAAIC,MAAMF,EAAMT,QACzBY,EAAI,EAAGA,EAAIH,EAAMT,OAAQY,IAC9BF,EAAYE,GAAKH,EAAMI,WAAWD,GAGtC,IAAIE,EAAY,IAAIC,WAAWL,GAE/BJ,EAAWU,KAAKF,GAGpB,OAAO,IAAIG,KAAKX,EAAY,CAAEY,KAAMf"}