搜索词
默认初始化值保留注解tsdoc类型选项选项包
建议
正如标题所暗示的,如果提供了初始化器,则在TSDoc AST中插入一个@default
注解,保留原始注解。
用例
我有一个选项的默认值,我希望库的使用者知道这个默认值是什么。
示例
interface Options {
/**
* The server host.
*/
host?: string;
port?: number;
}
function serve({ host = 'localhost', port }: Options) {
return { host, port };
}
Playground
在return
语句中悬停显示以下内容:
不仅此属性的TSDoc注解丢失了,而且如果在此上下文中添加了@default "localhost"
,它还可以进一步改进,因为这些信息就在这里。
它应该像这样:
非常感谢TS团队!
检查清单
我的建议满足以下准则:
- 这不会对现有的TypeScript/JavaScript代码造成破坏性更改
- 这不会改变现有JavaScript代码的运行时行为
- 这可以在不根据表达式的类型发出不同的JS的情况下实现
- 这不是一个运行时特性(例如库功能、带有JavaScript输出的非ECMAScript语法等)
- 这个特性将与TypeScript's Design Goals的其他部分保持一致。
4条答案
按热度按时间6mzjoqzu1#
我认为这是#32392的重复内容。
5f0d552i2#
我认为这是一个重复的问题。
它与#32392有关,但不是相同的问题,因为该问题没有提到
@default
的评论。xoefb8l83#
@RyanCavanaugh 我已经在下面提供了一个详细的例子,说明缺少工具提示信息的场景。
Playground
nfg76nw04#
我还想在我的TSdocs(d.ts)中提供默认值。我在设置类中有很广泛的选项,并希望让人们知道默认值(在IDE中,以及使用API文档生成网站时)。
我的输入:
在我期望的d.ts输出中,我希望有类似的东西:
鉴于这个问题的兴趣和持续时间,我担心它可能永远不会成为官方功能。所以我在想:是否有一个好的方法来自定义生成的输出并注入这样的标签?例如,通过TypeScript编译器API使用转换器?关于在哪里适应/扩展编译器的提示将非常有助于实现这一点。