TypeScript 到 JSDoc:全局/接口

Kar*_*son 5 jsdoc typescript

我目前正在使用 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)

不幸的是, https://jsdoc.app/tags-interface.html中的示例没有帮助。

小智 0

在我的纯 JavaScript 项目中,我使用这些 JSDoc 实体来使 WebStorm 识别扩展(我将它们放在调用之前expect.extend):

/**
 * @function JestMatchers#toBeTheSameAsRemote
 */
/**
 * @function Matchers#toBeTheSameAsRemote
 */
Run Code Online (Sandbox Code Playgroud)

第一个是工作所需要的expect(...).toBeTheSameAsRemote(),第二个是工作所需要的。如果您的匹配器有自己的参数,您可以在此处使用标签记录它们 - 不幸的是您需要复制它们。expect(...) .not.toBeTheSameAsRemote()@param