Skip to content

Commit 9af64a2

Browse files
committed
reintroduce old uniontointersection types
1 parent e7bc229 commit 9af64a2

36 files changed

Lines changed: 678 additions & 311 deletions

File tree

examples/react/grouping/src/main.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@ const tableHelper = createTableHelper({
3131
rowSortingFeature,
3232
},
3333
_rowModels: {
34+
expandedRowModel: createExpandedRowModel(),
3435
filteredRowModel: createFilteredRowModel(filterFns),
36+
groupedRowModel: createGroupedRowModel(aggregationFns),
3537
paginatedRowModel: createPaginatedRowModel(),
3638
sortedRowModel: createSortedRowModel(sortFns),
37-
groupedRowModel: createGroupedRowModel(aggregationFns),
38-
expandedRowModel: createExpandedRowModel(),
3939
},
40-
TData: [] as Array<Person>,
40+
TData: {} as Person,
4141
})
4242

4343
function App() {

packages/angular-table/src/constructTableHelper.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@ import type { Signal } from '@angular/core'
1717
* Options for creating a table helper to share common options across multiple tables
1818
* coreColumnsFeature, data, and state are excluded from this type and reserved for only the `useTable`/`createTable` functions
1919
*/
20-
type TableHelperOptions<
20+
export type TableHelperOptions<
2121
TFeatures extends TableFeatures,
22-
TDataList extends Array<RowData> = Array<any>,
23-
> = Omit<
24-
TableOptions<TFeatures, NoInfer<TDataList>>,
25-
'columns' | 'data' | 'state'
26-
> & {
22+
TData extends RowData,
23+
> = Omit<TableOptions<TFeatures, TData>, 'columns' | 'data' | 'state'> & {
2724
_features: TFeatures
28-
TData?: TDataList[number] // provide a cast for the TData type
25+
TData?: TData // provide a cast for the TData type
2926
}
3027

3128
/**
@@ -57,7 +54,7 @@ export function constructTableHelper<
5754
tableCreator: (
5855
tableOptions: () => TableOptions<TFeatures, TData>,
5956
) => Table<TFeatures, TData> & Signal<Table<TFeatures, TData>>,
60-
tableHelperOptions: TableHelperOptions<TFeatures, Array<TData>>,
57+
tableHelperOptions: TableHelperOptions<TFeatures, TData>,
6158
): TableHelper_Core<TFeatures, TData> {
6259
const { TData: _TData, ..._tableHelperOptions } = tableHelperOptions
6360
return {

packages/angular-table/src/createTableHelper.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import { constructTableHelper } from './constructTableHelper'
1+
import {
2+
constructTableHelper,
3+
TableHelperOptions,
4+
} from './constructTableHelper'
25
import { injectTable } from './injectTable'
36
import type { Signal } from '@angular/core'
47
import type {
58
RowData,
69
Table,
710
TableFeatures,
8-
TableHelperOptions,
911
TableHelper_Core,
1012
TableOptions,
1113
} from '@tanstack/table-core'

packages/preact-table/src/createTableHelper.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ export type TableHelper<
2323

2424
export function createTableHelper<
2525
TFeatures extends TableFeatures,
26-
TDataList extends Array<RowData> = Array<any>,
26+
TData extends RowData,
2727
>(
28-
tableHelperOptions: TableHelperOptions<TFeatures, TDataList>,
29-
): TableHelper<TFeatures, TDataList[number]> {
28+
tableHelperOptions: TableHelperOptions<TFeatures, TData>,
29+
): TableHelper<TFeatures, TData> {
3030
const tableHelper = constructTableHelper(useTable, tableHelperOptions)
3131
return {
3232
...tableHelper,
3333
useTable: tableHelper.tableCreator,
34-
} as unknown as TableHelper<TFeatures, TDataList[number]>
34+
} as unknown as TableHelper<TFeatures, TData>
3535
}
3636

3737
// test

packages/qwik-table/src/createTableHelper.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ export type TableHelper<
2424

2525
export function createTableHelper<
2626
TFeatures extends TableFeatures,
27-
TDataList extends Array<RowData> = Array<any>,
27+
TData extends RowData,
2828
>(
29-
tableHelperOptions: TableHelperOptions<TFeatures, TDataList>,
30-
): TableHelper<TFeatures, TDataList[number]> {
29+
tableHelperOptions: TableHelperOptions<TFeatures, TData>,
30+
): TableHelper<TFeatures, TData> {
3131
const tableHelper = constructTableHelper(useTable as any, tableHelperOptions)
3232
return {
3333
...tableHelper,
3434
useTable: tableHelper.tableCreator,
35-
} as unknown as TableHelper<TFeatures, TDataList[number]>
35+
} as unknown as TableHelper<TFeatures, TData>
3636
}
3737

3838
// test

packages/react-table/src/createTableHelper.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ export type TableHelper<
2323

2424
export function createTableHelper<
2525
TFeatures extends TableFeatures,
26-
TDataList extends Array<RowData> = Array<any>,
26+
TData extends RowData,
2727
>(
28-
tableHelperOptions: TableHelperOptions<TFeatures, TDataList>,
29-
): TableHelper<TFeatures, TDataList[number]> {
28+
tableHelperOptions: TableHelperOptions<TFeatures, TData>,
29+
): TableHelper<TFeatures, TData> {
3030
const tableHelper = constructTableHelper(useTable, tableHelperOptions)
3131
return {
3232
...tableHelper,
3333
useTable: tableHelper.tableCreator,
34-
} as unknown as TableHelper<TFeatures, TDataList[number]>
34+
} as unknown as TableHelper<TFeatures, TData>
3535
}
3636

3737
// test

packages/table-core/src/core/table/coreTablesFeature.types.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import type { CoreFeatures } from '../coreFeatures'
22
import type { RowModelFns } from '../../types/RowModelFns'
3-
import type { NoInfer, RowData, Updater } from '../../types/type-utils'
3+
import type { RowData, Updater } from '../../types/type-utils'
44
import type { TableFeatures } from '../../types/TableFeatures'
5-
import type { CachedRowModels, CreateRowModels } from '../../types/RowModel'
5+
import type { CachedRowModels, CreateRowModels_All } from '../../types/RowModel'
66
import type { TableOptions } from '../../types/TableOptions'
77
import type { TableState } from '../../types/TableState'
88

@@ -13,7 +13,7 @@ export interface TableMeta<
1313

1414
export interface TableOptions_Table<
1515
TFeatures extends TableFeatures,
16-
TDataList extends Array<RowData>,
16+
TData extends RowData,
1717
> {
1818
/**
1919
* The features that you want to enable for the table.
@@ -26,7 +26,7 @@ export interface TableOptions_Table<
2626
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#_rowmodels)
2727
* [Guide](https://tanstack.com/table/v8/docs/guide/tables)
2828
*/
29-
_rowModels?: CreateRowModels<TFeatures, NoInfer<TDataList[number]> | RowData>
29+
_rowModels?: CreateRowModels_All<TFeatures, TData>
3030
/**
3131
* Set this option to override any of the `autoReset...` feature options.
3232
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#autoresetall)
@@ -38,7 +38,7 @@ export interface TableOptions_Table<
3838
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#data)
3939
* [Guide](https://tanstack.com/table/v8/docs/guide/tables)
4040
*/
41-
data: TDataList
41+
data: Array<TData>
4242
/**
4343
* Set this option to `true` to output all debugging information to the console.
4444
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#debugall)
@@ -72,15 +72,15 @@ export interface TableOptions_Table<
7272
* [Guide](https://tanstack.com/table/v8/docs/guide/tables)
7373
*/
7474
mergeOptions?: (
75-
defaultOptions: TableOptions<TFeatures, TDataList[number]>,
76-
options: Partial<TableOptions<TFeatures, TDataList[number]>>,
77-
) => TableOptions<TFeatures, TDataList[number]>
75+
defaultOptions: TableOptions<TFeatures, TData>,
76+
options: Partial<TableOptions<TFeatures, TData>>,
77+
) => TableOptions<TFeatures, TData>
7878
/**
7979
* You can pass any object to `options.meta` and access it anywhere the `table` is available via `table.options.meta`.
8080
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#meta)
8181
* [Guide](https://tanstack.com/table/v8/docs/guide/tables)
8282
*/
83-
meta?: TableMeta<TFeatures, TDataList[number]>
83+
meta?: TableMeta<TFeatures, TData>
8484
/**
8585
* The `onStateChange` option can be used to optionally listen to state changes within the table.
8686
* [API Docs](https://tanstack.com/table/v8/docs/api/core/table#onstatechange)

packages/table-core/src/features/column-faceting/columnFacetingFeature.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,17 @@ import {
44
column_getFacetedRowModel,
55
column_getFacetedUniqueValues,
66
} from './columnFacetingFeature.utils'
7-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
8-
import type {
9-
CachedRowModel_Faceted,
10-
Column_ColumnFaceting,
11-
CreateRowModel_Faceted,
12-
} from './columnFacetingFeature.types'
13-
import type { RowData } from '../../types/type-utils'
7+
import type { TableFeature } from '../../types/TableFeatures'
8+
// import type {
9+
// CachedRowModel_Faceted,
10+
// Column_ColumnFaceting,
11+
// CreateRowModel_Faceted,
12+
// } from './columnFacetingFeature.types'
1413

1514
interface ColumnFacetingFeatureConstructors {
16-
Column: Column_ColumnFaceting<TableFeatures, RowData>
17-
CreateRowModels: CreateRowModel_Faceted<TableFeatures, RowData>
18-
CachedRowModel: CachedRowModel_Faceted<TableFeatures, RowData>
15+
// Column: Column_ColumnFaceting<TableFeatures, RowData>
16+
// CreateRowModels: CreateRowModel_Faceted<TableFeatures, RowData>
17+
// CachedRowModel: CachedRowModel_Faceted<TableFeatures, RowData>
1918
}
2019

2120
/**

packages/table-core/src/features/column-filtering/columnFilteringFeature.ts

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,29 @@ import {
1111
table_resetColumnFilters,
1212
table_setColumnFilters,
1313
} from './columnFilteringFeature.utils'
14-
import type { RowData } from '../../types/type-utils'
15-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
16-
import type {
17-
CachedRowModel_Filtered,
18-
ColumnDef_ColumnFiltering,
19-
Column_ColumnFiltering,
20-
CreateRowModel_Filtered,
21-
RowModelFns_ColumnFiltering,
22-
Row_ColumnFiltering,
23-
TableOptions_ColumnFiltering,
24-
TableState_ColumnFiltering,
25-
Table_ColumnFiltering,
26-
} from './columnFilteringFeature.types'
14+
import type { TableFeature } from '../../types/TableFeatures'
15+
// import type {
16+
// CachedRowModel_Filtered,
17+
// ColumnDef_ColumnFiltering,
18+
// Column_ColumnFiltering,
19+
// CreateRowModel_Filtered,
20+
// RowModelFns_ColumnFiltering,
21+
// Row_ColumnFiltering,
22+
// TableOptions_ColumnFiltering,
23+
// TableState_ColumnFiltering,
24+
// Table_ColumnFiltering,
25+
// } from './columnFilteringFeature.types'
2726

2827
interface ColumnFilteringFeatureConstructors {
29-
CachedRowModel: CachedRowModel_Filtered<TableFeatures, RowData>
30-
Column: Column_ColumnFiltering<TableFeatures, RowData>
31-
ColumnDef: ColumnDef_ColumnFiltering<TableFeatures, RowData>
32-
CreateRowModels: CreateRowModel_Filtered<TableFeatures, RowData>
33-
Row: Row_ColumnFiltering<TableFeatures, RowData>
34-
RowModelFns: RowModelFns_ColumnFiltering<TableFeatures, RowData>
35-
Table: Table_ColumnFiltering
36-
TableOptions: TableOptions_ColumnFiltering<TableFeatures, RowData>
37-
TableState: TableState_ColumnFiltering
28+
// CachedRowModel: CachedRowModel_Filtered<TableFeatures, RowData>
29+
// Column: Column_ColumnFiltering<TableFeatures, RowData>
30+
// ColumnDef: ColumnDef_ColumnFiltering<TableFeatures, RowData>
31+
// CreateRowModels: CreateRowModel_Filtered<TableFeatures, RowData>
32+
// Row: Row_ColumnFiltering<TableFeatures, RowData>
33+
// RowModelFns: RowModelFns_ColumnFiltering<TableFeatures, RowData>
34+
// Table: Table_ColumnFiltering
35+
// TableOptions: TableOptions_ColumnFiltering<TableFeatures, RowData>
36+
// TableState: TableState_ColumnFiltering
3837
}
3938

4039
/**
@@ -101,8 +100,8 @@ export const columnFilteringFeature: TableFeature<ColumnFilteringFeatureConstruc
101100
},
102101

103102
constructRowAPIs: (row) => {
104-
row.columnFilters = {}
105-
row.columnFiltersMeta = {}
103+
;(row as any).columnFilters = {}
104+
;(row as any).columnFiltersMeta = {}
106105
},
107106

108107
constructTableAPIs: (table) => {

packages/table-core/src/features/column-grouping/columnGroupingFeature.ts

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,31 @@ import {
1616
table_resetGrouping,
1717
table_setGrouping,
1818
} from './columnGroupingFeature.utils'
19-
import type { RowData } from '../../types/type-utils'
20-
import type { TableFeature, TableFeatures } from '../../types/TableFeatures'
21-
import type {
22-
CachedRowModel_Grouped,
23-
Cell_ColumnGrouping,
24-
ColumnDef_ColumnGrouping,
25-
Column_ColumnGrouping,
26-
CreateRowModel_Grouped,
27-
RowModelFns_ColumnGrouping,
28-
Row_ColumnGrouping,
29-
TableOptions_ColumnGrouping,
30-
TableState_ColumnGrouping,
31-
Table_ColumnGrouping,
32-
} from './columnGroupingFeature.types'
19+
import type { TableFeature } from '../../types/TableFeatures'
20+
// import type {
21+
// CachedRowModel_Grouped,
22+
// Cell_ColumnGrouping,
23+
// ColumnDef_ColumnGrouping,
24+
// Column_ColumnGrouping,
25+
// CreateRowModel_Grouped,
26+
// RowModelFns_ColumnGrouping,
27+
// Row_ColumnGrouping,
28+
// TableOptions_ColumnGrouping,
29+
// TableState_ColumnGrouping,
30+
// Table_ColumnGrouping,
31+
// } from './columnGroupingFeature.types'
3332

3433
interface ColumnGroupingFeatureConstructors {
35-
CachedRowModel: CachedRowModel_Grouped<TableFeatures, RowData>
36-
Cell: Cell_ColumnGrouping
37-
Column: Column_ColumnGrouping<TableFeatures, RowData>
38-
ColumnDef: ColumnDef_ColumnGrouping<TableFeatures, RowData>
39-
CreateRowModels: CreateRowModel_Grouped<TableFeatures, RowData>
40-
Row: Row_ColumnGrouping
41-
RowModelFns: RowModelFns_ColumnGrouping<TableFeatures, RowData>
42-
Table: Table_ColumnGrouping<TableFeatures, RowData>
43-
TableOptions: TableOptions_ColumnGrouping
44-
TableState: TableState_ColumnGrouping
34+
// CachedRowModel: CachedRowModel_Grouped<TableFeatures, RowData>
35+
// Cell: Cell_ColumnGrouping
36+
// Column: Column_ColumnGrouping<TableFeatures, RowData>
37+
// ColumnDef: ColumnDef_ColumnGrouping<TableFeatures, RowData>
38+
// CreateRowModels: CreateRowModel_Grouped<TableFeatures, RowData>
39+
// Row: Row_ColumnGrouping
40+
// RowModelFns: RowModelFns_ColumnGrouping<TableFeatures, RowData>
41+
// Table: Table_ColumnGrouping<TableFeatures, RowData>
42+
// TableOptions: TableOptions_ColumnGrouping
43+
// TableState: TableState_ColumnGrouping
4544
}
4645

4746
/**

0 commit comments

Comments
 (0)