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

93.75% Statements 15/16
75% Branches 3/4
100% Functions 4/4
93.75% Lines 15/16
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                                             
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Action_1 = require("../Action");
/**
 * Changes a Rule's selector string.
 */
class ChangeSelector extends Action_1.Action {
    constructor(rule, newSelector, optimization, reason, cache) {
        super(optimization);
        this.reason = reason;
        this.rule = rule;
        this.oldSelector = rule.selector;
        this.newSelector = newSelector;
        this.cache = cache;
    }
    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;
        }
    }
    perform() {
        this.cache.reset(this.rule);
        this.rule.selector = this.newSelector;
        return this;
    }
    logString() {
        return this.annotateLogMessage(`Changed selector from "${Action_1.stripNL(this.oldSelector)}" to "${Action_1.stripNL(this.newSelector)}" because ${this.reason}.`);
    }
}
exports.ChangeSelector = ChangeSelector;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbmdlU2VsZWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQWN0aW9ucy9hY3Rpb25zL0NoYW5nZVNlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBS0Esc0NBQTRDO0FBRTVDOztHQUVHO0FBQ0gsb0JBQTRCLFNBQVEsZUFBTTtJQU14QyxZQUFZLElBQWtCLEVBQUUsV0FBbUIsRUFBRSxZQUFpQyxFQUFFLE1BQWMsRUFBRSxLQUFvQjtRQUMxSCxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDOUMsT0FBTztnQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUk7Z0JBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSTtnQkFDakMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQywwQkFBMEIsZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsZ0JBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDbkosQ0FBQztDQUNGO0FBakNELHdDQWlDQyJ9