microsoft / microsoft/TypeScript

JSDoc: Typescript is interpreting varargs in function signature as required argument if jsdoc function notation is used in typedef.

Abierto
#30,274 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Awaiting More Feedback Suggestion
Lenguaje dominante
Go
Estrellas
111k
Forks
14.3k
Merge medio
1 d 19 h
PR fusionados (30 d)
117

Descripción

TypeScript Version: typescript@3.4.0-dev.20190308

Search Terms: jsdoc, varargs, typedef,

Code

// if I want to use typescript format
// this format is not supported by WebStorm
/** @typedef {(...a2:Array<string>) => void} A */
/** @type {A} */
let a;
a(); // but this works fine with typescript

// if I want to use JSDoc format
// this format is supported by WebStorm
/** @typedef {function(...string):void} B */
/** @type {B} */
let b;
b(); // but this not work, TS2555: Expected at least 1 arguments, but got 0

Expected behavior:
Both formats should be interpreted in same way.

Actual behavior:

test.js:13:1 - error TS2555: Expected at least 1 arguments, but got 0.
13 b(); // but this not work, TS2555: Expected at least 1 arguments, but got 0
   ~~~
  test.js:10:24
    10 /** @typedef {function(...string):void} B */
                              ~~~~~~~~~
    An argument for '0' was not provided.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con la reproducción mínima en JavaScript del issue y compara cómo TypeScript gestiona las dos formas de typedef de JSDoc, centrándote en el parámetro varargs y el diagnóstico TS2555. Se considera terminado cuando ambas formas permiten llamar a la función resultante sin argumentos, con pruebas que cubran el comportamiento equivalente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, typescript
Área
compilers
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.