"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const template_api_1 = require("@opticss/template-api");
const Action_1 = require("../Action");
/**
* Note that an attribute value is not used and will be removed from the
* template.
*/
class MarkAttributeValueObsolete extends Action_1.MultiAction {
constructor(pass, selectors, attribute, reason, optimization = "mergeDeclarations") {
super(optimization);
this.pass = pass;
this.selectors = selectors;
this.attribute = attribute;
this.reason = reason;
}
get sourcePosition() {
if (this.selectors.length > 0 && this.selectors[0].rule.source && this.selectors[0].rule.source.start) {
return this.selectors[0].rule.source.start;
}
else {
return undefined;
}
}
perform() {
this.pass.styleMapping.attributeIsObsolete(this.attribute);
return this;
}
logStrings() {
let logs = new Array();
let mainMessage = `Attribute ${template_api_1.simpleAttributeToString(this.attribute)} will be removed from templates. ${this.reason}`;
let firstPos = this.nodeSourcePosition(this.selectors[0].rule);
Eif (firstPos) {
firstPos.line = -1;
}
logs.push(this.annotateLogMessage(mainMessage, firstPos));
for (let sel of this.selectors) {
let rulePos = this.nodeSourcePosition(sel.rule);
let msg = `Was used in selector: ${sel.parsedSelector}`;
logs.push(this.annotateLogMessage(msg, rulePos, 1));
}
return logs;
}
}
exports.MarkAttributeValueObsolete = MarkAttributeValueObsolete;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFya0F0dHJpYnV0ZVZhbHVlT2Jzb2xldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQWN0aW9ucy9hY3Rpb25zL01hcmtBdHRyaWJ1dGVWYWx1ZU9ic29sZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esd0RBRytCO0FBSy9CLHNDQUF3QztBQUV4Qzs7O0dBR0c7QUFDSCxnQ0FBd0MsU0FBUSxvQkFBVztJQU16RCxZQUNFLElBQXNCLEVBQ3RCLFNBQWtDLEVBQ2xDLFNBQTBCLEVBQzFCLE1BQWMsRUFDZCxlQUFvQyxtQkFBbUI7UUFFdkQsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDckcsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQzVDO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQy9CLElBQUksV0FBVyxHQUFHLGFBQWEsc0NBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hILElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksUUFBUSxFQUFFO1lBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztTQUFFO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzFELEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUM5QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hELElBQUksR0FBRyxHQUFHLHlCQUF5QixHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUE1Q0QsZ0VBNENDIn0= |