PHP 7.4.33
Preview: Block.cjs Size: 2.33 KB
/var/www/cookieconsent.bitkit.dk/httpdocs/node_modules/css-tree/cjs/syntax/node/Block.cjs
'use strict';

const types = require('../../tokenizer/types.cjs');

const AMPERSAND = 0x0026;       // U+0026 AMPERSAND (&)

function consumeRaw(startToken) {
    return this.Raw(startToken, null, true);
}
function consumeRule() {
    return this.parseWithFallback(this.Rule, consumeRaw);
}
function consumeRawDeclaration(startToken) {
    return this.Raw(startToken, this.consumeUntilSemicolonIncluded, true);
}
function consumeDeclaration() {
    if (this.tokenType === types.Semicolon) {
        return consumeRawDeclaration.call(this, this.tokenIndex);
    }

    const node = this.parseWithFallback(this.Declaration, consumeRawDeclaration);

    if (this.tokenType === types.Semicolon) {
        this.next();
    }

    return node;
}

const name = 'Block';
const walkContext = 'block';
const structure = {
    children: [[
        'Atrule',
        'Rule',
        'Declaration'
    ]]
};

function parse(isStyleBlock) {
    const consumer = isStyleBlock ? consumeDeclaration : consumeRule;
    const start = this.tokenStart;
    let children = this.createList();

    this.eat(types.LeftCurlyBracket);

    scan:
    while (!this.eof) {
        switch (this.tokenType) {
            case types.RightCurlyBracket:
                break scan;

            case types.WhiteSpace:
            case types.Comment:
                this.next();
                break;

            case types.AtKeyword:
                children.push(this.parseWithFallback(this.Atrule.bind(this, isStyleBlock), consumeRaw));
                break;

            default:
                if (isStyleBlock && this.isDelim(AMPERSAND))  {
                    children.push(consumeRule.call(this));
                } else {
                    children.push(consumer.call(this));
                }
        }
    }

    if (!this.eof) {
        this.eat(types.RightCurlyBracket);
    }

    return {
        type: 'Block',
        loc: this.getLocation(start, this.tokenStart),
        children
    };
}

function generate(node) {
    this.token(types.LeftCurlyBracket, '{');
    this.children(node, prev => {
        if (prev.type === 'Declaration') {
            this.token(types.Semicolon, ';');
        }
    });
    this.token(types.RightCurlyBracket, '}');
}

exports.generate = generate;
exports.name = name;
exports.parse = parse;
exports.structure = structure;
exports.walkContext = walkContext;

Directory Contents

Dirs: 1 × Files: 51
Name Size Perms Modified Actions
common DIR
- drwxr-xr-x 2025-06-16 05:45:40
Edit Download
7.90 KB lrw-r--r-- 2025-06-16 05:45:39
Edit Download
2.48 KB lrw-r--r-- 2025-06-16 05:45:39
Edit Download
1.11 KB lrw-r--r-- 2025-06-16 05:45:39
Edit Download
3.55 KB lrw-r--r-- 2025-06-16 05:45:39
Edit Download
2.33 KB lrw-r--r-- 2025-06-16 05:45:39
Edit Download
752 B lrw-r--r-- 2025-06-16 05:45:39
Edit Download
460 B lrw-r--r-- 2025-06-16 05:45:39
Edit Download
462 B lrw-r--r-- 2025-06-16 05:45:39
Edit Download
619 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.40 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
854 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
3.54 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
4.47 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.46 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
642 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.68 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
2.62 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.04 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.08 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
587 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
482 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
847 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
3.50 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.44 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
3.38 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
3.14 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.83 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.64 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
287 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.15 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
734 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
540 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.02 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
479 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
502 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
775 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
507 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.53 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.59 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.82 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.12 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.22 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
781 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
810 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
559 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.99 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.16 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
4.43 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
1.26 KB lrw-r--r-- 2025-06-16 05:45:40
Edit Download
469 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
644 B lrw-r--r-- 2025-06-16 05:45:40
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).