microsoft / microsoft/TypeScript
Method use showing as deprecated when callback function includes type hint
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.4k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 117
Description
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)
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par reproduire dans VS Code l’exemple fourni de jQuery-.on() avec et sans l’indication de type JSDoc @this {HTMLElement}, puis examinez la manière dont TypeScript traite le callback et la surcharge obsolète. La tâche est terminée lorsque l’utilisation valide de .on() n’est plus marquée comme obsolète lorsque l’indication de type est présente, avec un test de régression couvrant les deux exemples.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, jquery, typescript
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100