turbocommons-ts
Version:
General purpose library that implements frequently used and generic software development tasks
1 lines • 1.95 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.ConversionUtils=void 0;var StringUtils_1=require("./StringUtils"),ConversionUtils=function(){function r(){}return r.stringToBase64=function(r){if(null===r||void 0===r)return"";if(!StringUtils_1.StringUtils.isString(r))throw new Error("ConversionUtils.stringToBase64: value is not a string");var t,n,i,o,e,a,s,C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h="";r=function(r){var t="";r=r.replace(/\r\n/g,"\n");for(var n=0;n<r.length;n++){var i=r.charCodeAt(n);i<128?t+=String.fromCharCode(i):i>127&&i<2048?(t+=String.fromCharCode(i>>6|192),t+=String.fromCharCode(63&i|128)):(t+=String.fromCharCode(i>>12|224),t+=String.fromCharCode(i>>6&63|128),t+=String.fromCharCode(63&i|128))}return t}(r);for(var f=0;f<r.length;)o=(t=r.charCodeAt(f++))>>2,e=(3&t)<<4|(n=r.charCodeAt(f++))>>4,a=(15&n)<<2|(i=r.charCodeAt(f++))>>6,s=63&i,isNaN(n)?a=s=64:isNaN(i)&&(s=64),h=h+C.charAt(o)+C.charAt(e)+C.charAt(a)+C.charAt(s);return h},r.base64ToString=function(r){if(null===r||void 0===r)return"";if(!StringUtils_1.StringUtils.isString(r))throw new Error("ConversionUtils.stringToBase64: value is not a string");var t,n,i,o,e,a,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",C="",h=0;for(r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");h<r.length;)t=s.indexOf(r.charAt(h++))<<2|(o=s.indexOf(r.charAt(h++)))>>4,n=(15&o)<<4|(e=s.indexOf(r.charAt(h++)))>>2,i=(3&e)<<6|(a=s.indexOf(r.charAt(h++))),C+=String.fromCharCode(t),64!=e&&(C+=String.fromCharCode(n)),64!=a&&(C+=String.fromCharCode(i));return function(r){for(var t="",n=0,i=0,o=0;n<r.length;)if((i=r.charCodeAt(n))<128)t+=String.fromCharCode(i),n++;else if(i>191&&i<224)o=r.charCodeAt(n+1),t+=String.fromCharCode((31&i)<<6|63&o),n+=2;else{o=r.charCodeAt(n+1);var e=r.charCodeAt(n+2);t+=String.fromCharCode((15&i)<<12|(63&o)<<6|63&e),n+=3}return t}(C)},r}();exports.ConversionUtils=ConversionUtils;