@sheetxl/formulas 0.8.0-beta.1 → 0.8.0-beta.10

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 (128) hide show
  1. package/README.md +15 -22
  2. package/browser/esm/{BzNFsi4RXuJrn_1n.mjs → -sN4SmS9cUOrcjVR.mjs} +1 -1
  3. package/browser/esm/{B7750ljsJF3qA9kU.mjs → 0Q46gxHg8afOLJ7K.mjs} +37 -3
  4. package/{node/esm/CG1Fn8D-2DrQZoD5.mjs → browser/esm/B-Ig6HWcV53g7Zy0.mjs} +1 -1
  5. package/browser/esm/{BYRjnggsufwbb27W.mjs → B3LvTqivuAJYZW9O.mjs} +1 -1
  6. package/browser/esm/{BR2ai1V5dGPphpRf.mjs → B52kG70ukWJKrVHl.mjs} +2 -5
  7. package/{node/esm/CltdofO5ik8g_wQ8.mjs → browser/esm/B9GCCzx3ZtHrtgsZ.mjs} +1 -1
  8. package/{node/esm/HgVmqQQhKQ_2v0HD.mjs → browser/esm/BCRhRyTDe0QO3_TF.mjs} +2 -2
  9. package/browser/esm/{Bsb5i9Jq-Q8RTmvi.mjs → BTygNwyrCzzpikEl.mjs} +1 -1
  10. package/{node/esm/-f-RKKojiLg94hp9.mjs → browser/esm/C1TlAj8cFI90ziZT.mjs} +51 -11
  11. package/{node/esm/CkG4LZN-kb7plKXG.mjs → browser/esm/C2WtsJFzD2GtwSHc.mjs} +69 -4
  12. package/browser/esm/{CVv3DuciDQrnFFeu.mjs → C2nw0NszguSU0idO.mjs} +1 -1
  13. package/browser/esm/{B3pEie3jQN0SvV5B.mjs → CXDwT-uLbi_ZUF6Q.mjs} +1 -1
  14. package/browser/esm/{BM1YhvA2ppUZ3QLB.mjs → CXvEGkvOOLo4v17T.mjs} +1 -1
  15. package/browser/esm/{D2miaIrotHbpdWei.mjs → CYtUFqOZCtbGw6Sa.mjs} +1 -1
  16. package/browser/esm/{0amsHACCOHE_JjXI.mjs → CpGJ_hA0h7CW4Jwu.mjs} +1 -1
  17. package/{node/esm/CCGjvL3YYwY09qF-.mjs → browser/esm/CrfZkfvKRkK2qzpP.mjs} +1 -1
  18. package/browser/esm/{DKFABgVKeBMflym9.mjs → D-w_d2PrWN8kwM-Z.mjs} +1 -1
  19. package/browser/esm/{Cdl7ZalV6WPZHHRE.mjs → DG5YNbA9Ya6Uu3DG.mjs} +1 -1
  20. package/browser/esm/{DtqLXxtPFISlNoUd.mjs → DO9cbfqY2roOBQQi.mjs} +1 -1
  21. package/{node/esm/CWAtVXxcIz86XLzE.mjs → browser/esm/DYoyWWN86dEdpzVg.mjs} +1 -1
  22. package/{node/esm/Ct1gudv1TKk-5FMO.mjs → browser/esm/D_PYZQxUASNNORTU.mjs} +48 -2
  23. package/browser/esm/{Cyvobf2wi0quDD3U.mjs → KekfJtUQq6sPOmPq.mjs} +1 -1
  24. package/browser/esm/{C7mAHEhFYDwSEU6O.mjs → PDRj7r-fmSBrQgPS.mjs} +1 -1
  25. package/browser/esm/index.mjs +5125 -5831
  26. package/licenses/dependencies.txt +0 -33
  27. package/node/esm/{BzNFsi4RXuJrn_1n.mjs → -sN4SmS9cUOrcjVR.mjs} +1 -1
  28. package/node/esm/{B7750ljsJF3qA9kU.mjs → 0Q46gxHg8afOLJ7K.mjs} +37 -3
  29. package/{browser/esm/CG1Fn8D-2DrQZoD5.mjs → node/esm/B-Ig6HWcV53g7Zy0.mjs} +1 -1
  30. package/node/esm/{BR2ai1V5dGPphpRf.mjs → B52kG70ukWJKrVHl.mjs} +2 -5
  31. package/{browser/esm/CltdofO5ik8g_wQ8.mjs → node/esm/B9GCCzx3ZtHrtgsZ.mjs} +1 -1
  32. package/{browser/esm/HgVmqQQhKQ_2v0HD.mjs → node/esm/BCRhRyTDe0QO3_TF.mjs} +2 -2
  33. package/node/esm/{DxRD19RVMzj2YvKF.mjs → BN0QCtL-dZU8U-hd.mjs} +1 -1
  34. package/node/esm/{B8rSUcOwH6g4MUgm.mjs → Bp4XujtHH5z4dKlz.mjs} +1 -1
  35. package/{browser/esm/-f-RKKojiLg94hp9.mjs → node/esm/C--VBbIp253pJfw9.mjs} +51 -11
  36. package/node/esm/{ZUay0bTGgyrF8e04.mjs → C-jlV3objhN9hpyt.mjs} +1 -1
  37. package/node/esm/{DDajoVNkJB39_Fkx.mjs → C1Qq-yVzO0uZUnVb.mjs} +1 -1
  38. package/{browser/esm/CkG4LZN-kb7plKXG.mjs → node/esm/C2WtsJFzD2GtwSHc.mjs} +69 -4
  39. package/node/esm/{CVv3DuciDQrnFFeu.mjs → C2nw0NszguSU0idO.mjs} +1 -1
  40. package/node/esm/{D2miaIrotHbpdWei.mjs → CYtUFqOZCtbGw6Sa.mjs} +1 -1
  41. package/node/esm/{2TCIoMd-SYs6i4-N.mjs → Cf28UVIhJr5Y-_24.mjs} +1 -1
  42. package/{browser/esm/Ct1gudv1TKk-5FMO.mjs → node/esm/CkO4Hx9aLq7m3emI.mjs} +48 -2
  43. package/{browser/esm/CCGjvL3YYwY09qF-.mjs → node/esm/CrfZkfvKRkK2qzpP.mjs} +1 -1
  44. package/node/esm/{DKFABgVKeBMflym9.mjs → D-w_d2PrWN8kwM-Z.mjs} +1 -1
  45. package/node/esm/{Cdl7ZalV6WPZHHRE.mjs → DG5YNbA9Ya6Uu3DG.mjs} +1 -1
  46. package/node/esm/{DtqLXxtPFISlNoUd.mjs → DO9cbfqY2roOBQQi.mjs} +1 -1
  47. package/{browser/esm/CWAtVXxcIz86XLzE.mjs → node/esm/DYoyWWN86dEdpzVg.mjs} +1 -1
  48. package/node/esm/{Cyvobf2wi0quDD3U.mjs → KekfJtUQq6sPOmPq.mjs} +1 -1
  49. package/node/esm/{C7mAHEhFYDwSEU6O.mjs → PDRj7r-fmSBrQgPS.mjs} +1 -1
  50. package/node/esm/index.mjs +5787 -4658
  51. package/package.json +6 -8
  52. package/types/src/.generated/decl/dateTime/Date.decl.d.ts +2 -1
  53. package/types/src/.generated/decl/information/Information.decl.d.ts +2 -1
  54. package/types/src/.generated/decl/lookupReference/Reference.decl.d.ts +2 -1
  55. package/types/src/.generated/decl/mathTrig/Math.decl.d.ts +2 -1
  56. package/types/src/.generated/desc/dateTime/Date.desc.d.ts +2 -1
  57. package/types/src/.generated/desc/information/Information.desc.d.ts +2 -1
  58. package/types/src/.generated/desc/lookupReference/Reference.desc.d.ts +2 -1
  59. package/types/src/.generated/desc/mathTrig/Math.desc.d.ts +2 -1
  60. package/types/src/_utils/AValues.d.ts +30 -0
  61. package/types/src/_utils/AggregateIFS.d.ts +3 -1
  62. package/types/src/_utils/Arithmetic.d.ts +36 -0
  63. package/types/src/_utils/Combinatorics.d.ts +20 -0
  64. package/types/src/_utils/Distributions.d.ts +94 -0
  65. package/types/src/_utils/Errors.d.ts +1 -20
  66. package/types/src/_utils/FirstCell.d.ts +32 -0
  67. package/types/src/_utils/Matrix.d.ts +31 -0
  68. package/types/src/_utils/SpecialFunctions.d.ts +91 -0
  69. package/types/src/_utils/X87.d.ts +28 -0
  70. package/types/src/database/Database.d.ts +25 -25
  71. package/types/src/dateTime/Date.d.ts +250 -41
  72. package/types/src/engineering/Bessel.d.ts +9 -9
  73. package/types/src/engineering/Bitwise.d.ts +35 -35
  74. package/types/src/engineering/Convert.d.ts +3 -3
  75. package/types/src/engineering/Engineering.d.ts +5 -5
  76. package/types/src/engineering/Error.d.ts +9 -9
  77. package/types/src/engineering/Imaginary.d.ts +54 -54
  78. package/types/src/information/Information.d.ts +118 -49
  79. package/types/src/japanese/Date.d.ts +2 -2
  80. package/types/src/japanese/Text.d.ts +1 -1
  81. package/types/src/logical/Logical.d.ts +45 -39
  82. package/types/src/lookupReference/Reference.d.ts +212 -86
  83. package/types/src/mathTrig/Math.d.ts +499 -152
  84. package/types/src/mathTrig/Trig.d.ts +26 -22
  85. package/types/src/operators/Operators.d.ts +15 -15
  86. package/types/src/statistical/Distribution.d.ts +157 -161
  87. package/types/src/statistical/Statistical.d.ts +37 -37
  88. package/types/src/testing/Testing.d.ts +2 -2
  89. package/types/src/text/Text.d.ts +119 -54
  90. package/types/src/thai/Text.d.ts +1 -1
  91. package/types/src/web/FilterXML.d.ts +1 -1
  92. package/types/src/web/Web.d.ts +2 -2
  93. package/browser/cjs/1XrWGMP3GmsQOMIX.cjs +0 -1
  94. package/browser/cjs/49_x589Na12sizKK.cjs +0 -1
  95. package/browser/cjs/4nReftSsKWmnRdtf.cjs +0 -1
  96. package/browser/cjs/507hQYooKKjnRzsZ.cjs +0 -1
  97. package/browser/cjs/BAxVLKkxFgI6cXnR.cjs +0 -1
  98. package/browser/cjs/BK0SCfN_VZYqBxoQ.cjs +0 -1
  99. package/browser/cjs/Btc0Nzu40VYOpzLX.cjs +0 -1
  100. package/browser/cjs/C9C-pr-T_ThweQX9.cjs +0 -1
  101. package/browser/cjs/CJYewYJ5Z3iojl7J.cjs +0 -1
  102. package/browser/cjs/CRx1WvmgBjT8WVyB.cjs +0 -1
  103. package/browser/cjs/CV4KQsHluMqo1I2Q.cjs +0 -1
  104. package/browser/cjs/CXlzsh_WHCOsErJ1.cjs +0 -1
  105. package/browser/cjs/CpJJh4UnFl1_qFui.cjs +0 -1
  106. package/browser/cjs/CrZlUtdX1h2RUnCP.cjs +0 -1
  107. package/browser/cjs/D8-KovdJ0LjxqCe2.cjs +0 -1
  108. package/browser/cjs/DCIlWcGDrp-5PDoA.cjs +0 -1
  109. package/browser/cjs/DDnGLOLTqLFsdUDS.cjs +0 -1
  110. package/browser/cjs/DG2kqsWRUtVugjay.cjs +0 -1
  111. package/browser/cjs/DM7-R_ltoLbA9jde.cjs +0 -1
  112. package/browser/cjs/DNKyaSruDogoBd2H.cjs +0 -1
  113. package/browser/cjs/Du4jBiFxRIF1OjD4.cjs +0 -1
  114. package/browser/cjs/EeOVMRq7TuptFKTc.cjs +0 -1
  115. package/browser/cjs/Kvn916ebqGc4t6hv.cjs +0 -1
  116. package/browser/cjs/aONv0Ys3C8xmnaR8.cjs +0 -1
  117. package/browser/cjs/index.cjs +0 -1
  118. package/browser/cjs/z_rZE1OHFPpdGBh4.cjs +0 -1
  119. package/browser/esm/C9jpXFBeugwmOTbx.mjs +0 -21
  120. package/browser/esm/Crb70T1Sp1S4uzq4.mjs +0 -24
  121. package/node/esm/C9jpXFBeugwmOTbx.mjs +0 -21
  122. package/node/esm/Crb70T1Sp1S4uzq4.mjs +0 -24
  123. package/types/src/.generated/decl/lookupReference/GroupBy.decl.d.ts +0 -4
  124. package/types/src/.generated/decl/lookupReference/PivotBy.decl.d.ts +0 -4
  125. package/types/src/.generated/desc/lookupReference/GroupBy.desc.d.ts +0 -4
  126. package/types/src/.generated/desc/lookupReference/PivotBy.desc.d.ts +0 -4
  127. package/types/src/lookupReference/GroupBy.d.ts +0 -19
  128. package/types/src/lookupReference/PivotBy.d.ts +0 -24
@@ -1,139 +1,348 @@
1
- import { AcceptError, Scalar, Flatten, Omittable } from '@sheetxl/primitives';
1
+ import { AcceptError, Scalar, Volatile, Flatten, Omittable, NoLift, ReportType } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Returns the number that represents the date in date-time code.
3
+ * Returns the number that represents the date in date-time code.
4
4
  * @param year is a number from 1900 or 1904 (depending on the workbook's date system) to 9999.
5
5
  * @param month is a number from 1 to 12 representing the month of the year.
6
6
  * @param day is a number from 1 to 31 representing the day of the month.
7
7
  */
8
8
  export declare function DATE(year: number, month: number, day: number): number;
9
9
  /**
10
- * @summary Converts a date in the form of text to a number that represents the date as a date-time code.
10
+ * Converts a date in the form of text to a number that represents the date as a date-time code.
11
11
  * @param dateText is text that represents a date in date format, between 1/1/1900 or 1/1/1904 (depending on the workbook's date system) and 12/31/9999.
12
12
  */
13
13
  export declare function DATEVALUE(dateText: string): number;
14
14
  /**
15
- * @summary Returns the day of the month, a number from 1 to 31.
15
+ * Returns the day of the month, a number from 1 to 31.
16
16
  * @param serialNumber is a number in the date-time code or text in time format, such as 16:48:00 or 4:48:00 PM.
17
17
  */
18
18
  export declare function DAY(serialNumber: number): number;
19
19
  /**
20
- * @summary Returns the number of days between the two dates.
20
+ * Returns the number of days between the two dates.
21
21
  * @param endDate startDate and endDate are the two dates between which you want to know the number of days.
22
22
  * @param startDate startDate and endDate are the two dates between which you want to know the number of days.
23
23
  */
24
- export declare function DAYS(endDate: number, // date
25
- startDate: number): number;
24
+ export declare function DAYS(endDate: Scalar, // date
25
+ startDate: Scalar): number;
26
26
  /**
27
- * @summary Returns the serial number of the date that is the indicated number of months before or after the start date.
27
+ * Returns the serial number of the date that is the indicated number of months before or after the start date.
28
28
  * @param startDate is a serial date number that represents the start date.
29
29
  * @param months is the number of months before or after startDate.
30
+ * @remarks
31
+ * The ATP refusal: `EDATE(A1:A3,1)` is `#VALUE!` — a multi-cell reference does not broadcast at
32
+ * an `any` slot — while an ARRAY constant still lifts. Shared with `EOMONTH` and `WEEKNUM`; the
33
+ * native `DAY`/`WEEKDAY`/`DAYS` of the same category all spill.
30
34
  */
31
- export declare function EDATE(startDate: Scalar, months: Scalar): number;
35
+ export declare function EDATE(startDate: NoLift<Omittable<Scalar>>, months: NoLift<Omittable<Scalar>>): number;
32
36
  /**
33
- * @summary Returns the serial number of the last day of the month before or after a specified number of months.
37
+ * Returns the serial number of the last day of the month before or after a specified number of months.
34
38
  * @param startDate is a serial date number that represents the start date.
35
39
  * @param months is the number of months before or after the startDate.
36
40
  */
37
- export declare function EOMONTH(startDate: Scalar, months: Scalar): number;
41
+ export declare function EOMONTH(startDate: NoLift<Omittable<Scalar>>, months: NoLift<Omittable<Scalar>>): number;
38
42
  /**
39
- * @summary Returns the hour as a number from 0 (12:00 A.M.) to 23 (11:00 P.M.).
43
+ * Returns the hour as a number from 0 (12:00 A.M.) to 23 (11:00 P.M.).
40
44
  * @param serialNumber is a number in the date-time code or text in time format, such as 16:48:00 or 4:48:00 PM.
41
45
  */
42
46
  export declare function HOUR(serialNumber: number): number;
43
47
  /**
44
- * @summary Returns the ISO week number in the year for a given date.
48
+ * Returns the ISO week number in the year for a given date.
45
49
  * @param date is a number in the date-time code or text in time format, such as 16:48:00 or 4:48:00 PM.
46
50
  */
47
51
  export declare function ISOWEEKNUM(date: number): number;
48
52
  /**
49
- * @summary Returns the minute, a number from 0 to 59.
53
+ * Returns the minute, a number from 0 to 59.
50
54
  * @param serialNumber is a number in the date-time code or text in time format, such as 16:48:00 or 4:48:00 PM.
51
55
  */
52
56
  export declare function MINUTE(serialNumber: number): number;
53
57
  /**
54
- * @summary Returns the month, a number from 1 (January) to 12 (December).
58
+ * Returns the month, a number from 1 (January) to 12 (December).
55
59
  * @param serialNumber is a number in the date-time code or text in date format.
56
60
  */
57
61
  export declare function MONTH(serialNumber: number): number;
58
62
  /**
59
- * @summary Returns the number of whole workdays between two dates.
63
+ * Returns the number of whole workdays between two dates.
60
64
  * @param startDate is a serial date number that represents the start date.
61
65
  * @param endDate is a serial date number that represents the end date.
62
66
  * @param holidays is an optional set of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays.
63
67
  */
64
- export declare function NETWORKDAYS(startDate: number, // date
65
- endDate: number, // date
66
- holidays?: Omittable<Flatten<Scalar>>): number;
68
+ export declare function NETWORKDAYS(startDate: NoLift<Omittable<AcceptError<Scalar>>>, // date
69
+ endDate: NoLift<Omittable<AcceptError<Scalar>>>, // date
70
+ holidays?: Omittable<Flatten<AcceptError<Scalar>>>): number;
67
71
  /**
72
+ * The days a weekend falls on, for NETWORKDAYS.INTL and WORKDAY.INTL.
73
+ *
74
+ * @remarks
75
+ * Documents the codes only: the slot is `Weekend | Scalar`, because a seven-character mask
76
+ * (`"0000011"`, Monday first) is just as legal and the body reads either itself. No gate.
77
+ */
78
+ declare enum Weekend {
79
+ /**
80
+ * The weekend is Saturday and Sunday.
81
+ * @name Saturday, Sunday
82
+ */
83
+ SaturdaySunday = 1,
84
+ /**
85
+ * The weekend is Sunday and Monday.
86
+ * @name Sunday, Monday
87
+ */
88
+ SundayMonday = 2,
89
+ /**
90
+ * The weekend is Monday and Tuesday.
91
+ * @name Monday, Tuesday
92
+ */
93
+ MondayTuesday = 3,
94
+ /**
95
+ * The weekend is Tuesday and Wednesday.
96
+ * @name Tuesday, Wednesday
97
+ */
98
+ TuesdayWednesday = 4,
99
+ /**
100
+ * The weekend is Wednesday and Thursday.
101
+ * @name Wednesday, Thursday
102
+ */
103
+ WednesdayThursday = 5,
104
+ /**
105
+ * The weekend is Thursday and Friday.
106
+ * @name Thursday, Friday
107
+ */
108
+ ThursdayFriday = 6,
109
+ /**
110
+ * The weekend is Friday and Saturday.
111
+ * @name Friday, Saturday
112
+ */
113
+ FridaySaturday = 7,
114
+ /**
115
+ * The weekend is Sunday alone.
116
+ * @name Sunday only
117
+ */
118
+ SundayOnly = 11,
119
+ /**
120
+ * The weekend is Monday alone.
121
+ * @name Monday only
122
+ */
123
+ MondayOnly = 12,
124
+ /**
125
+ * The weekend is Tuesday alone.
126
+ * @name Tuesday only
127
+ */
128
+ TuesdayOnly = 13,
129
+ /**
130
+ * The weekend is Wednesday alone.
131
+ * @name Wednesday only
132
+ */
133
+ WednesdayOnly = 14,
134
+ /**
135
+ * The weekend is Thursday alone.
136
+ * @name Thursday only
137
+ */
138
+ ThursdayOnly = 15,
139
+ /**
140
+ * The weekend is Friday alone.
141
+ * @name Friday only
142
+ */
143
+ FridayOnly = 16,
144
+ /**
145
+ * The weekend is Saturday alone.
146
+ * @name Saturday only
147
+ */
148
+ SaturdayOnly = 17
149
+ }
150
+ /**
151
+ * Returns the number of whole workdays between two dates with custom weekend parameters.
68
152
  * @name NETWORKDAYS.INTL
69
- * @summary Returns the number of whole workdays between two dates with custom weekend parameters.
70
153
  * @param startDate is a serial date number that represents the start date.
71
154
  * @param endDate is a serial date number that represents the end date.
72
155
  * @param weekend is a number or string specifying when weekends occur.
73
156
  * @param holidays is an optional set of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays.
74
157
  */
75
- export declare function NETWORKDAYS_INTL(startDate: number, // date
76
- endDate: number, // date
77
- weekend?: Omittable<AcceptError<Scalar>>, holidays?: Omittable<Flatten<Scalar>>): number;
158
+ export declare function NETWORKDAYS_INTL(startDate: NoLift<Omittable<AcceptError<Scalar>>>, // date
159
+ endDate: NoLift<Omittable<AcceptError<Scalar>>>, // date
160
+ weekend?: Omittable<AcceptError<Weekend | Scalar>>, holidays?: Omittable<Flatten<AcceptError<Scalar>>>): number;
78
161
  /**
79
- * @summary Returns the current date and time formatted as a date and time.
162
+ * Returns the current date and time formatted as a date and time.
80
163
  */
81
- export declare function NOW(): number;
164
+ export declare function NOW(): Volatile<number>;
82
165
  /**
83
- * @summary Returns the second, a number from 0 to 59.
166
+ * Returns the second, a number from 0 to 59.
84
167
  * @param serialNumber is a number in the date-time code or text in time format, such as 16:48:23 or 4:48:47 PM.
85
168
  */
86
169
  export declare function SECOND(serialNumber: number): number;
87
170
  /**
88
- * @summary Converts hours, minutes, and seconds given as numbers to a date code, formatted with a time format.
171
+ * Converts hours, minutes, and seconds given as numbers to a date code, formatted with a time format.
89
172
  * @param hour is a number from 0 to 23 representing the hour.
90
173
  * @param minute is a number from 0 to 59 representing the minute.
91
174
  * @param second is a number from 0 to 59 representing the second.
92
175
  */
93
176
  export declare function TIME(hour: number, minute: number, second: number): number;
94
177
  /**
95
- * @summary Converts a text time to a date code for a time, a number from 0 (12:00:00 AM) to 0.999988426 (11:59:59 PM). Format the number with a time format after entering the formula.
178
+ * Converts a text time to a date code for a time, a number from 0 (12:00:00 AM) to 0.999988426 (11:59:59 PM). Format the number with a time format after entering the formula.
96
179
  * @param timeText is a text string that gives a time in any one of the time formats (date information in the string is ignored).
97
180
  */
98
181
  export declare function TIMEVALUE(timeText: string): number;
99
182
  /**
100
- * @summary Returns the current date formatted as a date.
183
+ * Returns the current date formatted as a date.
184
+ */
185
+ export declare function TODAY(): Volatile<number>;
186
+ /**
187
+ * How WEEKDAY numbers the days of the week.
188
+ *
189
+ * @remarks
190
+ * Declared `ReportType`, as every numeric built-in enum is: Excel TRUNCATES this argument (`2.9`
191
+ * is 2) and answers #NUM! outside the set, which an enum's gate does not, so the body keeps the
192
+ * verdict. Members that mean the same thing share Excel's label (2 and 11, 1 and 17), and so share
193
+ * one descriptor entry.
101
194
  */
102
- export declare function TODAY(): number;
195
+ declare enum WeekdayType {
196
+ /**
197
+ * Sunday is 1 and Saturday is 7.
198
+ * @name Sunday (1) through Saturday (7)
199
+ */
200
+ SundayFirst = 1,
201
+ /**
202
+ * Monday is 1 and Sunday is 7.
203
+ * @name Monday (1) through Sunday (7)
204
+ */
205
+ MondayFirst = 2,
206
+ /**
207
+ * Monday is 0 and Sunday is 6.
208
+ * @name Monday (0) through Sunday (6)
209
+ */
210
+ MondayZero = 3,
211
+ /**
212
+ * Monday is 1 and Sunday is 7.
213
+ * @name Monday (1) through Sunday (7)
214
+ */
215
+ MondayOne = 11,
216
+ /**
217
+ * Tuesday is 1 and Monday is 7.
218
+ * @name Tuesday (1) through Monday (7)
219
+ */
220
+ TuesdayOne = 12,
221
+ /**
222
+ * Wednesday is 1 and Tuesday is 7.
223
+ * @name Wednesday (1) through Tuesday (7)
224
+ */
225
+ WednesdayOne = 13,
226
+ /**
227
+ * Thursday is 1 and Wednesday is 7.
228
+ * @name Thursday (1) through Wednesday (7)
229
+ */
230
+ ThursdayOne = 14,
231
+ /**
232
+ * Friday is 1 and Thursday is 7.
233
+ * @name Friday (1) through Thursday (7)
234
+ */
235
+ FridayOne = 15,
236
+ /**
237
+ * Saturday is 1 and Friday is 7.
238
+ * @name Saturday (1) through Friday (7)
239
+ */
240
+ SaturdayOne = 16,
241
+ /**
242
+ * Sunday is 1 and Saturday is 7.
243
+ * @name Sunday (1) through Saturday (7)
244
+ */
245
+ SundayOne = 17
246
+ }
103
247
  /**
104
- * @summary Returns a number from 1 to 7 identifying the day of the week of a date.
248
+ * Returns a number from 1 to 7 identifying the day of the week of a date.
105
249
  * @param serialNumber is a number that represents a date.
106
250
  * @param returnType is a number: for Sunday=1 through Saturday=7, use 1; for Monday=1 through Sunday=7, use 2; for Monday=0 through Sunday=6, use 3.
107
251
  */
108
252
  export declare function WEEKDAY(serialNumber: number, // date
109
- returnType?: number): number;
253
+ returnType?: ReportType<WeekdayType>): number;
254
+ /**
255
+ * The day a week begins on, for WEEKNUM.
256
+ *
257
+ * @remarks
258
+ * Documents the values only: the slot is `WeekNumType | Scalar`, because the body reads the raw
259
+ * argument itself (ATP coercion) — truncating, and answering #NUM! outside the set. No gate.
260
+ * Members that mean the same thing share a label (2 and 11, 1 and 17).
261
+ */
262
+ declare enum WeekNumType {
263
+ /**
264
+ * Weeks begin on Sunday; week 1 is the week containing January 1.
265
+ * @name Week begins on Sunday
266
+ */
267
+ Sunday = 1,
268
+ /**
269
+ * Weeks begin on Monday; week 1 is the week containing January 1.
270
+ * @name Week begins on Monday
271
+ */
272
+ Monday = 2,
273
+ /**
274
+ * Weeks begin on Monday; week 1 is the week containing January 1.
275
+ * @name Week begins on Monday
276
+ */
277
+ MondayStart = 11,
278
+ /**
279
+ * Weeks begin on Tuesday; week 1 is the week containing January 1.
280
+ * @name Week begins on Tuesday
281
+ */
282
+ TuesdayStart = 12,
283
+ /**
284
+ * Weeks begin on Wednesday; week 1 is the week containing January 1.
285
+ * @name Week begins on Wednesday
286
+ */
287
+ WednesdayStart = 13,
288
+ /**
289
+ * Weeks begin on Thursday; week 1 is the week containing January 1.
290
+ * @name Week begins on Thursday
291
+ */
292
+ ThursdayStart = 14,
293
+ /**
294
+ * Weeks begin on Friday; week 1 is the week containing January 1.
295
+ * @name Week begins on Friday
296
+ */
297
+ FridayStart = 15,
298
+ /**
299
+ * Weeks begin on Saturday; week 1 is the week containing January 1.
300
+ * @name Week begins on Saturday
301
+ */
302
+ SaturdayStart = 16,
303
+ /**
304
+ * Weeks begin on Sunday; week 1 is the week containing January 1.
305
+ * @name Week begins on Sunday
306
+ */
307
+ SundayStart = 17,
308
+ /**
309
+ * Weeks begin on Monday; week 1 is the week containing the first Thursday of the year.
310
+ * @name Week begins on Monday (ISO 8601)
311
+ */
312
+ Iso = 21
313
+ }
110
314
  /**
111
- * @summary Returns the week number in the year.
315
+ * Returns the week number in the year.
112
316
  * @param serialNumber is the date-time code used for date and time calculation.
113
317
  * @param returnType is a number (1 or 2) that determines the type of the return value.
318
+ * @remarks
319
+ * The ATP refusal is WEEKNUM's alone in this category: `WEEKNUM(A1:A3,1)` is `#VALUE!` while
320
+ * `ISOWEEKNUM(A1:A3)`, `WEEKDAY(A1:A3,1)` and `DAYS(A1:A3,x)` all spill, and an ARRAY constant
321
+ * still lifts here (`WEEKNUM({43496;43497},1)` spills two).
114
322
  */
115
- export declare function WEEKNUM(serialNumber: Omittable<Scalar>, returnType?: Omittable<Scalar>): number;
323
+ export declare function WEEKNUM(serialNumber: NoLift<Omittable<Scalar>>, returnType?: NoLift<Omittable<WeekNumType | Scalar>>): number;
116
324
  /**
117
- * @summary Returns the serial number of the date before or after a specified number of workdays.
325
+ * Returns the serial number of the date before or after a specified number of workdays.
118
326
  * @param startDate is a serial date number that represents the start date.
119
327
  * @param days is the number of nonweekend and non-holiday days before or after startDate.
120
328
  * @param holidays is an optional array of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays.
121
329
  */
122
- export declare function WORKDAY(startDate: number, // date
123
- days: number, holidays?: Omittable<Flatten<Scalar>>): number;
330
+ export declare function WORKDAY(startDate: NoLift<Omittable<Scalar>>, // date
331
+ days: NoLift<Omittable<Scalar>>, holidays?: Omittable<Flatten<Scalar>>): number;
124
332
  /**
333
+ * Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters.
125
334
  * @name WORKDAY.INTL
126
- * @summary Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters.
127
335
  * @param startDate is a serial date number that represents the start date.
128
336
  * @param days is the number of nonweekend and non-holiday days before or after startDate.
129
337
  * @param weekend is a number or string specifying when weekends occur.
130
338
  * @param holidays is an optional array of one or more serial date numbers to exclude from the working calendar, such as state and federal holidays and floating holidays.
131
339
  */
132
- export declare function WORKDAY_INTL(startDate: number, // date
133
- days: number, weekend?: Omittable<AcceptError<Scalar>>, holidays?: Omittable<Flatten<Scalar>>): number;
340
+ export declare function WORKDAY_INTL(startDate: NoLift<Omittable<Scalar>>, // date
341
+ days: NoLift<Omittable<Scalar>>, weekend?: NoLift<Omittable<AcceptError<Weekend | Scalar>>>, holidays?: Omittable<Flatten<Scalar>>): number;
134
342
  /**
135
- * @summary Returns the year of a date, an integer in the range 1900 - 9999.
343
+ * Returns the year of a date, an integer in the range 1900 - 9999.
136
344
  * @param serialNumber is a number in the date-time code used for date and time calculation.
137
345
  */
138
346
  export declare function YEAR(serialNumber: number): number;
347
+ export {};
139
348
  //# sourceMappingURL=Date.d.ts.map
@@ -1,26 +1,26 @@
1
- import { Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Omittable, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Returns the modified Bessel function In(x).
3
+ * Returns the modified Bessel function In(x).
4
4
  * @param x is the value at which to evaluate the function.
5
5
  * @param n is the order of the Bessel function.
6
6
  */
7
- export declare function BESSELI(x: Scalar, n: Scalar): number;
7
+ export declare function BESSELI(x: NoLift<Omittable<AcceptError<Scalar>>>, n: NoLift<Omittable<AcceptError<Scalar>>>): number;
8
8
  /**
9
- * @summary Returns the Bessel function Jn(x).
9
+ * Returns the Bessel function Jn(x).
10
10
  * @param x is the value at which to evaluate the function.
11
11
  * @param n is the order of the Bessel function.
12
12
  */
13
- export declare function BESSELJ(x: Scalar, n: Scalar): number;
13
+ export declare function BESSELJ(x: NoLift<Omittable<AcceptError<Scalar>>>, n: NoLift<Omittable<AcceptError<Scalar>>>): number;
14
14
  /**
15
- * @summary Returns the modified Bessel function Kn(x).
15
+ * Returns the modified Bessel function Kn(x).
16
16
  * @param x is the value at which to evaluate the function.
17
17
  * @param n is the order of the function.
18
18
  */
19
- export declare function BESSELK(x: Scalar, n: Scalar): number;
19
+ export declare function BESSELK(x: NoLift<Omittable<AcceptError<Scalar>>>, n: NoLift<Omittable<AcceptError<Scalar>>>): number;
20
20
  /**
21
- * @summary Returns the Bessel function Yn(x).
21
+ * Returns the Bessel function Yn(x).
22
22
  * @param x is the value at which to evaluate the function.
23
23
  * @param n is the order of the function.
24
24
  */
25
- export declare function BESSELY(x: Scalar, n: Scalar): number;
25
+ export declare function BESSELY(x: NoLift<Omittable<AcceptError<Scalar>>>, n: NoLift<Omittable<AcceptError<Scalar>>>): number;
26
26
  //# sourceMappingURL=Bessel.d.ts.map
@@ -1,101 +1,101 @@
1
- import { AcceptError, Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Omittable, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Converts a binary number to decimal.
3
+ * Converts a binary number to decimal.
4
4
  * @param number is the binary number you want to convert.
5
5
  */
6
- export declare function BIN2DEC(number: Scalar): number;
6
+ export declare function BIN2DEC(number: NoLift<Omittable<Scalar>>): number;
7
7
  /**
8
- * @summary Converts a binary number to hexadecimal.
8
+ * Converts a binary number to hexadecimal.
9
9
  * @param number is the binary number you want to convert.
10
10
  * @param places is the number of characters to use.
11
11
  */
12
- export declare function BIN2HEX(number: AcceptError<Scalar>, places?: AcceptError<Scalar>): string;
12
+ export declare function BIN2HEX(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
13
13
  /**
14
- * @summary Converts a binary number to octal.
14
+ * Converts a binary number to octal.
15
15
  * @param number is the binary number you want to convert.
16
16
  * @param places is the number of characters to use.
17
17
  */
18
- export declare function BIN2OCT(number: AcceptError<Scalar>, places?: AcceptError<Scalar>): string;
18
+ export declare function BIN2OCT(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
19
19
  /**
20
- * @summary Returns a bitwise 'And' of two numbers.
20
+ * Returns a bitwise 'And' of two numbers.
21
21
  * @param number1 is the decimal representation of the binary number you want to evaluate.
22
22
  * @param number2 is the decimal representation of the binary number you want to evaluate.
23
23
  */
24
- export declare function BITAND(number1: Scalar, number2: Scalar): number;
24
+ export declare function BITAND(number1: AcceptError<Scalar>, number2: AcceptError<Scalar>): number;
25
25
  /**
26
- * @summary Returns a number shifted left by shiftAmount bits.
26
+ * Returns a number shifted left by shiftAmount bits.
27
27
  * @param number is the decimal representation of the binary number you want to evaluate.
28
28
  * @param shiftAmount is the number of bits that you want to shift Number left by.
29
29
  */
30
- export declare function BITLSHIFT(number: Scalar, shiftAmount: Scalar): number;
30
+ export declare function BITLSHIFT(number: AcceptError<Scalar>, shiftAmount: AcceptError<Scalar>): number;
31
31
  /**
32
- * @summary Returns a bitwise 'Or' of two numbers.
32
+ * Returns a bitwise 'Or' of two numbers.
33
33
  * @param number1 is the decimal representation of the binary number you want to evaluate.
34
34
  * @param number2 is the decimal representation of the binary number you want to evaluate.
35
35
  */
36
- export declare function BITOR(number1: Scalar, number2: Scalar): number;
36
+ export declare function BITOR(number1: AcceptError<Scalar>, number2: AcceptError<Scalar>): number;
37
37
  /**
38
- * @summary Returns a number shifted right by shiftAmount bits.
38
+ * Returns a number shifted right by shiftAmount bits.
39
39
  * @param number is the decimal representation of the binary number you want to evaluate.
40
40
  * @param shiftAmount is the number of bits that you want to shift Number left by.
41
41
  */
42
- export declare function BITRSHIFT(number: Scalar, shiftAmount: Scalar): number;
42
+ export declare function BITRSHIFT(number: AcceptError<Scalar>, shiftAmount: AcceptError<Scalar>): number;
43
43
  /**
44
- * @summary Returns a bitwise 'Exclusive Or' of two numbers.
44
+ * Returns a bitwise 'Exclusive Or' of two numbers.
45
45
  * @param number1 is the decimal representation of the binary number you want to evaluate.
46
46
  * @param number2 is the decimal representation of the binary number you want to evaluate.
47
47
  */
48
- export declare function BITXOR(number1: Scalar, number2: Scalar): number;
48
+ export declare function BITXOR(number1: AcceptError<Scalar>, number2: AcceptError<Scalar>): number;
49
49
  /**
50
- * @summary Converts a decimal number to binary.
50
+ * Converts a decimal number to binary.
51
51
  * @param number is the decimal integer you want to convert.
52
52
  * @param places is the number of characters to use.
53
53
  */
54
- export declare function DEC2BIN(number: AcceptError<Scalar>, places?: AcceptError<Scalar>): string;
54
+ export declare function DEC2BIN(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
55
55
  /**
56
- * @summary Converts a decimal number to hexadecimal.
56
+ * Converts a decimal number to hexadecimal.
57
57
  * @param number is the decimal integer you want to convert.
58
58
  * @param places is the number of characters to use.
59
59
  */
60
- export declare function DEC2HEX(number: AcceptError<Scalar>, places?: AcceptError<Scalar>): string;
60
+ export declare function DEC2HEX(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
61
61
  /**
62
- * @summary Converts a decimal number to octal.
62
+ * Converts a decimal number to octal.
63
63
  * @param number is the decimal integer you want to convert.
64
64
  * @param places is the number of characters to use.
65
65
  */
66
- export declare function DEC2OCT(number: AcceptError<Scalar>, places?: AcceptError<Scalar>): string;
66
+ export declare function DEC2OCT(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
67
67
  /**
68
- * @summary Converts a Hexadecimal number to binary.
68
+ * Converts a Hexadecimal number to binary.
69
69
  * @param number is the hexadecimal number you want to convert.
70
70
  * @param places is the number of characters to use.
71
71
  */
72
- export declare function HEX2BIN(number: AcceptError<string>, places?: AcceptError<Scalar>): string | number;
72
+ export declare function HEX2BIN(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string | number;
73
73
  /**
74
- * @summary Converts a hexadecimal number to decimal.
74
+ * Converts a hexadecimal number to decimal.
75
75
  * @param number is the hexadecimal number you want to convert.
76
76
  */
77
- export declare function HEX2DEC(number: string): number;
77
+ export declare function HEX2DEC(number: NoLift<Omittable<Scalar>>): number;
78
78
  /**
79
- * @summary Converts a hexadecimal number to octal.
79
+ * Converts a hexadecimal number to octal.
80
80
  * @param number is the hexadecimal number you want to convert.
81
81
  * @param places is the number of characters to use.
82
82
  */
83
- export declare function HEX2OCT(number: AcceptError<string>, places?: AcceptError<Scalar>): string;
83
+ export declare function HEX2OCT(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
84
84
  /**
85
- * @summary Converts an octal number to binary.
85
+ * Converts an octal number to binary.
86
86
  * @param number is the octal number you want to convert.
87
87
  * @param places is the number of characters to use.
88
88
  */
89
- export declare function OCT2BIN(number: AcceptError<string>, places?: AcceptError<Scalar>): string;
89
+ export declare function OCT2BIN(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string;
90
90
  /**
91
- * @summary Converts an octal number to decimal.
91
+ * Converts an octal number to decimal.
92
92
  * @param number is the octal number you want to convert.
93
93
  */
94
- export declare function OCT2DEC(number: string): number;
94
+ export declare function OCT2DEC(number: NoLift<Omittable<Scalar>>): number;
95
95
  /**
96
- * @summary Converts an octal number to hexadecimal.
96
+ * Converts an octal number to hexadecimal.
97
97
  * @param number is the octal number you want to convert.
98
98
  * @param places is the number of characters to use.
99
99
  */
100
- export declare function OCT2HEX(number: AcceptError<string>, places?: AcceptError<Scalar>): string | number;
100
+ export declare function OCT2HEX(number: NoLift<Omittable<AcceptError<Scalar>>>, places?: NoLift<Omittable<AcceptError<Scalar>>>): string | number;
101
101
  //# sourceMappingURL=Bitwise.d.ts.map
@@ -1,9 +1,9 @@
1
- import { Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Converts a number from one measurement system to another.
3
+ * Converts a number from one measurement system to another.
4
4
  * @param number is the value in fromUnit to convert.
5
5
  * @param fromUnit is the units for number.
6
6
  * @param toUnit is the units for the result.
7
7
  */
8
- export declare function CONVERT(number: Scalar, fromUnit: string, toUnit: string): number;
8
+ export declare function CONVERT(number: NoLift<Scalar>, fromUnit: NoLift<AcceptError<Scalar>>, toUnit: NoLift<AcceptError<Scalar>>): number;
9
9
  //# sourceMappingURL=Convert.d.ts.map
@@ -1,14 +1,14 @@
1
- import { AcceptError, Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Omittable, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Tests whether two numbers are equal.
3
+ * Tests whether two numbers are equal.
4
4
  * @param number1 is the first number.
5
5
  * @param number2 is the second number.
6
6
  */
7
- export declare function DELTA(number1: AcceptError<Scalar>, number2?: AcceptError<Scalar>): number;
7
+ export declare function DELTA(number1: NoLift<Omittable<AcceptError<Scalar>>>, number2?: NoLift<Omittable<AcceptError<Scalar>>>): number;
8
8
  /**
9
- * @summary Tests whether a number is greater than a threshold value.
9
+ * Tests whether a number is greater than a threshold value.
10
10
  * @param number is the value to test against step.
11
11
  * @param step is the threshold value.
12
12
  */
13
- export declare function GESTEP(number: AcceptError<Scalar>, step?: AcceptError<Scalar>): number;
13
+ export declare function GESTEP(number: NoLift<Omittable<AcceptError<Scalar>>>, step?: NoLift<Omittable<AcceptError<Scalar>>>): number;
14
14
  //# sourceMappingURL=Engineering.d.ts.map
@@ -1,25 +1,25 @@
1
- import { Scalar } from '@sheetxl/primitives';
1
+ import { AcceptError, Omittable, Scalar, NoLift } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Returns the error function.
3
+ * Returns the error function.
4
4
  * @param lowerLimit is the lower bound for integrating ERF.
5
5
  * @param upperLimit is the upper bound for integrating ERF.
6
6
  */
7
- export declare function ERF(lowerLimit: Scalar, upperLimit?: Scalar): number;
7
+ export declare function ERF(lowerLimit: NoLift<Omittable<AcceptError<Scalar>>>, upperLimit?: NoLift<AcceptError<Scalar>>): number;
8
8
  /**
9
+ * Returns the error function.
9
10
  * @name ERF.PRECISE
10
- * @summary Returns the error function.
11
11
  * @param x is the lower bound for integrating ERF.PRECISE.
12
12
  */
13
- export declare function ERF_PRECISE(x: Scalar): number;
13
+ export declare function ERF_PRECISE(x: NoLift<Omittable<Scalar>>): number;
14
14
  /**
15
- * @summary Returns the complementary error function.
15
+ * Returns the complementary error function.
16
16
  * @param x is the lower bound for integrating ERF.
17
17
  */
18
- export declare function ERFC(x: Scalar): number;
18
+ export declare function ERFC(x: NoLift<Omittable<Scalar>>): number;
19
19
  /**
20
+ * Returns the complementary error function.
20
21
  * @name ERFC.PRECISE
21
- * @summary Returns the complementary error function.
22
22
  * @param x is the lower bound for integrating ERF.
23
23
  */
24
- export declare function ERFC_PRECISE(x: Scalar): number;
24
+ export declare function ERFC_PRECISE(x: NoLift<Omittable<Scalar>>): number;
25
25
  //# sourceMappingURL=Error.d.ts.map