T
TanStack3y ago
sunny-green

Why is the column value type unknown?

The type of the column value is inferred in createColumnHelper, but why is the value type in columnDef definition as unkown?
export type ColumnHelper<TData extends RowData> = {
accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: TAccessor extends AccessorFn<TData> ? DisplayColumnDef<TData, TValue> : IdentifiedColumnDef<TData, TValue>) => ColumnDef<TData, TValue>;
display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>;
group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>;
};


export type ColumnDef<TData extends RowData, TValue = unknown> = DisplayColumnDef<TData, TValue> | GroupColumnDef<TData, TValue> | AccessorColumnDef<TData, TValue>;
export type ColumnHelper<TData extends RowData> = {
accessor: <TAccessor extends AccessorFn<TData> | DeepKeys<TData>, TValue extends TAccessor extends AccessorFn<TData, infer TReturn> ? TReturn : TAccessor extends DeepKeys<TData> ? DeepValue<TData, TAccessor> : never>(accessor: TAccessor, column: TAccessor extends AccessorFn<TData> ? DisplayColumnDef<TData, TValue> : IdentifiedColumnDef<TData, TValue>) => ColumnDef<TData, TValue>;
display: (column: DisplayColumnDef<TData>) => ColumnDef<TData, unknown>;
group: (column: GroupColumnDef<TData>) => ColumnDef<TData, unknown>;
};


export type ColumnDef<TData extends RowData, TValue = unknown> = DisplayColumnDef<TData, TValue> | GroupColumnDef<TData, TValue> | AccessorColumnDef<TData, TValue>;
0 Replies
No replies yetBe the first to reply to this messageJoin

Did you find this page helpful?