31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.counterIncrement = void 0;
 | 
						|
var parser_1 = require("../syntax/parser");
 | 
						|
exports.counterIncrement = {
 | 
						|
    name: 'counter-increment',
 | 
						|
    initialValue: 'none',
 | 
						|
    prefix: true,
 | 
						|
    type: 1 /* LIST */,
 | 
						|
    parse: function (_context, tokens) {
 | 
						|
        if (tokens.length === 0) {
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        var first = tokens[0];
 | 
						|
        if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
        var increments = [];
 | 
						|
        var filtered = tokens.filter(parser_1.nonWhiteSpace);
 | 
						|
        for (var i = 0; i < filtered.length; i++) {
 | 
						|
            var counter = filtered[i];
 | 
						|
            var next = filtered[i + 1];
 | 
						|
            if (counter.type === 20 /* IDENT_TOKEN */) {
 | 
						|
                var increment = next && parser_1.isNumberToken(next) ? next.number : 1;
 | 
						|
                increments.push({ counter: counter.value, increment: increment });
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return increments;
 | 
						|
    }
 | 
						|
};
 | 
						|
//# sourceMappingURL=counter-increment.js.map
 |