@tanstack/table-core 9.0.0-beta.1 → 9.0.0-beta.5

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 (271) hide show
  1. package/dist/core/cells/coreCellsFeature.cjs +11 -20
  2. package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
  3. package/dist/core/cells/coreCellsFeature.d.cts +4 -12
  4. package/dist/core/cells/coreCellsFeature.d.ts +4 -12
  5. package/dist/core/cells/coreCellsFeature.js +12 -20
  6. package/dist/core/cells/coreCellsFeature.js.map +1 -1
  7. package/dist/core/columns/coreColumnsFeature.cjs +59 -68
  8. package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
  9. package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
  10. package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
  11. package/dist/core/columns/coreColumnsFeature.js +60 -68
  12. package/dist/core/columns/coreColumnsFeature.js.map +1 -1
  13. package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
  14. package/dist/core/headers/buildHeaderGroups.js.map +1 -1
  15. package/dist/core/headers/coreHeadersFeature.cjs +44 -53
  16. package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
  17. package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
  18. package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
  19. package/dist/core/headers/coreHeadersFeature.js +45 -53
  20. package/dist/core/headers/coreHeadersFeature.js.map +1 -1
  21. package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
  22. package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
  23. package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
  24. package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
  25. package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
  26. package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
  27. package/dist/core/row-models/coreRowModelsFeature.js +18 -26
  28. package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
  29. package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -5
  30. package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -5
  31. package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
  32. package/dist/core/row-models/createCoreRowModel.js.map +1 -1
  33. package/dist/core/rows/coreRowsFeature.cjs +27 -36
  34. package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
  35. package/dist/core/rows/coreRowsFeature.d.cts +4 -12
  36. package/dist/core/rows/coreRowsFeature.d.ts +4 -12
  37. package/dist/core/rows/coreRowsFeature.js +28 -36
  38. package/dist/core/rows/coreRowsFeature.js.map +1 -1
  39. package/dist/core/table/constructTable.cjs +2 -2
  40. package/dist/core/table/constructTable.cjs.map +1 -1
  41. package/dist/core/table/constructTable.js +2 -2
  42. package/dist/core/table/constructTable.js.map +1 -1
  43. package/dist/core/table/coreTablesFeature.cjs +7 -16
  44. package/dist/core/table/coreTablesFeature.cjs.map +1 -1
  45. package/dist/core/table/coreTablesFeature.d.cts +4 -12
  46. package/dist/core/table/coreTablesFeature.d.ts +4 -12
  47. package/dist/core/table/coreTablesFeature.js +8 -16
  48. package/dist/core/table/coreTablesFeature.js.map +1 -1
  49. package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
  50. package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
  51. package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
  52. package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
  53. package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
  54. package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
  55. package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
  56. package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
  57. package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
  58. package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
  59. package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
  60. package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
  61. package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
  62. package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
  63. package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
  64. package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
  65. package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
  66. package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
  67. package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
  68. package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
  69. package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +3 -3
  70. package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -3
  71. package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
  72. package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +1 -1
  73. package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
  74. package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
  75. package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
  76. package/dist/features/column-filtering/createFilteredRowModel.d.cts +1 -1
  77. package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
  78. package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
  79. package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
  80. package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
  81. package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
  82. package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
  83. package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
  84. package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
  85. package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
  86. package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
  87. package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
  88. package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
  89. package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
  90. package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
  91. package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
  92. package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
  93. package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
  94. package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
  95. package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
  96. package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
  97. package/dist/features/column-pinning/columnPinningFeature.js +210 -221
  98. package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
  99. package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
  100. package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +12 -12
  101. package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +12 -12
  102. package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
  103. package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
  104. package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
  105. package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
  106. package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
  107. package/dist/features/column-resizing/columnResizingFeature.js +32 -43
  108. package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
  109. package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
  110. package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
  111. package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
  112. package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
  113. package/dist/features/column-sizing/columnSizingFeature.js +113 -125
  114. package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
  115. package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +3 -3
  116. package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +3 -3
  117. package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
  118. package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
  119. package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
  120. package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
  121. package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
  122. package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
  123. package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
  124. package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
  125. package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
  126. package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
  127. package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
  128. package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
  129. package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
  130. package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +4 -2
  131. package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +4 -2
  132. package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
  133. package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
  134. package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
  135. package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
  136. package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
  137. package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
  138. package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
  139. package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
  140. package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
  141. package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
  142. package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
  143. package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
  144. package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
  145. package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
  146. package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
  147. package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
  148. package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
  149. package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
  150. package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
  151. package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
  152. package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
  153. package/dist/features/row-pinning/rowPinningFeature.js +56 -67
  154. package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
  155. package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
  156. package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
  157. package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
  158. package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
  159. package/dist/features/row-selection/rowSelectionFeature.js +66 -77
  160. package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
  161. package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
  162. package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
  163. package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
  164. package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
  165. package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
  166. package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
  167. package/dist/features/row-sorting/rowSortingFeature.js +46 -57
  168. package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
  169. package/dist/fns/aggregationFns.cjs +18 -18
  170. package/dist/fns/aggregationFns.cjs.map +1 -1
  171. package/dist/fns/aggregationFns.d.cts +21 -19
  172. package/dist/fns/aggregationFns.d.ts +21 -19
  173. package/dist/fns/aggregationFns.js +18 -18
  174. package/dist/fns/aggregationFns.js.map +1 -1
  175. package/dist/fns/filterFns.cjs +51 -65
  176. package/dist/fns/filterFns.cjs.map +1 -1
  177. package/dist/fns/filterFns.d.cts +82 -28
  178. package/dist/fns/filterFns.d.ts +82 -28
  179. package/dist/fns/filterFns.js +51 -65
  180. package/dist/fns/filterFns.js.map +1 -1
  181. package/dist/fns/sortFns.cjs.map +1 -1
  182. package/dist/fns/sortFns.d.cts +15 -13
  183. package/dist/fns/sortFns.d.ts +15 -13
  184. package/dist/fns/sortFns.js.map +1 -1
  185. package/dist/index.cjs +0 -20
  186. package/dist/index.d.cts +34 -34
  187. package/dist/index.d.ts +34 -34
  188. package/dist/index.js +21 -21
  189. package/dist/types/Cell.d.cts +7 -9
  190. package/dist/types/Cell.d.ts +7 -9
  191. package/dist/types/Column.d.cts +16 -9
  192. package/dist/types/Column.d.ts +16 -9
  193. package/dist/types/ColumnDef.d.cts +13 -8
  194. package/dist/types/ColumnDef.d.ts +13 -8
  195. package/dist/types/Header.d.cts +8 -9
  196. package/dist/types/Header.d.ts +8 -9
  197. package/dist/types/HeaderGroup.d.cts +3 -8
  198. package/dist/types/HeaderGroup.d.ts +3 -8
  199. package/dist/types/Row.d.cts +13 -9
  200. package/dist/types/Row.d.ts +13 -9
  201. package/dist/types/RowModel.d.cts +21 -11
  202. package/dist/types/RowModel.d.ts +21 -11
  203. package/dist/types/RowModelFns.d.cts +9 -9
  204. package/dist/types/RowModelFns.d.ts +9 -9
  205. package/dist/types/Table.d.cts +20 -9
  206. package/dist/types/Table.d.ts +20 -9
  207. package/dist/types/TableFeatures.d.cts +14 -38
  208. package/dist/types/TableFeatures.d.ts +14 -38
  209. package/dist/types/TableOptions.d.cts +20 -5
  210. package/dist/types/TableOptions.d.ts +20 -5
  211. package/dist/types/TableState.d.cts +20 -11
  212. package/dist/types/TableState.d.ts +20 -11
  213. package/dist/utils.cjs.map +1 -1
  214. package/dist/utils.d.cts +1 -1
  215. package/dist/utils.d.ts +1 -1
  216. package/dist/utils.js.map +1 -1
  217. package/package.json +1 -1
  218. package/src/core/cells/coreCellsFeature.ts +17 -39
  219. package/src/core/columns/coreColumnsFeature.ts +56 -83
  220. package/src/core/headers/buildHeaderGroups.ts +1 -1
  221. package/src/core/headers/coreHeadersFeature.ts +42 -64
  222. package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
  223. package/src/core/row-models/coreRowModelsFeature.ts +43 -64
  224. package/src/core/row-models/coreRowModelsFeature.types.ts +2 -6
  225. package/src/core/row-models/createCoreRowModel.ts +1 -1
  226. package/src/core/rows/coreRowsFeature.ts +45 -72
  227. package/src/core/table/constructTable.ts +10 -7
  228. package/src/core/table/coreTablesFeature.ts +13 -35
  229. package/src/core/table/coreTablesFeature.utils.ts +1 -1
  230. package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
  231. package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
  232. package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
  233. package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
  234. package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
  235. package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
  236. package/src/features/column-filtering/columnFilteringFeature.utils.ts +4 -4
  237. package/src/features/column-filtering/createFilteredRowModel.ts +2 -2
  238. package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
  239. package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
  240. package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
  241. package/src/features/column-pinning/columnPinningFeature.ts +268 -304
  242. package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
  243. package/src/features/column-resizing/columnResizingFeature.ts +44 -78
  244. package/src/features/column-sizing/columnSizingFeature.ts +115 -152
  245. package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
  246. package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
  247. package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
  248. package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
  249. package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
  250. package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
  251. package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
  252. package/src/features/row-pinning/rowPinningFeature.ts +72 -104
  253. package/src/features/row-selection/rowSelectionFeature.ts +103 -135
  254. package/src/features/row-sorting/createSortedRowModel.ts +1 -1
  255. package/src/features/row-sorting/rowSortingFeature.ts +73 -114
  256. package/src/fns/aggregationFns.ts +26 -42
  257. package/src/fns/filterFns.ts +231 -264
  258. package/src/fns/sortFns.ts +18 -19
  259. package/src/types/Cell.ts +8 -28
  260. package/src/types/Column.ts +18 -53
  261. package/src/types/ColumnDef.ts +20 -47
  262. package/src/types/Header.ts +8 -30
  263. package/src/types/HeaderGroup.ts +2 -13
  264. package/src/types/Row.ts +15 -36
  265. package/src/types/RowModel.ts +28 -67
  266. package/src/types/RowModelFns.ts +11 -30
  267. package/src/types/Table.ts +23 -64
  268. package/src/types/TableFeatures.ts +60 -109
  269. package/src/types/TableOptions.ts +32 -71
  270. package/src/types/TableState.ts +20 -73
  271. package/src/utils.ts +5 -4
@@ -1,7 +1,6 @@
1
1
  import type { RowData } from '../types/type-utils'
2
2
  import type { TableFeatures } from '../types/TableFeatures'
3
3
  import type { Row } from '../types/Row'
4
- import type { AggregationFn } from '../features/column-grouping/columnGroupingFeature.types'
5
4
 
6
5
  /**
7
6
  * Sums numeric child-row values for a grouped column.
@@ -9,14 +8,14 @@ import type { AggregationFn } from '../features/column-grouping/columnGroupingFe
9
8
  * Non-number values contribute `0`. Child rows are used so nested group totals
10
9
  * can reuse already aggregated values.
11
10
  */
12
- export const aggregationFn_sum: AggregationFn<any, any> = <
11
+ export function aggregationFn_sum<
13
12
  TFeatures extends TableFeatures,
14
13
  TData extends RowData,
15
14
  >(
16
15
  columnId: string,
17
- _leafRows: Array<Row<any, any>>,
18
- childRows: Array<Row<any, any>>,
19
- ) => {
16
+ _leafRows: Array<Row<TFeatures, TData>>,
17
+ childRows: Array<Row<TFeatures, TData>>,
18
+ ) {
20
19
  // It's faster to just add the aggregations together instead of
21
20
  // process leaf nodes individually
22
21
  return childRows.reduce((sumValue, next) => {
@@ -31,14 +30,14 @@ export const aggregationFn_sum: AggregationFn<any, any> = <
31
30
  * Nullish and non-number values are ignored. Returns `undefined` when no
32
31
  * numeric value is found.
33
32
  */
34
- export const aggregationFn_min: AggregationFn<any, any> = <
33
+ export function aggregationFn_min<
35
34
  TFeatures extends TableFeatures,
36
35
  TData extends RowData,
37
36
  >(
38
37
  columnId: string,
39
- _leafRows: Array<Row<any, any>>,
40
- childRows: Array<Row<any, any>>,
41
- ) => {
38
+ _leafRows: Array<Row<TFeatures, TData>>,
39
+ childRows: Array<Row<TFeatures, TData>>,
40
+ ) {
42
41
  let minValue: number | undefined
43
42
 
44
43
  childRows.forEach((row) => {
@@ -62,14 +61,14 @@ export const aggregationFn_min: AggregationFn<any, any> = <
62
61
  * Nullish and non-number values are ignored. Returns `undefined` when no
63
62
  * numeric value is found.
64
63
  */
65
- export const aggregationFn_max: AggregationFn<any, any> = <
64
+ export function aggregationFn_max<
66
65
  TFeatures extends TableFeatures,
67
66
  TData extends RowData,
68
67
  >(
69
68
  columnId: string,
70
- _leafRows: Array<Row<any, any>>,
71
- childRows: Array<Row<any, any>>,
72
- ) => {
69
+ _leafRows: Array<Row<TFeatures, TData>>,
70
+ childRows: Array<Row<TFeatures, TData>>,
71
+ ) {
73
72
  let maxValue: number | undefined
74
73
 
75
74
  childRows.forEach((row) => {
@@ -92,14 +91,14 @@ export const aggregationFn_max: AggregationFn<any, any> = <
92
91
  * Returns `[min, max]`, where each entry is `undefined` when no numeric value is
93
92
  * present.
94
93
  */
95
- export const aggregationFn_extent: AggregationFn<any, any> = <
94
+ export function aggregationFn_extent<
96
95
  TFeatures extends TableFeatures,
97
96
  TData extends RowData,
98
97
  >(
99
98
  columnId: string,
100
- _leafRows: Array<Row<any, any>>,
101
- childRows: Array<Row<any, any>>,
102
- ) => {
99
+ _leafRows: Array<Row<TFeatures, TData>>,
100
+ childRows: Array<Row<TFeatures, TData>>,
101
+ ) {
103
102
  let minValue: number | undefined
104
103
  let maxValue: number | undefined
105
104
 
@@ -124,13 +123,10 @@ export const aggregationFn_extent: AggregationFn<any, any> = <
124
123
  * Number-like values are coerced with unary `+`; nullish and non-numeric values
125
124
  * are ignored.
126
125
  */
127
- export const aggregationFn_mean: AggregationFn<any, any> = <
126
+ export function aggregationFn_mean<
128
127
  TFeatures extends TableFeatures,
129
128
  TData extends RowData,
130
- >(
131
- columnId: string,
132
- leafRows: Array<Row<any, any>>,
133
- ) => {
129
+ >(columnId: string, leafRows: Array<Row<TFeatures, TData>>) {
134
130
  let count = 0
135
131
  let sumValue = 0
136
132
 
@@ -159,13 +155,10 @@ export const aggregationFn_mean: AggregationFn<any, any> = <
159
155
  * All values must be numbers. If any value is non-numeric, or no leaf rows are
160
156
  * present, the result is `undefined`.
161
157
  */
162
- export const aggregationFn_median: AggregationFn<any, any> = <
158
+ export function aggregationFn_median<
163
159
  TFeatures extends TableFeatures,
164
160
  TData extends RowData,
165
- >(
166
- columnId: string,
167
- leafRows: Array<Row<any, any>>,
168
- ) => {
161
+ >(columnId: string, leafRows: Array<Row<TFeatures, TData>>) {
169
162
  if (!leafRows.length) {
170
163
  return
171
164
  }
@@ -193,13 +186,10 @@ export const aggregationFn_median: AggregationFn<any, any> = <
193
186
  *
194
187
  * Values are compared with JavaScript `Set` semantics.
195
188
  */
196
- export const aggregationFn_unique: AggregationFn<any, any> = <
189
+ export function aggregationFn_unique<
197
190
  TFeatures extends TableFeatures,
198
191
  TData extends RowData,
199
- >(
200
- columnId: string,
201
- leafRows: Array<Row<any, any>>,
202
- ) => {
192
+ >(columnId: string, leafRows: Array<Row<TFeatures, TData>>) {
203
193
  const set = new Set<unknown>()
204
194
  for (let i = 0; i < leafRows.length; i++) {
205
195
  set.add(leafRows[i]!.getValue(columnId))
@@ -212,13 +202,10 @@ export const aggregationFn_unique: AggregationFn<any, any> = <
212
202
  *
213
203
  * Values are compared with JavaScript `Set` semantics.
214
204
  */
215
- export const aggregationFn_uniqueCount: AggregationFn<any, any> = <
205
+ export function aggregationFn_uniqueCount<
216
206
  TFeatures extends TableFeatures,
217
207
  TData extends RowData,
218
- >(
219
- columnId: string,
220
- leafRows: Array<Row<any, any>>,
221
- ) => {
208
+ >(columnId: string, leafRows: Array<Row<TFeatures, TData>>) {
222
209
  const set = new Set<unknown>()
223
210
  for (let i = 0; i < leafRows.length; i++) {
224
211
  set.add(leafRows[i]!.getValue(columnId))
@@ -231,13 +218,10 @@ export const aggregationFn_uniqueCount: AggregationFn<any, any> = <
231
218
  *
232
219
  * The column id is ignored because the result is based only on group size.
233
220
  */
234
- export const aggregationFn_count: AggregationFn<any, any> = <
221
+ export function aggregationFn_count<
235
222
  TFeatures extends TableFeatures,
236
223
  TData extends RowData,
237
- >(
238
- _columnId: string,
239
- leafRows: Array<Row<any, any>>,
240
- ) => {
224
+ >(_columnId: string, leafRows: Array<Row<TFeatures, TData>>) {
241
225
  return leafRows.length
242
226
  }
243
227