@sheetxl/formulas-extended 0.7.28-beta.3 → 0.7.28-beta.4
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/C8ez6oBw4sdDzSct.mjs → browser/esm/BKnXVC21NesUzU9t.mjs} +1 -1
- package/browser/esm/{Lw7SD9UV2xQaHBMY.mjs → BybuwnuafVL8RdTx.mjs} +1 -1
- package/browser/esm/{CYm12WYrfdzPk8cm.mjs → C2TyRseZg5dWtMq1.mjs} +1 -1
- package/{node/esm/Cmx9jVLihcV7UU9j.mjs → browser/esm/CN-pAKHIFQkkdFFB.mjs} +1 -1
- package/browser/esm/{CLQ1_t-YsFFTRbw1.mjs → CShl-IMQIPnBMVpb.mjs} +1 -1
- package/{node/esm/C1Of99Li1xuXVvHC.mjs → browser/esm/CsrMSYiKGo3-I_Qk.mjs} +1 -1
- package/browser/esm/{CEzXDdvqDDZbH1WV.mjs → DnFUggiR6cNYknMt.mjs} +1 -1
- package/browser/esm/{DEQPjlaWWG7gXPtm.mjs → DoS1jziW_TXjkH37.mjs} +1 -1
- package/{node/esm/CVd2CtlxuMv1IuIq.mjs → browser/esm/DsJzZKURvUm7apNu.mjs} +1 -1
- package/browser/esm/{D-wUpQDKX_k0SiSj.mjs → DxiRpwBhgWoK5Erd.mjs} +1 -1
- package/browser/esm/{CzzpVN7fGDVLTBAQ.mjs → XATNfSb9mKkYP5Fr.mjs} +1 -1
- package/{node/esm/DN1_rspUH-tOwmED.mjs → browser/esm/ffkoQUSdLhFyILRL.mjs} +1 -1
- package/browser/esm/{BXjhl9UdRwdpTLAB.mjs → fhXUc-E6MSehd9Ep.mjs} +1 -1
- package/browser/esm/index.mjs +352 -302
- package/browser/esm/{v_larpTXJns5MbG8.mjs → y9VKeU12ARR9HmtI.mjs} +1 -1
- package/{browser/esm/C8ez6oBw4sdDzSct.mjs → node/esm/BKnXVC21NesUzU9t.mjs} +1 -1
- package/node/esm/{CVifmXw-tD8LimNW.mjs → C21UeAwlG4Qkfu1Z.mjs} +1 -1
- package/node/esm/{CYm12WYrfdzPk8cm.mjs → C2TyRseZg5dWtMq1.mjs} +1 -1
- package/{browser/esm/Cmx9jVLihcV7UU9j.mjs → node/esm/CN-pAKHIFQkkdFFB.mjs} +1 -1
- package/node/esm/{CLQ1_t-YsFFTRbw1.mjs → CShl-IMQIPnBMVpb.mjs} +1 -1
- package/{browser/esm/C1Of99Li1xuXVvHC.mjs → node/esm/CsrMSYiKGo3-I_Qk.mjs} +1 -1
- package/node/esm/{DEQPjlaWWG7gXPtm.mjs → DoS1jziW_TXjkH37.mjs} +1 -1
- package/{browser/esm/CVd2CtlxuMv1IuIq.mjs → node/esm/DsJzZKURvUm7apNu.mjs} +1 -1
- package/node/esm/{D-wUpQDKX_k0SiSj.mjs → DxiRpwBhgWoK5Erd.mjs} +1 -1
- package/node/esm/{CzzpVN7fGDVLTBAQ.mjs → XATNfSb9mKkYP5Fr.mjs} +1 -1
- package/{browser/esm/DN1_rspUH-tOwmED.mjs → node/esm/ffkoQUSdLhFyILRL.mjs} +1 -1
- package/node/esm/{BXjhl9UdRwdpTLAB.mjs → fhXUc-E6MSehd9Ep.mjs} +1 -1
- package/node/esm/index.mjs +849 -797
- package/node/esm/{BfPVZqcuHtLRxqLI.mjs → v9tvQuvQYcFQ0zOs.mjs} +1 -1
- package/node/esm/{v_larpTXJns5MbG8.mjs → y9VKeU12ARR9HmtI.mjs} +1 -1
- package/package.json +3 -3
- package/types/src/_utils/FinanceUtils.d.ts +17 -0
- package/types/src/financial/Financial.d.ts +3 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.28-beta.
|
|
2
|
+
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.28-beta.4
|
|
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.7.28-beta.
|
|
2
|
+
* @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.28-beta.4
|
|
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.7.28-beta.
|
|
4
|
+
"version": "0.7.28-beta.4",
|
|
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.7.28-beta.
|
|
41
|
-
"@sheetxl/scripting": "^0.7.28-beta.
|
|
40
|
+
"@sheetxl/primitives": "^0.7.28-beta.4",
|
|
41
|
+
"@sheetxl/scripting": "^0.7.28-beta.4"
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -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
|
|
@@ -18,9 +18,7 @@ frequency: number, basis?: number): number;
|
|
|
18
18
|
* @param endPeriod is the last period in the calculation.
|
|
19
19
|
* @param type is the timing of the payment.
|
|
20
20
|
*/
|
|
21
|
-
export declare function CUMIPMT(rate: number, nper: number, pv: number, startPeriod: number,
|
|
22
|
-
endPeriod: number, // date
|
|
23
|
-
type: number): number;
|
|
21
|
+
export declare function CUMIPMT(rate: number, nper: number, pv: number, startPeriod: number, endPeriod: number, type: number): number;
|
|
24
22
|
/**
|
|
25
23
|
* @summary Returns the cumulative principal paid on a loan between two periods.
|
|
26
24
|
* @param rate is the interest rate.
|
|
@@ -30,9 +28,7 @@ type: number): number;
|
|
|
30
28
|
* @param endPeriod is the last period in the calculation.
|
|
31
29
|
* @param type is the timing of the payment.
|
|
32
30
|
*/
|
|
33
|
-
export declare function CUMPRINC(rate: number, nper: number, pv: number, startPeriod: number,
|
|
34
|
-
endPeriod: number, // date
|
|
35
|
-
type: number): number;
|
|
31
|
+
export declare function CUMPRINC(rate: number, nper: number, pv: number, startPeriod: number, endPeriod: number, type: number): number;
|
|
36
32
|
/**
|
|
37
33
|
* @summary Returns the depreciation of an asset for a specified period using the fixed-declining balance method.
|
|
38
34
|
* @param cost is the initial cost of the asset.
|
|
@@ -149,7 +145,7 @@ export declare function NPER(rate: number, pmt: number, pv: number, fv?: number,
|
|
|
149
145
|
* @param rate is the rate of discount over the length of one period.
|
|
150
146
|
* @param value are 1 to 254 payments and income, equally spaced in time and occurring at the end of each period.
|
|
151
147
|
*/
|
|
152
|
-
export declare function NPV(rate: number, value: number[]): number;
|
|
148
|
+
export declare function NPV(rate: number, value: IRange<number>[]): number;
|
|
153
149
|
/**
|
|
154
150
|
* @summary Returns the number of periods required by an investment to reach a specified value.
|
|
155
151
|
* @param rate is the interest rate.
|