@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
37 lines • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateAxes = migrateAxes;
const elements_1 = require("../../../../utils/templates/elements");
const template_resource_1 = require("../../../../utils/templates/template-resource");
const REMOVE_ATTRIBUTES = ['axisX', 'axisY', '[axisX]', '[axisY]'].map((attr) => attr.toLowerCase());
const PLUS_ONE_ATTRIBUTES = ['[verticalLines]', '[horizontalLines]'].map((attr) => attr.toLowerCase());
function migrateAxes({ resource, recorder, fileSystem }) {
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
const elements = (0, elements_1.findElementsByTagName)(template, 'tui-axes');
elements.forEach((element) => {
var _a;
(_a = element.attrs) === null || _a === void 0 ? void 0 : _a.forEach((attr) => {
var _a, _b;
const { startOffset, endOffset } = ((_b = (_a = element.sourceCodeLocation) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[attr.name]) || {
startOffset: 0,
endOffset: 0,
};
if (REMOVE_ATTRIBUTES.includes(attr.name)) {
recorder.remove(templateOffset + startOffset, endOffset - startOffset);
}
else if (PLUS_ONE_ATTRIBUTES.includes(attr.name)) {
let newValue;
if (/^\d+$/.test(attr.value)) {
newValue = `${Number(attr.value) + 1}`;
}
else {
newValue = `(${attr.value}) + 1`;
}
recorder.remove(templateOffset + startOffset + attr.name.length, endOffset - (startOffset + attr.name.length));
recorder.insertRight(templateOffset + startOffset + attr.name.length, `="${newValue}"`);
}
});
});
}
//# sourceMappingURL=migrate-axes.js.map