@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
48 lines • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.migrateDropdownOpen = migrateDropdownOpen;
const ng_morph_1 = require("ng-morph");
const add_unique_import_1 = require("../../../utils/add-unique-import");
const colored_log_1 = require("../../../utils/colored-log");
const get_named_import_references_1 = require("../../../utils/get-named-import-references");
const import_manipulations_1 = require("../../../utils/import-manipulations");
function migrateDropdownOpen(_, options) {
if (!options['skip-logs']) {
(0, colored_log_1.infoLog)('Migrating tuiDropdownOpen() to inject(TuiDropdownOpen).open...');
}
const migratedFiles = new Set();
const refs = (0, get_named_import_references_1.getNamedImportReferences)('tuiDropdownOpen', '@taiga-ui/core');
for (const ref of refs) {
if (ref.wasForgotten()) {
continue;
}
const parent = ref.getParent();
if (!parent || ng_morph_1.Node.isImportSpecifier(parent)) {
continue;
}
const callExpression = ng_morph_1.Node.isCallExpression(parent) &&
parent.getExpression() === ref &&
parent.getArguments().length === 0;
if (!callExpression) {
continue;
}
parent.replaceWithText('inject(TuiDropdownOpen).open');
migratedFiles.add(ref.getSourceFile().getFilePath());
}
for (const ref of (0, get_named_import_references_1.getNamedImportReferences)('tuiDropdownOpen', '@taiga-ui/core')) {
if (ref.wasForgotten()) {
continue;
}
const parent = ref.getParent();
const filePath = ref.getSourceFile().getFilePath();
if (ng_morph_1.Node.isImportSpecifier(parent) && migratedFiles.has(filePath)) {
(0, import_manipulations_1.removeImport)(parent);
}
}
for (const filePath of migratedFiles) {
(0, add_unique_import_1.addUniqueImport)(filePath, 'TuiDropdownOpen', '@taiga-ui/core');
(0, add_unique_import_1.addUniqueImport)(filePath, 'inject', '@angular/core');
}
(0, ng_morph_1.saveActiveProject)();
}
//# sourceMappingURL=migrate-dropdown-open.js.map