我目前正在使用 JSDoc 将项目从 TypeScript 转换为 JavaScript。我正在尝试使用 JSDoc 执行以下操作:
declare global {
namespace jest {
interface Matchers<R> {
toBeTheSameAsRemote: (expected: string) => CustomMatcherResult;
}
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我已经想出了这个:
/**
* @namespace jest
*/
/**
* @interface Matchers
* @memberof jest
*/
Run Code Online (Sandbox Code Playgroud)
小智 0
在我的纯 JavaScript 项目中,我使用这些 JSDoc 实体来使 WebStorm 识别扩展(我将它们放在调用之前expect.extend):
/**
* @function JestMatchers#toBeTheSameAsRemote
*/
/**
* @function Matchers#toBeTheSameAsRemote
*/
Run Code Online (Sandbox Code Playgroud)
第一个是工作所需要的expect(...).toBeTheSameAsRemote(),第二个是工作所需要的。如果您的匹配器有自己的参数,您可以在此处使用标签记录它们 - 不幸的是您需要复制它们。expect(...) .not.toBeTheSameAsRemote()@param