@sheetxl/formulas-extended 0.7.28-beta.2 → 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.
Files changed (34) hide show
  1. package/browser/cjs/index.cjs +1 -1
  2. package/{node/esm/C8vOC9_7DLVBsPXy.mjs → browser/esm/BKnXVC21NesUzU9t.mjs} +1 -1
  3. package/browser/esm/{C0cZsHzgGDemD-l3.mjs → BybuwnuafVL8RdTx.mjs} +1 -1
  4. package/browser/esm/{C1ECvSkTManlFL7G.mjs → C2TyRseZg5dWtMq1.mjs} +1 -1
  5. package/{node/esm/a0UQiNGB7NCafTsH.mjs → browser/esm/CN-pAKHIFQkkdFFB.mjs} +1 -1
  6. package/browser/esm/{C_Fet1rSqDlFv3GI.mjs → CShl-IMQIPnBMVpb.mjs} +1 -1
  7. package/browser/esm/{B3g4USx_KrLdzekR.mjs → CsrMSYiKGo3-I_Qk.mjs} +1 -1
  8. package/browser/esm/{eeLomedzreTFESSQ.mjs → DnFUggiR6cNYknMt.mjs} +1 -1
  9. package/browser/esm/{D5JuejvKoZVVkVKK.mjs → DoS1jziW_TXjkH37.mjs} +1 -1
  10. package/browser/esm/{XGh6r2a-waOuGHM2.mjs → DsJzZKURvUm7apNu.mjs} +1 -1
  11. package/browser/esm/{DEvUjIE2n4dFF6P6.mjs → DxiRpwBhgWoK5Erd.mjs} +1 -1
  12. package/{node/esm/BkU33eR2T8sZtERg.mjs → browser/esm/XATNfSb9mKkYP5Fr.mjs} +1 -1
  13. package/{node/esm/BVQymbfyVvkO-yIZ.mjs → browser/esm/ffkoQUSdLhFyILRL.mjs} +1 -1
  14. package/{node/esm/BSYaWqyLvaksQNdh.mjs → browser/esm/fhXUc-E6MSehd9Ep.mjs} +1 -1
  15. package/browser/esm/index.mjs +352 -302
  16. package/browser/esm/{Pjvcjv0XP8hxlXXe.mjs → y9VKeU12ARR9HmtI.mjs} +1 -1
  17. package/{browser/esm/C8vOC9_7DLVBsPXy.mjs → node/esm/BKnXVC21NesUzU9t.mjs} +1 -1
  18. package/node/esm/{Cxo1pbAriwDJoSrM.mjs → C21UeAwlG4Qkfu1Z.mjs} +1 -1
  19. package/node/esm/{C1ECvSkTManlFL7G.mjs → C2TyRseZg5dWtMq1.mjs} +1 -1
  20. package/{browser/esm/a0UQiNGB7NCafTsH.mjs → node/esm/CN-pAKHIFQkkdFFB.mjs} +1 -1
  21. package/node/esm/{C_Fet1rSqDlFv3GI.mjs → CShl-IMQIPnBMVpb.mjs} +1 -1
  22. package/node/esm/{B3g4USx_KrLdzekR.mjs → CsrMSYiKGo3-I_Qk.mjs} +1 -1
  23. package/node/esm/{D5JuejvKoZVVkVKK.mjs → DoS1jziW_TXjkH37.mjs} +1 -1
  24. package/node/esm/{XGh6r2a-waOuGHM2.mjs → DsJzZKURvUm7apNu.mjs} +1 -1
  25. package/node/esm/{DEvUjIE2n4dFF6P6.mjs → DxiRpwBhgWoK5Erd.mjs} +1 -1
  26. package/{browser/esm/BkU33eR2T8sZtERg.mjs → node/esm/XATNfSb9mKkYP5Fr.mjs} +1 -1
  27. package/{browser/esm/BVQymbfyVvkO-yIZ.mjs → node/esm/ffkoQUSdLhFyILRL.mjs} +1 -1
  28. package/{browser/esm/BSYaWqyLvaksQNdh.mjs → node/esm/fhXUc-E6MSehd9Ep.mjs} +1 -1
  29. package/node/esm/index.mjs +849 -797
  30. package/node/esm/{DLvIV2sqWnu3-RVi.mjs → v9tvQuvQYcFQ0zOs.mjs} +1 -1
  31. package/node/esm/{Pjvcjv0XP8hxlXXe.mjs → y9VKeU12ARR9HmtI.mjs} +1 -1
  32. package/package.json +3 -3
  33. package/types/src/_utils/FinanceUtils.d.ts +17 -0
  34. 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
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
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.2",
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.2",
41
- "@sheetxl/scripting": "^0.7.28-beta.2"
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, // date
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, // date
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.