From fc87c009806dcc98867f6b58efe29b042aa01dee Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Mon, 18 May 2026 23:10:59 +0800 Subject: node: update --- node_modules/css-select/lib/sort.js | 84 ------------------------------------- 1 file changed, 84 deletions(-) delete mode 100644 node_modules/css-select/lib/sort.js (limited to 'node_modules/css-select/lib/sort.js') diff --git a/node_modules/css-select/lib/sort.js b/node_modules/css-select/lib/sort.js deleted file mode 100644 index d597e825..00000000 --- a/node_modules/css-select/lib/sort.js +++ /dev/null @@ -1,84 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.isTraversal = void 0; -var css_what_1 = require("css-what"); -var procedure = new Map([ - [css_what_1.SelectorType.Universal, 50], - [css_what_1.SelectorType.Tag, 30], - [css_what_1.SelectorType.Attribute, 1], - [css_what_1.SelectorType.Pseudo, 0], -]); -function isTraversal(token) { - return !procedure.has(token.type); -} -exports.isTraversal = isTraversal; -var attributes = new Map([ - [css_what_1.AttributeAction.Exists, 10], - [css_what_1.AttributeAction.Equals, 8], - [css_what_1.AttributeAction.Not, 7], - [css_what_1.AttributeAction.Start, 6], - [css_what_1.AttributeAction.End, 6], - [css_what_1.AttributeAction.Any, 5], -]); -/** - * Sort the parts of the passed selector, - * as there is potential for optimization - * (some types of selectors are faster than others) - * - * @param arr Selector to sort - */ -function sortByProcedure(arr) { - var procs = arr.map(getProcedure); - for (var i = 1; i < arr.length; i++) { - var procNew = procs[i]; - if (procNew < 0) - continue; - for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) { - var token = arr[j + 1]; - arr[j + 1] = arr[j]; - arr[j] = token; - procs[j + 1] = procs[j]; - procs[j] = procNew; - } - } -} -exports.default = sortByProcedure; -function getProcedure(token) { - var _a, _b; - var proc = (_a = procedure.get(token.type)) !== null && _a !== void 0 ? _a : -1; - if (token.type === css_what_1.SelectorType.Attribute) { - proc = (_b = attributes.get(token.action)) !== null && _b !== void 0 ? _b : 4; - if (token.action === css_what_1.AttributeAction.Equals && token.name === "id") { - // Prefer ID selectors (eg. #ID) - proc = 9; - } - if (token.ignoreCase) { - /* - * IgnoreCase adds some overhead, prefer "normal" token - * this is a binary operation, to ensure it's still an int - */ - proc >>= 1; - } - } - else if (token.type === css_what_1.SelectorType.Pseudo) { - if (!token.data) { - proc = 3; - } - else if (token.name === "has" || token.name === "contains") { - proc = 0; // Expensive in any case - } - else if (Array.isArray(token.data)) { - // Eg. :matches, :not - proc = Math.min.apply(Math, token.data.map(function (d) { return Math.min.apply(Math, d.map(getProcedure)); })); - // If we have traversals, try to avoid executing this selector - if (proc < 0) { - proc = 0; - } - } - else { - proc = 2; - } - } - return proc; -} -//# sourceMappingURL=sort.js.map \ No newline at end of file -- cgit v1.2.3