Javascript ES6 iterables的JSDoc类型名称

Javascript ES6 iterables的JSDoc类型名称,javascript,annotations,ecmascript-6,jsdoc,iterable,Javascript,Annotations,Ecmascript 6,Jsdoc,Iterable,我有一个javascript方法,它接受一个iterable,即后面的任何对象。我想在它的JSDoc中对此进行注释。如何引用“iterable”类型 /** * @param {__WHAT_GOES_HERE__?} iterable */ function consume(iterable) { ... } 我可以用JSDoc写下整个协议,但这有点。。。难以置信的笨拙: * @param { * { * Symbol.iterator: function(): {

我有一个javascript方法,它接受一个iterable,即后面的任何对象。我想在它的JSDoc中对此进行注释。如何引用“iterable”类型

/**
 * @param {__WHAT_GOES_HERE__?} iterable
 */
function consume(iterable) { ... }
我可以用JSDoc写下整个协议,但这有点。。。难以置信的笨拙:

 * @param {
 *   {
 *     Symbol.iterator: function(): {
 *       next: function() : {
 *         value: T|undefined,
 *         done: boolean
 *       }
 *     }
 *   }
 * } iterable

此外,工具似乎不理解
Symbol.iterator
的含义。

我当前的解决方案是使用适当的方法定义
Iterable
iterator
类。我将类放在编辑器可见但未实际使用的位置,因此linter可以看到定义,但它们不会作为膨胀包含在实际输出中


然后,在获取/返回序列的方法的JSDoc中,我可以引用
Iterable
Iterator
,我通常只使用
Iterable.
或任何类型,但我们实际上并不从JSDoc生成文档。@loganfsmyth我使用webstorm,它根据注释执行一些基本类型的警告。当我只是对类型撒谎时,它会抱怨。@Strilan:你用的是什么类型系统?你能在那里声明接口吗?@Bergi这个问题指的是JSDoc,但我的具体情况是“WebStorm中内置的任何东西”。可能是一些现有标准的临时组合,包括JSDoc和Close的类型注释。