summaryrefslogtreecommitdiff
path: root/node_modules/postcss-value-parser/lib
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:10:59 +0800
committerlittleblack111 <littleblack11111@gmail.com>2026-05-18 23:41:44 +0800
commitfc87c009806dcc98867f6b58efe29b042aa01dee (patch)
tree8f59b3f4a5b66e9dfef2d40c8d318e258a521228 /node_modules/postcss-value-parser/lib
parent3336b2356ee6152d9c6ae59bd9b87ccbc0958407 (diff)
node: updatemain
Diffstat (limited to 'node_modules/postcss-value-parser/lib')
-rw-r--r--node_modules/postcss-value-parser/lib/index.d.ts177
-rw-r--r--node_modules/postcss-value-parser/lib/index.js28
-rw-r--r--node_modules/postcss-value-parser/lib/parse.js321
-rw-r--r--node_modules/postcss-value-parser/lib/stringify.js48
-rw-r--r--node_modules/postcss-value-parser/lib/unit.js120
-rw-r--r--node_modules/postcss-value-parser/lib/walk.js22
6 files changed, 0 insertions, 716 deletions
diff --git a/node_modules/postcss-value-parser/lib/index.d.ts b/node_modules/postcss-value-parser/lib/index.d.ts
deleted file mode 100644
index 8759f3fe..00000000
--- a/node_modules/postcss-value-parser/lib/index.d.ts
+++ /dev/null
@@ -1,177 +0,0 @@
-declare namespace postcssValueParser {
- interface BaseNode {
- /**
- * The offset, inclusive, inside the CSS value at which the node starts.
- */
- sourceIndex: number;
-
- /**
- * The offset, exclusive, inside the CSS value at which the node ends.
- */
- sourceEndIndex: number;
-
- /**
- * The node's characteristic value
- */
- value: string;
- }
-
- interface ClosableNode {
- /**
- * Whether the parsed CSS value ended before the node was properly closed
- */
- unclosed?: true;
- }
-
- interface AdjacentAwareNode {
- /**
- * The token at the start of the node
- */
- before: string;
-
- /**
- * The token at the end of the node
- */
- after: string;
- }
-
- interface CommentNode extends BaseNode, ClosableNode {
- type: "comment";
- }
-
- interface DivNode extends BaseNode, AdjacentAwareNode {
- type: "div";
- }
-
- interface FunctionNode extends BaseNode, ClosableNode, AdjacentAwareNode {
- type: "function";
-
- /**
- * Nodes inside the function
- */
- nodes: Node[];
- }
-
- interface SpaceNode extends BaseNode {
- type: "space";
- }
-
- interface StringNode extends BaseNode, ClosableNode {
- type: "string";
-
- /**
- * The quote type delimiting the string
- */
- quote: '"' | "'";
- }
-
- interface UnicodeRangeNode extends BaseNode {
- type: "unicode-range";
- }
-
- interface WordNode extends BaseNode {
- type: "word";
- }
-
- /**
- * Any node parsed from a CSS value
- */
- type Node =
- | CommentNode
- | DivNode
- | FunctionNode
- | SpaceNode
- | StringNode
- | UnicodeRangeNode
- | WordNode;
-
- interface CustomStringifierCallback {
- /**
- * @param node The node to stringify
- * @returns The serialized CSS representation of the node
- */
- (nodes: Node): string | undefined;
- }
-
- interface WalkCallback {
- /**
- * @param node The currently visited node
- * @param index The index of the node in the series of parsed nodes
- * @param nodes The series of parsed nodes
- * @returns Returning `false` will prevent traversal of descendant nodes (only applies if `bubble` was set to `true` in the `walk()` call)
- */
- (node: Node, index: number, nodes: Node[]): void | boolean;
- }
-
- /**
- * A CSS dimension, decomposed into its numeric and unit parts
- */
- interface Dimension {
- number: string;
- unit: string;
- }
-
- /**
- * A wrapper around a parsed CSS value that allows for inspecting and walking nodes
- */
- interface ParsedValue {
- /**
- * The series of parsed nodes
- */
- nodes: Node[];
-
- /**
- * Walk all parsed nodes, applying a callback
- *
- * @param callback A visitor callback that will be executed for each node
- * @param bubble When set to `true`, walking will be done inside-out instead of outside-in
- */
- walk(callback: WalkCallback, bubble?: boolean): this;
- }
-
- interface ValueParser {
- /**
- * Decompose a CSSĀ dimension into its numeric and unit part
- *
- * @param value The dimension to decompose
- * @returns An object representing `number` and `unit` part of the dimension or `false` if the decomposing fails
- */
- unit(value: string): Dimension | false;
-
- /**
- * Serialize a series of nodes into a CSS value
- *
- * @param nodes The nodes to stringify
- * @param custom A custom stringifier callback
- * @returns The generated CSS value
- */
- stringify(nodes: Node | Node[], custom?: CustomStringifierCallback): string;
-
- /**
- * Walk a series of nodes, applying a callback
- *
- * @param nodes The nodes to walk
- * @param callback A visitor callback that will be executed for each node
- * @param bubble When set to `true`, walking will be done inside-out instead of outside-in
- */
- walk(nodes: Node[], callback: WalkCallback, bubble?: boolean): void;
-
- /**
- * Parse a CSS value into a series of nodes to operate on
- *
- * @param value The value to parse
- */
- new (value: string): ParsedValue;
-
- /**
- * Parse a CSS value into a series of nodes to operate on
- *
- * @param value The value to parse
- */
- (value: string): ParsedValue;
- }
-}
-
-declare const postcssValueParser: postcssValueParser.ValueParser;
-
-export = postcssValueParser;
diff --git a/node_modules/postcss-value-parser/lib/index.js b/node_modules/postcss-value-parser/lib/index.js
deleted file mode 100644
index f9ac0e68..00000000
--- a/node_modules/postcss-value-parser/lib/index.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var parse = require("./parse");
-var walk = require("./walk");
-var stringify = require("./stringify");
-
-function ValueParser(value) {
- if (this instanceof ValueParser) {
- this.nodes = parse(value);
- return this;
- }
- return new ValueParser(value);
-}
-
-ValueParser.prototype.toString = function() {
- return Array.isArray(this.nodes) ? stringify(this.nodes) : "";
-};
-
-ValueParser.prototype.walk = function(cb, bubble) {
- walk(this.nodes, cb, bubble);
- return this;
-};
-
-ValueParser.unit = require("./unit");
-
-ValueParser.walk = walk;
-
-ValueParser.stringify = stringify;
-
-module.exports = ValueParser;
diff --git a/node_modules/postcss-value-parser/lib/parse.js b/node_modules/postcss-value-parser/lib/parse.js
deleted file mode 100644
index 950631c9..00000000
--- a/node_modules/postcss-value-parser/lib/parse.js
+++ /dev/null
@@ -1,321 +0,0 @@
-var openParentheses = "(".charCodeAt(0);
-var closeParentheses = ")".charCodeAt(0);
-var singleQuote = "'".charCodeAt(0);
-var doubleQuote = '"'.charCodeAt(0);
-var backslash = "\\".charCodeAt(0);
-var slash = "/".charCodeAt(0);
-var comma = ",".charCodeAt(0);
-var colon = ":".charCodeAt(0);
-var star = "*".charCodeAt(0);
-var uLower = "u".charCodeAt(0);
-var uUpper = "U".charCodeAt(0);
-var plus = "+".charCodeAt(0);
-var isUnicodeRange = /^[a-f0-9?-]+$/i;
-
-module.exports = function(input) {
- var tokens = [];
- var value = input;
-
- var next,
- quote,
- prev,
- token,
- escape,
- escapePos,
- whitespacePos,
- parenthesesOpenPos;
- var pos = 0;
- var code = value.charCodeAt(pos);
- var max = value.length;
- var stack = [{ nodes: tokens }];
- var balanced = 0;
- var parent;
-
- var name = "";
- var before = "";
- var after = "";
-
- while (pos < max) {
- // Whitespaces
- if (code <= 32) {
- next = pos;
- do {
- next += 1;
- code = value.charCodeAt(next);
- } while (code <= 32);
- token = value.slice(pos, next);
-
- prev = tokens[tokens.length - 1];
- if (code === closeParentheses && balanced) {
- after = token;
- } else if (prev && prev.type === "div") {
- prev.after = token;
- prev.sourceEndIndex += token.length;
- } else if (
- code === comma ||
- code === colon ||
- (code === slash &&
- value.charCodeAt(next + 1) !== star &&
- (!parent ||
- (parent && parent.type === "function" && parent.value !== "calc")))
- ) {
- before = token;
- } else {
- tokens.push({
- type: "space",
- sourceIndex: pos,
- sourceEndIndex: next,
- value: token
- });
- }
-
- pos = next;
-
- // Quotes
- } else if (code === singleQuote || code === doubleQuote) {
- next = pos;
- quote = code === singleQuote ? "'" : '"';
- token = {
- type: "string",
- sourceIndex: pos,
- quote: quote
- };
- do {
- escape = false;
- next = value.indexOf(quote, next + 1);
- if (~next) {
- escapePos = next;
- while (value.charCodeAt(escapePos - 1) === backslash) {
- escapePos -= 1;
- escape = !escape;
- }
- } else {
- value += quote;
- next = value.length - 1;
- token.unclosed = true;
- }
- } while (escape);
- token.value = value.slice(pos + 1, next);
- token.sourceEndIndex = token.unclosed ? next : next + 1;
- tokens.push(token);
- pos = next + 1;
- code = value.charCodeAt(pos);
-
- // Comments
- } else if (code === slash && value.charCodeAt(pos + 1) === star) {
- next = value.indexOf("*/", pos);
-
- token = {
- type: "comment",
- sourceIndex: pos,
- sourceEndIndex: next + 2
- };
-
- if (next === -1) {
- token.unclosed = true;
- next = value.length;
- token.sourceEndIndex = next;
- }
-
- token.value = value.slice(pos + 2, next);
- tokens.push(token);
-
- pos = next + 2;
- code = value.charCodeAt(pos);
-
- // Operation within calc
- } else if (
- (code === slash || code === star) &&
- parent &&
- parent.type === "function" &&
- parent.value === "calc"
- ) {
- token = value[pos];
- tokens.push({
- type: "word",
- sourceIndex: pos - before.length,
- sourceEndIndex: pos + token.length,
- value: token
- });
- pos += 1;
- code = value.charCodeAt(pos);
-
- // Dividers
- } else if (code === slash || code === comma || code === colon) {
- token = value[pos];
-
- tokens.push({
- type: "div",
- sourceIndex: pos - before.length,
- sourceEndIndex: pos + token.length,
- value: token,
- before: before,
- after: ""
- });
- before = "";
-
- pos += 1;
- code = value.charCodeAt(pos);
-
- // Open parentheses
- } else if (openParentheses === code) {
- // Whitespaces after open parentheses
- next = pos;
- do {
- next += 1;
- code = value.charCodeAt(next);
- } while (code <= 32);
- parenthesesOpenPos = pos;
- token = {
- type: "function",
- sourceIndex: pos - name.length,
- value: name,
- before: value.slice(parenthesesOpenPos + 1, next)
- };
- pos = next;
-
- if (name === "url" && code !== singleQuote && code !== doubleQuote) {
- next -= 1;
- do {
- escape = false;
- next = value.indexOf(")", next + 1);
- if (~next) {
- escapePos = next;
- while (value.charCodeAt(escapePos - 1) === backslash) {
- escapePos -= 1;
- escape = !escape;
- }
- } else {
- value += ")";
- next = value.length - 1;
- token.unclosed = true;
- }
- } while (escape);
- // Whitespaces before closed
- whitespacePos = next;
- do {
- whitespacePos -= 1;
- code = value.charCodeAt(whitespacePos);
- } while (code <= 32);
- if (parenthesesOpenPos < whitespacePos) {
- if (pos !== whitespacePos + 1) {
- token.nodes = [
- {
- type: "word",
- sourceIndex: pos,
- sourceEndIndex: whitespacePos + 1,
- value: value.slice(pos, whitespacePos + 1)
- }
- ];
- } else {
- token.nodes = [];
- }
- if (token.unclosed && whitespacePos + 1 !== next) {
- token.after = "";
- token.nodes.push({
- type: "space",
- sourceIndex: whitespacePos + 1,
- sourceEndIndex: next,
- value: value.slice(whitespacePos + 1, next)
- });
- } else {
- token.after = value.slice(whitespacePos + 1, next);
- token.sourceEndIndex = next;
- }
- } else {
- token.after = "";
- token.nodes = [];
- }
- pos = next + 1;
- token.sourceEndIndex = token.unclosed ? next : pos;
- code = value.charCodeAt(pos);
- tokens.push(token);
- } else {
- balanced += 1;
- token.after = "";
- token.sourceEndIndex = pos + 1;
- tokens.push(token);
- stack.push(token);
- tokens = token.nodes = [];
- parent = token;
- }
- name = "";
-
- // Close parentheses
- } else if (closeParentheses === code && balanced) {
- pos += 1;
- code = value.charCodeAt(pos);
-
- parent.after = after;
- parent.sourceEndIndex += after.length;
- after = "";
- balanced -= 1;
- stack[stack.length - 1].sourceEndIndex = pos;
- stack.pop();
- parent = stack[balanced];
- tokens = parent.nodes;
-
- // Words
- } else {
- next = pos;
- do {
- if (code === backslash) {
- next += 1;
- }
- next += 1;
- code = value.charCodeAt(next);
- } while (
- next < max &&
- !(
- code <= 32 ||
- code === singleQuote ||
- code === doubleQuote ||
- code === comma ||
- code === colon ||
- code === slash ||
- code === openParentheses ||
- (code === star &&
- parent &&
- parent.type === "function" &&
- parent.value === "calc") ||
- (code === slash &&
- parent.type === "function" &&
- parent.value === "calc") ||
- (code === closeParentheses && balanced)
- )
- );
- token = value.slice(pos, next);
-
- if (openParentheses === code) {
- name = token;
- } else if (
- (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&
- plus === token.charCodeAt(1) &&
- isUnicodeRange.test(token.slice(2))
- ) {
- tokens.push({
- type: "unicode-range",
- sourceIndex: pos,
- sourceEndIndex: next,
- value: token
- });
- } else {
- tokens.push({
- type: "word",
- sourceIndex: pos,
- sourceEndIndex: next,
- value: token
- });
- }
-
- pos = next;
- }
- }
-
- for (pos = stack.length - 1; pos; pos -= 1) {
- stack[pos].unclosed = true;
- stack[pos].sourceEndIndex = value.length;
- }
-
- return stack[0].nodes;
-};
diff --git a/node_modules/postcss-value-parser/lib/stringify.js b/node_modules/postcss-value-parser/lib/stringify.js
deleted file mode 100644
index 60796711..00000000
--- a/node_modules/postcss-value-parser/lib/stringify.js
+++ /dev/null
@@ -1,48 +0,0 @@
-function stringifyNode(node, custom) {
- var type = node.type;
- var value = node.value;
- var buf;
- var customResult;
-
- if (custom && (customResult = custom(node)) !== undefined) {
- return customResult;
- } else if (type === "word" || type === "space") {
- return value;
- } else if (type === "string") {
- buf = node.quote || "";
- return buf + value + (node.unclosed ? "" : buf);
- } else if (type === "comment") {
- return "/*" + value + (node.unclosed ? "" : "*/");
- } else if (type === "div") {
- return (node.before || "") + value + (node.after || "");
- } else if (Array.isArray(node.nodes)) {
- buf = stringify(node.nodes, custom);
- if (type !== "function") {
- return buf;
- }
- return (
- value +
- "(" +
- (node.before || "") +
- buf +
- (node.after || "") +
- (node.unclosed ? "" : ")")
- );
- }
- return value;
-}
-
-function stringify(nodes, custom) {
- var result, i;
-
- if (Array.isArray(nodes)) {
- result = "";
- for (i = nodes.length - 1; ~i; i -= 1) {
- result = stringifyNode(nodes[i], custom) + result;
- }
- return result;
- }
- return stringifyNode(nodes, custom);
-}
-
-module.exports = stringify;
diff --git a/node_modules/postcss-value-parser/lib/unit.js b/node_modules/postcss-value-parser/lib/unit.js
deleted file mode 100644
index c349661a..00000000
--- a/node_modules/postcss-value-parser/lib/unit.js
+++ /dev/null
@@ -1,120 +0,0 @@
-var minus = "-".charCodeAt(0);
-var plus = "+".charCodeAt(0);
-var dot = ".".charCodeAt(0);
-var exp = "e".charCodeAt(0);
-var EXP = "E".charCodeAt(0);
-
-// Check if three code points would start a number
-// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number
-function likeNumber(value) {
- var code = value.charCodeAt(0);
- var nextCode;
-
- if (code === plus || code === minus) {
- nextCode = value.charCodeAt(1);
-
- if (nextCode >= 48 && nextCode <= 57) {
- return true;
- }
-
- var nextNextCode = value.charCodeAt(2);
-
- if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {
- return true;
- }
-
- return false;
- }
-
- if (code === dot) {
- nextCode = value.charCodeAt(1);
-
- if (nextCode >= 48 && nextCode <= 57) {
- return true;
- }
-
- return false;
- }
-
- if (code >= 48 && code <= 57) {
- return true;
- }
-
- return false;
-}
-
-// Consume a number
-// https://www.w3.org/TR/css-syntax-3/#consume-number
-module.exports = function(value) {
- var pos = 0;
- var length = value.length;
- var code;
- var nextCode;
- var nextNextCode;
-
- if (length === 0 || !likeNumber(value)) {
- return false;
- }
-
- code = value.charCodeAt(pos);
-
- if (code === plus || code === minus) {
- pos++;
- }
-
- while (pos < length) {
- code = value.charCodeAt(pos);
-
- if (code < 48 || code > 57) {
- break;
- }
-
- pos += 1;
- }
-
- code = value.charCodeAt(pos);
- nextCode = value.charCodeAt(pos + 1);
-
- if (code === dot && nextCode >= 48 && nextCode <= 57) {
- pos += 2;
-
- while (pos < length) {
- code = value.charCodeAt(pos);
-
- if (code < 48 || code > 57) {
- break;
- }
-
- pos += 1;
- }
- }
-
- code = value.charCodeAt(pos);
- nextCode = value.charCodeAt(pos + 1);
- nextNextCode = value.charCodeAt(pos + 2);
-
- if (
- (code === exp || code === EXP) &&
- ((nextCode >= 48 && nextCode <= 57) ||
- ((nextCode === plus || nextCode === minus) &&
- nextNextCode >= 48 &&
- nextNextCode <= 57))
- ) {
- pos += nextCode === plus || nextCode === minus ? 3 : 2;
-
- while (pos < length) {
- code = value.charCodeAt(pos);
-
- if (code < 48 || code > 57) {
- break;
- }
-
- pos += 1;
- }
- }
-
- return {
- number: value.slice(0, pos),
- unit: value.slice(pos)
- };
-};
diff --git a/node_modules/postcss-value-parser/lib/walk.js b/node_modules/postcss-value-parser/lib/walk.js
deleted file mode 100644
index 7666c5b1..00000000
--- a/node_modules/postcss-value-parser/lib/walk.js
+++ /dev/null
@@ -1,22 +0,0 @@
-module.exports = function walk(nodes, cb, bubble) {
- var i, max, node, result;
-
- for (i = 0, max = nodes.length; i < max; i += 1) {
- node = nodes[i];
- if (!bubble) {
- result = cb(node, i, nodes);
- }
-
- if (
- result !== false &&
- node.type === "function" &&
- Array.isArray(node.nodes)
- ) {
- walk(node.nodes, cb, bubble);
- }
-
- if (bubble) {
- cb(node, i, nodes);
- }
- }
-};