TypeScript "Extend this..." refactor

vh0rcniy  于 5个月前  发布在  TypeScript
关注(0)|答案(1)|浏览(43)

我想扩展其他人的类型。在弄清楚如何做到这一点时,我通常使用“转到类型定义”来获取更好的了解这些类型的编写方式,以便我能找出如何扩展相关类型。
然后,毫无疑问,我会搜索“typescript 扩展第三方类型”,并从2015年到2018年得到答案,范围从“根据当前定义的写法,你不能从外部扩展它”到“这样做”:

declare module "koa" {
    interface Context {
        resource: any;
    }
}

我觉得这些真的很难写( namespace vs. module vs. interface ;应该是 declare global 吗?)并且需要很多猜测和检查。
如果能右键点击一个导入或者有一个“快速修复”功能来解决 Property 'foo' does not exist on type 'bar'. 的问题,插入适当的代码来扩展该特定类型,那就太好了。
(实际上,我不认为“快速修复”是一个好主意,因为在大多数情况下,这不是你想要做的事,但希望你能理解我的意思)。
或者,也许这是一个改进 https://www.typescriptlang.org/docs/handbook/declaration-merging.html 的机会。

相关问题