import { Event } from './Event'; import { EventWithContext } from './EventWithContext'; import { SpecialProperty } from './SpecialProperty'; import { SpecialPropertyConstructor } from './SpecialPropertyConstructor'; import { SpecialPropertyFactory } from './SpecialPropertyFactory'; // eslint-disable-next-line max-len export class SpecialPropertiesFactoryManager extends Map, SpecialPropertyFactory> { constructor(entries?: readonly (readonly [{ new(): T }, SpecialPropertyFactory])[] | null) { super(entries); // todo разобраться почему с наружи все работает а изнутри нет (specPropManager.set(Event, ...);) this.set(Event as any, () => new Event() as any); this.set(EventWithContext as any, () => new EventWithContext() as any); } }