TypeScript - дизайн вложенных карт - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть ситуация, когда мне нужно создать новый тип 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?Любое предложение?

...