搜索词
查找引用、重载、函数、重载函数
建议
提供一种搜索具有特定重载类型的函数引用的机制
用例
在当前实现中,查找所有重载函数的引用会显示每个重载的所有引用。有时我们需要仅查找特定重载的引用(例如,某个重载已被弃用,我们希望更新所有用例)
示例
/**
* @deprecated
**/
declare function fn():void; // overload 1
declare function fn(param:string):number; // overload 2
fn(); // use 1
const x = fn('a'); // use 2
const y = fn('b'); // use 3
查找 overload 1
的引用应列出 use 1
。
查找 overload 2
的引用应列出 use 2
和 use 3
。
检查清单
我的建议满足以下准则:
- 这不会对现有的 TypeScript/JavaScript 代码造成破坏性更改
- 这不会改变现有 JavaScript 代码的运行时行为
- 这可以在不根据表达式的类型发出不同的 JS 的情况下实现
- 这不是一个运行时特性(例如库功能、带有 JavaScript 输出的非 ECMAScript 语法等)
- 这个特性将与 TypeScript's Design Goals 的其他部分保持一致。
2条答案
按热度按时间rhfm7lfc1#
为了给出一个实际的例子,
rxjs
的forkJoin
有两个重载版本,其中一个接受展开参数,另一个作为参数数组。以下是简化的函数签名:/**
*@deprecated
**/
forkJoin(..args:Observable[]):Observable;
forkJoin(args:Observable[]):Observable;
展开变体是
deprecated
,在我们的代码库中我们同时使用了这两种变体。我想找到所有使用展开变体的用例。xqnpmsa82#
#52643