@tanstack/table-core 9.0.0-beta.2 → 9.0.0-beta.7
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.
- package/dist/core/cells/coreCellsFeature.cjs +11 -20
- package/dist/core/cells/coreCellsFeature.cjs.map +1 -1
- package/dist/core/cells/coreCellsFeature.d.cts +4 -12
- package/dist/core/cells/coreCellsFeature.d.ts +4 -12
- package/dist/core/cells/coreCellsFeature.js +12 -20
- package/dist/core/cells/coreCellsFeature.js.map +1 -1
- package/dist/core/columns/coreColumnsFeature.cjs +59 -68
- package/dist/core/columns/coreColumnsFeature.cjs.map +1 -1
- package/dist/core/columns/coreColumnsFeature.d.cts +4 -12
- package/dist/core/columns/coreColumnsFeature.d.ts +4 -12
- package/dist/core/columns/coreColumnsFeature.js +60 -68
- package/dist/core/columns/coreColumnsFeature.js.map +1 -1
- package/dist/core/headers/buildHeaderGroups.cjs.map +1 -1
- package/dist/core/headers/buildHeaderGroups.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.cjs +44 -53
- package/dist/core/headers/coreHeadersFeature.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.d.cts +4 -12
- package/dist/core/headers/coreHeadersFeature.d.ts +4 -12
- package/dist/core/headers/coreHeadersFeature.js +45 -53
- package/dist/core/headers/coreHeadersFeature.js.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.cjs.map +1 -1
- package/dist/core/headers/coreHeadersFeature.utils.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.cjs +17 -26
- package/dist/core/row-models/coreRowModelsFeature.cjs.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.d.cts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.d.ts +4 -12
- package/dist/core/row-models/coreRowModelsFeature.js +18 -26
- package/dist/core/row-models/coreRowModelsFeature.js.map +1 -1
- package/dist/core/row-models/coreRowModelsFeature.types.d.cts +3 -5
- package/dist/core/row-models/coreRowModelsFeature.types.d.ts +3 -5
- package/dist/core/row-models/createCoreRowModel.cjs.map +1 -1
- package/dist/core/row-models/createCoreRowModel.js.map +1 -1
- package/dist/core/rows/coreRowsFeature.cjs +27 -36
- package/dist/core/rows/coreRowsFeature.cjs.map +1 -1
- package/dist/core/rows/coreRowsFeature.d.cts +4 -12
- package/dist/core/rows/coreRowsFeature.d.ts +4 -12
- package/dist/core/rows/coreRowsFeature.js +28 -36
- package/dist/core/rows/coreRowsFeature.js.map +1 -1
- package/dist/core/table/constructTable.cjs +2 -2
- package/dist/core/table/constructTable.cjs.map +1 -1
- package/dist/core/table/constructTable.js +2 -2
- package/dist/core/table/constructTable.js.map +1 -1
- package/dist/core/table/coreTablesFeature.cjs +7 -16
- package/dist/core/table/coreTablesFeature.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.d.cts +4 -12
- package/dist/core/table/coreTablesFeature.d.ts +4 -12
- package/dist/core/table/coreTablesFeature.js +8 -16
- package/dist/core/table/coreTablesFeature.js.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.cjs.map +1 -1
- package/dist/core/table/coreTablesFeature.utils.js.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.cjs +49 -61
- package/dist/features/column-faceting/columnFacetingFeature.cjs.map +1 -1
- package/dist/features/column-faceting/columnFacetingFeature.d.cts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.d.ts +4 -15
- package/dist/features/column-faceting/columnFacetingFeature.js +50 -61
- package/dist/features/column-faceting/columnFacetingFeature.js.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedMinMaxValues.js.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedRowModel.js.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.cjs.map +1 -1
- package/dist/features/column-faceting/createFacetedUniqueValues.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.cjs +40 -53
- package/dist/features/column-filtering/columnFilteringFeature.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.d.cts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.d.ts +4 -16
- package/dist/features/column-filtering/columnFilteringFeature.js +41 -53
- package/dist/features/column-filtering/columnFilteringFeature.js.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.types.d.cts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.types.d.ts +3 -3
- package/dist/features/column-filtering/columnFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.cts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.d.ts +1 -1
- package/dist/features/column-filtering/columnFilteringFeature.utils.js.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.cjs.map +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.cts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.d.ts +1 -1
- package/dist/features/column-filtering/createFilteredRowModel.js.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.cjs +57 -69
- package/dist/features/column-grouping/columnGroupingFeature.cjs.map +1 -1
- package/dist/features/column-grouping/columnGroupingFeature.d.cts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.d.ts +4 -15
- package/dist/features/column-grouping/columnGroupingFeature.js +58 -69
- package/dist/features/column-grouping/columnGroupingFeature.js.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.cjs.map +1 -1
- package/dist/features/column-grouping/createGroupedRowModel.js.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.cjs +47 -59
- package/dist/features/column-ordering/columnOrderingFeature.cjs.map +1 -1
- package/dist/features/column-ordering/columnOrderingFeature.d.cts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.d.ts +4 -15
- package/dist/features/column-ordering/columnOrderingFeature.js +48 -59
- package/dist/features/column-ordering/columnOrderingFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.cjs +209 -221
- package/dist/features/column-pinning/columnPinningFeature.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.d.cts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.d.ts +4 -15
- package/dist/features/column-pinning/columnPinningFeature.js +210 -221
- package/dist/features/column-pinning/columnPinningFeature.js.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.cjs.map +1 -1
- package/dist/features/column-pinning/columnPinningFeature.utils.d.cts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.d.ts +12 -12
- package/dist/features/column-pinning/columnPinningFeature.utils.js.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.cjs +31 -43
- package/dist/features/column-resizing/columnResizingFeature.cjs.map +1 -1
- package/dist/features/column-resizing/columnResizingFeature.d.cts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.d.ts +4 -15
- package/dist/features/column-resizing/columnResizingFeature.js +32 -43
- package/dist/features/column-resizing/columnResizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.cjs +112 -125
- package/dist/features/column-sizing/columnSizingFeature.cjs.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.d.cts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.d.ts +4 -16
- package/dist/features/column-sizing/columnSizingFeature.js +113 -125
- package/dist/features/column-sizing/columnSizingFeature.js.map +1 -1
- package/dist/features/column-sizing/columnSizingFeature.utils.d.cts +3 -3
- package/dist/features/column-sizing/columnSizingFeature.utils.d.ts +3 -3
- package/dist/features/column-visibility/columnVisibilityFeature.cjs +83 -95
- package/dist/features/column-visibility/columnVisibilityFeature.cjs.map +1 -1
- package/dist/features/column-visibility/columnVisibilityFeature.d.cts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.d.ts +4 -15
- package/dist/features/column-visibility/columnVisibilityFeature.js +84 -95
- package/dist/features/column-visibility/columnVisibilityFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.cjs +31 -43
- package/dist/features/global-filtering/globalFilteringFeature.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.d.cts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.d.ts +4 -15
- package/dist/features/global-filtering/globalFilteringFeature.js +32 -43
- package/dist/features/global-filtering/globalFilteringFeature.js.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.cjs.map +1 -1
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.cts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.d.ts +4 -2
- package/dist/features/global-filtering/globalFilteringFeature.utils.js.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.cjs.map +1 -1
- package/dist/features/row-expanding/createExpandedRowModel.js.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.cjs +37 -49
- package/dist/features/row-expanding/rowExpandingFeature.cjs.map +1 -1
- package/dist/features/row-expanding/rowExpandingFeature.d.cts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.d.ts +4 -15
- package/dist/features/row-expanding/rowExpandingFeature.js +38 -49
- package/dist/features/row-expanding/rowExpandingFeature.js.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.cjs.map +1 -1
- package/dist/features/row-pagination/createPaginatedRowModel.js.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.cjs +35 -47
- package/dist/features/row-pagination/rowPaginationFeature.cjs.map +1 -1
- package/dist/features/row-pagination/rowPaginationFeature.d.cts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.d.ts +4 -15
- package/dist/features/row-pagination/rowPaginationFeature.js +36 -47
- package/dist/features/row-pagination/rowPaginationFeature.js.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.cjs +55 -67
- package/dist/features/row-pinning/rowPinningFeature.cjs.map +1 -1
- package/dist/features/row-pinning/rowPinningFeature.d.cts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.d.ts +4 -15
- package/dist/features/row-pinning/rowPinningFeature.js +56 -67
- package/dist/features/row-pinning/rowPinningFeature.js.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.cjs +65 -77
- package/dist/features/row-selection/rowSelectionFeature.cjs.map +1 -1
- package/dist/features/row-selection/rowSelectionFeature.d.cts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.d.ts +4 -15
- package/dist/features/row-selection/rowSelectionFeature.js +66 -77
- package/dist/features/row-selection/rowSelectionFeature.js.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.cjs.map +1 -1
- package/dist/features/row-sorting/createSortedRowModel.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.cjs +45 -57
- package/dist/features/row-sorting/rowSortingFeature.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.d.cts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.d.ts +4 -15
- package/dist/features/row-sorting/rowSortingFeature.js +46 -57
- package/dist/features/row-sorting/rowSortingFeature.js.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.cjs.map +1 -1
- package/dist/features/row-sorting/rowSortingFeature.utils.js +8 -5
- package/dist/features/row-sorting/rowSortingFeature.utils.js.map +1 -1
- package/dist/fns/aggregationFns.cjs +18 -18
- package/dist/fns/aggregationFns.cjs.map +1 -1
- package/dist/fns/aggregationFns.d.cts +21 -19
- package/dist/fns/aggregationFns.d.ts +21 -19
- package/dist/fns/aggregationFns.js +18 -18
- package/dist/fns/aggregationFns.js.map +1 -1
- package/dist/fns/filterFns.cjs +51 -65
- package/dist/fns/filterFns.cjs.map +1 -1
- package/dist/fns/filterFns.d.cts +82 -28
- package/dist/fns/filterFns.d.ts +82 -28
- package/dist/fns/filterFns.js +51 -65
- package/dist/fns/filterFns.js.map +1 -1
- package/dist/fns/sortFns.cjs +18 -6
- package/dist/fns/sortFns.cjs.map +1 -1
- package/dist/fns/sortFns.d.cts +15 -13
- package/dist/fns/sortFns.d.ts +15 -13
- package/dist/fns/sortFns.js +18 -6
- package/dist/fns/sortFns.js.map +1 -1
- package/dist/index.cjs +0 -20
- package/dist/index.d.cts +34 -34
- package/dist/index.d.ts +34 -34
- package/dist/index.js +21 -21
- package/dist/types/Cell.d.cts +3 -8
- package/dist/types/Cell.d.ts +3 -8
- package/dist/types/Column.d.cts +3 -8
- package/dist/types/Column.d.ts +3 -8
- package/dist/types/ColumnDef.d.cts +3 -8
- package/dist/types/ColumnDef.d.ts +3 -8
- package/dist/types/Header.d.cts +3 -8
- package/dist/types/Header.d.ts +3 -8
- package/dist/types/HeaderGroup.d.cts +3 -8
- package/dist/types/HeaderGroup.d.ts +3 -8
- package/dist/types/Row.d.cts +3 -8
- package/dist/types/Row.d.ts +3 -8
- package/dist/types/RowModel.d.cts +4 -10
- package/dist/types/RowModel.d.ts +4 -10
- package/dist/types/RowModelFns.d.cts +3 -8
- package/dist/types/RowModelFns.d.ts +3 -8
- package/dist/types/Table.d.cts +3 -8
- package/dist/types/Table.d.ts +3 -8
- package/dist/types/TableFeatures.d.cts +13 -39
- package/dist/types/TableFeatures.d.ts +13 -39
- package/dist/types/TableOptions.d.cts +3 -4
- package/dist/types/TableOptions.d.ts +3 -4
- package/dist/types/TableState.d.cts +5 -10
- package/dist/types/TableState.d.ts +5 -10
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/core/cells/coreCellsFeature.ts +17 -39
- package/src/core/columns/coreColumnsFeature.ts +56 -83
- package/src/core/headers/buildHeaderGroups.ts +1 -1
- package/src/core/headers/coreHeadersFeature.ts +42 -64
- package/src/core/headers/coreHeadersFeature.utils.ts +1 -1
- package/src/core/row-models/coreRowModelsFeature.ts +43 -64
- package/src/core/row-models/coreRowModelsFeature.types.ts +2 -6
- package/src/core/row-models/createCoreRowModel.ts +1 -1
- package/src/core/rows/coreRowsFeature.ts +45 -72
- package/src/core/table/constructTable.ts +10 -7
- package/src/core/table/coreTablesFeature.ts +13 -35
- package/src/core/table/coreTablesFeature.utils.ts +1 -1
- package/src/features/column-faceting/columnFacetingFeature.ts +71 -102
- package/src/features/column-faceting/createFacetedMinMaxValues.ts +1 -1
- package/src/features/column-faceting/createFacetedRowModel.ts +1 -1
- package/src/features/column-faceting/createFacetedUniqueValues.ts +1 -1
- package/src/features/column-filtering/columnFilteringFeature.ts +60 -103
- package/src/features/column-filtering/columnFilteringFeature.types.ts +3 -3
- package/src/features/column-filtering/columnFilteringFeature.utils.ts +4 -4
- package/src/features/column-filtering/createFilteredRowModel.ts +2 -2
- package/src/features/column-grouping/columnGroupingFeature.ts +82 -126
- package/src/features/column-grouping/createGroupedRowModel.ts +1 -1
- package/src/features/column-ordering/columnOrderingFeature.ts +52 -84
- package/src/features/column-pinning/columnPinningFeature.ts +268 -304
- package/src/features/column-pinning/columnPinningFeature.utils.ts +5 -5
- package/src/features/column-resizing/columnResizingFeature.ts +44 -78
- package/src/features/column-sizing/columnSizingFeature.ts +115 -152
- package/src/features/column-visibility/columnVisibilityFeature.ts +92 -129
- package/src/features/global-filtering/globalFilteringFeature.ts +45 -79
- package/src/features/global-filtering/globalFilteringFeature.utils.ts +4 -2
- package/src/features/row-expanding/createExpandedRowModel.ts +1 -1
- package/src/features/row-expanding/rowExpandingFeature.ts +65 -101
- package/src/features/row-pagination/createPaginatedRowModel.ts +1 -1
- package/src/features/row-pagination/rowPaginationFeature.ts +69 -103
- package/src/features/row-pinning/rowPinningFeature.ts +72 -104
- package/src/features/row-selection/rowSelectionFeature.ts +103 -135
- package/src/features/row-sorting/createSortedRowModel.ts +1 -1
- package/src/features/row-sorting/rowSortingFeature.ts +73 -114
- package/src/features/row-sorting/rowSortingFeature.utils.ts +8 -6
- package/src/fns/aggregationFns.ts +26 -42
- package/src/fns/filterFns.ts +231 -264
- package/src/fns/sortFns.ts +51 -29
- package/src/types/Cell.ts +3 -19
- package/src/types/Column.ts +2 -18
- package/src/types/ColumnDef.ts +2 -18
- package/src/types/Header.ts +2 -18
- package/src/types/HeaderGroup.ts +2 -13
- package/src/types/Row.ts +2 -17
- package/src/types/RowModel.ts +3 -25
- package/src/types/RowModelFns.ts +2 -17
- package/src/types/Table.ts +2 -17
- package/src/types/TableFeatures.ts +51 -112
- package/src/types/TableOptions.ts +1 -12
- package/src/types/TableState.ts +4 -30
- package/src/utils.ts +5 -4
|
@@ -89,8 +89,6 @@ export function column_getAutoSortFn<
|
|
|
89
89
|
const sortFns: Record<string, SortFn<TFeatures, TData>> | undefined =
|
|
90
90
|
column.table._rowModelFns.sortFns
|
|
91
91
|
|
|
92
|
-
let sortFn: SortFn<TFeatures, TData> | undefined
|
|
93
|
-
|
|
94
92
|
const firstRows = column.table.getFilteredRowModel().flatRows.slice(0, 10)
|
|
95
93
|
|
|
96
94
|
let isString = false
|
|
@@ -99,23 +97,27 @@ export function column_getAutoSortFn<
|
|
|
99
97
|
const value = firstRows[i]!.getValue(column.id)
|
|
100
98
|
|
|
101
99
|
if (Object.prototype.toString.call(value) === '[object Date]') {
|
|
102
|
-
|
|
100
|
+
if (sortFns?.datetime) {
|
|
101
|
+
return sortFns.datetime
|
|
102
|
+
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
if (typeof value === 'string') {
|
|
106
106
|
isString = true
|
|
107
107
|
|
|
108
108
|
if (value.split(reSplitAlphaNumeric).length > 1) {
|
|
109
|
-
|
|
109
|
+
if (sortFns?.alphanumeric) {
|
|
110
|
+
return sortFns.alphanumeric
|
|
111
|
+
}
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
115
|
|
|
114
116
|
if (isString) {
|
|
115
|
-
|
|
117
|
+
return sortFns?.text ?? sortFn_basic
|
|
116
118
|
}
|
|
117
119
|
|
|
118
|
-
return
|
|
120
|
+
return sortFn_basic
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
/**
|
|
@@ -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
|
|
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<
|
|
18
|
-
childRows: Array<Row<
|
|
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
|
|
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<
|
|
40
|
-
childRows: Array<Row<
|
|
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
|
|
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<
|
|
71
|
-
childRows: Array<Row<
|
|
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
|
|
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<
|
|
101
|
-
childRows: Array<Row<
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|