@sheetxl/formulas 0.7.28-beta.4 → 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/{DQXZXiayIDbfnOUM.mjs → -sN4SmS9cUOrcjVR.mjs} +1 -1
  3. package/browser/esm/{K0CU2XaCnJJwh9a5.mjs → 0Q46gxHg8afOLJ7K.mjs} +37 -3
  4. package/{node/esm/B2zbBC2YuaYszbHd.mjs → browser/esm/B-Ig6HWcV53g7Zy0.mjs} +1 -1
  5. package/browser/esm/{ec8i9mVgadWEbuYy.mjs → B3LvTqivuAJYZW9O.mjs} +1 -1
  6. package/browser/esm/{CB4iUafw8x-4z_ff.mjs → B52kG70ukWJKrVHl.mjs} +2 -5
  7. package/browser/esm/{BXyQ76W9hObzOdf2.mjs → B9GCCzx3ZtHrtgsZ.mjs} +1 -1
  8. package/{node/esm/CmxGNGhfoNTz4Ku7.mjs → browser/esm/BCRhRyTDe0QO3_TF.mjs} +2 -2
  9. package/browser/esm/{DNz39xRoqy8IPYb3.mjs → BTygNwyrCzzpikEl.mjs} +1 -1
  10. package/{node/esm/BIxWkCV-r5U5zPnQ.mjs → browser/esm/C1TlAj8cFI90ziZT.mjs} +51 -11
  11. package/browser/esm/{Ctxig2_c-GErg911.mjs → C2WtsJFzD2GtwSHc.mjs} +69 -4
  12. package/{node/esm/BM0KaGfI1Lqav17f.mjs → browser/esm/C2nw0NszguSU0idO.mjs} +1 -1
  13. package/browser/esm/{AuzqFslmIMxseCn8.mjs → CXDwT-uLbi_ZUF6Q.mjs} +1 -1
  14. package/browser/esm/{jFM2MqBdxFWP6QmN.mjs → CXvEGkvOOLo4v17T.mjs} +1 -1
  15. package/browser/esm/{B2b-ZmAhe94pNDT0.mjs → CYtUFqOZCtbGw6Sa.mjs} +1 -1
  16. package/browser/esm/{DIUPlZfIoj507k-C.mjs → CpGJ_hA0h7CW4Jwu.mjs} +1 -1
  17. package/{node/esm/CWI62PClHru85-mL.mjs → browser/esm/CrfZkfvKRkK2qzpP.mjs} +1 -1
  18. package/browser/esm/{BHG0YIMg5kOV3mNl.mjs → D-w_d2PrWN8kwM-Z.mjs} +1 -1
  19. package/browser/esm/{VRXC1SwOYSkv1Vs4.mjs → DG5YNbA9Ya6Uu3DG.mjs} +1 -1
  20. package/{node/esm/ymPI-MJUjuYe2n5v.mjs → browser/esm/DO9cbfqY2roOBQQi.mjs} +1 -1
  21. package/{node/esm/Co7O0P5yM1i0exNK.mjs → browser/esm/DYoyWWN86dEdpzVg.mjs} +1 -1
  22. package/browser/esm/{wDeMNrClyQscDTwZ.mjs → D_PYZQxUASNNORTU.mjs} +48 -2
  23. package/{node/esm/DjFalvyAcEOwNagC.mjs → browser/esm/KekfJtUQq6sPOmPq.mjs} +1 -1
  24. package/browser/esm/{DiV1y5wtlmlsRDfm.mjs → PDRj7r-fmSBrQgPS.mjs} +1 -1
  25. package/browser/esm/index.mjs +5186 -5889
  26. package/licenses/dependencies.txt +0 -33
  27. package/node/esm/{DQXZXiayIDbfnOUM.mjs → -sN4SmS9cUOrcjVR.mjs} +1 -1
  28. package/node/esm/{K0CU2XaCnJJwh9a5.mjs → 0Q46gxHg8afOLJ7K.mjs} +37 -3
  29. package/{browser/esm/B2zbBC2YuaYszbHd.mjs → node/esm/B-Ig6HWcV53g7Zy0.mjs} +1 -1
  30. package/node/esm/{CB4iUafw8x-4z_ff.mjs → B52kG70ukWJKrVHl.mjs} +2 -5
  31. package/node/esm/{BXyQ76W9hObzOdf2.mjs → B9GCCzx3ZtHrtgsZ.mjs} +1 -1
  32. package/{browser/esm/CmxGNGhfoNTz4Ku7.mjs → node/esm/BCRhRyTDe0QO3_TF.mjs} +2 -2
  33. package/node/esm/{Dnrd8jP_j1AWCUX6.mjs → BN0QCtL-dZU8U-hd.mjs} +1 -1
  34. package/node/esm/{8_dh9QnzvNBCvWpp.mjs → Bp4XujtHH5z4dKlz.mjs} +1 -1
  35. package/{browser/esm/BIxWkCV-r5U5zPnQ.mjs → node/esm/C--VBbIp253pJfw9.mjs} +51 -11
  36. package/node/esm/{BsBiI5HHw7jjXgp5.mjs → C-jlV3objhN9hpyt.mjs} +1 -1
  37. package/node/esm/{D1iK18Nn8mRQo6Fk.mjs → C1Qq-yVzO0uZUnVb.mjs} +1 -1
  38. package/node/esm/{Ctxig2_c-GErg911.mjs → C2WtsJFzD2GtwSHc.mjs} +69 -4
  39. package/{browser/esm/BM0KaGfI1Lqav17f.mjs → node/esm/C2nw0NszguSU0idO.mjs} +1 -1
  40. package/node/esm/{B2b-ZmAhe94pNDT0.mjs → CYtUFqOZCtbGw6Sa.mjs} +1 -1
  41. package/node/esm/{DcSbVdpEmRbpaZf0.mjs → Cf28UVIhJr5Y-_24.mjs} +1 -1
  42. package/node/esm/{wDeMNrClyQscDTwZ.mjs → CkO4Hx9aLq7m3emI.mjs} +48 -2
  43. package/{browser/esm/CWI62PClHru85-mL.mjs → node/esm/CrfZkfvKRkK2qzpP.mjs} +1 -1
  44. package/node/esm/{BHG0YIMg5kOV3mNl.mjs → D-w_d2PrWN8kwM-Z.mjs} +1 -1
  45. package/node/esm/{VRXC1SwOYSkv1Vs4.mjs → DG5YNbA9Ya6Uu3DG.mjs} +1 -1
  46. package/{browser/esm/ymPI-MJUjuYe2n5v.mjs → node/esm/DO9cbfqY2roOBQQi.mjs} +1 -1
  47. package/{browser/esm/Co7O0P5yM1i0exNK.mjs → node/esm/DYoyWWN86dEdpzVg.mjs} +1 -1
  48. package/{browser/esm/DjFalvyAcEOwNagC.mjs → node/esm/KekfJtUQq6sPOmPq.mjs} +1 -1
  49. package/node/esm/{DiV1y5wtlmlsRDfm.mjs → PDRj7r-fmSBrQgPS.mjs} +1 -1
  50. package/node/esm/index.mjs +5778 -4648
  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 +5 -3
  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 +124 -55
  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 -149
  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/74anAHR6YDREjbgI.mjs +0 -24
  120. package/browser/esm/BebVPCumXxQqABDP.mjs +0 -21
  121. package/node/esm/74anAHR6YDREjbgI.mjs +0 -24
  122. package/node/esm/BebVPCumXxQqABDP.mjs +0 -21
  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,86 +1,86 @@
1
- import { AcceptError, AcceptRefError, Scalar, IRange, IReferenceRange } from '@sheetxl/primitives';
1
+ import { AcceptError, NoLift, Omittable, Scalar, IRange, IReferenceRange } from '@sheetxl/primitives';
2
2
  /**
3
- * @summary Averages the values in a column in a list or database that match conditions you specify.
3
+ * Averages the values in a column in a list or database that match conditions you specify.
4
4
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
5
5
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
6
6
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
7
7
  */
8
- export declare function DAVERAGE(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
8
+ export declare function DAVERAGE(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
9
9
  /**
10
- * @summary Counts the cells containing numbers in the field (column) of records in the database that match the conditions you specify.
10
+ * Counts the cells containing numbers in the field (column) of records in the database that match the conditions you specify.
11
11
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
12
12
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
13
13
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
14
14
  */
15
- export declare function DCOUNT(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
15
+ export declare function DCOUNT(database: AcceptError<IReferenceRange>, field: NoLift<Omittable<AcceptError<Scalar>>>, criteria: AcceptError<IRange>): Scalar;
16
16
  /**
17
- * @summary Counts nonblank cells in the field (column) of records in the database that match the conditions you specify.
17
+ * Counts nonblank cells in the field (column) of records in the database that match the conditions you specify.
18
18
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
19
19
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
20
20
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
21
21
  */
22
- export declare function DCOUNTA(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
22
+ export declare function DCOUNTA(database: AcceptError<IReferenceRange>, field: NoLift<Omittable<AcceptError<Scalar>>>, criteria: AcceptError<IRange>): Scalar;
23
23
  /**
24
- * @summary Extracts from a database a single record that matches the conditions you specify.
24
+ * Extracts from a database a single record that matches the conditions you specify.
25
25
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
26
26
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
27
27
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
28
28
  */
29
- export declare function DGET(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
29
+ export declare function DGET(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
30
30
  /**
31
- * @summary Returns the largest number in the field (column) of records in the database that match the conditions you specify.
31
+ * Returns the largest number in the field (column) of records in the database that match the conditions you specify.
32
32
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
33
33
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
34
34
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
35
35
  */
36
- export declare function DMAX(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
36
+ export declare function DMAX(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
37
37
  /**
38
- * @summary Returns the smallest number in the field (column) of records in the database that match the conditions you specify.
38
+ * Returns the smallest number in the field (column) of records in the database that match the conditions you specify.
39
39
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
40
40
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
41
41
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
42
42
  */
43
- export declare function DMIN(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
43
+ export declare function DMIN(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
44
44
  /**
45
- * @summary Multiplies the values in the field (column) of records in the database that match the conditions you specify.
45
+ * Multiplies the values in the field (column) of records in the database that match the conditions you specify.
46
46
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
47
47
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
48
48
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
49
49
  */
50
- export declare function DPRODUCT(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
50
+ export declare function DPRODUCT(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
51
51
  /**
52
- * @summary Estimates the standard deviation based on a sample from selected database entries.
52
+ * Estimates the standard deviation based on a sample from selected database entries.
53
53
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
54
54
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
55
55
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
56
56
  */
57
- export declare function DSTDEV(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
57
+ export declare function DSTDEV(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
58
58
  /**
59
- * @summary Calculates the standard deviation based on the entire population of selected database entries.
59
+ * Calculates the standard deviation based on the entire population of selected database entries.
60
60
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
61
61
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
62
62
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
63
63
  */
64
- export declare function DSTDEVP(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
64
+ export declare function DSTDEVP(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
65
65
  /**
66
- * @summary Adds the numbers in the field (column) of records in the database that match the conditions you specify.
66
+ * Adds the numbers in the field (column) of records in the database that match the conditions you specify.
67
67
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
68
68
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
69
69
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
70
70
  */
71
- export declare function DSUM(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
71
+ export declare function DSUM(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
72
72
  /**
73
- * @summary Estimates variance based on a sample from selected database entries.
73
+ * Estimates variance based on a sample from selected database entries.
74
74
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
75
75
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
76
76
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
77
77
  */
78
- export declare function DVAR(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
78
+ export declare function DVAR(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
79
79
  /**
80
- * @summary Calculates variance based on the entire population of selected database entries.
80
+ * Calculates variance based on the entire population of selected database entries.
81
81
  * @param database is the range of cells that makes up the list or database. A database is a list of related data.
82
82
  * @param field is either the label of the column in double quotation marks or a number that represents the column's position in the list.
83
83
  * @param criteria is the range of cells that contains the conditions you specify. The range includes a column label and one cell below the label for a condition.
84
84
  */
85
- export declare function DVARP(database: AcceptError<IReferenceRange>, field: AcceptRefError<Scalar>, criteria: AcceptRefError<IRange>): Scalar;
85
+ export declare function DVARP(database: AcceptError<IReferenceRange>, field: NoLift<AcceptError<Scalar>>, criteria: AcceptError<IRange>): Scalar;
86
86
  //# sourceMappingURL=Database.d.ts.map
@@ -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