From 9bdb95c9e34cef640534e5e5a1e2225a80442000 Mon Sep 17 00:00:00 2001 From: HelenHuang <LinHuang@pollex.com.tw> Date: 星期四, 09 六月 2022 15:48:15 +0800 Subject: [PATCH] TODO#139894 [ footer -最下方說明與保經代合作 ] 文案修改 --- PAMapp/node_modules/node-html-parser/node_modules/css-select/lib/general.js | 64 +++++++++++++++++++++++++------- 1 files changed, 50 insertions(+), 14 deletions(-) diff --git a/PAMapp/node_modules/node-html-parser/node_modules/css-select/lib/general.js b/PAMapp/node_modules/node-html-parser/node_modules/css-select/lib/general.js index 56a405c..1381d93 100644 --- a/PAMapp/node_modules/node-html-parser/node_modules/css-select/lib/general.js +++ b/PAMapp/node_modules/node-html-parser/node_modules/css-select/lib/general.js @@ -3,25 +3,46 @@ exports.compileGeneralSelector = void 0; var attributes_1 = require("./attributes"); var pseudo_selectors_1 = require("./pseudo-selectors"); +var css_what_1 = require("css-what"); /* * All available rules */ function compileGeneralSelector(next, selector, options, context, compileToken) { var adapter = options.adapter, equals = options.equals; switch (selector.type) { - case "pseudo-element": + case css_what_1.SelectorType.PseudoElement: { throw new Error("Pseudo-elements are not supported by css-select"); - case "attribute": + } + case css_what_1.SelectorType.ColumnCombinator: { + throw new Error("Column combinators are not yet supported by css-select"); + } + case css_what_1.SelectorType.Attribute: { + if (selector.namespace != null) { + throw new Error("Namespaced attributes are not yet supported by css-select"); + } + if (!options.xmlMode || options.lowerCaseAttributeNames) { + selector.name = selector.name.toLowerCase(); + } return attributes_1.attributeRules[selector.action](next, selector, options); - case "pseudo": - return pseudo_selectors_1.compilePseudoSelector(next, selector, options, context, compileToken); + } + case css_what_1.SelectorType.Pseudo: { + return (0, pseudo_selectors_1.compilePseudoSelector)(next, selector, options, context, compileToken); + } // Tags - case "tag": + case css_what_1.SelectorType.Tag: { + if (selector.namespace != null) { + throw new Error("Namespaced tag names are not yet supported by css-select"); + } + var name_1 = selector.name; + if (!options.xmlMode || options.lowerCaseTags) { + name_1 = name_1.toLowerCase(); + } return function tag(elem) { - return adapter.getName(elem) === selector.name && next(elem); + return adapter.getName(elem) === name_1 && next(elem); }; + } // Traversal - case "descendant": + case css_what_1.SelectorType.Descendant: { if (options.cacheResults === false || typeof WeakSet === "undefined") { return function descendant(elem) { @@ -35,7 +56,6 @@ }; } // @ts-expect-error `ElementNode` is not extending object - // eslint-disable-next-line no-case-declarations var isFalseCache_1 = new WeakSet(); return function cachedDescendant(elem) { var current = elem; @@ -49,7 +69,8 @@ } return false; }; - case "_flexibleDescendant": + } + case "_flexibleDescendant": { // Include element itself, only used while querying an array return function flexibleDescendant(elem) { var current = elem; @@ -59,18 +80,21 @@ } while ((current = adapter.getParent(current))); return false; }; - case "parent": + } + case css_what_1.SelectorType.Parent: { return function parent(elem) { return adapter .getChildren(elem) .some(function (elem) { return adapter.isTag(elem) && next(elem); }); }; - case "child": + } + case css_what_1.SelectorType.Child: { return function child(elem) { var parent = adapter.getParent(elem); return parent != null && adapter.isTag(parent) && next(parent); }; - case "sibling": + } + case css_what_1.SelectorType.Sibling: { return function sibling(elem) { var siblings = adapter.getSiblings(elem); for (var i = 0; i < siblings.length; i++) { @@ -83,7 +107,14 @@ } return false; }; - case "adjacent": + } + case css_what_1.SelectorType.Adjacent: { + if (adapter.prevElementSibling) { + return function adjacent(elem) { + var previous = adapter.prevElementSibling(elem); + return previous != null && next(previous); + }; + } return function adjacent(elem) { var siblings = adapter.getSiblings(elem); var lastElement; @@ -97,8 +128,13 @@ } return !!lastElement && next(lastElement); }; - case "universal": + } + case css_what_1.SelectorType.Universal: { + if (selector.namespace != null && selector.namespace !== "*") { + throw new Error("Namespaced universal selectors are not yet supported by css-select"); + } return next; + } } } exports.compileGeneralSelector = compileGeneralSelector; -- Gitblit v1.8.0