扩展自动生成的Typescript接口

时间:2017-10-17 10:25:15

标签: typescript typelite

我正在查看一个继承的typescript项目,并希望为某些接口添加一些功能(例如地址模型上的ToString()),使它们不仅仅是一个DTO。

我遇到的问题是接口都是使用我们的API中的TypeLite自动生成的。这意味着如果我向其中一个接口添加方法,则下次运行TypeLite进程时将删除此方法。

所以从本质上讲,我想知道是否可以在单独的文件中扩展接口?类似于C#中的扩展方法。

或者,TypeLite是否有更好的选择,因为我并不喜欢将所有内容放入单个文件中。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用declaration merging在单独的文件中扩充接口。我不知道你的项目的布局是什么样的,但是这样的东西可能会起作用:

import { GeneratedInterface } from "./interfaceLocation";
declare module "./interfaceLocation" {
  interface GeneratedInterface {
    newMethod(param: string): number;
  }
}

如果没有,您可以从上面的链接文档中找出它或发布更完整的示例。

希望有所帮助;祝你好运!