"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 |