Transforms css values and at-rule params into the tree.
var parser = require('postcss-value-parser');
/*{
nodes: [
type: 'function',
value: 'rgba',
before: '',
after: '',
nodes: [
{ type: 'word', value: '233' },
{ type: 'div', value: ',', before: '', after: ' ' },
{ type: 'word', value: '45' },
{ type: 'div', value: ',', before: '', after: ' ' },
{ type: 'word', value: '66' },
{ type: 'div', value: ',', before: ' ', after: '' },
{ type: 'word', value: '.5' }
]
]
}*/
parser('rgba(233, 45, 66 ,.5)').walk(function (node) {
if (node.type === 'function' && node.value === 'rgba') {
var color = node.nodes.filter(function (node) {
return node.type === 'word';
}).map(function (node) {
return Number(node.value);
}); // [233, 45, 66, .5]
node.type = 'word';
node.value = convertToHex(color);
}
}).toString(); // #E92D42
parser('url(some url) 50% 50%')
.walk(function (node) {
// Your code
if (node.type === 'function' && node.value === 'url') {
return false;
}
})
.toString();
url( /path/to/image )
will be parsed to
[{
type: 'function',
value: 'url',
before: ' ',
after: ' ',
nodes: [
{ type: 'word', value: '/path/to/image' }
]
}]
{ type: 'word', value: 'any' }
{ type: 'string', value: 'string', quote: '"' }
{ type: 'string', value: 'string', quote: '\'' }
{ type: 'div', value: '/' , before: ' ', after: ' ' }
{ type: 'div', value: ',', before: ' ', after: ' ' }
{ type: 'div', value: ':', before: ' ', after: ' ' }
{ type: 'space', value: ' ' }
space as a separator{ type: 'function', value: 'name', before: '', after: '', nodes: [] }
var valueParser = require('postcss-value-parser');
Returns parsed value.
// .2rem
{
number: '.2',
unit: 'rem'
}
Stringifies node and array of nodes.
Walks each provided node, recursively for each node in a function.
Returning false
in the callback will prevent traversal of deeper, nested nodes(inside a function). You can use this to walk over only the immediate children. note: This only applies if bubble
is false
(default).
Returns this
instance.
nodes
: array -value-parser
nodescb(node, index, nodes)
: function - Function to execute for each nodebubble
: boolean - Walk from the deepest nodes upwards
Returns parsed tree.
Root nodes list.
Stringify tree to the value.
Walks each node since p.nodes
.
MIT © Bogdan Chadkin