Tengo este código de ejemplo:
function myFunction(base: string): typeof getter { function getter(contactInfo: ContactInfo): Address[] { ... return address; } return getter; } export default myFunction;
Pero cuando trato de hacer una compilación con archivos de declaración, tengo el siguiente error:
error TS4060: el tipo de devolución de la función exportada tiene o está usando el nombre privado 'captador'. 23 function myFunction(base: string): typeof getter {
Puedo arreglarlo agregando el tipo de getter
en lugar de typeof
:
function myFunction(base: string): (contactInfo: ContactInfo) => Address[] { function getter(contactInfo: ContactInfo): Address[] { ... return address; } return getter; } export default myFunction;
Pero hay algunos archivos que son más complicados que esto. ¿Hay alguna manera de evitar este error usando typeof getter
en lugar de pasar todos los tipos?
Creo que la mejor manera de manejar esto es eliminar el tipo de función. TypeScript es lo suficientemente inteligente como para inferir el tipo de retorno de la función sin una notación explícita.
function myFunction(base: string) { function getter(contactInfo: ContactInfo): Address[] { return address; } return getter; } export default myFunction; // inferred type is: // function myFunction(base: string): (contactInfo: ContactInfo) => Address[]