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 node and recursively each nodes of functions.
If bubble is false
and callback returns false
on function node then deeper walking will be prevented.
Returns this
instance.
-
nodes
- value-parser node or nodes cb(node, index, nodes)
-
bubble
walk since the deepest functions nodes
Returns parsed tree.
Root nodes list.
Stringify tree to the value.
Walks each node since p.nodes
.
MIT © Bogdan Chadkin