Tengo un paquete A que depende del paquete B.
En pkg A , tengo una enumeración basada en clases definida para cumplir cierto propósito:
export class Stage { readonly name: string; public static readonly PROD: Stage = new Stage('Prod'); public static readonly BETA: Stage = new Stage('Beta'); private constructor(name: string) { this.name = name; } public static fromName(name: string) { if (name == 'Prod') return Stage.PROD; if (name == 'Beta') return Stage.BETA; return null; } }En pkg B , acceder directamente al campo estático arrojará errores:
import {Stage} from "pkg-a"; const beta: Stage = Stage.fromName("Beta"); // OK const prod: Stage = Stage.PROD; // TypeError: Cannot read property 'PROD' of undefined También analicé el código JS compilado de la clase Stage en node_modules . Y parece que exportó esos campos estáticos:
// tsc compiled js file class Stage { constructor(name) { this.name = name; } } exports.Stage = Stage; Stage.BETA = new Stage("Beta"); Stage.PROD = new Stage("Prod");No sé por qué sigo recibiendo errores como este.
¿Alguien tiene experiencia sobre este tema?