Я пытаюсь создать общую функцию обертки, которая будет обертывать любую переданную ему функцию.
В самом начале функция обертки будет выглядеть примерно так:
function wrap<T extends Function>(fn: T) {
return (...args) => {
return fn(...args)
};
}
Я пытаюсь использовать его как:
function foo(a: string, b: number): [string, number] {
return [a, b];
}
const wrappedFoo = wrap(foo);
Прямо сейчас wrappedFoo
получает тип (...args: any[]) => any
Можно ли wrappedFoo
чтобы имитировать типы этой функции?