@launchmenu/applet-dictionary
Version:
An applet to find dictionary definitions
47 lines • 3.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getListItems = void 0;
/**
* Retrieves the items in a node
* @param node The node to get the items from
* @param getItem Retrieves the item data from a given node
* @returns The obtained items
*/
function getListItems(node, getItem) {
var _a;
const listItems = [...node.querySelectorAll("li,dd")];
const subListItems = [...node.querySelectorAll("li li,li dd,dd li,dd dd")];
const includedItems = listItems.filter(item => !subListItems.includes(item));
if (includedItems.length <= 1) {
const childNodes = [...((_a = includedItems[0]) !== null && _a !== void 0 ? _a : node).childNodes];
const nodes = [];
let item = [];
const addItem = () => {
if (item.length > 0) {
const itemNode = document.createElement("span");
itemNode.append(...item);
item = [];
nodes.push(itemNode);
}
};
childNodes.forEach(node => {
var _a, _b;
if (node instanceof Text) {
const parts = (_b = (_a = node.textContent) === null || _a === void 0 ? void 0 : _a.split(",")) !== null && _b !== void 0 ? _b : [];
parts.forEach((part, i) => {
if (i > 0)
addItem();
item.push(document.createTextNode(part));
});
}
else {
item.push(node);
}
});
addItem();
return nodes.map(getItem);
}
return includedItems.map(getItem);
}
exports.getListItems = getListItems;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TGlzdEl0ZW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjcmFwZXIvd2lrdGlvbmFyeS91dGlsL2dldExpc3RJdGVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FBSSxJQUFXLEVBQUUsT0FBNkI7O0lBQ3RFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztJQUMzRSxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0UsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtRQUMzQixNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQUcsT0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLG1DQUFJLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlELE1BQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLEdBQWdCLEVBQUUsQ0FBQztRQUMzQixNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEQsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO2dCQUN6QixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNWLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEI7UUFDTCxDQUFDLENBQUM7UUFFRixVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFOztZQUN0QixJQUFJLElBQUksWUFBWSxJQUFJLEVBQUU7Z0JBQ3RCLE1BQU0sS0FBSyxlQUFHLElBQUksQ0FBQyxXQUFXLDBDQUFFLEtBQUssQ0FBQyxHQUFHLG9DQUFLLEVBQUUsQ0FBQztnQkFDakQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQzt3QkFBRSxPQUFPLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNuQjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxFQUFFLENBQUM7UUFFVixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDN0I7SUFFRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQXBDRCxvQ0FvQ0MifQ==