UNPKG

effective-interest-rate

Version:

A library to calculate effective interest rate. Also know as XIRR or effective APR.

2 lines 2.21 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("EffectiveInterestCalculator",[],t):"object"==typeof exports?exports.EffectiveInterestCalculator=t():e.EffectiveInterestCalculator=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),a=function(){function e(){r(this,e)}return o(e,null,[{key:"withSpecifiedPayments",value:function(e,t,n,r){var o=[-1*e],a=[1],i=new Date(t);Object.keys(n).forEach(function(e){o.push(n[e]),a.push(1+Math.ceil(Math.abs(new Date(e).getTime()-i.getTime())/864e5))});var c=function(e){var t=0;return a.forEach(function(n,r){t+=o[r]*Math.pow(1+e,(a[0]-n)/365)}),t},f=function(e){var t=0;return a.forEach(function(n,r){t+=1/365*(a[0]-n)*o[r]*Math.pow(1+e,(a[0]-n)/365-1)}),t};return u.run(c,f,r)}},{key:"withEqualPayments",value:function(e,t,n,r){var o=function(r){return t-t*Math.pow(1+r,-1*n)-r*e},a=function(r){return n*t*Math.pow(1+r,-1*n-1)-e};return 12*u.run(o,a,r)}}]),e}();e.exports=a},function(e,t){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(){n(this,e)}return r(e,null,[{key:"run",value:function(e,t,n){var r=4,o=Math.pow(10,-1*r),u=0;do n=Number(n),u=Number(n),n=u-Number(e(n))/Number(t(n));while(Math.abs(n-u)>o);return n}}]),e}();e.exports=o}])}); //# sourceMappingURL=effective-interest.min.js.map