@shbernal/ts-xlsx 3.0.0 → 3.1.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 (213) hide show
  1. package/README.md +4 -1
  2. package/dist/bytes.d.ts +7 -0
  3. package/dist/bytes.js +22 -0
  4. package/dist/core/address.d.ts +60 -2
  5. package/dist/core/address.js +40 -24
  6. package/dist/core/autofilter.d.ts +4 -3
  7. package/dist/core/autofilter.js +31 -30
  8. package/dist/core/axis-handle.d.ts +2 -0
  9. package/dist/core/axis-handle.js +5 -2
  10. package/dist/core/cell.d.ts +4 -3
  11. package/dist/core/cell.js +4 -6
  12. package/dist/core/clone.d.ts +29 -0
  13. package/dist/core/clone.js +24 -0
  14. package/dist/core/color-resolution.js +2 -4
  15. package/dist/core/column.d.ts +1 -0
  16. package/dist/core/column.js +3 -0
  17. package/dist/core/comment-thread.js +2 -1
  18. package/dist/core/conditional-formatting-overlay.d.ts +2 -1
  19. package/dist/core/conditional-formatting-overlay.js +2 -2
  20. package/dist/core/conditional-formatting.d.ts +9 -1
  21. package/dist/core/conditional-formatting.js +34 -18
  22. package/dist/core/containers.d.ts +12 -0
  23. package/dist/core/containers.js +5 -0
  24. package/dist/core/data-validation-overlay.d.ts +2 -1
  25. package/dist/core/data-validation-overlay.js +4 -4
  26. package/dist/core/data-validation.d.ts +6 -0
  27. package/dist/core/data-validation.js +15 -4
  28. package/dist/core/date-format.d.ts +20 -0
  29. package/dist/core/date-format.js +160 -0
  30. package/dist/core/date.d.ts +43 -8
  31. package/dist/core/date.js +18 -2
  32. package/dist/core/formula.d.ts +26 -0
  33. package/dist/core/formula.js +20 -4
  34. package/dist/core/grid-edits.d.ts +2 -3
  35. package/dist/core/grid-edits.js +69 -70
  36. package/dist/core/grid-shift.d.ts +58 -9
  37. package/dist/core/grid-shift.js +26 -4
  38. package/dist/core/image.d.ts +13 -9
  39. package/dist/core/image.js +7 -5
  40. package/dist/core/internal.d.ts +8 -2
  41. package/dist/core/limits.d.ts +23 -0
  42. package/dist/core/limits.js +4 -0
  43. package/dist/core/merge.d.ts +5 -4
  44. package/dist/core/merge.js +18 -19
  45. package/dist/core/pivot-table.js +63 -45
  46. package/dist/core/protection.js +2 -11
  47. package/dist/core/range.js +34 -30
  48. package/dist/core/row-input.js +2 -2
  49. package/dist/core/row.d.ts +1 -0
  50. package/dist/core/row.js +3 -0
  51. package/dist/core/style.d.ts +85 -70
  52. package/dist/core/style.js +92 -28
  53. package/dist/core/table-style.d.ts +1 -1
  54. package/dist/core/table-style.js +4 -4
  55. package/dist/core/table.d.ts +27 -9
  56. package/dist/core/table.js +51 -34
  57. package/dist/core/theme.js +6 -5
  58. package/dist/core/value.d.ts +9 -0
  59. package/dist/core/value.js +36 -34
  60. package/dist/core/workbook-media.d.ts +34 -0
  61. package/dist/core/workbook-media.js +44 -0
  62. package/dist/core/workbook-styles.d.ts +67 -1
  63. package/dist/core/workbook-vba.js +3 -2
  64. package/dist/core/workbook.d.ts +23 -2
  65. package/dist/core/workbook.js +24 -40
  66. package/dist/core/worksheet-comments.d.ts +2 -1
  67. package/dist/core/worksheet-comments.js +20 -13
  68. package/dist/core/worksheet-merges.d.ts +44 -0
  69. package/dist/core/worksheet-merges.js +59 -0
  70. package/dist/core/worksheet-model.d.ts +9 -1
  71. package/dist/core/worksheet-model.js +24 -9
  72. package/dist/core/worksheet.d.ts +55 -6
  73. package/dist/core/worksheet.js +36 -44
  74. package/dist/customui/ribbon.js +2 -1
  75. package/dist/entries/core.d.ts +18 -13
  76. package/dist/entries/core.js +12 -6
  77. package/dist/entries/xlsx.d.ts +1 -1
  78. package/dist/errors.d.ts +64 -0
  79. package/dist/errors.js +22 -0
  80. package/dist/hex.d.ts +8 -0
  81. package/dist/hex.js +3 -0
  82. package/dist/io/csv/delimiter.d.ts +9 -0
  83. package/dist/io/csv/delimiter.js +6 -0
  84. package/dist/io/csv/read.js +11 -4
  85. package/dist/io/csv/write.d.ts +9 -2
  86. package/dist/io/csv/write.js +9 -38
  87. package/dist/io/opc/inflate.js +14 -0
  88. package/dist/io/opc/namespaces.d.ts +16 -0
  89. package/dist/io/opc/namespaces.js +4 -0
  90. package/dist/io/opc/part-paths.d.ts +9 -0
  91. package/dist/io/opc/part-paths.js +1 -1
  92. package/dist/io/opc/read-opc.d.ts +54 -14
  93. package/dist/io/opc/read-opc.js +42 -20
  94. package/dist/io/opc/read-options.d.ts +5 -1
  95. package/dist/io/opc/sniff-format.d.ts +3 -3
  96. package/dist/io/opc/sniff-format.js +2 -2
  97. package/dist/io/style/xf-style.d.ts +23 -1
  98. package/dist/io/style/xf-style.js +8 -0
  99. package/dist/io/xlsb/formula.d.ts +2 -2
  100. package/dist/io/xlsb/formula.js +49 -34
  101. package/dist/io/xlsb/primitives.js +8 -14
  102. package/dist/io/xlsb/ptg-functions.d.ts +19 -10
  103. package/dist/io/xlsb/ptg-functions.js +385 -596
  104. package/dist/io/xlsb/read-styles.js +45 -81
  105. package/dist/io/xlsb/read-worksheet.d.ts +20 -1
  106. package/dist/io/xlsb/read-worksheet.js +73 -89
  107. package/dist/io/xlsb/read.d.ts +6 -3
  108. package/dist/io/xlsb/read.js +44 -23
  109. package/dist/io/xlsb/record-stream.d.ts +30 -0
  110. package/dist/io/xlsb/record-stream.js +20 -0
  111. package/dist/io/xlsb/record-types.d.ts +1 -5
  112. package/dist/io/xlsb/record-types.js +1 -5
  113. package/dist/io/xlsx/cell-accumulator.d.ts +8 -1
  114. package/dist/io/xlsx/cell-accumulator.js +32 -9
  115. package/dist/io/xlsx/cell-style-resolution.d.ts +25 -0
  116. package/dist/io/xlsx/cell-style-resolution.js +29 -0
  117. package/dist/io/xlsx/cell-value.d.ts +5 -3
  118. package/dist/io/xlsx/cell-value.js +13 -15
  119. package/dist/io/xlsx/color-xml.js +3 -2
  120. package/dist/io/xlsx/column-budget.d.ts +26 -0
  121. package/dist/io/xlsx/column-budget.js +22 -0
  122. package/dist/io/xlsx/comments.d.ts +6 -2
  123. package/dist/io/xlsx/comments.js +36 -32
  124. package/dist/io/xlsx/conditional-formatting.d.ts +6 -3
  125. package/dist/io/xlsx/conditional-formatting.js +30 -26
  126. package/dist/io/xlsx/data-validation.js +29 -27
  127. package/dist/io/xlsx/edit-vba.d.ts +7 -2
  128. package/dist/io/xlsx/edit-vba.js +14 -21
  129. package/dist/io/xlsx/font-xml.d.ts +7 -0
  130. package/dist/io/xlsx/font-xml.js +104 -0
  131. package/dist/io/xlsx/hyperlinks.d.ts +37 -5
  132. package/dist/io/xlsx/hyperlinks.js +22 -13
  133. package/dist/io/xlsx/images.js +11 -13
  134. package/dist/io/xlsx/namespaces.d.ts +16 -0
  135. package/dist/io/xlsx/namespaces.js +7 -0
  136. package/dist/io/xlsx/package-plan.d.ts +14 -2
  137. package/dist/io/xlsx/package-plan.js +39 -11
  138. package/dist/io/xlsx/pivot.js +8 -7
  139. package/dist/io/xlsx/read-parts.d.ts +59 -0
  140. package/dist/io/xlsx/read-parts.js +252 -0
  141. package/dist/io/xlsx/read-pivot.js +2 -1
  142. package/dist/io/xlsx/read-repair.d.ts +26 -0
  143. package/dist/io/xlsx/read-repair.js +39 -0
  144. package/dist/io/xlsx/{rich-runs.js → read-rich-runs.js} +6 -3
  145. package/dist/io/xlsx/read-rows.d.ts +18 -5
  146. package/dist/io/xlsx/read-rows.js +45 -31
  147. package/dist/io/xlsx/read-shared-strings.js +3 -2
  148. package/dist/io/xlsx/read-styles.d.ts +1 -6
  149. package/dist/io/xlsx/read-styles.js +6 -71
  150. package/dist/io/xlsx/read-workbook-xml.d.ts +36 -0
  151. package/dist/io/xlsx/read-workbook-xml.js +170 -0
  152. package/dist/io/xlsx/read-worksheet.d.ts +2 -1
  153. package/dist/io/xlsx/read-worksheet.js +35 -164
  154. package/dist/io/xlsx/read.d.ts +5 -12
  155. package/dist/io/xlsx/read.js +73 -406
  156. package/dist/io/xlsx/rich-text.js +1 -1
  157. package/dist/io/xlsx/row-position.d.ts +18 -0
  158. package/dist/io/xlsx/row-position.js +11 -0
  159. package/dist/io/xlsx/row-xml.d.ts +128 -0
  160. package/dist/io/xlsx/row-xml.js +203 -0
  161. package/dist/io/xlsx/shared-formulas.js +2 -2
  162. package/dist/io/xlsx/sheet-properties.d.ts +10 -1
  163. package/dist/io/xlsx/sheet-properties.js +145 -9
  164. package/dist/io/xlsx/style-elements.d.ts +43 -0
  165. package/dist/io/xlsx/style-elements.js +156 -0
  166. package/dist/io/xlsx/styles.d.ts +12 -3
  167. package/dist/io/xlsx/styles.js +5 -207
  168. package/dist/io/xlsx/tables.js +10 -14
  169. package/dist/io/xlsx/theme-xml.d.ts +26 -4
  170. package/dist/io/xlsx/theme-xml.js +107 -69
  171. package/dist/io/xlsx/threaded-comments.d.ts +8 -10
  172. package/dist/io/xlsx/threaded-comments.js +2 -1
  173. package/dist/io/xlsx/workbook-xml.d.ts +54 -4
  174. package/dist/io/xlsx/workbook-xml.js +60 -34
  175. package/dist/io/xlsx/worksheet-xml.d.ts +23 -70
  176. package/dist/io/xlsx/worksheet-xml.js +48 -229
  177. package/dist/io/xlsx/write-stream.d.ts +65 -16
  178. package/dist/io/xlsx/write-stream.js +50 -20
  179. package/dist/io/xlsx/write.d.ts +1 -2
  180. package/dist/io/xlsx/write.js +114 -74
  181. package/dist/rel-type.d.ts +16 -0
  182. package/dist/rel-type.js +6 -0
  183. package/dist/token-set.d.ts +13 -0
  184. package/dist/token-set.js +4 -1
  185. package/dist/vba/bytes.d.ts +14 -5
  186. package/dist/vba/bytes.js +16 -6
  187. package/dist/vba/cfb-format.d.ts +8 -0
  188. package/dist/vba/cfb-format.js +1 -0
  189. package/dist/vba/cfb-writer.d.ts +9 -0
  190. package/dist/vba/cfb-writer.js +12 -9
  191. package/dist/vba/cfb.d.ts +13 -1
  192. package/dist/vba/cfb.js +73 -51
  193. package/dist/vba/codepage.js +2 -1
  194. package/dist/vba/errors.d.ts +7 -0
  195. package/dist/vba/ms-ovba.js +51 -16
  196. package/dist/vba/project-editor.js +35 -40
  197. package/dist/vba/project.d.ts +11 -1
  198. package/dist/vba/project.js +27 -8
  199. package/dist/vba/vba-encoding.js +4 -5
  200. package/dist/xml/xml-attrs.d.ts +37 -0
  201. package/dist/xml/xml-attrs.js +30 -0
  202. package/dist/xml/xml-chars.d.ts +40 -0
  203. package/dist/xml/xml-chars.js +12 -0
  204. package/dist/xml/xml-namespaces.d.ts +31 -0
  205. package/dist/xml/xml-namespaces.js +50 -0
  206. package/dist/xml/xml-read.d.ts +72 -10
  207. package/dist/xml/xml-read.js +94 -18
  208. package/dist/xml/xml-scan.d.ts +15 -37
  209. package/dist/xml/xml-scan.js +12 -40
  210. package/dist/xml/xml.d.ts +28 -27
  211. package/dist/xml/xml.js +24 -24
  212. package/package.json +12 -7
  213. /package/dist/io/xlsx/{rich-runs.d.ts → read-rich-runs.d.ts} +0 -0
@@ -1,625 +1,414 @@
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'],
617
399
  ],
618
400
  ],
619
401
  ];
620
- const FTAB = RUNS.reduce((table, [start, names]) => {
621
- names.forEach((name, offset) => {
622
- table[start + offset] = name;
402
+ const TABLE = [];
403
+ for (const [start, entries] of RUNS) {
404
+ entries.forEach((entry, offset) => {
405
+ TABLE[start + offset] = entry;
623
406
  });
624
- return table;
625
- }, []);
407
+ }
408
+ export function builtinFunctionAt(index) {
409
+ return TABLE[index];
410
+ }
411
+ export function functionNameFor(index) {
412
+ return TABLE[index]?.[0];
413
+ }
414
+ export const FTAB = TABLE;