@fileverse-dev/formulajs 4.4.11-mod-19-patch-1 → 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 +112 -72
- package/lib/browser/formula.min.js +2 -2
- package/lib/browser/formula.min.js.map +1 -1
- package/lib/cjs/index.cjs +123 -75
- package/lib/esm/crypto-constants.mjs +24 -0
- package/lib/esm/index.mjs +121 -76
- package/package.json +1 -1
- package/types/cjs/index.d.cts +32 -5
- package/types/esm/index.d.mts +32 -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() {
|
|
@@ -421,9 +421,16 @@ function _typeof(o) {
|
|
|
421
421
|
var addOn = date > -22038912e5 ? 2 : 1;
|
|
422
422
|
return Math.ceil((date - d1900) / 864e5) + addOn;
|
|
423
423
|
}
|
|
424
|
+
function formatDate(date) {
|
|
425
|
+
var day = String(date.getDate()).padStart(2, "0");
|
|
426
|
+
var month = String(date.getMonth() + 1).padStart(2, "0");
|
|
427
|
+
var year = date.getFullYear();
|
|
428
|
+
return "".concat(day, "/").concat(month, "/").concat(year);
|
|
429
|
+
}
|
|
424
430
|
var date = Object.freeze({
|
|
425
431
|
__proto__: null,
|
|
426
432
|
dateToSerial: dateToSerial,
|
|
433
|
+
formatDate: formatDate,
|
|
427
434
|
get returnSerial() {
|
|
428
435
|
return returnSerial;
|
|
429
436
|
},
|
|
@@ -784,6 +791,23 @@ function _typeof(o) {
|
|
|
784
791
|
return _d;
|
|
785
792
|
}
|
|
786
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
|
+
}
|
|
787
811
|
var parsed = new Date(date);
|
|
788
812
|
if (!isNaN(parsed)) {
|
|
789
813
|
return parsed;
|
|
@@ -6592,63 +6616,6 @@ function _typeof(o) {
|
|
|
6592
6616
|
var n = array.length;
|
|
6593
6617
|
return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true);
|
|
6594
6618
|
};
|
|
6595
|
-
function PNL() {
|
|
6596
|
-
var _argsToArray = argsToArray(arguments), _argsToArray2 = _slicedToArray(_argsToArray, 2), A = _argsToArray2[0], B = _argsToArray2[1];
|
|
6597
|
-
var toNumberOrThrow = function toNumberOrThrow(val) {
|
|
6598
|
-
var num = Number(val);
|
|
6599
|
-
if (isNaN(num)) throw new Error("Invalid number value: ".concat(val));
|
|
6600
|
-
return num;
|
|
6601
|
-
};
|
|
6602
|
-
if (typeof A === "number" && typeof B === "number") {
|
|
6603
|
-
return A - B;
|
|
6604
|
-
}
|
|
6605
|
-
if (Array.isArray(A) && Array.isArray(B) && _typeof(A[0]) !== "object") {
|
|
6606
|
-
var maxLen = Math.max(A.length, B.length);
|
|
6607
|
-
var total = 0;
|
|
6608
|
-
for (var i = 0; i < maxLen; i++) {
|
|
6609
|
-
var aVal = i < A.length ? toNumberOrThrow(A[i]) : 0;
|
|
6610
|
-
var bVal = i < B.length ? toNumberOrThrow(B[i]) : 0;
|
|
6611
|
-
total += aVal - bVal;
|
|
6612
|
-
}
|
|
6613
|
-
return total;
|
|
6614
|
-
}
|
|
6615
|
-
if (Array.isArray(A[0]) && _typeof(A[0][0]) !== "object") {
|
|
6616
|
-
var _total = 0;
|
|
6617
|
-
var maxRows = Math.max(A.length, B.length);
|
|
6618
|
-
for (var _i5 = 0; _i5 < maxRows; _i5++) {
|
|
6619
|
-
var rowA = A[_i5] || [];
|
|
6620
|
-
var rowB = B[_i5] || [];
|
|
6621
|
-
var maxCols = Math.max(rowA.length, rowB.length);
|
|
6622
|
-
for (var j = 0; j < maxCols; j++) {
|
|
6623
|
-
var _aVal = j < rowA.length ? toNumberOrThrow(rowA[j]) : 0;
|
|
6624
|
-
var _bVal = j < rowB.length ? toNumberOrThrow(rowB[j]) : 0;
|
|
6625
|
-
_total += _aVal - _bVal;
|
|
6626
|
-
}
|
|
6627
|
-
}
|
|
6628
|
-
return _total;
|
|
6629
|
-
}
|
|
6630
|
-
if (Array.isArray(A[0][0])) {
|
|
6631
|
-
var _total2 = 0;
|
|
6632
|
-
var maxX = Math.max(A.length, B.length);
|
|
6633
|
-
for (var _i6 = 0; _i6 < maxX; _i6++) {
|
|
6634
|
-
var matA = A[_i6] || [];
|
|
6635
|
-
var matB = B[_i6] || [];
|
|
6636
|
-
var maxY = Math.max(matA.length, matB.length);
|
|
6637
|
-
for (var _j = 0; _j < maxY; _j++) {
|
|
6638
|
-
var _rowA = matA[_j] || [];
|
|
6639
|
-
var _rowB = matB[_j] || [];
|
|
6640
|
-
var maxZ = Math.max(_rowA.length, _rowB.length);
|
|
6641
|
-
for (var k = 0; k < maxZ; k++) {
|
|
6642
|
-
var _aVal2 = k < _rowA.length ? toNumberOrThrow(_rowA[k]) : 0;
|
|
6643
|
-
var _bVal2 = k < _rowB.length ? toNumberOrThrow(_rowB[k]) : 0;
|
|
6644
|
-
_total2 += _aVal2 - _bVal2;
|
|
6645
|
-
}
|
|
6646
|
-
}
|
|
6647
|
-
}
|
|
6648
|
-
return _total2;
|
|
6649
|
-
}
|
|
6650
|
-
throw new Error("Unsupported or mismatched structure");
|
|
6651
|
-
}
|
|
6652
6619
|
function ABS(number) {
|
|
6653
6620
|
number = parseNumber(number);
|
|
6654
6621
|
if (number instanceof Error) {
|
|
@@ -7975,7 +7942,11 @@ function _typeof(o) {
|
|
|
7975
7942
|
if (start_date instanceof Error) {
|
|
7976
7943
|
return start_date;
|
|
7977
7944
|
}
|
|
7978
|
-
|
|
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));
|
|
7979
7950
|
}
|
|
7980
7951
|
function DAYS360(start_date, end_date, method) {
|
|
7981
7952
|
method = parseBool(method || "false");
|
|
@@ -8117,17 +8088,17 @@ function _typeof(o) {
|
|
|
8117
8088
|
} else if (!(holidays instanceof Array)) {
|
|
8118
8089
|
holidays = [ holidays ];
|
|
8119
8090
|
}
|
|
8120
|
-
for (var
|
|
8121
|
-
var h = parseDate(holidays[
|
|
8091
|
+
for (var _i5 = 0; _i5 < holidays.length; _i5++) {
|
|
8092
|
+
var h = parseDate(holidays[_i5]);
|
|
8122
8093
|
if (h instanceof Error) {
|
|
8123
8094
|
return h;
|
|
8124
8095
|
}
|
|
8125
|
-
holidays[
|
|
8096
|
+
holidays[_i5] = h;
|
|
8126
8097
|
}
|
|
8127
8098
|
var days = Math.round((end_date - start_date) / (1e3 * 60 * 60 * 24)) + 1;
|
|
8128
8099
|
var total = days;
|
|
8129
8100
|
var day = start_date;
|
|
8130
|
-
for (var
|
|
8101
|
+
for (var _i6 = 0; _i6 < days; _i6++) {
|
|
8131
8102
|
var d = (new Date).getTimezoneOffset() > 0 ? day.getUTCDay() : day.getDay();
|
|
8132
8103
|
var dec = isMask ? maskDays.includes(d) : d === weekend[0] || d === weekend[1];
|
|
8133
8104
|
for (var j = 0; j < holidays.length; j++) {
|
|
@@ -8144,6 +8115,7 @@ function _typeof(o) {
|
|
|
8144
8115
|
}
|
|
8145
8116
|
return total;
|
|
8146
8117
|
};
|
|
8118
|
+
var NETWORKDAYS_INTL = NETWORKDAYS.INTL;
|
|
8147
8119
|
function NOW() {
|
|
8148
8120
|
return returnSerial ? dateToSerial(new Date) : new Date;
|
|
8149
8121
|
}
|
|
@@ -8164,7 +8136,10 @@ function _typeof(o) {
|
|
|
8164
8136
|
if (hour < 0 || minute < 0 || second < 0) {
|
|
8165
8137
|
return num;
|
|
8166
8138
|
}
|
|
8167
|
-
|
|
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);
|
|
8168
8143
|
}
|
|
8169
8144
|
function TIMEVALUE(time_text) {
|
|
8170
8145
|
time_text = parseDate(time_text);
|
|
@@ -8175,7 +8150,7 @@ function _typeof(o) {
|
|
|
8175
8150
|
}
|
|
8176
8151
|
function TODAY() {
|
|
8177
8152
|
var today = startOfDay(new Date);
|
|
8178
|
-
return
|
|
8153
|
+
return formatDate(today);
|
|
8179
8154
|
}
|
|
8180
8155
|
function WEEKDAY(serial_number, return_type) {
|
|
8181
8156
|
serial_number = parseDate(serial_number);
|
|
@@ -8208,6 +8183,10 @@ function _typeof(o) {
|
|
|
8208
8183
|
function WORKDAY(start_date, days, holidays) {
|
|
8209
8184
|
return WORKDAY.INTL(start_date, days, 1, holidays);
|
|
8210
8185
|
}
|
|
8186
|
+
function ISDATE(value) {
|
|
8187
|
+
var parsed = parseDate(value);
|
|
8188
|
+
return !(parsed instanceof Error);
|
|
8189
|
+
}
|
|
8211
8190
|
WORKDAY.INTL = function(start_date, days, weekend, holidays) {
|
|
8212
8191
|
start_date = parseDate(start_date);
|
|
8213
8192
|
if (start_date instanceof Error) {
|
|
@@ -8257,8 +8236,9 @@ function _typeof(o) {
|
|
|
8257
8236
|
if (start_date.getFullYear() < 1900) {
|
|
8258
8237
|
return value;
|
|
8259
8238
|
}
|
|
8260
|
-
return start_date;
|
|
8239
|
+
return formatDate(start_date);
|
|
8261
8240
|
};
|
|
8241
|
+
var WORKDAY_INTL = WORKDAY.INTL;
|
|
8262
8242
|
function YEAR(serial_number) {
|
|
8263
8243
|
serial_number = parseDate(serial_number);
|
|
8264
8244
|
if (serial_number instanceof Error) {
|
|
@@ -9524,9 +9504,9 @@ function _typeof(o) {
|
|
|
9524
9504
|
matches[i] = true;
|
|
9525
9505
|
}
|
|
9526
9506
|
var maxCriteriaLength = criterias[0].length;
|
|
9527
|
-
for (var
|
|
9528
|
-
if (criterias[
|
|
9529
|
-
maxCriteriaLength = criterias[
|
|
9507
|
+
for (var _i7 = 1; _i7 < criterias.length; ++_i7) {
|
|
9508
|
+
if (criterias[_i7].length > maxCriteriaLength) {
|
|
9509
|
+
maxCriteriaLength = criterias[_i7].length;
|
|
9530
9510
|
}
|
|
9531
9511
|
}
|
|
9532
9512
|
for (var k = 1; k < database.length; ++k) {
|
|
@@ -10175,9 +10155,9 @@ function _typeof(o) {
|
|
|
10175
10155
|
var result = cashFlows[0];
|
|
10176
10156
|
var r = 1 + rate;
|
|
10177
10157
|
var factor = 1;
|
|
10178
|
-
for (var
|
|
10158
|
+
for (var _i8 = 1; _i8 < cashFlows.length; _i8++) {
|
|
10179
10159
|
factor *= r;
|
|
10180
|
-
result += cashFlows[
|
|
10160
|
+
result += cashFlows[_i8] / factor;
|
|
10181
10161
|
}
|
|
10182
10162
|
return result;
|
|
10183
10163
|
};
|
|
@@ -10243,7 +10223,7 @@ function _typeof(o) {
|
|
|
10243
10223
|
if (a <= -.99999999) return rate;
|
|
10244
10224
|
}
|
|
10245
10225
|
var c;
|
|
10246
|
-
for (var
|
|
10226
|
+
for (var _i9 = 0; _i9 < maxIterations; _i9++) {
|
|
10247
10227
|
c = (a + b) / 2;
|
|
10248
10228
|
var npvC = cachedNpv(c);
|
|
10249
10229
|
if (Math.abs(npvC) < epsMax || Math.abs(b - a) < epsMax) {
|
|
@@ -11042,6 +11022,63 @@ function _typeof(o) {
|
|
|
11042
11022
|
})));
|
|
11043
11023
|
return _EOA.apply(this, arguments);
|
|
11044
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
|
+
}
|
|
11045
11082
|
function FLVURL(_x12, _x13) {
|
|
11046
11083
|
return _FLVURL.apply(this, arguments);
|
|
11047
11084
|
}
|
|
@@ -11271,6 +11308,7 @@ function _typeof(o) {
|
|
|
11271
11308
|
exports.IPMT = IPMT;
|
|
11272
11309
|
exports.IRR = IRR;
|
|
11273
11310
|
exports.ISBLANK = ISBLANK;
|
|
11311
|
+
exports.ISDATE = ISDATE;
|
|
11274
11312
|
exports.ISERR = ISERR;
|
|
11275
11313
|
exports.ISERROR = ISERROR;
|
|
11276
11314
|
exports.ISEVEN = ISEVEN;
|
|
@@ -11325,6 +11363,7 @@ function _typeof(o) {
|
|
|
11325
11363
|
exports.NEGBINOMDIST = NEGBINOMDIST;
|
|
11326
11364
|
exports.NETWORKDAYS = NETWORKDAYS;
|
|
11327
11365
|
exports.NETWORKDAYSINTL = NETWORKDAYSINTL;
|
|
11366
|
+
exports.NETWORKDAYS_INTL = NETWORKDAYS_INTL;
|
|
11328
11367
|
exports.NOMINAL = NOMINAL;
|
|
11329
11368
|
exports.NORM = NORM;
|
|
11330
11369
|
exports.NORMDIST = NORMDIST;
|
|
@@ -11460,6 +11499,7 @@ function _typeof(o) {
|
|
|
11460
11499
|
exports.WEIBULLDIST = WEIBULLDIST;
|
|
11461
11500
|
exports.WORKDAY = WORKDAY;
|
|
11462
11501
|
exports.WORKDAYINTL = WORKDAYINTL;
|
|
11502
|
+
exports.WORKDAY_INTL = WORKDAY_INTL;
|
|
11463
11503
|
exports.XIRR = XIRR;
|
|
11464
11504
|
exports.XNPV = XNPV;
|
|
11465
11505
|
exports.XOR = XOR;
|