microsoft / microsoft/TypeScript
Method use showing as deprecated when callback function includes type hint
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Go
- Estrellas
- 111k
- Forks
- 14.4k
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 117
Descripción
Type: Bug
Using jQuery globally, I noticed that the usage of .on() is showing as deprecated when my event handler function includes a typehint. I could be wrong but I don't believe this is due to the type definitions and might be something with TS.
The below shows .on with a strikethrough that it is deprecated.
$(document).on("click", ".search-tag", /** @this {HTMLElement} */ function() {
selectedKeywords.delete(this.dataset.module);
$(this).remove();
});
Removing the typehint from the callback makes the deprecation notice go away.
$(document).on("click", ".search-tag", function() {
selectedKeywords.delete(this.dataset.module);
$(this).remove();
});
Below is what the hover shows for the deprecation:
It seems the be complaining about the use of JQueryEventObject but only when the type hint is present.
VS Code version: Code 1.91.1 (f1e16e1e6214d7c44d078b1f0607b2388f29d729, 2024-07-09T22:06:49.809Z)
OS version: Windows_NT x64 10.0.22631
Modes:
Remote OS version: Linux x64 4.18.0-553.8.1.el8_10.x86_64
System Info
| Item | Value |
|---|---|
| CPUs | 13th Gen Intel(R) Core(TM) i7-1360P (16 x 2611) |
| GPU Status | 2d_canvas: enabled canvas_oop_rasterization: enabled_on direct_rendering_display_compositor: disabled_off_ok gpu_compositing: enabled multiple_raster_threads: enabled_on opengl: enabled_on rasterization: enabled raw_draw: disabled_off_ok skia_graphite: disabled_off video_decode: enabled video_encode: enabled vulkan: disabled_off webgl: enabled webgl2: enabled webgpu: enabled |
| Load (avg) | undefined |
| Memory (System) | 31.68GB (18.95GB free) |
| Process Argv | --folder-uri vscode-remote://ssh-remote%2Bmlinks-dev/home/cgoepfrich2/public_html/mlinks |
| Screen Reader | no |
| VM | 0% |
| Item | Value |
|---|---|
| Remote | SSH: mlinks-dev |
| OS | Linux x64 4.18.0-553.8.1.el8_10.x86_64 |
| CPUs | Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz (2 x 0) |
| Memory (System) | 7.52GB (1.23GB free) |
| VM | 100% |
Extensions (25)
| Extension | Author (truncated) | Version |
|---|---|---|
| ccl-tools | DSH | 0.0.11 |
| vscode-apache | mrm | 1.2.0 |
| vscode-edge-devtools | ms- | 2.1.5 |
| jupyter-keymap | ms- | 1.1.2 |
| remote-containers | ms- | 0.375.1 |
| remote-ssh | ms- | 0.112.0 |
| remote-ssh-edit | ms- | 0.86.0 |
| remote-wsl | ms- | 0.88.2 |
| vscode-remote-extensionpack | ms- | 0.25.0 |
| remote-explorer | ms- | 0.4.3 |
| remote-server | ms- | 1.5.2 |
| vscode-jsp | pth | 0.0.3 |
| tom | 1.2.2 | |
| highlight-matching-tag | vin | 0.11.0 |
| vscode-intelephense-client | bme | 1.10.4 |
| vscode-svgviewer | css | 2.0.0 |
| transformer | dak | 1.12.1 |
| gitlens | eam | 15.2.3 |
| gitlab-workflow | Git | 5.2.0 |
| todo-tree | Gru | 0.0.226 |
| vscode-dotnet-runtime | ms- | 2.1.1 |
| vsliveshare | ms- | 1.0.5936 |
| vscode-xml | red | 0.27.1 |
| vscode-yaml | red | 1.15.0 |
| php-debug | xde | 1.35.0 |
(1 theme extensions excluded)
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.
Línea de trabajo
Empieza reproduciendo el ejemplo proporcionado de jQuery-.on() en VS Code con y sin la indicación de tipo de JSDoc @this {HTMLElement}; después, sigue cómo TypeScript gestiona el callback y la sobrecarga obsoleta. El trabajo estará terminado cuando el uso válido de .on() ya no aparezca marcado como obsoleto cuando esté presente la indicación de tipo, con una prueba de regresión que cubra ambos ejemplos.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- javascript, jquery, typescript
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100