microsoft / microsoft/TypeScript

Display default values for property types.

オープン
#61,045 コメント 0 件 リアクション 2 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Awaiting More Feedback Suggestion
主要言語
Go
スター
111k
フォーク
14.3k
平均マージ
2日 4時間
マージ済み PR(30日)
132

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

リンクされている TypeScript Playground から始めて、JSDoc @property のデフォルト値のケースを再現し、その後、関連する issue 24746 と比較します。分割代入された size のツールチップがどのように生成されるかを追跡し、完成した動作でドキュメントに記載されたデフォルト値(@default 'md' など)が表示されるようにします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, typescript
領域
compilers, developer-experience
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
52/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。