Yesterday I ran into a #TypeScript challenge which I could not solve. I want a
generic wrapper function, which preserves the return type of the passed wrapped
function:
https://www.typescriptlang.org/play/?target=6&ssl=1&ssc=1&pln=17&pc=1#code/MYewdgzgLgBATgUynAnjAvDAPAJQDQwAqMCAHlAmACYQwAUAlBgHwwAKcIAtgJYQK5mzOmACuXQnB4IIALhhiuAIwRwm6VgEMIKMMHoAoAJAAzMPMJ4D65sbAIA7u069+gunUQQQAGwBuCASIAFYIwFA2xqZgjDAA9HEwAIIQEOIIMFAAFpqwZjB88EhSCFQwAAaKktIQ5Zk8XDIwKiYgiAWwhSFhFFRRRgB02ZSeMr4BDP0DwLnAWaOh4QxWRpMGCTAAwoi5TZowjdkgZdm5MA48Pj5FyGjDMAAO2vxlJqJ6UDzgMACs9Y0QAygSCwRC3P6YMGoOg-NYbMAFWgcbh8ATvADWYBADjAzAIWWxMCoIBgAEkYABzJCZEkqZwotyKFRwWzA6AKDA3VA-Dw2emuBADLzjBB0AAsACYGEx1okBvKYG1+aisNApGAKazwOzaJDiigebENMr+EKxv5RQByVogS3SmAGIA
#followerpower
1 reply
The point is to not define the return type when creating an instance of the
wrapper, which would solve it for each use case:
const retry5string = retry<string>(5) const retry5number =
retry<number>(5)