UNPKG

@stylable/core

Version:

CSS for Components

30 lines 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processDeclarationFunctions = void 0; const css_selector_tokenizer_1 = require("css-selector-tokenizer"); function processDeclarationFunctions(decl, onFunction, transform = false) { const ast = (0, css_selector_tokenizer_1.parseValues)(decl.value); ast.nodes.forEach((node) => findFunction(node, onFunction, 1)); if (transform) { decl.value = (0, css_selector_tokenizer_1.stringifyValues)(ast); } } exports.processDeclarationFunctions = processDeclarationFunctions; function findFunction(node, onFunctionNode, level) { switch (node.type) { case 'value': case 'values': onFunctionNode(node, level); node.nodes.forEach((child) => findFunction(child, onFunctionNode, level)); break; case 'url': case 'item': onFunctionNode(node, level); break; case 'nested-item': onFunctionNode(node, level); node.nodes.forEach((child) => findFunction(child, onFunctionNode, level + 1)); break; } } //# sourceMappingURL=process-declaration-functions.js.map