Conexio amb la api
This commit is contained in:
parent
207c0ba819
commit
b12369cb47
48513 changed files with 7391639 additions and 7 deletions
105
node_modules/css-what/lib/stringify.js
generated
vendored
Executable file
105
node_modules/css-what/lib/stringify.js
generated
vendored
Executable file
|
|
@ -0,0 +1,105 @@
|
|||
"use strict";
|
||||
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||
if (ar || !(i in from)) {
|
||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||
ar[i] = from[i];
|
||||
}
|
||||
}
|
||||
return to.concat(ar || Array.prototype.slice.call(from));
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
var actionTypes = {
|
||||
equals: "",
|
||||
element: "~",
|
||||
start: "^",
|
||||
end: "$",
|
||||
any: "*",
|
||||
not: "!",
|
||||
hyphen: "|",
|
||||
};
|
||||
var charsToEscape = new Set(__spreadArray(__spreadArray([], Object.keys(actionTypes)
|
||||
.map(function (typeKey) { return actionTypes[typeKey]; })
|
||||
.filter(Boolean), true), [
|
||||
":",
|
||||
"[",
|
||||
"]",
|
||||
" ",
|
||||
"\\",
|
||||
"(",
|
||||
")",
|
||||
"'",
|
||||
], false));
|
||||
/**
|
||||
* Turns `selector` back into a string.
|
||||
*
|
||||
* @param selector Selector to stringify.
|
||||
*/
|
||||
function stringify(selector) {
|
||||
return selector.map(stringifySubselector).join(", ");
|
||||
}
|
||||
exports.default = stringify;
|
||||
function stringifySubselector(token) {
|
||||
return token.map(stringifyToken).join("");
|
||||
}
|
||||
function stringifyToken(token) {
|
||||
switch (token.type) {
|
||||
// Simple types
|
||||
case "child":
|
||||
return " > ";
|
||||
case "parent":
|
||||
return " < ";
|
||||
case "sibling":
|
||||
return " ~ ";
|
||||
case "adjacent":
|
||||
return " + ";
|
||||
case "descendant":
|
||||
return " ";
|
||||
case "universal":
|
||||
return getNamespace(token.namespace) + "*";
|
||||
case "tag":
|
||||
return getNamespacedName(token);
|
||||
case "pseudo-element":
|
||||
return "::" + escapeName(token.name);
|
||||
case "pseudo":
|
||||
if (token.data === null)
|
||||
return ":" + escapeName(token.name);
|
||||
if (typeof token.data === "string") {
|
||||
return ":" + escapeName(token.name) + "(" + escapeName(token.data) + ")";
|
||||
}
|
||||
return ":" + escapeName(token.name) + "(" + stringify(token.data) + ")";
|
||||
case "attribute": {
|
||||
if (token.name === "id" &&
|
||||
token.action === "equals" &&
|
||||
!token.ignoreCase &&
|
||||
!token.namespace) {
|
||||
return "#" + escapeName(token.value);
|
||||
}
|
||||
if (token.name === "class" &&
|
||||
token.action === "element" &&
|
||||
!token.ignoreCase &&
|
||||
!token.namespace) {
|
||||
return "." + escapeName(token.value);
|
||||
}
|
||||
var name_1 = getNamespacedName(token);
|
||||
if (token.action === "exists") {
|
||||
return "[" + name_1 + "]";
|
||||
}
|
||||
return "[" + name_1 + actionTypes[token.action] + "='" + escapeName(token.value) + "'" + (token.ignoreCase ? "i" : token.ignoreCase === false ? "s" : "") + "]";
|
||||
}
|
||||
}
|
||||
}
|
||||
function getNamespacedName(token) {
|
||||
return "" + getNamespace(token.namespace) + escapeName(token.name);
|
||||
}
|
||||
function getNamespace(namespace) {
|
||||
return namespace !== null
|
||||
? (namespace === "*" ? "*" : escapeName(namespace)) + "|"
|
||||
: "";
|
||||
}
|
||||
function escapeName(str) {
|
||||
return str
|
||||
.split("")
|
||||
.map(function (c) { return (charsToEscape.has(c) ? "\\" + c : c); })
|
||||
.join("");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue