{"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","ret","replace","isNumeric","parseFloat","NaN","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":"CACWA,IACPA,EAAEC,uBAAyB,SAAUC,GACjC,OAAqB,KAAA,IAAVA,IAGPC,EAAMD,EAAME,QAAQ,IAAK,GAAG,EACzBJ,EAAEK,UAAUF,CAAG,GAAIG,WAAWH,CAAG,EAAII,GAChD,EACAP,EAAEQ,qBAAuB,SAAUN,GAC/B,OAAqB,KAAA,IAAVA,IAGPC,EAAMD,EAAME,QAAQ,IAAK,GAAG,EACzBJ,EAAEK,UAAUF,CAAG,GAAIM,SAASN,CAAG,EAAII,GAC9C,CACH,GAAEG,MAAM,GAGEV,IACPA,EAAEW,cAAgB,SAAUC,EAAQC,GAChCD,EAASZ,EAAEc,QAAQF,CAAM,EAAIA,EAAS,CAACA,GAEnCG,EAAkBf,EAAEgB,IAAIJ,EACxB,SAAUK,GACN,MAAuB,UAAnB,OAAO,EACAA,EAAMb,QAAQ,IAAK,GAAG,EAEtBa,CAEf,CAAC,EAEDC,EAAS,CAAEN,OAAQO,KAAKC,UAAUL,CAAe,CAAE,EAKvD,OAJIF,IACAK,EAAOG,SAAWR,GAGfb,EAAEsB,IAAIC,OAAOC,EAAI,yCAA0CN,CAAM,CAC5E,CACH,GAAER,MAAM,GAGEV,IACPA,EAAEyB,mBAAqB,SAAUC,GAC7B,MAAO,CAACA,GAAO,QAAQC,KAAKD,CAAG,CACnC,EAEA1B,EAAE4B,cAAgB,SAAUF,GACxB,MAAQ,CAACA,GAAO,IAAMA,EAAIG,MAC9B,CACH,GAAEnB,MAAM,EAyBNA,OArBGoB,aAAe,SAAsBC,EAAQC,GAC3CA,EAAOA,GAAQ,GAKf,IAJA,IACIC,EAAYV,OAAOW,KAAKH,CAAM,EAC9BI,EAAa,GAERC,EAAS,EAAGC,EAAMJ,EAAUJ,OAAQO,EAASC,EAAKD,GAJ3C,KAIgE,CAI5E,IAHA,IAAIE,EAAQL,EAAUK,MAAMF,EAAQA,EALxB,IAK0C,EAElDG,EAAc,IAAIC,MAAMF,EAAMT,MAAM,EAC/BY,EAAI,EAAGA,EAAIH,EAAMT,OAAQY,CAAC,GAC/BF,EAAYE,GAAKH,EAAMI,WAAWD,CAAC,EAGvC,IAAIE,EAAY,IAAIC,WAAWL,CAAW,EAE1CJ,EAAWU,KAAKF,CAAS,CAC7B,CAEA,OAAO,IAAIG,KAAKX,EAAY,CAAEY,KAAMf,CAAK,CAAC,CAC9C"}