Переименовать символ, неявно импортированный из внутренней библиотеки в TypeScript - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть модуль, в котором я использую класс Element, неявно импортированный из внутренней библиотеки "dom".

Однако в том же модуле я хочу определить собственный класс Element,Это, конечно, приводит к конфликту имен и миру боли.

Есть ли способ переименовать неявный класс Element из библиотеки DOM?

В идеале мне хотелось бы что-то вродеэто:

import * as DOM from 'dom'; // <-- what do I write here?

class Element { // <-- my element
  private element: DOM.Element; // <-- reference to the original DOM element
}

1 Ответ

0 голосов
/ 21 ноября 2018

Единственное решение, которое я нашел до сих пор, - это определить пользовательский тип, указывающий на исходный символ DOM:

type DOMElement = Element;

namespace Acme {

  class Element {
    private element: DOMElement;
  }

}

Идея в том, чтобы скрыть мой пользовательский класс Element внутри пространства имен и ссылкиэлемент DOM косвенно, используя пользовательский тип.

Однако, лучший подход будет высоко ценится.

...