@shbernal/ts-xlsx 3.0.0 → 3.2.0

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 (277) hide show
  1. package/README.md +34 -24
  2. package/dist/bytes.d.ts +10 -2
  3. package/dist/bytes.js +22 -0
  4. package/dist/core/address.d.ts +96 -2
  5. package/dist/core/address.js +87 -33
  6. package/dist/core/array-formula-ranges.d.ts +33 -0
  7. package/dist/core/array-formula-ranges.js +62 -0
  8. package/dist/core/autofilter.d.ts +4 -3
  9. package/dist/core/autofilter.js +31 -30
  10. package/dist/core/axis-handle.d.ts +2 -0
  11. package/dist/core/axis-handle.js +5 -2
  12. package/dist/core/cell.d.ts +4 -3
  13. package/dist/core/cell.js +4 -6
  14. package/dist/core/clone.d.ts +29 -0
  15. package/dist/core/clone.js +24 -0
  16. package/dist/core/color-resolution.js +4 -6
  17. package/dist/core/column.d.ts +1 -0
  18. package/dist/core/column.js +6 -2
  19. package/dist/core/comment-thread.d.ts +7 -3
  20. package/dist/core/comment-thread.js +2 -1
  21. package/dist/core/conditional-formatting-overlay.d.ts +11 -1
  22. package/dist/core/conditional-formatting-overlay.js +30 -3
  23. package/dist/core/conditional-formatting.d.ts +107 -11
  24. package/dist/core/conditional-formatting.js +76 -19
  25. package/dist/core/containers.d.ts +12 -0
  26. package/dist/core/containers.js +5 -0
  27. package/dist/core/data-validation-overlay.d.ts +7 -1
  28. package/dist/core/data-validation-overlay.js +19 -4
  29. package/dist/core/data-validation.d.ts +22 -0
  30. package/dist/core/data-validation.js +30 -4
  31. package/dist/core/date-format.d.ts +20 -0
  32. package/dist/core/date-format.js +170 -0
  33. package/dist/core/date.d.ts +43 -8
  34. package/dist/core/date.js +19 -3
  35. package/dist/core/formula-references.d.ts +26 -0
  36. package/dist/core/formula-references.js +173 -0
  37. package/dist/core/formula-scan.d.ts +2 -0
  38. package/dist/core/formula-scan.js +58 -0
  39. package/dist/core/formula.d.ts +76 -17
  40. package/dist/core/formula.js +87 -80
  41. package/dist/core/function-values.d.ts +4 -0
  42. package/dist/core/function-values.js +58 -0
  43. package/dist/core/future-functions.d.ts +3 -0
  44. package/dist/core/{modern-functions.js → future-functions.js} +119 -88
  45. package/dist/core/grid-edits.d.ts +30 -3
  46. package/dist/core/grid-edits.js +248 -81
  47. package/dist/core/grid-shift.d.ts +58 -9
  48. package/dist/core/grid-shift.js +26 -4
  49. package/dist/core/hyperlink.d.ts +39 -0
  50. package/dist/core/hyperlink.js +88 -0
  51. package/dist/core/image.d.ts +49 -14
  52. package/dist/core/image.js +16 -5
  53. package/dist/core/internal.d.ts +10 -2
  54. package/dist/core/limits.d.ts +25 -0
  55. package/dist/core/limits.js +4 -0
  56. package/dist/core/merge.d.ts +18 -4
  57. package/dist/core/merge.js +33 -20
  58. package/dist/core/page-setup.d.ts +26 -11
  59. package/dist/core/pivot-table.d.ts +49 -10
  60. package/dist/core/pivot-table.js +112 -60
  61. package/dist/core/protection.d.ts +66 -4
  62. package/dist/core/protection.js +6 -11
  63. package/dist/core/range.js +34 -30
  64. package/dist/core/row-input.js +2 -2
  65. package/dist/core/row.d.ts +1 -0
  66. package/dist/core/row.js +6 -2
  67. package/dist/core/structured-reference.d.ts +7 -0
  68. package/dist/core/structured-reference.js +7 -0
  69. package/dist/core/style.d.ts +85 -70
  70. package/dist/core/style.js +92 -28
  71. package/dist/core/table-style.d.ts +1 -1
  72. package/dist/core/table-style.js +4 -4
  73. package/dist/core/table.d.ts +64 -16
  74. package/dist/core/table.js +87 -40
  75. package/dist/core/theme.d.ts +2 -0
  76. package/dist/core/theme.js +9 -5
  77. package/dist/core/value.d.ts +60 -28
  78. package/dist/core/value.js +48 -43
  79. package/dist/core/workbook-media.d.ts +34 -0
  80. package/dist/core/workbook-media.js +44 -0
  81. package/dist/core/workbook-styles.d.ts +83 -1
  82. package/dist/core/workbook-styles.js +4 -0
  83. package/dist/core/workbook-theme.js +5 -3
  84. package/dist/core/workbook-vba.js +3 -2
  85. package/dist/core/workbook.d.ts +41 -3
  86. package/dist/core/workbook.js +46 -41
  87. package/dist/core/worksheet-comments.d.ts +2 -1
  88. package/dist/core/worksheet-comments.js +20 -13
  89. package/dist/core/worksheet-merges.d.ts +49 -0
  90. package/dist/core/worksheet-merges.js +65 -0
  91. package/dist/core/worksheet-model.d.ts +10 -2
  92. package/dist/core/worksheet-model.js +28 -9
  93. package/dist/core/worksheet-pictures.d.ts +3 -3
  94. package/dist/core/worksheet-pictures.js +7 -6
  95. package/dist/core/worksheet.d.ts +165 -27
  96. package/dist/core/worksheet.js +206 -89
  97. package/dist/customui/ribbon.js +2 -1
  98. package/dist/entries/core.d.ts +21 -14
  99. package/dist/entries/core.js +14 -7
  100. package/dist/entries/errors.d.ts +1 -0
  101. package/dist/entries/errors.js +1 -0
  102. package/dist/entries/xlsx.d.ts +1 -1
  103. package/dist/errors.d.ts +64 -0
  104. package/dist/errors.js +22 -0
  105. package/dist/hex.d.ts +8 -0
  106. package/dist/hex.js +3 -0
  107. package/dist/io/cell-metadata/metadata.d.ts +42 -0
  108. package/dist/io/cell-metadata/metadata.js +35 -0
  109. package/dist/io/cell-metadata/rich-values.d.ts +11 -0
  110. package/dist/io/cell-metadata/rich-values.js +80 -0
  111. package/dist/io/csv/delimiter.d.ts +21 -0
  112. package/dist/io/csv/delimiter.js +18 -0
  113. package/dist/io/csv/errors.d.ts +14 -0
  114. package/dist/io/csv/errors.js +5 -0
  115. package/dist/io/csv/read.d.ts +6 -1
  116. package/dist/io/csv/read.js +51 -22
  117. package/dist/io/csv/write.d.ts +19 -5
  118. package/dist/io/csv/write.js +24 -44
  119. package/dist/io/opc/inflate.js +14 -0
  120. package/dist/io/opc/namespaces.d.ts +16 -0
  121. package/dist/io/opc/namespaces.js +4 -0
  122. package/dist/io/opc/part-paths.d.ts +9 -0
  123. package/dist/io/opc/part-paths.js +5 -5
  124. package/dist/io/opc/read-opc.d.ts +58 -14
  125. package/dist/io/opc/read-opc.js +49 -21
  126. package/dist/io/opc/read-options.d.ts +5 -1
  127. package/dist/io/opc/sniff-format.d.ts +3 -3
  128. package/dist/io/opc/sniff-format.js +2 -2
  129. package/dist/io/opc/strict-relationships.d.ts +2 -0
  130. package/dist/io/opc/strict-relationships.js +12 -0
  131. package/dist/io/read-policy/column-budget.d.ts +26 -0
  132. package/dist/io/read-policy/column-budget.js +18 -0
  133. package/dist/io/read-policy/read-repair.d.ts +74 -0
  134. package/dist/io/read-policy/read-repair.js +119 -0
  135. package/dist/io/style/cell-style-resolution.d.ts +25 -0
  136. package/dist/io/style/cell-style-resolution.js +30 -0
  137. package/dist/io/style/xf-style.d.ts +23 -1
  138. package/dist/io/style/xf-style.js +8 -0
  139. package/dist/io/xlsb/formula.d.ts +2 -2
  140. package/dist/io/xlsb/formula.js +52 -35
  141. package/dist/io/xlsb/primitives.js +8 -14
  142. package/dist/io/xlsb/ptg-functions.d.ts +19 -10
  143. package/dist/io/xlsb/ptg-functions.js +495 -596
  144. package/dist/io/xlsb/read-metadata.d.ts +7 -0
  145. package/dist/io/xlsb/read-metadata.js +69 -0
  146. package/dist/io/xlsb/read-styles.js +45 -81
  147. package/dist/io/xlsb/read-worksheet.d.ts +26 -1
  148. package/dist/io/xlsb/read-worksheet.js +148 -106
  149. package/dist/io/xlsb/read.d.ts +6 -3
  150. package/dist/io/xlsb/read.js +70 -31
  151. package/dist/io/xlsb/record-stream.d.ts +30 -0
  152. package/dist/io/xlsb/record-stream.js +20 -0
  153. package/dist/io/xlsb/record-types.d.ts +14 -5
  154. package/dist/io/xlsb/record-types.js +14 -5
  155. package/dist/io/xlsb/sheet-protection.d.ts +20 -0
  156. package/dist/io/xlsb/sheet-protection.js +60 -0
  157. package/dist/io/xlsx/cell-accumulator.d.ts +24 -9
  158. package/dist/io/xlsx/cell-accumulator.js +74 -21
  159. package/dist/io/xlsx/cell-metadata.d.ts +39 -0
  160. package/dist/io/xlsx/cell-metadata.js +162 -0
  161. package/dist/io/xlsx/cell-value.d.ts +19 -5
  162. package/dist/io/xlsx/cell-value.js +45 -30
  163. package/dist/io/xlsx/color-xml.js +3 -2
  164. package/dist/io/xlsx/column-span.d.ts +11 -0
  165. package/dist/io/xlsx/column-span.js +9 -0
  166. package/dist/io/xlsx/comments.d.ts +9 -30
  167. package/dist/io/xlsx/comments.js +25 -83
  168. package/dist/io/xlsx/conditional-formatting.d.ts +43 -23
  169. package/dist/io/xlsx/conditional-formatting.js +437 -138
  170. package/dist/io/xlsx/data-validation.d.ts +12 -7
  171. package/dist/io/xlsx/data-validation.js +67 -53
  172. package/dist/io/xlsx/edit-vba.d.ts +7 -2
  173. package/dist/io/xlsx/edit-vba.js +52 -52
  174. package/dist/io/xlsx/font-xml.d.ts +7 -0
  175. package/dist/io/xlsx/font-xml.js +104 -0
  176. package/dist/io/xlsx/hyperlinks.d.ts +19 -21
  177. package/dist/io/xlsx/hyperlinks.js +12 -32
  178. package/dist/io/xlsx/images.d.ts +49 -16
  179. package/dist/io/xlsx/images.js +149 -50
  180. package/dist/io/xlsx/namespaces.d.ts +24 -0
  181. package/dist/io/xlsx/namespaces.js +11 -0
  182. package/dist/io/xlsx/package-plan.d.ts +60 -15
  183. package/dist/io/xlsx/package-plan.js +83 -18
  184. package/dist/io/xlsx/part-names.d.ts +6 -8
  185. package/dist/io/xlsx/part-names.js +3 -7
  186. package/dist/io/xlsx/pivot.d.ts +5 -5
  187. package/dist/io/xlsx/pivot.js +26 -24
  188. package/dist/io/xlsx/preserved-splices.d.ts +6 -0
  189. package/dist/io/xlsx/preserved-splices.js +74 -0
  190. package/dist/io/xlsx/read-comments.d.ts +29 -0
  191. package/dist/io/xlsx/read-comments.js +75 -0
  192. package/dist/io/xlsx/read-parts.d.ts +59 -0
  193. package/dist/io/xlsx/read-parts.js +259 -0
  194. package/dist/io/xlsx/read-pivot.js +11 -4
  195. package/dist/io/xlsx/{rich-runs.d.ts → read-rich-runs.d.ts} +8 -5
  196. package/dist/io/xlsx/{rich-runs.js → read-rich-runs.js} +24 -4
  197. package/dist/io/xlsx/read-rows.d.ts +35 -11
  198. package/dist/io/xlsx/read-rows.js +73 -49
  199. package/dist/io/xlsx/read-shared-strings.js +3 -2
  200. package/dist/io/xlsx/read-styles.d.ts +0 -30
  201. package/dist/io/xlsx/read-styles.js +45 -105
  202. package/dist/io/xlsx/read-workbook-xml.d.ts +42 -0
  203. package/dist/io/xlsx/read-workbook-xml.js +175 -0
  204. package/dist/io/xlsx/read-worksheet.d.ts +9 -3
  205. package/dist/io/xlsx/read-worksheet.js +70 -177
  206. package/dist/io/xlsx/read.d.ts +3 -14
  207. package/dist/io/xlsx/read.js +74 -411
  208. package/dist/io/xlsx/relationships.d.ts +3 -0
  209. package/dist/io/xlsx/relationships.js +4 -0
  210. package/dist/io/xlsx/rich-text.js +1 -1
  211. package/dist/io/xlsx/row-position.d.ts +20 -0
  212. package/dist/io/xlsx/row-position.js +11 -0
  213. package/dist/io/xlsx/row-xml.d.ts +139 -0
  214. package/dist/io/xlsx/row-xml.js +222 -0
  215. package/dist/io/xlsx/shared-formulas.js +2 -2
  216. package/dist/io/xlsx/sheet-properties.d.ts +10 -1
  217. package/dist/io/xlsx/sheet-properties.js +182 -20
  218. package/dist/io/xlsx/strict-parts.d.ts +7 -0
  219. package/dist/io/xlsx/strict-parts.js +171 -0
  220. package/dist/io/xlsx/style-elements.d.ts +41 -0
  221. package/dist/io/xlsx/style-elements.js +136 -0
  222. package/dist/io/xlsx/styles.d.ts +17 -3
  223. package/dist/io/xlsx/styles.js +13 -209
  224. package/dist/io/xlsx/tables.d.ts +10 -2
  225. package/dist/io/xlsx/tables.js +55 -52
  226. package/dist/io/xlsx/theme-xml.d.ts +32 -4
  227. package/dist/io/xlsx/theme-xml.js +106 -71
  228. package/dist/io/xlsx/threaded-comments.d.ts +14 -11
  229. package/dist/io/xlsx/threaded-comments.js +16 -8
  230. package/dist/io/xlsx/workbook-xml.d.ts +45 -6
  231. package/dist/io/xlsx/workbook-xml.js +62 -54
  232. package/dist/io/xlsx/worksheet-xml.d.ts +26 -70
  233. package/dist/io/xlsx/worksheet-xml.js +69 -282
  234. package/dist/io/xlsx/write-stream.d.ts +90 -19
  235. package/dist/io/xlsx/write-stream.js +80 -25
  236. package/dist/io/xlsx/write.d.ts +12 -6
  237. package/dist/io/xlsx/write.js +226 -123
  238. package/dist/rel-type.d.ts +25 -0
  239. package/dist/rel-type.js +9 -0
  240. package/dist/token-set.d.ts +13 -0
  241. package/dist/token-set.js +4 -1
  242. package/dist/vba/bytes.d.ts +16 -5
  243. package/dist/vba/bytes.js +27 -6
  244. package/dist/vba/cfb-format.d.ts +55 -0
  245. package/dist/vba/cfb-format.js +35 -0
  246. package/dist/vba/cfb-writer.d.ts +8 -0
  247. package/dist/vba/cfb-writer.js +40 -40
  248. package/dist/vba/cfb.d.ts +21 -4
  249. package/dist/vba/cfb.js +124 -90
  250. package/dist/vba/codepage.js +2 -1
  251. package/dist/vba/dir-records.d.ts +6 -0
  252. package/dist/vba/dir-records.js +10 -2
  253. package/dist/vba/errors.d.ts +11 -4
  254. package/dist/vba/index.d.ts +0 -2
  255. package/dist/vba/index.js +0 -2
  256. package/dist/vba/ms-ovba.d.ts +6 -2
  257. package/dist/vba/ms-ovba.js +66 -22
  258. package/dist/vba/project-editor.js +129 -119
  259. package/dist/vba/project.d.ts +15 -1
  260. package/dist/vba/project.js +38 -13
  261. package/dist/vba/vba-encoding.d.ts +4 -10
  262. package/dist/vba/vba-encoding.js +3 -17
  263. package/dist/xml/xml-attrs.d.ts +37 -0
  264. package/dist/xml/xml-attrs.js +30 -0
  265. package/dist/xml/xml-chars.d.ts +40 -0
  266. package/dist/xml/xml-chars.js +12 -0
  267. package/dist/xml/xml-namespaces.d.ts +31 -0
  268. package/dist/xml/xml-namespaces.js +50 -0
  269. package/dist/xml/xml-read.d.ts +101 -11
  270. package/dist/xml/xml-read.js +150 -18
  271. package/dist/xml/xml-scan.d.ts +25 -34
  272. package/dist/xml/xml-scan.js +69 -46
  273. package/dist/xml/xml.d.ts +59 -26
  274. package/dist/xml/xml.js +45 -23
  275. package/package.json +15 -9
  276. package/skills/ts-xlsx-upstream/SKILL.md +21 -13
  277. package/dist/core/modern-functions.d.ts +0 -1
@@ -1,625 +1,524 @@
1
1
  export const FTAB_USER_DEFINED = 0x00ff;
2
- export function functionNameFor(index) {
3
- return FTAB[index];
4
- }
5
- export function fixedArityFor(name) {
6
- return FIXED_ARITY.get(name);
7
- }
8
- const FIXED_ARITY = new Map(Object.entries({
9
- NA: 0,
10
- PI: 0,
11
- TRUE: 0,
12
- FALSE: 0,
13
- RAND: 0,
14
- NOW: 0,
15
- TODAY: 0,
16
- STEP: 0,
17
- CALLER: 0,
18
- 'ACTIVE.CELL': 0,
19
- SELECTION: 0,
20
- BREAK: 0,
21
- NEXT: 0,
22
- ELSE: 0,
23
- 'END.IF': 0,
24
- 'LAST.ERROR': 0,
25
- GROUP: 0,
26
- ABS: 1,
27
- ACOS: 1,
28
- ACOSH: 1,
29
- AREAS: 1,
30
- ASC: 1,
31
- ASIN: 1,
32
- ASINH: 1,
33
- ATAN: 1,
34
- ATANH: 1,
35
- BAHTTEXT: 1,
36
- CHAR: 1,
37
- CLEAN: 1,
38
- CODE: 1,
39
- COLUMNS: 1,
40
- COS: 1,
41
- COSH: 1,
42
- COUNTBLANK: 1,
43
- DATESTRING: 1,
44
- DATEVALUE: 1,
45
- DAY: 1,
46
- DBCS: 1,
47
- 'DELETE.BAR': 1,
48
- 'DELETE.TOOLBAR': 1,
49
- DEGREES: 1,
50
- DEREF: 1,
51
- 'DIALOG.BOX': 1,
52
- 'ELSE.IF': 1,
53
- 'ERROR.TYPE': 1,
54
- EVALUATE: 1,
55
- EVEN: 1,
56
- EXP: 1,
57
- FACT: 1,
58
- FCLOSE: 1,
59
- FISHER: 1,
60
- FISHERINV: 1,
61
- FREADLN: 1,
62
- FSIZE: 1,
63
- GAMMALN: 1,
64
- 'GET.FORMULA': 1,
65
- 'GET.WORKSPACE': 1,
66
- GOTO: 1,
67
- HOUR: 1,
68
- INFO: 1,
69
- INT: 1,
70
- ISBLANK: 1,
71
- ISERR: 1,
72
- ISERROR: 1,
73
- ISLOGICAL: 1,
74
- ISNA: 1,
75
- ISNONTEXT: 1,
76
- ISNUMBER: 1,
77
- ISREF: 1,
78
- ISTEXT: 1,
79
- ISTHAIDIGIT: 1,
80
- LEN: 1,
81
- LENB: 1,
82
- LN: 1,
83
- LOG10: 1,
84
- LOWER: 1,
85
- MDETERM: 1,
86
- MINUTE: 1,
87
- MINVERSE: 1,
88
- MONTH: 1,
89
- N: 1,
90
- NORMSDIST: 1,
91
- NORMSINV: 1,
92
- NOT: 1,
93
- ODD: 1,
94
- 'OPTIONS.LISTS.GET': 1,
95
- PHONETIC: 1,
96
- PROPER: 1,
97
- RADIANS: 1,
98
- 'RESET.TOOLBAR': 1,
99
- ROUNDBAHTDOWN: 1,
100
- ROUNDBAHTUP: 1,
101
- ROWS: 1,
102
- SECOND: 1,
103
- SIGN: 1,
104
- SIN: 1,
105
- SINH: 1,
106
- SQRT: 1,
107
- T: 1,
108
- TAN: 1,
109
- TANH: 1,
110
- TERMINATE: 1,
111
- THAIDAYOFWEEK: 1,
112
- THAIDIGIT: 1,
113
- THAIMONTHOFYEAR: 1,
114
- THAINUMSOUND: 1,
115
- THAINUMSTRING: 1,
116
- THAISTRINGLENGTH: 1,
117
- THAIYEAR: 1,
118
- TIMEVALUE: 1,
119
- TRANSPOSE: 1,
120
- TRIM: 1,
121
- TYPE: 1,
122
- UNREGISTER: 1,
123
- UPPER: 1,
124
- VALUE: 1,
125
- WHILE: 1,
126
- YEAR: 1,
127
- ABSREF: 2,
128
- ATAN2: 2,
129
- CEILING: 2,
130
- CHIDIST: 2,
131
- CHIINV: 2,
132
- CHITEST: 2,
133
- COMBIN: 2,
134
- CORREL: 2,
135
- COUNTIF: 2,
136
- COVAR: 2,
137
- EXACT: 2,
138
- FLOOR: 2,
139
- FREAD: 2,
140
- FREQUENCY: 2,
141
- FTEST: 2,
142
- FWRITE: 2,
143
- FWRITELN: 2,
144
- INITIATE: 2,
145
- INTERCEPT: 2,
146
- LARGE: 2,
147
- MMULT: 2,
148
- MOD: 2,
149
- NUMBERSTRING: 2,
150
- PEARSON: 2,
151
- PERCENTILE: 2,
152
- PERMUT: 2,
153
- POWER: 2,
154
- QUARTILE: 2,
155
- RELREF: 2,
156
- REPT: 2,
157
- REQUEST: 2,
158
- ROUND: 2,
159
- ROUNDDOWN: 2,
160
- ROUNDUP: 2,
161
- RSQ: 2,
162
- 'SET.VALUE': 2,
163
- SLOPE: 2,
164
- SMALL: 2,
165
- STEYX: 2,
166
- SUMX2MY2: 2,
167
- SUMX2PY2: 2,
168
- SUMXMY2: 2,
169
- TEXT: 2,
170
- TINV: 2,
171
- TRIMMEAN: 2,
172
- EXECUTE: 2,
173
- CONFIDENCE: 3,
174
- CRITBINOM: 3,
175
- DATE: 3,
176
- DATEDIF: 3,
177
- DAVERAGE: 3,
178
- DCOUNT: 3,
179
- DCOUNTA: 3,
180
- DGET: 3,
181
- DMAX: 3,
182
- DMIN: 3,
183
- DPRODUCT: 3,
184
- DSTDEV: 3,
185
- DSTDEVP: 3,
186
- DSUM: 3,
187
- DVAR: 3,
188
- DVARP: 3,
189
- 'ENABLE.TOOL': 3,
190
- EXPONDIST: 3,
191
- FDIST: 3,
192
- FINV: 3,
193
- FORECAST: 3,
194
- GAMMAINV: 3,
195
- LOGINV: 3,
196
- LOGNORMDIST: 3,
197
- MID: 3,
198
- MIDB: 3,
199
- MIRR: 3,
200
- NEGBINOMDIST: 3,
201
- NORMINV: 3,
202
- POISSON: 3,
203
- POKE: 3,
204
- 'PRESS.TOOL': 3,
205
- SLN: 3,
206
- STANDARDIZE: 3,
207
- TDIST: 3,
208
- TIME: 3,
209
- BINOMDIST: 4,
210
- GAMMADIST: 4,
211
- HYPGEOMDIST: 4,
212
- ISPMT: 4,
213
- NORMDIST: 4,
214
- REPLACE: 4,
215
- REPLACEB: 4,
216
- SYD: 4,
217
- TTEST: 4,
218
- WEIBULL: 4,
219
- }));
220
2
  const RUNS = [
221
3
  [
222
4
  0x0000,
223
5
  [
224
- 'COUNT',
225
- 'IF',
226
- 'ISNA',
227
- 'ISERROR',
228
- 'SUM',
229
- 'AVERAGE',
230
- 'MIN',
231
- 'MAX',
232
- 'ROW',
233
- 'COLUMN',
234
- 'NA',
235
- 'NPV',
236
- 'STDEV',
237
- 'DOLLAR',
238
- 'FIXED',
239
- 'SIN',
240
- 'COS',
241
- 'TAN',
242
- 'ATAN',
243
- 'PI',
244
- 'SQRT',
245
- 'EXP',
246
- 'LN',
247
- 'LOG10',
248
- 'ABS',
249
- 'INT',
250
- 'SIGN',
251
- 'ROUND',
252
- 'LOOKUP',
253
- 'INDEX',
254
- 'REPT',
255
- 'MID',
256
- 'LEN',
257
- 'VALUE',
258
- 'TRUE',
259
- 'FALSE',
260
- 'AND',
261
- 'OR',
262
- 'NOT',
263
- 'MOD',
264
- 'DCOUNT',
265
- 'DSUM',
266
- 'DAVERAGE',
267
- 'DMIN',
268
- 'DMAX',
269
- 'DSTDEV',
270
- 'VAR',
271
- 'DVAR',
272
- 'TEXT',
273
- 'LINEST',
274
- 'TREND',
275
- 'LOGEST',
276
- 'GROWTH',
277
- 'GOTO',
278
- 'HALT',
279
- 'RETURN',
280
- 'PV',
281
- 'FV',
282
- 'NPER',
283
- 'PMT',
284
- 'RATE',
285
- 'MIRR',
286
- 'IRR',
287
- 'RAND',
288
- 'MATCH',
289
- 'DATE',
290
- 'TIME',
291
- 'DAY',
292
- 'MONTH',
293
- 'YEAR',
294
- 'WEEKDAY',
295
- 'HOUR',
296
- 'MINUTE',
297
- 'SECOND',
298
- 'NOW',
299
- 'AREAS',
300
- 'ROWS',
301
- 'COLUMNS',
302
- 'OFFSET',
303
- 'ABSREF',
304
- 'RELREF',
305
- 'ARGUMENT',
306
- 'SEARCH',
307
- 'TRANSPOSE',
308
- 'ERROR',
309
- 'STEP',
310
- 'TYPE',
311
- 'ECHO',
312
- 'SET.NAME',
313
- 'CALLER',
314
- 'DEREF',
315
- 'WINDOWS',
316
- 'SERIES',
317
- 'DOCUMENTS',
318
- 'ACTIVE.CELL',
319
- 'SELECTION',
320
- 'RESULT',
321
- 'ATAN2',
322
- 'ASIN',
323
- 'ACOS',
324
- 'CHOOSE',
325
- 'HLOOKUP',
326
- 'VLOOKUP',
327
- 'LINKS',
328
- 'INPUT',
329
- 'ISREF',
330
- 'GET.FORMULA',
331
- 'GET.NAME',
332
- 'SET.VALUE',
333
- 'LOG',
334
- 'EXEC',
335
- 'CHAR',
336
- 'LOWER',
337
- 'UPPER',
338
- 'PROPER',
339
- 'LEFT',
340
- 'RIGHT',
341
- 'EXACT',
342
- 'TRIM',
343
- 'REPLACE',
344
- 'SUBSTITUTE',
345
- 'CODE',
346
- 'NAMES',
347
- 'DIRECTORY',
348
- 'FIND',
349
- 'CELL',
350
- 'ISERR',
351
- 'ISTEXT',
352
- 'ISNUMBER',
353
- 'ISBLANK',
354
- 'T',
355
- 'N',
356
- 'FOPEN',
357
- 'FCLOSE',
358
- 'FSIZE',
359
- 'FREADLN',
360
- 'FREAD',
361
- 'FWRITELN',
362
- 'FWRITE',
363
- 'FPOS',
364
- 'DATEVALUE',
365
- 'TIMEVALUE',
366
- 'SLN',
367
- 'SYD',
368
- 'DDB',
369
- 'GET.DEF',
370
- 'REFTEXT',
371
- 'TEXTREF',
372
- 'INDIRECT',
373
- 'REGISTER',
374
- 'CALL',
375
- 'ADD.BAR',
376
- 'ADD.MENU',
377
- 'ADD.COMMAND',
378
- 'ENABLE.COMMAND',
379
- 'CHECK.COMMAND',
380
- 'RENAME.COMMAND',
381
- 'SHOW.BAR',
382
- 'DELETE.MENU',
383
- 'DELETE.COMMAND',
384
- 'GET.CHART.ITEM',
385
- 'DIALOG.BOX',
386
- 'CLEAN',
387
- 'MDETERM',
388
- 'MINVERSE',
389
- 'MMULT',
390
- 'FILES',
391
- 'IPMT',
392
- 'PPMT',
393
- 'COUNTA',
394
- 'CANCEL.KEY',
395
- 'FOR',
396
- 'WHILE',
397
- 'BREAK',
398
- 'NEXT',
399
- 'INITIATE',
400
- 'REQUEST',
401
- 'POKE',
402
- 'EXECUTE',
403
- 'TERMINATE',
404
- 'RESTART',
405
- 'HELP',
406
- 'GET.BAR',
407
- 'PRODUCT',
408
- 'FACT',
409
- 'GET.CELL',
410
- 'GET.WORKSPACE',
411
- 'GET.WINDOW',
412
- 'GET.DOCUMENT',
413
- 'DPRODUCT',
414
- 'ISNONTEXT',
415
- 'GET.NOTE',
416
- 'NOTE',
417
- 'STDEVP',
418
- 'VARP',
419
- 'DSTDEVP',
420
- 'DVARP',
421
- 'TRUNC',
422
- 'ISLOGICAL',
423
- 'DCOUNTA',
424
- 'DELETE.BAR',
425
- 'UNREGISTER',
6
+ ['COUNT', 'variadic'],
7
+ ['IF', 'variadic'],
8
+ ['ISNA', 1],
9
+ ['ISERROR', 1],
10
+ ['SUM', 'variadic'],
11
+ ['AVERAGE', 'variadic'],
12
+ ['MIN', 'variadic'],
13
+ ['MAX', 'variadic'],
14
+ ['ROW', 'variadic'],
15
+ ['COLUMN', 'variadic'],
16
+ ['NA', 0],
17
+ ['NPV', 'variadic'],
18
+ ['STDEV', 'variadic'],
19
+ ['DOLLAR', 'variadic'],
20
+ ['FIXED', 'variadic'],
21
+ ['SIN', 1],
22
+ ['COS', 1],
23
+ ['TAN', 1],
24
+ ['ATAN', 1],
25
+ ['PI', 0],
26
+ ['SQRT', 1],
27
+ ['EXP', 1],
28
+ ['LN', 1],
29
+ ['LOG10', 1],
30
+ ['ABS', 1],
31
+ ['INT', 1],
32
+ ['SIGN', 1],
33
+ ['ROUND', 2],
34
+ ['LOOKUP', 'variadic'],
35
+ ['INDEX', 'variadic'],
36
+ ['REPT', 2],
37
+ ['MID', 3],
38
+ ['LEN', 1],
39
+ ['VALUE', 1],
40
+ ['TRUE', 0],
41
+ ['FALSE', 0],
42
+ ['AND', 'variadic'],
43
+ ['OR', 'variadic'],
44
+ ['NOT', 1],
45
+ ['MOD', 2],
46
+ ['DCOUNT', 3],
47
+ ['DSUM', 3],
48
+ ['DAVERAGE', 3],
49
+ ['DMIN', 3],
50
+ ['DMAX', 3],
51
+ ['DSTDEV', 3],
52
+ ['VAR', 'variadic'],
53
+ ['DVAR', 3],
54
+ ['TEXT', 2],
55
+ ['LINEST', 'variadic'],
56
+ ['TREND', 'variadic'],
57
+ ['LOGEST', 'variadic'],
58
+ ['GROWTH', 'variadic'],
59
+ ['GOTO', 1],
60
+ ['HALT', 'variadic'],
61
+ ['RETURN', 'variadic'],
62
+ ['PV', 'variadic'],
63
+ ['FV', 'variadic'],
64
+ ['NPER', 'variadic'],
65
+ ['PMT', 'variadic'],
66
+ ['RATE', 'variadic'],
67
+ ['MIRR', 3],
68
+ ['IRR', 'variadic'],
69
+ ['RAND', 0],
70
+ ['MATCH', 'variadic'],
71
+ ['DATE', 3],
72
+ ['TIME', 3],
73
+ ['DAY', 1],
74
+ ['MONTH', 1],
75
+ ['YEAR', 1],
76
+ ['WEEKDAY', 'variadic'],
77
+ ['HOUR', 1],
78
+ ['MINUTE', 1],
79
+ ['SECOND', 1],
80
+ ['NOW', 0],
81
+ ['AREAS', 1],
82
+ ['ROWS', 1],
83
+ ['COLUMNS', 1],
84
+ ['OFFSET', 'variadic'],
85
+ ['ABSREF', 2],
86
+ ['RELREF', 2],
87
+ ['ARGUMENT', 'variadic'],
88
+ ['SEARCH', 'variadic'],
89
+ ['TRANSPOSE', 1],
90
+ ['ERROR', 'variadic'],
91
+ ['STEP', 0],
92
+ ['TYPE', 1],
93
+ ['ECHO', 'variadic'],
94
+ ['SET.NAME', 'variadic'],
95
+ ['CALLER', 0],
96
+ ['DEREF', 1],
97
+ ['WINDOWS', 'variadic'],
98
+ ['SERIES', 'variadic'],
99
+ ['DOCUMENTS', 'variadic'],
100
+ ['ACTIVE.CELL', 0],
101
+ ['SELECTION', 0],
102
+ ['RESULT', 'variadic'],
103
+ ['ATAN2', 2],
104
+ ['ASIN', 1],
105
+ ['ACOS', 1],
106
+ ['CHOOSE', 'variadic'],
107
+ ['HLOOKUP', 'variadic'],
108
+ ['VLOOKUP', 'variadic'],
109
+ ['LINKS', 'variadic'],
110
+ ['INPUT', 'variadic'],
111
+ ['ISREF', 1],
112
+ ['GET.FORMULA', 1],
113
+ ['GET.NAME', 'variadic'],
114
+ ['SET.VALUE', 2],
115
+ ['LOG', 'variadic'],
116
+ ['EXEC', 'variadic'],
117
+ ['CHAR', 1],
118
+ ['LOWER', 1],
119
+ ['UPPER', 1],
120
+ ['PROPER', 1],
121
+ ['LEFT', 'variadic'],
122
+ ['RIGHT', 'variadic'],
123
+ ['EXACT', 2],
124
+ ['TRIM', 1],
125
+ ['REPLACE', 4],
126
+ ['SUBSTITUTE', 'variadic'],
127
+ ['CODE', 1],
128
+ ['NAMES', 'variadic'],
129
+ ['DIRECTORY', 'variadic'],
130
+ ['FIND', 'variadic'],
131
+ ['CELL', 'variadic'],
132
+ ['ISERR', 1],
133
+ ['ISTEXT', 1],
134
+ ['ISNUMBER', 1],
135
+ ['ISBLANK', 1],
136
+ ['T', 1],
137
+ ['N', 1],
138
+ ['FOPEN', 'variadic'],
139
+ ['FCLOSE', 1],
140
+ ['FSIZE', 1],
141
+ ['FREADLN', 1],
142
+ ['FREAD', 2],
143
+ ['FWRITELN', 2],
144
+ ['FWRITE', 2],
145
+ ['FPOS', 'variadic'],
146
+ ['DATEVALUE', 1],
147
+ ['TIMEVALUE', 1],
148
+ ['SLN', 3],
149
+ ['SYD', 4],
150
+ ['DDB', 'variadic'],
151
+ ['GET.DEF', 'variadic'],
152
+ ['REFTEXT', 'variadic'],
153
+ ['TEXTREF', 'variadic'],
154
+ ['INDIRECT', 'variadic'],
155
+ ['REGISTER', 'variadic'],
156
+ ['CALL', 'variadic'],
157
+ ['ADD.BAR', 'variadic'],
158
+ ['ADD.MENU', 'variadic'],
159
+ ['ADD.COMMAND', 'variadic'],
160
+ ['ENABLE.COMMAND', 'variadic'],
161
+ ['CHECK.COMMAND', 'variadic'],
162
+ ['RENAME.COMMAND', 'variadic'],
163
+ ['SHOW.BAR', 'variadic'],
164
+ ['DELETE.MENU', 'variadic'],
165
+ ['DELETE.COMMAND', 'variadic'],
166
+ ['GET.CHART.ITEM', 'variadic'],
167
+ ['DIALOG.BOX', 1],
168
+ ['CLEAN', 1],
169
+ ['MDETERM', 1],
170
+ ['MINVERSE', 1],
171
+ ['MMULT', 2],
172
+ ['FILES', 'variadic'],
173
+ ['IPMT', 'variadic'],
174
+ ['PPMT', 'variadic'],
175
+ ['COUNTA', 'variadic'],
176
+ ['CANCEL.KEY', 'variadic'],
177
+ ['FOR', 'variadic'],
178
+ ['WHILE', 1],
179
+ ['BREAK', 0],
180
+ ['NEXT', 0],
181
+ ['INITIATE', 2],
182
+ ['REQUEST', 2],
183
+ ['POKE', 3],
184
+ ['EXECUTE', 2],
185
+ ['TERMINATE', 1],
186
+ ['RESTART', 'variadic'],
187
+ ['HELP', 'variadic'],
188
+ ['GET.BAR', 'variadic'],
189
+ ['PRODUCT', 'variadic'],
190
+ ['FACT', 1],
191
+ ['GET.CELL', 'variadic'],
192
+ ['GET.WORKSPACE', 1],
193
+ ['GET.WINDOW', 'variadic'],
194
+ ['GET.DOCUMENT', 'variadic'],
195
+ ['DPRODUCT', 3],
196
+ ['ISNONTEXT', 1],
197
+ ['GET.NOTE', 'variadic'],
198
+ ['NOTE', 'variadic'],
199
+ ['STDEVP', 'variadic'],
200
+ ['VARP', 'variadic'],
201
+ ['DSTDEVP', 3],
202
+ ['DVARP', 3],
203
+ ['TRUNC', 'variadic'],
204
+ ['ISLOGICAL', 1],
205
+ ['DCOUNTA', 3],
206
+ ['DELETE.BAR', 1],
207
+ ['UNREGISTER', 1],
426
208
  ],
427
209
  ],
428
210
  [
429
211
  0x00cc,
430
212
  [
431
- 'USDOLLAR',
432
- 'FINDB',
433
- 'SEARCHB',
434
- 'REPLACEB',
435
- 'LEFTB',
436
- 'RIGHTB',
437
- 'MIDB',
438
- 'LENB',
439
- 'ROUNDUP',
440
- 'ROUNDDOWN',
441
- 'ASC',
442
- 'DBCS',
443
- 'RANK',
213
+ ['USDOLLAR', 'variadic'],
214
+ ['FINDB', 'variadic'],
215
+ ['SEARCHB', 'variadic'],
216
+ ['REPLACEB', 4],
217
+ ['LEFTB', 'variadic'],
218
+ ['RIGHTB', 'variadic'],
219
+ ['MIDB', 3],
220
+ ['LENB', 1],
221
+ ['ROUNDUP', 2],
222
+ ['ROUNDDOWN', 2],
223
+ ['ASC', 1],
224
+ ['DBCS', 1],
225
+ ['RANK', 'variadic'],
444
226
  ],
445
227
  ],
446
228
  [
447
229
  0x00db,
448
230
  [
449
- 'ADDRESS',
450
- 'DAYS360',
451
- 'TODAY',
452
- 'VDB',
453
- 'ELSE',
454
- 'ELSE.IF',
455
- 'END.IF',
456
- 'FOR.CELL',
457
- 'MEDIAN',
458
- 'SUMPRODUCT',
459
- 'SINH',
460
- 'COSH',
461
- 'TANH',
462
- 'ASINH',
463
- 'ACOSH',
464
- 'ATANH',
465
- 'DGET',
466
- 'CREATE.OBJECT',
467
- 'VOLATILE',
468
- 'LAST.ERROR',
469
- 'CUSTOM.UNDO',
470
- 'CUSTOM.REPEAT',
471
- 'FORMULA.CONVERT',
472
- 'GET.LINK.INFO',
473
- 'TEXT.BOX',
474
- 'INFO',
475
- 'GROUP',
476
- 'GET.OBJECT',
477
- 'DB',
478
- 'PAUSE',
231
+ ['ADDRESS', 'variadic'],
232
+ ['DAYS360', 'variadic'],
233
+ ['TODAY', 0],
234
+ ['VDB', 'variadic'],
235
+ ['ELSE', 0],
236
+ ['ELSE.IF', 1],
237
+ ['END.IF', 0],
238
+ ['FOR.CELL', 'variadic'],
239
+ ['MEDIAN', 'variadic'],
240
+ ['SUMPRODUCT', 'variadic'],
241
+ ['SINH', 1],
242
+ ['COSH', 1],
243
+ ['TANH', 1],
244
+ ['ASINH', 1],
245
+ ['ACOSH', 1],
246
+ ['ATANH', 1],
247
+ ['DGET', 3],
248
+ ['CREATE.OBJECT', 'variadic'],
249
+ ['VOLATILE', 'variadic'],
250
+ ['LAST.ERROR', 0],
251
+ ['CUSTOM.UNDO', 'variadic'],
252
+ ['CUSTOM.REPEAT', 'variadic'],
253
+ ['FORMULA.CONVERT', 'variadic'],
254
+ ['GET.LINK.INFO', 'variadic'],
255
+ ['TEXT.BOX', 'variadic'],
256
+ ['INFO', 1],
257
+ ['GROUP', 0],
258
+ ['GET.OBJECT', 'variadic'],
259
+ ['DB', 'variadic'],
260
+ ['PAUSE', 'variadic'],
479
261
  ],
480
262
  ],
481
263
  [
482
264
  0x00fb,
483
265
  [
484
- 'RESUME',
485
- 'FREQUENCY',
486
- 'ADD.TOOLBAR',
487
- 'DELETE.TOOLBAR',
488
- 'User Defined Function',
489
- 'RESET.TOOLBAR',
490
- 'EVALUATE',
491
- 'GET.TOOLBAR',
492
- 'GET.TOOL',
493
- 'SPELLING.CHECK',
494
- 'ERROR.TYPE',
495
- 'APP.TITLE',
496
- 'WINDOW.TITLE',
497
- 'SAVE.TOOLBAR',
498
- 'ENABLE.TOOL',
499
- 'PRESS.TOOL',
500
- 'REGISTER.ID',
501
- 'GET.WORKBOOK',
502
- 'AVEDEV',
503
- 'BETADIST',
504
- 'GAMMALN',
505
- 'BETAINV',
506
- 'BINOMDIST',
507
- 'CHIDIST',
508
- 'CHIINV',
509
- 'COMBIN',
510
- 'CONFIDENCE',
511
- 'CRITBINOM',
512
- 'EVEN',
513
- 'EXPONDIST',
514
- 'FDIST',
515
- 'FINV',
516
- 'FISHER',
517
- 'FISHERINV',
518
- 'FLOOR',
519
- 'GAMMADIST',
520
- 'GAMMAINV',
521
- 'CEILING',
522
- 'HYPGEOMDIST',
523
- 'LOGNORMDIST',
524
- 'LOGINV',
525
- 'NEGBINOMDIST',
526
- 'NORMDIST',
527
- 'NORMSDIST',
528
- 'NORMINV',
529
- 'NORMSINV',
530
- 'STANDARDIZE',
531
- 'ODD',
532
- 'PERMUT',
533
- 'POISSON',
534
- 'TDIST',
535
- 'WEIBULL',
536
- 'SUMXMY2',
537
- 'SUMX2MY2',
538
- 'SUMX2PY2',
539
- 'CHITEST',
540
- 'CORREL',
541
- 'COVAR',
542
- 'FORECAST',
543
- 'FTEST',
544
- 'INTERCEPT',
545
- 'PEARSON',
546
- 'RSQ',
547
- 'STEYX',
548
- 'SLOPE',
549
- 'TTEST',
550
- 'PROB',
551
- 'DEVSQ',
552
- 'GEOMEAN',
553
- 'HARMEAN',
554
- 'SUMSQ',
555
- 'KURT',
556
- 'SKEW',
557
- 'ZTEST',
558
- 'LARGE',
559
- 'SMALL',
560
- 'QUARTILE',
561
- 'PERCENTILE',
562
- 'PERCENTRANK',
563
- 'MODE',
564
- 'TRIMMEAN',
565
- 'TINV',
266
+ ['RESUME', 'variadic'],
267
+ ['FREQUENCY', 2],
268
+ ['ADD.TOOLBAR', 'variadic'],
269
+ ['DELETE.TOOLBAR', 1],
270
+ ['User Defined Function', 'variadic'],
271
+ ['RESET.TOOLBAR', 1],
272
+ ['EVALUATE', 1],
273
+ ['GET.TOOLBAR', 'variadic'],
274
+ ['GET.TOOL', 'variadic'],
275
+ ['SPELLING.CHECK', 'variadic'],
276
+ ['ERROR.TYPE', 1],
277
+ ['APP.TITLE', 'variadic'],
278
+ ['WINDOW.TITLE', 'variadic'],
279
+ ['SAVE.TOOLBAR', 'variadic'],
280
+ ['ENABLE.TOOL', 3],
281
+ ['PRESS.TOOL', 3],
282
+ ['REGISTER.ID', 'variadic'],
283
+ ['GET.WORKBOOK', 'variadic'],
284
+ ['AVEDEV', 'variadic'],
285
+ ['BETADIST', 'variadic'],
286
+ ['GAMMALN', 1],
287
+ ['BETAINV', 'variadic'],
288
+ ['BINOMDIST', 4],
289
+ ['CHIDIST', 2],
290
+ ['CHIINV', 2],
291
+ ['COMBIN', 2],
292
+ ['CONFIDENCE', 3],
293
+ ['CRITBINOM', 3],
294
+ ['EVEN', 1],
295
+ ['EXPONDIST', 3],
296
+ ['FDIST', 3],
297
+ ['FINV', 3],
298
+ ['FISHER', 1],
299
+ ['FISHERINV', 1],
300
+ ['FLOOR', 2],
301
+ ['GAMMADIST', 4],
302
+ ['GAMMAINV', 3],
303
+ ['CEILING', 2],
304
+ ['HYPGEOMDIST', 4],
305
+ ['LOGNORMDIST', 3],
306
+ ['LOGINV', 3],
307
+ ['NEGBINOMDIST', 3],
308
+ ['NORMDIST', 4],
309
+ ['NORMSDIST', 1],
310
+ ['NORMINV', 3],
311
+ ['NORMSINV', 1],
312
+ ['STANDARDIZE', 3],
313
+ ['ODD', 1],
314
+ ['PERMUT', 2],
315
+ ['POISSON', 3],
316
+ ['TDIST', 3],
317
+ ['WEIBULL', 4],
318
+ ['SUMXMY2', 2],
319
+ ['SUMX2MY2', 2],
320
+ ['SUMX2PY2', 2],
321
+ ['CHITEST', 2],
322
+ ['CORREL', 2],
323
+ ['COVAR', 2],
324
+ ['FORECAST', 3],
325
+ ['FTEST', 2],
326
+ ['INTERCEPT', 2],
327
+ ['PEARSON', 2],
328
+ ['RSQ', 2],
329
+ ['STEYX', 2],
330
+ ['SLOPE', 2],
331
+ ['TTEST', 4],
332
+ ['PROB', 'variadic'],
333
+ ['DEVSQ', 'variadic'],
334
+ ['GEOMEAN', 'variadic'],
335
+ ['HARMEAN', 'variadic'],
336
+ ['SUMSQ', 'variadic'],
337
+ ['KURT', 'variadic'],
338
+ ['SKEW', 'variadic'],
339
+ ['ZTEST', 'variadic'],
340
+ ['LARGE', 2],
341
+ ['SMALL', 2],
342
+ ['QUARTILE', 2],
343
+ ['PERCENTILE', 2],
344
+ ['PERCENTRANK', 'variadic'],
345
+ ['MODE', 'variadic'],
346
+ ['TRIMMEAN', 2],
347
+ ['TINV', 2],
566
348
  ],
567
349
  ],
568
350
  [
569
351
  0x014e,
570
352
  [
571
- 'MOVIE.COMMAND',
572
- 'GET.MOVIE',
573
- 'CONCATENATE',
574
- 'POWER',
575
- 'PIVOT.ADD.DATA',
576
- 'GET.PIVOT.TABLE',
577
- 'GET.PIVOT.FIELD',
578
- 'GET.PIVOT.ITEM',
579
- 'RADIANS',
580
- 'DEGREES',
581
- 'SUBTOTAL',
582
- 'SUMIF',
583
- 'COUNTIF',
584
- 'COUNTBLANK',
585
- 'SCENARIO.GET',
586
- 'OPTIONS.LISTS.GET',
587
- 'ISPMT',
588
- 'DATEDIF',
589
- 'DATESTRING',
590
- 'NUMBERSTRING',
591
- 'ROMAN',
592
- 'OPEN.DIALOG',
593
- 'SAVE.DIALOG',
594
- 'VIEW.GET',
595
- 'GETPIVOTDATA',
596
- 'HYPERLINK',
597
- 'PHONETIC',
598
- 'AVERAGEA',
599
- 'MAXA',
600
- 'MINA',
601
- 'STDEVPA',
602
- 'VARPA',
603
- 'STDEVA',
604
- 'VARA',
605
- 'BAHTTEXT',
606
- 'THAIDAYOFWEEK',
607
- 'THAIDIGIT',
608
- 'THAIMONTHOFYEAR',
609
- 'THAINUMSOUND',
610
- 'THAINUMSTRING',
611
- 'THAISTRINGLENGTH',
612
- 'ISTHAIDIGIT',
613
- 'ROUNDBAHTDOWN',
614
- 'ROUNDBAHTUP',
615
- 'THAIYEAR',
616
- 'RTD',
353
+ ['MOVIE.COMMAND', 'variadic'],
354
+ ['GET.MOVIE', 'variadic'],
355
+ ['CONCATENATE', 'variadic'],
356
+ ['POWER', 2],
357
+ ['PIVOT.ADD.DATA', 'variadic'],
358
+ ['GET.PIVOT.TABLE', 'variadic'],
359
+ ['GET.PIVOT.FIELD', 'variadic'],
360
+ ['GET.PIVOT.ITEM', 'variadic'],
361
+ ['RADIANS', 1],
362
+ ['DEGREES', 1],
363
+ ['SUBTOTAL', 'variadic'],
364
+ ['SUMIF', 'variadic'],
365
+ ['COUNTIF', 2],
366
+ ['COUNTBLANK', 1],
367
+ ['SCENARIO.GET', 'variadic'],
368
+ ['OPTIONS.LISTS.GET', 1],
369
+ ['ISPMT', 4],
370
+ ['DATEDIF', 3],
371
+ ['DATESTRING', 1],
372
+ ['NUMBERSTRING', 2],
373
+ ['ROMAN', 'variadic'],
374
+ ['OPEN.DIALOG', 'variadic'],
375
+ ['SAVE.DIALOG', 'variadic'],
376
+ ['VIEW.GET', 'variadic'],
377
+ ['GETPIVOTDATA', 'variadic'],
378
+ ['HYPERLINK', 'variadic'],
379
+ ['PHONETIC', 1],
380
+ ['AVERAGEA', 'variadic'],
381
+ ['MAXA', 'variadic'],
382
+ ['MINA', 'variadic'],
383
+ ['STDEVPA', 'variadic'],
384
+ ['VARPA', 'variadic'],
385
+ ['STDEVA', 'variadic'],
386
+ ['VARA', 'variadic'],
387
+ ['BAHTTEXT', 1],
388
+ ['THAIDAYOFWEEK', 1],
389
+ ['THAIDIGIT', 1],
390
+ ['THAIMONTHOFYEAR', 1],
391
+ ['THAINUMSOUND', 1],
392
+ ['THAINUMSTRING', 1],
393
+ ['THAISTRINGLENGTH', 1],
394
+ ['ISTHAIDIGIT', 1],
395
+ ['ROUNDBAHTDOWN', 1],
396
+ ['ROUNDBAHTUP', 1],
397
+ ['THAIYEAR', 1],
398
+ ['RTD', 'variadic'],
399
+ ],
400
+ ],
401
+ [
402
+ 0x017c,
403
+ [
404
+ ['CUBEVALUE', 'variadic'],
405
+ ['CUBEMEMBER', 'variadic'],
406
+ ['CUBEMEMBERPROPERTY', 3],
407
+ ['CUBERANKEDMEMBER', 'variadic'],
408
+ ['HEX2BIN', 'variadic'],
409
+ ['HEX2DEC', 1],
410
+ ['HEX2OCT', 'variadic'],
411
+ ['DEC2BIN', 'variadic'],
412
+ ['DEC2HEX', 'variadic'],
413
+ ['DEC2OCT', 'variadic'],
414
+ ['OCT2BIN', 'variadic'],
415
+ ['OCT2HEX', 'variadic'],
416
+ ['OCT2DEC', 1],
417
+ ['BIN2DEC', 1],
418
+ ['BIN2OCT', 'variadic'],
419
+ ['BIN2HEX', 'variadic'],
420
+ ['IMSUB', 2],
421
+ ['IMDIV', 2],
422
+ ['IMPOWER', 2],
423
+ ['IMABS', 1],
424
+ ['IMSQRT', 1],
425
+ ['IMLN', 1],
426
+ ['IMLOG2', 1],
427
+ ['IMLOG10', 1],
428
+ ['IMSIN', 1],
429
+ ['IMCOS', 1],
430
+ ['IMEXP', 1],
431
+ ['IMARGUMENT', 1],
432
+ ['IMCONJUGATE', 1],
433
+ ['IMAGINARY', 1],
434
+ ['IMREAL', 1],
435
+ ['COMPLEX', 'variadic'],
436
+ ['IMSUM', 'variadic'],
437
+ ['IMPRODUCT', 'variadic'],
438
+ ['SERIESSUM', 4],
439
+ ['FACTDOUBLE', 1],
440
+ ['SQRTPI', 1],
441
+ ['QUOTIENT', 2],
442
+ ['DELTA', 'variadic'],
443
+ ['GESTEP', 'variadic'],
444
+ ['ISEVEN', 1],
445
+ ['ISODD', 1],
446
+ ['MROUND', 2],
447
+ ['ERF', 'variadic'],
448
+ ['ERFC', 1],
449
+ ['BESSELJ', 2],
450
+ ['BESSELK', 2],
451
+ ['BESSELY', 2],
452
+ ['BESSELI', 2],
453
+ ['XIRR', 'variadic'],
454
+ ['XNPV', 3],
455
+ ['PRICEMAT', 'variadic'],
456
+ ['YIELDMAT', 'variadic'],
457
+ ['INTRATE', 'variadic'],
458
+ ['RECEIVED', 'variadic'],
459
+ ['DISC', 'variadic'],
460
+ ['PRICEDISC', 'variadic'],
461
+ ['YIELDDISC', 'variadic'],
462
+ ['TBILLEQ', 3],
463
+ ['TBILLPRICE', 3],
464
+ ['TBILLYIELD', 3],
465
+ ['PRICE', 'variadic'],
466
+ ['YIELD', 'variadic'],
467
+ ['DOLLARDE', 2],
468
+ ['DOLLARFR', 2],
469
+ ['NOMINAL', 2],
470
+ ['EFFECT', 2],
471
+ ['CUMPRINC', 6],
472
+ ['CUMIPMT', 6],
473
+ ['EDATE', 2],
474
+ ['EOMONTH', 2],
475
+ ['YEARFRAC', 'variadic'],
476
+ ['COUPDAYBS', 'variadic'],
477
+ ['COUPDAYS', 'variadic'],
478
+ ['COUPDAYSNC', 'variadic'],
479
+ ['COUPNCD', 'variadic'],
480
+ ['COUPNUM', 'variadic'],
481
+ ['COUPPCD', 'variadic'],
482
+ ['DURATION', 'variadic'],
483
+ ['MDURATION', 'variadic'],
484
+ ['ODDLPRICE', 'variadic'],
485
+ ['ODDLYIELD', 'variadic'],
486
+ ['ODDFPRICE', 'variadic'],
487
+ ['ODDFYIELD', 'variadic'],
488
+ ['RANDBETWEEN', 2],
489
+ ['WEEKNUM', 'variadic'],
490
+ ['AMORDEGRC', 'variadic'],
491
+ ['AMORLINC', 'variadic'],
492
+ ['CONVERT', 3],
493
+ ['ACCRINT', 'variadic'],
494
+ ['ACCRINTM', 'variadic'],
495
+ ['WORKDAY', 'variadic'],
496
+ ['NETWORKDAYS', 'variadic'],
497
+ ['GCD', 'variadic'],
498
+ ['MULTINOMIAL', 'variadic'],
499
+ ['LCM', 'variadic'],
500
+ ['FVSCHEDULE', 2],
501
+ ['CUBEKPIMEMBER', 'variadic'],
502
+ ['CUBESET', 'variadic'],
503
+ ['CUBESETCOUNT', 1],
504
+ ['IFERROR', 2],
505
+ ['COUNTIFS', 'variadic'],
506
+ ['SUMIFS', 'variadic'],
507
+ ['AVERAGEIF', 'variadic'],
508
+ ['AVERAGEIFS', 'variadic'],
617
509
  ],
618
510
  ],
619
511
  ];
620
- const FTAB = RUNS.reduce((table, [start, names]) => {
621
- names.forEach((name, offset) => {
622
- table[start + offset] = name;
512
+ const TABLE = [];
513
+ for (const [start, entries] of RUNS) {
514
+ entries.forEach((entry, offset) => {
515
+ TABLE[start + offset] = entry;
623
516
  });
624
- return table;
625
- }, []);
517
+ }
518
+ export function builtinFunctionAt(index) {
519
+ return TABLE[index];
520
+ }
521
+ export function functionNameFor(index) {
522
+ return TABLE[index]?.[0];
523
+ }
524
+ export const FTAB = TABLE;