Búsqueda de sitios web

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

Artículos relacionados