@gridsheet/react-core 1.4.0 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/README.md +1 -1
  2. package/dist/components/Cell.d.ts +3 -3
  3. package/dist/components/Cell.d.ts.map +1 -1
  4. package/dist/components/ContextMenu.d.ts +19 -2
  5. package/dist/components/ContextMenu.d.ts.map +1 -1
  6. package/dist/components/Editor.d.ts +4 -4
  7. package/dist/components/Editor.d.ts.map +1 -1
  8. package/dist/components/Emitter.d.ts +2 -2
  9. package/dist/components/Emitter.d.ts.map +1 -1
  10. package/dist/components/Fixed.d.ts +3 -3
  11. package/dist/components/Fixed.d.ts.map +1 -1
  12. package/dist/components/FormulaBar.d.ts +1 -2
  13. package/dist/components/FormulaBar.d.ts.map +1 -1
  14. package/dist/components/GridSheet.d.ts +1 -2
  15. package/dist/components/GridSheet.d.ts.map +1 -1
  16. package/dist/components/HeaderCellLeft.d.ts +2 -2
  17. package/dist/components/HeaderCellLeft.d.ts.map +1 -1
  18. package/dist/components/HeaderCellTop.d.ts +2 -2
  19. package/dist/components/HeaderCellTop.d.ts.map +1 -1
  20. package/dist/components/PluginBase.d.ts +4 -4
  21. package/dist/components/PluginBase.d.ts.map +1 -1
  22. package/dist/components/Resizer.d.ts +1 -2
  23. package/dist/components/Resizer.d.ts.map +1 -1
  24. package/dist/components/ScrollHandle.d.ts +9 -0
  25. package/dist/components/ScrollHandle.d.ts.map +1 -0
  26. package/dist/components/SearchBar.d.ts +1 -2
  27. package/dist/components/SearchBar.d.ts.map +1 -1
  28. package/dist/components/StoreObserver.d.ts +11 -0
  29. package/dist/components/StoreObserver.d.ts.map +1 -0
  30. package/dist/components/Tabular.d.ts +3 -3
  31. package/dist/components/Tabular.d.ts.map +1 -1
  32. package/dist/components/hooks.d.ts +2 -0
  33. package/dist/components/hooks.d.ts.map +1 -1
  34. package/dist/components/svg/AddIcon.d.ts +1 -2
  35. package/dist/components/svg/AddIcon.d.ts.map +1 -1
  36. package/dist/components/svg/Base.d.ts +4 -4
  37. package/dist/components/svg/Base.d.ts.map +1 -1
  38. package/dist/components/svg/CloseIcon.d.ts +1 -2
  39. package/dist/components/svg/CloseIcon.d.ts.map +1 -1
  40. package/dist/components/svg/SearchIcon.d.ts +1 -2
  41. package/dist/components/svg/SearchIcon.d.ts.map +1 -1
  42. package/dist/constants.d.ts +3 -2
  43. package/dist/constants.d.ts.map +1 -1
  44. package/dist/formula/evaluator.d.ts +42 -18
  45. package/dist/formula/evaluator.d.ts.map +1 -1
  46. package/dist/formula/functions/__base.d.ts.map +1 -1
  47. package/dist/formula/functions/__utils.d.ts +5 -2
  48. package/dist/formula/functions/__utils.d.ts.map +1 -1
  49. package/dist/formula/functions/abs.d.ts.map +1 -1
  50. package/dist/formula/functions/acos.d.ts.map +1 -1
  51. package/dist/formula/functions/add.d.ts +1 -1
  52. package/dist/formula/functions/add.d.ts.map +1 -1
  53. package/dist/formula/functions/and.d.ts.map +1 -1
  54. package/dist/formula/functions/asin.d.ts.map +1 -1
  55. package/dist/formula/functions/atan.d.ts.map +1 -1
  56. package/dist/formula/functions/atan2.d.ts.map +1 -1
  57. package/dist/formula/functions/average.d.ts.map +1 -1
  58. package/dist/formula/functions/col.d.ts.map +1 -1
  59. package/dist/formula/functions/concat.d.ts.map +1 -1
  60. package/dist/formula/functions/concatenate.d.ts.map +1 -1
  61. package/dist/formula/functions/cos.d.ts.map +1 -1
  62. package/dist/formula/functions/count.d.ts.map +1 -1
  63. package/dist/formula/functions/counta.d.ts.map +1 -1
  64. package/dist/formula/functions/countif.d.ts.map +1 -1
  65. package/dist/formula/functions/divide.d.ts.map +1 -1
  66. package/dist/formula/functions/eq.d.ts.map +1 -1
  67. package/dist/formula/functions/exp.d.ts.map +1 -1
  68. package/dist/formula/functions/gt.d.ts.map +1 -1
  69. package/dist/formula/functions/gte.d.ts.map +1 -1
  70. package/dist/formula/functions/hlookup.d.ts.map +1 -1
  71. package/dist/formula/functions/if.d.ts.map +1 -1
  72. package/dist/formula/functions/iferror.d.ts.map +1 -1
  73. package/dist/formula/functions/index.d.ts +18 -0
  74. package/dist/formula/functions/index.d.ts.map +1 -0
  75. package/dist/formula/functions/len.d.ts.map +1 -1
  76. package/dist/formula/functions/lenb.d.ts.map +1 -1
  77. package/dist/formula/functions/ln.d.ts.map +1 -1
  78. package/dist/formula/functions/log.d.ts.map +1 -1
  79. package/dist/formula/functions/log10.d.ts.map +1 -1
  80. package/dist/formula/functions/lt.d.ts.map +1 -1
  81. package/dist/formula/functions/lte.d.ts.map +1 -1
  82. package/dist/formula/functions/match.d.ts +18 -0
  83. package/dist/formula/functions/match.d.ts.map +1 -0
  84. package/dist/formula/functions/match.test.d.ts +2 -0
  85. package/dist/formula/functions/match.test.d.ts.map +1 -0
  86. package/dist/formula/functions/max.d.ts.map +1 -1
  87. package/dist/formula/functions/min.d.ts.map +1 -1
  88. package/dist/formula/functions/minus.d.ts.map +1 -1
  89. package/dist/formula/functions/mod.d.ts.map +1 -1
  90. package/dist/formula/functions/multiply.d.ts.map +1 -1
  91. package/dist/formula/functions/ne.d.ts.map +1 -1
  92. package/dist/formula/functions/not.d.ts.map +1 -1
  93. package/dist/formula/functions/now.d.ts.map +1 -1
  94. package/dist/formula/functions/or.d.ts.map +1 -1
  95. package/dist/formula/functions/pi.d.ts.map +1 -1
  96. package/dist/formula/functions/power.d.ts.map +1 -1
  97. package/dist/formula/functions/product.d.ts.map +1 -1
  98. package/dist/formula/functions/radians.d.ts.map +1 -1
  99. package/dist/formula/functions/rand.d.ts.map +1 -1
  100. package/dist/formula/functions/round.d.ts.map +1 -1
  101. package/dist/formula/functions/rounddown.d.ts.map +1 -1
  102. package/dist/formula/functions/roundup.d.ts.map +1 -1
  103. package/dist/formula/functions/row.d.ts.map +1 -1
  104. package/dist/formula/functions/sin.d.ts.map +1 -1
  105. package/dist/formula/functions/sqrt.d.ts.map +1 -1
  106. package/dist/formula/functions/sum.d.ts.map +1 -1
  107. package/dist/formula/functions/sumif.d.ts.map +1 -1
  108. package/dist/formula/functions/tan.d.ts.map +1 -1
  109. package/dist/formula/functions/uminus.d.ts.map +1 -1
  110. package/dist/formula/functions/vlookup.d.ts.map +1 -1
  111. package/dist/formula/mapping.d.ts.map +1 -1
  112. package/dist/formula/solver.d.ts +10 -7
  113. package/dist/formula/solver.d.ts.map +1 -1
  114. package/dist/index.d.ts +15 -6
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +10330 -20
  117. package/dist/index.js.map +1 -1
  118. package/dist/lib/autofill.d.ts +2 -2
  119. package/dist/lib/autofill.d.ts.map +1 -1
  120. package/dist/lib/clipboard.d.ts.map +1 -1
  121. package/dist/lib/converters.d.ts +3 -4
  122. package/dist/lib/converters.d.ts.map +1 -1
  123. package/dist/lib/events.d.ts +6 -0
  124. package/dist/lib/events.d.ts.map +1 -0
  125. package/dist/lib/hub.d.ts +72 -0
  126. package/dist/lib/hub.d.ts.map +1 -0
  127. package/dist/lib/input.d.ts +12 -2
  128. package/dist/lib/input.d.ts.map +1 -1
  129. package/dist/lib/operation.d.ts +27 -0
  130. package/dist/lib/operation.d.ts.map +1 -0
  131. package/dist/lib/palette.d.ts +1 -1
  132. package/dist/lib/palette.d.ts.map +1 -1
  133. package/dist/lib/paste.d.ts +4 -0
  134. package/dist/lib/paste.d.ts.map +1 -0
  135. package/dist/lib/reference.d.ts +13 -0
  136. package/dist/lib/reference.d.ts.map +1 -0
  137. package/dist/lib/sheet.d.ts +3 -0
  138. package/dist/lib/sheet.d.ts.map +1 -0
  139. package/dist/lib/structs.d.ts +12 -3
  140. package/dist/lib/structs.d.ts.map +1 -1
  141. package/dist/lib/table.d.ts +152 -91
  142. package/dist/lib/table.d.ts.map +1 -1
  143. package/dist/lib/time.d.ts +1 -0
  144. package/dist/lib/time.d.ts.map +1 -1
  145. package/dist/lib/virtualization.d.ts +3 -2
  146. package/dist/lib/virtualization.d.ts.map +1 -1
  147. package/dist/parsers/core.d.ts +2 -0
  148. package/dist/parsers/core.d.ts.map +1 -1
  149. package/dist/policy/core.d.ts +47 -0
  150. package/dist/policy/core.d.ts.map +1 -0
  151. package/dist/renderers/checkbox.d.ts +2 -2
  152. package/dist/renderers/checkbox.d.ts.map +1 -1
  153. package/dist/renderers/core.d.ts +39 -25
  154. package/dist/renderers/core.d.ts.map +1 -1
  155. package/dist/renderers/thousand_separator.d.ts +2 -3
  156. package/dist/renderers/thousand_separator.d.ts.map +1 -1
  157. package/dist/store/actions.d.ts +141 -49
  158. package/dist/store/actions.d.ts.map +1 -1
  159. package/dist/store/dispatchers.d.ts +13 -0
  160. package/dist/store/dispatchers.d.ts.map +1 -0
  161. package/dist/store/helpers.d.ts +1 -0
  162. package/dist/store/helpers.d.ts.map +1 -1
  163. package/dist/store/index.d.ts +1 -2
  164. package/dist/store/index.d.ts.map +1 -1
  165. package/dist/styles/embedder.d.ts.map +1 -1
  166. package/dist/styles/minified.d.ts +2 -2
  167. package/dist/styles/minified.d.ts.map +1 -1
  168. package/dist/styles/utils.d.ts +52 -0
  169. package/dist/styles/utils.d.ts.map +1 -0
  170. package/dist/types.d.ts +112 -55
  171. package/dist/types.d.ts.map +1 -1
  172. package/dist/utils.d.ts.map +1 -1
  173. package/package.json +7 -10
  174. package/dist/_virtual/_commonjsHelpers.js +0 -7
  175. package/dist/_virtual/_commonjsHelpers.js.map +0 -1
  176. package/dist/_virtual/dayjs.min.js +0 -8
  177. package/dist/_virtual/dayjs.min.js.map +0 -1
  178. package/dist/_virtual/dayjs.min2.js +0 -5
  179. package/dist/_virtual/dayjs.min2.js.map +0 -1
  180. package/dist/_virtual/timezone.js +0 -8
  181. package/dist/_virtual/timezone.js.map +0 -1
  182. package/dist/_virtual/timezone2.js +0 -5
  183. package/dist/_virtual/timezone2.js.map +0 -1
  184. package/dist/_virtual/utc.js +0 -8
  185. package/dist/_virtual/utc.js.map +0 -1
  186. package/dist/_virtual/utc2.js +0 -5
  187. package/dist/_virtual/utc2.js.map +0 -1
  188. package/dist/components/Cell.js +0 -234
  189. package/dist/components/Cell.js.map +0 -1
  190. package/dist/components/ContextMenu.js +0 -297
  191. package/dist/components/ContextMenu.js.map +0 -1
  192. package/dist/components/Editor.js +0 -464
  193. package/dist/components/Editor.js.map +0 -1
  194. package/dist/components/Emitter.js +0 -26
  195. package/dist/components/Emitter.js.map +0 -1
  196. package/dist/components/Fixed.js +0 -17
  197. package/dist/components/Fixed.js.map +0 -1
  198. package/dist/components/FormulaBar.js +0 -150
  199. package/dist/components/FormulaBar.js.map +0 -1
  200. package/dist/components/GridSheet.js +0 -247
  201. package/dist/components/GridSheet.js.map +0 -1
  202. package/dist/components/HeaderCellLeft.js +0 -131
  203. package/dist/components/HeaderCellLeft.js.map +0 -1
  204. package/dist/components/HeaderCellTop.js +0 -132
  205. package/dist/components/HeaderCellTop.js.map +0 -1
  206. package/dist/components/PluginBase.js +0 -35
  207. package/dist/components/PluginBase.js.map +0 -1
  208. package/dist/components/Resizer.js +0 -98
  209. package/dist/components/Resizer.js.map +0 -1
  210. package/dist/components/SearchBar.js +0 -108
  211. package/dist/components/SearchBar.js.map +0 -1
  212. package/dist/components/SheetProvider.d.ts +0 -30
  213. package/dist/components/SheetProvider.d.ts.map +0 -1
  214. package/dist/components/SheetProvider.js +0 -59
  215. package/dist/components/SheetProvider.js.map +0 -1
  216. package/dist/components/StoreInitializer.d.ts +0 -4
  217. package/dist/components/StoreInitializer.d.ts.map +0 -1
  218. package/dist/components/StoreInitializer.js +0 -84
  219. package/dist/components/StoreInitializer.js.map +0 -1
  220. package/dist/components/Tabular.js +0 -317
  221. package/dist/components/Tabular.js.map +0 -1
  222. package/dist/components/Toggle.d.ts +0 -12
  223. package/dist/components/Toggle.d.ts.map +0 -1
  224. package/dist/components/hooks.js +0 -15
  225. package/dist/components/hooks.js.map +0 -1
  226. package/dist/components/svg/Base.js +0 -24
  227. package/dist/components/svg/Base.js.map +0 -1
  228. package/dist/components/svg/CloseIcon.js +0 -13
  229. package/dist/components/svg/CloseIcon.js.map +0 -1
  230. package/dist/components/svg/SearchIcon.js +0 -13
  231. package/dist/components/svg/SearchIcon.js.map +0 -1
  232. package/dist/constants.js +0 -43
  233. package/dist/constants.js.map +0 -1
  234. package/dist/formula/evaluator.js +0 -679
  235. package/dist/formula/evaluator.js.map +0 -1
  236. package/dist/formula/functions/__base.js +0 -20
  237. package/dist/formula/functions/__base.js.map +0 -1
  238. package/dist/formula/functions/__utils.js +0 -145
  239. package/dist/formula/functions/__utils.js.map +0 -1
  240. package/dist/formula/functions/abs.js +0 -24
  241. package/dist/formula/functions/abs.js.map +0 -1
  242. package/dist/formula/functions/abs.spec.d.ts +0 -2
  243. package/dist/formula/functions/abs.spec.d.ts.map +0 -1
  244. package/dist/formula/functions/acos.js +0 -32
  245. package/dist/formula/functions/acos.js.map +0 -1
  246. package/dist/formula/functions/add.js +0 -57
  247. package/dist/formula/functions/add.js.map +0 -1
  248. package/dist/formula/functions/and.js +0 -28
  249. package/dist/formula/functions/and.js.map +0 -1
  250. package/dist/formula/functions/asin.js +0 -32
  251. package/dist/formula/functions/asin.js.map +0 -1
  252. package/dist/formula/functions/atan.js +0 -29
  253. package/dist/formula/functions/atan.js.map +0 -1
  254. package/dist/formula/functions/atan2.js +0 -35
  255. package/dist/formula/functions/atan2.js.map +0 -1
  256. package/dist/formula/functions/average.js +0 -44
  257. package/dist/formula/functions/average.js.map +0 -1
  258. package/dist/formula/functions/col.js +0 -34
  259. package/dist/formula/functions/col.js.map +0 -1
  260. package/dist/formula/functions/col.spec.d.ts +0 -2
  261. package/dist/formula/functions/col.spec.d.ts.map +0 -1
  262. package/dist/formula/functions/concat.js +0 -27
  263. package/dist/formula/functions/concat.js.map +0 -1
  264. package/dist/formula/functions/concatenate.js +0 -28
  265. package/dist/formula/functions/concatenate.js.map +0 -1
  266. package/dist/formula/functions/cos.js +0 -29
  267. package/dist/formula/functions/cos.js.map +0 -1
  268. package/dist/formula/functions/count.js +0 -38
  269. package/dist/formula/functions/count.js.map +0 -1
  270. package/dist/formula/functions/counta.js +0 -38
  271. package/dist/formula/functions/counta.js.map +0 -1
  272. package/dist/formula/functions/countif.js +0 -32
  273. package/dist/formula/functions/countif.js.map +0 -1
  274. package/dist/formula/functions/countif.spec.d.ts +0 -2
  275. package/dist/formula/functions/countif.spec.d.ts.map +0 -1
  276. package/dist/formula/functions/divide.js +0 -33
  277. package/dist/formula/functions/divide.js.map +0 -1
  278. package/dist/formula/functions/eq.js +0 -29
  279. package/dist/formula/functions/eq.js.map +0 -1
  280. package/dist/formula/functions/eq.spec.d.ts +0 -2
  281. package/dist/formula/functions/eq.spec.d.ts.map +0 -1
  282. package/dist/formula/functions/exp.js +0 -29
  283. package/dist/formula/functions/exp.js.map +0 -1
  284. package/dist/formula/functions/gt.js +0 -29
  285. package/dist/formula/functions/gt.js.map +0 -1
  286. package/dist/formula/functions/gte.js +0 -29
  287. package/dist/formula/functions/gte.js.map +0 -1
  288. package/dist/formula/functions/hlookup.js +0 -75
  289. package/dist/formula/functions/hlookup.js.map +0 -1
  290. package/dist/formula/functions/if.js +0 -39
  291. package/dist/formula/functions/if.js.map +0 -1
  292. package/dist/formula/functions/iferror.js +0 -45
  293. package/dist/formula/functions/iferror.js.map +0 -1
  294. package/dist/formula/functions/iferror.spec.d.ts +0 -2
  295. package/dist/formula/functions/iferror.spec.d.ts.map +0 -1
  296. package/dist/formula/functions/len.js +0 -29
  297. package/dist/formula/functions/len.js.map +0 -1
  298. package/dist/formula/functions/lenb.js +0 -29
  299. package/dist/formula/functions/lenb.js.map +0 -1
  300. package/dist/formula/functions/ln.js +0 -32
  301. package/dist/formula/functions/ln.js.map +0 -1
  302. package/dist/formula/functions/log.js +0 -36
  303. package/dist/formula/functions/log.js.map +0 -1
  304. package/dist/formula/functions/log10.js +0 -32
  305. package/dist/formula/functions/log10.js.map +0 -1
  306. package/dist/formula/functions/lt.js +0 -29
  307. package/dist/formula/functions/lt.js.map +0 -1
  308. package/dist/formula/functions/lte.js +0 -29
  309. package/dist/formula/functions/lte.js.map +0 -1
  310. package/dist/formula/functions/max.js +0 -47
  311. package/dist/formula/functions/max.js.map +0 -1
  312. package/dist/formula/functions/min.js +0 -47
  313. package/dist/formula/functions/min.js.map +0 -1
  314. package/dist/formula/functions/minus.js +0 -57
  315. package/dist/formula/functions/minus.js.map +0 -1
  316. package/dist/formula/functions/mod.js +0 -33
  317. package/dist/formula/functions/mod.js.map +0 -1
  318. package/dist/formula/functions/mod.spec.d.ts +0 -2
  319. package/dist/formula/functions/mod.spec.d.ts.map +0 -1
  320. package/dist/formula/functions/multiply.js +0 -27
  321. package/dist/formula/functions/multiply.js.map +0 -1
  322. package/dist/formula/functions/ne.js +0 -29
  323. package/dist/formula/functions/ne.js.map +0 -1
  324. package/dist/formula/functions/not.js +0 -30
  325. package/dist/formula/functions/not.js.map +0 -1
  326. package/dist/formula/functions/now.js +0 -22
  327. package/dist/formula/functions/now.js.map +0 -1
  328. package/dist/formula/functions/or.js +0 -28
  329. package/dist/formula/functions/or.js.map +0 -1
  330. package/dist/formula/functions/pi.js +0 -22
  331. package/dist/formula/functions/pi.js.map +0 -1
  332. package/dist/formula/functions/power.js +0 -27
  333. package/dist/formula/functions/power.js.map +0 -1
  334. package/dist/formula/functions/product.js +0 -40
  335. package/dist/formula/functions/product.js.map +0 -1
  336. package/dist/formula/functions/radians.js +0 -29
  337. package/dist/formula/functions/radians.js.map +0 -1
  338. package/dist/formula/functions/rand.js +0 -22
  339. package/dist/formula/functions/rand.js.map +0 -1
  340. package/dist/formula/functions/round.js +0 -35
  341. package/dist/formula/functions/round.js.map +0 -1
  342. package/dist/formula/functions/rounddown.js +0 -35
  343. package/dist/formula/functions/rounddown.js.map +0 -1
  344. package/dist/formula/functions/roundup.js +0 -35
  345. package/dist/formula/functions/roundup.js.map +0 -1
  346. package/dist/formula/functions/row.js +0 -34
  347. package/dist/formula/functions/row.js.map +0 -1
  348. package/dist/formula/functions/row.spec.d.ts +0 -2
  349. package/dist/formula/functions/row.spec.d.ts.map +0 -1
  350. package/dist/formula/functions/sin.js +0 -29
  351. package/dist/formula/functions/sin.js.map +0 -1
  352. package/dist/formula/functions/sqrt.js +0 -32
  353. package/dist/formula/functions/sqrt.js.map +0 -1
  354. package/dist/formula/functions/sum.js +0 -47
  355. package/dist/formula/functions/sum.js.map +0 -1
  356. package/dist/formula/functions/sum.spec.d.ts +0 -2
  357. package/dist/formula/functions/sum.spec.d.ts.map +0 -1
  358. package/dist/formula/functions/sumif.js +0 -65
  359. package/dist/formula/functions/sumif.js.map +0 -1
  360. package/dist/formula/functions/tan.js +0 -29
  361. package/dist/formula/functions/tan.js.map +0 -1
  362. package/dist/formula/functions/uminus.js +0 -24
  363. package/dist/formula/functions/uminus.js.map +0 -1
  364. package/dist/formula/functions/vlookup.js +0 -75
  365. package/dist/formula/functions/vlookup.js.map +0 -1
  366. package/dist/formula/mapping.js +0 -119
  367. package/dist/formula/mapping.js.map +0 -1
  368. package/dist/formula/solver.js +0 -70
  369. package/dist/formula/solver.js.map +0 -1
  370. package/dist/lib/autofill.js +0 -391
  371. package/dist/lib/autofill.js.map +0 -1
  372. package/dist/lib/clipboard.js +0 -72
  373. package/dist/lib/clipboard.js.map +0 -1
  374. package/dist/lib/converters.js +0 -141
  375. package/dist/lib/converters.js.map +0 -1
  376. package/dist/lib/input.js +0 -52
  377. package/dist/lib/input.js.map +0 -1
  378. package/dist/lib/palette.js +0 -24
  379. package/dist/lib/palette.js.map +0 -1
  380. package/dist/lib/prevention.d.ts +0 -24
  381. package/dist/lib/prevention.d.ts.map +0 -1
  382. package/dist/lib/prevention.js +0 -82
  383. package/dist/lib/prevention.js.map +0 -1
  384. package/dist/lib/structs.js +0 -276
  385. package/dist/lib/structs.js.map +0 -1
  386. package/dist/lib/table.js +0 -1259
  387. package/dist/lib/table.js.map +0 -1
  388. package/dist/lib/time.js +0 -170
  389. package/dist/lib/time.js.map +0 -1
  390. package/dist/lib/virtualization.js +0 -129
  391. package/dist/lib/virtualization.js.map +0 -1
  392. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js +0 -287
  393. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js.map +0 -1
  394. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js +0 -72
  395. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/timezone.js.map +0 -1
  396. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js +0 -85
  397. package/dist/node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/utc.js.map +0 -1
  398. package/dist/parsers/core.js +0 -111
  399. package/dist/parsers/core.js.map +0 -1
  400. package/dist/renderers/checkbox.js +0 -20
  401. package/dist/renderers/checkbox.js.map +0 -1
  402. package/dist/renderers/core.js +0 -135
  403. package/dist/renderers/core.js.map +0 -1
  404. package/dist/renderers/thousand_separator.js +0 -17
  405. package/dist/renderers/thousand_separator.js.map +0 -1
  406. package/dist/store/actions.js +0 -762
  407. package/dist/store/actions.js.map +0 -1
  408. package/dist/store/helpers.js +0 -88
  409. package/dist/store/helpers.js.map +0 -1
  410. package/dist/store/index.js +0 -8
  411. package/dist/store/index.js.map +0 -1
  412. package/dist/styles/embedder.js +0 -19
  413. package/dist/styles/embedder.js.map +0 -1
  414. package/dist/styles/minified.js +0 -7
  415. package/dist/styles/minified.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"evaluator.js","sources":["../../formula/evaluator.ts"],"sourcesContent":["import { a2p } from '../lib/converters';\nimport { Table } from '../lib/table';\nimport { PointType } from '../types';\n\ntype EvaluateProps = {\n table: Table;\n};\n\n// strip sharp and dollars\nconst getId = (idString: string, stripAbsolute = true) => {\n let id = idString.slice(1);\n if (stripAbsolute && id.startsWith('$')) {\n id = id.slice(1);\n }\n if (stripAbsolute && id.endsWith('$')) {\n id = id.slice(0, -1);\n }\n return id;\n};\n\nexport class FormulaError {\n public code: string;\n public message: string;\n public error?: Error;\n constructor(code: string, message: string, error?: Error) {\n this.code = code;\n this.message = message;\n this.error = error;\n }\n}\n\nclass Entity<T = any> {\n public value: T;\n constructor(value: T) {\n this.value = value;\n }\n}\n\nexport class ValueEntity extends Entity {\n public evaluate() {\n return this.value;\n }\n}\n\nexport class UnreferencedEntity extends Entity {\n public evaluate() {\n throw new FormulaError('#REF!', `Reference does not exist.`);\n }\n}\n\nexport class InvalidRefEntity extends Entity<string> {\n public evaluate() {\n throw new FormulaError('#NAME?', `Invalid ref: ${this.value}`);\n }\n}\n\nexport class RefEntity extends Entity<string> {\n constructor(value: string) {\n super(value);\n }\n public stringify() {\n return this.value.toUpperCase();\n }\n\n private parse(table: Table): {\n table: Table;\n ref: string;\n sheetName: string;\n } {\n if (this.value.indexOf('!') !== -1) {\n const [rawSheetName, ref] = this.value.split('!');\n const sheetName = stripSheetName(rawSheetName);\n return {\n table: table.getTableBySheetName(sheetName),\n ref: ref.toUpperCase(),\n sheetName,\n };\n }\n return {\n table,\n ref: this.value.toUpperCase(),\n sheetName: stripSheetName(table.sheetName),\n };\n }\n\n public evaluate({ table }: EvaluateProps): Table {\n const parsed = this.parse(table);\n if (parsed.table == null) {\n throw new FormulaError('#REF!', `Unknown sheet: ${parsed.sheetName}`);\n }\n const { y, x } = a2p(parsed.ref);\n return parsed.table.trim({ top: y, left: x, bottom: y, right: x });\n }\n public id(table: Table) {\n const parsed = this.parse(table);\n if (parsed.table == null) {\n return this.value;\n }\n const id = parsed.table.getIdByAddress(parsed.ref);\n if (id) {\n if (parsed.table === table) {\n return id;\n }\n return `#${parsed.table.sheetId}!${id}`;\n }\n\n return this.value;\n }\n}\n\nexport class RangeEntity extends Entity<string> {\n private parse(table: Table): {\n table: Table;\n refs: string[];\n sheetName: string;\n } {\n const rawRefs = this.value.split(':');\n const refs: string[] = [];\n let sheetName = '';\n for (let i = 0; i < rawRefs.length; i++) {\n const ref = rawRefs[i];\n if (ref.indexOf('!') !== -1) {\n const [rawSheetName, rawRef] = ref.split('!');\n refs.push(rawRef.toUpperCase());\n if (i === 0) {\n sheetName = stripSheetName(rawSheetName);\n table = table.getTableBySheetName(sheetName);\n }\n if (table == null) {\n return { table, refs, sheetName };\n }\n } else {\n refs.push(ref);\n }\n }\n return { table, refs, sheetName: sheetName || table.sheetName };\n }\n public stringify() {\n return this.value.toUpperCase();\n }\n\n public evaluate({ table }: EvaluateProps): Table {\n const parsed = this.parse(table);\n if (parsed.table == null) {\n throw new FormulaError('#REF!', `Unknown sheet: ${parsed.sheetName}`);\n }\n const area = parsed.table.rangeToArea(parsed.refs.join(':'));\n return parsed.table.trim(area);\n }\n public idRange(table: Table) {\n const parsed = this.parse(table);\n if (parsed.table == null) {\n return this.value;\n }\n const range = parsed.refs.map((ref) => parsed.table.getIdByAddress(ref)).join(':');\n\n if (parsed.table === table) {\n return range;\n }\n return `#${parsed.table.sheetId}!${range}`;\n }\n}\n\nexport class IdEntity extends Entity<string> {\n private parse(table: Table): { table: Table; id: string } {\n if (this.value.indexOf('!') !== -1) {\n const [tableId, id] = this.value.split('!');\n return { table: table.tables[tableId.slice(1)], id: getId(id, false) };\n }\n return { table, id: getId(this.value, false) };\n }\n public evaluate({ table }: EvaluateProps) {\n const parsed = this.parse(table);\n const { y, x } = parsed.table.getPointById(parsed.id);\n const [absY, absX] = [Math.abs(y), Math.abs(x)];\n return parsed.table.trim({\n top: absY,\n left: absX,\n bottom: absY,\n right: absX,\n });\n }\n public ref(table: Table, slideY = 0, slideX = 0) {\n const parsed = this.parse(table);\n const address = parsed.table.getAddressById(parsed.id, slideY, slideX);\n if (parsed.table.sheetId === table.sheetId) {\n return address;\n }\n return `${parsed.table.sheetPrefix()}${address}`;\n }\n public slide(table: Table, slideY = 0, slideX = 0) {\n const address = this.ref(table, slideY, slideX);\n if (address == null || address.length < 2) {\n return '#REF!';\n }\n return table.getIdByAddress(address);\n }\n}\n\nexport class IdRangeEntity extends Entity<string> {\n private parse(table: Table): { table: Table; ids: string[] } {\n const range = this.value;\n if (range.indexOf('!') !== -1) {\n const [sheetId, idRange] = range.split('!');\n table = table.tables[sheetId.slice(1)];\n return { table, ids: idRange.split(':') };\n }\n return { table, ids: range.split(':') };\n }\n\n public evaluate({ table }: EvaluateProps): Table {\n const parsed = this.parse(table);\n const [p1, p2] = parsed.ids.map((id) => getId(id)).map((id) => parsed.table.getPointById(id));\n const [top, left, bottom, right] = [\n p1.y,\n p1.x,\n p2.y || parsed.table.getNumRows(),\n p2.x || parsed.table.getNumCols(),\n ];\n return parsed.table.trim({ top, left, bottom, right });\n }\n public range(table: Table, slideY = 0, slideX = 0) {\n const parsed = this.parse(table);\n const range = parsed.ids\n .map((id) => getId(id, false))\n .map((id) => parsed.table.getAddressById(id, slideY, slideX))\n .join(':');\n if (parsed.table.sheetId === table.sheetId) {\n return range;\n }\n return `${parsed.table.sheetPrefix()}${range}`;\n }\n\n public slide(table: Table, slideY = 0, slideX = 0) {\n const range = this.range(table, slideY, slideX);\n return new RangeEntity(range).idRange(table);\n }\n}\n\nexport class FunctionEntity {\n public args: Expression[];\n public name: string;\n public precedence: number;\n private origin?: PointType;\n constructor(name: string, precedence = 0, args: Expression[] = [], origin?: PointType) {\n this.name = name;\n this.precedence = precedence;\n this.args = args;\n this.origin = origin;\n }\n\n public evaluate({ table }: EvaluateProps): any {\n const name = this.name.toLowerCase();\n const Func = table.getFunction(name);\n if (Func == null) {\n throw new FormulaError('#NAME?', `Unknown function: ${name}`);\n }\n const func = new Func({ args: this.args, table, origin: this.origin });\n return func.call();\n }\n}\n\nexport type Expression =\n | ValueEntity\n | RefEntity\n | RangeEntity\n | IdEntity\n | IdRangeEntity\n | FunctionEntity\n | UnreferencedEntity\n | InvalidRefEntity;\n\nconst ZERO = new ValueEntity(0);\n\nexport type TokenType =\n | 'VALUE'\n | 'REF'\n | 'RANGE'\n | 'ID'\n | 'ID_RANGE'\n | 'FUNCTION'\n | 'PREFIX_OPERATOR'\n | 'INFIX_OPERATOR'\n | 'POSTFIX_OPERATOR'\n | 'OPEN'\n | 'CLOSE'\n | 'COMMA'\n | 'SPACE'\n | 'UNREFERENCED'\n | 'INVALID_REF';\n\nconst INFIX_FUNCTION_NAME_MAP = {\n '+': 'add',\n '-': 'minus',\n '/': 'divide',\n '*': 'multiply',\n '^': 'power',\n '&': 'concat',\n '=': 'eq',\n '<>': 'ne',\n '>': 'gt',\n '>=': 'gte',\n '<': 'lt',\n '<=': 'lte',\n};\n\nconst PREFIX_FUNCTION_NAME_MAP = {\n '-': 'uminus',\n};\n\nconst WHITESPACE_CHARS = new Set([' ', '\\n', '\\r', '\\t', '\\f']);\nconst SPECIAL_CHARS = new Set([...WHITESPACE_CHARS, '+', '-', '/', '*', '^', '&', '=', '<', '>', ')', ',', '%']);\n\nexport class Token {\n type: TokenType;\n entity: any;\n precedence: number;\n private origin?: PointType;\n\n constructor(type: TokenType, entity: any, precedence = 0, origin?: PointType) {\n this.type = type;\n this.entity = entity;\n this.precedence = precedence;\n this.origin = origin;\n }\n\n public length() {\n if (this.type === 'VALUE' && typeof this.entity === 'string') {\n return this.entity.length + 2;\n }\n return new String(this.entity).length;\n }\n\n public stringify() {\n if (this.type === 'VALUE') {\n if (typeof this.entity === 'string') {\n return `\"${this.entity}\"`;\n }\n if (typeof this.entity === 'boolean') {\n return this.entity ? 'TRUE' : 'FALSE';\n }\n }\n return this.entity as string;\n }\n\n public convert() {\n switch (this.type) {\n case 'VALUE':\n return new ValueEntity(this.entity);\n\n case 'ID':\n return new IdEntity(this.entity as string);\n\n case 'ID_RANGE':\n return new IdRangeEntity(this.entity as string);\n\n case 'REF':\n return new RefEntity(this.entity as string);\n\n case 'RANGE':\n return new RangeEntity(this.entity as string);\n\n case 'INFIX_OPERATOR': {\n const name = INFIX_FUNCTION_NAME_MAP[this.entity as keyof typeof INFIX_FUNCTION_NAME_MAP];\n return new FunctionEntity(name, this.precedence);\n }\n case 'PREFIX_OPERATOR': {\n const name = PREFIX_FUNCTION_NAME_MAP[this.entity as keyof typeof PREFIX_FUNCTION_NAME_MAP];\n return new FunctionEntity(name, this.precedence);\n }\n case 'FUNCTION':\n return new FunctionEntity(this.entity as string, 0, [], this.origin);\n\n case 'UNREFERENCED':\n return new UnreferencedEntity(this.entity);\n\n case 'INVALID_REF':\n return new InvalidRefEntity(this.entity as string);\n }\n }\n}\n\nconst isWhiteSpace = (char: string) => {\n return WHITESPACE_CHARS.has(char);\n};\n\nconst TOKEN_OPEN = new Token('OPEN', '('),\n TOKEN_CLOSE = new Token('CLOSE', ')'),\n TOKEN_COMMA = new Token('COMMA', ','),\n TOKEN_ADD = new Token('INFIX_OPERATOR', '+', 3),\n TOKEN_MINUS = new Token('INFIX_OPERATOR', '-', 3),\n TOKEN_UMINUS = new Token('PREFIX_OPERATOR', '-', 6),\n TOKEN_DIVIDE = new Token('INFIX_OPERATOR', '/', 4),\n TOKEN_MULTIPLY = new Token('INFIX_OPERATOR', '*', 4),\n TOKEN_POWER = new Token('INFIX_OPERATOR', '^', 5),\n TOKEN_CONCAT = new Token('INFIX_OPERATOR', '&', 4),\n TOKEN_GTE = new Token('INFIX_OPERATOR', '>=', 2),\n TOKEN_GT = new Token('INFIX_OPERATOR', '>', 2),\n TOKEN_LTE = new Token('INFIX_OPERATOR', '<=', 2),\n TOKEN_LT = new Token('INFIX_OPERATOR', '<', 2),\n TOKEN_NE = new Token('INFIX_OPERATOR', '<>', 1),\n TOKEN_EQ = new Token('INFIX_OPERATOR', '=', 1);\n\nconst BOOLS: { [s: string]: boolean } = { ['true']: true, ['false']: false };\n\ntype LexerOption = {\n origin?: PointType;\n};\n\nexport class Lexer {\n private index: number;\n private formula: string;\n public tokens: Token[] = [];\n public foreign: boolean = false;\n private origin?: PointType;\n\n constructor(formula: string, options?: LexerOption) {\n this.formula = formula;\n this.index = 0;\n this.tokens = [];\n if (options?.origin) {\n this.origin = options.origin;\n }\n }\n\n private isWhiteSpace() {\n return isWhiteSpace(this.formula[this.index]);\n }\n\n private next(base = 1) {\n this.index += base;\n }\n\n private get(base = 0) {\n const c = this.formula[this.index + base];\n return c;\n }\n\n private getToken(base = 0) {\n return this.tokens[this.tokens.length + base];\n }\n\n public getTokenIndexByCharPosition(pos: number) {\n let start = 0,\n end = 0;\n\n for (let i = 0; i < this.tokens.length; i++) {\n const token = this.tokens[i];\n end = start + token.length();\n if (start <= pos && pos <= end) {\n return i;\n }\n start = end;\n }\n return -1;\n }\n\n public getTokenPositionRange(index: number, slide = 1): [number, number] {\n let start = 0,\n end = 0;\n for (let i = 0; i < index; i++) {\n start = end;\n end += this.tokens[i].length();\n }\n return [start + slide, end + slide];\n }\n\n public stringify() {\n return this.tokens.map((t) => t.stringify()).join('');\n }\n\n public stringifyToId(table: Table, slideY = 0, slideX = 0) {\n return this.tokens\n .map((t) => {\n switch (t.type) {\n case 'VALUE':\n if (typeof t.entity === 'number' || typeof t.entity === 'boolean') {\n return t.entity;\n }\n return `\"${t.entity}\"`;\n\n case 'ID':\n return new IdEntity(t.entity as string).slide(table, slideY, slideX);\n\n case 'ID_RANGE':\n return new IdRangeEntity(t.entity as string).slide(table, slideY, slideX);\n\n case 'REF':\n return new RefEntity(t.entity as string).id(table);\n\n case 'RANGE':\n return new RangeEntity(t.entity as string).idRange(table);\n }\n return t.entity;\n })\n .join('');\n }\n\n public stringifyToRef(table: Table) {\n return this.tokens\n .map((t) => {\n switch (t.type) {\n case 'VALUE':\n if (typeof t.entity === 'number' || typeof t.entity === 'boolean') {\n return t.entity;\n }\n return `\"${t.entity}\"`;\n case 'ID':\n return new IdEntity(t.entity as string).ref(table);\n case 'ID_RANGE':\n return new IdRangeEntity(t.entity as string).range(table);\n }\n return t.entity;\n })\n .join('');\n }\n\n public tokenize() {\n while (this.index <= this.formula.length) {\n this.skipSpaces();\n let char = this.get();\n this.next();\n switch (char) {\n case undefined:\n return;\n case '(':\n this.tokens.push(TOKEN_OPEN);\n continue;\n case ')':\n this.tokens.push(TOKEN_CLOSE);\n continue;\n case ',':\n this.tokens.push(TOKEN_COMMA);\n continue;\n case '+':\n this.tokens.push(TOKEN_ADD);\n continue;\n case '-': {\n const prev1 = this.getToken(-1)?.type;\n const prev2 = this.getToken(-2)?.type;\n if (prev1 === 'INFIX_OPERATOR' || (prev1 === 'SPACE' && prev2 === 'INFIX_OPERATOR')) {\n this.tokens.push(TOKEN_UMINUS);\n } else {\n this.tokens.push(TOKEN_MINUS);\n }\n continue;\n }\n case '/':\n this.tokens.push(TOKEN_DIVIDE);\n continue;\n case '*':\n this.tokens.push(TOKEN_MULTIPLY);\n continue;\n case '^':\n this.tokens.push(TOKEN_POWER);\n continue;\n case '&':\n this.tokens.push(TOKEN_CONCAT);\n continue;\n case '=':\n this.tokens.push(TOKEN_EQ);\n continue;\n case '>':\n if (this.get() === '=') {\n this.next();\n this.tokens.push(TOKEN_GTE);\n continue;\n }\n this.tokens.push(TOKEN_GT);\n continue;\n case '<':\n if (this.get() === '=') {\n this.next();\n this.tokens.push(TOKEN_LTE);\n continue;\n }\n if (this.get() === '>') {\n this.next();\n this.tokens.push(TOKEN_NE);\n continue;\n }\n this.tokens.push(TOKEN_LT);\n continue;\n case '\"': {\n const buf = this.getString('\"');\n this.tokens.push(new Token('VALUE', buf));\n continue;\n }\n case \"'\": {\n const buf = this.getString(\"'\");\n char = `'${buf}'`;\n break;\n }\n case '!': {\n this.foreign = true;\n break;\n // not continue\n }\n case '%': {\n this.tokens.push(new Token('POSTFIX_OPERATOR', '%', 4));\n continue;\n }\n } // switch end\n let buf = char;\n\n while (true) {\n const c = this.get();\n if (c === '(') {\n this.tokens.push(new Token('FUNCTION', buf, 0, this.origin), TOKEN_OPEN);\n this.next();\n break;\n }\n if (c == null || SPECIAL_CHARS.has(c)) {\n if (buf.length === 0) {\n break;\n }\n if (buf.match(/^[+-]?(\\d*[.])?\\d+$/)) {\n this.tokens.push(new Token('VALUE', parseFloat(buf)));\n } else {\n const bool = BOOLS[buf.toLowerCase()];\n if (bool != null) {\n this.tokens.push(new Token('VALUE', bool));\n } else if (buf.startsWith('#')) {\n if (buf === '#REF!') {\n this.tokens.push(new Token('UNREFERENCED', buf));\n } else if (buf.indexOf(':') !== -1) {\n this.tokens.push(new Token('ID_RANGE', buf));\n } else {\n this.tokens.push(new Token('ID', buf));\n }\n } else if (buf.indexOf(':') !== -1) {\n this.tokens.push(new Token('RANGE', buf));\n } else {\n if (isNaN(buf[buf.length - 1] as unknown as number)) {\n this.tokens.push(new Token('INVALID_REF', buf));\n } else {\n this.tokens.push(new Token('REF', buf));\n }\n }\n }\n break;\n }\n buf += c;\n this.next();\n }\n }\n }\n private skipSpaces() {\n let space: string = '';\n while (this.isWhiteSpace()) {\n space += this.formula[this.index++];\n }\n if (space !== '') {\n this.tokens.push(new Token('SPACE', space));\n }\n }\n\n private getString(quote = '\"') {\n let buf = '';\n\n while (true) {\n const c = this.get();\n this.next();\n if (c == null) {\n break;\n }\n if (c === quote) {\n if (this.get() === quote) {\n // escape\n buf += quote;\n this.next();\n continue;\n } else {\n break;\n }\n } else {\n buf += c;\n }\n }\n return buf;\n }\n}\n\nexport class Parser {\n public index = 0;\n public depth = 0;\n public tokens: Token[];\n constructor(tokens: Token[]) {\n this.tokens = tokens;\n }\n public build() {\n const { expr } = this.parse(false);\n return expr;\n }\n\n private parse(underFunction: boolean) {\n const stack: Expression[] = [];\n let lastOperator: undefined | FunctionEntity;\n\n const complement = (hasNext = false) => {\n if (lastOperator) {\n const outer = stack.pop();\n lastOperator.args.push(outer!);\n }\n return { hasNext, expr: stack.shift() };\n };\n\n while (this.tokens.length > this.index) {\n const token = this.tokens[this.index++];\n if (token.type === 'SPACE') {\n continue;\n }\n if (token.type === 'COMMA') {\n if (!underFunction) {\n throw new FormulaError('#ERROR!', 'Invalid comma');\n }\n return complement(true);\n } else if (\n token.type === 'VALUE' ||\n token.type === 'ID' ||\n token.type === 'ID_RANGE' ||\n token.type === 'REF' ||\n token.type === 'RANGE' ||\n token.type === 'UNREFERENCED' ||\n token.type === 'INVALID_REF'\n ) {\n const expr = token.convert();\n stack.push(expr!);\n } else if (token.type === 'POSTFIX_OPERATOR' && token.entity === '%') {\n const expr = stack.pop();\n if (!expr) {\n throw new FormulaError('#ERROR!', 'Missing expression before %');\n }\n const divideBy100 = new FunctionEntity('divide', 4, [expr, new ValueEntity(100)]);\n stack.push(divideBy100);\n } else if (token.type === 'FUNCTION') {\n this.index++;\n this.depth++;\n const func = token.convert() as FunctionEntity;\n stack.push(func);\n\n while (true) {\n const { expr, hasNext } = this.parse(true);\n if (expr) {\n func.args.push(expr);\n }\n if (!hasNext) {\n break;\n }\n }\n } else if (token.type === 'OPEN') {\n this.depth++;\n const { expr } = this.parse(false);\n stack.push(expr!);\n } else if (token.type === 'CLOSE') {\n if (this.depth-- === 0) {\n throw new FormulaError('#ERROR!', 'Unexpected end paren');\n }\n return complement();\n } else if (token.type === 'INFIX_OPERATOR') {\n const operator = token.convert() as FunctionEntity;\n let left = stack.pop();\n if (left == null) {\n if (operator.name === 'minus' || operator.name === 'add') {\n left = ZERO;\n } else {\n throw new FormulaError('#ERROR!', 'Missing left expression');\n }\n }\n\n if (lastOperator == null) {\n operator.args.push(left);\n stack.unshift(operator);\n } else if (operator.precedence > lastOperator.precedence) {\n operator.args.push(left);\n lastOperator.args.push(operator);\n stack.unshift(lastOperator);\n } else {\n const outer = stack.shift();\n operator.args.push(outer!);\n lastOperator.args.push(left);\n stack.unshift(operator);\n }\n lastOperator = operator;\n } else if (token.type === 'PREFIX_OPERATOR') {\n const operator = token.convert() as FunctionEntity;\n if (lastOperator) {\n lastOperator.args.push(operator);\n } else {\n stack.unshift(operator);\n }\n lastOperator = operator;\n }\n }\n return complement();\n }\n}\n\nexport const absolutizeFormula = ({\n value,\n table,\n slideY = 0,\n slideX = 0,\n}: {\n value: any;\n table: Table;\n slideY?: number;\n slideX?: number;\n}) => {\n if (typeof value === 'string' || value instanceof String) {\n if (value.charAt(0) === '=') {\n const lexer = new Lexer(value.substring(1));\n lexer.tokenize();\n return '=' + lexer.stringifyToId(table, slideY, slideX);\n }\n }\n return value;\n};\n\nexport const stripSheetName = (sheetName: string) => {\n if (sheetName.charAt(0) === \"'\") {\n sheetName = sheetName.slice(1);\n }\n if (sheetName.charAt(sheetName.length - 1) === \"'\") {\n sheetName = sheetName.slice(0, -1);\n }\n return sheetName;\n};\n"],"names":["buf"],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- class BaseFunction {
2
- constructor({ args, table, origin }) {
3
- this.example = "_BASE()";
4
- this.helpTexts = ["Function's description."];
5
- this.helpArgs = [{ name: "value1", description: "" }];
6
- this.bareArgs = args.map((a) => a.evaluate({ table }));
7
- this.table = table;
8
- this.origin = origin;
9
- }
10
- validate() {
11
- }
12
- call() {
13
- this.validate();
14
- return this.main(...this.bareArgs);
15
- }
16
- }
17
- export {
18
- BaseFunction
19
- };
20
- //# sourceMappingURL=__base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"__base.js","sources":["../../../formula/functions/__base.ts"],"sourcesContent":["import { Table } from '../../lib/table';\nimport type { PointType } from '../../types';\nimport { Expression } from '../evaluator';\n\nexport type FunctionProps = {\n args: Expression[];\n table: Table;\n origin?: PointType;\n};\n\nexport class BaseFunction {\n public example = '_BASE()';\n public helpTexts = [\"Function's description.\"];\n public helpArgs = [{ name: 'value1', description: '' }];\n protected bareArgs: any[];\n protected table: Table;\n protected origin?: PointType;\n\n constructor({ args, table, origin }: FunctionProps) {\n this.bareArgs = args.map((a) => a.evaluate({ table }));\n this.table = table;\n this.origin = origin;\n }\n protected validate() {}\n\n public call() {\n this.validate();\n\n // @ts-expect-error main is not defined in BaseFunction\n\n return this.main(...this.bareArgs);\n }\n}\n\nexport type FunctionMapping = { [functionName: string]: typeof BaseFunction };\n"],"names":[],"mappings":"AAUO,MAAM,aAAa;AAAA,EAQxB,YAAY,EAAE,MAAM,OAAO,UAAyB;AAPpD,SAAO,UAAU;AACV,SAAA,YAAY,CAAC,yBAAyB;AAC7C,SAAO,WAAW,CAAC,EAAE,MAAM,UAAU,aAAa,IAAI;AAM/C,SAAA,WAAW,KAAK,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACrD,SAAK,QAAQ;AACb,SAAK,SAAS;AAAA,EAAA;AAAA,EAEN,WAAW;AAAA,EAAA;AAAA,EAEd,OAAO;AACZ,SAAK,SAAS;AAId,WAAO,KAAK,KAAK,GAAG,KAAK,QAAQ;AAAA,EAAA;AAErC;"}
@@ -1,145 +0,0 @@
1
- import { solveTable } from "../solver.js";
2
- import { Table } from "../../lib/table.js";
3
- import { FormulaError } from "../evaluator.js";
4
- import dayjs from "../../_virtual/dayjs.min.js";
5
- import { FULLDATE_FORMAT_UTC } from "../../constants.js";
6
- const gt = (left, right) => {
7
- if (typeof left === "string" || typeof right === "string") {
8
- return ensureString(left) > ensureString(right);
9
- }
10
- try {
11
- return ensureNumber(left) > ensureNumber(right);
12
- } catch {
13
- return false;
14
- }
15
- };
16
- const gte = (left, right) => {
17
- if (typeof left === "string" || typeof right === "string") {
18
- return ensureString(left) >= ensureString(right);
19
- }
20
- try {
21
- return ensureNumber(left) >= ensureNumber(right);
22
- } catch {
23
- return false;
24
- }
25
- };
26
- const lt = (left, right) => {
27
- return !gte(left, right);
28
- };
29
- const lte = (left, right) => {
30
- return !gt(left, right);
31
- };
32
- const eq = (left, right) => {
33
- return ensureString(left) === ensureString(right);
34
- };
35
- const ne = (left, right) => {
36
- return !eq(left, right);
37
- };
38
- const ensureNumber = (value, alternative) => {
39
- if (!value) {
40
- return 0;
41
- }
42
- if (value instanceof Table) {
43
- const v = stripTable(value, 0, 0);
44
- return ensureNumber(v);
45
- }
46
- if (value instanceof Date) {
47
- return value.getTime();
48
- }
49
- const num = parseFloat(value);
50
- if (isNaN(num)) {
51
- throw new FormulaError("#VALUE!", `${value} cannot be converted to a number`);
52
- }
53
- return num;
54
- };
55
- const ensureString = (value) => {
56
- if (value === 0) {
57
- return "0";
58
- }
59
- if (!value) {
60
- return "";
61
- }
62
- if (value instanceof Table) {
63
- const v = stripTable(value, 0, 0);
64
- return ensureString(v);
65
- }
66
- switch (value.constructor.name) {
67
- case "Date": {
68
- const d = value;
69
- return dayjs(d).format(FULLDATE_FORMAT_UTC);
70
- }
71
- default:
72
- return String(value);
73
- }
74
- };
75
- const ensureBoolean = (value, alternative) => {
76
- if (typeof value === "undefined" && typeof alternative !== "undefined") {
77
- return alternative;
78
- }
79
- if (value === null) {
80
- return false;
81
- }
82
- if (value instanceof Table) {
83
- const v = stripTable(value, 0, 0);
84
- return ensureBoolean(v, alternative);
85
- }
86
- if (typeof value === "string" || value instanceof String) {
87
- const bool = { true: true, false: false }[value.toLowerCase()];
88
- if (bool == null) {
89
- throw new FormulaError("#VALUE!", `text '${value}' cannot be converted to a boolean`);
90
- }
91
- return bool;
92
- }
93
- return Boolean(value);
94
- };
95
- const stripTable = (value, y = 0, x = 0) => {
96
- if (value instanceof Table) {
97
- return solveTable({ table: value })[y][x];
98
- }
99
- return value;
100
- };
101
- const CONDITION_REGEX = /^(<=|>=|<>|>|<|=)?(.*)$/;
102
- const check = (value, condition) => {
103
- const m = condition.match(CONDITION_REGEX);
104
- const [, expr = "", target = ""] = m || [];
105
- let comparison = target;
106
- if (expr === ">" || expr === "<" || expr === ">=" || expr === "<=") {
107
- if (typeof value === "number") {
108
- comparison = parseFloat(target);
109
- }
110
- switch (expr) {
111
- case ">":
112
- return gt(value, comparison);
113
- case ">=":
114
- return gte(value, comparison);
115
- case "<":
116
- return lt(value, comparison);
117
- case "<=":
118
- return lte(value, comparison);
119
- }
120
- }
121
- const equals = expr === "" || expr === "=";
122
- if (target === "") {
123
- return (value == null || value === "") === equals;
124
- }
125
- if (typeof value === "string" || value instanceof String) {
126
- const replaced = target.replace(/~\*/g, "(\\*)").replace(/~\?/g, "(\\?)").replace(/\*/g, "(.*)").replace(/\?/g, "(.)");
127
- const regex = RegExp(`^${replaced}$`, "i");
128
- return regex.test(value) === equals;
129
- }
130
- return eq(value, comparison) === equals;
131
- };
132
- export {
133
- check,
134
- ensureBoolean,
135
- ensureNumber,
136
- ensureString,
137
- eq,
138
- gt,
139
- gte,
140
- lt,
141
- lte,
142
- ne,
143
- stripTable
144
- };
145
- //# sourceMappingURL=__utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"__utils.js","sources":["../../../formula/functions/__utils.ts"],"sourcesContent":["import { solveTable } from '../solver';\nimport { Table } from '../../lib/table';\nimport { FormulaError } from '../evaluator';\nimport dayjs from 'dayjs';\nimport { FULLDATE_FORMAT_UTC } from '../../constants';\n\nexport const gt = (left: any, right: any): boolean => {\n if (typeof left === 'string' || typeof right === 'string') {\n return ensureString(left) > ensureString(right);\n }\n try {\n return ensureNumber(left) > ensureNumber(right);\n } catch {\n return false;\n }\n};\n\nexport const gte = (left: any, right: any): boolean => {\n if (typeof left === 'string' || typeof right === 'string') {\n return ensureString(left) >= ensureString(right);\n }\n try {\n return ensureNumber(left) >= ensureNumber(right);\n } catch {\n return false;\n }\n};\n\nexport const lt = (left: any, right: any): boolean => {\n return !gte(left, right);\n};\n\nexport const lte = (left: any, right: any): boolean => {\n return !gt(left, right);\n};\n\nexport const eq = (left: any, right: any): boolean => {\n return ensureString(left) === ensureString(right);\n};\n\nexport const ne = (left: any, right: any): boolean => {\n return !eq(left, right);\n};\n\nexport const ensureNumber = (value: any, alternative?: number): number => {\n if (typeof value === 'undefined' && typeof alternative !== 'undefined') {\n return alternative;\n }\n if (!value) {\n // falsy is 0\n return 0;\n }\n if (value instanceof Table) {\n const v = stripTable(value, 0, 0);\n return ensureNumber(v, alternative);\n }\n if (value instanceof Date) {\n return value.getTime();\n }\n const num = parseFloat(value as string);\n if (isNaN(num)) {\n throw new FormulaError('#VALUE!', `${value} cannot be converted to a number`);\n }\n return num;\n};\n\nexport const ensureString = (value: any): string => {\n if (value === 0) {\n return '0';\n }\n if (!value) {\n return '';\n }\n if (value instanceof Table) {\n const v = stripTable(value, 0, 0);\n return ensureString(v);\n }\n switch (value.constructor.name) {\n case 'Date': {\n const d: Date = value;\n return dayjs(d).format(FULLDATE_FORMAT_UTC);\n }\n default:\n return String(value);\n }\n};\n\nexport const ensureBoolean = (\n value: any,\n\n alternative?: boolean,\n): boolean => {\n if (typeof value === 'undefined' && typeof alternative !== 'undefined') {\n return alternative;\n }\n if (value === null) {\n return false;\n }\n if (value instanceof Table) {\n const v = stripTable(value, 0, 0);\n return ensureBoolean(v, alternative);\n }\n if (typeof value === 'string' || value instanceof String) {\n const bool = { true: true, false: false }[value.toLowerCase()];\n if (bool == null) {\n throw new FormulaError('#VALUE!', `text '${value as string}' cannot be converted to a boolean`);\n }\n return bool;\n }\n return Boolean(value);\n};\n\nexport const stripTable = (value: any, y = 0, x = 0) => {\n if (value instanceof Table) {\n return solveTable({ table: value })[y][x];\n }\n return value;\n};\n\nconst CONDITION_REGEX = /^(<=|>=|<>|>|<|=)?(.*)$/;\n\nexport const check = (value: any, condition: string): boolean => {\n const m = condition.match(CONDITION_REGEX);\n\n const [, expr = '', target = ''] = m || [];\n let comparison: any = target;\n if (expr === '>' || expr === '<' || expr === '>=' || expr === '<=') {\n if (typeof value === 'number') {\n comparison = parseFloat(target);\n }\n switch (expr) {\n case '>':\n return gt(value, comparison);\n case '>=':\n return gte(value, comparison);\n case '<':\n return lt(value, comparison);\n case '<=':\n return lte(value, comparison);\n }\n }\n\n const equals = expr === '' || expr === '=';\n if (target === '') {\n // empty target means \"\" or \"<>\"\n return (value == null || value === '') === equals;\n }\n\n if (typeof value === 'string' || value instanceof String) {\n const replaced = target\n .replace(/~\\*/g, '(\\\\*)')\n .replace(/~\\?/g, '(\\\\?)')\n .replace(/\\*/g, '(.*)')\n .replace(/\\?/g, '(.)');\n const regex = RegExp(`^${replaced}$`, 'i');\n return regex.test(value as string) === equals;\n }\n return eq(value, comparison) === equals;\n};\n"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { BaseFunction } from "./__base.js";
3
- import { ensureNumber } from "./__utils.js";
4
- class AbsFunction extends BaseFunction {
5
- constructor() {
6
- super(...arguments);
7
- this.example = "ABS(-2)";
8
- this.helpText = ["Returns the absolute value of a number"];
9
- this.helpArgs = [{ name: "value", description: "target number" }];
10
- }
11
- validate() {
12
- if (this.bareArgs.length !== 1) {
13
- throw new FormulaError("#N/A", "Number of arguments for ABS is incorrect.");
14
- }
15
- this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
16
- }
17
- main(value) {
18
- return Math.abs(value);
19
- }
20
- }
21
- export {
22
- AbsFunction
23
- };
24
- //# sourceMappingURL=abs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abs.js","sources":["../../../formula/functions/abs.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class AbsFunction extends BaseFunction {\n example = 'ABS(-2)';\n helpText = ['Returns the absolute value of a number'];\n helpArgs = [{ name: 'value', description: 'target number' }];\n\n protected validate() {\n if (this.bareArgs.length !== 1) {\n throw new FormulaError('#N/A', 'Number of arguments for ABS is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));\n }\n\n protected main(value: number) {\n return Math.abs(value);\n }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,wCAAwC;AACpD,SAAA,WAAW,CAAC,EAAE,MAAM,SAAS,aAAa,iBAAiB;AAAA,EAAA;AAAA,EAEjD,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAEvE,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AAAA,EAAA;AAAA,EAGpD,KAAK,OAAe;AACrB,WAAA,KAAK,IAAI,KAAK;AAAA,EAAA;AAEzB;"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=abs.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abs.spec.d.ts","sourceRoot":"","sources":["../../../formula/functions/abs.spec.ts"],"names":[],"mappings":""}
@@ -1,32 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { BaseFunction } from "./__base.js";
3
- import { ensureNumber } from "./__utils.js";
4
- class AcosFunction extends BaseFunction {
5
- constructor() {
6
- super(...arguments);
7
- this.example = "ACOS(0)";
8
- this.helpText = ["Returns the inverse cos of the value in radians."];
9
- this.helpArgs = [
10
- {
11
- name: "value",
12
- description: "A value for the inverse cos between -1 and 1."
13
- }
14
- ];
15
- }
16
- validate() {
17
- if (this.bareArgs.length !== 1) {
18
- throw new FormulaError("#N/A", "Number of arguments for ACOS is incorrect.");
19
- }
20
- this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
21
- if (-1 > this.bareArgs[0] || this.bareArgs[0] > 1) {
22
- throw new FormulaError("#NUM!", "value must be between -1 and 1");
23
- }
24
- }
25
- main(value) {
26
- return Math.acos(value);
27
- }
28
- }
29
- export {
30
- AcosFunction
31
- };
32
- //# sourceMappingURL=acos.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acos.js","sources":["../../../formula/functions/acos.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class AcosFunction extends BaseFunction {\n example = 'ACOS(0)';\n helpText = ['Returns the inverse cos of the value in radians.'];\n helpArgs = [\n {\n name: 'value',\n description: 'A value for the inverse cos between -1 and 1.',\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 1) {\n throw new FormulaError('#N/A', 'Number of arguments for ACOS is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));\n if (-1 > this.bareArgs[0] || this.bareArgs[0] > 1) {\n throw new FormulaError('#NUM!', 'value must be between -1 and 1');\n }\n }\n\n protected main(value: number) {\n return Math.acos(value);\n }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,qBAAqB,aAAa;AAAA,EAAxC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,kDAAkD;AACnD,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,MAAA;AAAA,IAEjB;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,4CAA4C;AAAA,IAAA;AAExE,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AACxD,QAAA,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,GAAG;AAC3C,YAAA,IAAI,aAAa,SAAS,gCAAgC;AAAA,IAAA;AAAA,EAClE;AAAA,EAGQ,KAAK,OAAe;AACrB,WAAA,KAAK,KAAK,KAAK;AAAA,EAAA;AAE1B;"}
@@ -1,57 +0,0 @@
1
- import dayjs from "../../_virtual/dayjs.min.js";
2
- import { FormulaError } from "../evaluator.js";
3
- import { BaseFunction } from "./__base.js";
4
- import { stripTable, ensureNumber } from "./__utils.js";
5
- import { Table } from "../../lib/table.js";
6
- import { TimeDelta } from "../../lib/time.js";
7
- import { SECONDS_IN_DAY } from "../../constants.js";
8
- class AddFunction extends BaseFunction {
9
- constructor() {
10
- super(...arguments);
11
- this.example = "ADD(2, 3)";
12
- this.helpText = ["Returns the sum of two numbers.", "This is the same as the '+' operator."];
13
- this.helpArgs = [
14
- { name: "value1", description: "First additive." },
15
- { name: "value2", description: "Second additive." }
16
- ];
17
- }
18
- validate() {
19
- if (this.bareArgs.length !== 2) {
20
- throw new FormulaError("#N/A", "Number of arguments for ADD is incorrect.");
21
- }
22
- this.bareArgs = this.bareArgs.map((arg) => {
23
- if (arg instanceof Table) {
24
- arg = stripTable(arg, 0, 0);
25
- }
26
- return typeof arg === "object" ? arg : ensureNumber(arg);
27
- });
28
- }
29
- main(v1, v2) {
30
- if (typeof v1 === "number" && typeof v2 === "number") {
31
- return v1 + v2;
32
- }
33
- if (v1 instanceof Date && TimeDelta.is(v2)) {
34
- return TimeDelta.ensure(v2).add(v1);
35
- }
36
- if (TimeDelta.is(v1) && v2 instanceof Date) {
37
- return TimeDelta.ensure(v1).add(v2);
38
- }
39
- if (v1 instanceof Date && typeof v2 === "number") {
40
- return dayjs(v1).add(v2 * SECONDS_IN_DAY, "second").toDate();
41
- }
42
- if (typeof v1 === "number" && v2 instanceof Date) {
43
- return dayjs(v2).add(v1 * SECONDS_IN_DAY, "second").toDate();
44
- }
45
- if (!v1) {
46
- return v2;
47
- }
48
- if (!v2) {
49
- return v1;
50
- }
51
- throw new FormulaError("#VALUE!", "Mismatched types for augend and addend.");
52
- }
53
- }
54
- export {
55
- AddFunction
56
- };
57
- //# sourceMappingURL=add.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.js","sources":["../../../formula/functions/add.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nimport { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber, stripTable } from './__utils';\nimport { Table } from '../../lib/table';\nimport { TimeDelta } from '../../lib/time';\nimport { SECONDS_IN_DAY } from '../../constants';\n\nexport class AddFunction extends BaseFunction {\n example = 'ADD(2, 3)';\n helpText = ['Returns the sum of two numbers.', \"This is the same as the '+' operator.\"];\n helpArgs = [\n { name: 'value1', description: 'First additive.' },\n { name: 'value2', description: 'Second additive.' },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for ADD is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => {\n if (arg instanceof Table) {\n arg = stripTable(arg, 0, 0);\n }\n return typeof arg === 'object' ? arg : ensureNumber(arg);\n });\n }\n\n protected main(v1: number | Date | TimeDelta, v2: number | Date | TimeDelta) {\n if (typeof v1 === 'number' && typeof v2 === 'number') {\n return v1 + v2;\n }\n if (v1 instanceof Date && TimeDelta.is(v2)) {\n return TimeDelta.ensure(v2).add(v1);\n }\n if (TimeDelta.is(v1) && v2 instanceof Date) {\n return TimeDelta.ensure(v1).add(v2);\n }\n if (v1 instanceof Date && typeof v2 === 'number') {\n return dayjs(v1)\n .add(v2 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (typeof v1 === 'number' && v2 instanceof Date) {\n return dayjs(v2)\n .add(v1 * SECONDS_IN_DAY, 'second')\n .toDate();\n }\n if (!v1) {\n return v2;\n }\n if (!v2) {\n return v1;\n }\n throw new FormulaError('#VALUE!', 'Mismatched types for augend and addend.');\n }\n}\n"],"names":[],"mappings":";;;;;;;AASO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,mCAAmC,uCAAuC;AAC3E,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,kBAAkB;AAAA,MACjD,EAAE,MAAM,UAAU,aAAa,mBAAmB;AAAA,IACpD;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,2CAA2C;AAAA,IAAA;AAE5E,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ;AACzC,UAAI,eAAe,OAAO;AAClB,cAAA,WAAW,KAAK,GAAG,CAAC;AAAA,MAAA;AAE5B,aAAO,OAAO,QAAQ,WAAW,MAAM,aAAa,GAAG;AAAA,IAAA,CACxD;AAAA,EAAA;AAAA,EAGO,KAAK,IAA+B,IAA+B;AAC3E,QAAI,OAAO,OAAO,YAAY,OAAO,OAAO,UAAU;AACpD,aAAO,KAAK;AAAA,IAAA;AAEd,QAAI,cAAc,QAAQ,UAAU,GAAG,EAAE,GAAG;AAC1C,aAAO,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE;AAAA,IAAA;AAEpC,QAAI,UAAU,GAAG,EAAE,KAAK,cAAc,MAAM;AAC1C,aAAO,UAAU,OAAO,EAAE,EAAE,IAAI,EAAE;AAAA,IAAA;AAEpC,QAAI,cAAc,QAAQ,OAAO,OAAO,UAAU;AACzC,aAAA,MAAM,EAAE,EACZ,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,OAAO,OAAO,YAAY,cAAc,MAAM;AACzC,aAAA,MAAM,EAAE,EACZ,IAAI,KAAK,gBAAgB,QAAQ,EACjC,OAAO;AAAA,IAAA;AAEZ,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAET,QAAI,CAAC,IAAI;AACA,aAAA;AAAA,IAAA;AAEH,UAAA,IAAI,aAAa,WAAW,yCAAyC;AAAA,EAAA;AAE/E;"}
@@ -1,28 +0,0 @@
1
- import { BaseFunction } from "./__base.js";
2
- import { ensureBoolean } from "./__utils.js";
3
- class AndFunction extends BaseFunction {
4
- constructor() {
5
- super(...arguments);
6
- this.example = "AND(A1=1, A2=2)";
7
- this.helpText = ["Returns TRUE if all arguments are logically TRUE.", "Returns FALSE if any argument is logically FALSE."];
8
- this.helpArgs = [
9
- { name: "expression1", description: "First logical expression." },
10
- {
11
- name: "expression2",
12
- description: "Additional expressions",
13
- optional: true,
14
- iterable: true
15
- }
16
- ];
17
- }
18
- validate() {
19
- this.bareArgs = this.bareArgs.map((arg) => ensureBoolean(arg));
20
- }
21
- main(...values) {
22
- return values.reduce((a, b) => a && b);
23
- }
24
- }
25
- export {
26
- AndFunction
27
- };
28
- //# sourceMappingURL=and.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"and.js","sources":["../../../formula/functions/and.ts"],"sourcesContent":["import { BaseFunction } from './__base';\nimport { ensureBoolean } from './__utils';\n\nexport class AndFunction extends BaseFunction {\n example = 'AND(A1=1, A2=2)';\n helpText = ['Returns TRUE if all arguments are logically TRUE.', 'Returns FALSE if any argument is logically FALSE.'];\n helpArgs = [\n { name: 'expression1', description: 'First logical expression.' },\n {\n name: 'expression2',\n description: 'Additional expressions',\n optional: true,\n iterable: true,\n },\n ];\n\n protected validate() {\n this.bareArgs = this.bareArgs.map((arg) => ensureBoolean(arg));\n }\n\n protected main(...values: boolean[]) {\n return values.reduce((a, b) => a && b);\n }\n}\n"],"names":[],"mappings":";;AAGO,MAAM,oBAAoB,aAAa;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA,CAAC,qDAAqD,mDAAmD;AACzG,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,eAAe,aAAa,4BAA4B;AAAA,MAChE;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,EAAA;AAAA,EAEU,WAAW;AACd,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,cAAc,GAAG,CAAC;AAAA,EAAA;AAAA,EAGrD,QAAQ,QAAmB;AACnC,WAAO,OAAO,OAAO,CAAC,GAAG,MAAM,KAAK,CAAC;AAAA,EAAA;AAEzC;"}
@@ -1,32 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { BaseFunction } from "./__base.js";
3
- import { ensureNumber } from "./__utils.js";
4
- class AsinFunction extends BaseFunction {
5
- constructor() {
6
- super(...arguments);
7
- this.example = "ASIN(0)";
8
- this.helpText = ["Returns the inverse sin of the value in radians."];
9
- this.helpArgs = [
10
- {
11
- name: "value",
12
- description: "A value for the inverse sin between -1 and 1."
13
- }
14
- ];
15
- }
16
- validate() {
17
- if (this.bareArgs.length !== 1) {
18
- throw new FormulaError("#N/A", "Number of arguments for ASIN is incorrect.");
19
- }
20
- this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
21
- if (-1 > this.bareArgs[0] || this.bareArgs[0] > 1) {
22
- throw new FormulaError("#NUM!", "value must be between -1 and 1");
23
- }
24
- }
25
- main(value) {
26
- return Math.asin(value);
27
- }
28
- }
29
- export {
30
- AsinFunction
31
- };
32
- //# sourceMappingURL=asin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asin.js","sources":["../../../formula/functions/asin.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class AsinFunction extends BaseFunction {\n example = 'ASIN(0)';\n helpText = ['Returns the inverse sin of the value in radians.'];\n helpArgs = [\n {\n name: 'value',\n description: 'A value for the inverse sin between -1 and 1.',\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 1) {\n throw new FormulaError('#N/A', 'Number of arguments for ASIN is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));\n if (-1 > this.bareArgs[0] || this.bareArgs[0] > 1) {\n throw new FormulaError('#NUM!', 'value must be between -1 and 1');\n }\n }\n\n protected main(value: number) {\n return Math.asin(value);\n }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,qBAAqB,aAAa;AAAA,EAAxC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,kDAAkD;AACnD,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,MAAA;AAAA,IAEjB;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,4CAA4C;AAAA,IAAA;AAExE,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AACxD,QAAA,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,GAAG;AAC3C,YAAA,IAAI,aAAa,SAAS,gCAAgC;AAAA,IAAA;AAAA,EAClE;AAAA,EAGQ,KAAK,OAAe;AACrB,WAAA,KAAK,KAAK,KAAK;AAAA,EAAA;AAE1B;"}
@@ -1,29 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { BaseFunction } from "./__base.js";
3
- import { ensureNumber } from "./__utils.js";
4
- class AtanFunction extends BaseFunction {
5
- constructor() {
6
- super(...arguments);
7
- this.example = "ATAN(1)";
8
- this.helpText = ["Returns the inverse tan of the value in radians."];
9
- this.helpArgs = [
10
- {
11
- name: "value",
12
- description: "A value for the inverse tan."
13
- }
14
- ];
15
- }
16
- validate() {
17
- if (this.bareArgs.length !== 1) {
18
- throw new FormulaError("#N/A", "Number of arguments for ATAN is incorrect.");
19
- }
20
- this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
21
- }
22
- main(value) {
23
- return Math.atan(value);
24
- }
25
- }
26
- export {
27
- AtanFunction
28
- };
29
- //# sourceMappingURL=atan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atan.js","sources":["../../../formula/functions/atan.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class AtanFunction extends BaseFunction {\n example = 'ATAN(1)';\n helpText = ['Returns the inverse tan of the value in radians.'];\n helpArgs = [\n {\n name: 'value',\n description: 'A value for the inverse tan.',\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 1) {\n throw new FormulaError('#N/A', 'Number of arguments for ATAN is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));\n }\n\n protected main(value: number) {\n return Math.atan(value);\n }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,qBAAqB,aAAa;AAAA,EAAxC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,kDAAkD;AACnD,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,MAAA;AAAA,IAEjB;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,4CAA4C;AAAA,IAAA;AAExE,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AAAA,EAAA;AAAA,EAGpD,KAAK,OAAe;AACrB,WAAA,KAAK,KAAK,KAAK;AAAA,EAAA;AAE1B;"}
@@ -1,35 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { BaseFunction } from "./__base.js";
3
- import { ensureNumber } from "./__utils.js";
4
- class Atan2Function extends BaseFunction {
5
- constructor() {
6
- super(...arguments);
7
- this.example = "ATAN2(4,3)";
8
- this.helpText = [
9
- "Returns the angle in radians between the x-axis and a line passing from the origin through a given coordinate point (x, y)."
10
- ];
11
- this.helpArgs = [
12
- {
13
- name: "x",
14
- description: "x of the point."
15
- },
16
- {
17
- name: "y",
18
- description: "y of the point."
19
- }
20
- ];
21
- }
22
- validate() {
23
- if (this.bareArgs.length !== 2) {
24
- throw new FormulaError("#N/A", "Number of arguments for ATAN2 is incorrect.");
25
- }
26
- this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));
27
- }
28
- main(x, y) {
29
- return Math.atan2(x, y);
30
- }
31
- }
32
- export {
33
- Atan2Function
34
- };
35
- //# sourceMappingURL=atan2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atan2.js","sources":["../../../formula/functions/atan2.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class Atan2Function extends BaseFunction {\n example = 'ATAN2(4,3)';\n helpText = [\n 'Returns the angle in radians between the x-axis and a line passing from the origin through a given coordinate point (x, y).',\n ];\n helpArgs = [\n {\n name: 'x',\n description: 'x of the point.',\n },\n {\n name: 'y',\n description: 'y of the point.',\n },\n ];\n\n protected validate() {\n if (this.bareArgs.length !== 2) {\n throw new FormulaError('#N/A', 'Number of arguments for ATAN2 is incorrect.');\n }\n this.bareArgs = this.bareArgs.map((arg) => ensureNumber(arg));\n }\n\n protected main(x: number, y: number) {\n return Math.atan2(x, y);\n }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,sBAAsB,aAAa;AAAA,EAAzC,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACC,SAAA,WAAA;AAAA,MACT;AAAA,IACF;AACW,SAAA,WAAA;AAAA,MACT;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,MAAA;AAAA,IAEjB;AAAA,EAAA;AAAA,EAEU,WAAW;AACf,QAAA,KAAK,SAAS,WAAW,GAAG;AACxB,YAAA,IAAI,aAAa,QAAQ,6CAA6C;AAAA,IAAA;AAEzE,SAAA,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAa,GAAG,CAAC;AAAA,EAAA;AAAA,EAGpD,KAAK,GAAW,GAAW;AAC5B,WAAA,KAAK,MAAM,GAAG,CAAC;AAAA,EAAA;AAE1B;"}
@@ -1,44 +0,0 @@
1
- import { FormulaError } from "../evaluator.js";
2
- import { solveTable } from "../solver.js";
3
- import { Table } from "../../lib/table.js";
4
- import { BaseFunction } from "./__base.js";
5
- import { ensureNumber } from "./__utils.js";
6
- class AverageFunction extends BaseFunction {
7
- constructor() {
8
- super(...arguments);
9
- this.example = "AVERAGE(A2:A100, 101)";
10
- this.helpText = ["Returns the average of a series of numbers or cells."];
11
- this.helpArgs = [
12
- { name: "value1", description: "First number or range." },
13
- {
14
- name: "value2",
15
- description: "Additional numbers or ranges",
16
- optional: true,
17
- iterable: true
18
- }
19
- ];
20
- }
21
- validate() {
22
- const spreaded = [];
23
- this.bareArgs.map((arg) => {
24
- if (arg instanceof Table) {
25
- spreaded.push(
26
- ...solveTable({ table: arg }).reduce((a, b) => a.concat(b)).filter((v) => typeof v === "number")
27
- );
28
- return;
29
- }
30
- spreaded.push(ensureNumber(arg));
31
- });
32
- if (spreaded.length === 0) {
33
- throw new FormulaError("#N/A", "Number of arguments must be greater than 0.");
34
- }
35
- this.bareArgs = spreaded;
36
- }
37
- main(...values) {
38
- return values.reduce((a, b) => a + b) / values.length;
39
- }
40
- }
41
- export {
42
- AverageFunction
43
- };
44
- //# sourceMappingURL=average.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"average.js","sources":["../../../formula/functions/average.ts"],"sourcesContent":["import { FormulaError } from '../evaluator';\nimport { solveTable } from '../solver';\nimport { Table } from '../../lib/table';\nimport { BaseFunction } from './__base';\nimport { ensureNumber } from './__utils';\n\nexport class AverageFunction extends BaseFunction {\n example = 'AVERAGE(A2:A100, 101)';\n helpText = ['Returns the average of a series of numbers or cells.'];\n helpArgs = [\n { name: 'value1', description: 'First number or range.' },\n {\n name: 'value2',\n description: 'Additional numbers or ranges',\n optional: true,\n iterable: true,\n },\n ];\n\n protected validate() {\n const spreaded: number[] = [];\n this.bareArgs.map((arg) => {\n if (arg instanceof Table) {\n spreaded.push(\n ...solveTable({ table: arg })\n .reduce((a, b) => a.concat(b))\n .filter((v: any) => typeof v === 'number'),\n );\n return;\n }\n spreaded.push(ensureNumber(arg));\n });\n if (spreaded.length === 0) {\n throw new FormulaError('#N/A', 'Number of arguments must be greater than 0.');\n }\n this.bareArgs = spreaded;\n }\n\n protected main(...values: number[]) {\n return values.reduce((a, b) => a + b) / values.length;\n }\n}\n"],"names":[],"mappings":";;;;;AAMO,MAAM,wBAAwB,aAAa;AAAA,EAA3C,cAAA;AAAA,UAAA,GAAA,SAAA;AACK,SAAA,UAAA;AACV,SAAA,WAAW,CAAC,sDAAsD;AACvD,SAAA,WAAA;AAAA,MACT,EAAE,MAAM,UAAU,aAAa,yBAAyB;AAAA,MACxD;AAAA,QACE,MAAM;AAAA,QACN,aAAa;AAAA,QACb,UAAU;AAAA,QACV,UAAU;AAAA,MAAA;AAAA,IAEd;AAAA,EAAA;AAAA,EAEU,WAAW;AACnB,UAAM,WAAqB,CAAC;AACvB,SAAA,SAAS,IAAI,CAAC,QAAQ;AACzB,UAAI,eAAe,OAAO;AACf,iBAAA;AAAA,UACP,GAAG,WAAW,EAAE,OAAO,IAAK,CAAA,EACzB,OAAO,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,EAC5B,OAAO,CAAC,MAAW,OAAO,MAAM,QAAQ;AAAA,QAC7C;AACA;AAAA,MAAA;AAEO,eAAA,KAAK,aAAa,GAAG,CAAC;AAAA,IAAA,CAChC;AACG,QAAA,SAAS,WAAW,GAAG;AACnB,YAAA,IAAI,aAAa,QAAQ,6CAA6C;AAAA,IAAA;AAE9E,SAAK,WAAW;AAAA,EAAA;AAAA,EAGR,QAAQ,QAAkB;AAC3B,WAAA,OAAO,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,OAAO;AAAA,EAAA;AAEnD;"}