@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
34 lines (33 loc) • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addUniqueImport = void 0;
const ng_morph_1 = require("ng-morph");
function addUniqueImport(filePath, namedImport, moduleSpecifier) {
const existingNamedImport = (0, ng_morph_1.getImports)(filePath, {
namedImports: namedImport,
moduleSpecifier,
});
if (existingNamedImport.length) {
return;
}
const existingDeclaration = (0, ng_morph_1.getImports)(filePath, {
moduleSpecifier,
});
const imports = existingDeclaration === null || existingDeclaration === void 0 ? void 0 : existingDeclaration[0];
if (imports) {
const modules = imports
.getNamedImports()
.map((namedImport) => namedImport.getText());
(0, ng_morph_1.editImports)(imports, () => ({
namedImports: [...modules, namedImport],
isTypeOnly: false,
}));
return;
}
(0, ng_morph_1.addImports)(filePath, {
moduleSpecifier,
namedImports: [namedImport],
isTypeOnly: false,
});
}
exports.addUniqueImport = addUniqueImport;