从命名空间重新导出Typescript枚举?

时间:2017-12-07 18:11:09

标签: typescript typescript2.0

我在模块'some-lib'中有一个枚举定义。我想从我的模块中的命名空间重新导出它,如下所示:

import { PaymentType } from 'some-lib';

namespace Payout {
    export enum PaymentType = PaymentType;
}

我没有运气。我想这样做是为了别名枚举并将其放入不同的命名空间以避免与具有相同名称的其他类型冲突。我不想在我的代码中定义枚举的重复副本,并且必须维护所有枚举值。

目前有什么方法可以支持这个吗?

1 个答案:

答案 0 :(得分:3)

是的,有办法做到这一点,例如:

import { PaymentType as _PaymentType } from 'some-lib';


namespace Payout {
  export import PaymentType = _PaymentType;
}

或者:

import * as SomeLibTypes from 'some-lib';


namespace Payout {
  export import PaymentType = SomeLibTypes.PaymentType;
}

参考:https://github.com/Microsoft/TypeScript/issues/20273#issuecomment-347079963