Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

423
Vistas
Declaración de tipo TypeScript (d.ts) para destruir la carga útil de la función

Uso de WebStorm. Mecanografiado v4.6.2

Tengo una función dentro del archivo de JavaScript normal index.js . Junto a él tengo el archivo de declaración de tipos index.d.ts . El único propósito de este archivo de declaración de tipo es obtener sugerencias de autocompletado.

Dentro del archivo JS tengo una función:

 module.exports.myFunction = async ({foo}) => { foo. // <-- expecting to get suggestion "bar" }

¿Cómo debe verse el archivo de declaración de tipos de TypeScript para proporcionar autocompletado para la bar que está dentro de este foo ?

Tratando de hacer así:

 interface payload { foo: { bar: string; }; } declare function myFunction(object: payload): any; export default myFunction;

Obtener tales "sugerencias":

ingrese la descripción de la imagen aquí

Si necesito esta myFunction desde cualquier otra ubicación, recibo las sugerencias como se esperaba, pero quiero obtener esa sugerencia dentro de myFunction :

ingrese la descripción de la imagen aquí

Estructura de archivos:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

TypeScript no funciona de forma mágica, en su caso, la mejor manera de hacerlo funcionar es exportar la interfaz e importarla en un comentario JSDoc para que pueda usarse en la función de escritura. Entonces sus archivos deberían verse así:

 // index.d.ts file export interface Payload { // Interface name should be capitalized foo: { bar: string; }; }
 // index.js file /** * @typedef {import('.').Payload} Payload */ /** * @param {Payload} param */ const myFunction = async ({ foo }) => { foo. // <-- You will get here the suggestion for "bar" }; module.exports = { myFunction };
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda