microsoft / microsoft/TypeScript
Display default values for property types.
Personne n'a encore pris cette issue.
- Langage dominant
- Go
- Étoiles
- 111k
- Forks
- 14.3k
- Merge moyen
- 2 j 4 h
- PR mergées (30 j)
- 132
Description
🔎 Search Terms
- jsdoc property and default tooltip
- jsdoc declare default values on object properties
- use jsdoc property with default
🕗 Version & Regression Information
Unsure if it's always been this way.
⏯ Playground Link
💻 Code
/**
* @typedef {object} Props
* @property {'sm' | 'md' | 'lg'} [Props.size='md'] Button size.
* @property {string} [Props.label] Button label.
*/
/**
* @returns {Props}
* @default { size: 'md', label: undefined }
*/
function getProps() {
return {}
}
let { size = 'md', label } = getProps()
🙁 Actual behavior
Tooltip when hovering size destructured property:
let size: "sm" | "md" | "lg"
Button size.
🙂 Expected behavior
Tooltip when hovering size destructured property:
let size: "sm" | "md" | "lg"
Button size.
---
@default 'md'
Additional information about the issue
Potentially relates to https://github.com/microsoft/TypeScript/issues/24746
When defining object property types using JSDoc default value notation, such as @property {'sm' | 'md' | 'lg'} [Props.size='md'], I'd like to see tooltip details about the default value. I assume the only way to denote default values with @property is to use [key=value] notation since @default cannot be inlined.
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 le TypeScript Playground lié et reproduisez le cas de valeur par défaut de JSDoc @property, puis comparez-le à l’issue associée 24746. Suivez la manière dont l’infobulle de la size déstructurée est produite et faites en sorte que le comportement final affiche la valeur par défaut documentée, par exemple @default 'md'.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- javascript, typescript
- Domaine
- compilers, developer-experience
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100