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

Version Path
disco_app-0.18.0 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.18.2 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.16.1 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.15.2 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.18.4 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.18.1 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.12.7.pre.puma.pre.3 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.14.0 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
disco_app-0.13.6.pre.puma.pre.3 test/dummy/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
jester-data-8.0.0 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-5.2.1 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-2.0.1 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-1.1.0 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-1.0.0 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-0.0.0.1.0 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
ezii-os-0.0.0.0.1 node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js
locomotivecms-3.4.0 app/javascript/node_modules/csso/node_modules/css-tree/lib/lexer/ast-to-tokens.js