@sheetxl/formulas-extended 0.7.28-beta.3 → 0.8.0-beta.1
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/browser/cjs/index.cjs +1 -1
- package/{node/esm/C1Of99Li1xuXVvHC.mjs → browser/esm/B1VmvhXuEn7zaTB9.mjs} +1 -1
- package/browser/esm/{Lw7SD9UV2xQaHBMY.mjs → BFnDPCjxJcoIItFa.mjs} +1 -1
- package/{node/esm/Cmx9jVLihcV7UU9j.mjs → browser/esm/BRwwvGaJ6HvkxjFC.mjs} +1 -1
- package/browser/esm/{CzzpVN7fGDVLTBAQ.mjs → Bma3CN4_Nec6_4n7.mjs} +1 -1
- package/{node/esm/C8ez6oBw4sdDzSct.mjs → browser/esm/BuGemmv84T8m0wqw.mjs} +1 -1
- package/{node/esm/DN1_rspUH-tOwmED.mjs → browser/esm/COqdI1LYTHd9oLA6.mjs} +1 -1
- package/browser/esm/{v_larpTXJns5MbG8.mjs → CnVJ8GAsshRjRGA-.mjs} +1 -1
- package/browser/esm/{CLQ1_t-YsFFTRbw1.mjs → CwoMEzOtRihuYUTr.mjs} +1 -1
- package/browser/esm/{CEzXDdvqDDZbH1WV.mjs → DY3kG36QGyDbrANO.mjs} +1 -1
- package/browser/esm/{BXjhl9UdRwdpTLAB.mjs → DodhOXkSzelSxHmB.mjs} +1 -1
- package/browser/esm/{D-wUpQDKX_k0SiSj.mjs → DpoZ7h1ScIJvbOY9.mjs} +1 -1
- package/browser/esm/{CYm12WYrfdzPk8cm.mjs → Dy6UD7hQRBsT0WNp.mjs} +1 -1
- package/browser/esm/index.mjs +524 -391
- package/browser/esm/{DEQPjlaWWG7gXPtm.mjs → srpVt74r2zbvm1N0.mjs} +1 -1
- package/{node/esm/CVd2CtlxuMv1IuIq.mjs → browser/esm/vu0NRDeeTbEHPMYS.mjs} +1 -1
- package/{browser/esm/C1Of99Li1xuXVvHC.mjs → node/esm/B1VmvhXuEn7zaTB9.mjs} +1 -1
- package/node/esm/{BfPVZqcuHtLRxqLI.mjs → BQyZVLTMNFLbjVap.mjs} +1 -1
- package/{browser/esm/Cmx9jVLihcV7UU9j.mjs → node/esm/BRwwvGaJ6HvkxjFC.mjs} +1 -1
- package/node/esm/{CzzpVN7fGDVLTBAQ.mjs → Bma3CN4_Nec6_4n7.mjs} +1 -1
- package/{browser/esm/C8ez6oBw4sdDzSct.mjs → node/esm/BuGemmv84T8m0wqw.mjs} +1 -1
- package/{browser/esm/DN1_rspUH-tOwmED.mjs → node/esm/COqdI1LYTHd9oLA6.mjs} +1 -1
- package/node/esm/{v_larpTXJns5MbG8.mjs → CnVJ8GAsshRjRGA-.mjs} +1 -1
- package/node/esm/{CLQ1_t-YsFFTRbw1.mjs → CwoMEzOtRihuYUTr.mjs} +1 -1
- package/node/esm/{BXjhl9UdRwdpTLAB.mjs → DodhOXkSzelSxHmB.mjs} +1 -1
- package/node/esm/{D-wUpQDKX_k0SiSj.mjs → DpoZ7h1ScIJvbOY9.mjs} +1 -1
- package/node/esm/{CYm12WYrfdzPk8cm.mjs → Dy6UD7hQRBsT0WNp.mjs} +1 -1
- package/node/esm/{CVifmXw-tD8LimNW.mjs → LAkTk93odAfpvx50.mjs} +1 -1
- package/node/esm/index.mjs +891 -755
- package/node/esm/{DEQPjlaWWG7gXPtm.mjs → srpVt74r2zbvm1N0.mjs} +1 -1
- package/{browser/esm/CVd2CtlxuMv1IuIq.mjs → node/esm/vu0NRDeeTbEHPMYS.mjs} +1 -1
- package/package.json +3 -3
- package/types/src/_utils/Consts.d.ts +2 -2
- package/types/src/_utils/FinanceUtils.d.ts +17 -0
- package/types/src/financial/Financial.d.ts +12 -11
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.
|
|
2
|
+
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.8.0-beta.1
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.
|
|
2
|
+
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.8.0-beta.1
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheetxl/formulas-extended",
|
|
3
3
|
"description": "Formulas Enterprise - TypeScript formulas compatible with Excel built-ins.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0-beta.1",
|
|
5
5
|
"license": "SEE LICENSE IN <LICENSE>",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"formulas"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@sheetxl/primitives": "^0.
|
|
41
|
-
"@sheetxl/scripting": "^0.
|
|
40
|
+
"@sheetxl/primitives": "^0.8.0-beta.1",
|
|
41
|
+
"@sheetxl/scripting": "^0.8.0-beta.1"
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -7,8 +7,8 @@ export declare const ColumnOriented: Readonly<{
|
|
|
7
7
|
export declare const RowOriented: Readonly<{
|
|
8
8
|
axis: "row";
|
|
9
9
|
}>;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const RowOrientedNumbers: Readonly<{
|
|
11
11
|
type: "number";
|
|
12
|
-
axis: "
|
|
12
|
+
axis: "row";
|
|
13
13
|
}>;
|
|
14
14
|
//# sourceMappingURL=Consts.d.ts.map
|
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
import { IRuntime } from '@sheetxl/primitives';
|
|
2
2
|
export declare const defaultCurrencyFormat: (runtime: IRuntime) => string;
|
|
3
|
+
/**
|
|
4
|
+
* `base ^ exponent` as Excel evaluates it (the `^` operator, POWER, and the powers inside the
|
|
5
|
+
* time-value-of-money functions all agree — measured 2026-08-26, Excel 16.0 build 20326).
|
|
6
|
+
*
|
|
7
|
+
* For an INTEGER exponent of magnitude up to 4294967294 (2^32 − 2) Excel does not call a
|
|
8
|
+
* correctly rounded pow: it multiplies — right-to-left binary exponentiation, a negative exponent
|
|
9
|
+
* as the reciprocal of the positive power — and the rounding of every intermediate product is
|
|
10
|
+
* carried into the result. That is invisible at the 15th digit of `(1+r)^n` itself, but a caller
|
|
11
|
+
* that divides `(1+r)^n − 1` by a small `r` amplifies the last bits: `FV(1E-9,360,-100,-1000)`
|
|
12
|
+
* agrees with Excel to 8 digits on `Math.pow` and is bit-exact on this form. From 2^32 − 1 up, and
|
|
13
|
+
* for every non-integer exponent, Excel is `exp(y · ln x)` in double — closer to it than libm pow
|
|
14
|
+
* on the sensitive rows (`FV(1E-15,12.5,…)` is 2 digits on `Math.pow`, exact here), and equal to
|
|
15
|
+
* it everywhere else measured.
|
|
16
|
+
*
|
|
17
|
+
* A zero base follows the `^` operator: `0^0` is #NUM! and `0^negative` is #DIV/0!.
|
|
18
|
+
*/
|
|
19
|
+
export declare const excelPow: (base: number, exponent: number) => number;
|
|
3
20
|
//# sourceMappingURL=FinanceUtils.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Scalar, IRange, Flatten } from '@sheetxl/primitives';
|
|
1
|
+
import { Scalar, Omittable, AcceptError, IRange, Flatten } from '@sheetxl/primitives';
|
|
2
2
|
/**
|
|
3
3
|
* @summary Returns the number of days from the beginning of the coupon period to the settlement date.
|
|
4
4
|
* @param settlement is the security's settlement date, expressed as a serial date number.
|
|
@@ -17,10 +17,9 @@ frequency: number, basis?: number): number;
|
|
|
17
17
|
* @param startPeriod is the first period in the calculation.
|
|
18
18
|
* @param endPeriod is the last period in the calculation.
|
|
19
19
|
* @param type is the timing of the payment.
|
|
20
|
+
* @compat atp
|
|
20
21
|
*/
|
|
21
|
-
export declare function CUMIPMT(rate:
|
|
22
|
-
endPeriod: number, // date
|
|
23
|
-
type: number): number;
|
|
22
|
+
export declare function CUMIPMT(rate: Omittable<Scalar>, nper: Omittable<Scalar>, pv: Omittable<Scalar>, startPeriod: Omittable<Scalar>, endPeriod: Omittable<Scalar>, type: Omittable<Scalar>): number;
|
|
24
23
|
/**
|
|
25
24
|
* @summary Returns the cumulative principal paid on a loan between two periods.
|
|
26
25
|
* @param rate is the interest rate.
|
|
@@ -29,10 +28,9 @@ type: number): number;
|
|
|
29
28
|
* @param startPeriod is the first period in the calculation.
|
|
30
29
|
* @param endPeriod is the last period in the calculation.
|
|
31
30
|
* @param type is the timing of the payment.
|
|
31
|
+
* @compat atp
|
|
32
32
|
*/
|
|
33
|
-
export declare function CUMPRINC(rate:
|
|
34
|
-
endPeriod: number, // date
|
|
35
|
-
type: number): number;
|
|
33
|
+
export declare function CUMPRINC(rate: Omittable<Scalar>, nper: Omittable<Scalar>, pv: Omittable<Scalar>, startPeriod: Omittable<Scalar>, endPeriod: Omittable<Scalar>, type: Omittable<Scalar>): number;
|
|
36
34
|
/**
|
|
37
35
|
* @summary Returns the depreciation of an asset for a specified period using the fixed-declining balance method.
|
|
38
36
|
* @param cost is the initial cost of the asset.
|
|
@@ -81,8 +79,9 @@ export declare function DOLLARFR(decimalDollar: number, fraction: number): numbe
|
|
|
81
79
|
* @summary Returns the effective annual interest rate.
|
|
82
80
|
* @param nominalRate is the nominal interest rate.
|
|
83
81
|
* @param npery is the number of compounding periods per year.
|
|
82
|
+
* @compat atp
|
|
84
83
|
*/
|
|
85
|
-
export declare function EFFECT(nominalRate:
|
|
84
|
+
export declare function EFFECT(nominalRate: Omittable<Scalar>, npery: Omittable<Scalar>): number;
|
|
86
85
|
/**
|
|
87
86
|
* @summary Returns the future value of an investment based on periodic, constant payments and a constant interest rate.
|
|
88
87
|
* @param rate is the interest rate.
|
|
@@ -96,8 +95,9 @@ export declare function FV(rate: number, nper: number, pmt: number, pv?: number,
|
|
|
96
95
|
* @summary Returns the future value of an initial principal after applying a series of compound interest rates.
|
|
97
96
|
* @param principal is the present value.
|
|
98
97
|
* @param schedule is an array of interest rates to apply.
|
|
98
|
+
* @compat atp
|
|
99
99
|
*/
|
|
100
|
-
export declare function FVSCHEDULE(principal:
|
|
100
|
+
export declare function FVSCHEDULE(principal: Omittable<Scalar>, schedule: Omittable<AcceptError<IRange>>): number;
|
|
101
101
|
/**
|
|
102
102
|
* @summary Returns the interest payment for a given period for an investment, based on periodic, constant payments and a constant interest rate.
|
|
103
103
|
* @param rate is the interest rate.
|
|
@@ -133,8 +133,9 @@ export declare function MIRR(values: Flatten<number>, financeRate: number, reinv
|
|
|
133
133
|
* @summary Returns the annual nominal interest rate.
|
|
134
134
|
* @param effectiveRate is the effective interest rate.
|
|
135
135
|
* @param npery is the number of compounding periods per year.
|
|
136
|
+
* @compat atp
|
|
136
137
|
*/
|
|
137
|
-
export declare function NOMINAL(effectiveRate:
|
|
138
|
+
export declare function NOMINAL(effectiveRate: Omittable<Scalar>, npery: Omittable<Scalar>): number;
|
|
138
139
|
/**
|
|
139
140
|
* @summary Returns the number of periods for an investment based on periodic, constant payments and a constant interest rate.
|
|
140
141
|
* @param rate is the interest rate per period. For example, use 6%/4 for quarterly payments at 6% APR.
|
|
@@ -149,7 +150,7 @@ export declare function NPER(rate: number, pmt: number, pv: number, fv?: number,
|
|
|
149
150
|
* @param rate is the rate of discount over the length of one period.
|
|
150
151
|
* @param value are 1 to 254 payments and income, equally spaced in time and occurring at the end of each period.
|
|
151
152
|
*/
|
|
152
|
-
export declare function NPV(rate: number, value: number[]): number;
|
|
153
|
+
export declare function NPV(rate: number, value: IRange<number>[]): number;
|
|
153
154
|
/**
|
|
154
155
|
* @summary Returns the number of periods required by an investment to reach a specified value.
|
|
155
156
|
* @param rate is the interest rate.
|