string | null
Что бы она вела себя так:
getErrorMessage(err, [1, 2, 3]): string | null
getErrorMessage(err): string
если ignore === number[], то возвращала string | null
если ignore === undefined, то возвращала string
https://www.typescriptlang.org/docs/handbook/2/functions.html#function-overloads
попробовал сделать так: function getErrorMessage<T>(err: unknown, ignore?: T): T extends number[] ? string | null : string Но тогда в Ignore можно передать что угодно. непонятно как сделать ограничитель
об этом тоже знаю, прост мне не нравится такой вариант синтаксически
Как минимум нужно описать, что такое T. Но способ такой себе честно говоря, когда не понятно по какой причине берется не тот синтаксис, который напрямую решает данную задачу, а другой, который нужен совсем для другого))
понял, ладно, сейчас попробую твой вариант)
Обсуждают сегодня