@rxap/schematics-ts-morph
Version:
This package provides utilities for manipulating TypeScript code using ts-morph, particularly for Angular and NestJS projects. It offers functions to add, coerce, and modify code elements like classes, methods, decorators, and imports. The package also in
20 lines • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddNgModuleImport = AddNgModuleImport;
const get_coerce_array_literal_form_object_literal_1 = require("../get-coerce-array-literal-form-object-literal");
const coerce_imports_1 = require("../ts-morph/coerce-imports");
const get_ng_module_options_object_1 = require("./get-ng-module-options-object");
function AddNgModuleImport(sourceFile, namedImport, moduleSpecifier) {
if (moduleSpecifier) {
(0, coerce_imports_1.CoerceImports)(sourceFile, {
moduleSpecifier,
namedImports: [namedImport],
});
}
const ngModuleOptions = (0, get_ng_module_options_object_1.GetNgModuleOptionsObject)(sourceFile);
const importsArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(ngModuleOptions, 'imports');
if (!importsArray.getElements().some(element => element.getText().trim() === namedImport)) {
importsArray.addElement(namedImport);
}
}
//# sourceMappingURL=add-ng-module-import.js.map