UNPKG

@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
"use strict"; 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