summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/convert_uuencode.js.map
blob: 298fb92f2c3e9849a01f66eba4adaa4c8da07f4a (plain) (blame)
1
{"version":3,"sources":["../../../src/php/strings/convert_uuencode.js"],"names":["module","exports","convert_uuencode","str","isScalar","require","chr","c","String","fromCharCode","u","i","a","encoded","tmp1","tmp2","bytes","chunk","substr","split","charCodeAt","length","toString","parseInt"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,gBAAT,CAA2BC,GAA3B,EAAgC;AAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAIC,WAAWC,QAAQ,kBAAR,CAAf;;AAEA,MAAIC,MAAM,SAANA,GAAM,CAAUC,CAAV,EAAa;AACrB,WAAOC,OAAOC,YAAP,CAAoBF,CAApB,CAAP;AACD,GAFD;;AAIA,MAAI,CAACJ,GAAD,IAAQA,QAAQ,EAApB,EAAwB;AACtB,WAAOG,IAAI,CAAJ,CAAP;AACD,GAFD,MAEO,IAAI,CAACF,SAASD,GAAT,CAAL,EAAoB;AACzB,WAAO,KAAP;AACD;;AAED,MAAII,IAAI,CAAR;AACA,MAAIG,IAAI,CAAR;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,IAAI,CAAR;AACA,MAAIC,UAAU,EAAd;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,OAAO,EAAX;AACA,MAAIC,QAAQ,EAAZ;;AAEA;AACA,MAAIC,QAAQ,SAARA,KAAQ,GAAY;AACtBD,YAAQb,IAAIe,MAAJ,CAAWR,CAAX,EAAc,EAAd,EAAkBS,KAAlB,CAAwB,EAAxB,CAAR;AACA,SAAKR,CAAL,IAAUK,KAAV,EAAiB;AACfA,YAAML,CAAN,IAAWK,MAAML,CAAN,EAASS,UAAT,CAAoB,CAApB,CAAX;AACD;AACD,WAAOJ,MAAMK,MAAN,IAAgB,CAAvB;AACD,GAND;;AAQA,SAAO,CAACd,IAAIU,OAAL,MAAkB,CAAzB,EAA4B;AAC1BP,SAAK,EAAL;;AAEA;AACAG,eAAWP,IAAIC,IAAI,EAAR,CAAX;;AAEA;AACA,SAAKI,CAAL,IAAUK,KAAV,EAAiB;AACfF,aAAOE,MAAML,CAAN,EAASW,QAAT,CAAkB,CAAlB,CAAP;AACA,aAAOR,KAAKO,MAAL,GAAc,CAArB,EAAwB;AACtBP,eAAO,MAAMA,IAAb;AACD;AACDC,cAAQD,IAAR;AACD;;AAED,WAAOC,KAAKM,MAAL,GAAc,CAArB,EAAwB;AACtBN,aAAOA,OAAO,GAAd;AACD;;AAED,SAAKJ,IAAI,CAAT,EAAYA,KAAMI,KAAKM,MAAL,GAAc,CAAf,GAAoB,CAArC,EAAwCV,GAAxC,EAA6C;AAC3CG,aAAOC,KAAKG,MAAL,CAAYN,CAAZ,EAAe,CAAf,CAAP;AACA,UAAIE,SAAS,QAAb,EAAuB;AACrBD,mBAAWP,IAAI,EAAJ,CAAX;AACD,OAFD,MAEO;AACLO,mBAAWP,IAAIiB,SAAST,IAAT,EAAe,CAAf,IAAoB,EAAxB,CAAX;AACD;AACDF,WAAK,CAAL;AACD;AACDA,QAAI,CAAJ;AACAG,WAAO,EAAP;AACAF,eAAW,IAAX;AACD;;AAED;AACAA,aAAWP,IAAI,EAAJ,IAAU,IAArB;;AAEA,SAAOO,OAAP;AACD,CA5ED","file":"convert_uuencode.js","sourcesContent":["module.exports = function convert_uuencode (str) { // eslint-disable-line camelcase\n  //       discuss at: http://locutus.io/php/convert_uuencode/\n  //      original by: Ole Vrijenhoek\n  //      bugfixed by: Kevin van Zonneveld (http://kvz.io)\n  //      bugfixed by: Brett Zamir (http://brett-zamir.me)\n  // reimplemented by: Ole Vrijenhoek\n  //        example 1: convert_uuencode(\"test\\ntext text\\r\\n\")\n  //        returns 1: \"0=&5S=`IT97AT('1E>'0-\\\"@\\n`\\n\"\n\n  var isScalar = require('../var/is_scalar')\n\n  var chr = function (c) {\n    return String.fromCharCode(c)\n  }\n\n  if (!str || str === '') {\n    return chr(0)\n  } else if (!isScalar(str)) {\n    return false\n  }\n\n  var c = 0\n  var u = 0\n  var i = 0\n  var a = 0\n  var encoded = ''\n  var tmp1 = ''\n  var tmp2 = ''\n  var bytes = {}\n\n  // divide string into chunks of 45 characters\n  var chunk = function () {\n    bytes = str.substr(u, 45).split('')\n    for (i in bytes) {\n      bytes[i] = bytes[i].charCodeAt(0)\n    }\n    return bytes.length || 0\n  }\n\n  while ((c = chunk()) !== 0) {\n    u += 45\n\n    // New line encoded data starts with number of bytes encoded.\n    encoded += chr(c + 32)\n\n    // Convert each char in bytes[] to a byte\n    for (i in bytes) {\n      tmp1 = bytes[i].toString(2)\n      while (tmp1.length < 8) {\n        tmp1 = '0' + tmp1\n      }\n      tmp2 += tmp1\n    }\n\n    while (tmp2.length % 6) {\n      tmp2 = tmp2 + '0'\n    }\n\n    for (i = 0; i <= (tmp2.length / 6) - 1; i++) {\n      tmp1 = tmp2.substr(a, 6)\n      if (tmp1 === '000000') {\n        encoded += chr(96)\n      } else {\n        encoded += chr(parseInt(tmp1, 2) + 32)\n      }\n      a += 6\n    }\n    a = 0\n    tmp2 = ''\n    encoded += '\\n'\n  }\n\n  // Add termination characters\n  encoded += chr(96) + '\\n'\n\n  return encoded\n}\n"]}