@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
22 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddNestModuleImport = AddNestModuleImport;
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_nest_module_metadata_1 = require("./get-nest-module-metadata");
/**
* @deprecated import from @rxap/ts-morph as CoerceNestModuleImport
*/
function AddNestModuleImport(sourceFile, moduleName, structures = [], importWriter, overwrite = false) {
(0, coerce_imports_1.CoerceImports)(sourceFile, structures);
const metadata = (0, get_nest_module_metadata_1.GetNestModuleMetadata)(sourceFile);
const importsArray = (0, get_coerce_array_literal_form_object_literal_1.GetCoerceArrayLiteralFromObjectLiteral)(metadata, 'imports');
const hasModule = importsArray.getElements().find(element => element.getText().trim().startsWith(moduleName));
if (!hasModule || overwrite) {
if (hasModule) {
importsArray.removeElement(hasModule.getChildIndex());
}
importsArray.addElement(importWriter !== null && importWriter !== void 0 ? importWriter : moduleName);
}
}
//# sourceMappingURL=add-nest-module-import.js.map