Skip to content

class method destructuring assignment autocomplete not workΒ #45045

Description

@mantou132

Bug Report

πŸ”Ž Search Terms

autocomplete intellisense

πŸ•— Version & Regression Information

4.3.5

⏯ Playground Link

https://www.typescriptlang.org/play?ts=4.3.5#code/JYWwDg9gTgLgBAbzgYQDbAKYDt4F84BmUEIcA5AAIDmUYAxgPQ30C0AVgM5kDcAULzACeYDHAAKxEMA7ACggDwAVAHxwAvHEVwAZLwS84cANoBpOMCxwAogA8YUAIZ0Y8gNYZBEApoA0cDvYWVKoOHHAABgAkCCa4EiTSGOEAugBcmqbJcBh22AAmYQAUBoZwUBgAjukWBBhQcABKlT4lhiAgGDAOeQ5d1Vi19QCynd29Di2lcBBgMMAQWP2DcADys-NYk6V0DqioAEZOrumFAPp1UOkOWIJ+5RxLdY0YHACU6qoAbhDAeVvvai+PzyrTgAH44Ep1M8OMpCuUqs8Kn52qMel0wekRl10RNpusFpjVgSsADVPEpBwMEplKD0lgMJ86nxcHxeHRUKEwgBlOqfYB0UT6NqdAAWEDyhXewtKqE6-j5AtEGgAjHBQuJJNJZAo0JgcMo+FM6AsAoh8BoqVB+YKjXBcLxcEA

πŸ’» Code

import { Client } from '@grpc/grpc-js';

type Promisify<T> = T &
{
  [K in Extract<keyof T, string> as `${K}Promise`]: T[K] extends (
    req: infer Req,
    mmetadata: infer Metadata,
    option: infer Option,
    callback: (_err: any, res: infer Res) => void,
  ) => void
    ? <T = Res>(req: Req, mmetadata?: Metadata, option?: Option) => Promise<T>
    : never;
};

class Service {
  method() {
    let service = 1 as Promisify<Client>;
    const { /** press ctrl+space */ } = service;
  }
}

πŸ™ Actual behavior

When I press CTRL+SPACE, not displayed correctly suggest.

Screen Shot 2021-07-15 at 8 03 01 PM

πŸ™‚ Expected behavior

When I press CTRL+SPACE, should display the method suggest. e.g:

Screen Shot 2021-07-15 at 8 03 12 PM

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptFix AvailableA PR has been opened for this issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions