typescript2.0 - ¿reexportar un enum de Typescript desde un namespace?
Tengo una definición de enum en el módulo 'some-lib'. Quiero volver a exportarla desde un namespace en mi módulo, algo así:
import { PaymentType } from 'some-lib';
namespace Payout {
export enum PaymentType = PaymentType;
}
No estoy teniendo suerte. Quiero hacer esto para aliasar el enum y ponerlo en un namespace diferente para evitar colisiones con otros tipos con el mismo nombre. No quiero tener que definir una copia duplicada del enum en mi código y tener que mantener todos los valores del enum.
¿Hay alguna manera de que Typescript soporte esto actualmente?
Respuesta #1
Sí, hay una manera de hacer esto, por ejemplo:
import { PaymentType as _PaymentType } from 'some-lib';
namespace Payout {
export import PaymentType = _PaymentType;
}
o alternativamente:
import * as SomeLibTypes from 'some-lib';
namespace Payout {
export import PaymentType = SomeLibTypes.PaymentType;
}
referencia: https://github.com/Microsoft/TypeScript/issues/20273#issuecomment-347079963
