File: /var/www/tana/frontend/node_modules/locutus/php/strings/sprintf.js.map
{"version":3,"sources":["../../../src/php/strings/sprintf.js"],"names":["module","exports","sprintf","regex","a","arguments","i","format","_pad","str","len","chr","leftJustify","padding","length","Array","join","justify","value","prefix","minWidth","zeroPad","customPadChar","diff","slice","_formatBaseX","base","precision","number","toString","_formatString","undefined","doFormat","substring","valueIndex","flags","type","method","textTransform","positivePrefix","prefixBaseX","flagsl","j","charAt","isFinite","Error","indexOf","String","fromCharCode","toUpperCase","Math","round","abs","toLowerCase","replace"],"mappings":"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","file":"sprintf.js","sourcesContent":["module.exports = function sprintf () {\n  //  discuss at: http://locutus.io/php/sprintf/\n  // original by: Ash Searle (http://hexmen.com/blog/)\n  // improved by: Michael White (http://getsprink.com)\n  // improved by: Jack\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: Dj\n  // improved by: Allidylls\n  //    input by: Paulo Freitas\n  //    input by: Brett Zamir (http://brett-zamir.me)\n  //   example 1: sprintf(\"%01.2f\", 123.1)\n  //   returns 1: '123.10'\n  //   example 2: sprintf(\"[%10s]\", 'monkey')\n  //   returns 2: '[    monkey]'\n  //   example 3: sprintf(\"[%'#10s]\", 'monkey')\n  //   returns 3: '[####monkey]'\n  //   example 4: sprintf(\"%d\", 123456789012345)\n  //   returns 4: '123456789012345'\n  //   example 5: sprintf('%-03s', 'E')\n  //   returns 5: 'E00'\n\n  var regex = /%%|%(\\d+\\$)?([-+'#0 ]*)(\\*\\d+\\$|\\*|\\d+)?(?:\\.(\\*\\d+\\$|\\*|\\d+))?([scboxXuideEfFgG])/g\n  var a = arguments\n  var i = 0\n  var format = a[i++]\n\n  var _pad = function (str, len, chr, leftJustify) {\n    if (!chr) {\n      chr = ' '\n    }\n    var padding = (str.length >= len) ? '' : new Array(1 + len - str.length >>> 0).join(chr)\n    return leftJustify ? str + padding : padding + str\n  }\n\n  var justify = function (value, prefix, leftJustify, minWidth, zeroPad, customPadChar) {\n    var diff = minWidth - value.length\n    if (diff > 0) {\n      if (leftJustify || !zeroPad) {\n        value = _pad(value, minWidth, customPadChar, leftJustify)\n      } else {\n        value = [\n          value.slice(0, prefix.length),\n          _pad('', diff, '0', true),\n          value.slice(prefix.length)\n        ].join('')\n      }\n    }\n    return value\n  }\n\n  var _formatBaseX = function (value, base, prefix, leftJustify, minWidth, precision, zeroPad) {\n    // Note: casts negative numbers to positive ones\n    var number = value >>> 0\n    prefix = (prefix && number && {\n      '2': '0b',\n      '8': '0',\n      '16': '0x'\n    }[base]) || ''\n    value = prefix + _pad(number.toString(base), precision || 0, '0', false)\n    return justify(value, prefix, leftJustify, minWidth, zeroPad)\n  }\n\n  // _formatString()\n  var _formatString = function (value, leftJustify, minWidth, precision, zeroPad, customPadChar) {\n    if (precision !== null && precision !== undefined) {\n      value = value.slice(0, precision)\n    }\n    return justify(value, '', leftJustify, minWidth, zeroPad, customPadChar)\n  }\n\n  // doFormat()\n  var doFormat = function (substring, valueIndex, flags, minWidth, precision, type) {\n    var number, prefix, method, textTransform, value\n\n    if (substring === '%%') {\n      return '%'\n    }\n\n    // parse flags\n    var leftJustify = false\n    var positivePrefix = ''\n    var zeroPad = false\n    var prefixBaseX = false\n    var customPadChar = ' '\n    var flagsl = flags.length\n    var j\n    for (j = 0; j < flagsl; j++) {\n      switch (flags.charAt(j)) {\n        case ' ':\n          positivePrefix = ' '\n          break\n        case '+':\n          positivePrefix = '+'\n          break\n        case '-':\n          leftJustify = true\n          break\n        case \"'\":\n          customPadChar = flags.charAt(j + 1)\n          break\n        case '0':\n          zeroPad = true\n          customPadChar = '0'\n          break\n        case '#':\n          prefixBaseX = true\n          break\n      }\n    }\n\n    // parameters may be null, undefined, empty-string or real valued\n    // we want to ignore null, undefined and empty-string values\n    if (!minWidth) {\n      minWidth = 0\n    } else if (minWidth === '*') {\n      minWidth = +a[i++]\n    } else if (minWidth.charAt(0) === '*') {\n      minWidth = +a[minWidth.slice(1, -1)]\n    } else {\n      minWidth = +minWidth\n    }\n\n    // Note: undocumented perl feature:\n    if (minWidth < 0) {\n      minWidth = -minWidth\n      leftJustify = true\n    }\n\n    if (!isFinite(minWidth)) {\n      throw new Error('sprintf: (minimum-)width must be finite')\n    }\n\n    if (!precision) {\n      precision = 'fFeE'.indexOf(type) > -1 ? 6 : (type === 'd') ? 0 : undefined\n    } else if (precision === '*') {\n      precision = +a[i++]\n    } else if (precision.charAt(0) === '*') {\n      precision = +a[precision.slice(1, -1)]\n    } else {\n      precision = +precision\n    }\n\n    // grab value using valueIndex if required?\n    value = valueIndex ? a[valueIndex.slice(0, -1)] : a[i++]\n\n    switch (type) {\n      case 's':\n        return _formatString(value + '', leftJustify, minWidth, precision, zeroPad, customPadChar)\n      case 'c':\n        return _formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, zeroPad)\n      case 'b':\n        return _formatBaseX(value, 2, prefixBaseX, leftJustify, minWidth, precision, zeroPad)\n      case 'o':\n        return _formatBaseX(value, 8, prefixBaseX, leftJustify, minWidth, precision, zeroPad)\n      case 'x':\n        return _formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad)\n      case 'X':\n        return _formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad)\n        .toUpperCase()\n      case 'u':\n        return _formatBaseX(value, 10, prefixBaseX, leftJustify, minWidth, precision, zeroPad)\n      case 'i':\n      case 'd':\n        number = +value || 0\n        // Plain Math.round doesn't just truncate\n        number = Math.round(number - number % 1)\n        prefix = number < 0 ? '-' : positivePrefix\n        value = prefix + _pad(String(Math.abs(number)), precision, '0', false)\n        return justify(value, prefix, leftJustify, minWidth, zeroPad)\n      case 'e':\n      case 'E':\n      case 'f': // @todo: Should handle locales (as per setlocale)\n      case 'F':\n      case 'g':\n      case 'G':\n        number = +value\n        prefix = number < 0 ? '-' : positivePrefix\n        method = ['toExponential', 'toFixed', 'toPrecision']['efg'.indexOf(type.toLowerCase())]\n        textTransform = ['toString', 'toUpperCase']['eEfFgG'.indexOf(type) % 2]\n        value = prefix + Math.abs(number)[method](precision)\n        return justify(value, prefix, leftJustify, minWidth, zeroPad)[textTransform]()\n      default:\n        return substring\n    }\n  }\n\n  return format.replace(regex, doFormat)\n}\n"]}