You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
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;
|