@fileverse-dev/formulajs 4.4.11-mod-19-patch-2 → 4.4.11-mod-19-patch-3
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.
- package/lib/browser/formula.js +106 -79
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +117 -80
- package/lib/esm/crypto-constants.mjs +24 -0
- package/lib/esm/index.mjs +115 -81
- package/package.json +1 -1
- package/types/cjs/index.d.cts +30 -5
- package/types/esm/index.d.mts +30 -5
package/lib/browser/formula.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @fileverse-dev/formulajs v4.4.11-mod-19-patch-
|
|
1
|
+
/* @fileverse-dev/formulajs v4.4.11-mod-19-patch-3 */
|
|
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() {
|
|
@@ -791,6 +791,23 @@ function _typeof(o) {
|
|
|
791
791
|
return _d;
|
|
792
792
|
}
|
|
793
793
|
}
|
|
794
|
+
if (/^\d{1,2}:\d{2}(:\d{2})?$/.test(date)) {
|
|
795
|
+
var _date$split$map = date.split(":").map(Number), _date$split$map2 = _slicedToArray(_date$split$map, 3), h = _date$split$map2[0], m = _date$split$map2[1], _date$split$map2$ = _date$split$map2[2], s = _date$split$map2$ === void 0 ? "0" : _date$split$map2$;
|
|
796
|
+
var now = new Date;
|
|
797
|
+
now.setHours(h, m, s, 0);
|
|
798
|
+
return now;
|
|
799
|
+
}
|
|
800
|
+
var ampmMatch = /^(\d{1,2}):(\d{2})\s*(AM|PM)$/i.exec(date);
|
|
801
|
+
if (ampmMatch) {
|
|
802
|
+
var _ampmMatch = _slicedToArray(ampmMatch, 4), hour = _ampmMatch[1], minute = _ampmMatch[2], meridian = _ampmMatch[3];
|
|
803
|
+
hour = parseInt(hour);
|
|
804
|
+
minute = parseInt(minute);
|
|
805
|
+
if (meridian.toUpperCase() === "PM" && hour !== 12) hour += 12;
|
|
806
|
+
if (meridian.toUpperCase() === "AM" && hour === 12) hour = 0;
|
|
807
|
+
var _now = new Date;
|
|
808
|
+
_now.setHours(hour, minute, 0, 0);
|
|
809
|
+
return _now;
|
|
810
|
+
}
|
|
794
811
|
var parsed = new Date(date);
|
|
795
812
|
if (!isNaN(parsed)) {
|
|
796
813
|
return parsed;
|
|
@@ -6599,63 +6616,6 @@ function _typeof(o) {
|
|
|
6599
6616
|
var n = array.length;
|
|
6600
6617
|
return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true);
|
|
6601
6618
|
};
|
|
6602
|
-
function PNL() {
|
|
6603
|
-
var _argsToArray = argsToArray(arguments), _argsToArray2 = _slicedToArray(_argsToArray, 2), A = _argsToArray2[0], B = _argsToArray2[1];
|
|
6604
|
-
var toNumberOrThrow = function toNumberOrThrow(val) {
|
|
6605
|
-
var num = Number(val);
|
|
6606
|
-
if (isNaN(num)) throw new Error("Invalid number value: ".concat(val));
|
|
6607
|
-
return num;
|
|
6608
|
-
};
|
|
6609
|
-
if (typeof A === "number" && typeof B === "number") {
|
|
6610
|
-
return A - B;
|
|
6611
|
-
}
|
|
6612
|
-
if (Array.isArray(A) && Array.isArray(B) && _typeof(A[0]) !== "object") {
|
|
6613
|
-
var maxLen = Math.max(A.length, B.length);
|
|
6614
|
-
var total = 0;
|
|
6615
|
-
for (var i = 0; i < maxLen; i++) {
|
|
6616
|
-
var aVal = i < A.length ? toNumberOrThrow(A[i]) : 0;
|
|
6617
|
-
var bVal = i < B.length ? toNumberOrThrow(B[i]) : 0;
|
|
6618
|
-
total += aVal - bVal;
|
|
6619
|
-
}
|
|
6620
|
-
return total;
|
|
6621
|
-
}
|
|
6622
|
-
if (Array.isArray(A[0]) && _typeof(A[0][0]) !== "object") {
|
|
6623
|
-
var _total = 0;
|
|
6624
|
-
var maxRows = Math.max(A.length, B.length);
|
|
6625
|
-
for (var _i5 = 0; _i5 < maxRows; _i5++) {
|
|
6626
|
-
var rowA = A[_i5] || [];
|
|
6627
|
-
var rowB = B[_i5] || [];
|
|
6628
|
-
var maxCols = Math.max(rowA.length, rowB.length);
|
|
6629
|
-
for (var j = 0; j < maxCols; j++) {
|
|
6630
|
-
var _aVal = j < rowA.length ? toNumberOrThrow(rowA[j]) : 0;
|
|
6631
|
-
var _bVal = j < rowB.length ? toNumberOrThrow(rowB[j]) : 0;
|
|
6632
|
-
_total += _aVal - _bVal;
|
|
6633
|
-
}
|
|
6634
|
-
}
|
|
6635
|
-
return _total;
|
|
6636
|
-
}
|
|
6637
|
-
if (Array.isArray(A[0][0])) {
|
|
6638
|
-
var _total2 = 0;
|
|
6639
|
-
var maxX = Math.max(A.length, B.length);
|
|
6640
|
-
for (var _i6 = 0; _i6 < maxX; _i6++) {
|
|
6641
|
-
var matA = A[_i6] || [];
|
|
6642
|
-
var matB = B[_i6] || [];
|
|
6643
|
-
var maxY = Math.max(matA.length, matB.length);
|
|
6644
|
-
for (var _j = 0; _j < maxY; _j++) {
|
|
6645
|
-
var _rowA = matA[_j] || [];
|
|
6646
|
-
var _rowB = matB[_j] || [];
|
|
6647
|
-
var maxZ = Math.max(_rowA.length, _rowB.length);
|
|
6648
|
-
for (var k = 0; k < maxZ; k++) {
|
|
6649
|
-
var _aVal2 = k < _rowA.length ? toNumberOrThrow(_rowA[k]) : 0;
|
|
6650
|
-
var _bVal2 = k < _rowB.length ? toNumberOrThrow(_rowB[k]) : 0;
|
|
6651
|
-
_total2 += _aVal2 - _bVal2;
|
|
6652
|
-
}
|
|
6653
|
-
}
|
|
6654
|
-
}
|
|
6655
|
-
return _total2;
|
|
6656
|
-
}
|
|
6657
|
-
throw new Error("Unsupported or mismatched structure");
|
|
6658
|
-
}
|
|
6659
6619
|
function ABS(number) {
|
|
6660
6620
|
number = parseNumber(number);
|
|
6661
6621
|
if (number instanceof Error) {
|
|
@@ -7982,10 +7942,13 @@ function _typeof(o) {
|
|
|
7982
7942
|
if (start_date instanceof Error) {
|
|
7983
7943
|
return start_date;
|
|
7984
7944
|
}
|
|
7985
|
-
|
|
7945
|
+
console.log({
|
|
7946
|
+
x: formatDate(startOfDay(end_date)),
|
|
7947
|
+
y: formatDate(startOfDay(start_date))
|
|
7948
|
+
});
|
|
7949
|
+
return formatDate(startOfDay(end_date)) - formatDate(startOfDay(start_date));
|
|
7986
7950
|
}
|
|
7987
7951
|
function DAYS360(start_date, end_date, method) {
|
|
7988
|
-
debugger;
|
|
7989
7952
|
method = parseBool(method || "false");
|
|
7990
7953
|
start_date = parseDate(start_date);
|
|
7991
7954
|
end_date = parseDate(end_date);
|
|
@@ -8019,8 +7982,7 @@ function _typeof(o) {
|
|
|
8019
7982
|
ed = end_date.getDate();
|
|
8020
7983
|
}
|
|
8021
7984
|
}
|
|
8022
|
-
|
|
8023
|
-
return xxx;
|
|
7985
|
+
return 360 * (end_date.getFullYear() - start_date.getFullYear()) + 30 * (em - sm) + (ed - sd);
|
|
8024
7986
|
}
|
|
8025
7987
|
function EDATE(start_date, months) {
|
|
8026
7988
|
start_date = parseDate(start_date);
|
|
@@ -8126,17 +8088,17 @@ function _typeof(o) {
|
|
|
8126
8088
|
} else if (!(holidays instanceof Array)) {
|
|
8127
8089
|
holidays = [ holidays ];
|
|
8128
8090
|
}
|
|
8129
|
-
for (var
|
|
8130
|
-
var h = parseDate(holidays[
|
|
8091
|
+
for (var _i5 = 0; _i5 < holidays.length; _i5++) {
|
|
8092
|
+
var h = parseDate(holidays[_i5]);
|
|
8131
8093
|
if (h instanceof Error) {
|
|
8132
8094
|
return h;
|
|
8133
8095
|
}
|
|
8134
|
-
holidays[
|
|
8096
|
+
holidays[_i5] = h;
|
|
8135
8097
|
}
|
|
8136
8098
|
var days = Math.round((end_date - start_date) / (1e3 * 60 * 60 * 24)) + 1;
|
|
8137
8099
|
var total = days;
|
|
8138
8100
|
var day = start_date;
|
|
8139
|
-
for (var
|
|
8101
|
+
for (var _i6 = 0; _i6 < days; _i6++) {
|
|
8140
8102
|
var d = (new Date).getTimezoneOffset() > 0 ? day.getUTCDay() : day.getDay();
|
|
8141
8103
|
var dec = isMask ? maskDays.includes(d) : d === weekend[0] || d === weekend[1];
|
|
8142
8104
|
for (var j = 0; j < holidays.length; j++) {
|
|
@@ -8153,6 +8115,7 @@ function _typeof(o) {
|
|
|
8153
8115
|
}
|
|
8154
8116
|
return total;
|
|
8155
8117
|
};
|
|
8118
|
+
var NETWORKDAYS_INTL = NETWORKDAYS.INTL;
|
|
8156
8119
|
function NOW() {
|
|
8157
8120
|
return returnSerial ? dateToSerial(new Date) : new Date;
|
|
8158
8121
|
}
|
|
@@ -8173,7 +8136,10 @@ function _typeof(o) {
|
|
|
8173
8136
|
if (hour < 0 || minute < 0 || second < 0) {
|
|
8174
8137
|
return num;
|
|
8175
8138
|
}
|
|
8176
|
-
|
|
8139
|
+
var hh = String(hour).padStart(2, "0");
|
|
8140
|
+
var mm = String(minute).padStart(2, "0");
|
|
8141
|
+
var ss = String(second).padStart(2, "0");
|
|
8142
|
+
return "".concat(hh, ":").concat(mm, ":").concat(ss);
|
|
8177
8143
|
}
|
|
8178
8144
|
function TIMEVALUE(time_text) {
|
|
8179
8145
|
time_text = parseDate(time_text);
|
|
@@ -8183,12 +8149,8 @@ function _typeof(o) {
|
|
|
8183
8149
|
return (3600 * time_text.getHours() + 60 * time_text.getMinutes() + time_text.getSeconds()) / 86400;
|
|
8184
8150
|
}
|
|
8185
8151
|
function TODAY() {
|
|
8186
|
-
debugger;
|
|
8187
|
-
console.log({
|
|
8188
|
-
returnSerial: returnSerial
|
|
8189
|
-
});
|
|
8190
8152
|
var today = startOfDay(new Date);
|
|
8191
|
-
return
|
|
8153
|
+
return formatDate(today);
|
|
8192
8154
|
}
|
|
8193
8155
|
function WEEKDAY(serial_number, return_type) {
|
|
8194
8156
|
serial_number = parseDate(serial_number);
|
|
@@ -8221,6 +8183,10 @@ function _typeof(o) {
|
|
|
8221
8183
|
function WORKDAY(start_date, days, holidays) {
|
|
8222
8184
|
return WORKDAY.INTL(start_date, days, 1, holidays);
|
|
8223
8185
|
}
|
|
8186
|
+
function ISDATE(value) {
|
|
8187
|
+
var parsed = parseDate(value);
|
|
8188
|
+
return !(parsed instanceof Error);
|
|
8189
|
+
}
|
|
8224
8190
|
WORKDAY.INTL = function(start_date, days, weekend, holidays) {
|
|
8225
8191
|
start_date = parseDate(start_date);
|
|
8226
8192
|
if (start_date instanceof Error) {
|
|
@@ -8270,8 +8236,9 @@ function _typeof(o) {
|
|
|
8270
8236
|
if (start_date.getFullYear() < 1900) {
|
|
8271
8237
|
return value;
|
|
8272
8238
|
}
|
|
8273
|
-
return start_date;
|
|
8239
|
+
return formatDate(start_date);
|
|
8274
8240
|
};
|
|
8241
|
+
var WORKDAY_INTL = WORKDAY.INTL;
|
|
8275
8242
|
function YEAR(serial_number) {
|
|
8276
8243
|
serial_number = parseDate(serial_number);
|
|
8277
8244
|
if (serial_number instanceof Error) {
|
|
@@ -9537,9 +9504,9 @@ function _typeof(o) {
|
|
|
9537
9504
|
matches[i] = true;
|
|
9538
9505
|
}
|
|
9539
9506
|
var maxCriteriaLength = criterias[0].length;
|
|
9540
|
-
for (var
|
|
9541
|
-
if (criterias[
|
|
9542
|
-
maxCriteriaLength = criterias[
|
|
9507
|
+
for (var _i7 = 1; _i7 < criterias.length; ++_i7) {
|
|
9508
|
+
if (criterias[_i7].length > maxCriteriaLength) {
|
|
9509
|
+
maxCriteriaLength = criterias[_i7].length;
|
|
9543
9510
|
}
|
|
9544
9511
|
}
|
|
9545
9512
|
for (var k = 1; k < database.length; ++k) {
|
|
@@ -10188,9 +10155,9 @@ function _typeof(o) {
|
|
|
10188
10155
|
var result = cashFlows[0];
|
|
10189
10156
|
var r = 1 + rate;
|
|
10190
10157
|
var factor = 1;
|
|
10191
|
-
for (var
|
|
10158
|
+
for (var _i8 = 1; _i8 < cashFlows.length; _i8++) {
|
|
10192
10159
|
factor *= r;
|
|
10193
|
-
result += cashFlows[
|
|
10160
|
+
result += cashFlows[_i8] / factor;
|
|
10194
10161
|
}
|
|
10195
10162
|
return result;
|
|
10196
10163
|
};
|
|
@@ -10256,7 +10223,7 @@ function _typeof(o) {
|
|
|
10256
10223
|
if (a <= -.99999999) return rate;
|
|
10257
10224
|
}
|
|
10258
10225
|
var c;
|
|
10259
|
-
for (var
|
|
10226
|
+
for (var _i9 = 0; _i9 < maxIterations; _i9++) {
|
|
10260
10227
|
c = (a + b) / 2;
|
|
10261
10228
|
var npvC = cachedNpv(c);
|
|
10262
10229
|
if (Math.abs(npvC) < epsMax || Math.abs(b - a) < epsMax) {
|
|
@@ -11055,6 +11022,63 @@ function _typeof(o) {
|
|
|
11055
11022
|
})));
|
|
11056
11023
|
return _EOA.apply(this, arguments);
|
|
11057
11024
|
}
|
|
11025
|
+
function PNL() {
|
|
11026
|
+
var _argsToArray = argsToArray(arguments), _argsToArray2 = _slicedToArray(_argsToArray, 2), A = _argsToArray2[0], B = _argsToArray2[1];
|
|
11027
|
+
var toNumberOrThrow = function toNumberOrThrow(val) {
|
|
11028
|
+
var num = Number(val);
|
|
11029
|
+
if (isNaN(num)) throw new Error("Invalid number value: ".concat(val));
|
|
11030
|
+
return num;
|
|
11031
|
+
};
|
|
11032
|
+
if (typeof A === "number" && typeof B === "number") {
|
|
11033
|
+
return A - B;
|
|
11034
|
+
}
|
|
11035
|
+
if (Array.isArray(A) && Array.isArray(B) && _typeof(A[0]) !== "object") {
|
|
11036
|
+
var maxLen = Math.max(A.length, B.length);
|
|
11037
|
+
var total = 0;
|
|
11038
|
+
for (var i = 0; i < maxLen; i++) {
|
|
11039
|
+
var aVal = i < A.length ? toNumberOrThrow(A[i]) : 0;
|
|
11040
|
+
var bVal = i < B.length ? toNumberOrThrow(B[i]) : 0;
|
|
11041
|
+
total += aVal - bVal;
|
|
11042
|
+
}
|
|
11043
|
+
return total;
|
|
11044
|
+
}
|
|
11045
|
+
if (Array.isArray(A[0]) && _typeof(A[0][0]) !== "object") {
|
|
11046
|
+
var _total = 0;
|
|
11047
|
+
var maxRows = Math.max(A.length, B.length);
|
|
11048
|
+
for (var _i0 = 0; _i0 < maxRows; _i0++) {
|
|
11049
|
+
var rowA = A[_i0] || [];
|
|
11050
|
+
var rowB = B[_i0] || [];
|
|
11051
|
+
var maxCols = Math.max(rowA.length, rowB.length);
|
|
11052
|
+
for (var j = 0; j < maxCols; j++) {
|
|
11053
|
+
var _aVal = j < rowA.length ? toNumberOrThrow(rowA[j]) : 0;
|
|
11054
|
+
var _bVal = j < rowB.length ? toNumberOrThrow(rowB[j]) : 0;
|
|
11055
|
+
_total += _aVal - _bVal;
|
|
11056
|
+
}
|
|
11057
|
+
}
|
|
11058
|
+
return _total;
|
|
11059
|
+
}
|
|
11060
|
+
if (Array.isArray(A[0][0])) {
|
|
11061
|
+
var _total2 = 0;
|
|
11062
|
+
var maxX = Math.max(A.length, B.length);
|
|
11063
|
+
for (var _i1 = 0; _i1 < maxX; _i1++) {
|
|
11064
|
+
var matA = A[_i1] || [];
|
|
11065
|
+
var matB = B[_i1] || [];
|
|
11066
|
+
var maxY = Math.max(matA.length, matB.length);
|
|
11067
|
+
for (var _j = 0; _j < maxY; _j++) {
|
|
11068
|
+
var _rowA = matA[_j] || [];
|
|
11069
|
+
var _rowB = matB[_j] || [];
|
|
11070
|
+
var maxZ = Math.max(_rowA.length, _rowB.length);
|
|
11071
|
+
for (var k = 0; k < maxZ; k++) {
|
|
11072
|
+
var _aVal2 = k < _rowA.length ? toNumberOrThrow(_rowA[k]) : 0;
|
|
11073
|
+
var _bVal2 = k < _rowB.length ? toNumberOrThrow(_rowB[k]) : 0;
|
|
11074
|
+
_total2 += _aVal2 - _bVal2;
|
|
11075
|
+
}
|
|
11076
|
+
}
|
|
11077
|
+
}
|
|
11078
|
+
return _total2;
|
|
11079
|
+
}
|
|
11080
|
+
throw new Error("Unsupported or mismatched structure");
|
|
11081
|
+
}
|
|
11058
11082
|
function FLVURL(_x12, _x13) {
|
|
11059
11083
|
return _FLVURL.apply(this, arguments);
|
|
11060
11084
|
}
|
|
@@ -11284,6 +11308,7 @@ function _typeof(o) {
|
|
|
11284
11308
|
exports.IPMT = IPMT;
|
|
11285
11309
|
exports.IRR = IRR;
|
|
11286
11310
|
exports.ISBLANK = ISBLANK;
|
|
11311
|
+
exports.ISDATE = ISDATE;
|
|
11287
11312
|
exports.ISERR = ISERR;
|
|
11288
11313
|
exports.ISERROR = ISERROR;
|
|
11289
11314
|
exports.ISEVEN = ISEVEN;
|
|
@@ -11338,6 +11363,7 @@ function _typeof(o) {
|
|
|
11338
11363
|
exports.NEGBINOMDIST = NEGBINOMDIST;
|
|
11339
11364
|
exports.NETWORKDAYS = NETWORKDAYS;
|
|
11340
11365
|
exports.NETWORKDAYSINTL = NETWORKDAYSINTL;
|
|
11366
|
+
exports.NETWORKDAYS_INTL = NETWORKDAYS_INTL;
|
|
11341
11367
|
exports.NOMINAL = NOMINAL;
|
|
11342
11368
|
exports.NORM = NORM;
|
|
11343
11369
|
exports.NORMDIST = NORMDIST;
|
|
@@ -11473,6 +11499,7 @@ function _typeof(o) {
|
|
|
11473
11499
|
exports.WEIBULLDIST = WEIBULLDIST;
|
|
11474
11500
|
exports.WORKDAY = WORKDAY;
|
|
11475
11501
|
exports.WORKDAYINTL = WORKDAYINTL;
|
|
11502
|
+
exports.WORKDAY_INTL = WORKDAY_INTL;
|
|
11476
11503
|
exports.XIRR = XIRR;
|
|
11477
11504
|
exports.XNPV = XNPV;
|
|
11478
11505
|
exports.XOR = XOR;
|