@fileverse-dev/formulajs 4.4.11-mod-16 → 4.4.11-mod-18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /* @fileverse-dev/formulajs v4.4.11-mod-16 */
1
+ /* @fileverse-dev/formulajs v4.4.11-mod-18 */
2
2
  function _regeneratorRuntime() {
3
3
  "use strict";
4
4
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() {
@@ -6583,36 +6583,59 @@ function _typeof(o) {
6583
6583
  };
6584
6584
  function PNL() {
6585
6585
  var _argsToArray = argsToArray(arguments), _argsToArray2 = _slicedToArray(_argsToArray, 2), A = _argsToArray2[0], B = _argsToArray2[1];
6586
+ var toNumberOrThrow = function toNumberOrThrow(val) {
6587
+ var num = Number(val);
6588
+ if (isNaN(num)) throw new Error("Invalid number value: ".concat(val));
6589
+ return num;
6590
+ };
6586
6591
  if (typeof A === "number" && typeof B === "number") {
6587
6592
  return A - B;
6588
6593
  }
6589
- if (Array.isArray(A) && Array.isArray(B) && typeof A[0] === "number") {
6590
- if (A.length !== B.length) throw new Error("1D arrays must match in length");
6591
- return A.reduce((function(sum, val, i) {
6592
- return sum + (val - B[i]);
6593
- }), 0);
6594
- }
6595
- if (Array.isArray(A[0]) && typeof A[0][0] === "number") {
6594
+ if (Array.isArray(A) && Array.isArray(B) && _typeof(A[0]) !== "object") {
6595
+ var maxLen = Math.max(A.length, B.length);
6596
6596
  var total = 0;
6597
- for (var i = 0; i < A.length; i++) {
6598
- if (A[i].length !== B[i].length) throw new Error("Row ".concat(i, " length mismatch"));
6599
- for (var j = 0; j < A[i].length; j++) {
6600
- total += A[i][j] - B[i][j];
6601
- }
6597
+ for (var i = 0; i < maxLen; i++) {
6598
+ var aVal = i < A.length ? toNumberOrThrow(A[i]) : 0;
6599
+ var bVal = i < B.length ? toNumberOrThrow(B[i]) : 0;
6600
+ total += aVal - bVal;
6602
6601
  }
6603
6602
  return total;
6604
6603
  }
6605
- if (Array.isArray(A[0][0])) {
6604
+ if (Array.isArray(A[0]) && _typeof(A[0][0]) !== "object") {
6606
6605
  var _total = 0;
6607
- for (var _i5 = 0; _i5 < A.length; _i5++) {
6608
- for (var _j = 0; _j < A[_i5].length; _j++) {
6609
- for (var k = 0; k < A[_i5][_j].length; k++) {
6610
- _total += A[_i5][_j][k] - B[_i5][_j][k];
6611
- }
6606
+ var maxRows = Math.max(A.length, B.length);
6607
+ for (var _i5 = 0; _i5 < maxRows; _i5++) {
6608
+ var rowA = A[_i5] || [];
6609
+ var rowB = B[_i5] || [];
6610
+ var maxCols = Math.max(rowA.length, rowB.length);
6611
+ for (var j = 0; j < maxCols; j++) {
6612
+ var _aVal = j < rowA.length ? toNumberOrThrow(rowA[j]) : 0;
6613
+ var _bVal = j < rowB.length ? toNumberOrThrow(rowB[j]) : 0;
6614
+ _total += _aVal - _bVal;
6612
6615
  }
6613
6616
  }
6614
6617
  return _total;
6615
6618
  }
6619
+ if (Array.isArray(A[0][0])) {
6620
+ var _total2 = 0;
6621
+ var maxX = Math.max(A.length, B.length);
6622
+ for (var _i6 = 0; _i6 < maxX; _i6++) {
6623
+ var matA = A[_i6] || [];
6624
+ var matB = B[_i6] || [];
6625
+ var maxY = Math.max(matA.length, matB.length);
6626
+ for (var _j = 0; _j < maxY; _j++) {
6627
+ var _rowA = matA[_j] || [];
6628
+ var _rowB = matB[_j] || [];
6629
+ var maxZ = Math.max(_rowA.length, _rowB.length);
6630
+ for (var k = 0; k < maxZ; k++) {
6631
+ var _aVal2 = k < _rowA.length ? toNumberOrThrow(_rowA[k]) : 0;
6632
+ var _bVal2 = k < _rowB.length ? toNumberOrThrow(_rowB[k]) : 0;
6633
+ _total2 += _aVal2 - _bVal2;
6634
+ }
6635
+ }
6636
+ }
6637
+ return _total2;
6638
+ }
6616
6639
  throw new Error("Unsupported or mismatched structure");
6617
6640
  }
6618
6641
  function ABS(number) {
@@ -8083,17 +8106,17 @@ function _typeof(o) {
8083
8106
  } else if (!(holidays instanceof Array)) {
8084
8107
  holidays = [ holidays ];
8085
8108
  }
8086
- for (var _i6 = 0; _i6 < holidays.length; _i6++) {
8087
- var h = parseDate(holidays[_i6]);
8109
+ for (var _i7 = 0; _i7 < holidays.length; _i7++) {
8110
+ var h = parseDate(holidays[_i7]);
8088
8111
  if (h instanceof Error) {
8089
8112
  return h;
8090
8113
  }
8091
- holidays[_i6] = h;
8114
+ holidays[_i7] = h;
8092
8115
  }
8093
8116
  var days = Math.round((end_date - start_date) / (1e3 * 60 * 60 * 24)) + 1;
8094
8117
  var total = days;
8095
8118
  var day = start_date;
8096
- for (var _i7 = 0; _i7 < days; _i7++) {
8119
+ for (var _i8 = 0; _i8 < days; _i8++) {
8097
8120
  var d = (new Date).getTimezoneOffset() > 0 ? day.getUTCDay() : day.getDay();
8098
8121
  var dec = isMask ? maskDays.includes(d) : d === weekend[0] || d === weekend[1];
8099
8122
  for (var j = 0; j < holidays.length; j++) {
@@ -9490,9 +9513,9 @@ function _typeof(o) {
9490
9513
  matches[i] = true;
9491
9514
  }
9492
9515
  var maxCriteriaLength = criterias[0].length;
9493
- for (var _i8 = 1; _i8 < criterias.length; ++_i8) {
9494
- if (criterias[_i8].length > maxCriteriaLength) {
9495
- maxCriteriaLength = criterias[_i8].length;
9516
+ for (var _i9 = 1; _i9 < criterias.length; ++_i9) {
9517
+ if (criterias[_i9].length > maxCriteriaLength) {
9518
+ maxCriteriaLength = criterias[_i9].length;
9496
9519
  }
9497
9520
  }
9498
9521
  for (var k = 1; k < database.length; ++k) {
@@ -10141,9 +10164,9 @@ function _typeof(o) {
10141
10164
  var result = cashFlows[0];
10142
10165
  var r = 1 + rate;
10143
10166
  var factor = 1;
10144
- for (var _i9 = 1; _i9 < cashFlows.length; _i9++) {
10167
+ for (var _i0 = 1; _i0 < cashFlows.length; _i0++) {
10145
10168
  factor *= r;
10146
- result += cashFlows[_i9] / factor;
10169
+ result += cashFlows[_i0] / factor;
10147
10170
  }
10148
10171
  return result;
10149
10172
  };
@@ -10209,7 +10232,7 @@ function _typeof(o) {
10209
10232
  if (a <= -.99999999) return rate;
10210
10233
  }
10211
10234
  var c;
10212
- for (var _i0 = 0; _i0 < maxIterations; _i0++) {
10235
+ for (var _i1 = 0; _i1 < maxIterations; _i1++) {
10213
10236
  c = (a + b) / 2;
10214
10237
  var npvC = cachedNpv(c);
10215
10238
  if (Math.abs(npvC) < epsMax || Math.abs(b - a) < epsMax) {
@@ -10741,9 +10764,7 @@ function _typeof(o) {
10741
10764
  }
10742
10765
  var SERVICE_API_KEY = {
10743
10766
  Etherscan: "ETHERSCAN_API_KEY",
10744
- Coingecko: "COINGECKO_API_KEY",
10745
- Gnosisscan: "GNOSISSSCAN",
10746
- BASESCAN: "Basescan"
10767
+ Coingecko: "COINGECKO_API_KEY"
10747
10768
  };
10748
10769
  var CHAIN_ID_MAP = {
10749
10770
  ethereum: 1,
@@ -10843,7 +10864,7 @@ function _typeof(o) {
10843
10864
  }
10844
10865
  function _GETPRICE() {
10845
10866
  _GETPRICE = _asyncToGenerator(_regeneratorRuntime().mark((function _callee3(token, vs_currencies) {
10846
- var API_KEY, url, options, response, json, jsonResponse, output, _i1, _Object$entries, _Object$entries$_i, coin, prices, _i10, _Object$entries2, _Object$entries2$_i, currency, _value5, key;
10867
+ var API_KEY, url, options, response, json, jsonResponse, output, _i10, _Object$entries, _Object$entries$_i, coin, prices, _i11, _Object$entries2, _Object$entries2$_i, currency, _value5, key;
10847
10868
  return _regeneratorRuntime().wrap((function _callee3$(_context3) {
10848
10869
  while (1) switch (_context3.prev = _context3.next) {
10849
10870
  case 0:
@@ -10884,11 +10905,11 @@ function _typeof(o) {
10884
10905
  case 15:
10885
10906
  jsonResponse = _context3.sent;
10886
10907
  output = {};
10887
- for (_i1 = 0, _Object$entries = Object.entries(jsonResponse); _i1 < _Object$entries.length; _i1++) {
10888
- _Object$entries$_i = _slicedToArray(_Object$entries[_i1], 2), coin = _Object$entries$_i[0],
10908
+ for (_i10 = 0, _Object$entries = Object.entries(jsonResponse); _i10 < _Object$entries.length; _i10++) {
10909
+ _Object$entries$_i = _slicedToArray(_Object$entries[_i10], 2), coin = _Object$entries$_i[0],
10889
10910
  prices = _Object$entries$_i[1];
10890
- for (_i10 = 0, _Object$entries2 = Object.entries(prices); _i10 < _Object$entries2.length; _i10++) {
10891
- _Object$entries2$_i = _slicedToArray(_Object$entries2[_i10], 2), currency = _Object$entries2$_i[0],
10911
+ for (_i11 = 0, _Object$entries2 = Object.entries(prices); _i11 < _Object$entries2.length; _i11++) {
10912
+ _Object$entries2$_i = _slicedToArray(_Object$entries2[_i11], 2), currency = _Object$entries2$_i[0],
10892
10913
  _value5 = _Object$entries2$_i[1];
10893
10914
  key = "".concat(coin.charAt(0).toUpperCase() + coin.slice(1), "_").concat(currency.toUpperCase());
10894
10915
  output[key] = _value5;