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

Pat*_*gan 3 typescript typescript2.0

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

import { PaymentType } from 'some-lib';

namespace Payout {
    export enum PaymentType = PaymentType;
}
Run Code Online (Sandbox Code Playgroud)

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

目前Typescript是否有任何支持方式?

Pat*_*gan 6

是的,有一种方法可以做到这一点,例如:

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


namespace Payout {
  export import PaymentType = _PaymentType;
}
Run Code Online (Sandbox Code Playgroud)

或者:

import * as SomeLibTypes from 'some-lib';


namespace Payout {
  export import PaymentType = SomeLibTypes.PaymentType;
}
Run Code Online (Sandbox Code Playgroud)

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