(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?factory(exports):typeof define==='function'&&define.amd?define(['exports'],factory):(factory((global.accounting=global.accounting||{})));}(this,function(exports){'use strict';function __commonjs(fn,module){return module={exports:{}},fn(module,module.exports),module.exports;} var settings={symbol:'$',format:'%s%v',decimal:'.',thousand:',',precision:2,grouping:3,stripZeros:false,fallback:0};function unformat(value){var decimal=arguments.length<=1||arguments[1]===undefined?settings.decimal:arguments[1];var fallback=arguments.length<=2||arguments[2]===undefined?settings.fallback:arguments[2];if(Array.isArray(value)){return value.map(function(val){return unformat(val,decimal,fallback);});} if(typeof value==='number')return value;var regex=new RegExp('[^0-9-(-)-'+decimal+']',['g']);var unformattedValueString=(''+value).replace(regex,'').replace(decimal,'.').replace(/\(([-]*\d*[^)]?\d+)\)/g,'-$1').replace(/\((.*)\)/,'');var negative=(unformattedValueString.match(/-/g)||2).length%2,absUnformatted=parseFloat(unformattedValueString.replace(/-/g,'')),unformatted=absUnformatted*(negative?-1:1);return!isNaN(unformatted)?unformatted:fallback;} function _checkPrecision(val,base){val=Math.round(Math.abs(val));return isNaN(val)?base:val;} function toFixed(value,precision){precision=_checkPrecision(precision,settings.precision);var power=Math.pow(10,precision);return(Math.round((value+1e-8)*power)/power).toFixed(precision);} var index=__commonjs(function(module){'use strict';var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError('Object.assign cannot be called with null or undefined');} return Object(val);} module.exports=Object.assign||function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s0){return integerPart+decimal+decimalPart;} return integerPart;} function formatNumber(number){var opts=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];if(Array.isArray(number)){return number.map(function(val){return formatNumber(val,opts);});} opts=objectAssign({},settings,opts);var negative=number<0?'-':'';var base=parseInt(toFixed(Math.abs(number),opts.precision),10)+'';var mod=base.length>3?base.length%3:0;var formatted=negative+(mod?base.substr(0,mod)+opts.thousand:'')+base.substr(mod).replace(/(\d{3})(?=\d)/g,'$1'+opts.thousand)+(opts.precision>0?opts.decimal+toFixed(Math.abs(number),opts.precision).split('.')[1]:'');return opts.stripZeros?_stripInsignificantZeros(formatted,opts.decimal):formatted;} var index$1=__commonjs(function(module){'use strict';var strValue=String.prototype.valueOf;var tryStringObject=function tryStringObject(value){try{strValue.call(value);return true;}catch(e){return false;}};var toStr=Object.prototype.toString;var strClass='[object String]';var hasToStringTag=typeof Symbol==='function'&&typeof Symbol.toStringTag==='symbol';module.exports=function isString(value){if(typeof value==='string'){return true;} if(typeof value!=='object'){return false;} return hasToStringTag?tryStringObject(value):toStr.call(value)===strClass;};});var isString=(index$1&&typeof index$1==='object'&&'default'in index$1?index$1['default']:index$1);function _checkCurrencyFormat(format){if(isString(format)&&format.match('%v')){return{pos:format,neg:format.replace('-','').replace('%v','-%v'),zero:format};} return format;} function formatMoney(number){var opts=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];if(Array.isArray(number)){return number.map(function(val){return formatMoney(val,opts);});} opts=objectAssign({},settings,opts);var formats=_checkCurrencyFormat(opts.format);var useFormat=undefined;if(number>0){useFormat=formats.pos;}else if(number<0){useFormat=formats.neg;}else{useFormat=formats.zero;} return useFormat.replace('%s',opts.symbol).replace('%v',formatNumber(Math.abs(number),opts));} function formatColumn(list){var opts=arguments.length<=1||arguments[1]===undefined?{}:arguments[1];if(!list)return[];opts=objectAssign({},settings,opts);var formats=_checkCurrencyFormat(opts.format);var padAfterSymbol=formats.pos.indexOf('%s')0){useFormat=formats.pos;}else if(val<0){useFormat=formats.neg;}else{useFormat=formats.zero;} var fVal=useFormat.replace('%s',opts.symbol).replace('%v',formatNumber(Math.abs(val),opts));if(fVal.length>maxLength){maxLength=fVal.length;} return fVal;});return formatted.map(function(val){if(isString(val)&&val.length