Sha256: ed5e7acb224da044b0e0ebcaed37b22113b2edafce82497f99bda734e3803667
Contents?: true
Size: 1.8 KB
Versions: 18
Compression:
Stored size: 1.8 KB
Contents
module.exports = { decorator: function(handlers) { var curNode = null; var prev = null; var tokens = []; return { children: handlers.children, node: function(node) { var tmp = curNode; curNode = node; handlers.node.call(this, node); curNode = tmp; }, chunk: function(chunk) { if (tokens.length > 0) { switch (curNode.type) { case 'Dimension': case 'HexColor': case 'IdSelector': case 'Percentage': if (prev.node === curNode) { prev.value += chunk; return; } break; case 'Function': case 'PseudoClassSelector': case 'PseudoElementSelector': case 'Url': if (chunk === '(') { prev.value += chunk; return; } break; case 'Atrule': if (prev.node === curNode && prev.value === '@') { prev.value += chunk; return; } break; } } tokens.push(prev = { value: chunk, node: curNode }); }, result: function() { return tokens; } }; } };
Version data entries
18 entries across 18 versions & 4 rubygems