Использовать тип элемента TypeScript на основе имени тега? - PullRequest
0 голосов
/ 19 марта 2020

Я анализирую html документ

const document = new DOMParser().parseFromString(xmlText, "text/xml");

Я ищу тег svg в этом документе

const svgRoot = svgDocument.querySelector("svg")

Для каждого ребенка я хочу использовать тип различных суженных SVG элементы, но не нашли лучшего способа, чем использовать утверждение?

Array.from(svgRoot.children).forEach(svgElement => {
    convertElement(svgElement)
});

convertElement(element: Element) {
    switch (element.tagName) { // tag names map to converter classes
        case "line":
            // validate line
            // ta pixlar
            return convertLine(element as SVGLineElement)
        default:
            throw Error(`Unknown element: ${element.tagName}`)
    }
}

Как я могу рассматривать элемент как SVGLineElement без необходимости использовать утверждение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...