@sheetxl/formulas 0.7.28-beta.4 → 0.8.0-beta.2

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 (111) hide show
  1. package/README.md +15 -22
  2. package/browser/cjs/B6vy56yEA1I3B74O.cjs +1 -0
  3. package/browser/cjs/BcROQ4pvVajDQ1em.cjs +1 -0
  4. package/browser/cjs/{CRx1WvmgBjT8WVyB.cjs → C0g87ndP2zMUbX6f.cjs} +1 -1
  5. package/browser/cjs/C9q3zr8iCIoYDrdA.cjs +1 -0
  6. package/browser/cjs/CVHc_cJddJk7J3Zt.cjs +1 -0
  7. package/browser/cjs/{EeOVMRq7TuptFKTc.cjs → DF4l8xrxkcLkgExp.cjs} +1 -1
  8. package/browser/cjs/{Du4jBiFxRIF1OjD4.cjs → Dtxj9JR14A-uliu5.cjs} +1 -1
  9. package/browser/cjs/{CpJJh4UnFl1_qFui.cjs → Dx7GQ4ALtNG3kshu.cjs} +1 -1
  10. package/browser/cjs/index.cjs +1 -1
  11. package/browser/esm/{DiV1y5wtlmlsRDfm.mjs → -kS84bK3sUejOdg1.mjs} +1 -1
  12. package/browser/esm/{K0CU2XaCnJJwh9a5.mjs → 4OV2RO_CWP4nMkqC.mjs} +37 -3
  13. package/browser/esm/{jFM2MqBdxFWP6QmN.mjs → B0Y4YjJhQJA8Muz4.mjs} +1 -1
  14. package/{node/esm/CWI62PClHru85-mL.mjs → browser/esm/BJUX0gG7CASl9l_q.mjs} +1 -1
  15. package/browser/esm/{BHG0YIMg5kOV3mNl.mjs → BUPw_w8LCTxzqyi2.mjs} +1 -1
  16. package/{node/esm/BIxWkCV-r5U5zPnQ.mjs → browser/esm/BVuHG04ucrGkymAy.mjs} +51 -11
  17. package/browser/esm/{CB4iUafw8x-4z_ff.mjs → B_5HCl2iI1AXGllh.mjs} +2 -5
  18. package/{node/esm/DQXZXiayIDbfnOUM.mjs → browser/esm/BauuYQVGaczFYyqn.mjs} +1 -1
  19. package/{node/esm/BM0KaGfI1Lqav17f.mjs → browser/esm/BdJJZaNRqLYncn3r.mjs} +1 -1
  20. package/browser/esm/{VRXC1SwOYSkv1Vs4.mjs → Bf43Iq3IvoB06LYk.mjs} +1 -1
  21. package/browser/esm/{Ctxig2_c-GErg911.mjs → Bg8866dMayL6y1H_.mjs} +69 -4
  22. package/{node/esm/CmxGNGhfoNTz4Ku7.mjs → browser/esm/Boi3LcM8Iivb_l5K.mjs} +2 -2
  23. package/browser/esm/{ec8i9mVgadWEbuYy.mjs → BtONPY8z9-XPAqsg.mjs} +1 -1
  24. package/browser/esm/{DNz39xRoqy8IPYb3.mjs → BxhVZW45vJLHJn3w.mjs} +1 -1
  25. package/{node/esm/74anAHR6YDREjbgI.mjs → browser/esm/CJZ-TeBArj3iV0tc.mjs} +2 -2
  26. package/browser/esm/{B2b-ZmAhe94pNDT0.mjs → CUk8EwtBWwlXCR2j.mjs} +1 -1
  27. package/{node/esm/Co7O0P5yM1i0exNK.mjs → browser/esm/CWY6SMVnWP72iGrA.mjs} +1 -1
  28. package/{node/esm/BXyQ76W9hObzOdf2.mjs → browser/esm/CWmrg99dGX7KkCJU.mjs} +1 -1
  29. package/browser/esm/{AuzqFslmIMxseCn8.mjs → CXl9CXf0KGXUNtZp.mjs} +1 -1
  30. package/{node/esm/ymPI-MJUjuYe2n5v.mjs → browser/esm/CZUEcjLsLIjL75Zs.mjs} +1 -1
  31. package/{node/esm/DjFalvyAcEOwNagC.mjs → browser/esm/CcmByvKzgVja3yr6.mjs} +1 -1
  32. package/browser/esm/{wDeMNrClyQscDTwZ.mjs → CkY_1RRc5tkjyrED.mjs} +48 -2
  33. package/browser/esm/{DIUPlZfIoj507k-C.mjs → DjXw3atxP-P9JI39.mjs} +1 -1
  34. package/{node/esm/B2zbBC2YuaYszbHd.mjs → browser/esm/Dlez38Z5X0YBU2xQ.mjs} +1 -1
  35. package/browser/esm/{BebVPCumXxQqABDP.mjs → fqbUfTxrCDBe0sHK.mjs} +2 -2
  36. package/browser/esm/index.mjs +4917 -5123
  37. package/licenses/dependencies.txt +0 -33
  38. package/node/esm/{DiV1y5wtlmlsRDfm.mjs → -kS84bK3sUejOdg1.mjs} +1 -1
  39. package/node/esm/{K0CU2XaCnJJwh9a5.mjs → 4OV2RO_CWP4nMkqC.mjs} +37 -3
  40. package/{browser/esm/CWI62PClHru85-mL.mjs → node/esm/BJUX0gG7CASl9l_q.mjs} +1 -1
  41. package/node/esm/{BHG0YIMg5kOV3mNl.mjs → BUPw_w8LCTxzqyi2.mjs} +1 -1
  42. package/node/esm/{CB4iUafw8x-4z_ff.mjs → B_5HCl2iI1AXGllh.mjs} +2 -5
  43. package/{browser/esm/DQXZXiayIDbfnOUM.mjs → node/esm/BauuYQVGaczFYyqn.mjs} +1 -1
  44. package/{browser/esm/BM0KaGfI1Lqav17f.mjs → node/esm/BdJJZaNRqLYncn3r.mjs} +1 -1
  45. package/node/esm/{VRXC1SwOYSkv1Vs4.mjs → Bf43Iq3IvoB06LYk.mjs} +1 -1
  46. package/node/esm/{Ctxig2_c-GErg911.mjs → Bg8866dMayL6y1H_.mjs} +69 -4
  47. package/{browser/esm/CmxGNGhfoNTz4Ku7.mjs → node/esm/Boi3LcM8Iivb_l5K.mjs} +2 -2
  48. package/node/esm/{Dnrd8jP_j1AWCUX6.mjs → BpDSup4ua3hmCgHS.mjs} +1 -1
  49. package/{browser/esm/BIxWkCV-r5U5zPnQ.mjs → node/esm/BtaLrrwE55oJIcLv.mjs} +51 -11
  50. package/{browser/esm/74anAHR6YDREjbgI.mjs → node/esm/CJZ-TeBArj3iV0tc.mjs} +2 -2
  51. package/node/esm/{B2b-ZmAhe94pNDT0.mjs → CUk8EwtBWwlXCR2j.mjs} +1 -1
  52. package/{browser/esm/Co7O0P5yM1i0exNK.mjs → node/esm/CWY6SMVnWP72iGrA.mjs} +1 -1
  53. package/{browser/esm/BXyQ76W9hObzOdf2.mjs → node/esm/CWmrg99dGX7KkCJU.mjs} +1 -1
  54. package/{browser/esm/ymPI-MJUjuYe2n5v.mjs → node/esm/CZUEcjLsLIjL75Zs.mjs} +1 -1
  55. package/{browser/esm/DjFalvyAcEOwNagC.mjs → node/esm/CcmByvKzgVja3yr6.mjs} +1 -1
  56. package/node/esm/{D1iK18Nn8mRQo6Fk.mjs → Cn2Y6fUYzZTcjL1D.mjs} +1 -1
  57. package/node/esm/{8_dh9QnzvNBCvWpp.mjs → D2BWBzQdoBCT5mqS.mjs} +1 -1
  58. package/node/esm/{BsBiI5HHw7jjXgp5.mjs → DAuNtqi47mn8k6wW.mjs} +1 -1
  59. package/{browser/esm/B2zbBC2YuaYszbHd.mjs → node/esm/Dlez38Z5X0YBU2xQ.mjs} +1 -1
  60. package/node/esm/{wDeMNrClyQscDTwZ.mjs → Dz7ST1qPjkq088mt.mjs} +48 -2
  61. package/node/esm/{DcSbVdpEmRbpaZf0.mjs → L1ywxrMIpFzquai3.mjs} +1 -1
  62. package/node/esm/{BebVPCumXxQqABDP.mjs → fqbUfTxrCDBe0sHK.mjs} +2 -2
  63. package/node/esm/index.mjs +5532 -3905
  64. package/package.json +4 -5
  65. package/types/src/.generated/decl/dateTime/Date.decl.d.ts +2 -1
  66. package/types/src/.generated/decl/information/Information.decl.d.ts +2 -1
  67. package/types/src/.generated/decl/lookupReference/Reference.decl.d.ts +2 -1
  68. package/types/src/.generated/decl/mathTrig/Math.decl.d.ts +2 -1
  69. package/types/src/.generated/desc/dateTime/Date.desc.d.ts +2 -1
  70. package/types/src/.generated/desc/information/Information.desc.d.ts +2 -1
  71. package/types/src/.generated/desc/lookupReference/Reference.desc.d.ts +2 -1
  72. package/types/src/.generated/desc/mathTrig/Math.desc.d.ts +2 -1
  73. package/types/src/_utils/AValues.d.ts +30 -0
  74. package/types/src/_utils/AggregateIFS.d.ts +5 -3
  75. package/types/src/_utils/Arithmetic.d.ts +36 -0
  76. package/types/src/_utils/Combinatorics.d.ts +20 -0
  77. package/types/src/_utils/Distributions.d.ts +94 -0
  78. package/types/src/_utils/Errors.d.ts +1 -20
  79. package/types/src/_utils/FirstCell.d.ts +32 -0
  80. package/types/src/_utils/Matrix.d.ts +31 -0
  81. package/types/src/_utils/SpecialFunctions.d.ts +91 -0
  82. package/types/src/_utils/X87.d.ts +28 -0
  83. package/types/src/database/Database.d.ts +25 -25
  84. package/types/src/dateTime/Date.d.ts +250 -41
  85. package/types/src/engineering/Bessel.d.ts +9 -9
  86. package/types/src/engineering/Bitwise.d.ts +35 -35
  87. package/types/src/engineering/Convert.d.ts +3 -3
  88. package/types/src/engineering/Engineering.d.ts +5 -5
  89. package/types/src/engineering/Error.d.ts +9 -9
  90. package/types/src/engineering/Imaginary.d.ts +54 -54
  91. package/types/src/information/Information.d.ts +124 -55
  92. package/types/src/japanese/Date.d.ts +2 -2
  93. package/types/src/japanese/Text.d.ts +1 -1
  94. package/types/src/logical/Logical.d.ts +45 -39
  95. package/types/src/lookupReference/GroupBy.d.ts +4 -4
  96. package/types/src/lookupReference/PivotBy.d.ts +4 -4
  97. package/types/src/lookupReference/Reference.d.ts +212 -86
  98. package/types/src/mathTrig/Math.d.ts +499 -149
  99. package/types/src/mathTrig/Trig.d.ts +26 -22
  100. package/types/src/operators/Operators.d.ts +15 -15
  101. package/types/src/statistical/Distribution.d.ts +157 -161
  102. package/types/src/statistical/Statistical.d.ts +37 -37
  103. package/types/src/testing/Testing.d.ts +2 -2
  104. package/types/src/text/Text.d.ts +119 -54
  105. package/types/src/thai/Text.d.ts +1 -1
  106. package/types/src/web/FilterXML.d.ts +1 -1
  107. package/types/src/web/Web.d.ts +2 -2
  108. package/browser/cjs/49_x589Na12sizKK.cjs +0 -1
  109. package/browser/cjs/C9C-pr-T_ThweQX9.cjs +0 -1
  110. package/browser/cjs/DCIlWcGDrp-5PDoA.cjs +0 -1
  111. package/browser/cjs/Kvn916ebqGc4t6hv.cjs +0 -1
@@ -1,153 +1,153 @@
1
- import { AcceptError, Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Omittable, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Converts real and imaginary coefficients into a complex number.
3
+ * Converts real and imaginary coefficients into a complex number.
4
4
  * @param realNum is the real coefficient of the complex number.
5
5
  * @param iNum is the imaginary coefficient of the complex number.
6
6
  * @param suffix is the suffix for the imaginary component of the complex number.
7
7
  */
8
- export declare function COMPLEX(realNum: AcceptError<Scalar>, iNum: AcceptError<Scalar>, suffix?: AcceptError<string>): Scalar;
8
+ export declare function COMPLEX(realNum: NoLift<Omittable<AcceptError<Scalar>>>, iNum: NoLift<Omittable<AcceptError<Scalar>>>, suffix?: NoLift<AcceptError<string>>): Scalar;
9
9
  /**
10
- * @summary Returns the absolute value (modulus) of a complex number
10
+ * Returns the absolute value (modulus) of a complex number
11
11
  * @param inumber is a complex number for which you want the absolute value
12
12
  */
13
- export declare function IMABS(inumber: Scalar): number;
13
+ export declare function IMABS(inumber: NoLift<Scalar>): number;
14
14
  /**
15
- * @summary Returns the imaginary coefficient of a complex number
15
+ * Returns the imaginary coefficient of a complex number
16
16
  * @param inumber is a complex number for which you want the imaginary coefficient
17
17
  */
18
- export declare function IMAGINARY(inumber: Scalar): number;
18
+ export declare function IMAGINARY(inumber: NoLift<Scalar>): number;
19
19
  /**
20
- * @summary Returns the argument q, an angle expressed in radians
20
+ * Returns the argument q, an angle expressed in radians
21
21
  * @param inumber is a complex number for which you want the argument
22
22
  */
23
- export declare function IMARGUMENT(inumber: Scalar): number;
23
+ export declare function IMARGUMENT(inumber: NoLift<Scalar>): number;
24
24
  /**
25
- * @summary Returns the complex conjugate of a complex number
25
+ * Returns the complex conjugate of a complex number
26
26
  * @param inumber is a complex number for which you want the conjugate
27
27
  */
28
- export declare function IMCONJUGATE(inumber: Scalar): Scalar;
28
+ export declare function IMCONJUGATE(inumber: NoLift<Scalar>): Scalar;
29
29
  /**
30
- * @summary Returns the cosine of a complex number
30
+ * Returns the cosine of a complex number
31
31
  * @param inumber is a complex number for which you want the cosine
32
32
  */
33
- export declare function IMCOS(inumber: Scalar): Scalar;
33
+ export declare function IMCOS(inumber: NoLift<Scalar>): Scalar;
34
34
  /**
35
- * @summary Returns the hyperbolic cosine of a complex number
35
+ * Returns the hyperbolic cosine of a complex number
36
36
  * @param inumber is a complex number for which you want the hyperbolic cosine
37
37
  */
38
- export declare function IMCOSH(inumber: Scalar): Scalar;
38
+ export declare function IMCOSH(inumber: NoLift<Scalar>): Scalar;
39
39
  /**
40
- * @summary Returns the cotangent of a complex number
40
+ * Returns the cotangent of a complex number
41
41
  * @param inumber is a complex number for which you want the cotangent
42
42
  */
43
- export declare function IMCOT(inumber: Scalar): Scalar;
43
+ export declare function IMCOT(inumber: NoLift<Scalar>): Scalar;
44
44
  /**
45
- * @summary Returns the hyperbolic cotangent of a complex number.
45
+ * Returns the hyperbolic cotangent of a complex number.
46
46
  * @param inumber is a complex number for which you want the hyperbolic cotangent.
47
47
  * @category Sheets
48
48
  */
49
49
  export declare function IMCOTH(inumber: Scalar): Scalar;
50
50
  /**
51
- * @summary Returns the cosecant of a complex number
51
+ * Returns the cosecant of a complex number
52
52
  * @param inumber is a complex number for which you want the cosecant
53
53
  */
54
- export declare function IMCSC(inumber: Scalar): Scalar;
54
+ export declare function IMCSC(inumber: NoLift<Scalar>): Scalar;
55
55
  /**
56
- * @summary Returns the hyperbolic cosecant of a complex number
56
+ * Returns the hyperbolic cosecant of a complex number
57
57
  * @param inumber is a complex number for which you want the hyperbolic cosecant
58
58
  */
59
- export declare function IMCSCH(inumber: Scalar): Scalar;
59
+ export declare function IMCSCH(inumber: NoLift<Scalar>): Scalar;
60
60
  /**
61
- * @summary Returns the quotient of two complex numbers
61
+ * Returns the quotient of two complex numbers
62
62
  * @param inumber1 is the complex numerator or dividend
63
63
  * @param inumber2 is the complex denominator or divisor
64
64
  */
65
- export declare function IMDIV(inumber1: Scalar, inumber2: Scalar): Scalar;
65
+ export declare function IMDIV(inumber1: NoLift<Omittable<AcceptError<Scalar>>>, inumber2: NoLift<Omittable<AcceptError<Scalar>>>): Scalar;
66
66
  /**
67
- * @summary Returns the exponential of a complex number
67
+ * Returns the exponential of a complex number
68
68
  * @param inumber is a complex number for which you want the exponential
69
69
  */
70
- export declare function IMEXP(inumber: Scalar): Scalar;
70
+ export declare function IMEXP(inumber: NoLift<Scalar>): Scalar;
71
71
  /**
72
- * @summary Returns the exponential of a complex number
72
+ * Returns the exponential of a complex number
73
73
  * @param inumber is a complex number for which you want the exponential
74
74
  */
75
- export declare function IMLN(inumber: Scalar): Scalar;
75
+ export declare function IMLN(inumber: NoLift<Scalar>): Scalar;
76
76
  /**
77
- * @summary Returns the logarithm of a complex number to a specified base.
77
+ * Returns the logarithm of a complex number to a specified base.
78
78
  * @param inumber is a complex number for which you want the logarithm.
79
79
  * @param base is the base of the logarithm. Default is 10.
80
80
  * @category Sheets
81
81
  */
82
82
  export declare function IMLOG(inumber: Scalar, base?: number): Scalar;
83
83
  /**
84
- * @summary Returns the base-10 logarithm of a complex number
84
+ * Returns the base-10 logarithm of a complex number
85
85
  * @param inumber is a complex number for which you want the common logarithm
86
86
  */
87
- export declare function IMLOG10(inumber: Scalar): Scalar;
87
+ export declare function IMLOG10(inumber: NoLift<Scalar>): Scalar;
88
88
  /**
89
- * @summary Returns the base-2 logarithm of a complex number
89
+ * Returns the base-2 logarithm of a complex number
90
90
  * @param inumber is a complex number for which you want the base-2 logarithm
91
91
  */
92
- export declare function IMLOG2(inumber: Scalar): Scalar;
92
+ export declare function IMLOG2(inumber: NoLift<Scalar>): Scalar;
93
93
  /**
94
- * @summary Returns the base-2 logarithm of a complex number
94
+ * Returns the base-2 logarithm of a complex number
95
95
  * @param inumber is a complex number for which you want the base-2 logarithm
96
96
  */
97
- export declare function IMPOWER(inumber: Scalar, number: Scalar): Scalar;
97
+ export declare function IMPOWER(inumber: NoLift<Omittable<AcceptError<Scalar>>>, number: NoLift<Omittable<AcceptError<Scalar>>>): Scalar;
98
98
  /**
99
- * @summary Returns the product of 1 to 255 complex numbers
99
+ * Returns the product of 1 to 255 complex numbers
100
100
  * @param inumber are from 1 to 255 complex numbers to multiply.
101
101
  */
102
102
  export declare function IMPRODUCT(inumber: Scalar[]): Scalar;
103
103
  /**
104
- * @summary Returns the real coefficient of a complex number
104
+ * Returns the real coefficient of a complex number
105
105
  * @param inumber is a complex number for which you want the real coefficient
106
106
  */
107
- export declare function IMREAL(inumber: Scalar): number;
107
+ export declare function IMREAL(inumber: NoLift<Scalar>): number;
108
108
  /**
109
- * @summary Returns the secant of a complex number
109
+ * Returns the secant of a complex number
110
110
  * @param inumber is a complex number for which you want the secant
111
111
  */
112
- export declare function IMSEC(inumber: Scalar): Scalar;
112
+ export declare function IMSEC(inumber: NoLift<Scalar>): Scalar;
113
113
  /**
114
- * @summary Returns the hyperbolic secant of a complex number
114
+ * Returns the hyperbolic secant of a complex number
115
115
  * @param inumber is a complex number for which you want the hyperbolic secant
116
116
  */
117
- export declare function IMSECH(inumber: Scalar): Scalar;
117
+ export declare function IMSECH(inumber: NoLift<Scalar>): Scalar;
118
118
  /**
119
- * @summary Returns the sine of a complex number
119
+ * Returns the sine of a complex number
120
120
  * @param inumber is a complex number for which you want the sine
121
121
  */
122
- export declare function IMSIN(inumber: Scalar): Scalar;
122
+ export declare function IMSIN(inumber: NoLift<Scalar>): Scalar;
123
123
  /**
124
- * @summary Returns the hyperbolic sine of a complex number
124
+ * Returns the hyperbolic sine of a complex number
125
125
  * @param inumber is a complex number for which you want the hyperbolic sine
126
126
  */
127
- export declare function IMSINH(inumber: Scalar): Scalar;
127
+ export declare function IMSINH(inumber: NoLift<Scalar>): Scalar;
128
128
  /**
129
- * @summary Returns the square root of a complex number
129
+ * Returns the square root of a complex number
130
130
  * @param inumber is a complex number for which you want the square root
131
131
  */
132
- export declare function IMSQRT(inumber: Scalar): Scalar;
132
+ export declare function IMSQRT(inumber: NoLift<Scalar>): Scalar;
133
133
  /**
134
- * @summary Returns the difference of two complex numbers
134
+ * Returns the difference of two complex numbers
135
135
  * @param inumber1 is the complex number from which to subtract inumber2
136
136
  * @param inumber2 is the complex number to subtract from inumber1
137
137
  */
138
- export declare function IMSUB(inumber1: Scalar, inumber2: Scalar): Scalar;
138
+ export declare function IMSUB(inumber1: NoLift<Omittable<AcceptError<Scalar>>>, inumber2: NoLift<Omittable<AcceptError<Scalar>>>): Scalar;
139
139
  /**
140
- * @summary Returns the sum of complex numbers
140
+ * Returns the sum of complex numbers
141
141
  * @param inumber are from 1 to 255 complex numbers to add
142
142
  */
143
143
  export declare function IMSUM(inumber: Scalar[]): Scalar;
144
144
  /**
145
- * @summary Returns the tangent of a complex number
145
+ * Returns the tangent of a complex number
146
146
  * @param inumber is a complex number for which you want the tangent
147
147
  */
148
- export declare function IMTAN(inumber: Scalar): Scalar;
148
+ export declare function IMTAN(inumber: NoLift<Scalar>): Scalar;
149
149
  /**
150
- * @summary Returns the hyperbolic tangent of a complex number.
150
+ * Returns the hyperbolic tangent of a complex number.
151
151
  * @param inumber is a complex number for which you want the hyperbolic tangent.
152
152
  * @category Sheets
153
153
  */
@@ -1,48 +1,122 @@
1
- import { FormulaError, AcceptError, AcceptRefError, Scalar, IReferenceRange, IRange, Flatten } from '@sheetxl/primitives';
2
- /**
3
- * @summary Returns information about the cell.
4
- * @param {'address' | 'col' | 'contents' | 'row' | 'type'} infoType The type of information to return.
5
- * @param infoType
6
- * @param reference
1
+ import { FormulaError, AcceptError, NoLift, ReportType, Scalar, Volatile, IReferenceRange, IRange, Flatten } from '@sheetxl/primitives';
2
+ /**
3
+ * The information to return about the cell.
4
+ */
5
+ declare enum CellInfoType {
6
+ /** Reference of the first cell in the reference, as text. */
7
+ Address = "address",
8
+ /** Column number of the cell in the reference. */
9
+ Col = "col",
10
+ /**
11
+ * 1 if the cell is formatted in color for negative values; otherwise 0.
12
+ * @deprecated Excel desktop only
13
+ */
14
+ Color = "color",
15
+ /** Value of the upper-left cell in the reference; not a formula. */
16
+ Contents = "contents",
17
+ /**
18
+ * Full path of the file that contains the reference, as text.
19
+ * @deprecated Excel desktop only
20
+ */
21
+ Filename = "filename",
22
+ /**
23
+ * Text value corresponding to the number format of the cell.
24
+ * @deprecated Excel desktop only
25
+ */
26
+ Format = "format",
27
+ /**
28
+ * 1 if the cell is formatted with parentheses for positive or all values; otherwise 0.
29
+ * @deprecated Excel desktop only
30
+ */
31
+ Parentheses = "parentheses",
32
+ /**
33
+ * Text value corresponding to the label prefix of the cell.
34
+ * @deprecated Excel desktop only
35
+ */
36
+ Prefix = "prefix",
37
+ /**
38
+ * 0 if the cell is not locked; otherwise 1.
39
+ * @deprecated Excel desktop only
40
+ */
41
+ Protect = "protect",
42
+ /** Row number of the cell in the reference. */
43
+ Row = "row",
44
+ /** "b" for a blank cell, "l" for a text constant, "v" for anything else. */
45
+ Type = "type",
46
+ /**
47
+ * Column width of the cell, rounded to an integer.
48
+ * @deprecated Excel desktop only
49
+ */
50
+ Width = "width"
51
+ }
52
+ /**
53
+ * Returns information about the cell.
54
+ * @param infoType The type of information to return.
55
+ * @param reference The cell to report on. Defaults to the cell holding the formula.
7
56
  *
8
57
  * @remarks
9
58
  * This has similar functionality to Excel online but is missing formatting information from Excel desktop.
10
59
  * {@link https://support.office.com/client/results?authtype=unknown&lcid=1033&locale=en-us&ns=EXCEL&syslcid=1033&uilcid=1033&version=90&helpid=xlmain11.chm60173}
11
60
  */
12
- export declare function CELL(infoType: string, reference?: AcceptError<IReferenceRange>): Scalar;
61
+ export declare function CELL(infoType: CellInfoType, reference?: IReferenceRange): Volatile<Scalar>;
13
62
  /**
63
+ * Returns a number matching an error value.
14
64
  * @name ERROR.TYPE
15
- * @summary Returns a number matching an error value.
16
65
  * @param errorVal is the error value for which you want the identifying number, and can be an actual error value or a reference to a cell containing an error value.
17
66
  */
18
67
  export declare function ERROR_TYPE(errorVal: AcceptError<Scalar>): Scalar;
19
- /**
20
- * @summary Returns information about the current operating system.
21
- * @param {'DIRECTORY' | 'NUMFILE' | 'ORIGIN' | 'OSVERSION' | 'RECALC' | 'RELEASE' | 'SYSTEM' | 'USER'} typeText The type of information to return.
22
- */
23
- export declare function INFO(typeText: string): string;
24
- /**
25
- * @summary Checks whether a reference is to an empty cell, and returns TRUE or FALSE.
68
+ /** The information to return about the operating environment. */
69
+ declare enum InfoType {
70
+ /** Path of the current directory or folder. */
71
+ Directory = "directory",
72
+ /** Amount of memory available. Legacy: answers #N/A. */
73
+ MemAvail = "memavail",
74
+ /** Amount of memory being used for data. Legacy: answers #N/A. */
75
+ MemUsed = "memused",
76
+ /** Number of active worksheets in the open workbooks. */
77
+ NumFile = "numfile",
78
+ /** Absolute reference of the top and leftmost visible cell. */
79
+ Origin = "origin",
80
+ /** Current operating system version, as text. */
81
+ OSVersion = "osversion",
82
+ /** Current recalculation mode; "Automatic" or "Manual". */
83
+ Recalc = "recalc",
84
+ /** Version of the application, as text. */
85
+ Release = "release",
86
+ /** Name of the operating environment; "pcdos" or "mac". */
87
+ System = "system",
88
+ /** Total memory available. Legacy: answers #N/A. */
89
+ TotMem = "totmem",
90
+ /** The licensed user. Not part of Excel. */
91
+ User = "user"
92
+ }
93
+ /**
94
+ * Returns information about the current operating system.
95
+ * @param typeText The type of information to return.
96
+ */
97
+ export declare function INFO(typeText: InfoType): Volatile<Scalar>;
98
+ /**
99
+ * Checks whether a reference is to an empty cell, and returns TRUE or FALSE.
26
100
  * @param value is the cell or a name that refers to the cell you want to test.
27
101
  */
28
102
  export declare function ISBLANK(value: AcceptError<Scalar>): boolean;
29
103
  /**
30
- * @summary Returns TRUE if the value is a date.
104
+ * Returns TRUE if the value is a date.
31
105
  * @param value The value to check.
32
106
  * @category Sheets
33
107
  *
34
108
  * @remarks
35
109
  * A TEXT predicate, despite the name — it asks whether text spells a date, not whether a value
36
- * is one. Measured in Sheets 2026-08-19: every number is FALSE at every serial, `0`, `1`,
37
- * `2958465` and `-1` alike, and so is `DATEVALUE("1/1/2020")`, whose declared return is a
38
- * number. Booleans and blanks are FALSE; errors propagate with their identity. Text is TRUE
39
- * when the parser accepts the WHOLE string — a bare `"July"` and `"2/30/2020"` are FALSE.
110
+ * is one. In Sheets every number is FALSE at every serial, `0`, `1`, `2958465` and `-1` alike,
111
+ * and so is `DATEVALUE("1/1/2020")`, whose declared return is a number. Booleans and blanks are
112
+ * FALSE; errors propagate with their identity. Text is TRUE when the parser accepts the WHOLE
113
+ * string — a bare `"July"` and `"2/30/2020"` are FALSE.
40
114
  *
41
115
  * Where Sheets and Excel disagree on a SPELLING, Excel wins here: `ISDATE("July 20 1969")` is
42
116
  * FALSE (Excel wants the comma in month-day-year order), `ISDATE("Feb 30")` is TRUE (Excel
43
117
  * reads a number that cannot be a day as a 2-digit year — Feb 1930), and `ISDATE("1969-20-07")`
44
118
  * is FALSE (year-first is year-month-day with a four-digit year; Sheets takes year-day-month,
45
- * Excel does not). All measured, all the opposite of Sheets, and all inherited rather than
119
+ * Excel does not). All three are the opposite of Sheets, and all are inherited rather than
46
120
  * decided here: this shares the `DATEVALUE` parser, and that parser answers to Excel.
47
121
  *
48
122
  * **`ISDATE(A1)` on a date cell is FALSE here and TRUE in Sheets — deliberately.** Sheets reads
@@ -51,7 +125,7 @@ export declare function ISBLANK(value: AcceptError<Scalar>): boolean;
51
125
  * does not treat a format edit as a change that dirties anything — so a format-reading `ISDATE`
52
126
  * would answer correctly once and then go stale on the next reformat. Reading the value instead
53
127
  * (any serial-range number is a date) was the alternative, and it was rejected: it would have
54
- * contradicted six measured results to buy back one, and called `ISDATE(42)` a date.
128
+ * contradicted six of the Sheets results above to buy back one, and called `ISDATE(42)` a date.
55
129
  *
56
130
  * Sheets also answers TRUE for `ISDATE(TODAY())` and `ISDATE(TIME(13,0,0))` — there the
57
131
  * argument's static type is a date, which is why `DATEVALUE` differs from `TODAY` there despite
@@ -59,108 +133,103 @@ export declare function ISBLANK(value: AcceptError<Scalar>): boolean;
59
133
  */
60
134
  export declare function ISDATE(value: Scalar): boolean;
61
135
  /**
62
- * @summary Returns TRUE if the value is a valid email address.
136
+ * Returns TRUE if the value is a valid email address.
63
137
  * @param value The value to check.
64
138
  * @category Sheets
65
139
  */
66
140
  export declare function ISEMAIL(value: string): boolean;
67
141
  /**
68
- * @summary Checks whether a value is an error other than #N/A, and returns TRUE or FALSE.
142
+ * Checks whether a value is an error other than #N/A, and returns TRUE or FALSE.
69
143
  * @param value is the value you want to test. Value can refer to a cell, a formula, or a name that refers to a cell, formula, or value.
70
144
  */
71
145
  export declare function ISERR(value: AcceptError<Scalar>): Scalar;
72
146
  /**
73
- * @summary Checks whether a value is an error, and returns TRUE or FALSE
147
+ * Checks whether a value is an error, and returns TRUE or FALSE
74
148
  * @param value is the value you want to test. Value can refer to a cell, a formula, or a name that refers to a cell, formula, or value
75
149
  */
76
150
  export declare function ISERROR(value: AcceptError<Scalar>): Scalar;
77
151
  /**
78
- * @summary Returns TRUE if the number is even.
152
+ * Returns TRUE if the number is even.
79
153
  * @param number is the value to test.
80
- *
81
- * @remarks
82
- * We take a range to error if a range.
83
154
  */
84
- export declare function ISEVEN(number: IRange<number>): Scalar;
155
+ export declare function ISEVEN(number: NoLift<Scalar>): Scalar;
85
156
  /**
86
- * @summary Checks whether a reference is to a cell containing a formula, and returns TRUE or FALSE.
157
+ * Checks whether a reference is to a cell containing a formula, and returns TRUE or FALSE.
87
158
  * @param reference is a reference to the cell you want to test. Reference can be a cell reference, a formula, or name that refers to a cell.
88
159
  */
89
- export declare function ISFORMULA(reference: AcceptError<IReferenceRange>): boolean;
160
+ export declare function ISFORMULA(reference: ReportType<IReferenceRange>): boolean;
90
161
  /**
91
- * @summary Checks whether a value is a logical value (TRUE or FALSE), and returns TRUE or FALSE.
162
+ * Checks whether a value is a logical value (TRUE or FALSE), and returns TRUE or FALSE.
92
163
  * @param value is the value you want to test. Value can refer to a cell, a formula, or a name that refers to a cell, formula, or value.
93
164
  */
94
165
  export declare function ISLOGICAL(value: AcceptError<Scalar>): boolean;
95
166
  /**
96
- * @summary Checks whether a value is #N/A, and returns TRUE or FALSE.
167
+ * Checks whether a value is #N/A, and returns TRUE or FALSE.
97
168
  * @param value is the value you want to test. Value can refer to a cell, a formula, or a name that refers to a cell, formula, or value.
98
169
  */
99
170
  export declare function ISNA(value: AcceptError<Scalar>): boolean;
100
171
  /**
101
- * @summary Checks whether a value is not text (blank cells are not text), and returns TRUE or FALSE.
172
+ * Checks whether a value is not text (blank cells are not text), and returns TRUE or FALSE.
102
173
  * @param value is the value you want tested: a cell; a formula; or a name referring to a cell, formula, or value.
103
174
  */
104
175
  export declare function ISNONTEXT(value: AcceptError<Scalar>): boolean;
105
176
  /**
106
- * @summary Checks whether a value is not text (blank cells are not text), and returns TRUE or FALSE.
177
+ * Checks whether a value is not text (blank cells are not text), and returns TRUE or FALSE.
107
178
  * @param value is the value you want tested: a cell; a formula; or a name referring to a cell, formula, or value.
108
179
  */
109
180
  export declare function ISNUMBER(value: AcceptError<Scalar>): boolean;
110
181
  /**
111
- * @summary Returns TRUE if the number is odd.
182
+ * Returns TRUE if the number is odd.
112
183
  * @param number is the value to test.
113
- *
114
- * @remarks
115
- * We take a range to error if a range.
116
184
  */
117
- export declare function ISODD(number: IRange<number>): Scalar;
185
+ export declare function ISODD(number: NoLift<Scalar>): Scalar;
118
186
  /**
119
- * @summary Checks whether the value is omitted, and returns TRUE or FALSE.
187
+ * Checks whether the value is omitted, and returns TRUE or FALSE.
120
188
  * @param argument is the value you want to test, such as a LAMBDA parameter.
121
189
  */
122
- export declare function ISOMITTED(argument: AcceptError<Scalar>): boolean;
190
+ export declare function ISOMITTED(argument: AcceptError<any>): boolean;
123
191
  /**
124
- * @summary Returns TRUE if the value is a valid HTTP or HTTPS URL.
192
+ * Returns TRUE if the value is a valid HTTP or HTTPS URL.
125
193
  * @param value The value to check.
126
194
  * @category Sheets
127
195
  */
128
196
  export declare function ISURL(value: string): boolean;
129
197
  /**
130
- * @summary Checks whether a value is a reference, and returns TRUE or FALSE.
198
+ * Checks whether a value is a reference, and returns TRUE or FALSE.
131
199
  * @param value is the value you want to test. Value can refer to a cell, a formula, or a name that refers to a cell, formula, or value.
132
200
  */
133
201
  export declare function ISREF(value: Flatten<AcceptError<IRange>>): boolean;
134
202
  /**
135
- * @summary Converts a value to text in a specific number format.
203
+ * Converts a value to text in a specific number format.
136
204
  * @param value is a number, a formula that evaluates to a numeric value, or a reference to a cell containing a numeric value.
137
205
  */
138
206
  export declare function ISTEXT(value: AcceptError<Scalar>): boolean;
139
207
  /**
140
- * @summary Converts non-number value to a number, dates to serial numbers, TRUE to 1, anything else to 0 (zero).
208
+ * Converts non-number value to a number, dates to serial numbers, TRUE to 1, anything else to 0 (zero).
141
209
  * @param value is the value to convert.
142
210
  */
143
- export declare function N(value: AcceptError<Scalar>): Scalar;
211
+ export declare function N(value: IRange | Scalar): Scalar;
144
212
  /**
145
- * @summary Returns the #N/A error value
213
+ * Returns the #N/A error value
146
214
  */
147
215
  export declare function NA(): FormulaError.Known;
148
- /**.
149
- * @summary Returns the sheet number of the referenced sheet.
216
+ /**
217
+ * Returns the sheet number of the referenced sheet.
150
218
  * @param value is the name of a sheet or a reference that you want the sheet number of. If omitted the number of the sheet containing the function is returned.
151
219
  */
152
- export declare function SHEET(value?: AcceptRefError<IRange>): Scalar;
220
+ export declare function SHEET(value?: ReportType<IRange>): Scalar;
153
221
  /**
154
- * @summary Returns the number of sheets in a reference.
222
+ * Returns the number of sheets in a reference.
155
223
  * @param reference is a reference for which you want to know the number of sheets it contains. If omitted the number of sheets in the workbook containing the function is returned.
156
224
  *
157
225
  * @remarks
158
226
  * A non-reference argument — a number, text, an array, a computed value — returns `#N/A`.
159
227
  */
160
- export declare function SHEETS(reference?: AcceptRefError<IRange>): number | FormulaError.Known;
228
+ export declare function SHEETS(reference?: ReportType<IRange>): number | FormulaError.Known;
161
229
  /**
162
- * @summary Returns an integer representing the data type of a value: number = 1; text = 2; logical value = 4; error value = 16; array = 64; compound data = 128.
230
+ * Returns an integer representing the data type of a value: number = 1; text = 2; logical value = 4; error value = 16; array = 64; compound data = 128.
163
231
  * @param value is the value to check.
164
232
  */
165
233
  export declare function TYPE(value: AcceptError<IRange>): number;
234
+ export {};
166
235
  //# sourceMappingURL=Information.d.ts.map
@@ -1,13 +1,13 @@
1
1
  import { Scalar } from '@sheetxl/primitives';
2
2
  /**
3
+ * Converts a standard date code into a localized text string.
3
4
  * @hidden Unimplemented Japanese.
4
- * @summary Converts a standard date code into a localized text string.
5
5
  * @param number A numeric value representing a date code.
6
6
  */
7
7
  export declare function DATESTRING(number: number): Scalar;
8
8
  /**
9
+ * Converts a number into Japanese Kanji words.
9
10
  * @hidden Unimplemented Japanese.
10
- * @summary Converts a number into Japanese Kanji words.
11
11
  * @param number A numeric value representing a date code.
12
12
  * @param number2 A numeric value representing a date code.
13
13
  */
@@ -1,7 +1,7 @@
1
1
  import { Scalar, IReferenceRange } from '@sheetxl/primitives';
2
2
  /**
3
+ * Returns the phonetic spelling of a text string.
3
4
  * @hidden Unimplemented Japanese.
4
- * @summary Returns the phonetic spelling of a text string.
5
5
  * @param reference Text string or a reference to a single cell or a range of cells that contain a furigana text string.
6
6
  */
7
7
  export declare function PHONETIC(reference: IReferenceRange): Scalar | undefined;