UNPKG

anime-info

Version:

Plugin intended to collect informing of anime characters through the fandow wiki

50 lines (49 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var elements_dom_1 = require("../../shared/utils/elements.dom"); function clean(element, innerHTML) { if (innerHTML === void 0) { innerHTML = false; } if (innerHTML && element) { return elements_dom_1.cleanString(element.innerHTML); } if (element) { return elements_dom_1.cleanString(element.textContent); } return null; } function getAbilitiesDescription(document, tags) { var abilities_description = []; var elements = document.querySelectorAll(tags); var _loop_1 = function (index) { if (elements[index] && elements[index + 1]) { var photo_1 = []; var typeEl = elements[index].querySelector('th:first-child'); var nameEl = elements[index].querySelector('th:last-child'); var photoEl = elements[index + 1].querySelectorAll('th img'); if (photoEl.length === 0) { photoEl = elements[index + 1].querySelectorAll('td img'); } var descriptionEl = elements[index + 1].querySelector('td'); if (descriptionEl) { descriptionEl = elements[index + 1].lastChild; } photoEl.forEach(function (img) { var string = img.getAttribute('data-src'); if (string) { photo_1.push(string); } }); abilities_description.push({ description: clean(descriptionEl, true), name: clean(nameEl, true), photo: photo_1, type: clean(typeEl, true) }); } }; for (var index = 1; index < elements.length; index += 2) { _loop_1(index); } return abilities_description; } exports.getAbilitiesDescription = getAbilitiesDescription;