Я нахожусь в следующей ситуации с двумя общими интерфейсами очереди: один для стороны экземпляров, а другой для статической стороны классов, которые будут реализовывать интерфейс:
export interface Queue<T> {
// instances stuff
}
export interface QueueConstructor<T> {
new(arrayOfT?: Array<T>): Queue<T>;
// static stuff
}
Я быхотел бы проверить, правильно ли реализация реализует статическую сторону, прямо на этапе реализации.Я не хочу использовать первый обходной путь, представленный в документации , а второй, из-за обобщений, кажется, непригодным для использования.
Может быть, есть способ сделать это с помощью декораторов,но я не могу найти правильное решение.