microsoft / microsoft/TypeScript
@description JSDoc tag interferes with callback parameter documentation
@orta ya está trabajando en esto.
Desde el 2/9/2020.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.3k
- Merge medio
- 2 d 4 h
- PR fusionados (30 d)
- 132
Descripción
TypeScript Version: 3.8.3
Search Terms: jsdoc param
Expected behavior:
Below code creates no errors, type of x is recognized as (value: number) => boolean
Actual behavior:
Type of x is () => boolean, the invocation creates a type error.
Removing the @description tag makes the code work as expected.
My interpretation of https://jsdoc.app/tags-description.html is that you should be able to place @description anywhere in the comment without interfering with other tags:
By using the @description tag, you can place the description anywhere in the JSDoc comment.
Related Issues: Ran into a crash #37265 while trying to repro this with template parameters.
Code
// @ts-check
/**
* @callback IterablePredicate
* @description return true if given element of iterable matches an internal condition
* @param {number} value the current item being evaluated
* @returns {boolean} true if the entry satisfies given condition
**/
/**
* @type {IterablePredicate}
*/
let x;
x(3) // Expected 0 arguments, but got 1.
Compiler Options
{
"compilerOptions": {
"noImplicitAny": true,
"strictFunctionTypes": true,
"strictPropertyInitialization": true,
"strictBindCallApply": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"alwaysStrict": true,
"esModuleInterop": true,
"checkJs": true,
"allowJs": true,
"declaration": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"moduleResolution": 2,
"target": "ES2017",
"jsx": "React",
"module": "ESNext"
}
}
Playground Link: Provided
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.