@tanstack/table-core 9.0.0-alpha.10 → 9.0.0-alpha.11

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 (570) hide show
  1. package/dist/esm/core/cells/constructCell.d.ts +7 -0
  2. package/dist/esm/core/cells/constructCell.js +21 -0
  3. package/dist/esm/core/cells/constructCell.js.map +1 -0
  4. package/dist/esm/core/cells/coreCellsFeature.d.ts +10 -0
  5. package/dist/esm/core/cells/coreCellsFeature.js +26 -0
  6. package/dist/esm/core/cells/coreCellsFeature.js.map +1 -0
  7. package/dist/esm/core/cells/coreCellsFeature.types.d.ts +52 -0
  8. package/dist/esm/core/cells/coreCellsFeature.utils.d.ts +13 -0
  9. package/dist/esm/core/cells/coreCellsFeature.utils.js +23 -0
  10. package/dist/esm/core/cells/coreCellsFeature.utils.js.map +1 -0
  11. package/dist/esm/core/columns/constructColumn.d.ts +6 -0
  12. package/dist/esm/core/columns/constructColumn.js +60 -0
  13. package/dist/esm/core/columns/constructColumn.js.map +1 -0
  14. package/dist/esm/core/columns/coreColumnsFeature.d.ts +10 -0
  15. package/dist/esm/core/columns/coreColumnsFeature.js +61 -0
  16. package/dist/esm/core/columns/coreColumnsFeature.js.map +1 -0
  17. package/dist/esm/core/columns/coreColumnsFeature.types.d.ts +84 -0
  18. package/dist/esm/core/columns/coreColumnsFeature.utils.d.ts +13 -0
  19. package/dist/esm/core/columns/coreColumnsFeature.utils.js +91 -0
  20. package/dist/esm/core/columns/coreColumnsFeature.utils.js.map +1 -0
  21. package/dist/esm/core/coreFeatures.d.ts +15 -0
  22. package/dist/esm/core/coreFeatures.js +18 -0
  23. package/dist/esm/core/coreFeatures.js.map +1 -0
  24. package/dist/esm/core/headers/buildHeaderGroups.d.ts +6 -0
  25. package/dist/esm/core/headers/buildHeaderGroups.js +99 -0
  26. package/dist/esm/core/headers/buildHeaderGroups.js.map +1 -0
  27. package/dist/esm/core/headers/constructHeader.d.ts +12 -0
  28. package/dist/esm/core/headers/constructHeader.js +28 -0
  29. package/dist/esm/core/headers/constructHeader.js.map +1 -0
  30. package/dist/esm/core/headers/coreHeadersFeature.d.ts +10 -0
  31. package/dist/esm/core/headers/coreHeadersFeature.js +68 -0
  32. package/dist/esm/core/headers/coreHeadersFeature.js.map +1 -0
  33. package/dist/esm/core/headers/coreHeadersFeature.types.d.ts +99 -0
  34. package/dist/esm/core/headers/coreHeadersFeature.utils.d.ts +15 -0
  35. package/dist/esm/core/headers/coreHeadersFeature.utils.js +85 -0
  36. package/dist/esm/core/headers/coreHeadersFeature.utils.js.map +1 -0
  37. package/dist/esm/core/row-models/coreRowModelsFeature.d.ts +10 -0
  38. package/dist/esm/core/row-models/coreRowModelsFeature.js +52 -0
  39. package/dist/esm/core/row-models/coreRowModelsFeature.js.map +1 -0
  40. package/dist/esm/core/row-models/coreRowModelsFeature.types.d.ts +39 -0
  41. package/dist/esm/core/row-models/coreRowModelsFeature.utils.d.ts +16 -0
  42. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js +85 -0
  43. package/dist/esm/core/row-models/coreRowModelsFeature.utils.js.map +1 -0
  44. package/dist/esm/core/row-models/createCoreRowModel.d.ts +5 -0
  45. package/dist/esm/core/row-models/createCoreRowModel.js +54 -0
  46. package/dist/esm/core/row-models/createCoreRowModel.js.map +1 -0
  47. package/dist/esm/core/rows/constructRow.d.ts +5 -0
  48. package/dist/esm/core/rows/constructRow.js +29 -0
  49. package/dist/esm/core/rows/constructRow.js.map +1 -0
  50. package/dist/esm/core/rows/coreRowsFeature.d.ts +10 -0
  51. package/dist/esm/core/rows/coreRowsFeature.js +52 -0
  52. package/dist/esm/core/rows/coreRowsFeature.js.map +1 -0
  53. package/dist/esm/core/rows/coreRowsFeature.types.d.ts +91 -0
  54. package/dist/esm/core/rows/coreRowsFeature.utils.d.ts +15 -0
  55. package/dist/esm/core/rows/coreRowsFeature.utils.js +94 -0
  56. package/dist/esm/core/rows/coreRowsFeature.utils.js.map +1 -0
  57. package/dist/esm/core/table/constructTable.d.ts +9 -0
  58. package/dist/esm/core/table/constructTable.js +65 -0
  59. package/dist/esm/core/table/constructTable.js.map +1 -0
  60. package/dist/esm/core/table/coreTablesFeature.d.ts +10 -0
  61. package/dist/esm/core/table/coreTablesFeature.js +22 -0
  62. package/dist/esm/core/table/coreTablesFeature.js.map +1 -0
  63. package/dist/esm/core/table/coreTablesFeature.types.d.ts +105 -0
  64. package/dist/esm/core/table/coreTablesFeature.utils.d.ts +7 -0
  65. package/dist/esm/core/table/coreTablesFeature.utils.js +23 -0
  66. package/dist/esm/core/table/coreTablesFeature.utils.js.map +1 -0
  67. package/dist/esm/features/column-faceting/columnFacetingFeature.d.ts +10 -0
  68. package/dist/esm/features/column-faceting/columnFacetingFeature.js +80 -0
  69. package/dist/esm/features/column-faceting/columnFacetingFeature.js.map +1 -0
  70. package/dist/esm/features/column-faceting/columnFacetingFeature.types.d.ts +68 -0
  71. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.d.ts +11 -0
  72. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js +33 -0
  73. package/dist/esm/features/column-faceting/columnFacetingFeature.utils.js.map +1 -0
  74. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.d.ts +4 -0
  75. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js +41 -0
  76. package/dist/esm/features/column-faceting/createFacetedMinMaxValues.js.map +1 -0
  77. package/dist/esm/features/column-faceting/createFacetedRowModel.d.ts +5 -0
  78. package/dist/esm/features/column-faceting/createFacetedRowModel.js +47 -0
  79. package/dist/esm/features/column-faceting/createFacetedRowModel.js.map +1 -0
  80. package/dist/esm/features/column-faceting/createFacetedUniqueValues.d.ts +4 -0
  81. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js +46 -0
  82. package/dist/esm/features/column-faceting/createFacetedUniqueValues.js.map +1 -0
  83. package/dist/esm/features/column-filtering/columnFilteringFeature.d.ts +11 -0
  84. package/dist/esm/features/column-filtering/columnFilteringFeature.js +69 -0
  85. package/dist/esm/features/column-filtering/columnFilteringFeature.js.map +1 -0
  86. package/dist/esm/features/column-filtering/columnFilteringFeature.types.d.ts +145 -0
  87. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.d.ts +16 -0
  88. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js +118 -0
  89. package/dist/esm/features/column-filtering/columnFilteringFeature.utils.js.map +1 -0
  90. package/dist/esm/features/column-filtering/createFilteredRowModel.d.ts +6 -0
  91. package/dist/esm/features/column-filtering/createFilteredRowModel.js +110 -0
  92. package/dist/esm/features/column-filtering/createFilteredRowModel.js.map +1 -0
  93. package/dist/esm/features/column-filtering/filterRowsUtils.d.ts +6 -0
  94. package/dist/esm/{utils → features/column-filtering}/filterRowsUtils.js +15 -19
  95. package/dist/esm/features/column-filtering/filterRowsUtils.js.map +1 -0
  96. package/dist/esm/features/column-grouping/columnGroupingFeature.d.ts +10 -0
  97. package/dist/esm/features/column-grouping/columnGroupingFeature.js +91 -0
  98. package/dist/esm/features/column-grouping/columnGroupingFeature.js.map +1 -0
  99. package/dist/esm/features/column-grouping/columnGroupingFeature.types.d.ts +153 -0
  100. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.d.ts +22 -0
  101. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js +99 -0
  102. package/dist/esm/features/column-grouping/columnGroupingFeature.utils.js.map +1 -0
  103. package/dist/esm/features/column-grouping/createGroupedRowModel.d.ts +6 -0
  104. package/dist/esm/features/column-grouping/createGroupedRowModel.js +144 -0
  105. package/dist/esm/features/column-grouping/createGroupedRowModel.js.map +1 -0
  106. package/dist/esm/features/column-ordering/columnOrderingFeature.d.ts +10 -0
  107. package/dist/esm/features/column-ordering/columnOrderingFeature.js +60 -0
  108. package/dist/esm/features/column-ordering/columnOrderingFeature.js.map +1 -0
  109. package/dist/{cjs/features/ColumnOrdering.d.cts → esm/features/column-ordering/columnOrderingFeature.types.d.ts} +8 -22
  110. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.d.ts +14 -0
  111. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js +72 -0
  112. package/dist/esm/features/column-ordering/columnOrderingFeature.utils.js.map +1 -0
  113. package/dist/esm/features/column-pinning/columnPinningFeature.d.ts +10 -0
  114. package/dist/esm/features/column-pinning/columnPinningFeature.js +260 -0
  115. package/dist/esm/features/column-pinning/columnPinningFeature.js.map +1 -0
  116. package/dist/esm/features/column-pinning/columnPinningFeature.types.d.ts +157 -0
  117. package/dist/esm/features/column-pinning/columnPinningFeature.utils.d.ts +39 -0
  118. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js +325 -0
  119. package/dist/esm/features/column-pinning/columnPinningFeature.utils.js.map +1 -0
  120. package/dist/esm/features/column-resizing/columnResizingFeature.d.ts +11 -0
  121. package/dist/esm/features/column-resizing/columnResizingFeature.js +52 -0
  122. package/dist/esm/features/column-resizing/columnResizingFeature.js.map +1 -0
  123. package/dist/esm/features/column-resizing/columnResizingFeature.types.d.ts +68 -0
  124. package/dist/esm/features/column-resizing/columnResizingFeature.utils.d.ts +14 -0
  125. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js +193 -0
  126. package/dist/esm/features/column-resizing/columnResizingFeature.utils.js.map +1 -0
  127. package/dist/esm/features/column-sizing/columnSizingFeature.d.ts +11 -0
  128. package/dist/esm/features/column-sizing/columnSizingFeature.js +95 -0
  129. package/dist/esm/features/column-sizing/columnSizingFeature.js.map +1 -0
  130. package/dist/esm/features/column-sizing/columnSizingFeature.types.d.ts +81 -0
  131. package/dist/esm/features/column-sizing/columnSizingFeature.utils.d.ts +25 -0
  132. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js +128 -0
  133. package/dist/esm/features/column-sizing/columnSizingFeature.utils.js.map +1 -0
  134. package/dist/esm/features/column-visibility/columnVisibilityFeature.d.ts +10 -0
  135. package/dist/esm/features/column-visibility/columnVisibilityFeature.js +100 -0
  136. package/dist/esm/features/column-visibility/columnVisibilityFeature.js.map +1 -0
  137. package/dist/esm/features/column-visibility/columnVisibilityFeature.types.d.ts +84 -0
  138. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.d.ts +22 -0
  139. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js +105 -0
  140. package/dist/esm/features/column-visibility/columnVisibilityFeature.utils.js.map +1 -0
  141. package/dist/esm/features/global-filtering/globalFilteringFeature.d.ts +11 -0
  142. package/dist/esm/features/global-filtering/globalFilteringFeature.js +51 -0
  143. package/dist/esm/features/global-filtering/globalFilteringFeature.js.map +1 -0
  144. package/dist/esm/features/global-filtering/globalFilteringFeature.types.d.ts +59 -0
  145. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.d.ts +10 -0
  146. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js +30 -0
  147. package/dist/esm/features/global-filtering/globalFilteringFeature.utils.js.map +1 -0
  148. package/dist/esm/features/row-expanding/createExpandedRowModel.d.ts +6 -0
  149. package/dist/esm/features/row-expanding/createExpandedRowModel.js +49 -0
  150. package/dist/esm/features/row-expanding/createExpandedRowModel.js.map +1 -0
  151. package/dist/esm/features/row-expanding/rowExpandingFeature.d.ts +10 -0
  152. package/dist/esm/features/row-expanding/rowExpandingFeature.js +74 -0
  153. package/dist/esm/features/row-expanding/rowExpandingFeature.js.map +1 -0
  154. package/dist/esm/features/row-expanding/rowExpandingFeature.types.d.ts +116 -0
  155. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.d.ts +20 -0
  156. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js +125 -0
  157. package/dist/esm/features/row-expanding/rowExpandingFeature.utils.js.map +1 -0
  158. package/dist/esm/features/row-pagination/createPaginatedRowModel.d.ts +5 -0
  159. package/dist/esm/features/row-pagination/createPaginatedRowModel.js +58 -0
  160. package/dist/esm/features/row-pagination/createPaginatedRowModel.js.map +1 -0
  161. package/dist/esm/features/row-pagination/rowPaginationFeature.d.ts +10 -0
  162. package/dist/esm/features/row-pagination/rowPaginationFeature.js +78 -0
  163. package/dist/esm/features/row-pagination/rowPaginationFeature.js.map +1 -0
  164. package/dist/esm/features/row-pagination/rowPaginationFeature.types.d.ts +119 -0
  165. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.d.ts +21 -0
  166. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js +126 -0
  167. package/dist/esm/features/row-pagination/rowPaginationFeature.utils.js.map +1 -0
  168. package/dist/esm/features/row-pinning/rowPinningFeature.d.ts +10 -0
  169. package/dist/esm/features/row-pinning/rowPinningFeature.js +80 -0
  170. package/dist/esm/features/row-pinning/rowPinningFeature.js.map +1 -0
  171. package/dist/esm/features/row-pinning/rowPinningFeature.types.d.ts +72 -0
  172. package/dist/esm/features/row-pinning/rowPinningFeature.utils.d.ts +16 -0
  173. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js +115 -0
  174. package/dist/esm/features/row-pinning/rowPinningFeature.utils.js.map +1 -0
  175. package/dist/esm/features/row-selection/rowSelectionFeature.d.ts +10 -0
  176. package/dist/esm/features/row-selection/rowSelectionFeature.js +112 -0
  177. package/dist/esm/features/row-selection/rowSelectionFeature.js.map +1 -0
  178. package/dist/esm/features/row-selection/rowSelectionFeature.types.d.ts +123 -0
  179. package/dist/esm/features/row-selection/rowSelectionFeature.utils.d.ts +34 -0
  180. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js +290 -0
  181. package/dist/esm/features/row-selection/rowSelectionFeature.utils.js.map +1 -0
  182. package/dist/esm/features/row-sorting/createSortedRowModel.d.ts +6 -0
  183. package/dist/esm/features/row-sorting/createSortedRowModel.js +94 -0
  184. package/dist/esm/features/row-sorting/createSortedRowModel.js.map +1 -0
  185. package/dist/esm/features/row-sorting/rowSortingFeature.d.ts +10 -0
  186. package/dist/esm/features/row-sorting/rowSortingFeature.js +82 -0
  187. package/dist/esm/features/row-sorting/rowSortingFeature.js.map +1 -0
  188. package/dist/esm/features/row-sorting/rowSortingFeature.types.d.ts +178 -0
  189. package/dist/esm/features/row-sorting/rowSortingFeature.utils.d.ts +20 -0
  190. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js +181 -0
  191. package/dist/esm/features/row-sorting/rowSortingFeature.utils.js.map +1 -0
  192. package/dist/esm/features/stockFeatures.d.ts +31 -0
  193. package/dist/esm/features/stockFeatures.js +34 -0
  194. package/dist/esm/features/stockFeatures.js.map +1 -0
  195. package/dist/esm/fns/aggregationFns.d.ts +49 -0
  196. package/dist/esm/fns/aggregationFns.js +110 -0
  197. package/dist/esm/fns/aggregationFns.js.map +1 -0
  198. package/dist/esm/fns/filterFns.d.ts +76 -0
  199. package/dist/esm/fns/filterFns.js +134 -0
  200. package/dist/esm/fns/filterFns.js.map +1 -0
  201. package/dist/esm/fns/sortFns.d.ts +17 -0
  202. package/dist/esm/{sortingFns.js → fns/sortFns.js} +21 -15
  203. package/dist/esm/fns/sortFns.js.map +1 -0
  204. package/dist/esm/helpers/columnHelper.d.ts +61 -0
  205. package/dist/esm/{columnHelper.js → helpers/columnHelper.js} +1 -0
  206. package/dist/esm/helpers/columnHelper.js.map +1 -0
  207. package/dist/esm/helpers/tableFeatures.d.ts +13 -0
  208. package/dist/esm/helpers/tableFeatures.js +7 -0
  209. package/dist/esm/helpers/tableFeatures.js.map +1 -0
  210. package/dist/esm/helpers/tableHelper.d.ts +25 -0
  211. package/dist/esm/helpers/tableHelper.js +13 -0
  212. package/dist/esm/helpers/tableHelper.js.map +1 -0
  213. package/dist/esm/helpers/tableOptions.d.ts +23 -0
  214. package/dist/esm/helpers/tableOptions.js +7 -0
  215. package/dist/esm/helpers/tableOptions.js.map +1 -0
  216. package/dist/esm/index.d.ts +109 -33
  217. package/dist/esm/index.js +397 -66
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/types/Cell.d.ts +13 -0
  220. package/dist/esm/types/Column.d.ts +26 -0
  221. package/dist/esm/types/ColumnDef.d.ts +64 -0
  222. package/dist/esm/types/Header.d.ts +14 -0
  223. package/dist/esm/types/HeaderGroup.d.ts +12 -0
  224. package/dist/esm/types/Row.d.ts +19 -0
  225. package/dist/esm/types/RowModel.d.ts +23 -0
  226. package/dist/esm/types/RowModelFns.d.ts +15 -0
  227. package/dist/esm/types/Table.d.ts +53 -0
  228. package/dist/esm/types/TableFeatures.d.ts +77 -0
  229. package/dist/esm/types/TableOptions.d.ts +39 -0
  230. package/dist/esm/types/TableState.d.ts +23 -0
  231. package/dist/esm/types/type-utils.d.ts +22 -0
  232. package/dist/esm/utils.d.ts +66 -33
  233. package/dist/esm/utils.js +183 -50
  234. package/dist/esm/utils.js.map +1 -1
  235. package/package.json +21 -12
  236. package/src/core/cells/constructCell.ts +49 -0
  237. package/src/core/cells/coreCellsFeature.ts +44 -0
  238. package/src/core/cells/coreCellsFeature.types.ts +68 -0
  239. package/src/core/cells/coreCellsFeature.utils.ts +35 -0
  240. package/src/core/columns/constructColumn.ts +111 -0
  241. package/src/core/columns/coreColumnsFeature.ts +90 -0
  242. package/src/core/columns/coreColumnsFeature.types.ts +103 -0
  243. package/src/core/columns/coreColumnsFeature.utils.ts +160 -0
  244. package/src/core/coreFeatures.ts +24 -0
  245. package/src/core/headers/buildHeaderGroups.ts +177 -0
  246. package/src/core/headers/constructHeader.ts +61 -0
  247. package/src/core/headers/coreHeadersFeature.ts +98 -0
  248. package/src/core/headers/coreHeadersFeature.types.ts +123 -0
  249. package/src/core/headers/coreHeadersFeature.utils.ts +131 -0
  250. package/src/core/row-models/coreRowModelsFeature.ts +78 -0
  251. package/src/core/row-models/coreRowModelsFeature.types.ts +67 -0
  252. package/src/core/row-models/coreRowModelsFeature.utils.ts +140 -0
  253. package/src/core/row-models/createCoreRowModel.ts +88 -0
  254. package/src/core/rows/constructRow.ts +59 -0
  255. package/src/core/rows/coreRowsFeature.ts +84 -0
  256. package/src/core/rows/coreRowsFeature.types.ts +111 -0
  257. package/src/core/rows/coreRowsFeature.utils.ts +152 -0
  258. package/src/core/table/constructTable.ts +95 -0
  259. package/src/core/table/coreTablesFeature.ts +36 -0
  260. package/src/core/table/coreTablesFeature.types.ts +123 -0
  261. package/src/core/table/coreTablesFeature.utils.ts +40 -0
  262. package/src/features/column-faceting/columnFacetingFeature.ts +112 -0
  263. package/src/features/column-faceting/columnFacetingFeature.types.ts +97 -0
  264. package/src/features/column-faceting/columnFacetingFeature.utils.ts +77 -0
  265. package/src/features/column-faceting/createFacetedMinMaxValues.ts +63 -0
  266. package/src/features/column-faceting/createFacetedRowModel.ts +76 -0
  267. package/src/features/column-faceting/createFacetedUniqueValues.ts +60 -0
  268. package/src/features/column-filtering/columnFilteringFeature.ts +121 -0
  269. package/src/features/column-filtering/columnFilteringFeature.types.ts +219 -0
  270. package/src/features/column-filtering/columnFilteringFeature.utils.ts +213 -0
  271. package/src/features/column-filtering/createFilteredRowModel.ts +171 -0
  272. package/src/features/column-filtering/filterRowsUtils.ts +152 -0
  273. package/src/features/column-grouping/columnGroupingFeature.ts +151 -0
  274. package/src/features/column-grouping/columnGroupingFeature.types.ts +218 -0
  275. package/src/features/column-grouping/columnGroupingFeature.utils.ts +192 -0
  276. package/src/features/column-grouping/createGroupedRowModel.ts +215 -0
  277. package/src/features/column-ordering/columnOrderingFeature.ts +96 -0
  278. package/src/features/column-ordering/columnOrderingFeature.types.ts +49 -0
  279. package/src/features/column-ordering/columnOrderingFeature.utils.ts +133 -0
  280. package/src/features/column-pinning/columnPinningFeature.ts +324 -0
  281. package/src/features/column-pinning/columnPinningFeature.types.ts +176 -0
  282. package/src/features/column-pinning/columnPinningFeature.utils.ts +537 -0
  283. package/src/features/column-resizing/columnResizingFeature.ts +92 -0
  284. package/src/features/column-resizing/columnResizingFeature.types.ts +81 -0
  285. package/src/features/column-resizing/columnResizingFeature.utils.ts +265 -0
  286. package/src/features/column-sizing/columnSizingFeature.ts +146 -0
  287. package/src/features/column-sizing/columnSizingFeature.types.ts +92 -0
  288. package/src/features/column-sizing/columnSizingFeature.utils.ts +211 -0
  289. package/src/features/column-visibility/columnVisibilityFeature.ts +155 -0
  290. package/src/features/column-visibility/columnVisibilityFeature.types.ts +101 -0
  291. package/src/features/column-visibility/columnVisibilityFeature.utils.ts +183 -0
  292. package/src/features/global-filtering/globalFilteringFeature.ts +92 -0
  293. package/src/features/global-filtering/globalFilteringFeature.types.ts +84 -0
  294. package/src/features/global-filtering/globalFilteringFeature.utils.ts +60 -0
  295. package/src/features/row-expanding/createExpandedRowModel.ts +72 -0
  296. package/src/features/row-expanding/rowExpandingFeature.ts +122 -0
  297. package/src/features/row-expanding/rowExpandingFeature.types.ts +141 -0
  298. package/src/features/row-expanding/rowExpandingFeature.utils.ts +207 -0
  299. package/src/features/row-pagination/createPaginatedRowModel.ts +78 -0
  300. package/src/features/row-pagination/rowPaginationFeature.ts +121 -0
  301. package/src/features/row-pagination/rowPaginationFeature.types.ts +141 -0
  302. package/src/features/row-pagination/rowPaginationFeature.utils.ts +204 -0
  303. package/src/features/row-pinning/rowPinningFeature.ts +121 -0
  304. package/src/features/row-pinning/rowPinningFeature.types.ts +89 -0
  305. package/src/features/row-pinning/rowPinningFeature.utils.ts +197 -0
  306. package/src/features/row-selection/rowSelectionFeature.ts +164 -0
  307. package/src/features/row-selection/rowSelectionFeature.types.ts +143 -0
  308. package/src/features/row-selection/rowSelectionFeature.utils.ts +464 -0
  309. package/src/features/row-sorting/createSortedRowModel.ts +147 -0
  310. package/src/features/row-sorting/rowSortingFeature.ts +136 -0
  311. package/src/features/row-sorting/rowSortingFeature.types.ts +229 -0
  312. package/src/features/row-sorting/rowSortingFeature.utils.ts +320 -0
  313. package/src/features/stockFeatures.ts +48 -0
  314. package/src/fns/aggregationFns.ts +220 -0
  315. package/src/fns/filterFns.ts +379 -0
  316. package/src/{sortingFns.ts → fns/sortFns.ts} +66 -21
  317. package/src/helpers/columnHelper.ts +117 -0
  318. package/src/helpers/tableFeatures.ts +24 -0
  319. package/src/helpers/tableHelper.ts +61 -0
  320. package/src/helpers/tableOptions.ts +82 -0
  321. package/src/index.ts +156 -42
  322. package/src/types/Cell.ts +41 -0
  323. package/src/types/Column.ts +86 -0
  324. package/src/types/ColumnDef.ts +217 -0
  325. package/src/types/Header.ts +45 -0
  326. package/src/types/HeaderGroup.ts +24 -0
  327. package/src/types/Row.ts +55 -0
  328. package/src/types/RowModel.ts +137 -0
  329. package/src/types/RowModelFns.ts +51 -0
  330. package/src/types/Table.ts +125 -0
  331. package/src/types/TableFeatures.ts +150 -0
  332. package/src/types/TableOptions.ts +125 -0
  333. package/src/types/TableState.ts +88 -0
  334. package/src/types/type-utils.ts +84 -0
  335. package/src/utils.ts +344 -164
  336. package/dist/cjs/aggregationFns.cjs +0 -94
  337. package/dist/cjs/aggregationFns.cjs.map +0 -1
  338. package/dist/cjs/aggregationFns.d.cts +0 -14
  339. package/dist/cjs/columnHelper.cjs +0 -19
  340. package/dist/cjs/columnHelper.cjs.map +0 -1
  341. package/dist/cjs/columnHelper.d.cts +0 -9
  342. package/dist/cjs/core/cell.cjs +0 -38
  343. package/dist/cjs/core/cell.cjs.map +0 -1
  344. package/dist/cjs/core/cell.d.cts +0 -50
  345. package/dist/cjs/core/column.cjs +0 -81
  346. package/dist/cjs/core/column.cjs.map +0 -1
  347. package/dist/cjs/core/column.d.cts +0 -56
  348. package/dist/cjs/core/headers.cjs +0 -310
  349. package/dist/cjs/core/headers.cjs.map +0 -1
  350. package/dist/cjs/core/headers.d.cts +0 -195
  351. package/dist/cjs/core/row.cjs +0 -92
  352. package/dist/cjs/core/row.cjs.map +0 -1
  353. package/dist/cjs/core/row.d.cts +0 -92
  354. package/dist/cjs/core/table.cjs +0 -232
  355. package/dist/cjs/core/table.cjs.map +0 -1
  356. package/dist/cjs/core/table.d.cts +0 -229
  357. package/dist/cjs/features/ColumnFaceting.cjs +0 -29
  358. package/dist/cjs/features/ColumnFaceting.cjs.map +0 -1
  359. package/dist/cjs/features/ColumnFaceting.d.cts +0 -35
  360. package/dist/cjs/features/ColumnFiltering.cjs +0 -137
  361. package/dist/cjs/features/ColumnFiltering.cjs.map +0 -1
  362. package/dist/cjs/features/ColumnFiltering.d.cts +0 -195
  363. package/dist/cjs/features/ColumnGrouping.cjs +0 -133
  364. package/dist/cjs/features/ColumnGrouping.cjs.map +0 -1
  365. package/dist/cjs/features/ColumnGrouping.d.cts +0 -202
  366. package/dist/cjs/features/ColumnOrdering.cjs +0 -76
  367. package/dist/cjs/features/ColumnOrdering.cjs.map +0 -1
  368. package/dist/cjs/features/ColumnPinning.cjs +0 -145
  369. package/dist/cjs/features/ColumnPinning.cjs.map +0 -1
  370. package/dist/cjs/features/ColumnPinning.d.cts +0 -127
  371. package/dist/cjs/features/ColumnSizing.cjs +0 -307
  372. package/dist/cjs/features/ColumnSizing.cjs.map +0 -1
  373. package/dist/cjs/features/ColumnSizing.d.cts +0 -194
  374. package/dist/cjs/features/ColumnVisibility.cjs +0 -144
  375. package/dist/cjs/features/ColumnVisibility.cjs.map +0 -1
  376. package/dist/cjs/features/ColumnVisibility.d.cts +0 -130
  377. package/dist/cjs/features/GlobalFaceting.cjs +0 -29
  378. package/dist/cjs/features/GlobalFaceting.cjs.map +0 -1
  379. package/dist/cjs/features/GlobalFaceting.d.cts +0 -27
  380. package/dist/cjs/features/GlobalFiltering.cjs +0 -50
  381. package/dist/cjs/features/GlobalFiltering.cjs.map +0 -1
  382. package/dist/cjs/features/GlobalFiltering.d.cts +0 -80
  383. package/dist/cjs/features/RowExpanding.cjs +0 -152
  384. package/dist/cjs/features/RowExpanding.cjs.map +0 -1
  385. package/dist/cjs/features/RowExpanding.d.cts +0 -155
  386. package/dist/cjs/features/RowPagination.cjs +0 -161
  387. package/dist/cjs/features/RowPagination.cjs.map +0 -1
  388. package/dist/cjs/features/RowPagination.d.cts +0 -166
  389. package/dist/cjs/features/RowPinning.cjs +0 -132
  390. package/dist/cjs/features/RowPinning.cjs.map +0 -1
  391. package/dist/cjs/features/RowPinning.d.cts +0 -99
  392. package/dist/cjs/features/RowSelection.cjs +0 -296
  393. package/dist/cjs/features/RowSelection.cjs.map +0 -1
  394. package/dist/cjs/features/RowSelection.d.cts +0 -177
  395. package/dist/cjs/features/RowSorting.cjs +0 -200
  396. package/dist/cjs/features/RowSorting.cjs.map +0 -1
  397. package/dist/cjs/features/RowSorting.d.cts +0 -238
  398. package/dist/cjs/filterFns.cjs +0 -88
  399. package/dist/cjs/filterFns.cjs.map +0 -1
  400. package/dist/cjs/filterFns.d.cts +0 -14
  401. package/dist/cjs/index.cjs +0 -88
  402. package/dist/cjs/index.cjs.map +0 -1
  403. package/dist/cjs/index.d.cts +0 -34
  404. package/dist/cjs/sortingFns.cjs +0 -91
  405. package/dist/cjs/sortingFns.cjs.map +0 -1
  406. package/dist/cjs/sortingFns.d.cts +0 -12
  407. package/dist/cjs/types.d.cts +0 -120
  408. package/dist/cjs/utils/filterRowsUtils.cjs +0 -99
  409. package/dist/cjs/utils/filterRowsUtils.cjs.map +0 -1
  410. package/dist/cjs/utils/filterRowsUtils.d.cts +0 -3
  411. package/dist/cjs/utils/getCoreRowModel.cjs +0 -54
  412. package/dist/cjs/utils/getCoreRowModel.cjs.map +0 -1
  413. package/dist/cjs/utils/getCoreRowModel.d.cts +0 -3
  414. package/dist/cjs/utils/getExpandedRowModel.cjs +0 -41
  415. package/dist/cjs/utils/getExpandedRowModel.cjs.map +0 -1
  416. package/dist/cjs/utils/getExpandedRowModel.d.cts +0 -8
  417. package/dist/cjs/utils/getFacetedMinMaxValues.cjs +0 -35
  418. package/dist/cjs/utils/getFacetedMinMaxValues.cjs.map +0 -1
  419. package/dist/cjs/utils/getFacetedMinMaxValues.d.cts +0 -3
  420. package/dist/cjs/utils/getFacetedRowModel.cjs +0 -35
  421. package/dist/cjs/utils/getFacetedRowModel.cjs.map +0 -1
  422. package/dist/cjs/utils/getFacetedRowModel.d.cts +0 -3
  423. package/dist/cjs/utils/getFacetedUniqueValues.cjs +0 -37
  424. package/dist/cjs/utils/getFacetedUniqueValues.cjs.map +0 -1
  425. package/dist/cjs/utils/getFacetedUniqueValues.d.cts +0 -3
  426. package/dist/cjs/utils/getFilteredRowModel.cjs +0 -116
  427. package/dist/cjs/utils/getFilteredRowModel.cjs.map +0 -1
  428. package/dist/cjs/utils/getFilteredRowModel.d.cts +0 -3
  429. package/dist/cjs/utils/getGroupedRowModel.cjs +0 -118
  430. package/dist/cjs/utils/getGroupedRowModel.cjs.map +0 -1
  431. package/dist/cjs/utils/getGroupedRowModel.d.cts +0 -3
  432. package/dist/cjs/utils/getPaginationRowModel.cjs +0 -49
  433. package/dist/cjs/utils/getPaginationRowModel.cjs.map +0 -1
  434. package/dist/cjs/utils/getPaginationRowModel.d.cts +0 -5
  435. package/dist/cjs/utils/getSortedRowModel.cjs +0 -88
  436. package/dist/cjs/utils/getSortedRowModel.cjs.map +0 -1
  437. package/dist/cjs/utils/getSortedRowModel.d.cts +0 -3
  438. package/dist/cjs/utils.cjs +0 -98
  439. package/dist/cjs/utils.cjs.map +0 -1
  440. package/dist/cjs/utils.d.cts +0 -39
  441. package/dist/esm/aggregationFns.d.ts +0 -14
  442. package/dist/esm/aggregationFns.js +0 -94
  443. package/dist/esm/aggregationFns.js.map +0 -1
  444. package/dist/esm/columnHelper.d.ts +0 -9
  445. package/dist/esm/columnHelper.js.map +0 -1
  446. package/dist/esm/core/cell.d.ts +0 -50
  447. package/dist/esm/core/cell.js +0 -38
  448. package/dist/esm/core/cell.js.map +0 -1
  449. package/dist/esm/core/column.d.ts +0 -56
  450. package/dist/esm/core/column.js +0 -81
  451. package/dist/esm/core/column.js.map +0 -1
  452. package/dist/esm/core/headers.d.ts +0 -195
  453. package/dist/esm/core/headers.js +0 -310
  454. package/dist/esm/core/headers.js.map +0 -1
  455. package/dist/esm/core/row.d.ts +0 -92
  456. package/dist/esm/core/row.js +0 -92
  457. package/dist/esm/core/row.js.map +0 -1
  458. package/dist/esm/core/table.d.ts +0 -229
  459. package/dist/esm/core/table.js +0 -232
  460. package/dist/esm/core/table.js.map +0 -1
  461. package/dist/esm/features/ColumnFaceting.d.ts +0 -35
  462. package/dist/esm/features/ColumnFaceting.js +0 -29
  463. package/dist/esm/features/ColumnFaceting.js.map +0 -1
  464. package/dist/esm/features/ColumnFiltering.d.ts +0 -195
  465. package/dist/esm/features/ColumnFiltering.js +0 -137
  466. package/dist/esm/features/ColumnFiltering.js.map +0 -1
  467. package/dist/esm/features/ColumnGrouping.d.ts +0 -202
  468. package/dist/esm/features/ColumnGrouping.js +0 -133
  469. package/dist/esm/features/ColumnGrouping.js.map +0 -1
  470. package/dist/esm/features/ColumnOrdering.d.ts +0 -54
  471. package/dist/esm/features/ColumnOrdering.js +0 -76
  472. package/dist/esm/features/ColumnOrdering.js.map +0 -1
  473. package/dist/esm/features/ColumnPinning.d.ts +0 -127
  474. package/dist/esm/features/ColumnPinning.js +0 -145
  475. package/dist/esm/features/ColumnPinning.js.map +0 -1
  476. package/dist/esm/features/ColumnSizing.d.ts +0 -194
  477. package/dist/esm/features/ColumnSizing.js +0 -307
  478. package/dist/esm/features/ColumnSizing.js.map +0 -1
  479. package/dist/esm/features/ColumnVisibility.d.ts +0 -130
  480. package/dist/esm/features/ColumnVisibility.js +0 -144
  481. package/dist/esm/features/ColumnVisibility.js.map +0 -1
  482. package/dist/esm/features/GlobalFaceting.d.ts +0 -27
  483. package/dist/esm/features/GlobalFaceting.js +0 -29
  484. package/dist/esm/features/GlobalFaceting.js.map +0 -1
  485. package/dist/esm/features/GlobalFiltering.d.ts +0 -80
  486. package/dist/esm/features/GlobalFiltering.js +0 -50
  487. package/dist/esm/features/GlobalFiltering.js.map +0 -1
  488. package/dist/esm/features/RowExpanding.d.ts +0 -155
  489. package/dist/esm/features/RowExpanding.js +0 -152
  490. package/dist/esm/features/RowExpanding.js.map +0 -1
  491. package/dist/esm/features/RowPagination.d.ts +0 -166
  492. package/dist/esm/features/RowPagination.js +0 -161
  493. package/dist/esm/features/RowPagination.js.map +0 -1
  494. package/dist/esm/features/RowPinning.d.ts +0 -99
  495. package/dist/esm/features/RowPinning.js +0 -132
  496. package/dist/esm/features/RowPinning.js.map +0 -1
  497. package/dist/esm/features/RowSelection.d.ts +0 -177
  498. package/dist/esm/features/RowSelection.js +0 -296
  499. package/dist/esm/features/RowSelection.js.map +0 -1
  500. package/dist/esm/features/RowSorting.d.ts +0 -238
  501. package/dist/esm/features/RowSorting.js +0 -200
  502. package/dist/esm/features/RowSorting.js.map +0 -1
  503. package/dist/esm/filterFns.d.ts +0 -14
  504. package/dist/esm/filterFns.js +0 -88
  505. package/dist/esm/filterFns.js.map +0 -1
  506. package/dist/esm/sortingFns.d.ts +0 -12
  507. package/dist/esm/sortingFns.js.map +0 -1
  508. package/dist/esm/types.d.ts +0 -120
  509. package/dist/esm/utils/filterRowsUtils.d.ts +0 -3
  510. package/dist/esm/utils/filterRowsUtils.js.map +0 -1
  511. package/dist/esm/utils/getCoreRowModel.d.ts +0 -3
  512. package/dist/esm/utils/getCoreRowModel.js +0 -54
  513. package/dist/esm/utils/getCoreRowModel.js.map +0 -1
  514. package/dist/esm/utils/getExpandedRowModel.d.ts +0 -8
  515. package/dist/esm/utils/getExpandedRowModel.js +0 -41
  516. package/dist/esm/utils/getExpandedRowModel.js.map +0 -1
  517. package/dist/esm/utils/getFacetedMinMaxValues.d.ts +0 -3
  518. package/dist/esm/utils/getFacetedMinMaxValues.js +0 -35
  519. package/dist/esm/utils/getFacetedMinMaxValues.js.map +0 -1
  520. package/dist/esm/utils/getFacetedRowModel.d.ts +0 -3
  521. package/dist/esm/utils/getFacetedRowModel.js +0 -35
  522. package/dist/esm/utils/getFacetedRowModel.js.map +0 -1
  523. package/dist/esm/utils/getFacetedUniqueValues.d.ts +0 -3
  524. package/dist/esm/utils/getFacetedUniqueValues.js +0 -37
  525. package/dist/esm/utils/getFacetedUniqueValues.js.map +0 -1
  526. package/dist/esm/utils/getFilteredRowModel.d.ts +0 -3
  527. package/dist/esm/utils/getFilteredRowModel.js +0 -116
  528. package/dist/esm/utils/getFilteredRowModel.js.map +0 -1
  529. package/dist/esm/utils/getGroupedRowModel.d.ts +0 -3
  530. package/dist/esm/utils/getGroupedRowModel.js +0 -118
  531. package/dist/esm/utils/getGroupedRowModel.js.map +0 -1
  532. package/dist/esm/utils/getPaginationRowModel.d.ts +0 -5
  533. package/dist/esm/utils/getPaginationRowModel.js +0 -49
  534. package/dist/esm/utils/getPaginationRowModel.js.map +0 -1
  535. package/dist/esm/utils/getSortedRowModel.d.ts +0 -3
  536. package/dist/esm/utils/getSortedRowModel.js +0 -88
  537. package/dist/esm/utils/getSortedRowModel.js.map +0 -1
  538. package/src/aggregationFns.ts +0 -123
  539. package/src/columnHelper.ts +0 -91
  540. package/src/core/cell.ts +0 -91
  541. package/src/core/column.ts +0 -165
  542. package/src/core/headers.ts +0 -639
  543. package/src/core/row.ts +0 -201
  544. package/src/core/table.ts +0 -563
  545. package/src/features/ColumnFaceting.ts +0 -84
  546. package/src/features/ColumnFiltering.ts +0 -429
  547. package/src/features/ColumnGrouping.ts +0 -422
  548. package/src/features/ColumnOrdering.ts +0 -161
  549. package/src/features/ColumnPinning.ts +0 -336
  550. package/src/features/ColumnSizing.ts +0 -579
  551. package/src/features/ColumnVisibility.ts +0 -317
  552. package/src/features/GlobalFaceting.ts +0 -66
  553. package/src/features/GlobalFiltering.ts +0 -162
  554. package/src/features/RowExpanding.ts +0 -355
  555. package/src/features/RowPagination.ts +0 -396
  556. package/src/features/RowPinning.ts +0 -277
  557. package/src/features/RowSelection.ts +0 -668
  558. package/src/features/RowSorting.ts +0 -542
  559. package/src/filterFns.ts +0 -150
  560. package/src/types.ts +0 -361
  561. package/src/utils/filterRowsUtils.ts +0 -130
  562. package/src/utils/getCoreRowModel.ts +0 -82
  563. package/src/utils/getExpandedRowModel.ts +0 -51
  564. package/src/utils/getFacetedMinMaxValues.ts +0 -42
  565. package/src/utils/getFacetedRowModel.ts +0 -44
  566. package/src/utils/getFacetedUniqueValues.ts +0 -42
  567. package/src/utils/getFilteredRowModel.ts +0 -151
  568. package/src/utils/getGroupedRowModel.ts +0 -181
  569. package/src/utils/getPaginationRowModel.ts +0 -60
  570. package/src/utils/getSortedRowModel.ts +0 -121
package/src/utils.ts CHANGED
@@ -1,104 +1,29 @@
1
- import { TableOptionsResolved, TableState, Updater } from './types'
2
-
3
- export type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>
4
- export type RequiredKeys<T, K extends keyof T> = Omit<T, K> &
5
- Required<Pick<T, K>>
6
- export type Overwrite<T, U extends { [TKey in keyof T]?: any }> = Omit<
7
- T,
8
- keyof U
9
- > &
10
- U
11
-
12
- export type UnionToIntersection<T> = (
13
- T extends any ? (x: T) => any : never
14
- ) extends (x: infer R) => any
15
- ? R
16
- : never
17
-
18
- export type IsAny<T, Y, N> = 1 extends 0 & T ? Y : N
19
- export type IsKnown<T, Y, N> = unknown extends T ? N : Y
20
-
21
- type ComputeRange<
22
- N extends number,
23
- Result extends Array<unknown> = [],
24
- > = Result['length'] extends N
25
- ? Result
26
- : ComputeRange<N, [...Result, Result['length']]>
27
- type Index40 = ComputeRange<40>[number]
28
-
29
- // Is this type a tuple?
30
- type IsTuple<T> = T extends readonly any[] & { length: infer Length }
31
- ? Length extends Index40
32
- ? T
33
- : never
34
- : never
35
-
36
- // If this type is a tuple, what indices are allowed?
37
- type AllowedIndexes<
38
- Tuple extends ReadonlyArray<any>,
39
- Keys extends number = never,
40
- > = Tuple extends readonly []
41
- ? Keys
42
- : Tuple extends readonly [infer _, ...infer Tail]
43
- ? AllowedIndexes<Tail, Keys | Tail['length']>
44
- : Keys
45
-
46
- export type DeepKeys<T, TDepth extends any[] = []> = TDepth['length'] extends 5
47
- ? never
48
- : unknown extends T
49
- ? string
50
- : T extends readonly any[] & IsTuple<T>
51
- ? AllowedIndexes<T> | DeepKeysPrefix<T, AllowedIndexes<T>, TDepth>
52
- : T extends any[]
53
- ? DeepKeys<T[number], [...TDepth, any]>
54
- : T extends Date
55
- ? never
56
- : T extends object
57
- ? (keyof T & string) | DeepKeysPrefix<T, keyof T, TDepth>
58
- : never
59
-
60
- type DeepKeysPrefix<
61
- T,
62
- TPrefix,
63
- TDepth extends any[],
64
- > = TPrefix extends keyof T & (number | string)
65
- ? `${TPrefix}.${DeepKeys<T[TPrefix], [...TDepth, any]> & string}`
66
- : never
67
-
68
- export type DeepValue<T, TProp> =
69
- T extends Record<string | number, any>
70
- ? TProp extends `${infer TBranch}.${infer TDeepProp}`
71
- ? DeepValue<T[TBranch], TDeepProp>
72
- : T[TProp & string]
73
- : never
74
-
75
- export type NoInfer<T> = [T][T extends any ? 0 : never]
76
-
77
- export type Getter<TValue> = <TTValue = TValue>() => NoInfer<TTValue>
78
-
79
- ///
1
+ import type { Table, Table_Internal } from './types/Table'
2
+ import type { NoInfer, RowData, Updater } from './types/type-utils'
3
+ import type { TableFeatures } from './types/TableFeatures'
4
+ import type { TableState, TableState_All } from './types/TableState'
80
5
 
81
6
  export function functionalUpdate<T>(updater: Updater<T>, input: T): T {
82
7
  return typeof updater === 'function'
83
- ? (updater as (input: T) => T)(input)
8
+ ? (updater as (i: T) => T)(input)
84
9
  : updater
85
10
  }
86
11
 
87
- export function noop() {
88
- //
89
- }
90
-
91
- export function makeStateUpdater<K extends keyof TableState>(
92
- key: K,
93
- instance: unknown
94
- ) {
95
- return (updater: Updater<TableState[K]>) => {
96
- ;(instance as any).setState(<TTableState>(old: TTableState) => {
97
- return {
98
- ...old,
99
- [key]: functionalUpdate(updater, (old as any)[key]),
100
- }
101
- })
12
+ export function noop() {}
13
+
14
+ export function makeStateUpdater<
15
+ TFeatures extends TableFeatures,
16
+ K extends (string & {}) | keyof TableState_All | keyof TableState<TFeatures>,
17
+ >(key: K, instance: Table<TFeatures, any>) {
18
+ return (updater: Updater<TableState<any>[K & keyof TableState<any>]>) => {
19
+ ;(instance as Table_Internal<any, any>).baseStore.setState(
20
+ <TTableState extends TableState_All>(old: TTableState) => {
21
+ return {
22
+ ...old,
23
+ [key]: functionalUpdate(updater, (old as any)[key]),
24
+ }
25
+ },
26
+ )
102
27
  }
103
28
  }
104
29
 
@@ -108,21 +33,21 @@ export function isFunction<T extends AnyFunction>(d: any): d is T {
108
33
  return d instanceof Function
109
34
  }
110
35
 
111
- export function isNumberArray(d: any): d is number[] {
112
- return Array.isArray(d) && d.every(val => typeof val === 'number')
36
+ export function isNumberArray(d: any): d is Array<number> {
37
+ return Array.isArray(d) && d.every((val) => typeof val === 'number')
113
38
  }
114
39
 
115
40
  export function flattenBy<TNode>(
116
- arr: TNode[],
117
- getChildren: (item: TNode) => TNode[]
41
+ arr: Array<TNode>,
42
+ getChildren: (item: TNode) => Array<TNode>,
118
43
  ) {
119
- const flat: TNode[] = []
44
+ const flat: Array<TNode> = []
120
45
 
121
- const recurse = (subArr: TNode[]) => {
122
- subArr.forEach(item => {
46
+ const recurse = (subArr: Array<TNode>) => {
47
+ subArr.forEach((item) => {
123
48
  flat.push(item)
124
49
  const children = getChildren(item)
125
- if (children?.length) {
50
+ if (children.length) {
126
51
  recurse(children)
127
52
  }
128
53
  })
@@ -133,27 +58,53 @@ export function flattenBy<TNode>(
133
58
  return flat
134
59
  }
135
60
 
136
- export function memo<TDeps extends readonly any[], TDepArgs, TResult>(
137
- getDeps: (depArgs?: TDepArgs) => [...TDeps],
138
- fn: (...args: NoInfer<[...TDeps]>) => TResult,
139
- opts: {
140
- key: any
141
- debug?: () => any
142
- onChange?: (result: TResult) => void
143
- }
144
- ): (depArgs?: TDepArgs) => TResult {
145
- let deps: any[] = []
146
- let result: TResult | undefined
61
+ export const $internalMemoFnMeta = Symbol('memoFnMeta')
62
+ export type MemoFnMeta = { originalArgsLength?: number }
63
+
64
+ /**
65
+ * @internal
66
+ */
67
+ function setMemoFnMeta(fn: Function, meta: MemoFnMeta) {
68
+ Object.defineProperty(fn, $internalMemoFnMeta, { value: meta })
69
+ }
147
70
 
148
- return depArgs => {
149
- let depTime: number
150
- if (opts.key && opts.debug) depTime = Date.now()
71
+ /**
72
+ * @internal
73
+ */
74
+ export function getMemoFnMeta(fn: any): MemoFnMeta | null {
75
+ return (typeof fn === 'function' && fn[$internalMemoFnMeta]) ?? null
76
+ }
151
77
 
152
- const newDeps = getDeps(depArgs)
78
+ interface MemoOptions<TDeps extends ReadonlyArray<any>, TDepArgs, TResult> {
79
+ fn: (...args: NoInfer<TDeps>) => TResult
80
+ memoDeps?: (depArgs?: TDepArgs) => [...TDeps] | undefined
81
+ onAfterCompare?: (depsChanged: boolean) => void
82
+ onAfterUpdate?: (result: TResult) => void
83
+ onBeforeCompare?: () => void
84
+ onBeforeUpdate?: () => void
85
+ }
153
86
 
87
+ export const memo = <TDeps extends ReadonlyArray<any>, TDepArgs, TResult>({
88
+ fn,
89
+ memoDeps,
90
+ onAfterCompare,
91
+ onAfterUpdate,
92
+ onBeforeCompare,
93
+ onBeforeUpdate,
94
+ }: MemoOptions<TDeps, TDepArgs, TResult>): ((
95
+ depArgs?: TDepArgs,
96
+ ) => TResult) => {
97
+ let deps: Array<any> | undefined = []
98
+ let result: TResult | undefined
99
+
100
+ const memoizedFn = (depArgs?: TDepArgs): TResult => {
101
+ onBeforeCompare?.()
102
+ const newDeps = memoDeps?.(depArgs)
154
103
  const depsChanged =
155
- newDeps.length !== deps.length ||
156
- newDeps.some((dep: any, index: number) => deps[index] !== dep)
104
+ !newDeps ||
105
+ newDeps.length !== deps?.length ||
106
+ newDeps.some((dep: any, index: number) => deps?.[index] !== dep)
107
+ onAfterCompare?.(depsChanged)
157
108
 
158
109
  if (!depsChanged) {
159
110
  return result!
@@ -161,59 +112,288 @@ export function memo<TDeps extends readonly any[], TDepArgs, TResult>(
161
112
 
162
113
  deps = newDeps
163
114
 
164
- let resultTime: number
165
- if (opts.key && opts.debug) resultTime = Date.now()
115
+ onBeforeUpdate?.()
116
+ result = fn(...(newDeps ?? ([] as any)))
117
+ onAfterUpdate?.(result)
118
+
119
+ return result
120
+ }
166
121
 
167
- result = fn(...newDeps)
168
- opts?.onChange?.(result)
122
+ setMemoFnMeta(memoizedFn, { originalArgsLength: fn.length })
169
123
 
170
- if (opts.key && opts.debug) {
171
- if (opts?.debug()) {
172
- const depEndTime = Math.round((Date.now() - depTime!) * 100) / 100
173
- const resultEndTime = Math.round((Date.now() - resultTime!) * 100) / 100
174
- const resultFpsPercentage = resultEndTime / 16
124
+ return memoizedFn
125
+ }
175
126
 
176
- const pad = (str: number | string, num: number) => {
177
- str = String(str)
178
- while (str.length < num) {
179
- str = ' ' + str
180
- }
181
- return str
127
+ interface TableMemoOptions<
128
+ TFeatures extends TableFeatures,
129
+ TDeps extends ReadonlyArray<any>,
130
+ TDepArgs,
131
+ TResult,
132
+ > extends MemoOptions<TDeps, TDepArgs, TResult> {
133
+ feature?: keyof TFeatures & string
134
+ fnName: string
135
+ objectId?: string
136
+ onAfterUpdate?: () => void
137
+ table: Table_Internal<TFeatures, any>
138
+ }
139
+
140
+ const pad = (str: number | string, num: number) => {
141
+ str = String(str)
142
+ while (str.length < num) {
143
+ str = ' ' + str
144
+ }
145
+ return str
146
+ }
147
+
148
+ export function tableMemo<
149
+ TFeatures extends TableFeatures,
150
+ TDeps extends ReadonlyArray<any>,
151
+ TDepArgs,
152
+ TResult,
153
+ >({
154
+ feature,
155
+ fnName,
156
+ objectId,
157
+ onAfterUpdate,
158
+ table,
159
+ ...memoOptions
160
+ }: TableMemoOptions<TFeatures, TDeps, TDepArgs, TResult>) {
161
+ let beforeCompareTime: number
162
+ let afterCompareTime: number
163
+ let startCalcTime: number
164
+ let endCalcTime: number
165
+ let runCount = 0
166
+ let debug: boolean | undefined
167
+ let debugCache: boolean | undefined
168
+
169
+ if (process.env.NODE_ENV === 'development') {
170
+ const { debugCache: _debugCache, debugAll } = table.options
171
+ debugCache = _debugCache
172
+ const { parentName } = getFunctionNameInfo(fnName, '.')
173
+
174
+ const debugByParent =
175
+ // @ts-expect-error
176
+ table.options[
177
+ `debug${(parentName != 'table' ? parentName + 's' : parentName).replace(
178
+ parentName,
179
+ parentName.charAt(0).toUpperCase() + parentName.slice(1),
180
+ )}`
181
+ ]
182
+ const debugByFeature = feature
183
+ ? // @ts-expect-error
184
+ table.options[
185
+ `debug${feature.charAt(0).toUpperCase() + feature.slice(1)}`
186
+ ]
187
+ : false
188
+
189
+ debug = debugAll || debugByParent || debugByFeature
190
+ }
191
+
192
+ function logTime(time: number, depsChanged: boolean) {
193
+ const runType =
194
+ runCount === 0
195
+ ? '(1st run)'
196
+ : depsChanged
197
+ ? '(rerun #' + runCount + ')'
198
+ : '(cache)'
199
+ runCount++
200
+
201
+ console.groupCollapsed(
202
+ `%c⏱ ${pad(`${time.toFixed(1)} ms`, 12)} %c${runType}%c ${fnName}%c ${objectId ? `(${fnName.split('.')[0]}Id: ${objectId})` : ''}`,
203
+ `font-size: .6rem; font-weight: bold; ${
204
+ depsChanged
205
+ ? `color: hsl(
206
+ ${Math.max(0, Math.min(120 - Math.log10(time) * 60, 120))}deg 100% 31%);`
207
+ : ''
208
+ } `,
209
+ `color: ${runCount < 2 ? '#FF00FF' : '#FF1493'}`,
210
+ 'color: #666',
211
+ 'color: #87CEEB',
212
+ )
213
+ console.info({
214
+ feature,
215
+ state: table.store.state,
216
+ deps: memoOptions.memoDeps?.toString(),
217
+ })
218
+ console.trace()
219
+ console.groupEnd()
220
+ }
221
+
222
+ const debugOptions =
223
+ process.env.NODE_ENV === 'development'
224
+ ? {
225
+ onBeforeCompare: () => {
226
+ if (debugCache) {
227
+ beforeCompareTime = performance.now()
228
+ }
229
+ },
230
+ onAfterCompare: (depsChanged: boolean) => {
231
+ if (debugCache) {
232
+ afterCompareTime = performance.now()
233
+ const compareTime =
234
+ Math.round((afterCompareTime - beforeCompareTime) * 100) / 100
235
+ if (!depsChanged) {
236
+ logTime(compareTime, depsChanged)
237
+ }
238
+ }
239
+ },
240
+ onBeforeUpdate: () => {
241
+ if (debug) {
242
+ startCalcTime = performance.now()
243
+ }
244
+ },
245
+ onAfterUpdate: () => {
246
+ if (debug) {
247
+ endCalcTime = performance.now()
248
+ const executionTime =
249
+ Math.round((endCalcTime - startCalcTime) * 100) / 100
250
+ logTime(executionTime, true)
251
+ }
252
+ queueMicrotask(() => onAfterUpdate?.())
253
+ },
254
+ }
255
+ : {
256
+ onAfterUpdate: () => {
257
+ queueMicrotask(() => onAfterUpdate?.())
258
+ },
182
259
  }
183
260
 
184
- console.info(
185
- `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
186
- `
187
- font-size: .6rem;
188
- font-weight: bold;
189
- color: hsl(${Math.max(
190
- 0,
191
- Math.min(120 - 120 * resultFpsPercentage, 120)
192
- )}deg 100% 31%);`,
193
- opts?.key
194
- )
261
+ return memo({
262
+ ...memoOptions,
263
+ ...debugOptions,
264
+ })
265
+ }
266
+
267
+ export interface API<TDeps extends ReadonlyArray<any>, TDepArgs> {
268
+ fn: (...args: any) => any
269
+ memoDeps?: (depArgs?: any) => [...any] | undefined
270
+ }
271
+
272
+ export type APIObject<TDeps extends ReadonlyArray<any>, TDepArgs> = Record<
273
+ string,
274
+ API<TDeps, TDepArgs>
275
+ >
276
+
277
+ /**
278
+ * Assumes that a function name is in the format of `parentName_fnKey` and returns the `fnKey` and `fnName` in the format of `parentName.fnKey`.
279
+ */
280
+ export function getFunctionNameInfo(
281
+ staticFnName: string,
282
+ splitBy: '_' | '.' = '_',
283
+ ) {
284
+ const [parentName, fnKey] = staticFnName.split(splitBy)
285
+ const fnName = `${parentName}.${fnKey}`
286
+ return { fnKey, fnName, parentName } as {
287
+ fnKey: string
288
+ fnName: string
289
+ parentName: string
290
+ }
291
+ }
292
+
293
+ /**
294
+ * Assigns Table API methods directly to the table instance.
295
+ * Unlike row/cell/column/header, the table is a singleton so methods are assigned directly.
296
+ */
297
+ export function assignTableAPIs<
298
+ TFeatures extends TableFeatures,
299
+ TData extends RowData,
300
+ TDeps extends ReadonlyArray<any>,
301
+ TDepArgs,
302
+ >(
303
+ feature: keyof TFeatures & string,
304
+ table: Table_Internal<TFeatures, TData>,
305
+ apis: APIObject<TDeps, NoInfer<TDepArgs>>,
306
+ ): void {
307
+ for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {
308
+ const { fnKey, fnName } = getFunctionNameInfo(staticFnName)
309
+
310
+ ;(table as Record<string, any>)[fnKey] = memoDeps
311
+ ? tableMemo({
312
+ memoDeps,
313
+ fn,
314
+ fnName,
315
+ table,
316
+ feature,
317
+ })
318
+ : fn
319
+ }
320
+ }
321
+
322
+ export interface PrototypeAPI<TDeps extends ReadonlyArray<any>, TDepArgs> {
323
+ fn: (self: any, ...args: any) => any
324
+ memoDeps?: (self: any, depArgs?: any) => [...any] | undefined
325
+ }
326
+
327
+ export type PrototypeAPIObject<
328
+ TDeps extends ReadonlyArray<any>,
329
+ TDepArgs,
330
+ > = Record<string, PrototypeAPI<TDeps, TDepArgs>>
331
+
332
+ /**
333
+ * Assigns API methods to a prototype object for memory-efficient method sharing.
334
+ * All instances created with this prototype will share the same method references.
335
+ *
336
+ * For memoized methods, the memo state is lazily created and stored on each instance.
337
+ * This provides the best of both worlds: shared method code + per-instance caching.
338
+ */
339
+ export function assignPrototypeAPIs<
340
+ TFeatures extends TableFeatures,
341
+ TData extends RowData,
342
+ TDeps extends ReadonlyArray<any>,
343
+ TDepArgs,
344
+ >(
345
+ feature: keyof TFeatures & string,
346
+ prototype: Record<string, any>,
347
+ table: Table_Internal<TFeatures, TData>,
348
+ apis: PrototypeAPIObject<TDeps, NoInfer<TDepArgs>>,
349
+ ): void {
350
+ for (const [staticFnName, { fn, memoDeps }] of Object.entries(apis)) {
351
+ const { fnKey, fnName } = getFunctionNameInfo(staticFnName)
352
+
353
+ if (memoDeps) {
354
+ // For memoized methods, create a function that lazily initializes
355
+ // the memo on first access and stores it on the instance
356
+ const memoKey = `_memo_${fnKey}`
357
+
358
+ prototype[fnKey] = function (this: any, ...args: Array<any>) {
359
+ // Lazily create memo on first access for this instance
360
+ if (!this[memoKey]) {
361
+ const self = this
362
+ this[memoKey] = tableMemo({
363
+ memoDeps: () => memoDeps(self),
364
+ fn: (...deps) => fn(self, ...deps),
365
+ fnName,
366
+ objectId: self.id,
367
+ table,
368
+ feature,
369
+ })
370
+ }
371
+ return this[memoKey](...args)
372
+ }
373
+ } else {
374
+ // Non-memoized methods just call the static function with `this`
375
+ prototype[fnKey] = function (this: any, ...args: Array<any>) {
376
+ return fn(this, ...args)
195
377
  }
196
378
  }
197
379
 
198
- return result!
380
+ setMemoFnMeta(prototype[fnKey], { originalArgsLength: fn.length })
199
381
  }
200
382
  }
201
383
 
202
- export function getMemoOptions(
203
- tableOptions: Partial<TableOptionsResolved<any>>,
204
- debugLevel:
205
- | 'debugAll'
206
- | 'debugCells'
207
- | 'debugTable'
208
- | 'debugColumns'
209
- | 'debugRows'
210
- | 'debugHeaders',
211
- key: string,
212
- onChange?: (result: any) => void
213
- ) {
214
- return {
215
- debug: () => tableOptions?.debugAll ?? tableOptions[debugLevel],
216
- key: process.env.NODE_ENV === 'development' && key,
217
- onChange,
218
- }
384
+ /**
385
+ * Looks to run the memoized function with the builder pattern on the object if it exists, otherwise fallback to the static method passed in.
386
+ */
387
+ export function callMemoOrStaticFn<
388
+ TObject extends Record<string, any>,
389
+ TStaticFn extends AnyFunction,
390
+ >(
391
+ obj: TObject,
392
+ fnKey: string,
393
+ staticFn: TStaticFn,
394
+ ...args: Parameters<TStaticFn> extends [any, ...infer Rest] ? Rest : never
395
+ ): ReturnType<TStaticFn> {
396
+ return (
397
+ (obj[fnKey] as Function | undefined)?.(...args) ?? staticFn(obj, ...args)
398
+ )
219
399
  }
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const utils = require("./utils.cjs");
4
- const sum = (columnId, _leafRows, childRows) => {
5
- return childRows.reduce((sum2, next) => {
6
- const nextValue = next.getValue(columnId);
7
- return sum2 + (typeof nextValue === "number" ? nextValue : 0);
8
- }, 0);
9
- };
10
- const min = (columnId, _leafRows, childRows) => {
11
- let min2;
12
- childRows.forEach((row) => {
13
- const value = row.getValue(columnId);
14
- if (value != null && (min2 > value || min2 === void 0 && value >= value)) {
15
- min2 = value;
16
- }
17
- });
18
- return min2;
19
- };
20
- const max = (columnId, _leafRows, childRows) => {
21
- let max2;
22
- childRows.forEach((row) => {
23
- const value = row.getValue(columnId);
24
- if (value != null && (max2 < value || max2 === void 0 && value >= value)) {
25
- max2 = value;
26
- }
27
- });
28
- return max2;
29
- };
30
- const extent = (columnId, _leafRows, childRows) => {
31
- let min2;
32
- let max2;
33
- childRows.forEach((row) => {
34
- const value = row.getValue(columnId);
35
- if (value != null) {
36
- if (min2 === void 0) {
37
- if (value >= value) min2 = max2 = value;
38
- } else {
39
- if (min2 > value) min2 = value;
40
- if (max2 < value) max2 = value;
41
- }
42
- }
43
- });
44
- return [min2, max2];
45
- };
46
- const mean = (columnId, leafRows) => {
47
- let count2 = 0;
48
- let sum2 = 0;
49
- leafRows.forEach((row) => {
50
- let value = row.getValue(columnId);
51
- if (value != null && (value = +value) >= value) {
52
- ++count2, sum2 += value;
53
- }
54
- });
55
- if (count2) return sum2 / count2;
56
- return;
57
- };
58
- const median = (columnId, leafRows) => {
59
- if (!leafRows.length) {
60
- return;
61
- }
62
- const values = leafRows.map((row) => row.getValue(columnId));
63
- if (!utils.isNumberArray(values)) {
64
- return;
65
- }
66
- if (values.length === 1) {
67
- return values[0];
68
- }
69
- const mid = Math.floor(values.length / 2);
70
- const nums = values.sort((a, b) => a - b);
71
- return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
72
- };
73
- const unique = (columnId, leafRows) => {
74
- return Array.from(new Set(leafRows.map((d) => d.getValue(columnId))).values());
75
- };
76
- const uniqueCount = (columnId, leafRows) => {
77
- return new Set(leafRows.map((d) => d.getValue(columnId))).size;
78
- };
79
- const count = (_columnId, leafRows) => {
80
- return leafRows.length;
81
- };
82
- const aggregationFns = {
83
- sum,
84
- min,
85
- max,
86
- extent,
87
- mean,
88
- median,
89
- unique,
90
- uniqueCount,
91
- count
92
- };
93
- exports.aggregationFns = aggregationFns;
94
- //# sourceMappingURL=aggregationFns.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregationFns.cjs","sources":["../../src/aggregationFns.ts"],"sourcesContent":["import { AggregationFn } from './features/ColumnGrouping'\nimport { isNumberArray } from './utils'\n\nconst sum: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n // It's faster to just add the aggregations together instead of\n // process leaf nodes individually\n return childRows.reduce((sum, next) => {\n const nextValue = next.getValue(columnId)\n return sum + (typeof nextValue === 'number' ? nextValue : 0)\n }, 0)\n}\n\nconst min: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n\n if (\n value != null &&\n (min! > value || (min === undefined && value >= value))\n ) {\n min = value\n }\n })\n\n return min\n}\n\nconst max: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (\n value != null &&\n (max! < value || (max === undefined && value >= value))\n ) {\n max = value\n }\n })\n\n return max\n}\n\nconst extent: AggregationFn<any> = (columnId, _leafRows, childRows) => {\n let min: number | undefined\n let max: number | undefined\n\n childRows.forEach(row => {\n const value = row.getValue<number>(columnId)\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value\n } else {\n if (min > value) min = value\n if (max! < value) max = value\n }\n }\n })\n\n return [min, max]\n}\n\nconst mean: AggregationFn<any> = (columnId, leafRows) => {\n let count = 0\n let sum = 0\n\n leafRows.forEach(row => {\n let value = row.getValue<number>(columnId)\n if (value != null && (value = +value) >= value) {\n ++count, (sum += value)\n }\n })\n\n if (count) return sum / count\n\n return\n}\n\nconst median: AggregationFn<any> = (columnId, leafRows) => {\n if (!leafRows.length) {\n return\n }\n\n const values = leafRows.map(row => row.getValue(columnId))\n if (!isNumberArray(values)) {\n return\n }\n if (values.length === 1) {\n return values[0]\n }\n\n const mid = Math.floor(values.length / 2)\n const nums = values.sort((a, b) => a - b)\n return values.length % 2 !== 0 ? nums[mid] : (nums[mid - 1]! + nums[mid]!) / 2\n}\n\nconst unique: AggregationFn<any> = (columnId, leafRows) => {\n return Array.from(new Set(leafRows.map(d => d.getValue(columnId))).values())\n}\n\nconst uniqueCount: AggregationFn<any> = (columnId, leafRows) => {\n return new Set(leafRows.map(d => d.getValue(columnId))).size\n}\n\nconst count: AggregationFn<any> = (_columnId, leafRows) => {\n return leafRows.length\n}\n\nexport const aggregationFns = {\n sum,\n min,\n max,\n extent,\n mean,\n median,\n unique,\n uniqueCount,\n count,\n}\n\nexport type BuiltInAggregationFn = keyof typeof aggregationFns\n"],"names":["sum","min","max","count","isNumberArray"],"mappings":";;;AAGA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAGlE,SAAO,UAAU,OAAO,CAACA,MAAK,SAAS;AAC/B,UAAA,YAAY,KAAK,SAAS,QAAQ;AACxC,WAAOA,QAAO,OAAO,cAAc,WAAW,YAAY;AAAA,KACzD,CAAC;AACN;AAEA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAC9DC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAE3C,QACE,SAAS,SACRA,OAAO,SAAUA,SAAQ,UAAa,SAAS,QAChD;AACAA,aAAM;AAAA,IACR;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAM,MAA0B,CAAC,UAAU,WAAW,cAAc;AAC9DC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAC3C,QACE,SAAS,SACRA,OAAO,SAAUA,SAAQ,UAAa,SAAS,QAChD;AACAA,aAAM;AAAA,IACR;AAAA,EAAA,CACD;AAEMA,SAAAA;AACT;AAEA,MAAM,SAA6B,CAAC,UAAU,WAAW,cAAc;AACjED,MAAAA;AACAC,MAAAA;AAEJ,YAAU,QAAQ,CAAO,QAAA;AACjB,UAAA,QAAQ,IAAI,SAAiB,QAAQ;AAC3C,QAAI,SAAS,MAAM;AACjB,UAAID,SAAQ,QAAW;AACrB,YAAI,SAAS,MAAOA,QAAMC,OAAM;AAAA,MAAA,OAC3B;AACDD,YAAAA,OAAM,MAAOA,QAAM;AACnBC,YAAAA,OAAO,MAAOA,QAAM;AAAA,MAC1B;AAAA,IACF;AAAA,EAAA,CACD;AAEM,SAAA,CAACD,MAAKC,IAAG;AAClB;AAEA,MAAM,OAA2B,CAAC,UAAU,aAAa;AACvD,MAAIC,SAAQ;AACZ,MAAIH,OAAM;AAEV,WAAS,QAAQ,CAAO,QAAA;AAClB,QAAA,QAAQ,IAAI,SAAiB,QAAQ;AACzC,QAAI,SAAS,SAAS,QAAQ,CAAC,UAAU,OAAO;AAC9C,QAAEG,QAAQH,QAAO;AAAA,IACnB;AAAA,EAAA,CACD;AAEGG,MAAAA,eAAcH,OAAMG;AAExB;AACF;AAEA,MAAM,SAA6B,CAAC,UAAU,aAAa;AACrD,MAAA,CAAC,SAAS,QAAQ;AACpB;AAAA,EACF;AAEA,QAAM,SAAS,SAAS,IAAI,SAAO,IAAI,SAAS,QAAQ,CAAC;AACrD,MAAA,CAACC,MAAAA,cAAc,MAAM,GAAG;AAC1B;AAAA,EACF;AACI,MAAA,OAAO,WAAW,GAAG;AACvB,WAAO,OAAO,CAAC;AAAA,EACjB;AAEA,QAAM,MAAM,KAAK,MAAM,OAAO,SAAS,CAAC;AACxC,QAAM,OAAO,OAAO,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AACxC,SAAO,OAAO,SAAS,MAAM,IAAI,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,IAAK,KAAK,GAAG,KAAM;AAC/E;AAEA,MAAM,SAA6B,CAAC,UAAU,aAAa;AACzD,SAAO,MAAM,KAAK,IAAI,IAAI,SAAS,IAAI,CAAA,MAAK,EAAE,SAAS,QAAQ,CAAC,CAAC,EAAE,OAAQ,CAAA;AAC7E;AAEA,MAAM,cAAkC,CAAC,UAAU,aAAa;AACvD,SAAA,IAAI,IAAI,SAAS,IAAI,CAAA,MAAK,EAAE,SAAS,QAAQ,CAAC,CAAC,EAAE;AAC1D;AAEA,MAAM,QAA4B,CAAC,WAAW,aAAa;AACzD,SAAO,SAAS;AAClB;AAEO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;"}
@@ -1,14 +0,0 @@
1
- import { AggregationFn } from './features/ColumnGrouping.cjs';
2
-
3
- export declare const aggregationFns: {
4
- sum: AggregationFn<any>;
5
- min: AggregationFn<any>;
6
- max: AggregationFn<any>;
7
- extent: AggregationFn<any>;
8
- mean: AggregationFn<any>;
9
- median: AggregationFn<any>;
10
- unique: AggregationFn<any>;
11
- uniqueCount: AggregationFn<any>;
12
- count: AggregationFn<any>;
13
- };
14
- export type BuiltInAggregationFn = keyof typeof aggregationFns;