TS4075
Parameter 'event' of method from exported interface has or is using private name 'Strategy'.
Broken Code ❌
export interface Strategy<SpecificConfig extends StrategyConfig> {
on(event: Strategy.TOPIC.TRADER_DELETE, listener: () => void): this;
}
export abstract class Strategy<SpecificConfig extends StrategyConfig> extends EventEmitter {
static readonly TOPIC = {
TRADER_DELETE: 'TRADER_DELETE',
};
// ...
}Fixed Code ✔️
enum TOPIC {
TRADER_DELETE = 'TRADER_DELETE',
}
export interface Strategy<SpecificConfig extends StrategyConfig> {
on(event: TOPIC.TRADER_DELETE, listener: () => void): this;
}
export abstract class Strategy<SpecificConfig extends StrategyConfig> extends EventEmitter {
static readonly TOPIC = TOPIC;
// ...
}