#How to pick a unamed param in a type

4 messages · Page 1 of 1 (latest)

barren lodge
#
export type FilterFn<TData extends AnyData> = {
  (
    row: Row<TData>,
    columnId: string,
    filterValue: any,
    addMeta: (meta: any) => void
  ): boolean
  resolveFilterValue?: TransformFilterValueFn<TData>
  autoRemove?: ColumnFilterAutoRemoveTestFn<TData>
  addMeta?: (meta?: any) => void
}

How do I Pick the first param in FilterFn<TData extends AnyData>

(
  row: Row<TData>,
  columnId: string,
  filterValue: any,
  addMeta: (meta: any) => void
): boolean

// use case, this params should sync with `FilterFn`
function MyFn(
  row: Row<TData>,
  columnId: string,
  filterValue: any,
  addMeta: (meta: any) => void
) {
}
void thicket
#

Parameters<FilterFn>

barren lodge
# void thicket `Parameters<FilterFn>`

Thanks.

export type FilterFn<TData> = {
  (
    row: Row<TData>,
    columnId: string,
    filterValue: any,
    addMeta: (meta: any) => void
  ): boolean
  addMeta?: (meta?: any) => void
};

// targeting `addMeta`
function test1<T>(...[p]: Parameters<FilterFn<T>["addMeta"]>) {..}

// how to target the first group `(row, columnId, filterValue, addMeta)`?
function test2<T>(...[p]: Parameters<FilterFn<T>[0]>) {..}
void thicket
#

remove [0]