all files / src/Actions/actions/ RemoveRule.js

94.12% Statements 16/17
83.33% Branches 5/6
100% Functions 5/5
94.12% Lines 16/17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42              27× 27× 27× 27× 27× 27×     27× 27× 27×     23×     23×     23× 23×                      
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Action_1 = require("../Action");
/**
 * Removes a Rule.
 * Keeps track of the parent to which it belonged and the prev sibling.
 */
class RemoveRule extends Action_1.Action {
    constructor(rule, optimization, reason, cache) {
        super(optimization);
        this.reason = reason;
        this.parent = rule.parent;
        this.prevSibling = rule.prev() || undefined;
        this.rule = rule;
        this.cache = cache;
    }
    perform() {
        this.cache.reset(this.rule);
        this.rule.remove();
        return this;
    }
    get oldSelector() {
        return this.rule.selector;
    }
    logString() {
        return this.annotateLogMessage(`Removed rule with selector "${Action_1.stripNL(this.oldSelector)}" because ${this.reason}.`);
    }
    get sourcePosition() {
        Eif (this.rule.source && this.rule.source.start) {
            return {
                filename: this.rule.source.input.file,
                line: this.rule.source.start.line,
                column: this.rule.source.start.column,
            };
        }
        else {
            return undefined;
        }
    }
}
exports.RemoveRule = RemoveRule;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3ZlUnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9BY3Rpb25zL2FjdGlvbnMvUmVtb3ZlUnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHNDQUE0QztBQUU1Qzs7O0dBR0c7QUFDSCxnQkFBd0IsU0FBUSxlQUFNO0lBTXBDLFlBQVksSUFBa0IsRUFBRSxZQUFpQyxFQUFFLE1BQWMsRUFBRSxLQUFvQjtRQUNyRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLFNBQVMsQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDNUIsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywrQkFBK0IsZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUNELElBQUksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUM5QyxPQUFPO2dCQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDckMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJO2dCQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU07YUFDdEMsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7Q0FDRjtBQXBDRCxnQ0FvQ0MifQ==