UNPKG

@taiga-ui/cdk

Version:

Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance

34 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.migrateCloseable = migrateCloseable; const elements_1 = require("../../../../utils/templates/elements"); const template_resource_1 = require("../../../../utils/templates/template-resource"); const ATTRIBUTE_NAMES = [ '[tuiDialogOptions]', '[tuiAlertOptions]', '[tuiNotificationOptions]', ].map((attr) => attr.toLowerCase()); function migrateCloseable({ resource, recorder, fileSystem }) { const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem); const templateOffset = (0, template_resource_1.getTemplateOffset)(resource); const re = /(^|[,{]\s*)('?)closeable\2(\s*:)/g; (0, elements_1.findElementsWithAttributeOnTag)(template, ATTRIBUTE_NAMES).forEach((element) => { element.attrs.forEach((attr) => { var _a, _b; if (!ATTRIBUTE_NAMES.includes(attr.name)) { return; } const newValue = attr.value.replaceAll(re, '$1$2closable$2$3'); if (newValue === attr.value) { return; } 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, }; recorder.remove(templateOffset + startOffset + attr.name.length, endOffset - (startOffset + attr.name.length)); recorder.insertRight(templateOffset + startOffset + attr.name.length, `="${newValue}"`); }); }); } //# sourceMappingURL=migrate-closeable.js.map