Ich versuche, eine generische Wrapper-Funktion zu erstellen, die alle an sie übergebenen Funktionen umschließt.Ist es möglich, eine Funktion zu umbrechen und ihre Typen beizubehalten?
Am sehr einfach die Wrapper-Funktion so etwas wie
function wrap<T extends Function>(fn: T) {
return (...args) => {
return fn(...args)
};
}
aussehen würde ich versuche, es zu benutzen mag:
function foo(a: string, b: number): [string, number] {
return [a, b];
}
const wrappedFoo = wrap(foo);
Gerade jetzt wrappedFoo
wird immer eine Art (...args: any[]) => any
Ist es möglich, wrappedFoo
zu erhalten, um die Typen der Funktion nachzuahmen?
Danke für die Antwort, ich würde lieber nicht jede Funktion gezwungen, um in einem einzigen params Objekt zu nehmen ... Ich habe weiter rumgespielt und denke, ich habe eine Lösung für dieses spezielle Problem ... – tikotzky