UNPKG

accounting-js

Version:

Number, money and currency formatting library.

2 lines 2.28 kB
"use strict";var f=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var N=(t,r)=>{for(var e in r)f(t,e,{get:r[e],enumerable:!0})},F=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of h(r))!x.call(t,o)&&o!==e&&f(t,o,{get:()=>r[o],enumerable:!(n=A(r,o))||n.enumerable});return t};var M=t=>F(f({},"__esModule",{value:!0}),t);var S={};N(S,{formatMoney:()=>p,formatMoneyArray:()=>d,formatNumber:()=>a,formatNumberArray:()=>g,settings:()=>i,toFixed:()=>s,unformat:()=>c,unformatArray:()=>u});module.exports=M(S);var i={symbol:"$",format:"%s%v",decimal:".",thousand:",",precision:2,grouping:3,stripZeros:!1,fallback:0,round:0};function c(t,r=i.decimal,e=i.fallback){let n=new RegExp(`[^0-9-(-)-${r}]`,"g"),o=(""+t).replace(n,"").replace(r,".").replace(/\(([-]*\d*[^)]?\d+)\)/g,"-$1").replace(/\((.*)\)/,""),m=(o.match(/-/g)||"").length%2,l=parseFloat(o.replace(/-/g,""))*(m?-1:1);return isNaN(l)?e:l}function u(t,r=i.decimal,e=i.fallback){return Array.isArray(t)?t.map(n=>u(n,r,e)):c(t,r,e)}function s(t,r,e){r??=i.precision,e??=i.round;let n=Math.pow(10,r),o;return e>0?o=Math.ceil:e<0?o=Math.floor:o=Math.round,(o((t+1e-8)*n)/n).toFixed(r)}function y(t,r){let e=t.split(r),n="";if(e[0]!==void 0&&(n=e[0]),e[1]!==void 0){let o=e[1].replace(/0+$/,"");o.length>0&&(n=n+r+o)}return n}function a(t,r={}){r=Object.assign({},i,r);let e=t<0?"-":"",n=parseInt(s(Math.abs(t),r.precision,r.round),10)+"",o=n.length>3?n.length%3:0,m=e+(o?n.substr(0,o)+r.thousand:"")+n.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+r.thousand)+(r.precision>0?r.decimal+s(Math.abs(t),r.precision).split(".")[1]:"");return r.stripZeros?y(m,r.decimal):m}function g(t,r={}){return Array.isArray(t)?t.map(e=>g(e,r)):a(t,r)}function b(t){return typeof t=="string"&&t.match("%v")?{pos:t,neg:t.replace("-","").replace("%v","-%v"),zero:t}:t}function p(t,r={}){r=Object.assign({},i,r);let e=b(r.format),n;return t>0?n=e.pos:t<0?n=e.neg:n=e.zero,n.replace("%s",r.symbol).replace("%v",a(Math.abs(t),r))}function d(t,r={}){return Array.isArray(t)?t.map(e=>d(e,r)):p(t,r)}0&&(module.exports={formatMoney,formatMoneyArray,formatNumber,formatNumberArray,settings,toFixed,unformat,unformatArray}); //# sourceMappingURL=index.js.map