覆盖类方法的d.ts声明

时间:2020-10-21 05:15:28

标签: javascript typescript jsdoc

我正在尝试编写一个由d.ts文件注释的js文件。在一个js文件中,我有一个扩展了另一个类的类,它覆盖并重载了其父类的函数,如下所示的代码:
test.js

// @ts-check

class Test {
  constructor() {}
  foo() {}
}

class TestChild extends Test {
  constructor() {
    super();
  }

  foo(param1, param2) {
    return param1 + param2;
  }
}

dist / test.d.ts

declare class Test {
    foo(): void;
}
declare class TestChild extends Test {
}

tsconfig.json

{
  "compilerOptions": {
    "allowJs": true,
    "declaration": true,
    "noEmit": false,
    "emitDeclarationOnly": true,
    "target": "es5",
    "outDir": "dist",
    "downlevelIteration": true
  },
  "include": [
    "./src/*.js"
  ]
}

显然,生成的d.ts文件没有声明的foo函数声明。我该怎么办,使打字稿自动为任何继承和重写的函数生成声明?

0 个答案:

没有答案