summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/strings/money_format.js.map
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/strings/money_format.js.map')
-rw-r--r--node_modules/locutus/php/strings/money_format.js.map1
1 files changed, 0 insertions, 1 deletions
diff --git a/node_modules/locutus/php/strings/money_format.js.map b/node_modules/locutus/php/strings/money_format.js.map
deleted file mode 100644
index 0a99628..0000000
--- a/node_modules/locutus/php/strings/money_format.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["../../../src/php/strings/money_format.js"],"names":["module","exports","money_format","format","number","setlocale","require","regex","$global","window","global","$locutus","php","monetary","locales","localeCategories","LC_MONETARY","doReplace","n0","flags","n2","width","n4","left","n6","right","conversion","value","repl","fill","test","match","showCurrSymbol","indexOf","parseInt","neg","slice","decpos","integer","fraction","_strSplice","integerStr","idx","thouSep","integerArr","split","splice","join","intLen","length","filler","fillnum","Array","mon_thousands_sep","monGrouping","mon_grouping","i","decPt","mon_decimal_point","undefined","int_frac_digits","frac_digits","Math","round","parseFloat","substr","symbol","int_curr_symbol","currency_symbol","signPosn","n_sign_posn","p_sign_posn","sepBySpace","n_sep_by_space","p_sep_by_space","csPrecedes","n_cs_precedes","p_cs_precedes","posSign","positive_sign","negSign","negative_sign","sign","otherSign","signPadding","valueAndCS","padding","replace"],"mappings":"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","file":"money_format.js","sourcesContent":["module.exports = function money_format (format, number) { // eslint-disable-line camelcase\n // discuss at: http://locutus.io/php/money_format/\n // original by: Brett Zamir (http://brett-zamir.me)\n // input by: daniel airton wermann (http://wermann.com.br)\n // bugfixed by: Brett Zamir (http://brett-zamir.me)\n // note 1: This depends on setlocale having the appropriate\n // note 1: locale (these examples use 'en_US')\n // example 1: money_format('%i', 1234.56)\n // returns 1: ' USD 1,234.56'\n // example 2: money_format('%14#8.2n', 1234.5678)\n // returns 2: ' $ 1,234.57'\n // example 3: money_format('%14#8.2n', -1234.5678)\n // returns 3: '-$ 1,234.57'\n // example 4: money_format('%(14#8.2n', 1234.5678)\n // returns 4: ' $ 1,234.57 '\n // example 5: money_format('%(14#8.2n', -1234.5678)\n // returns 5: '($ 1,234.57)'\n // example 6: money_format('%=014#8.2n', 1234.5678)\n // returns 6: ' $000001,234.57'\n // example 7: money_format('%=014#8.2n', -1234.5678)\n // returns 7: '-$000001,234.57'\n // example 8: money_format('%=*14#8.2n', 1234.5678)\n // returns 8: ' $*****1,234.57'\n // example 9: money_format('%=*14#8.2n', -1234.5678)\n // returns 9: '-$*****1,234.57'\n // example 10: money_format('%=*^14#8.2n', 1234.5678)\n // returns 10: ' $****1234.57'\n // example 11: money_format('%=*^14#8.2n', -1234.5678)\n // returns 11: ' -$****1234.57'\n // example 12: money_format('%=*!14#8.2n', 1234.5678)\n // returns 12: ' *****1,234.57'\n // example 13: money_format('%=*!14#8.2n', -1234.5678)\n // returns 13: '-*****1,234.57'\n // example 14: money_format('%i', 3590)\n // returns 14: ' USD 3,590.00'\n\n var setlocale = require('../strings/setlocale')\n\n // Per PHP behavior, there seems to be no extra padding\n // for sign when there is a positive number, though my\n // understanding of the description is that there should be padding;\n // need to revisit examples\n\n // Helpful info at http://ftp.gnu.org/pub/pub/old-gnu/Manuals/glibc-2.2.3/html_chapter/libc_7.html\n // and http://publib.boulder.ibm.com/infocenter/zos/v1r10/index.jsp?topic=/com.ibm.zos.r10.bpxbd00/strfmp.htm\n\n if (typeof number !== 'number') {\n return null\n }\n // 1: flags, 3: width, 5: left, 7: right, 8: conversion\n var regex = /%((=.|[+^(!-])*?)(\\d*?)(#(\\d+))?(\\.(\\d+))?([in%])/g\n\n // Ensure the locale data we need is set up\n setlocale('LC_ALL', 0)\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n $locutus.php = $locutus.php || {}\n\n var monetary = $locutus.php.locales[$locutus.php.localeCategories.LC_MONETARY].LC_MONETARY\n\n var doReplace = function (n0, flags, n2, width, n4, left, n6, right, conversion) {\n var value = ''\n var repl = ''\n if (conversion === '%') {\n // Percent does not seem to be allowed with intervening content\n return '%'\n }\n var fill = flags && (/=./).test(flags) ? flags.match(/=(.)/)[1] : ' ' // flag: =f (numeric fill)\n // flag: ! (suppress currency symbol)\n var showCurrSymbol = !flags || flags.indexOf('!') === -1\n // field width: w (minimum field width)\n width = parseInt(width, 10) || 0\n\n var neg = number < 0\n // Convert to string\n number = number + ''\n // We don't want negative symbol represented here yet\n number = neg ? number.slice(1) : number\n\n var decpos = number.indexOf('.')\n // Get integer portion\n var integer = decpos !== -1 ? number.slice(0, decpos) : number\n // Get decimal portion\n var fraction = decpos !== -1 ? number.slice(decpos + 1) : ''\n\n var _strSplice = function (integerStr, idx, thouSep) {\n var integerArr = integerStr.split('')\n integerArr.splice(idx, 0, thouSep)\n return integerArr.join('')\n }\n\n var intLen = integer.length\n left = parseInt(left, 10)\n var filler = intLen < left\n if (filler) {\n var fillnum = left - intLen\n integer = new Array(fillnum + 1).join(fill) + integer\n }\n if (flags.indexOf('^') === -1) {\n // flag: ^ (disable grouping characters (of locale))\n // use grouping characters\n // ','\n var thouSep = monetary.mon_thousands_sep\n // [3] (every 3 digits in U.S.A. locale)\n var monGrouping = monetary.mon_grouping\n\n if (monGrouping[0] < integer.length) {\n for (var i = 0, idx = integer.length; i < monGrouping.length; i++) {\n // e.g., 3\n idx -= monGrouping[i]\n if (idx <= 0) {\n break\n }\n if (filler && idx < fillnum) {\n thouSep = fill\n }\n integer = _strSplice(integer, idx, thouSep)\n }\n }\n if (monGrouping[i - 1] > 0) {\n // Repeating last grouping (may only be one) until highest portion of integer reached\n while (idx > monGrouping[i - 1]) {\n idx -= monGrouping[i - 1]\n if (filler && idx < fillnum) {\n thouSep = fill\n }\n integer = _strSplice(integer, idx, thouSep)\n }\n }\n }\n\n // left, right\n if (right === '0') {\n // No decimal or fractional digits\n value = integer\n } else {\n // '.'\n var decPt = monetary.mon_decimal_point\n if (right === '' || right === undefined) {\n right = conversion === 'i' ? monetary.int_frac_digits : monetary.frac_digits\n }\n right = parseInt(right, 10)\n\n if (right === 0) {\n // Only remove fractional portion if explicitly set to zero digits\n fraction = ''\n decPt = ''\n } else if (right < fraction.length) {\n fraction = Math.round(parseFloat(\n fraction.slice(0, right) + '.' + fraction.substr(right, 1)\n ))\n if (right > fraction.length) {\n fraction = new Array(right - fraction.length + 1).join('0') + fraction // prepend with 0's\n }\n } else if (right > fraction.length) {\n fraction += new Array(right - fraction.length + 1).join('0') // pad with 0's\n }\n value = integer + decPt + fraction\n }\n\n var symbol = ''\n if (showCurrSymbol) {\n // 'i' vs. 'n' ('USD' vs. '$')\n symbol = conversion === 'i' ? monetary.int_curr_symbol : monetary.currency_symbol\n }\n var signPosn = neg ? monetary.n_sign_posn : monetary.p_sign_posn\n\n // 0: no space between curr. symbol and value\n // 1: space sep. them unless symb. and sign are adjacent then space sep. them from value\n // 2: space sep. sign and value unless symb. and sign are adjacent then space separates\n var sepBySpace = neg ? monetary.n_sep_by_space : monetary.p_sep_by_space\n\n // p_cs_precedes, n_cs_precedes\n // positive currency symbol follows value = 0; precedes value = 1\n var csPrecedes = neg ? monetary.n_cs_precedes : monetary.p_cs_precedes\n\n // Assemble symbol/value/sign and possible space as appropriate\n if (flags.indexOf('(') !== -1) {\n // flag: parenth. for negative\n // @todo: unclear on whether and how sepBySpace, signPosn, or csPrecedes have\n // an impact here (as they do below), but assuming for now behaves as signPosn 0 as\n // far as localized sepBySpace and signPosn behavior\n repl = (csPrecedes ? symbol + (sepBySpace === 1 ? ' ' : '') : '') + value + (!csPrecedes ? (\n sepBySpace === 1 ? ' ' : '') + symbol : '')\n if (neg) {\n repl = '(' + repl + ')'\n } else {\n repl = ' ' + repl + ' '\n }\n } else {\n // '+' is default\n // ''\n var posSign = monetary.positive_sign\n // '-'\n var negSign = monetary.negative_sign\n var sign = neg ? (negSign) : (posSign)\n var otherSign = neg ? (posSign) : (negSign)\n var signPadding = ''\n if (signPosn) {\n // has a sign\n signPadding = new Array(otherSign.length - sign.length + 1).join(' ')\n }\n\n var valueAndCS = ''\n switch (signPosn) {\n // 0: parentheses surround value and curr. symbol;\n // 1: sign precedes them;\n // 2: sign follows them;\n // 3: sign immed. precedes curr. symbol; (but may be space between)\n // 4: sign immed. succeeds curr. symbol; (but may be space between)\n case 0:\n valueAndCS = csPrecedes\n ? symbol + (sepBySpace === 1 ? ' ' : '') + value\n : value + (sepBySpace === 1 ? ' ' : '') + symbol\n repl = '(' + valueAndCS + ')'\n break\n case 1:\n valueAndCS = csPrecedes\n ? symbol + (sepBySpace === 1 ? ' ' : '') + value\n : value + (sepBySpace === 1 ? ' ' : '') + symbol\n repl = signPadding + sign + (sepBySpace === 2 ? ' ' : '') + valueAndCS\n break\n case 2:\n valueAndCS = csPrecedes\n ? symbol + (sepBySpace === 1 ? ' ' : '') + value\n : value + (sepBySpace === 1 ? ' ' : '') + symbol\n repl = valueAndCS + (sepBySpace === 2 ? ' ' : '') + sign + signPadding\n break\n case 3:\n repl = csPrecedes\n ? signPadding + sign + (sepBySpace === 2 ? ' ' : '') + symbol +\n (sepBySpace === 1 ? ' ' : '') + value\n : value + (sepBySpace === 1 ? ' ' : '') + sign + signPadding +\n (sepBySpace === 2 ? ' ' : '') + symbol\n break\n case 4:\n repl = csPrecedes\n ? symbol + (sepBySpace === 2 ? ' ' : '') + signPadding + sign +\n (sepBySpace === 1 ? ' ' : '') + value\n : value + (sepBySpace === 1 ? ' ' : '') + symbol +\n (sepBySpace === 2 ? ' ' : '') + sign + signPadding\n break\n }\n }\n\n var padding = width - repl.length\n if (padding > 0) {\n padding = new Array(padding + 1).join(' ')\n // @todo: How does p_sep_by_space affect the count if there is a space?\n // Included in count presumably?\n if (flags.indexOf('-') !== -1) {\n // left-justified (pad to right)\n repl += padding\n } else {\n // right-justified (pad to left)\n repl = padding + repl\n }\n }\n return repl\n }\n\n return format.replace(regex, doReplace)\n}\n"]} \ No newline at end of file