@gridsheet/react-core 1.3.1 → 1.4.0-alpha.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 (367) hide show
  1. package/dist/components/Cell.d.ts +2 -2
  2. package/dist/components/Cell.d.ts.map +1 -1
  3. package/dist/components/ContextMenu.d.ts +1 -1
  4. package/dist/components/ContextMenu.d.ts.map +1 -1
  5. package/dist/components/Editor.d.ts +4 -4
  6. package/dist/components/Editor.d.ts.map +1 -1
  7. package/dist/components/Emitter.d.ts +2 -2
  8. package/dist/components/Emitter.d.ts.map +1 -1
  9. package/dist/components/Fixed.d.ts +2 -2
  10. package/dist/components/Fixed.d.ts.map +1 -1
  11. package/dist/components/FormulaBar.d.ts +1 -1
  12. package/dist/components/FormulaBar.d.ts.map +1 -1
  13. package/dist/components/GridSheet.d.ts +2 -2
  14. package/dist/components/GridSheet.d.ts.map +1 -1
  15. package/dist/components/HeaderCellLeft.d.ts +2 -2
  16. package/dist/components/HeaderCellLeft.d.ts.map +1 -1
  17. package/dist/components/HeaderCellTop.d.ts +2 -2
  18. package/dist/components/HeaderCellTop.d.ts.map +1 -1
  19. package/dist/components/PluginBase.d.ts +3 -3
  20. package/dist/components/PluginBase.d.ts.map +1 -1
  21. package/dist/components/Resizer.d.ts +1 -1
  22. package/dist/components/Resizer.d.ts.map +1 -1
  23. package/dist/components/SearchBar.d.ts +1 -1
  24. package/dist/components/SearchBar.d.ts.map +1 -1
  25. package/dist/components/SheetProvider.d.ts +3 -3
  26. package/dist/components/SheetProvider.d.ts.map +1 -1
  27. package/dist/components/StoreInitializer.d.ts +1 -1
  28. package/dist/components/StoreInitializer.d.ts.map +1 -1
  29. package/dist/components/Tabular.d.ts +2 -2
  30. package/dist/components/Tabular.d.ts.map +1 -1
  31. package/dist/components/Toggle.d.ts +12 -0
  32. package/dist/components/Toggle.d.ts.map +1 -0
  33. package/dist/components/hooks.d.ts.map +1 -1
  34. package/dist/components/svg/AddIcon.d.ts +4 -0
  35. package/dist/components/svg/AddIcon.d.ts.map +1 -0
  36. package/dist/components/svg/Base.d.ts +1 -1
  37. package/dist/components/svg/Base.d.ts.map +1 -1
  38. package/dist/components/svg/CloseIcon.d.ts +2 -2
  39. package/dist/components/svg/CloseIcon.d.ts.map +1 -1
  40. package/dist/components/svg/SearchIcon.d.ts +2 -2
  41. package/dist/components/svg/SearchIcon.d.ts.map +1 -1
  42. package/dist/constants.d.ts.map +1 -1
  43. package/dist/formula/evaluator.d.ts +5 -5
  44. package/dist/formula/evaluator.d.ts.map +1 -1
  45. package/dist/formula/functions/__base.d.ts +2 -2
  46. package/dist/formula/functions/__base.d.ts.map +1 -1
  47. package/dist/formula/functions/__utils.d.ts.map +1 -1
  48. package/dist/formula/functions/abs.d.ts.map +1 -1
  49. package/dist/formula/functions/abs.spec.d.ts.map +1 -1
  50. package/dist/formula/functions/acos.d.ts.map +1 -1
  51. package/dist/formula/functions/add.d.ts.map +1 -1
  52. package/dist/formula/functions/and.d.ts.map +1 -1
  53. package/dist/formula/functions/asin.d.ts.map +1 -1
  54. package/dist/formula/functions/atan.d.ts.map +1 -1
  55. package/dist/formula/functions/atan2.d.ts.map +1 -1
  56. package/dist/formula/functions/average.d.ts.map +1 -1
  57. package/dist/formula/functions/col.d.ts.map +1 -1
  58. package/dist/formula/functions/concat.d.ts.map +1 -1
  59. package/dist/formula/functions/concatenate.d.ts.map +1 -1
  60. package/dist/formula/functions/cos.d.ts.map +1 -1
  61. package/dist/formula/functions/count.d.ts.map +1 -1
  62. package/dist/formula/functions/counta.d.ts.map +1 -1
  63. package/dist/formula/functions/countif.d.ts.map +1 -1
  64. package/dist/formula/functions/countif.spec.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/eq.spec.d.ts.map +1 -1
  68. package/dist/formula/functions/exp.d.ts.map +1 -1
  69. package/dist/formula/functions/gt.d.ts.map +1 -1
  70. package/dist/formula/functions/gte.d.ts.map +1 -1
  71. package/dist/formula/functions/hlookup.d.ts.map +1 -1
  72. package/dist/formula/functions/if.d.ts.map +1 -1
  73. package/dist/formula/functions/iferror.d.ts.map +1 -1
  74. package/dist/formula/functions/iferror.spec.d.ts.map +1 -1
  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/max.d.ts.map +1 -1
  83. package/dist/formula/functions/min.d.ts.map +1 -1
  84. package/dist/formula/functions/minus.d.ts.map +1 -1
  85. package/dist/formula/functions/mod.d.ts.map +1 -1
  86. package/dist/formula/functions/mod.spec.d.ts.map +1 -1
  87. package/dist/formula/functions/multiply.d.ts.map +1 -1
  88. package/dist/formula/functions/ne.d.ts.map +1 -1
  89. package/dist/formula/functions/not.d.ts.map +1 -1
  90. package/dist/formula/functions/now.d.ts.map +1 -1
  91. package/dist/formula/functions/or.d.ts.map +1 -1
  92. package/dist/formula/functions/pi.d.ts.map +1 -1
  93. package/dist/formula/functions/power.d.ts.map +1 -1
  94. package/dist/formula/functions/product.d.ts.map +1 -1
  95. package/dist/formula/functions/radians.d.ts.map +1 -1
  96. package/dist/formula/functions/rand.d.ts.map +1 -1
  97. package/dist/formula/functions/round.d.ts.map +1 -1
  98. package/dist/formula/functions/rounddown.d.ts.map +1 -1
  99. package/dist/formula/functions/roundup.d.ts.map +1 -1
  100. package/dist/formula/functions/row.d.ts.map +1 -1
  101. package/dist/formula/functions/sin.d.ts.map +1 -1
  102. package/dist/formula/functions/sqrt.d.ts.map +1 -1
  103. package/dist/formula/functions/sum.d.ts.map +1 -1
  104. package/dist/formula/functions/sum.spec.d.ts.map +1 -1
  105. package/dist/formula/functions/sumif.d.ts.map +1 -1
  106. package/dist/formula/functions/tan.d.ts.map +1 -1
  107. package/dist/formula/functions/uminus.d.ts.map +1 -1
  108. package/dist/formula/functions/vlookup.d.ts.map +1 -1
  109. package/dist/formula/mapping.d.ts +1 -1
  110. package/dist/formula/mapping.d.ts.map +1 -1
  111. package/dist/formula/solver.d.ts +3 -3
  112. package/dist/formula/solver.d.ts.map +1 -1
  113. package/dist/index.d.ts +6 -2
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +6823 -58
  116. package/dist/lib/autofill.d.ts +3 -3
  117. package/dist/lib/autofill.d.ts.map +1 -1
  118. package/dist/lib/clipboard.d.ts +1 -1
  119. package/dist/lib/clipboard.d.ts.map +1 -1
  120. package/dist/lib/converters.d.ts +1 -1
  121. package/dist/lib/converters.d.ts.map +1 -1
  122. package/dist/lib/input.d.ts.map +1 -1
  123. package/dist/lib/palette.d.ts.map +1 -1
  124. package/dist/lib/prevention.d.ts.map +1 -1
  125. package/dist/lib/structs.d.ts +21 -21
  126. package/dist/lib/structs.d.ts.map +1 -1
  127. package/dist/lib/table.d.ts +8 -8
  128. package/dist/lib/table.d.ts.map +1 -1
  129. package/dist/lib/time.d.ts +1 -1
  130. package/dist/lib/time.d.ts.map +1 -1
  131. package/dist/lib/virtualization.d.ts +1 -1
  132. package/dist/lib/virtualization.d.ts.map +1 -1
  133. package/dist/parsers/core.d.ts +4 -4
  134. package/dist/parsers/core.d.ts.map +1 -1
  135. package/dist/renderers/checkbox.d.ts.map +1 -1
  136. package/dist/renderers/core.d.ts +4 -4
  137. package/dist/renderers/core.d.ts.map +1 -1
  138. package/dist/renderers/thousand_separator.d.ts.map +1 -1
  139. package/dist/store/actions.d.ts +7 -4
  140. package/dist/store/actions.d.ts.map +1 -1
  141. package/dist/store/helpers.d.ts.map +1 -1
  142. package/dist/store/index.d.ts +2 -2
  143. package/dist/store/index.d.ts.map +1 -1
  144. package/dist/styles/embedder.d.ts.map +1 -1
  145. package/dist/styles/minified.d.ts +2 -2
  146. package/dist/styles/minified.d.ts.map +1 -1
  147. package/dist/types.d.ts +51 -49
  148. package/dist/types.d.ts.map +1 -1
  149. package/dist/utils.d.ts.map +1 -1
  150. package/package.json +19 -43
  151. package/LICENSE +0 -190
  152. package/README.md +0 -26
  153. package/dist/components/Cell.js +0 -188
  154. package/dist/components/Cell.js.map +0 -1
  155. package/dist/components/ContextMenu.js +0 -246
  156. package/dist/components/ContextMenu.js.map +0 -1
  157. package/dist/components/Editor.js +0 -436
  158. package/dist/components/Editor.js.map +0 -1
  159. package/dist/components/Emitter.js +0 -33
  160. package/dist/components/Emitter.js.map +0 -1
  161. package/dist/components/Fixed.js +0 -30
  162. package/dist/components/Fixed.js.map +0 -1
  163. package/dist/components/FormulaBar.js +0 -152
  164. package/dist/components/FormulaBar.js.map +0 -1
  165. package/dist/components/GridSheet.js +0 -208
  166. package/dist/components/GridSheet.js.map +0 -1
  167. package/dist/components/HeaderCellLeft.js +0 -121
  168. package/dist/components/HeaderCellLeft.js.map +0 -1
  169. package/dist/components/HeaderCellTop.js +0 -122
  170. package/dist/components/HeaderCellTop.js.map +0 -1
  171. package/dist/components/PluginBase.js +0 -41
  172. package/dist/components/PluginBase.js.map +0 -1
  173. package/dist/components/Resizer.js +0 -91
  174. package/dist/components/Resizer.js.map +0 -1
  175. package/dist/components/SearchBar.js +0 -73
  176. package/dist/components/SearchBar.js.map +0 -1
  177. package/dist/components/SheetProvider.js +0 -60
  178. package/dist/components/SheetProvider.js.map +0 -1
  179. package/dist/components/StoreInitializer.js +0 -73
  180. package/dist/components/StoreInitializer.js.map +0 -1
  181. package/dist/components/Tabular.js +0 -249
  182. package/dist/components/Tabular.js.map +0 -1
  183. package/dist/components/hooks.js +0 -20
  184. package/dist/components/hooks.js.map +0 -1
  185. package/dist/components/svg/Base.js +0 -13
  186. package/dist/components/svg/Base.js.map +0 -1
  187. package/dist/components/svg/CloseIcon.js +0 -17
  188. package/dist/components/svg/CloseIcon.js.map +0 -1
  189. package/dist/components/svg/SearchIcon.js +0 -17
  190. package/dist/components/svg/SearchIcon.js.map +0 -1
  191. package/dist/constants.js +0 -29
  192. package/dist/constants.js.map +0 -1
  193. package/dist/formula/evaluator.js +0 -726
  194. package/dist/formula/evaluator.js.map +0 -1
  195. package/dist/formula/functions/__base.js +0 -22
  196. package/dist/formula/functions/__base.js.map +0 -1
  197. package/dist/formula/functions/__utils.js +0 -162
  198. package/dist/formula/functions/__utils.js.map +0 -1
  199. package/dist/formula/functions/abs.js +0 -25
  200. package/dist/formula/functions/abs.js.map +0 -1
  201. package/dist/formula/functions/abs.spec.js +0 -30
  202. package/dist/formula/functions/abs.spec.js.map +0 -1
  203. package/dist/formula/functions/acos.js +0 -33
  204. package/dist/formula/functions/acos.js.map +0 -1
  205. package/dist/formula/functions/add.js +0 -65
  206. package/dist/formula/functions/add.js.map +0 -1
  207. package/dist/formula/functions/and.js +0 -29
  208. package/dist/formula/functions/and.js.map +0 -1
  209. package/dist/formula/functions/asin.js +0 -33
  210. package/dist/formula/functions/asin.js.map +0 -1
  211. package/dist/formula/functions/atan.js +0 -30
  212. package/dist/formula/functions/atan.js.map +0 -1
  213. package/dist/formula/functions/atan2.js +0 -36
  214. package/dist/formula/functions/atan2.js.map +0 -1
  215. package/dist/formula/functions/average.js +0 -47
  216. package/dist/formula/functions/average.js.map +0 -1
  217. package/dist/formula/functions/col.js +0 -35
  218. package/dist/formula/functions/col.js.map +0 -1
  219. package/dist/formula/functions/concat.js +0 -28
  220. package/dist/formula/functions/concat.js.map +0 -1
  221. package/dist/formula/functions/concatenate.js +0 -29
  222. package/dist/formula/functions/concatenate.js.map +0 -1
  223. package/dist/formula/functions/cos.js +0 -30
  224. package/dist/formula/functions/cos.js.map +0 -1
  225. package/dist/formula/functions/count.js +0 -40
  226. package/dist/formula/functions/count.js.map +0 -1
  227. package/dist/formula/functions/counta.js +0 -40
  228. package/dist/formula/functions/counta.js.map +0 -1
  229. package/dist/formula/functions/countif.js +0 -33
  230. package/dist/formula/functions/countif.js.map +0 -1
  231. package/dist/formula/functions/countif.spec.js +0 -185
  232. package/dist/formula/functions/countif.spec.js.map +0 -1
  233. package/dist/formula/functions/divide.js +0 -34
  234. package/dist/formula/functions/divide.js.map +0 -1
  235. package/dist/formula/functions/eq.js +0 -30
  236. package/dist/formula/functions/eq.js.map +0 -1
  237. package/dist/formula/functions/eq.spec.js +0 -92
  238. package/dist/formula/functions/eq.spec.js.map +0 -1
  239. package/dist/formula/functions/exp.js +0 -30
  240. package/dist/formula/functions/exp.js.map +0 -1
  241. package/dist/formula/functions/gt.js +0 -30
  242. package/dist/formula/functions/gt.js.map +0 -1
  243. package/dist/formula/functions/gte.js +0 -30
  244. package/dist/formula/functions/gte.js.map +0 -1
  245. package/dist/formula/functions/hlookup.js +0 -78
  246. package/dist/formula/functions/hlookup.js.map +0 -1
  247. package/dist/formula/functions/if.js +0 -40
  248. package/dist/formula/functions/if.js.map +0 -1
  249. package/dist/formula/functions/iferror.js +0 -45
  250. package/dist/formula/functions/iferror.js.map +0 -1
  251. package/dist/formula/functions/iferror.spec.js +0 -62
  252. package/dist/formula/functions/iferror.spec.js.map +0 -1
  253. package/dist/formula/functions/len.js +0 -30
  254. package/dist/formula/functions/len.js.map +0 -1
  255. package/dist/formula/functions/lenb.js +0 -30
  256. package/dist/formula/functions/lenb.js.map +0 -1
  257. package/dist/formula/functions/ln.js +0 -33
  258. package/dist/formula/functions/ln.js.map +0 -1
  259. package/dist/formula/functions/log.js +0 -37
  260. package/dist/formula/functions/log.js.map +0 -1
  261. package/dist/formula/functions/log10.js +0 -33
  262. package/dist/formula/functions/log10.js.map +0 -1
  263. package/dist/formula/functions/lt.js +0 -30
  264. package/dist/formula/functions/lt.js.map +0 -1
  265. package/dist/formula/functions/lte.js +0 -30
  266. package/dist/formula/functions/lte.js.map +0 -1
  267. package/dist/formula/functions/max.js +0 -50
  268. package/dist/formula/functions/max.js.map +0 -1
  269. package/dist/formula/functions/min.js +0 -50
  270. package/dist/formula/functions/min.js.map +0 -1
  271. package/dist/formula/functions/minus.js +0 -63
  272. package/dist/formula/functions/minus.js.map +0 -1
  273. package/dist/formula/functions/mod.js +0 -35
  274. package/dist/formula/functions/mod.js.map +0 -1
  275. package/dist/formula/functions/mod.spec.js +0 -67
  276. package/dist/formula/functions/mod.spec.js.map +0 -1
  277. package/dist/formula/functions/multiply.js +0 -28
  278. package/dist/formula/functions/multiply.js.map +0 -1
  279. package/dist/formula/functions/ne.js +0 -30
  280. package/dist/formula/functions/ne.js.map +0 -1
  281. package/dist/formula/functions/not.js +0 -31
  282. package/dist/formula/functions/not.js.map +0 -1
  283. package/dist/formula/functions/now.js +0 -23
  284. package/dist/formula/functions/now.js.map +0 -1
  285. package/dist/formula/functions/or.js +0 -29
  286. package/dist/formula/functions/or.js.map +0 -1
  287. package/dist/formula/functions/pi.js +0 -23
  288. package/dist/formula/functions/pi.js.map +0 -1
  289. package/dist/formula/functions/power.js +0 -28
  290. package/dist/formula/functions/power.js.map +0 -1
  291. package/dist/formula/functions/product.js +0 -43
  292. package/dist/formula/functions/product.js.map +0 -1
  293. package/dist/formula/functions/radians.js +0 -30
  294. package/dist/formula/functions/radians.js.map +0 -1
  295. package/dist/formula/functions/rand.js +0 -23
  296. package/dist/formula/functions/rand.js.map +0 -1
  297. package/dist/formula/functions/round.js +0 -36
  298. package/dist/formula/functions/round.js.map +0 -1
  299. package/dist/formula/functions/rounddown.js +0 -36
  300. package/dist/formula/functions/rounddown.js.map +0 -1
  301. package/dist/formula/functions/roundup.js +0 -36
  302. package/dist/formula/functions/roundup.js.map +0 -1
  303. package/dist/formula/functions/row.js +0 -35
  304. package/dist/formula/functions/row.js.map +0 -1
  305. package/dist/formula/functions/sin.js +0 -30
  306. package/dist/formula/functions/sin.js.map +0 -1
  307. package/dist/formula/functions/sqrt.js +0 -33
  308. package/dist/formula/functions/sqrt.js.map +0 -1
  309. package/dist/formula/functions/sum.js +0 -50
  310. package/dist/formula/functions/sum.js.map +0 -1
  311. package/dist/formula/functions/sum.spec.js +0 -39
  312. package/dist/formula/functions/sum.spec.js.map +0 -1
  313. package/dist/formula/functions/sumif.js +0 -64
  314. package/dist/formula/functions/sumif.js.map +0 -1
  315. package/dist/formula/functions/tan.js +0 -30
  316. package/dist/formula/functions/tan.js.map +0 -1
  317. package/dist/formula/functions/uminus.js +0 -25
  318. package/dist/formula/functions/uminus.js.map +0 -1
  319. package/dist/formula/functions/vlookup.js +0 -78
  320. package/dist/formula/functions/vlookup.js.map +0 -1
  321. package/dist/formula/mapping.js +0 -118
  322. package/dist/formula/mapping.js.map +0 -1
  323. package/dist/formula/solver.js +0 -75
  324. package/dist/formula/solver.js.map +0 -1
  325. package/dist/index.js.map +0 -1
  326. package/dist/lib/autofill.js +0 -406
  327. package/dist/lib/autofill.js.map +0 -1
  328. package/dist/lib/clipboard.js +0 -50
  329. package/dist/lib/clipboard.js.map +0 -1
  330. package/dist/lib/converters.js +0 -145
  331. package/dist/lib/converters.js.map +0 -1
  332. package/dist/lib/input.js +0 -60
  333. package/dist/lib/input.js.map +0 -1
  334. package/dist/lib/palette.js +0 -24
  335. package/dist/lib/palette.js.map +0 -1
  336. package/dist/lib/prevention.js +0 -64
  337. package/dist/lib/prevention.js.map +0 -1
  338. package/dist/lib/structs.js +0 -308
  339. package/dist/lib/structs.js.map +0 -1
  340. package/dist/lib/table.js +0 -1160
  341. package/dist/lib/table.js.map +0 -1
  342. package/dist/lib/time.js +0 -78
  343. package/dist/lib/time.js.map +0 -1
  344. package/dist/lib/virtualization.js +0 -149
  345. package/dist/lib/virtualization.js.map +0 -1
  346. package/dist/parsers/core.js +0 -147
  347. package/dist/parsers/core.js.map +0 -1
  348. package/dist/renderers/checkbox.js +0 -16
  349. package/dist/renderers/checkbox.js.map +0 -1
  350. package/dist/renderers/core.js +0 -161
  351. package/dist/renderers/core.js.map +0 -1
  352. package/dist/renderers/thousand_separator.js +0 -17
  353. package/dist/renderers/thousand_separator.js.map +0 -1
  354. package/dist/store/actions.js +0 -603
  355. package/dist/store/actions.js.map +0 -1
  356. package/dist/store/helpers.js +0 -89
  357. package/dist/store/helpers.js.map +0 -1
  358. package/dist/store/index.js +0 -29
  359. package/dist/store/index.js.map +0 -1
  360. package/dist/styles/embedder.js +0 -20
  361. package/dist/styles/embedder.js.map +0 -1
  362. package/dist/styles/minified.js +0 -7
  363. package/dist/styles/minified.js.map +0 -1
  364. package/dist/types.js +0 -3
  365. package/dist/types.js.map +0 -1
  366. package/dist/utils.js +0 -12
  367. package/dist/utils.js.map +0 -1
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.functions = void 0;
4
- const add_1 = require("./functions/add");
5
- const minus_1 = require("./functions/minus");
6
- const multiply_1 = require("./functions/multiply");
7
- const divide_1 = require("./functions/divide");
8
- const mod_1 = require("./functions/mod");
9
- const sum_1 = require("./functions/sum");
10
- const concat_1 = require("./functions/concat");
11
- const concatenate_1 = require("./functions/concatenate");
12
- const eq_1 = require("./functions/eq");
13
- const ne_1 = require("./functions/ne");
14
- const gt_1 = require("./functions/gt");
15
- const gte_1 = require("./functions/gte");
16
- const lt_1 = require("./functions/lt");
17
- const lte_1 = require("./functions/lte");
18
- const now_1 = require("./functions/now");
19
- const and_1 = require("./functions/and");
20
- const or_1 = require("./functions/or");
21
- const if_1 = require("./functions/if");
22
- const iferror_1 = require("./functions/iferror");
23
- const not_1 = require("./functions/not");
24
- const count_1 = require("./functions/count");
25
- const countif_1 = require("./functions/countif");
26
- const sumif_1 = require("./functions/sumif");
27
- const vlookup_1 = require("./functions/vlookup");
28
- const hlookup_1 = require("./functions/hlookup");
29
- const log_1 = require("./functions/log");
30
- const log10_1 = require("./functions/log10");
31
- const ln_1 = require("./functions/ln");
32
- const abs_1 = require("./functions/abs");
33
- const product_1 = require("./functions/product");
34
- const rand_1 = require("./functions/rand");
35
- const pi_1 = require("./functions/pi");
36
- const exp_1 = require("./functions/exp");
37
- const radians_1 = require("./functions/radians");
38
- const power_1 = require("./functions/power");
39
- const sqrt_1 = require("./functions/sqrt");
40
- const round_1 = require("./functions/round");
41
- const roundup_1 = require("./functions/roundup");
42
- const rounddown_1 = require("./functions/rounddown");
43
- const sin_1 = require("./functions/sin");
44
- const cos_1 = require("./functions/cos");
45
- const tan_1 = require("./functions/tan");
46
- const asin_1 = require("./functions/asin");
47
- const acos_1 = require("./functions/acos");
48
- const atan_1 = require("./functions/atan");
49
- const atan2_1 = require("./functions/atan2");
50
- const counta_1 = require("./functions/counta");
51
- const average_1 = require("./functions/average");
52
- const max_1 = require("./functions/max");
53
- const min_1 = require("./functions/min");
54
- const len_1 = require("./functions/len");
55
- const lenb_1 = require("./functions/lenb");
56
- const uminus_1 = require("./functions/uminus");
57
- const row_1 = require("./functions/row");
58
- const col_1 = require("./functions/col");
59
- exports.functions = {
60
- abs: abs_1.AbsFunction,
61
- add: add_1.AddFunction,
62
- divide: divide_1.DivideFunction,
63
- mod: mod_1.ModFunction,
64
- minus: minus_1.MinusFunction,
65
- uminus: uminus_1.UminusFunction,
66
- multiply: multiply_1.MultiplyFunction,
67
- pow: power_1.PowerFunction,
68
- power: power_1.PowerFunction,
69
- sqrt: sqrt_1.SqrtFunction,
70
- sum: sum_1.SumFunction,
71
- sumif: sumif_1.SumifFunction,
72
- max: max_1.MaxFunction,
73
- min: min_1.MinFunction,
74
- average: average_1.AverageFunction,
75
- count: count_1.CountFunction,
76
- counta: counta_1.CountaFunction,
77
- countif: countif_1.CountifFunction,
78
- product: product_1.ProductFunction,
79
- concat: concat_1.ConcatFunction,
80
- concatenate: concatenate_1.ConcatenateFunction,
81
- eq: eq_1.EqFunction,
82
- ne: ne_1.NeFunction,
83
- gt: gt_1.GtFunction,
84
- gte: gte_1.GteFunction,
85
- lt: lt_1.LtFunction,
86
- lte: lte_1.LteFunction,
87
- and: and_1.AndFunction,
88
- or: or_1.OrFunction,
89
- round: round_1.RoundFunction,
90
- rounddown: rounddown_1.RounddownFunction,
91
- roundup: roundup_1.RoundupFunction,
92
- if: if_1.IfFunction,
93
- // @ts-expect-error iferror does not extends BaseFunction
94
- iferror: iferror_1.IfErrorFunction,
95
- not: not_1.NotFunction,
96
- vlookup: vlookup_1.VlookupFunction,
97
- hlookup: hlookup_1.HlookupFunction,
98
- row: row_1.RowFunction,
99
- col: col_1.ColFunction,
100
- now: now_1.NowFunction,
101
- rand: rand_1.RandFunction,
102
- log: log_1.LogFunction,
103
- log10: log10_1.Log10Function,
104
- ln: ln_1.LnFunction,
105
- exp: exp_1.ExpFunction,
106
- pi: pi_1.PiFunction,
107
- radians: radians_1.RadiansFunction,
108
- sin: sin_1.SinFunction,
109
- cos: cos_1.CosFunction,
110
- tan: tan_1.TanFunction,
111
- asin: asin_1.AsinFunction,
112
- acos: acos_1.AcosFunction,
113
- atan: atan_1.AtanFunction,
114
- atan2: atan2_1.Atan2Function,
115
- len: len_1.LenFunction,
116
- lenb: lenb_1.LenbFunction,
117
- };
118
- //# sourceMappingURL=mapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/formula/mapping.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAC9C,6CAAkD;AAClD,mDAAwD;AACxD,+CAAoD;AACpD,yCAA8C;AAC9C,yCAA8C;AAC9C,+CAAoD;AACpD,yDAA8D;AAC9D,uCAA4C;AAC5C,uCAA4C;AAC5C,uCAA4C;AAC5C,yCAA8C;AAC9C,uCAA4C;AAC5C,yCAA8C;AAC9C,yCAA8C;AAC9C,yCAA8C;AAC9C,uCAA4C;AAC5C,uCAA4C;AAC5C,iDAAsD;AACtD,yCAA8C;AAC9C,6CAAkD;AAClD,iDAAsD;AACtD,6CAAkD;AAClD,iDAAsD;AACtD,iDAAsD;AACtD,yCAA8C;AAC9C,6CAAkD;AAClD,uCAA4C;AAC5C,yCAA8C;AAC9C,iDAAsD;AACtD,2CAAgD;AAChD,uCAA4C;AAC5C,yCAA8C;AAC9C,iDAAsD;AACtD,6CAAkD;AAClD,2CAAgD;AAChD,6CAAkD;AAClD,iDAAsD;AACtD,qDAA0D;AAC1D,yCAA8C;AAC9C,yCAA8C;AAC9C,yCAA8C;AAC9C,2CAAgD;AAChD,2CAAgD;AAChD,2CAAgD;AAChD,6CAAkD;AAClD,+CAAoD;AACpD,iDAAsD;AACtD,yCAA8C;AAC9C,yCAA8C;AAC9C,yCAA8C;AAC9C,2CAAgD;AAChD,+CAAoD;AACpD,yCAA8C;AAC9C,yCAA8C;AAGjC,QAAA,SAAS,GAAoB;IACxC,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,MAAM,EAAE,uBAAc;IACtB,GAAG,EAAE,iBAAW;IAChB,KAAK,EAAE,qBAAa;IACpB,MAAM,EAAE,uBAAc;IACtB,QAAQ,EAAE,2BAAgB;IAC1B,GAAG,EAAE,qBAAa;IAClB,KAAK,EAAE,qBAAa;IACpB,IAAI,EAAE,mBAAY;IAClB,GAAG,EAAE,iBAAW;IAChB,KAAK,EAAE,qBAAa;IACpB,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,OAAO,EAAE,yBAAe;IACxB,KAAK,EAAE,qBAAa;IACpB,MAAM,EAAE,uBAAc;IACtB,OAAO,EAAE,yBAAe;IACxB,OAAO,EAAE,yBAAe;IACxB,MAAM,EAAE,uBAAc;IACtB,WAAW,EAAE,iCAAmB;IAChC,EAAE,EAAE,eAAU;IACd,EAAE,EAAE,eAAU;IACd,EAAE,EAAE,eAAU;IACd,GAAG,EAAE,iBAAW;IAChB,EAAE,EAAE,eAAU;IACd,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,EAAE,EAAE,eAAU;IACd,KAAK,EAAE,qBAAa;IACpB,SAAS,EAAE,6BAAiB;IAC5B,OAAO,EAAE,yBAAe;IACxB,EAAE,EAAE,eAAU;IACd,yDAAyD;IACzD,OAAO,EAAE,yBAAe;IACxB,GAAG,EAAE,iBAAW;IAChB,OAAO,EAAE,yBAAe;IACxB,OAAO,EAAE,yBAAe;IACxB,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,IAAI,EAAE,mBAAY;IAClB,GAAG,EAAE,iBAAW;IAChB,KAAK,EAAE,qBAAa;IACpB,EAAE,EAAE,eAAU;IACd,GAAG,EAAE,iBAAW;IAChB,EAAE,EAAE,eAAU;IACd,OAAO,EAAE,yBAAe;IACxB,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,GAAG,EAAE,iBAAW;IAChB,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,mBAAY;IAClB,IAAI,EAAE,mBAAY;IAClB,KAAK,EAAE,qBAAa;IACpB,GAAG,EAAE,iBAAW;IAChB,IAAI,EAAE,mBAAY;CACnB,CAAC"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.solveTable = exports.solveFormula = void 0;
4
- const constants_1 = require("../constants");
5
- const table_1 = require("../lib/table");
6
- const evaluator_1 = require("./evaluator");
7
- const converters_1 = require("../lib/converters");
8
- const SOLVING = new constants_1.Special('solving');
9
- const solveFormula = ({ value, table, raise = true, evaluates = true }) => {
10
- var _a;
11
- if (evaluates === null) {
12
- return value;
13
- }
14
- let solved = value;
15
- if (typeof value === 'string') {
16
- if (value.charAt(0) === '=') {
17
- try {
18
- const lexer = new evaluator_1.Lexer(value.substring(1));
19
- lexer.tokenize();
20
- const parser = new evaluator_1.Parser(lexer.tokens);
21
- if (evaluates === false) {
22
- return '=' + lexer.stringifyToRef(table);
23
- }
24
- const expr = parser.build();
25
- solved = (_a = expr === null || expr === void 0 ? void 0 : expr.evaluate) === null || _a === void 0 ? void 0 : _a.call(expr, { table });
26
- }
27
- catch (e) {
28
- if (raise) {
29
- throw e;
30
- }
31
- return null;
32
- }
33
- }
34
- }
35
- if (solved instanceof table_1.Table) {
36
- solved = (0, exports.solveTable)({ table: solved, raise })[0][0];
37
- }
38
- return solved;
39
- };
40
- exports.solveFormula = solveFormula;
41
- const solveTable = ({ table, raise = true }) => {
42
- const area = table.getArea();
43
- return table.getMatrixFlatten({ area, evaluates: null }).map((row, i) => {
44
- const y = area.top + i;
45
- return row.map((value, j) => {
46
- const x = area.left + j;
47
- const address = (0, converters_1.p2a)({ y, x });
48
- const cache = table.getSolvedCache(address);
49
- try {
50
- if (cache === SOLVING) {
51
- throw new evaluator_1.FormulaError('#REF!', 'References are circulating.', new Error(value));
52
- }
53
- else if (cache instanceof evaluator_1.FormulaError) {
54
- throw cache;
55
- }
56
- else if (cache != null) {
57
- return cache;
58
- }
59
- table.setSolvedCache(address, SOLVING);
60
- const solved = (0, exports.solveFormula)({ value, table, raise });
61
- table.setSolvedCache(address, solved);
62
- return solved;
63
- }
64
- catch (e) {
65
- table.setSolvedCache(address, e);
66
- if (raise) {
67
- throw e;
68
- }
69
- return null;
70
- }
71
- });
72
- });
73
- };
74
- exports.solveTable = solveTable;
75
- //# sourceMappingURL=solver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/formula/solver.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAmD;AAA1C,sGAAA,SAAS,OAAA;AAClB,gDAAsD;AAA7C,yGAAA,cAAc,OAAA;AACvB,yCAA4C;AAAnC,gGAAA,QAAQ,OAAA;AAEjB,uCAAwC;AAA/B,8FAAA,MAAM,OAAA;AAEf,yCAAiG;AAAxF,gGAAA,KAAK,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,gHAAA,qBAAqB,OAAA;AAAE,sHAAA,2BAA2B,OAAA;AACzE,+CAAgE;AAAvD,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAAE,iGAAA,GAAG,OAAA;AAWrC,qEAAgF;AAAvE,oIAAA,8BAA8B,OAAA;AACvC,iDAA6D;AAApD,iHAAA,qBAAqB,OAAA;AAC9B,qDAA0D;AAAjD,sGAAA,YAAY,OAAA;AACrB,qCAAoC;AAA3B,8FAAA,KAAK,OAAA;AACd,+DAA+C;AAC/C,4DAA2D;AAAlD,8GAAA,aAAa,OAAA"}
@@ -1,406 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Autofill = void 0;
7
- const dayjs_1 = __importDefault(require("dayjs"));
8
- const structs_1 = require("./structs");
9
- const converters_1 = require("./converters");
10
- const evaluator_1 = require("../formula/evaluator");
11
- const time_1 = require("./time");
12
- const BORDER_AUTOFILL_DRAGGING = 'dashed 1px #888888';
13
- const DirectionMapping = {
14
- left: ['horizontal', -1],
15
- right: ['horizontal', 1],
16
- up: ['vertical', -1],
17
- down: ['vertical', 1],
18
- };
19
- class Autofill {
20
- constructor(store, draggingTo) {
21
- const { table, choosing, selectingZone } = store;
22
- this.src = (0, structs_1.complementSelectingArea)((0, structs_1.zoneToArea)(selectingZone), choosing);
23
- this.direction = this.suggestDirection(draggingTo);
24
- this.dst = this.getDestinationArea(draggingTo);
25
- this.table = table;
26
- }
27
- get applied() {
28
- var _a, _b;
29
- const [orientation, sign] = DirectionMapping[this.direction];
30
- const matrix = this.table.getMatrix({ area: this.src, evaluates: null });
31
- const srcShape = (0, structs_1.areaShape)(Object.assign(Object.assign({}, this.src), { base: 1 }));
32
- const dstShape = (0, structs_1.areaShape)(Object.assign(Object.assign({}, this.dst), { base: 1 }));
33
- const diff = {};
34
- if (orientation === 'horizontal') {
35
- for (let i = 0; i < dstShape.height; i++) {
36
- const patterns = this.getChangePatterns(matrix[i]);
37
- for (let j = 0; j < dstShape.width; j++) {
38
- const baseCell = (_a = matrix[i % srcShape.height]) === null || _a === void 0 ? void 0 : _a[j % srcShape.width];
39
- const x = sign > 0 ? this.dst.left + j : this.dst.right - j;
40
- const px = sign > 0 ? j % srcShape.width : (srcShape.width - 1 - (j % srcShape.width)) % srcShape.width;
41
- diff[(0, converters_1.p2a)({ y: this.dst.top + i, x })] = Object.assign(Object.assign({}, baseCell), { value: patterns[px].next().value });
42
- }
43
- }
44
- }
45
- else {
46
- for (let i = 0; i < dstShape.width; i++) {
47
- const patterns = this.getChangePatterns(matrix.map((row) => row[i]));
48
- for (let j = 0; j < dstShape.height; j++) {
49
- const baseCell = (_b = matrix[j % srcShape.height]) === null || _b === void 0 ? void 0 : _b[i % srcShape.width];
50
- const y = sign > 0 ? this.dst.top + j : this.dst.bottom - j;
51
- const py = sign > 0 ? j % srcShape.height : (srcShape.height - 1 - (j % srcShape.height)) % srcShape.height;
52
- const value = patterns[py].next().value;
53
- diff[(0, converters_1.p2a)({ y, x: this.dst.left + i })] = Object.assign(Object.assign({}, baseCell), { value });
54
- }
55
- }
56
- }
57
- const table = this.table.update({
58
- diff,
59
- operator: 'USER',
60
- reflection: {
61
- selectingZone: (0, structs_1.areaToZone)(this.src),
62
- },
63
- });
64
- return table;
65
- }
66
- get wholeArea() {
67
- return (0, structs_1.concatAreas)(this.src, this.dst);
68
- }
69
- getCellStyle(target) {
70
- const { x, y } = target;
71
- const style = {};
72
- const { top, left, bottom, right } = this.src;
73
- switch (this.direction) {
74
- case 'left': {
75
- if (this.dst.left <= x && x <= this.dst.right) {
76
- if (top === y) {
77
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
78
- }
79
- if (bottom === y - 1) {
80
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
81
- }
82
- }
83
- if (this.dst.left === x && top <= y && y <= bottom) {
84
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
85
- }
86
- break;
87
- }
88
- case 'right': {
89
- if (this.dst.left <= x && x <= this.dst.right) {
90
- if (top === y) {
91
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
92
- }
93
- if (bottom === y - 1) {
94
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
95
- }
96
- }
97
- if (this.dst.right === x - 1 && top <= y && y <= bottom) {
98
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
99
- }
100
- break;
101
- }
102
- case 'up': {
103
- if (this.dst.top <= y && y <= this.dst.bottom) {
104
- if (left === x) {
105
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
106
- }
107
- if (right === x - 1) {
108
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
109
- }
110
- }
111
- if (this.dst.top === y && left <= x && x <= right) {
112
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
113
- }
114
- break;
115
- }
116
- case 'down': {
117
- if (this.dst.top <= y && y <= this.dst.bottom) {
118
- if (left === x) {
119
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
120
- }
121
- if (right === x - 1) {
122
- style.borderLeft = BORDER_AUTOFILL_DRAGGING;
123
- }
124
- }
125
- if (this.dst.bottom === y - 1 && left <= x && x <= right) {
126
- style.borderTop = BORDER_AUTOFILL_DRAGGING;
127
- }
128
- break;
129
- }
130
- }
131
- return style;
132
- }
133
- getDestinationArea(autofillDraggingTo) {
134
- const { x, y } = autofillDraggingTo;
135
- const { top, left, bottom, right } = this.src;
136
- switch (this.direction) {
137
- case 'left':
138
- return { top, bottom, left: x, right: left - 1 };
139
- case 'right':
140
- return { top, bottom, left: right + 1, right: x };
141
- case 'up':
142
- return { left, right, top: y, bottom: top - 1 };
143
- case 'down':
144
- return { left, right, top: bottom + 1, bottom: y };
145
- }
146
- return this.src;
147
- }
148
- suggestDirection(draggingTo) {
149
- const { top, left, bottom, right } = this.src;
150
- let horizontal = 0, vertical = 0;
151
- if (draggingTo.x < left) {
152
- horizontal = draggingTo.x - left;
153
- }
154
- else if (draggingTo.x > right) {
155
- horizontal = draggingTo.x - right;
156
- }
157
- if (draggingTo.y < top) {
158
- vertical = draggingTo.y - top;
159
- }
160
- else if (draggingTo.y > bottom) {
161
- vertical = draggingTo.y - bottom;
162
- }
163
- // diagonal
164
- if (Math.abs(horizontal) > 0 && Math.abs(vertical) > 0) {
165
- if (Math.abs(horizontal) > Math.abs(vertical)) {
166
- return horizontal < 0 ? 'left' : 'right';
167
- }
168
- return vertical < 0 ? 'up' : 'down';
169
- }
170
- if (horizontal !== 0) {
171
- return horizontal < 0 ? 'left' : 'right';
172
- }
173
- if (vertical !== 0) {
174
- return vertical < 0 ? 'up' : 'down';
175
- }
176
- return 'down';
177
- }
178
- getChangePatterns(cells) {
179
- const result = [];
180
- const groups = groupByType(cells);
181
- const [orientation, sign] = DirectionMapping[this.direction];
182
- groups.forEach((group) => {
183
- const lastValue = sign > 0 ? group.last : group.first;
184
- switch (group.kind) {
185
- case 'other': {
186
- result.push(pass(group.first));
187
- return;
188
- }
189
- case 'formula': {
190
- const value = group.first;
191
- const table = this.table;
192
- // eslint-disable-next-line no-inner-declarations
193
- function* generateFormula() {
194
- let slide = 0;
195
- const skip = cells.length * sign;
196
- while (true) {
197
- slide += skip;
198
- yield (0, evaluator_1.absolutizeFormula)({
199
- value,
200
- table,
201
- slideY: orientation === 'vertical' ? slide : 0,
202
- slideX: orientation === 'horizontal' ? slide : 0,
203
- });
204
- }
205
- }
206
- result.push(generateFormula());
207
- return;
208
- }
209
- case 'number': {
210
- if (!group.equidistant) {
211
- result.push(pass(group.first), ...group.nexts.map((v) => pass(v)));
212
- return;
213
- }
214
- // eslint-disable-next-line no-inner-declarations
215
- function* generateNumber() {
216
- let value = lastValue;
217
- const skip = group.numericDelta * sign;
218
- while (true) {
219
- value += skip;
220
- yield value;
221
- }
222
- }
223
- const g = generateNumber();
224
- result.push(g, ...group.nexts.map(() => g));
225
- return;
226
- }
227
- case 'date': {
228
- const next = (d) => {
229
- return sign > 0 ? group.timeDelta.add(d) : group.timeDelta.sub(d);
230
- };
231
- if (!group.equidistant) {
232
- result.push(pass(group.first), ...group.nexts.map((v) => pass(v)));
233
- return;
234
- }
235
- // eslint-disable-next-line no-inner-declarations
236
- function* generateDate() {
237
- let value = lastValue;
238
- while (true) {
239
- value = next(value);
240
- yield new Date(value);
241
- }
242
- }
243
- const g = generateDate();
244
- result.push(g, ...group.nexts.map(() => g));
245
- return;
246
- }
247
- case 'string+number': {
248
- if (!group.equidistant) {
249
- result.push(pass(group.first), ...group.nexts.map((v) => pass(v)));
250
- return;
251
- }
252
- // eslint-disable-next-line no-inner-declarations
253
- function* generateStringNumber() {
254
- const { prefix } = extractStringNumber(group.first);
255
- const { number: lastNumber } = extractStringNumber(lastValue);
256
- let value = lastNumber;
257
- const skip = group.numericDelta * sign;
258
- while (true) {
259
- value += skip;
260
- yield `${prefix}${Math.abs(value)}`;
261
- }
262
- }
263
- const g = generateStringNumber();
264
- result.push(g, ...group.nexts.map(() => g));
265
- return;
266
- }
267
- }
268
- });
269
- return result;
270
- }
271
- }
272
- exports.Autofill = Autofill;
273
- function* pass(value) {
274
- while (true) {
275
- yield value;
276
- }
277
- }
278
- const StringNumberPattern = new RegExp('(.+?)(\\d+)$');
279
- const extractStringNumber = (value) => {
280
- const match = value.match(StringNumberPattern);
281
- if (match) {
282
- const [, prefix, n] = match;
283
- return { prefix, number: Number(n) };
284
- }
285
- return { prefix: '', number: 0 };
286
- };
287
- class TypedGroup {
288
- constructor(value) {
289
- this.timeDelta = time_1.TimeDelta.create();
290
- this.numericDelta = 0;
291
- this.equidistant = true;
292
- this.first = value;
293
- this.nexts = [];
294
- this.kind = this.discriminate(value);
295
- }
296
- discriminate(value) {
297
- const kind = value instanceof Date ? 'date' : typeof value;
298
- if (kind === 'number' || kind === 'date') {
299
- return kind;
300
- }
301
- if (kind === 'string' && value[0] === '=') {
302
- return 'formula';
303
- // eslint-disable-next-line @typescript-eslint/no-unsafe-call
304
- }
305
- else if (kind === 'string' && value.match(StringNumberPattern)) {
306
- return 'string+number';
307
- }
308
- return 'other';
309
- }
310
- get last() {
311
- if (this.nexts.length === 0) {
312
- return this.first;
313
- }
314
- return this.nexts[this.nexts.length - 1];
315
- }
316
- add(value) {
317
- const kind = this.discriminate(value);
318
- if (this.kind !== kind || kind === 'other' || kind === 'formula') {
319
- return new TypedGroup(value);
320
- }
321
- if (this.nexts.length === 0) {
322
- switch (kind) {
323
- case 'date': {
324
- this.timeDelta = new time_1.TimeDelta(value, this.first);
325
- break;
326
- }
327
- case 'number': {
328
- this.numericDelta = value - this.first;
329
- break;
330
- }
331
- case 'string+number': {
332
- const { prefix: prefix1, number: number1 } = extractStringNumber(this.first);
333
- const { prefix: prefix2, number: number2 } = extractStringNumber(value);
334
- if (prefix1 === prefix2) {
335
- this.numericDelta = number2 - number1;
336
- }
337
- break;
338
- }
339
- }
340
- }
341
- this.nexts.push(value);
342
- }
343
- subdivide() {
344
- if (this.nexts.length === 0) {
345
- return [];
346
- }
347
- const news = [];
348
- // eslint-disable-next-line @typescript-eslint/no-this-alias
349
- let lastGroup = this;
350
- switch (this.kind) {
351
- case 'date': {
352
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
353
- const eq = this.nexts.every((v, i) => i === 0 || (0, dayjs_1.default)(v).isSame(this.timeDelta.add(this.nexts[i - 1])));
354
- this.equidistant = eq;
355
- return [];
356
- }
357
- case 'number': {
358
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
359
- const eq = this.nexts.every((v, i) => i === 0 || v === this.first + this.numericDelta * (i + 1));
360
- this.equidistant = eq;
361
- return [];
362
- }
363
- case 'string+number': {
364
- const { prefix: basePrefix } = extractStringNumber(this.first);
365
- for (let i = 0; i < lastGroup.nexts.length; i++) {
366
- const next = lastGroup.nexts[i];
367
- const { prefix, number } = extractStringNumber(next);
368
- if (basePrefix !== prefix) {
369
- const nexts = this.nexts.splice(i, this.nexts.length);
370
- lastGroup = new TypedGroup(nexts.splice(0, 1)[0]);
371
- nexts.forEach(lastGroup.add.bind(lastGroup));
372
- news.push(lastGroup, ...lastGroup.subdivide());
373
- break;
374
- }
375
- else {
376
- const { number: firstNumber } = extractStringNumber(lastGroup.first);
377
- if (number !== firstNumber + (i + 1) * lastGroup.numericDelta) {
378
- lastGroup.equidistant = false;
379
- }
380
- }
381
- }
382
- break;
383
- }
384
- }
385
- return news;
386
- }
387
- }
388
- function groupByType(cells) {
389
- var _a, _b;
390
- let group = new TypedGroup((_a = cells[0]) === null || _a === void 0 ? void 0 : _a.value);
391
- const groups = [group];
392
- for (let i = 1; i < cells.length; i++) {
393
- const value = (_b = cells[i]) === null || _b === void 0 ? void 0 : _b.value;
394
- const nextGroup = group.add(value);
395
- if (nextGroup) {
396
- groups.push(nextGroup);
397
- group = nextGroup;
398
- }
399
- }
400
- for (let i = groups.length - 1; i >= 0; i--) {
401
- const group = groups[i];
402
- groups.splice(i + 1, 0, ...group.subdivide());
403
- }
404
- return groups;
405
- }
406
- //# sourceMappingURL=autofill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autofill.js","sourceRoot":"","sources":["../../src/lib/autofill.ts"],"names":[],"mappings":"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"}