约束Typescript JSDoc中的泛型

时间:2018-07-13 21:11:10

标签: typescript jsdoc

我正在使用TypeScript的JSDoc形式,并试图使用扩展对象的泛型。我的编辑器给我index.js代码的TypeScript错误,声明了类型MyInterface<T>的参数,说Type 'T' does not satisfy the constraint '{ a: number; }'.

如何指定我接受约束JSDoc TypeScript中对象的通用参数?

// index.d.ts
declare interface MyInterface<T extends {a: number}> {
  b: string;
}


// index.js
/**
 * @template T
 * @param {MyInterface<T>} impl
 */
function doStuff(impl) {
  console.log(impl);
}

1 个答案:

答案 0 :(得分:0)

/**
 * @template {{a: number}} T
 * @param {MyInterface<T>} impl
 */

@template约束是在pull request 24600

中实现的