summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/number_format.js.map
blob: e220ea8917f9627e499eb2cb7954a79938b32097 (plain) (blame)
1
{"version":3,"sources":["../../../src/php/strings/number_format.js"],"names":["module","exports","number_format","number","decimals","decPoint","thousandsSep","replace","n","isFinite","prec","Math","abs","sep","dec","s","toFixedFix","k","pow","round","toFixed","split","length","Array","join"],"mappings":";;AAAAA,OAAOC,OAAP,GAAiB,SAASC,aAAT,CAAwBC,MAAxB,EAAgCC,QAAhC,EAA0CC,QAA1C,EAAoDC,YAApD,EAAkE;AAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAH,WAAS,CAACA,SAAS,EAAV,EAAcI,OAAd,CAAsB,eAAtB,EAAuC,EAAvC,CAAT;AACA,MAAIC,IAAI,CAACC,SAAS,CAACN,MAAV,CAAD,GAAqB,CAArB,GAAyB,CAACA,MAAlC;AACA,MAAIO,OAAO,CAACD,SAAS,CAACL,QAAV,CAAD,GAAuB,CAAvB,GAA2BO,KAAKC,GAAL,CAASR,QAAT,CAAtC;AACA,MAAIS,MAAO,OAAOP,YAAP,KAAwB,WAAzB,GAAwC,GAAxC,GAA8CA,YAAxD;AACA,MAAIQ,MAAO,OAAOT,QAAP,KAAoB,WAArB,GAAoC,GAApC,GAA0CA,QAApD;AACA,MAAIU,IAAI,EAAR;;AAEA,MAAIC,aAAa,SAAbA,UAAa,CAAUR,CAAV,EAAaE,IAAb,EAAmB;AAClC,QAAIO,IAAIN,KAAKO,GAAL,CAAS,EAAT,EAAaR,IAAb,CAAR;AACA,WAAO,KAAK,CAACC,KAAKQ,KAAL,CAAWX,IAAIS,CAAf,IAAoBA,CAArB,EACTG,OADS,CACDV,IADC,CAAZ;AAED,GAJD;;AAMA;AACAK,MAAI,CAACL,OAAOM,WAAWR,CAAX,EAAcE,IAAd,CAAP,GAA6B,KAAKC,KAAKQ,KAAL,CAAWX,CAAX,CAAnC,EAAkDa,KAAlD,CAAwD,GAAxD,CAAJ;AACA,MAAIN,EAAE,CAAF,EAAKO,MAAL,GAAc,CAAlB,EAAqB;AACnBP,MAAE,CAAF,IAAOA,EAAE,CAAF,EAAKR,OAAL,CAAa,yBAAb,EAAwCM,GAAxC,CAAP;AACD;AACD,MAAI,CAACE,EAAE,CAAF,KAAQ,EAAT,EAAaO,MAAb,GAAsBZ,IAA1B,EAAgC;AAC9BK,MAAE,CAAF,IAAOA,EAAE,CAAF,KAAQ,EAAf;AACAA,MAAE,CAAF,KAAQ,IAAIQ,KAAJ,CAAUb,OAAOK,EAAE,CAAF,EAAKO,MAAZ,GAAqB,CAA/B,EAAkCE,IAAlC,CAAuC,GAAvC,CAAR;AACD;;AAED,SAAOT,EAAES,IAAF,CAAOV,GAAP,CAAP;AACD,CA3ED","file":"number_format.js","sourcesContent":["module.exports = function number_format (number, decimals, decPoint, thousandsSep) { // eslint-disable-line camelcase\n  //  discuss at: http://locutus.io/php/number_format/\n  // original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // improved by: davook\n  // improved by: Brett Zamir (http://brett-zamir.me)\n  // improved by: Brett Zamir (http://brett-zamir.me)\n  // improved by: Theriault (https://github.com/Theriault)\n  // improved by: Kevin van Zonneveld (http://kvz.io)\n  // bugfixed by: Michael White (http://getsprink.com)\n  // bugfixed by: Benjamin Lupton\n  // bugfixed by: Allan Jensen (http://www.winternet.no)\n  // bugfixed by: Howard Yeend\n  // bugfixed by: Diogo Resende\n  // bugfixed by: Rival\n  // bugfixed by: Brett Zamir (http://brett-zamir.me)\n  //  revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)\n  //  revised by: Luke Smith (http://lucassmith.name)\n  //    input by: Kheang Hok Chin (http://www.distantia.ca/)\n  //    input by: Jay Klehr\n  //    input by: Amir Habibi (http://www.residence-mixte.com/)\n  //    input by: Amirouche\n  //   example 1: number_format(1234.56)\n  //   returns 1: '1,235'\n  //   example 2: number_format(1234.56, 2, ',', ' ')\n  //   returns 2: '1 234,56'\n  //   example 3: number_format(1234.5678, 2, '.', '')\n  //   returns 3: '1234.57'\n  //   example 4: number_format(67, 2, ',', '.')\n  //   returns 4: '67,00'\n  //   example 5: number_format(1000)\n  //   returns 5: '1,000'\n  //   example 6: number_format(67.311, 2)\n  //   returns 6: '67.31'\n  //   example 7: number_format(1000.55, 1)\n  //   returns 7: '1,000.6'\n  //   example 8: number_format(67000, 5, ',', '.')\n  //   returns 8: '67.000,00000'\n  //   example 9: number_format(0.9, 0)\n  //   returns 9: '1'\n  //  example 10: number_format('1.20', 2)\n  //  returns 10: '1.20'\n  //  example 11: number_format('1.20', 4)\n  //  returns 11: '1.2000'\n  //  example 12: number_format('1.2000', 3)\n  //  returns 12: '1.200'\n  //  example 13: number_format('1 000,50', 2, '.', ' ')\n  //  returns 13: '100 050.00'\n  //  example 14: number_format(1e-8, 8, '.', '')\n  //  returns 14: '0.00000001'\n\n  number = (number + '').replace(/[^0-9+\\-Ee.]/g, '')\n  var n = !isFinite(+number) ? 0 : +number\n  var prec = !isFinite(+decimals) ? 0 : Math.abs(decimals)\n  var sep = (typeof thousandsSep === 'undefined') ? ',' : thousandsSep\n  var dec = (typeof decPoint === 'undefined') ? '.' : decPoint\n  var s = ''\n\n  var toFixedFix = function (n, prec) {\n    var k = Math.pow(10, prec)\n    return '' + (Math.round(n * k) / k)\n      .toFixed(prec)\n  }\n\n  // @todo: for IE parseFloat(0.55).toFixed(0) = 0;\n  s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')\n  if (s[0].length > 3) {\n    s[0] = s[0].replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, sep)\n  }\n  if ((s[1] || '').length < prec) {\n    s[1] = s[1] || ''\n    s[1] += new Array(prec - s[1].length + 1).join('0')\n  }\n\n  return s.join(dec)\n}\n"]}