microsoft / microsoft/TypeScript

Display default values for property types.

Offen
#61,045 0 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Awaiting More Feedback Suggestion
Vorherrschende Sprache
Go
Sterne
111k
Forks
14.3k
Ø Merge
2 T. 4 Std.
Gemergte PRs (30 T.)
132

Beschreibung

🔎 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

https://www.typescriptlang.org/play/?filetype=js#code/LAKFHoCpNACTYAEAuBPADgUwCaYGawDeA9gEYBWmAxsgL6wAKATsegM5wKLotZNpEA5GwC2g2AB9YgkdnFTBAGwDmg+gG1mrNgDo2ASwBemALwy5AXVgAhAK7JkxAHawDxnZyQ9WmfqiJsyEz6TsoaWuw6igCGpJiKVnYOzrAxcYoeIPDgoBDQnohMmMi2TE5sRBFstAW4eNG2ishErkaYAFzSsoIANKmx8Z22TnUhOLA1WZA5IHjDNPopysVVABQAlERwsDtFJWVEk5OgisUtbpiwJl1yfWnxE1ewy8hr66BAA

💻 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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem verlinkten TypeScript Playground und reproduziere den JSDoc-@property-Fall mit dem Standardwert. Vergleiche ihn anschließend mit dem zugehörigen Issue 24746. Verfolge, wie der Tooltip für die destrukturierte size erzeugt wird, und sorge dafür, dass das fertiggestellte Verhalten den dokumentierten Standardwert anzeigt, etwa @default 'md'.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, typescript
Bereich
compilers, developer-experience
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.