У меня есть ситуация, когда мне нужно создать новый тип A , который может быть типом класса / конструктора ИЛИ MapType.MapType содержит два типа: тип для ключа и тип для значения.Эти два типа имеют тип A , потому что также возможно иметь вложенные карты.
Это мой тип класса / конструктора:
export type Clazz<T> = { new(...args: any[]): T };
Есть ли у васЛюбое предложение о том, как его разработать?
--- Обновление ---
Я думал о чем-то вроде этого:
export type Type<T = any> = ClassType<T> | MapType;
export type ClassType<T> = { new(...args: any[]): T };
export interface MapType { key: Type, value: Type };
Мне нужны конструкторы классов, чтобы создать их экземпляры позже.Что если бы я хотел генерики для MapType?Любое предложение?