logisheets 0.6.0 → 0.8.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 (423) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/src/api/block_manager.d.ts +21 -0
  4. package/dist/src/api/block_manager.js +35 -0
  5. package/dist/src/api/calculator.d.ts +19 -0
  6. package/dist/src/api/calculator.js +46 -0
  7. package/dist/src/api/cell.d.ts +28 -0
  8. package/dist/src/api/cell.js +52 -0
  9. package/dist/src/api/index.d.ts +7 -0
  10. package/dist/src/api/index.js +5 -0
  11. package/dist/src/api/utils.d.ts +5 -0
  12. package/dist/src/api/utils.js +9 -0
  13. package/dist/src/api/workbook.d.ts +40 -0
  14. package/dist/src/api/workbook.js +227 -0
  15. package/dist/src/api/worksheet.d.ts +24 -0
  16. package/dist/src/api/worksheet.js +71 -0
  17. package/dist/src/bindings/action_effect.d.ts +7 -0
  18. package/dist/src/bindings/action_effect.js +1 -0
  19. package/dist/src/bindings/alignment.d.ts +6 -0
  20. package/dist/src/bindings/alignment.js +1 -0
  21. package/dist/src/bindings/async_func_result.d.ts +5 -0
  22. package/dist/src/bindings/async_func_result.js +1 -0
  23. package/dist/src/bindings/block_cell_id.d.ts +5 -0
  24. package/dist/src/bindings/block_cell_id.js +2 -0
  25. package/dist/src/bindings/block_info.d.ts +7 -0
  26. package/dist/src/bindings/block_info.js +2 -0
  27. package/dist/src/bindings/block_input.d.ts +7 -0
  28. package/dist/src/bindings/block_input.js +2 -0
  29. package/dist/src/bindings/block_style_update.d.ts +8 -0
  30. package/dist/src/bindings/block_style_update.js +1 -0
  31. package/dist/src/bindings/border.d.ts +13 -0
  32. package/dist/src/bindings/border.js +1 -0
  33. package/dist/src/bindings/border_pr.d.ts +6 -0
  34. package/dist/src/bindings/border_pr.js +1 -0
  35. package/dist/src/bindings/cell_alignment.d.ts +13 -0
  36. package/dist/src/bindings/cell_alignment.js +1 -0
  37. package/dist/src/bindings/cell_clear.d.ts +5 -0
  38. package/dist/src/bindings/cell_clear.js +2 -0
  39. package/dist/src/bindings/cell_format_brush.d.ts +10 -0
  40. package/dist/src/bindings/cell_format_brush.js +2 -0
  41. package/dist/src/bindings/cell_formula_value.d.ts +7 -0
  42. package/dist/src/bindings/cell_formula_value.js +1 -0
  43. package/dist/src/bindings/cell_id.d.ts +9 -0
  44. package/dist/src/bindings/cell_id.js +1 -0
  45. package/dist/src/bindings/cell_info.d.ts +8 -0
  46. package/dist/src/bindings/cell_info.js +1 -0
  47. package/dist/src/bindings/cell_input.d.ts +6 -0
  48. package/dist/src/bindings/cell_input.js +2 -0
  49. package/dist/src/bindings/cell_position.d.ts +4 -0
  50. package/dist/src/bindings/cell_position.js +2 -0
  51. package/dist/src/bindings/cell_protection.d.ts +4 -0
  52. package/dist/src/bindings/cell_protection.js +2 -0
  53. package/dist/src/bindings/cell_style.d.ts +6 -0
  54. package/dist/src/bindings/cell_style.js +1 -0
  55. package/dist/src/bindings/cell_style_update.d.ts +7 -0
  56. package/dist/src/bindings/cell_style_update.js +1 -0
  57. package/dist/src/bindings/col_info.d.ts +5 -0
  58. package/dist/src/bindings/col_info.js +2 -0
  59. package/dist/src/bindings/color.d.ts +6 -0
  60. package/dist/src/bindings/color.js +2 -0
  61. package/dist/src/bindings/comment.d.ts +6 -0
  62. package/dist/src/bindings/comment.js +2 -0
  63. package/dist/src/bindings/create_block.d.ts +8 -0
  64. package/dist/src/bindings/create_block.js +2 -0
  65. package/dist/src/bindings/create_sheet.d.ts +4 -0
  66. package/dist/src/bindings/create_sheet.js +2 -0
  67. package/dist/src/bindings/delete_cols.d.ts +5 -0
  68. package/dist/src/bindings/delete_cols.js +2 -0
  69. package/dist/src/bindings/delete_cols_in_block.d.ts +6 -0
  70. package/dist/src/bindings/delete_cols_in_block.js +2 -0
  71. package/dist/src/bindings/delete_rows.d.ts +5 -0
  72. package/dist/src/bindings/delete_rows.js +2 -0
  73. package/dist/src/bindings/delete_rows_in_block.d.ts +6 -0
  74. package/dist/src/bindings/delete_rows_in_block.js +2 -0
  75. package/dist/src/bindings/delete_sheet.d.ts +3 -0
  76. package/dist/src/bindings/delete_sheet.js +2 -0
  77. package/dist/src/bindings/display_patch.d.ts +25 -0
  78. package/dist/src/bindings/display_patch.js +1 -0
  79. package/dist/src/bindings/display_request.d.ts +4 -0
  80. package/dist/src/bindings/display_request.js +2 -0
  81. package/dist/src/bindings/display_response.d.ts +5 -0
  82. package/dist/src/bindings/display_response.js +1 -0
  83. package/dist/src/bindings/display_window.d.ts +14 -0
  84. package/dist/src/bindings/display_window.js +1 -0
  85. package/dist/src/bindings/display_window_request.d.ts +7 -0
  86. package/dist/src/bindings/display_window_request.js +2 -0
  87. package/dist/src/bindings/display_window_with_start_point.d.ts +6 -0
  88. package/dist/src/bindings/display_window_with_start_point.js +1 -0
  89. package/dist/src/bindings/edit_action.d.ts +7 -0
  90. package/dist/src/bindings/edit_action.js +1 -0
  91. package/dist/src/bindings/edit_payload.d.ts +88 -0
  92. package/dist/src/bindings/edit_payload.js +1 -0
  93. package/dist/src/bindings/ephemeral_cell_input.d.ts +5 -0
  94. package/dist/src/bindings/ephemeral_cell_input.js +2 -0
  95. package/dist/src/bindings/ephemeral_cell_style_update.d.ts +6 -0
  96. package/dist/src/bindings/ephemeral_cell_style_update.js +1 -0
  97. package/dist/src/bindings/error_message.d.ts +4 -0
  98. package/dist/src/bindings/error_message.js +2 -0
  99. package/dist/src/bindings/fill.d.ts +7 -0
  100. package/dist/src/bindings/fill.js +1 -0
  101. package/dist/src/bindings/font.d.ts +23 -0
  102. package/dist/src/bindings/font.js +1 -0
  103. package/dist/src/bindings/font_family.d.ts +3 -0
  104. package/dist/src/bindings/font_family.js +2 -0
  105. package/dist/src/bindings/font_name.d.ts +3 -0
  106. package/dist/src/bindings/font_name.js +2 -0
  107. package/dist/src/bindings/font_scheme.d.ts +4 -0
  108. package/dist/src/bindings/font_scheme.js +1 -0
  109. package/dist/src/bindings/gradient_fill.d.ts +11 -0
  110. package/dist/src/bindings/gradient_fill.js +1 -0
  111. package/dist/src/bindings/gradient_stop.d.ts +5 -0
  112. package/dist/src/bindings/gradient_stop.js +1 -0
  113. package/dist/src/bindings/horizontal_alignment.d.ts +1 -0
  114. package/dist/src/bindings/horizontal_alignment.js +2 -0
  115. package/dist/src/bindings/index.d.ts +88 -0
  116. package/dist/src/bindings/index.js +89 -0
  117. package/dist/src/bindings/insert_cols.d.ts +5 -0
  118. package/dist/src/bindings/insert_cols.js +2 -0
  119. package/dist/src/bindings/insert_cols_in_block.d.ts +6 -0
  120. package/dist/src/bindings/insert_cols_in_block.js +2 -0
  121. package/dist/src/bindings/insert_rows.d.ts +5 -0
  122. package/dist/src/bindings/insert_rows.js +2 -0
  123. package/dist/src/bindings/insert_rows_in_block.d.ts +6 -0
  124. package/dist/src/bindings/insert_rows_in_block.js +2 -0
  125. package/dist/src/bindings/line_format_brush.d.ts +9 -0
  126. package/dist/src/bindings/line_format_brush.js +2 -0
  127. package/dist/src/bindings/line_style_update.d.ts +8 -0
  128. package/dist/src/bindings/line_style_update.js +1 -0
  129. package/dist/src/bindings/merge_cell.d.ts +6 -0
  130. package/dist/src/bindings/merge_cell.js +2 -0
  131. package/dist/src/bindings/merge_cells.d.ts +7 -0
  132. package/dist/src/bindings/merge_cells.js +2 -0
  133. package/dist/src/bindings/move_block.d.ts +6 -0
  134. package/dist/src/bindings/move_block.js +2 -0
  135. package/dist/src/bindings/msg_edit.d.ts +7 -0
  136. package/dist/src/bindings/msg_edit.js +1 -0
  137. package/dist/src/bindings/msg_join.d.ts +6 -0
  138. package/dist/src/bindings/msg_join.js +1 -0
  139. package/dist/src/bindings/msg_sequencer_action_invalid_message.d.ts +6 -0
  140. package/dist/src/bindings/msg_sequencer_action_invalid_message.js +2 -0
  141. package/dist/src/bindings/msg_sequencer_action_message.d.ts +7 -0
  142. package/dist/src/bindings/msg_sequencer_action_message.js +1 -0
  143. package/dist/src/bindings/msg_sequencer_init_workbook.d.ts +5 -0
  144. package/dist/src/bindings/msg_sequencer_init_workbook.js +2 -0
  145. package/dist/src/bindings/msg_sequencer_message.d.ts +10 -0
  146. package/dist/src/bindings/msg_sequencer_message.js +1 -0
  147. package/dist/src/bindings/msg_user_message.d.ts +7 -0
  148. package/dist/src/bindings/msg_user_message.js +1 -0
  149. package/dist/src/bindings/normal_cell_id.d.ts +4 -0
  150. package/dist/src/bindings/normal_cell_id.js +2 -0
  151. package/dist/src/bindings/pattern_fill.d.ts +7 -0
  152. package/dist/src/bindings/pattern_fill.js +1 -0
  153. package/dist/src/bindings/payloads_action.d.ts +6 -0
  154. package/dist/src/bindings/payloads_action.js +1 -0
  155. package/dist/src/bindings/recalc_cell.d.ts +5 -0
  156. package/dist/src/bindings/recalc_cell.js +1 -0
  157. package/dist/src/bindings/remove_block.d.ts +4 -0
  158. package/dist/src/bindings/remove_block.js +2 -0
  159. package/dist/src/bindings/row_info.d.ts +5 -0
  160. package/dist/src/bindings/row_info.js +2 -0
  161. package/dist/src/bindings/set_col_width.d.ts +5 -0
  162. package/dist/src/bindings/set_col_width.js +2 -0
  163. package/dist/src/bindings/set_row_height.d.ts +5 -0
  164. package/dist/src/bindings/set_row_height.js +2 -0
  165. package/dist/src/bindings/set_visible.d.ts +6 -0
  166. package/dist/src/bindings/set_visible.js +2 -0
  167. package/dist/src/bindings/sheet_blocks.d.ts +5 -0
  168. package/dist/src/bindings/sheet_blocks.js +1 -0
  169. package/dist/src/bindings/sheet_col_info.d.ts +6 -0
  170. package/dist/src/bindings/sheet_col_info.js +1 -0
  171. package/dist/src/bindings/sheet_comments.d.ts +5 -0
  172. package/dist/src/bindings/sheet_comments.js +1 -0
  173. package/dist/src/bindings/sheet_dimension.d.ts +6 -0
  174. package/dist/src/bindings/sheet_dimension.js +2 -0
  175. package/dist/src/bindings/sheet_info.d.ts +6 -0
  176. package/dist/src/bindings/sheet_info.js +2 -0
  177. package/dist/src/bindings/sheet_merge_cells.d.ts +5 -0
  178. package/dist/src/bindings/sheet_merge_cells.js +1 -0
  179. package/dist/src/bindings/sheet_names.d.ts +3 -0
  180. package/dist/src/bindings/sheet_names.js +2 -0
  181. package/dist/src/bindings/sheet_rename.d.ts +5 -0
  182. package/dist/src/bindings/sheet_rename.js +2 -0
  183. package/dist/src/bindings/sheet_row_info.d.ts +6 -0
  184. package/dist/src/bindings/sheet_row_info.js +1 -0
  185. package/dist/src/bindings/sheet_styles.d.ts +5 -0
  186. package/dist/src/bindings/sheet_styles.js +1 -0
  187. package/dist/src/bindings/sheet_values.d.ts +5 -0
  188. package/dist/src/bindings/sheet_values.js +1 -0
  189. package/dist/src/bindings/split_merged_cells.d.ts +5 -0
  190. package/dist/src/bindings/split_merged_cells.js +2 -0
  191. package/dist/src/bindings/st_border_style.d.ts +1 -0
  192. package/dist/src/bindings/st_border_style.js +2 -0
  193. package/dist/src/bindings/st_font_scheme.d.ts +1 -0
  194. package/dist/src/bindings/st_font_scheme.js +2 -0
  195. package/dist/src/bindings/st_gradient_type.d.ts +1 -0
  196. package/dist/src/bindings/st_gradient_type.js +2 -0
  197. package/dist/src/bindings/st_horizontal_alignment.d.ts +1 -0
  198. package/dist/src/bindings/st_horizontal_alignment.js +2 -0
  199. package/dist/src/bindings/st_pattern_type.d.ts +1 -0
  200. package/dist/src/bindings/st_pattern_type.js +2 -0
  201. package/dist/src/bindings/st_underline_values.d.ts +1 -0
  202. package/dist/src/bindings/st_underline_values.js +2 -0
  203. package/dist/src/bindings/st_vertical_align_run.d.ts +1 -0
  204. package/dist/src/bindings/st_vertical_align_run.js +2 -0
  205. package/dist/src/bindings/st_vertical_alignment.d.ts +1 -0
  206. package/dist/src/bindings/st_vertical_alignment.js +2 -0
  207. package/dist/src/bindings/status_code.d.ts +6 -0
  208. package/dist/src/bindings/status_code.js +1 -0
  209. package/dist/src/bindings/style.d.ts +13 -0
  210. package/dist/src/bindings/style.js +1 -0
  211. package/dist/src/bindings/style_update.d.ts +7 -0
  212. package/dist/src/bindings/style_update.js +1 -0
  213. package/dist/src/bindings/style_update_type.d.ts +29 -0
  214. package/dist/src/bindings/style_update_type.js +1 -0
  215. package/dist/src/bindings/task.d.ts +4 -0
  216. package/dist/src/bindings/task.js +2 -0
  217. package/dist/src/bindings/underline_property.d.ts +4 -0
  218. package/dist/src/bindings/underline_property.js +1 -0
  219. package/dist/src/bindings/value.d.ts +9 -0
  220. package/dist/src/bindings/value.js +2 -0
  221. package/dist/src/bindings/vertical_align_font_property.d.ts +4 -0
  222. package/dist/src/bindings/vertical_align_font_property.js +1 -0
  223. package/dist/src/bindings/vertical_alignment.d.ts +1 -0
  224. package/dist/src/bindings/vertical_alignment.js +2 -0
  225. package/dist/src/bindings/workbook_file.d.ts +4 -0
  226. package/dist/src/bindings/workbook_file.js +2 -0
  227. package/dist/src/bindings/workbook_update_type.d.ts +1 -0
  228. package/dist/src/bindings/workbook_update_type.js +2 -0
  229. package/dist/src/client.d.ts +82 -0
  230. package/dist/src/client.js +1 -0
  231. package/dist/src/index.d.ts +5 -0
  232. package/dist/src/index.js +4 -0
  233. package/dist/src/payloads/block_input.d.ts +21 -0
  234. package/dist/src/payloads/block_input.js +47 -0
  235. package/dist/src/payloads/cell_clear.d.ts +15 -0
  236. package/dist/src/payloads/cell_clear.js +31 -0
  237. package/dist/src/payloads/cell_format_brush.d.ts +30 -0
  238. package/dist/src/payloads/cell_format_brush.js +71 -0
  239. package/dist/src/payloads/cell_input.d.ts +18 -0
  240. package/dist/src/payloads/cell_input.js +39 -0
  241. package/dist/src/payloads/create_block.d.ts +24 -0
  242. package/dist/src/payloads/create_block.js +61 -0
  243. package/dist/src/payloads/delete_block_cols.d.ts +18 -0
  244. package/dist/src/payloads/delete_block_cols.js +39 -0
  245. package/dist/src/payloads/delete_block_rows.d.ts +18 -0
  246. package/dist/src/payloads/delete_block_rows.js +39 -0
  247. package/dist/src/payloads/delete_cols.d.ts +15 -0
  248. package/dist/src/payloads/delete_cols.js +31 -0
  249. package/dist/src/payloads/delete_rows.d.ts +15 -0
  250. package/dist/src/payloads/delete_rows.js +31 -0
  251. package/dist/src/payloads/delete_sheet.d.ts +9 -0
  252. package/dist/src/payloads/delete_sheet.js +15 -0
  253. package/dist/src/payloads/index.d.ts +65 -0
  254. package/dist/src/payloads/index.js +32 -0
  255. package/dist/src/payloads/insert_block_cols.d.ts +18 -0
  256. package/dist/src/payloads/insert_block_cols.js +39 -0
  257. package/dist/src/payloads/insert_block_rows.d.ts +18 -0
  258. package/dist/src/payloads/insert_block_rows.js +39 -0
  259. package/dist/src/payloads/insert_cols.d.ts +15 -0
  260. package/dist/src/payloads/insert_cols.js +31 -0
  261. package/dist/src/payloads/insert_rows.d.ts +15 -0
  262. package/dist/src/payloads/insert_rows.js +31 -0
  263. package/dist/src/payloads/insert_sheet.d.ts +12 -0
  264. package/dist/src/payloads/insert_sheet.js +23 -0
  265. package/dist/src/payloads/line_format_brush.d.ts +27 -0
  266. package/dist/src/payloads/line_format_brush.js +63 -0
  267. package/dist/src/payloads/merge_cells.d.ts +21 -0
  268. package/dist/src/payloads/merge_cells.js +47 -0
  269. package/dist/src/payloads/move_block.d.ts +18 -0
  270. package/dist/src/payloads/move_block.js +39 -0
  271. package/dist/src/payloads/set_border.d.ts +49 -0
  272. package/dist/src/payloads/set_border.js +97 -0
  273. package/dist/src/payloads/set_cell_alignment.d.ts +19 -0
  274. package/dist/src/payloads/set_cell_alignment.js +39 -0
  275. package/dist/src/payloads/set_cell_border.d.ts +49 -0
  276. package/dist/src/payloads/set_cell_border.js +97 -0
  277. package/dist/src/payloads/set_cell_font.d.ts +46 -0
  278. package/dist/src/payloads/set_cell_font.js +91 -0
  279. package/dist/src/payloads/set_cell_pattern_fill.d.ts +25 -0
  280. package/dist/src/payloads/set_cell_pattern_fill.js +49 -0
  281. package/dist/src/payloads/set_col_visible.d.ts +15 -0
  282. package/dist/src/payloads/set_col_visible.js +31 -0
  283. package/dist/src/payloads/set_col_width.d.ts +15 -0
  284. package/dist/src/payloads/set_col_width.js +31 -0
  285. package/dist/src/payloads/set_font.d.ts +46 -0
  286. package/dist/src/payloads/set_font.js +91 -0
  287. package/dist/src/payloads/set_line_alignment.d.ts +22 -0
  288. package/dist/src/payloads/set_line_alignment.js +47 -0
  289. package/dist/src/payloads/set_line_border.d.ts +49 -0
  290. package/dist/src/payloads/set_line_border.js +97 -0
  291. package/dist/src/payloads/set_line_font.d.ts +49 -0
  292. package/dist/src/payloads/set_line_font.js +99 -0
  293. package/dist/src/payloads/set_line_pattern_fill.d.ts +28 -0
  294. package/dist/src/payloads/set_line_pattern_fill.js +57 -0
  295. package/dist/src/payloads/set_row_height.d.ts +15 -0
  296. package/dist/src/payloads/set_row_height.js +31 -0
  297. package/dist/src/payloads/set_row_visible.d.ts +15 -0
  298. package/dist/src/payloads/set_row_visible.js +31 -0
  299. package/dist/src/payloads/sheet_rename.d.ts +15 -0
  300. package/dist/src/payloads/sheet_rename.js +29 -0
  301. package/dist/src/payloads/split_merged_cells.d.ts +15 -0
  302. package/dist/src/payloads/split_merged_cells.js +31 -0
  303. package/dist/src/transactions.d.ts +13 -0
  304. package/dist/src/transactions.js +23 -0
  305. package/package.json +7 -6
  306. package/index.ts +0 -1
  307. package/src/api/index.ts +0 -1
  308. package/src/api/workbook.ts +0 -201
  309. package/src/bindings/action_effect.ts +0 -17
  310. package/src/bindings/async_func_result.ts +0 -12
  311. package/src/bindings/block_cell_id.ts +0 -7
  312. package/src/bindings/block_info.ts +0 -9
  313. package/src/bindings/block_input.ts +0 -9
  314. package/src/bindings/block_style_update.ts +0 -10
  315. package/src/bindings/border.ts +0 -15
  316. package/src/bindings/border_pr.ts +0 -8
  317. package/src/bindings/cell_alignment.ts +0 -15
  318. package/src/bindings/cell_formula_value.ts +0 -9
  319. package/src/bindings/cell_id.ts +0 -7
  320. package/src/bindings/cell_input.ts +0 -9
  321. package/src/bindings/cell_protection.ts +0 -6
  322. package/src/bindings/cell_style.ts +0 -8
  323. package/src/bindings/col_info.ts +0 -7
  324. package/src/bindings/color.ts +0 -8
  325. package/src/bindings/comment.ts +0 -8
  326. package/src/bindings/create_block.ts +0 -15
  327. package/src/bindings/create_sheet.ts +0 -6
  328. package/src/bindings/delete_cols.ts +0 -7
  329. package/src/bindings/delete_cols_in_block.ts +0 -8
  330. package/src/bindings/delete_rows.ts +0 -7
  331. package/src/bindings/delete_rows_in_block.ts +0 -8
  332. package/src/bindings/delete_sheet.ts +0 -5
  333. package/src/bindings/display_patch.ts +0 -19
  334. package/src/bindings/display_request.ts +0 -6
  335. package/src/bindings/display_response.ts +0 -7
  336. package/src/bindings/edit_action.ts +0 -10
  337. package/src/bindings/edit_payload.ts +0 -47
  338. package/src/bindings/fill.ts +0 -7
  339. package/src/bindings/font.ts +0 -25
  340. package/src/bindings/font_family.ts +0 -5
  341. package/src/bindings/font_name.ts +0 -5
  342. package/src/bindings/font_scheme.ts +0 -6
  343. package/src/bindings/gradient_fill.ts +0 -13
  344. package/src/bindings/gradient_stop.ts +0 -7
  345. package/src/bindings/index.ts +0 -85
  346. package/src/bindings/insert_cols.ts +0 -7
  347. package/src/bindings/insert_cols_in_block.ts +0 -8
  348. package/src/bindings/insert_rows.ts +0 -7
  349. package/src/bindings/insert_rows_in_block.ts +0 -8
  350. package/src/bindings/merge_cell.ts +0 -8
  351. package/src/bindings/move_block.ts +0 -8
  352. package/src/bindings/msg_edit.ts +0 -9
  353. package/src/bindings/msg_join.ts +0 -9
  354. package/src/bindings/msg_sequencer_action_invalid_message.ts +0 -10
  355. package/src/bindings/msg_sequencer_action_message.ts +0 -10
  356. package/src/bindings/msg_sequencer_init_workbook.ts +0 -8
  357. package/src/bindings/msg_sequencer_message.ts +0 -9
  358. package/src/bindings/msg_user_message.ts +0 -7
  359. package/src/bindings/normal_cell_id.ts +0 -6
  360. package/src/bindings/pattern_fill.ts +0 -9
  361. package/src/bindings/payloads_action.ts +0 -15
  362. package/src/bindings/recalc_cell.ts +0 -7
  363. package/src/bindings/remove_block.ts +0 -6
  364. package/src/bindings/row_info.ts +0 -7
  365. package/src/bindings/set_col_width.ts +0 -7
  366. package/src/bindings/set_row_height.ts +0 -7
  367. package/src/bindings/set_visible.ts +0 -8
  368. package/src/bindings/sheet_blocks.ts +0 -7
  369. package/src/bindings/sheet_col_info.ts +0 -8
  370. package/src/bindings/sheet_comments.ts +0 -7
  371. package/src/bindings/sheet_merge_cells.ts +0 -7
  372. package/src/bindings/sheet_names.ts +0 -5
  373. package/src/bindings/sheet_rename.ts +0 -8
  374. package/src/bindings/sheet_row_info.ts +0 -8
  375. package/src/bindings/sheet_styles.ts +0 -7
  376. package/src/bindings/sheet_values.ts +0 -7
  377. package/src/bindings/st_border_style.ts +0 -17
  378. package/src/bindings/st_font_scheme.ts +0 -6
  379. package/src/bindings/st_gradient_type.ts +0 -6
  380. package/src/bindings/st_horizontal_alignment.ts +0 -12
  381. package/src/bindings/st_pattern_type.ts +0 -23
  382. package/src/bindings/st_underline_values.ts +0 -9
  383. package/src/bindings/st_vertical_align_run.ts +0 -7
  384. package/src/bindings/st_vertical_alignment.ts +0 -9
  385. package/src/bindings/status_code.ts +0 -5
  386. package/src/bindings/style.ts +0 -15
  387. package/src/bindings/style_update.ts +0 -9
  388. package/src/bindings/style_update_type.ts +0 -29
  389. package/src/bindings/task.ts +0 -6
  390. package/src/bindings/underline_property.ts +0 -6
  391. package/src/bindings/value.ts +0 -8
  392. package/src/bindings/vertical_align_font_property.ts +0 -6
  393. package/src/bindings/workbook_file.ts +0 -6
  394. package/src/index.ts +0 -42
  395. package/src/payloads/block_input.ts +0 -54
  396. package/src/payloads/cell_input.ts +0 -44
  397. package/src/payloads/create_block.ts +0 -78
  398. package/src/payloads/delete_block_cols.ts +0 -44
  399. package/src/payloads/delete_block_rows.ts +0 -44
  400. package/src/payloads/delete_cols.ts +0 -37
  401. package/src/payloads/delete_rows.ts +0 -37
  402. package/src/payloads/delete_sheet.ts +0 -19
  403. package/src/payloads/index.ts +0 -66
  404. package/src/payloads/insert_block_cols.ts +0 -44
  405. package/src/payloads/insert_block_rows.ts +0 -44
  406. package/src/payloads/insert_cols.ts +0 -35
  407. package/src/payloads/insert_rows.ts +0 -36
  408. package/src/payloads/insert_sheet.ts +0 -27
  409. package/src/payloads/move_block.ts +0 -45
  410. package/src/payloads/set_border.ts +0 -113
  411. package/src/payloads/set_col_visible.ts +0 -35
  412. package/src/payloads/set_col_width.ts +0 -35
  413. package/src/payloads/set_font.ts +0 -107
  414. package/src/payloads/set_row_height.ts +0 -35
  415. package/src/payloads/set_row_visible.ts +0 -35
  416. package/src/payloads/sheet_rename.ts +0 -35
  417. package/src/transactions.ts +0 -14
  418. package/wasm/.gitignore +0 -1
  419. package/wasm/logisheets_wasm_server.d.ts +0 -255
  420. package/wasm/logisheets_wasm_server.js +0 -946
  421. package/wasm/logisheets_wasm_server_bg.wasm +0 -0
  422. package/wasm/logisheets_wasm_server_bg.wasm.d.ts +0 -40
  423. package/wasm/package.json +0 -14
@@ -0,0 +1 @@
1
+ export * from './src';
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from './src';
@@ -0,0 +1,21 @@
1
+ export declare class BlockManager {
2
+ constructor(checkBindBlock: (sheetIdx: number, blockId: number, rowCount: number, colCount: number) => boolean, getAvailableBlockId: (sheetIdx: number) => number);
3
+ /**
4
+ * Todo: make sure that the block/craft will never be changed by other
5
+ * crafts.
6
+ */
7
+ bindBlock(sheetIdx: number, blockId: number, rowCount: number, colCount: number): boolean;
8
+ /**
9
+ * This function should only find the greatest block id when the available block id
10
+ * has been set. After that, it will always use the cached value.
11
+ * This means that every time you call this function after initialization,
12
+ * it will return a new block id. It will lead to the waste of block ids if you don't create
13
+ * a block with this id.
14
+ *
15
+ * Block id is `usize` in `WASM` side. It should be enough for most cases even we waste some of the ids.
16
+ */
17
+ getAvailableBlockId(sheetIdx: number): number;
18
+ private sheetAvailableBlockIds;
19
+ private _checkBindBlock;
20
+ private _getAvailableBlockId;
21
+ }
@@ -0,0 +1,35 @@
1
+ export class BlockManager {
2
+ constructor(checkBindBlock, getAvailableBlockId) {
3
+ this._checkBindBlock = checkBindBlock;
4
+ this._getAvailableBlockId = getAvailableBlockId;
5
+ }
6
+ /**
7
+ * Todo: make sure that the block/craft will never be changed by other
8
+ * crafts.
9
+ */
10
+ bindBlock(sheetIdx, blockId, rowCount, colCount) {
11
+ return this._checkBindBlock(sheetIdx, blockId, rowCount, colCount);
12
+ }
13
+ /**
14
+ * This function should only find the greatest block id when the available block id
15
+ * has been set. After that, it will always use the cached value.
16
+ * This means that every time you call this function after initialization,
17
+ * it will return a new block id. It will lead to the waste of block ids if you don't create
18
+ * a block with this id.
19
+ *
20
+ * Block id is `usize` in `WASM` side. It should be enough for most cases even we waste some of the ids.
21
+ */
22
+ getAvailableBlockId(sheetIdx) {
23
+ if (this.sheetAvailableBlockIds.has(sheetIdx)) {
24
+ const result = this.sheetAvailableBlockIds.get(sheetIdx);
25
+ this.sheetAvailableBlockIds.set(sheetIdx, result + 1);
26
+ return result;
27
+ }
28
+ const id = this._getAvailableBlockId(sheetIdx);
29
+ this.sheetAvailableBlockIds.set(sheetIdx, id);
30
+ return id;
31
+ }
32
+ sheetAvailableBlockIds = new Map();
33
+ _checkBindBlock;
34
+ _getAvailableBlockId;
35
+ }
@@ -0,0 +1,19 @@
1
+ import { AsyncFuncResult, Task } from '../bindings';
2
+ export declare const enum CalcException {
3
+ Unspecified = 0,
4
+ ArgErr = 1,
5
+ TimeOut = 2,
6
+ NotFound = 3
7
+ }
8
+ export type Executor = (args: readonly string[]) => Promise<string | CalcException>;
9
+ export declare class CustomFunc {
10
+ readonly funcName: string;
11
+ executor: Executor;
12
+ constructor(funcName: string, executor: Executor);
13
+ }
14
+ export declare class Calculator {
15
+ calc(tasks: readonly Task[]): Promise<AsyncFuncResult>;
16
+ registry(f: CustomFunc): void;
17
+ private _exec;
18
+ private _registry;
19
+ }
@@ -0,0 +1,46 @@
1
+ export class CustomFunc {
2
+ funcName;
3
+ executor;
4
+ constructor(funcName, executor) {
5
+ this.funcName = funcName;
6
+ this.executor = executor;
7
+ }
8
+ }
9
+ export class Calculator {
10
+ async calc(tasks) {
11
+ const promises = tasks.map((t) => this._exec(t.asyncFunc, t.args));
12
+ return Promise.all(promises).then((values) => {
13
+ const res = values.map((v) => {
14
+ if (typeof v === 'string') {
15
+ return v;
16
+ }
17
+ switch (v) {
18
+ case 1 /* CalcException.ArgErr */:
19
+ return '#ARGERR!';
20
+ case 2 /* CalcException.TimeOut */:
21
+ return '#TIMEOUT!';
22
+ case 3 /* CalcException.NotFound */:
23
+ return '#NOTFOUND!';
24
+ default:
25
+ return '#UNKNOWN!';
26
+ }
27
+ });
28
+ const asyncFuncResult = {
29
+ tasks,
30
+ values: res,
31
+ };
32
+ return asyncFuncResult;
33
+ });
34
+ }
35
+ registry(f) {
36
+ this._registry.set(f.funcName, f.executor);
37
+ }
38
+ async _exec(func, args) {
39
+ const executor = this._registry.get(func);
40
+ if (executor === undefined) {
41
+ return 3 /* CalcException.NotFound */;
42
+ }
43
+ return executor(args);
44
+ }
45
+ _registry = new Map();
46
+ }
@@ -0,0 +1,28 @@
1
+ import { CellInfo, Value, Style } from '../bindings';
2
+ export declare class Cell {
3
+ constructor(cellInfo: CellInfo);
4
+ getText(): string;
5
+ getStyle(): Style;
6
+ getFormula(): string;
7
+ private _value;
8
+ private _style;
9
+ private _formula;
10
+ }
11
+ export declare class CellValue {
12
+ cellValueOneof?: {
13
+ $case: 'str';
14
+ str: string;
15
+ } | {
16
+ $case: 'number';
17
+ number: number;
18
+ } | {
19
+ $case: 'bool';
20
+ bool: boolean;
21
+ } | {
22
+ $case: 'error';
23
+ error: string;
24
+ };
25
+ get value(): string | number | boolean;
26
+ get valueStr(): string;
27
+ static from(value: Value): CellValue;
28
+ }
@@ -0,0 +1,52 @@
1
+ export class Cell {
2
+ constructor(cellInfo) {
3
+ this._value = CellValue.from(cellInfo.value);
4
+ this._formula = cellInfo.formula;
5
+ this._style = cellInfo.style;
6
+ }
7
+ getText() {
8
+ return this._value.valueStr ?? '';
9
+ }
10
+ getStyle() {
11
+ return this._style;
12
+ }
13
+ getFormula() {
14
+ return this._formula;
15
+ }
16
+ _value;
17
+ _style;
18
+ _formula = '';
19
+ }
20
+ export class CellValue {
21
+ cellValueOneof;
22
+ get value() {
23
+ if (this.cellValueOneof?.$case === 'str')
24
+ return this.cellValueOneof.str;
25
+ else if (this.cellValueOneof?.$case === 'bool')
26
+ return this.cellValueOneof.bool;
27
+ else if (this.cellValueOneof?.$case === 'error')
28
+ return this.cellValueOneof.error;
29
+ else if (this.cellValueOneof?.$case === 'number')
30
+ return this.cellValueOneof.number;
31
+ else
32
+ return '';
33
+ }
34
+ get valueStr() {
35
+ return this.value.toString();
36
+ }
37
+ static from(value) {
38
+ const v = new CellValue();
39
+ if (hasOwnProperty(value, 'str'))
40
+ v.cellValueOneof = { $case: 'str', str: value.str };
41
+ else if (hasOwnProperty(value, 'bool'))
42
+ v.cellValueOneof = { $case: 'bool', bool: value.bool };
43
+ else if (hasOwnProperty(value, 'number'))
44
+ v.cellValueOneof = { $case: 'number', number: value.number };
45
+ else if (hasOwnProperty(value, 'error'))
46
+ v.cellValueOneof = { $case: 'error', error: value.error };
47
+ return v;
48
+ }
49
+ }
50
+ function hasOwnProperty(obj, prop) {
51
+ return Object.prototype.hasOwnProperty.call(obj, prop);
52
+ }
@@ -0,0 +1,7 @@
1
+ export * from './workbook';
2
+ export * from './worksheet';
3
+ export { CalcException, CustomFunc, Calculator } from './calculator';
4
+ export type { Executor } from './calculator';
5
+ export * from './cell';
6
+ export { isErrorMessage, getPatternFill } from './utils';
7
+ export type { Result } from './utils';
@@ -0,0 +1,5 @@
1
+ export * from './workbook';
2
+ export * from './worksheet';
3
+ export { CustomFunc, Calculator } from './calculator';
4
+ export * from './cell';
5
+ export { isErrorMessage, getPatternFill } from './utils';
@@ -0,0 +1,5 @@
1
+ import { Fill, PatternFill } from '../bindings';
2
+ import { ErrorMessage } from '../bindings/error_message';
3
+ export declare function isErrorMessage(v: any): v is ErrorMessage;
4
+ export type Result<V> = V | ErrorMessage;
5
+ export declare function getPatternFill(v: Fill): PatternFill | null;
@@ -0,0 +1,9 @@
1
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2
+ export function isErrorMessage(v) {
3
+ return 'msg' in v && 'ty' in v;
4
+ }
5
+ export function getPatternFill(v) {
6
+ if ('patternFill' in v)
7
+ return v.patternFill;
8
+ return null;
9
+ }
@@ -0,0 +1,40 @@
1
+ import { ActionEffect, SheetInfo } from '../bindings';
2
+ import { Transaction } from '../transactions';
3
+ import { Worksheet } from './worksheet';
4
+ import { CustomFunc } from './calculator';
5
+ import { Result } from './utils';
6
+ export type ReturnCode = number;
7
+ export type Callback = () => void;
8
+ export declare class Workbook {
9
+ constructor();
10
+ /**
11
+ * @returns the block id if success, otherwise the error message
12
+ *
13
+ * It is caller's responsibility to store the block id.
14
+ */
15
+ createBlockForNewCraft(sheetIdx: number, masterRow: number, masterCol: number, rowCount: number, colCount: number): Result<number>;
16
+ undo(): boolean;
17
+ redo(): boolean;
18
+ registerCellUpdatedCallback(callback: Callback): void;
19
+ registerSheetInfoUpdateCallback(callback: Callback): void;
20
+ getAllSheetInfo(): Array<SheetInfo>;
21
+ checkFormula(f: string): boolean;
22
+ calcCondition(sheetIdx: number, f: string): Result<boolean>;
23
+ getSheetId(sheetIdx: number): Result<number>;
24
+ execTransaction(tx: Transaction): ActionEffect;
25
+ load(buf: Uint8Array, bookName: string): ReturnCode;
26
+ release(): void;
27
+ getSheetCount(): number;
28
+ getWorksheet(idx: number): Worksheet;
29
+ getWorksheetById(id: number): Worksheet;
30
+ registryCustomFunc(customFunc: CustomFunc): void;
31
+ private _addPayload;
32
+ private _inputAsyncResult;
33
+ private _onCellUpdate;
34
+ private _onSheetUpdate;
35
+ private _cellUpdatedCallbacks;
36
+ private _sheetInfoUpdatedCallbacks;
37
+ private _id;
38
+ private _blockManager;
39
+ private _calculator;
40
+ }
@@ -0,0 +1,227 @@
1
+ import { block_input, block_line_shift, calc_condition, cell_clear, cell_input, check_bind_block, check_formula, col_delete, col_insert, create_block, create_sheet, delete_sheet, get_all_sheet_info, get_available_block_id, get_sheet_count, get_sheet_id, input_async_result, merge_cells, move_block, new_workbook, read_file, redo, release, row_delete, row_insert, set_cell_alignment, set_cell_border, set_cell_format_brush, set_cell_pattern_fill, set_col_width, set_font, set_line_alignment, set_line_border, set_line_font, set_line_format_brush, set_line_pattern_fill, set_row_height, sheet_rename_by_idx, sheet_rename_by_name, split_merged_cells, transaction_end, transaction_start, undo, } from '../../wasm/logisheets_wasm_server';
2
+ import { Transaction } from '../transactions';
3
+ import { Worksheet } from './worksheet';
4
+ import { Calculator } from './calculator';
5
+ import { BlockManager } from './block_manager';
6
+ export class Workbook {
7
+ constructor() {
8
+ this._id = new_workbook();
9
+ this._blockManager = new BlockManager((sheetIdx, blockId, rowCount, colCount) => {
10
+ return check_bind_block(this._id, sheetIdx, blockId, rowCount, colCount);
11
+ }, (sheetIdx) => {
12
+ return get_available_block_id(this._id, sheetIdx);
13
+ });
14
+ }
15
+ /**
16
+ * @returns the block id if success, otherwise the error message
17
+ *
18
+ * It is caller's responsibility to store the block id.
19
+ */
20
+ createBlockForNewCraft(sheetIdx, masterRow, masterCol, rowCount, colCount) {
21
+ const id = this._blockManager.getAvailableBlockId(sheetIdx);
22
+ const effect = this.execTransaction(new Transaction([
23
+ {
24
+ type: 'createBlock',
25
+ sheetIdx,
26
+ blockId: id,
27
+ masterRow,
28
+ masterCol,
29
+ rowCnt: rowCount,
30
+ colCnt: colCount,
31
+ },
32
+ ], false));
33
+ if ('err' in effect.status) {
34
+ return {
35
+ msg: 'failed to create block',
36
+ ty: effect.status.err,
37
+ };
38
+ }
39
+ const bind = this._blockManager.bindBlock(sheetIdx, id, rowCount, colCount);
40
+ if (!bind) {
41
+ return {
42
+ msg: 'failed to bind block',
43
+ ty: 1,
44
+ };
45
+ }
46
+ return id;
47
+ }
48
+ undo() {
49
+ const result = undo(this._id);
50
+ if (result) {
51
+ this._onCellUpdate();
52
+ this._onSheetUpdate();
53
+ }
54
+ return result;
55
+ }
56
+ redo() {
57
+ const result = redo(this._id);
58
+ if (result) {
59
+ this._onCellUpdate();
60
+ this._onSheetUpdate();
61
+ }
62
+ return result;
63
+ }
64
+ registerCellUpdatedCallback(callback) {
65
+ this._cellUpdatedCallbacks.push(callback);
66
+ }
67
+ registerSheetInfoUpdateCallback(callback) {
68
+ this._sheetInfoUpdatedCallbacks.push(callback);
69
+ }
70
+ getAllSheetInfo() {
71
+ return get_all_sheet_info(this._id);
72
+ }
73
+ checkFormula(f) {
74
+ return check_formula(this._id, f);
75
+ }
76
+ calcCondition(sheetIdx, f) {
77
+ return calc_condition(this._id, sheetIdx, f);
78
+ }
79
+ getSheetId(sheetIdx) {
80
+ return get_sheet_id(this._id, sheetIdx);
81
+ }
82
+ execTransaction(tx) {
83
+ transaction_start(this._id);
84
+ tx.payloads.forEach((p) => {
85
+ this._addPayload(p);
86
+ });
87
+ const result = transaction_end(this._id, tx.undoable);
88
+ if (result.asyncTasks.length > 0) {
89
+ const asyncResult = this._calculator.calc(result.asyncTasks);
90
+ asyncResult.then((result) => {
91
+ this._inputAsyncResult(result);
92
+ this._onCellUpdate();
93
+ });
94
+ }
95
+ if ('ok' in result.status) {
96
+ switch (result.status.ok) {
97
+ case 'cell':
98
+ this._onCellUpdate();
99
+ break;
100
+ case 'sheet':
101
+ this._onSheetUpdate();
102
+ break;
103
+ case 'sheetAndCell':
104
+ this._onCellUpdate();
105
+ this._onSheetUpdate();
106
+ break;
107
+ case 'undoNothing':
108
+ case 'redoNothing':
109
+ case 'doNothing':
110
+ break;
111
+ default:
112
+ this._onCellUpdate();
113
+ this._onSheetUpdate();
114
+ }
115
+ }
116
+ return result;
117
+ }
118
+ load(buf, bookName) {
119
+ return read_file(this._id, bookName, buf);
120
+ }
121
+ release() {
122
+ release(this._id);
123
+ }
124
+ getSheetCount() {
125
+ return get_sheet_count(this._id);
126
+ }
127
+ getWorksheet(idx) {
128
+ if (idx >= this.getSheetCount())
129
+ throw Error(`invalid sheet index: ${idx}`);
130
+ return new Worksheet(this._id, idx);
131
+ }
132
+ getWorksheetById(id) {
133
+ return new Worksheet(this._id, id, false);
134
+ }
135
+ registryCustomFunc(customFunc) {
136
+ this._calculator.registry(customFunc);
137
+ }
138
+ _addPayload(p) {
139
+ if (p.type === 'cellInput')
140
+ return cell_input(this._id, p.sheetIdx, p.row, p.col, p.input);
141
+ if (p.type === 'insertRows')
142
+ return row_insert(this._id, p.sheetIdx, p.start, p.cnt);
143
+ if (p.type === 'deleteRows')
144
+ return row_delete(this._id, p.sheetIdx, p.start, p.cnt);
145
+ if (p.type === 'insertCols')
146
+ return col_insert(this._id, p.sheetIdx, p.start, p.cnt);
147
+ if (p.type === 'deleteCols')
148
+ return col_delete(this._id, p.sheetIdx, p.start, p.cnt);
149
+ if (p.type === 'createBlock')
150
+ return create_block(this._id, p.sheetIdx, p.blockId, p.masterRow, p.masterCol, p.rowCnt, p.colCnt);
151
+ if (p.type === 'moveBlock')
152
+ return move_block(this._id, p.sheetIdx, p.blockId, p.newMasterRow, p.newMasterCol);
153
+ if (p.type === 'setCellBorder')
154
+ return set_cell_border(this._id, p.sheetIdx, p.row, p.col, p.leftColor, p.rightColor, p.topColor, p.bottomColor, p.leftBorderType, p.rightBorderType, p.topBorderType, p.bottomBorderType, p.outline, p.diagonalUp, p.diagonalDown);
155
+ if (p.type === 'setLineBorder')
156
+ return set_line_border(this._id, p.sheetIdx, p.row, p.line, p.leftColor, p.rightColor, p.topColor, p.bottomColor, p.leftBorderType, p.rightBorderType, p.topBorderType, p.bottomBorderType, p.outline, p.diagonalUp, p.diagonalDown);
157
+ if (p.type === 'setCellFont')
158
+ return set_font(this._id, p.sheetIdx, p.row, p.col, p.bold, p.italic, p.name, p.underline, p.color, p.size, p.outline, p.shadow, p.strike, p.condense);
159
+ if (p.type === 'setLineFont')
160
+ return set_line_font(this._id, p.sheetIdx, p.from, p.to, p.row, p.bold, p.italic, p.name, p.underline, p.color, p.size, p.outline, p.shadow, p.strike, p.condense);
161
+ if (p.type === 'blockInput')
162
+ return block_input(this._id, p.sheetIdx, p.blockId, p.row, p.col, p.input);
163
+ if (p.type === 'insertBlockCols')
164
+ return block_line_shift(this._id, p.sheetIdx, p.blockId, p.colIdx, p.cnt, false, true);
165
+ if (p.type === 'insertBlockRows')
166
+ return block_line_shift(this._id, p.sheetIdx, p.blockId, p.rowIdx, p.cnt, true, true);
167
+ if (p.type === 'deleteBlockRows')
168
+ return block_line_shift(this._id, p.sheetIdx, p.blockId, p.rowIdx, p.cnt, true, false);
169
+ if (p.type === 'deleteBlockCols')
170
+ return block_line_shift(this._id, p.sheetIdx, p.blockId, p.colIdx, p.cnt, true, true);
171
+ if (p.type === 'sheetRename') {
172
+ if (p.oldName) {
173
+ return sheet_rename_by_name(this._id, p.oldName, p.newName);
174
+ }
175
+ if (p.idx) {
176
+ return sheet_rename_by_idx(this._id, p.idx, p.newName);
177
+ }
178
+ }
179
+ if (p.type === 'deleteSheet')
180
+ return delete_sheet(this._id, p.sheetIdx);
181
+ if (p.type === 'insertSheet')
182
+ return create_sheet(this._id, p.sheetIdx, p.name);
183
+ if (p.type === 'cellClear')
184
+ return cell_clear(this._id, p.sheetIdx, p.row, p.col);
185
+ if (p.type === 'setColWidth')
186
+ return set_col_width(this._id, p.sheetIdx, p.col, p.width);
187
+ if (p.type === 'setRowHeight')
188
+ return set_row_height(this._id, p.sheetIdx, p.row, p.height);
189
+ if (p.type === 'setLineAlignment')
190
+ return set_line_alignment(this._id, p.sheetIdx, p.row, p.from, p.to, p.alignment.horizontal, p.alignment.vertical);
191
+ if (p.type === 'setCellAlignment')
192
+ return set_cell_alignment(this._id, p.sheetIdx, p.row, p.col, p.alignment.horizontal, p.alignment.vertical);
193
+ if (p.type === 'setCellPatternFill')
194
+ return set_cell_pattern_fill(this._id, p.sheetIdx, p.row, p.col, p.fgColor, p.bgColor, p.pattern);
195
+ if (p.type === 'setLinePatternFill')
196
+ return set_line_pattern_fill(this._id, p.sheetIdx, p.row, p.from, p.to, p.fgColor, p.bgColor, p.pattern);
197
+ if (p.type === 'mergeCells')
198
+ return merge_cells(this._id, p.sheetIdx, p.startRow, p.startCol, p.endRow, p.endCol);
199
+ if (p.type === 'splitMergedCells')
200
+ return split_merged_cells(this._id, p.sheetIdx, p.row, p.col);
201
+ if (p.type === 'cellFormatBrush')
202
+ return set_cell_format_brush(this._id, p.srcSheetIdx, p.srcRow, p.srcCol, p.dstSheetIdx, p.dstRowStart, p.dstColStart, p.dstRowEnd, p.dstColEnd);
203
+ if (p.type === 'lineFormatBrush')
204
+ return set_line_format_brush(this._id, p.srcSheetIdx, p.srcRow, p.srcCol, p.dstSheetIdx, p.row, p.from, p.to);
205
+ // eslint-disable-next-line no-console
206
+ console.log(`Unimplemented!: ${p.type}`);
207
+ }
208
+ _inputAsyncResult(r) {
209
+ return input_async_result(this._id, r);
210
+ }
211
+ _onCellUpdate() {
212
+ this._cellUpdatedCallbacks.forEach((exec) => {
213
+ exec();
214
+ });
215
+ }
216
+ _onSheetUpdate() {
217
+ this._sheetInfoUpdatedCallbacks.forEach((exec) => {
218
+ exec();
219
+ });
220
+ }
221
+ _cellUpdatedCallbacks = [];
222
+ _sheetInfoUpdatedCallbacks = [];
223
+ // The book id which is generated by `WASM`
224
+ _id;
225
+ _blockManager;
226
+ _calculator = new Calculator();
227
+ }
@@ -0,0 +1,24 @@
1
+ import { BlockInfo, CellPosition, ColInfo, DisplayWindow, DisplayWindowWithStartPoint, RowInfo, Style, Value, CellInfo, SheetDimension, MergeCell } from '../bindings';
2
+ import { Cell } from './cell';
3
+ import { Result } from './utils';
4
+ export declare class Worksheet {
5
+ constructor(id: number, sheetIdxOrId: number, isSheetIdx?: boolean);
6
+ getSheetDimension(): Result<SheetDimension>;
7
+ getDisplayWindow(startRow: number, endRow: number, startCol: number, endCol: number): Result<DisplayWindow>;
8
+ getDisplayWindowWithStartPoint(startX: number, startY: number, height: number, width: number): DisplayWindowWithStartPoint;
9
+ getCellPosition(row: number, col: number): CellPosition;
10
+ getDisplayWindowWithCellPosition(row: number, col: number, height: number, width: number): DisplayWindowWithStartPoint;
11
+ getRowHeight(rowIdx: number): Result<number>;
12
+ getColWidth(colIdx: number): Result<number>;
13
+ getRowInfo(rowIdx: number): Result<RowInfo>;
14
+ getColInfo(colIdx: number): Result<ColInfo>;
15
+ getCellInfo(rowIdx: number, colIdx: number): Result<CellInfo>;
16
+ getMergedCells(startRow: number, startCol: number, endRow: number, endCol: number): readonly MergeCell[];
17
+ getCell(rowIdx: number, colIdx: number): Result<Cell>;
18
+ getFormula(rowIdx: number, colIdx: number): Result<string>;
19
+ getStyle(rowIdx: number, colIdx: number): Result<Style>;
20
+ getValue(rowIdx: number, colIdx: number): Result<Value>;
21
+ getFullyCoveredBlocks(rowIdx: number, colIdx: number, rowCnt: number, colCnt: number): Result<BlockInfo[]>;
22
+ private _id;
23
+ private _sheetId;
24
+ }
@@ -0,0 +1,71 @@
1
+ import { get_cell_info, get_col_info, get_col_width, get_formula, get_row_height, get_row_info, get_style, get_value, get_display_window, get_display_window_with_start_point, get_display_window_within_cell, get_cell_position, get_all_fully_covered_blocks, get_sheet_dimension, get_sheet_id, } from '../../wasm';
2
+ import { get_merged_cells } from '../../wasm/logisheets_wasm_server';
3
+ import { Cell } from './cell';
4
+ import { isErrorMessage } from './utils';
5
+ export class Worksheet {
6
+ constructor(id, sheetIdxOrId, isSheetIdx = true) {
7
+ this._id = id;
8
+ if (isSheetIdx) {
9
+ this._sheetId = get_sheet_id(id, sheetIdxOrId);
10
+ }
11
+ else {
12
+ this._sheetId = sheetIdxOrId;
13
+ }
14
+ }
15
+ getSheetDimension() {
16
+ return get_sheet_dimension(this._id, this._sheetId);
17
+ }
18
+ getDisplayWindow(startRow, endRow, startCol, endCol) {
19
+ return get_display_window(this._id, this._sheetId, startRow, endRow, startCol, endCol);
20
+ }
21
+ getDisplayWindowWithStartPoint(startX, startY, height, width) {
22
+ return get_display_window_with_start_point(this._id, this._sheetId, startX, startY, height, width);
23
+ }
24
+ getCellPosition(row, col) {
25
+ const result = get_cell_position(this._id, this._sheetId, row, col);
26
+ return result;
27
+ }
28
+ getDisplayWindowWithCellPosition(row, col, height, width) {
29
+ return get_display_window_within_cell(this._id, this._sheetId, row, col, height, width);
30
+ }
31
+ getRowHeight(rowIdx) {
32
+ return get_row_height(this._id, this._sheetId, rowIdx);
33
+ }
34
+ getColWidth(colIdx) {
35
+ return get_col_width(this._id, this._sheetId, colIdx);
36
+ }
37
+ getRowInfo(rowIdx) {
38
+ return get_row_info(this._id, this._sheetId, rowIdx);
39
+ }
40
+ getColInfo(colIdx) {
41
+ return get_col_info(this._id, this._sheetId, colIdx);
42
+ }
43
+ getCellInfo(rowIdx, colIdx) {
44
+ const cellInfo = get_cell_info(this._id, this._sheetId, rowIdx, colIdx);
45
+ return cellInfo;
46
+ }
47
+ getMergedCells(startRow, startCol, endRow, endCol) {
48
+ return get_merged_cells(this._id, this._sheetId, startRow, startCol, endRow, endCol);
49
+ }
50
+ getCell(rowIdx, colIdx) {
51
+ const cellInfo = this.getCellInfo(rowIdx, colIdx);
52
+ if (isErrorMessage(cellInfo)) {
53
+ return cellInfo;
54
+ }
55
+ return new Cell(cellInfo);
56
+ }
57
+ getFormula(rowIdx, colIdx) {
58
+ return get_formula(this._id, this._sheetId, rowIdx, colIdx);
59
+ }
60
+ getStyle(rowIdx, colIdx) {
61
+ return get_style(this._id, this._sheetId, rowIdx, colIdx);
62
+ }
63
+ getValue(rowIdx, colIdx) {
64
+ return get_value(this._id, this._sheetId, rowIdx, colIdx);
65
+ }
66
+ getFullyCoveredBlocks(rowIdx, colIdx, rowCnt, colCnt) {
67
+ return get_all_fully_covered_blocks(this._id, this._sheetId, rowIdx, colIdx, rowCnt, colCnt);
68
+ }
69
+ _id;
70
+ _sheetId;
71
+ }
@@ -0,0 +1,7 @@
1
+ import { StatusCode } from './status_code';
2
+ import { Task } from './task';
3
+ export interface ActionEffect {
4
+ version: number;
5
+ asyncTasks: readonly Task[];
6
+ status: StatusCode;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { HorizontalAlignment } from './horizontal_alignment';
2
+ import { VerticalAlignment } from './vertical_alignment';
3
+ export interface Alignment {
4
+ horizontal?: HorizontalAlignment;
5
+ vertical?: VerticalAlignment;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ import { Task } from './task';
2
+ export interface AsyncFuncResult {
3
+ tasks: readonly Task[];
4
+ values: readonly string[];
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export interface BlockCellId {
2
+ blockId: number;
3
+ row: number;
4
+ col: number;
5
+ }
@@ -0,0 +1,2 @@
1
+ // DO NOT EDIT. CODE GENERATED BY gents.
2
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface BlockInfo {
2
+ blockId: number;
3
+ rowStart: number;
4
+ rowCnt: number;
5
+ colStart: number;
6
+ colCnt: number;
7
+ }
@@ -0,0 +1,2 @@
1
+ // DO NOT EDIT. CODE GENERATED BY gents.
2
+ export {};