Microsoft/TypeScript

Missing IntelliSense suggestions in a partial mapped generic argument

オープン

#47,518 opened on 2022/01/19

 (1 件のコメント) (1 件のリアクション) (0 人の担当者)TypeScript (13,395 件のフォーク)batch import
Domain: LS: Completion ListsExperience EnhancementHelp WantedSuggestion

Repository metrics

Stars
 (108,860 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Bug Report

The issue I'm facing is missing IntelliSense suggestions inside the inline object argument of a function which accepts a generic extending the partial of a mapped type. (Wow, that sentence was a doozy, no worries code sample below)

🔎 Search Terms

IntelliSense, Generic, Partial, Optional , Mapped, Function, Parameter, Argument, Object

🕗 Version & Regression Information

I'm using 4.5.4 Seems to be working in 4.3.5 on the playground.

⏯ Playground Link

Playground link with relevant code

💻 Code

type Original = {
    prop1: true,
    prop2: string
}

type Mapped = {[Prop in keyof Original as `get${Capitalize<string & Prop>}`]: Original[Prop]};

declare function foo<T extends Partial<Mapped>>(options: T): void;

foo({
/* cursor */
});

🙁 Actual behavior

  1. No (relevant) suggestion on CTRL + SPACE
  2. Suggestion on typing correct prefix ("get") of either parameter
  3. After setting said parameter correctly neither CTRL + SPACE nor typing gives another suggestion

🙂 Expected behavior

CTRL + SPACE (hopefully) would always give suggestion for allowed/fitting/legal properties

コントリビューターガイド