我正在尝试在一个仅包含JavaScript的项目中使用--allowJs --declaration
,并注意到箭头函数的JSDoc描述没有正确地附加到类型定义上。
TypeScript版本: 3.8.0-dev.20191031
搜索词: 箭头函数, allowJs, 声明
代码
https://github.com/hipstersmoothie/typescript-jsdoc-bug
/**
* This isn't included
*
* @param bar a test param
*/
export const foo = bar => {};
/**
* This is included
*
* @param baz a test param
*/
export function fob(baz) {}
预期行为:(至少像这样)
/**
* This isn't included
*
* @param bar a test param
*/
export function foo(bar: any): void;
/**
* This is included
*
* @param baz a test param
*/
export function fob(baz: any): void;
实际行为:
/**
* This is included
*
* @param baz a test param
*/
export function fob(baz: any): void;
export function foo(bar: any): void;
如果我将文件切换到.ts
,输出将是预期的
/**
* This isn't included
*
* @param bar a test param
*/
export declare const foo: (bar: string) => void;
/**
* This is included
*
* @param baz a test param
*/
export declare function fob(baz: string): void;
4条答案
按热度按时间2vuwiymt1#
翻译结果为:相关地,这里有一个基线测试,其中所有导出的成员都应该有JSDoc。我发现这个问题也发生在你在$x_1m_0n_1^x$上直接定义导出时
$x_1a_0b_1^x \rightarrow x_1a_1b_1^x$
mfuanj7w2#
我已经遇到了与@hipstersmoothie相同的问题,并找到了两个可能目前有用的解决方法:
JavaScript代码
声明输出
ahy6op9u3#
这是四年前为3.8.1安排的。@RyanCavanaugh仍然认为值得修复吗?
在https://github.com/Endojs/endo/中,模块位于
.js
,我们发出.d.ts
用于NPM。代码大量使用了箭头函数,因此由于这个bug,许多JSDoc从.d.ts中丢失了。1tu0hz3e4#
仍然没有解决方案吗?我仍然在使用
*.ts
文件时遇到相同的问题:jsdoc.json:
示例文档:
生成的输出:
因此无法识别为函数,参数和返回值未记录。
对我来说,这也不起作用:
这个:
最后产生的是:
但我喜欢箭头语法,想使用那个...!